-
Notifications
You must be signed in to change notification settings - Fork 237
/
TIMEAVE_STATV.h
124 lines (116 loc) · 6.16 KB
/
TIMEAVE_STATV.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#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 (g/kg, 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 */