next up previous
Next: horizdiffuse.F Up: The Proudman Oceanographic Laboratory Previous: fwin.F

Subsections


heatin.F


subroutine heatin0

Description

This subroutine sets heat fluxes between the sea surface and the atmosphere to zero. If neither of the logical options bulk_met and point_met are true then heatin0 is called by b3dinit.F to initialise heat fluxes to zero.

Subroutine Arguments

none

Local variables

i, j local indices.

Global variables changed

hfl_out, hfl_in

Logical units

none

Order of Things

  1. Set heat fluxes from the sea surface to the atmosphere and from the atmosphere to the sea surface to zero.

Calls

none

Called By

b3dinit.F

Options - Logical

none

Options - Compiler

none

Known Issues

none


subroutine heatin

Description

This subroutine calculates the heat flux (hfl_in) into the ocean due to incoming solar radiation and the heat flux (hfl_out) from the sea surface to the atmosphere through long wave radiation.

hfl_in is calculated by multiplying the incoming solar radiation ($q_{s}$) by terms which account for the radiation absorbed by the cloud cover and that reflected back from the sea surface. Let $\alpha=0.06$ be the albedo of the sea surface (the proportion of the incoming radiation that is reflected back), $c$ be the cloud cover percentage and $cc=0.4$ be the cloud cover coefficient. Then

\begin{displaymath}
\mbox{hfl\_in}=\frac{q_{s}}{c_{p} \rho}\left(1.0 - 0.01c cc
- 0.38c^{2}\times 10^{-4}\right) \times (1.0 - \alpha),
\end{displaymath}

where $c_{p}$ is the specific heat and $\rho$ is the density of sea water. hfl_out is calculated from the outgoing long wave radiation ($q_{l}$) by

\begin{displaymath}
\mbox{hfl\_out}=\frac{q_{l}}{c_{p} \rho}.
\end{displaymath}

Subroutine Arguments

none

Local variables

i, j local indices.
jcg global index.
a $=0.06$ sea surface albedo ($\alpha$).
c cloud cover (%).
cc cloud cover coefficient = 0.4 at latitude 50$^{\circ }$.
cp $=3986.0$Jkg$^{-1}$$^{\circ }$C$^{-1}$ specific heat of water.
cprowi $=( \rho  \mbox{cp})^{-1}$.
p atmospheric pressure (mb).
ql heat loss at the sea surface (Wm$^{-2}$).
qs incoming solar radiation at the sea surface (Wm$^{-2}$).
r relative humidity (%).
rlat latitude - positive north (degrees).
ta air temperature ($^{\circ }$C).
tm time in hours; tm$ =0$ at 0000 January 1st.
ts sea surface temperature ($^{\circ }$C).
uw, vw W-E and S-N components of the wind (ms$^{-1}$).
ww wind speed (ms$^{-1}$).
ihs, iday, imnth, iyr hour, day, month and year of the reference date (usually the start of the model run).
jday day number in year.
itidef = 43 the unit number of the input file.
nfac variable for dummy read from file unit itidef.
idate array into which the date information is read.
first=.true. the first time that heatin is called.

Global variables changed

hfl_in, hfl_out

Logical units

itidef = 43 formatted file containing the date and information that determines which tidal constituents to use in the tidal calculations.

Order of Things

  1. On first call to heatin, read in date information and calculate the corresponding day number in the year using dayfind.
  2. Find the day number for the current time step.
  3. Call solrad to calculate incoming solar radiation ($q_{s}$).
  4. Call heatls to calculate heat loss from sea surface ($q_{l}$).
  5. Calculate heat flux from atmosphere to sea surface and from sea surface to atmosphere.

Calls

copy1di
dayfind
solrad
heatls

Called By

b3dinit.F
endstep.F

Options - Logical

shelfmo - zeros heat fluxes for the first two days of the model run.

Options - Compiler

none

Known Issues

none


subroutine heatls (ts, ta, w, rh, c, p, ql)

Description

This subroutine calculates the heat loss at the sea surface. Equations used are from Elliott & Clarke, 1991 (after Gill 1982).

The total heat loss at the sea surface, $q_l$, is calculated from

\begin{displaymath}
q_l = h_l + s_k + s_{ke},
\end{displaymath}

where $h_l$ is the outgoing long wave radiation, $s_k$ is the sensible heat flux and $s_{ke}$ is the evaporative heat flux, all calculated in Wm$^{-2}$.

The saturated vapour pressure of water, $e_{w}$, (mb) is defined by

\begin{displaymath}
\log_{10} e_{w} = \frac{0.7859+0.03477t_{s}}
{1.0+0.00412t_{s}},
\end{displaymath}

where $t_{s}$ is the sea surface temperature ($^{\circ }$C), and the vapour pressure of water (mb) is defined by

\begin{displaymath}
e_{a} = 0.01r_{h}e_{w},
\end{displaymath}

where $r_{h}$ is the relative humidity (%). The specific humidity of air at the temperature of the sea surface and the specific humidity of air at air temperature are then given by

\begin{displaymath}
q_{w} = \frac{0.62e_{w}}{p - 0.38e_{w}}
\mbox{ and }
q_{a} = \frac{0.62e_{a}}{p - 0.38e_{a}},
\end{displaymath}

respectively, where $p$ is atmospheric pressure (mb).

The outgoing long wave radiation is

\begin{displaymath}
h_{l}=e_{m} \sigma \left( \left( t_{s} + 273.15 \right)^{4} ...
...}^{0.5} \right)
\left( 1.0 - 0.6 c^{2}\times 10^{-4} \right),
\end{displaymath}

where $e_m$ is the emissivity, $c$ is the cloud cover (%) and $\sigma $ is Stefan's constant.

