C $Header: /u/gcmpack/MITgcm/pkg/timeave/TIMEAVE_STATV.h,v 1.18 2009/12/28 02:43:52 jmc Exp $
C $Name: $
#include "TIMEAVE_OPTIONS.h"
#ifdef ALLOW_TIMEAVE
CBOP
C !ROUTINE: TIMEAVE_STATV.h
C !INTERFACE:
C include "TIMEAVE_STATV.h"
C !DESCRIPTION: \bw
C *================================================================*
C | TIMEAVE_STATV.h
C | o Time averages of model state-variables
C | (common block TAVE_STATEVARS)
C *================================================================*
C | Time average of state variables is (generally) centered on the
C | middle of the time step (time average interval = timeAve_half)
C | Time average of intermediate and tendency variables is centered
C | on the time step (time average interval=timeAve_full)
C *================================================================*
C \ev
CEOP
C TimeAve_* :: time of temporal integration (s) *** for each thread ***
C timeAve_half :: half time_step multiple (used for state variables)
C timeAve_full :: full time_step multiple (used for for intermediate var.)
C uFluxtave :: zonal surface wind stress (N/m^2,
C >0 for increase in uVel, i=1 held at western face)
C vFluxtave :: meridional surface wind stress (N/m^2,
C >0 for increase in vVel, j=1 held at southern face)
C tFluxtave :: net surface heat flux (W/m^2, >0 for increase in theta)
C sFluxtave :: net surface salt flux (g/m^2/s, >0 for increase in salt)
C etatave :: surface displacement (r unit, i.e. ocean:z, atmos:p)
C uVeltave :: zonal velocity (m/s, i=1 held at western face)
C vVeltave :: meridional velocity (m/s, j=1 held at southern face)
C wVeltave :: vertical velocity ([r]/s, i.e.: ocean:m/s atmos:Pa/s)
C thetatave :: potential temperature (oC, held at pressure/tracer point)
C salttave :: salinity (ppt, held at pressure/tracer point)
C Eta2tave :: eta * eta
C TTtave :: theta * theta
C UUtave :: uVel * uVel (used to compute the averaged KE)
C VVtave :: vVel * vVel (used to compute the averaged KE)
C UVtave :: uVel * vVel (at vorticity point, i.e. grid-corner)
C KEtave :: Kinetic Energy
C UTtave :: uVel * theta (* hFacW)
C VTtave :: vVel * theta (* hFacS)
C WTtave :: wVel * theta
C UStave :: uVel * salt (* hFacW)
C VStave :: vVel * salt (* hFacS)
C WStave :: wVel * salt
C tDiffRtave :: vertical diffusion flux of Temperature (theta)
C uZetatave :: uVel*Relativ_Vorticity_3 (computed at v point)
C vZetatave :: vVel*Relativ_Vorticity_3 (computed at u point)
C phiHydtave :: Hydrostatic (ocean) pressure / (atmos) geo- Potential
C phiHydLowtave:: Hydrostatic (ocean) pressure / (atmos) geo- Potential
C at the fixed boundary: (ocean) bottom pressure
C (atmos) geo- Potential
C ConvectCountTave :: Average number of convective adjustment event
COMMON /TAVE_TIME/ timeAve_half, timeAve_full
_RL timeAve_half(nSx,nSy)
_RL timeAve_full(nSx,nSy)
COMMON /TAVE_STATEVARS/
& uFluxtave,vFluxtave,tFluxtave,sFluxtave
& ,etatave,uVeltave,vVeltave,wVeltave
& ,thetatave,salttave,phiHydLowtave
& ,UTtave,VTtave,WTtave,UStave,VStave,WStave
& ,Eta2tave,TTtave,UUtave,VVtave,UVtave
& ,TdiffRtave
#ifdef ALLOW_MOM_VECINV
& ,uZetatave, vZetatave
#endif /* ALLOW_MOM_VECINV */
& ,phiHydtave
& ,phiHydLow2Tave
& ,ConvectCountTave
_RL uFluxtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL vFluxtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL tFluxtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL sFluxtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL etatave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL uVeltave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL vVeltave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL wVeltave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL thetatave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL salttave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL phiHydLowtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL UTtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL VTtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL WTtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL UStave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL VStave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL WStave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL eta2Tave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL TTtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL UUtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL VVtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL UVtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL TdiffRtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
#ifdef ALLOW_MOM_VECINV
_RL uZetatave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL vZetatave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
#endif /* ALLOW_MOM_VECINV */
_RL phiHydtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL phiHydLow2Tave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RL ConvectCountTave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
#ifdef NONLIN_FRSURF
C hUtave :: average zonal flow (=hFacW*uVel) (still in m/s !)
C hVtave :: average merid.flow (=hFacS*vVel) (still in m/s !)
C hFacCtave :: average thickness fraction of open water, Center
C hFacWtave :: average thickness fraction of open water, West side
C hFacStave :: average thickness fraction of open water, South side
COMMON /TAVE_THICKNESS/
& hUtave, hVtave
c & , hFacCtave, hFacWtave, hFacStave
_RL hUtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL hVtave (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
c _RL hFacCtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
c _RL hFacWtave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
c _RL hFacStave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
#endif /* NONLIN_FRSURF */
#endif /* ALLOW_TIMEAVE */