next up previous
Next: endstep.F Up: The Proudman Oceanographic Laboratory Previous: diffuse.F

Subsections


downwell.F


subroutine downwell

Description

This subroutine updates the model temperature using heat fluxes (hfl_in and hfl_out) calculated in (e.g.) 43.2. These are already in units $^{\circ }$Cms$^{-1}$ . The surface cooling is applied to the top box:
\begin{displaymath}
 T ^{p+1}_{i,j,n-1}=T ^{p}_{i,j,n-1}+dt/dz.hfl\_out_{i,j},
\end{displaymath} (37)

while penetrating radiation heats down the water column according to
\begin{displaymath}
 T ^{p+1}_{i,j,k}=T ^{p}_{i,j,k}+dt/dz.hfl\_in_{i,j}(\exp(z_{k+0.5} \lambda)
-\exp(z_{k-0.5} \lambda).
\end{displaymath} (38)

The transmissivity is set to either a constant value or a simple function of water depth (J.I. Allen , per com.)

Subroutine Arguments

none

Local variables

i,j,kLocal indices
dtmp change in temperature for this time step
rD,rLambda transmissivity
z1,z2 depth below the sea surface at the bottom and top of the grid box
Rad0,Rad1,Rad2 incident radiation at the surface, and at the bottom and top of the grid box
surfaceout surface cooling
first .true. first time this subroutine is called

Global variables changed

tmp rlambda2

Logical units

none

Order of Things

  1. set transmissivity
  2. calculate surface cooling
  3. calculate penetrating radiation
  4. update temperature

Calls

none

Called By

baroc

Options - Logical

vary_lambda use JIA's formula to calculate horizontally varying transmissivity

Options - Compiler

SCOORD Use horizontally varying vertical coordinates

Known Issues

What to do with the radiation reaching the sea bed is still not established. It is lost in current version, but can be returned to the bottom box.


subroutine downwell_bio

Description

This subroutine updates the model temperature using heat fluxes (hfl_in and hfl_out) calculated in (e.g.) 43.2. These are already in units $^{\circ }$Cms$^{-1}$ . The surface cooling is applied to the top box:
\begin{displaymath}
 T ^{p+1}_{i,j,n-1}=T ^{p}_{i,j,n-1}+dt/dz.hfl\_out_{i,j},
\end{displaymath} (39)

while penetrating radiation heats down the water column, with a variable transmissivity, according to
\begin{displaymath}
 T ^{p+1}_{i,j,k}=T ^{p}_{i,j,k}
+(dt/dz) hfl\_in_{i,j} \exp(\sum_k^{n-1} -\Delta Z \lambda_k )
(1-\exp(-\Delta Z \lambda).
\end{displaymath} (40)

The transmissivity is initially set to a simple function of water depth (J.I. Allen , per com.) put can depend (elsewhere) on (e.g.) biological and sediment concentrations.

Subroutine Arguments

none

Local variables

i,j,kLocal indices
dtmp change in temperature for this time step
rD,rLambda transmissivity
dz width of this grid box the
Rad0 incident radiation at the surface
surfaceout surface cooling
first .true. first time this subroutine is called

Global variables changed

tmp rlambda3

Logical units

none

Order of Things

  1. set transmissivity
  2. calculate surface cooling
  3. calculate penetrating radiation and integrate transmissivity
  4. update temperature

Calls

none

Called By

baroc

Options - Logical

none

Options - Compiler

SCOORD Use horizontally varying vertical coordinates

Known Issues

What to do with the radiation reaching the sea bed is still not established. It is lost in current version, but can be returned to the bottom box.


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