The sensible heat flux $s_k$ is given by

\begin{displaymath}
s_{k} = c_{h} \rho c_{p} w \left(t_{s} - t_{a}\right),
\end{displaymath}

where $c_h$ is the Stanton number, $c_{p}$ is the specific heat of air, $w$ is the wind speed (ms$^{-1}$), $\rho$ is the air density (kgm$^{-3}$) and $t_a$ is the air temperature ($^{\circ }$C).

The evaporative heat flux $s_{ke}$ is given by

\begin{displaymath}
s_{ke} = c_{e}\rho w \left(q_{w} - q_{a}\right) t_{l},
\end{displaymath}

where $c_{e}$ is the Dalton number and $t_{l} = 2.5\times 10^{6}
- 2.3\times 10^{3} t_{s}$ is the latent heat.

Subroutine Arguments

ts sea surface temperature ($^{\circ }$C).
ta air temperature ($^{\circ }$C).
w wind speed (ms$^{-1}$).
rh relative humidity (%).
c cloud cover (%).
p atmospheric pressure (mb).
ql heat loss at the sea surface (Wm$^{-2}$).

Local variables

ce $= 1.5\times 10^{-3}$ Dalton number (Gill, 1982).
ch $= 1.45\times 10^{-3}$ Stanton number (Friehe & Schmitt, 1976).
cp = 1004.0Jkg$^{-1}$K$^{-1}$ specific heat capacity of dry air.
ea vapour pressure of water (mb).
em = 0.985 emissivity.
ew saturated vapour pressure of water (mb).
hl long wave radiation (Wm$^{-2}$).
qa specific humidity of air at air temperature.
qw specific humidity of air at sea surface temperature.
rho = 1.25kgm$^{-3}$ air density.
sg $= 5.67\times 10^{-8}$Wm$^{-2}$K$^{-4}$ Stefans constant.
sk sensible heat flux (Wm$^{-2}$).
ske evaporative heat flux (Wm$^{-2}$).
tl latent heat (Jkg$^{-1}$).

Global variables changed

none

Logical units

none

Order of Things

  1. Calculate vapour pressures, specific humidity and latent heat.
  2. Calculate the value of the outgoing radiation.

Calls

none

Called By

heatin

Options - Logical

none

Options - Compiler

NEWHEAT some changes that work well in the Irish Sea - probably should become standard after a bit more testing

Known Issues

none

References

Gill, A.E., Atmosphere-Ocean Dynamics. International Geophysics Series, 30, 1982.
Elliott, A.J., and T. Clarke. Seasonal stratification in the northwest European shelf seas. Continental Shelf Research, 11(5), 467-492, 1991.


subroutine solrad(tm, rlat, qs)

Description

Subroutine to calculate the incoming solar radiation incident on the sea surface as a function of the position of the sun which varies over the day as well as over the year.

The maximum declination of the Sun is 23.5$^{\circ }$, which occurs on June 21st (day 171), thus the declination at time $t$ hours (measured from 0000 1st January) is given by

\begin{displaymath}
d = \cos\left( \frac{2\pi \left(t-171.5\times 24.0 \right)}
{365.24 \times 24.0}\right)\times 23.5^{\circ}.
\end{displaymath}

Let $\phi$ be the latitude at a location then the sine of the altitude angle of the Sun is

\begin{displaymath}
\mbox{snh} = -\cos(\phi)\cos(d)\cos\left(\frac{2\pi t}{24.0}
\right) + \sin(\phi)\sin(d).
\end{displaymath}

The solar radiation reaching the surface is then given by

\begin{displaymath}
\mbox{solar radiation }(q_{s}) = S_{c} b_{1} \times \mbox{snh}
\mbox{Wm}^{-2},
\end{displaymath}

where $S_{c} = 1368.0$Wm$^{-2}$ is the solar constant and $b_{1}= 0.76$ is the transmission coefficient (the proportion of solar radiation transmitted through the atmosphere).

Subroutine Arguments

tm time in hours; tm = 0 at 0000 January 1st.
rlat latitude positive north (degrees).
qs solar radiation at the sea surface (Wm$^{-2}$).

Local variables

b1 transmission coefficient.
d declination angle of the Sun at a given time (radians).
pi = 3.1415926536 ($\pi$).
dg2rd $=\pi$/180.0 conversion factor from degrees to radians.
decln maximum declination angle of the Sun to the Earth.
q solar radiation without absorption (Wm$^{-2}$).
sc = 1368.0Wm$^{-2}$ solar constant.
snh sine of the altitude angle of the sun.
w0 angular frequency of one year period (hours$^{-1}$).
w1 angular frequency of one day period (hours$^{-1}$).

Global variables changed

none

Logical units

none

Order of Things

  1. Calculate the solar radiation reaching the sea surface.

Calls

none

Called By

heatin

Options - Logical

none

Options - Compiler

none

Known Issues

none


subroutine dayfind(iday, month, jday)

Description

Finds the Julian day number corresponding to day iday of month month. Day 0 is 1st January.

Subroutine Arguments

iday day of month of reference date read in heatin.
month month of reference date read in heatin.
jday Julian day calculated for the reference date.

Local variables

j index.
imonth array giving the Julian day of the first day of each month of the year.

Global variables changed

none

Logical units

none

Order of Things

  1. Calculate Julian day from month and day data.

Calls

none

Called By

heatinheatin

Options - Logical

none

Options - Compiler

Known Issues

Only for common, not leap, years.


next up previous
Next: horizdiffuse.F Up: The Proudman Oceanographic Laboratory Previous: fwin.F
The AMMP Project 2005-04-20