1 |
C $Header: /u/gcmpack/MITgcm/pkg/longstep/LONGSTEP.h,v 1.3 2009/09/09 22:48:02 jahn Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_LONGSTEP |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: LONGSTEP.h |
8 |
C !INTERFACE: |
9 |
C include "LONGSTEP.h" |
10 |
C !DESCRIPTION: |
11 |
C \bv |
12 |
C *==========================================================* |
13 |
C | LONGSTEP.h |
14 |
C | o Longstep state variables: averages of model variables |
15 |
C *==========================================================* |
16 |
C \ev |
17 |
CEOP |
18 |
C |
19 |
C LS_doTimeStep :: .TRUE. if ptracers are updated in this timestep |
20 |
C |
21 |
LOGICAL LS_doTimeStep |
22 |
COMMON /LONGSTEP_STATE/ LS_doTimeStep |
23 |
|
24 |
C LS_uVel :: longstep average of zonal velocity |
25 |
C LS_vVel :: longstep average of meridional velocity |
26 |
C LS_wVel :: longstep average of vertical velocity |
27 |
C LS_theta :: longstep average of potential temperature |
28 |
C LS_salt :: longstep average of salinity |
29 |
C LS_IVDConvCount :: longstep average of IVD convection counter |
30 |
C LS_fwFlux :: longstep average of either PmEpR or EmPmR (note sign!) |
31 |
C |
32 |
_RL LS_uVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
33 |
_RL LS_vVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
34 |
_RL LS_wVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
35 |
_RL LS_theta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
36 |
_RL LS_salt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
37 |
_RL LS_IVDConvCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
38 |
_RL LS_fwFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
39 |
INTEGER LS_uVelCount(nSx,nSy) |
40 |
INTEGER LS_vVelCount(nSx,nSy) |
41 |
INTEGER LS_wVelCount(nSx,nSy) |
42 |
INTEGER LS_thetaCount(nSx,nSy) |
43 |
INTEGER LS_saltCount(nSx,nSy) |
44 |
INTEGER LS_IVDConvCountCount(nSx,nSy) |
45 |
INTEGER LS_fwFluxCount(nSx,nSy) |
46 |
COMMON /LONGSTEP_DYNVARS_R/ |
47 |
& LS_uVel, LS_vVel, LS_wVel, |
48 |
& LS_theta, LS_salt, LS_IVDConvCount, |
49 |
& LS_fwFlux |
50 |
COMMON /LONGSTEP_DYNVARS_I/ |
51 |
& LS_uVelCount, LS_vVelCount, LS_wVelCount, |
52 |
& LS_thetaCount, LS_saltCount, LS_IVDConvCountCount, |
53 |
& LS_fwFluxCount |
54 |
|
55 |
#ifdef ALLOW_GMREDI |
56 |
C Bottom row of tensor corresponds to W points |
57 |
C LS_Kwx :: longstep average of K_31 element, X direction at W point |
58 |
C LS_Kwy :: longstep average of K_32 element, Y direction at W point |
59 |
C LS_Kwz :: longstep average of K_33 element, Z direction at W point |
60 |
C |
61 |
_RL LS_Kwx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
62 |
_RL LS_Kwy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
63 |
_RL LS_Kwz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
64 |
INTEGER LS_KwxCount(nSx,nSy) |
65 |
INTEGER LS_KwyCount(nSx,nSy) |
66 |
INTEGER LS_KwzCount(nSx,nSy) |
67 |
COMMON /LONGSTEP_GM_R/ LS_Kwx, LS_Kwy, LS_Kwz |
68 |
COMMON /LONGSTEP_GM_I/ LS_KwxCount,LS_KwyCount,LS_KwzCount |
69 |
#endif /* ALLOW_GMREDI */ |
70 |
|
71 |
#ifdef ALLOW_KPP |
72 |
C LS_KPPdiffKzS :: longstep average of Vert. diff. coeff. for tracers |
73 |
C LS_KPPghat :: longstep average of Nonlocal transport coefficient |
74 |
C |
75 |
_RL LS_KPPdiffKzS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
76 |
_RL LS_KPPghat (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
77 |
INTEGER LS_KPPdiffKzSCount(nSx,nSy) |
78 |
INTEGER LS_KPPghatCount (nSx,nSy) |
79 |
COMMON /LONGSTEP_KPP_R/ LS_KPPdiffKzS, LS_KPPghat |
80 |
COMMON /LONGSTEP_KPP_I/ LS_KPPdiffKzSCount, LS_KPPghatCount |
81 |
#endif |
82 |
|
83 |
#ifdef SHORTWAVE_HEATING |
84 |
C LS_Qsw :: longstep average of net upward shortwave radiation after ice |
85 |
C |
86 |
_RL LS_Qsw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
87 |
INTEGER LS_QswCount(nSx,nSy) |
88 |
COMMON /LONGSTEP_EXTRA_R/ LS_Qsw |
89 |
COMMON /LONGSTEP_EXTRA_I/ LS_QswCount |
90 |
#endif |
91 |
|
92 |
C ice? |
93 |
C forcing? |
94 |
|
95 |
#endif /* ALLOW_LONGSTEP */ |
96 |
|