** Next:** barot.F
** Up:** The Proudman Oceanographic Laboratory
** Previous:** b3drun.F

**Subsections**

#

baroc.F

##

subroutine baroc

This subroutine calculates a number of the baroclinic terms in the equations
of motion, and their analogue in the transport equations. It also applies the
surface and sea bed boundary conditions calculated in, for example,
heatin, metset. Depth mean changes in **u** and **v** are calculated for those terms not explicitly included in the
barotropic steps. These are then included in the calculation of the depth mean
velocity (barot). A new value of the depth varying velocity
is calculated and updated by the Coriolis term. Timings for the various parts
of this routine are calculated if required.
- none

**i,j,k** Local indices
**jcg** Global index
**ut, tdr** intermediate variables in non-linear spherical polar terms
**umean,vmean** updated depth mean velocities
**timer00, timer1, timtot, ntimer** timing variables
**first ** .true. the first time this subroutine is called

**u, v, ur, vr, timt, afnlb, bfnlb **

- none

- surface heat flux
- surface salt flux
- convective adjustment
- vertical diffusion of temperature
- vertical diffusion of salinity
- nonlinear spherical polar
- horizontal pressure gradient
- vertical diffusion of velocity
- horizontal diffusion
- Calculate depth mean of friction, nonlinear, and buoyancy terms
- Coriolis for
**ur vr**
- Timing

- diagnoseT
- diagnoseTD
- downwell_Bio
- downwell
- saltflux
- convectU
- convectB
- convect_iter
- b3ddbg
- diffuseb
- bcalc
- pgrad_spline
- pgrad_sigma
- pgrad
- diffuseu
- horizdiffuse

- b3drun

**no_tmp/, no_sal** temperature/salinity constant (in time and space)
**dia_t ** Temperature diagnostics at specified points and in 3D
**bio_lambda ** Use transmissivity calculated by ecosystem model
**physmodel** Do the physics model calculation
**convect_u** Convective adjustment for **u, v, tmp, sal**
- dubious because of effect on bottom boundary layer.
**nodiff ** No vertical diffusion (i.e. frictionless, non-diffusive)
**hor_press_grad** Calculate horizontal pressure gradients (HPG)
due to buoyancy variations
**lpgrad ** Calculate HPG by interpolation onto horizontal plane
- default is linear interpolation
**lpgrad_spline** use spline instead of linear interpolation
**horizdif ** Do horizontal diffusion on Z-levels

**TIMING_BAROC** Calculate and output timing information for various
stages
of this subroutine
**DEBUG, DEBUG_BAROC** Output lots of variables at a specified grid
point.
**SCOORD ** Use horizontally varying vertical coordinates
**NO_CONVADJ** Do not do a convective adjustment

** Next:** barot.F
** Up:** The Proudman Oceanographic Laboratory
** Previous:** b3drun.F
The AMMP Project
2005-04-20