/[MITgcm]/MITgcm/model/inc/DYNVARS.h
ViewVC logotype

Annotation of /MITgcm/model/inc/DYNVARS.h

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


Revision 1.50 - (hide annotations) (download)
Mon Nov 28 22:55:00 2016 UTC (7 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, HEAD
Changes since 1.49: +16 -4 lines
File MIME type: text/plain
- add new common block to store velocity increment 3-D factor due to
  surf. pressure gradient when using Implicit bottom friction (& vert. visc);
  for now, only compiled when CPP option ALLOW_SOLVE4_PS_AND_DRAG is defined.

1 jmc 1.50 C $Header: /u/gcmpack/MITgcm/model/inc/DYNVARS.h,v 1.49 2015/01/20 20:43:29 jmc Exp $
2 jmc 1.16 C $Name: $
3 edhill 1.22
4 cnh 1.17 CBOP
5     C !ROUTINE: DYNVARS.h
6     C !INTERFACE:
7     C include "DYNVARS.h"
8     C !DESCRIPTION:
9     C \bv
10     C *==========================================================*
11 jmc 1.32 C | DYNVARS.h
12     C | o Dynamical model variables (common block DYNVARS_R)
13 cnh 1.17 C *==========================================================*
14 jmc 1.32 C | The value and two levels of time tendency are held for
15     C | each prognostic variable.
16 cnh 1.17 C *==========================================================*
17     C \ev
18     CEOP
19 jmc 1.39
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 jmc 1.32 C with 2.D flow divergence (Exact-Conservation):
29 jmc 1.44 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 jmc 1.42 C b) same as etaN but not necessarily at the same time, e.g.:
33 jmc 1.44 C implicDiv2DFlow=1 => etaH=etaN ; =0 => etaH=etaN^(n-1);
34 adcroft 1.9
35 jmc 1.27 #ifdef ALLOW_ADAMSBASHFORTH_3
36 adcroft 1.13 COMMON /DYNVARS_R/
37 heimbach 1.29 & etaN,
38 adcroft 1.13 & uVel,vVel,wVel,theta,salt,
39 jmc 1.48 & gU, gV,
40 jmc 1.27 & guNm, gvNm, gtNm, gsNm
41     #else /* ALLOW_ADAMSBASHFORTH_3 */
42     COMMON /DYNVARS_R/
43 heimbach 1.29 & etaN,
44 jmc 1.27 & uVel,vVel,wVel,theta,salt,
45 jmc 1.48 & gU, gV,
46 jmc 1.27 & guNm1,gvNm1,gtNm1,gsNm1
47     #endif /* ALLOW_ADAMSBASHFORTH_3 */
48 adcroft 1.13 _RL etaN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
49 cnh 1.5 _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 adcroft 1.10 _RL wVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
52 cnh 1.5 _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 jmc 1.27 _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 cnh 1.5 _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 jmc 1.27 #endif /* ALLOW_ADAMSBASHFORTH_3 */
67 heimbach 1.15
68 jmc 1.48 #ifdef USE_OLD_EXTERNAL_FORCING
69     COMMON /DYNVARS_OLD/
70     & gT, gS
71     _RL gT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
72     _RL gS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
73     #endif
74    
75 heimbach 1.29 COMMON /DYNVARS_R_2/
76     & etaH
77     _RL etaH (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
78    
79 jmc 1.42 #if (defined (ALLOW_3D_DIFFKR) || defined (ALLOW_DIFFKR_CONTROL))
80 dimitri 1.30 C diffKr :: full 3D specification of Laplacian diffusion coeff.
81     C for mixing of tracers vertically ( units of r^2/s )
82 heimbach 1.15 COMMON /DYNVARS_DIFFKR/
83     & diffKr
84     _RL diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
85     #endif
86 jmc 1.38
87 jmc 1.47 C The following blocks containing requires anomaly fields of control vars
88 jmc 1.48 C and related to Options:
89 jmc 1.47 C ALLOW_KAPGM_CONTROL , ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL
90     C have been moved to header file "CTRL_FIELDS.h"
91    
92 dimitri 1.31 #ifdef ALLOW_BL79_LAT_VARY
93     C BL79LatArray :: is used for latitudinal dependence of
94     C BryanLewis79 vertical diffusivity
95 dimitri 1.34 COMMON /DYNVARS_BL79LatArray/ BL79LatArray
96 dimitri 1.31 _RL BL79LatArray (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
97     #endif
98    
99 jmc 1.39 C Diagnostic Variables:
100 jmc 1.32 C phiHydLow :: Phi-Hydrostatic at r-lower boundary
101     C (bottom in z-coordinates, top in p-coordinates)
102     C totPhiHyd :: total hydrostatic Potential (anomaly, for now),
103     C at cell center level ; includes surface contribution.
104     C (for diagnostic + used in Z-coord with EOS_funct_P)
105 jmc 1.39 C rhoInSitu :: In-Situ density anomaly [kg/m^3] at cell center level.
106 jmc 1.32 C hMixLayer :: Mixed layer depth [m]
107     C (for diagnostic + used GMRedi "fm07")
108 jmc 1.26 C IVDConvCount :: Impl.Vert.Diffusion convection counter:
109 jmc 1.32 C = 0 (not convecting) or 1 (convecting)
110     COMMON /DYNVARS_DIAG/
111 jmc 1.50 & phiHydLow, totPhiHyd,
112     & rhoInSitu,
113     & hMixLayer, IVDConvCount
114 mlosch 1.18 _RL phiHydLow(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
115 jmc 1.20 _RL totPhiHyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
116 jmc 1.39 _RL rhoInSitu(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
117 jmc 1.32 _RL hMixLayer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
118 jmc 1.26 _RL IVDConvCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
119 jmc 1.32
120 jmc 1.50 #ifdef ALLOW_SOLVE4_PS_AND_DRAG
121     C Variables for Implicit friction (& vert. visc) in 2-D pressure solver
122     C dU_psFacX :: zonal velocity increment factor from (implicit) surf.
123     C pressure gradient in X (no Units)
124     C dV_psFacY :: merid velocity increment factor from (implicit) surf.
125     C pressure gradient in Y (no Units)
126    
127     COMMON /DYNVARS_DRAG_IN_PS/
128     & dU_psFacX, dV_psFacY
129     _RL dU_psFacX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
130     _RL dV_psFacY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
131     #endif /* ALLOW_SOLVE4_PS_AND_DRAG */

  ViewVC Help
Powered by ViewVC 1.1.22