/[MITgcm]/MITgcm_contrib/ksnow/press_release/code/DYNVARS.h
ViewVC logotype

Annotation of /MITgcm_contrib/ksnow/press_release/code/DYNVARS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Dec 16 15:23:18 2016 UTC (8 years, 7 months ago) by ksnow
Branch: MAIN
File MIME type: text/plain
Adding press_release core code files
C: ----------------------------------------------------------------------

1 ksnow 1.1 C $Header: /u/gcmpack/MITgcm/model/inc/DYNVARS.h,v 1.49 2015/01/20 20:43:29 jmc Exp $
2     C $Name: $
3    
4     CBOP
5     C !ROUTINE: DYNVARS.h
6     C !INTERFACE:
7     C include "DYNVARS.h"
8     C !DESCRIPTION:
9     C \bv
10     C *==========================================================*
11     C | DYNVARS.h
12     C | o Dynamical model variables (common block DYNVARS_R)
13     C *==========================================================*
14     C | The value and two levels of time tendency are held for
15     C | each prognostic variable.
16     C *==========================================================*
17     C \ev
18     CEOP
19    
20     C State Variables:
21     C etaN :: free-surface r-anomaly (r unit) at current time level
22     C uVel :: zonal velocity (m/s, i=1 held at western face)
23     C vVel :: meridional velocity (m/s, j=1 held at southern face)
24     C theta :: potential temperature (oC, held at pressure/tracer point)
25     C salt :: salinity (ppt, held at pressure/tracer point)
26     C gX, gxNm1 :: Time tendencies at current and previous time levels.
27     C etaH :: surface r-anomaly, advanced in time consistently
28     C with 2.D flow divergence (Exact-Conservation):
29     C etaH^n+1 = etaH^n - delta_t*Div.(H^n U^n+1)
30     C note: a) used with "exactConserv", necessary for Non-Lin free-surf and mixed
31     C forward/backward free-surf time stepping (e.g., Crank-Nickelson)
32     C b) same as etaN but not necessarily at the same time, e.g.:
33     C implicDiv2DFlow=1 => etaH=etaN ; =0 => etaH=etaN^(n-1);
34    
35     #ifdef ALLOW_ADAMSBASHFORTH_3
36     COMMON /DYNVARS_R/
37     & etaN,
38     & uVel,vVel,wVel,theta,salt,
39     & gU, gV,
40     & guNm, gvNm, gtNm, gsNm
41     #else /* ALLOW_ADAMSBASHFORTH_3 */
42     COMMON /DYNVARS_R/
43     & etaN,
44     & uVel,vVel,wVel,theta,salt,
45     & gU, gV,
46     & guNm1,gvNm1,gtNm1,gsNm1
47     #endif /* ALLOW_ADAMSBASHFORTH_3 */
48     _RL etaN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
49     _RL uVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
50     _RL vVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
51     _RL wVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
52     _RL theta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
53     _RL salt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
54     _RL gU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
55     _RL gV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
56     #ifdef ALLOW_ADAMSBASHFORTH_3
57     _RL guNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
58     _RL gvNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
59     _RL gtNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
60     _RL gsNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
61     #else /* ALLOW_ADAMSBASHFORTH_3 */
62     _RL guNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
63     _RL gvNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
64     _RL gtNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
65     _RL gsNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
66     #endif /* ALLOW_ADAMSBASHFORTH_3 */
67    
68    
69     #ifdef ALLOW_PRESSURE_RELEASE_CODE
70     COMMON /PRESS_RELEASE_R/
71     & pReleaseTransX, pReleaseTransY
72     _RL pReleaseTransX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
73     _RL pReleaseTransY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
74     #endif
75    
76     #ifdef USE_OLD_EXTERNAL_FORCING
77     COMMON /DYNVARS_OLD/
78     & gT, gS
79     _RL gT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
80     _RL gS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
81     #endif
82    
83     COMMON /DYNVARS_R_2/
84     & etaH
85     _RL etaH (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
86    
87     #if (defined (ALLOW_3D_DIFFKR) || defined (ALLOW_DIFFKR_CONTROL))
88     C diffKr :: full 3D specification of Laplacian diffusion coeff.
89     C for mixing of tracers vertically ( units of r^2/s )
90     COMMON /DYNVARS_DIFFKR/
91     & diffKr
92     _RL diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
93     #endif
94    
95     C The following blocks containing requires anomaly fields of control vars
96     C and related to Options:
97     C ALLOW_KAPGM_CONTROL , ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL
98     C have been moved to header file "CTRL_FIELDS.h"
99    
100     #ifdef ALLOW_BL79_LAT_VARY
101     C BL79LatArray :: is used for latitudinal dependence of
102     C BryanLewis79 vertical diffusivity
103     COMMON /DYNVARS_BL79LatArray/ BL79LatArray
104     _RL BL79LatArray (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105     #endif
106    
107     C Diagnostic Variables:
108     C phiHydLow :: Phi-Hydrostatic at r-lower boundary
109     C (bottom in z-coordinates, top in p-coordinates)
110     C totPhiHyd :: total hydrostatic Potential (anomaly, for now),
111     C at cell center level ; includes surface contribution.
112     C (for diagnostic + used in Z-coord with EOS_funct_P)
113     C rhoInSitu :: In-Situ density anomaly [kg/m^3] at cell center level.
114     C hMixLayer :: Mixed layer depth [m]
115     C (for diagnostic + used GMRedi "fm07")
116     C IVDConvCount :: Impl.Vert.Diffusion convection counter:
117     C = 0 (not convecting) or 1 (convecting)
118     COMMON /DYNVARS_DIAG/
119     & phiHydLow, totPhiHyd,
120     & rhoInSitu,
121     & hMixLayer, IVDConvCount, phiHydLowC
122     _RL phiHydLow(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
123     _RL totPhiHyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
124     _RL rhoInSitu(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
125     _RL hMixLayer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
126     _RL IVDConvCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
127     _RL phiHydLowC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
128    

  ViewVC Help
Powered by ViewVC 1.1.22