/[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.2 - (hide annotations) (download)
Mon Jan 30 16:32:18 2017 UTC (8 years, 6 months ago) by ksnow
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +18 -7 lines
File MIME type: text/plain
update darcy pressure release source code

1 ksnow 1.2 C $Header: /u/gcmpack/MITgcm/model/inc/DYNVARS.h,v 1.50 2016/11/28 22:55:00 jmc Exp $
2 ksnow 1.1 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 ksnow 1.2
68 ksnow 1.1 #ifdef ALLOW_PRESSURE_RELEASE_CODE
69     COMMON /PRESS_RELEASE_R/
70     & pReleaseTransX, pReleaseTransY
71     _RL pReleaseTransX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
72     _RL pReleaseTransY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
73     #endif
74    
75     #ifdef USE_OLD_EXTERNAL_FORCING
76     COMMON /DYNVARS_OLD/
77     & gT, gS
78     _RL gT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
79     _RL gS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
80     #endif
81    
82     COMMON /DYNVARS_R_2/
83     & etaH
84     _RL etaH (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
85    
86     #if (defined (ALLOW_3D_DIFFKR) || defined (ALLOW_DIFFKR_CONTROL))
87     C diffKr :: full 3D specification of Laplacian diffusion coeff.
88     C for mixing of tracers vertically ( units of r^2/s )
89     COMMON /DYNVARS_DIFFKR/
90     & diffKr
91     _RL diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
92     #endif
93    
94     C The following blocks containing requires anomaly fields of control vars
95     C and related to Options:
96     C ALLOW_KAPGM_CONTROL , ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL
97     C have been moved to header file "CTRL_FIELDS.h"
98    
99     #ifdef ALLOW_BL79_LAT_VARY
100     C BL79LatArray :: is used for latitudinal dependence of
101     C BryanLewis79 vertical diffusivity
102     COMMON /DYNVARS_BL79LatArray/ BL79LatArray
103     _RL BL79LatArray (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104     #endif
105    
106     C Diagnostic Variables:
107     C phiHydLow :: Phi-Hydrostatic at r-lower boundary
108     C (bottom in z-coordinates, top in p-coordinates)
109     C totPhiHyd :: total hydrostatic Potential (anomaly, for now),
110     C at cell center level ; includes surface contribution.
111     C (for diagnostic + used in Z-coord with EOS_funct_P)
112     C rhoInSitu :: In-Situ density anomaly [kg/m^3] at cell center level.
113     C hMixLayer :: Mixed layer depth [m]
114     C (for diagnostic + used GMRedi "fm07")
115     C IVDConvCount :: Impl.Vert.Diffusion convection counter:
116     C = 0 (not convecting) or 1 (convecting)
117     COMMON /DYNVARS_DIAG/
118 ksnow 1.2 & phiHydLow, totPhiHyd,
119     & rhoInSitu,
120     & hMixLayer, IVDConvCount, phiHydLowC
121 ksnow 1.1 _RL phiHydLow(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
122 ksnow 1.2 _RL phiHydLowC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
123 ksnow 1.1 _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    
128 ksnow 1.2 #ifdef ALLOW_SOLVE4_PS_AND_DRAG
129     C Variables for Implicit friction (& vert. visc) in 2-D pressure solver
130     C dU_psFacX :: zonal velocity increment factor from (implicit) surf.
131     C pressure gradient in X (no Units)
132     C dV_psFacY :: merid velocity increment factor from (implicit) surf.
133     C pressure gradient in Y (no Units)
134    
135     COMMON /DYNVARS_DRAG_IN_PS/
136     & dU_psFacX, dV_psFacY
137     _RL dU_psFacX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
138     _RL dV_psFacY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
139     #endif /* ALLOW_SOLVE4_PS_AND_DRAG */

  ViewVC Help
Powered by ViewVC 1.1.22