/[MITgcm]/MITgcm_contrib/atnguyen/llc_270/aste_270x450x180/code_ad/GMREDI.h
ViewVC logotype

Annotation of /MITgcm_contrib/atnguyen/llc_270/aste_270x450x180/code_ad/GMREDI.h

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


Revision 1.1 - (hide annotations) (download)
Fri Oct 5 21:07:45 2018 UTC (6 years, 10 months ago) by atn
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
update Release1 of ASTE to checkpoint67d

1 atn 1.1 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/GMREDI.h,v 1.33 2015/10/12 20:41:26 dfer Exp $
2     C $Name: $
3    
4     #ifdef ALLOW_GMREDI
5    
6     C--- GM/Redi package parameters
7    
8     C-- Numerical Constant
9     _RL op5
10     _RL op25
11     PARAMETER( op5 = 0.5 _d 0 )
12     PARAMETER( op25 = 0.25 _d 0 )
13    
14     C-- COMMON /GM_PARAMS_L/ GM/Redi Logical-type parameters
15     C GM_AdvForm :: use Advective Form (instead of Skew-Flux form)
16     C GM_AdvSeparate :: do separately advection by Eulerian and Bolus velocity
17     C GM_useBVP :: use Boundary-Value-Problem method for Bolus transport
18     C GM_useSubMeso :: use parameterization of mixed layer (Sub-Mesoscale) eddies
19     C GM_ExtraDiag :: select extra diagnostics
20     C GM_InMomAsStress :: apply GM as a stress in momentum Eq.
21     C GM_MNC ::
22     C GM_MDSIO ::
23     C GM_useK3D :: use the 3 dimensional calculation for K
24     C GM_K3D_beta_eq_0 :: Ignores the beta term when calculating grad(q)
25     C GM_K3D_ThickSheet:: Use a thick PV sheet
26     C GM_K3D_surfK :: Imposes a constant K in the surface layer
27     C GM_K3D_constRedi :: Imposes a constant K for the Redi isoneutral diffusivity
28     C GM_K3D_use_constK:: Imposes a constant K for the eddy transport
29     C GM_K3D_smooth :: Expand PV closure in terms of baroclinic modes (=.FALSE. for debugging only!)
30     LOGICAL GM_AdvForm
31     LOGICAL GM_AdvSeparate
32     LOGICAL GM_useBVP
33     LOGICAL GM_useSubMeso
34     LOGICAL GM_ExtraDiag
35     LOGICAL GM_InMomAsStress
36     LOGICAL GM_MNC
37     LOGICAL GM_MDSIO
38     LOGICAL GM_useK3D
39     LOGICAL GM_K3D_ThickSheet
40     LOGICAL GM_K3D_surfK
41     LOGICAL GM_K3D_constRedi
42     LOGICAL GM_K3D_use_constK
43     LOGICAL GM_K3D_beta_eq_0
44     LOGICAL GM_K3D_smooth
45     COMMON /GM_PARAMS_L/
46     & GM_AdvForm, GM_AdvSeparate,
47     & GM_useBVP, GM_useSubMeso,
48     & GM_ExtraDiag, GM_MNC, GM_MDSIO,
49     & GM_InMomAsStress,
50     & GM_useK3D, GM_K3D_smooth, GM_K3D_use_constK,
51     & GM_K3D_beta_eq_0, GM_K3D_ThickSheet,
52     & GM_K3D_surfK, GM_K3D_constRedi
53    
54     C-- GM/Redi Integer-type parameters
55     C GM_BVP_modeNumber :: vertical mode number used for speed "c" in BVP transport
56     C GM_K3D_NModes :: number of vertical modes used for calculating Xi in K3D
57     INTEGER GM_BVP_modeNumber
58     INTEGER GM_K3D_NModes
59     PARAMETER (GM_K3D_NModes=6)
60     COMMON /GM_PARAMS_I/
61     & GM_BVP_modeNumber
62    
63     C-- COMMON /GM_PARAMS_C/ GM/Redi Character-type parameters
64     C GM_taper_scheme :: select which tapering/clipping scheme to use
65     C GM_iso2dFile :: input file for 2.D horiz scaling of Isopycnal diffusivity
66     C GM_iso1dFile :: input file for 1.D vert. scaling of Isopycnal diffusivity
67     C GM_bol2dFile :: input file for 2.D horiz scaling of Thickness diffusivity
68     C GM_bol1dFile :: input file for 1.D vert. scaling of Thickness diffusivity
69     C GM_isopycK3dFile :: input file for 3.D GM_isopycK
70     C GM_background_K3dFile :: input file for 3.D GM_background_K
71    
72     CHARACTER*(40) GM_taper_scheme
73     CHARACTER*(MAX_LEN_FNAM) GM_iso2dFile
74     CHARACTER*(MAX_LEN_FNAM) GM_iso1dFile
75     CHARACTER*(MAX_LEN_FNAM) GM_bol2dFile
76     CHARACTER*(MAX_LEN_FNAM) GM_bol1dFile
77     CHARACTER*(MAX_LEN_FNAM) GM_isopycK3dFile
78     CHARACTER*(MAX_LEN_FNAM) GM_background_K3dFile
79     COMMON /GM_PARAMS_C/
80     & GM_taper_scheme,
81     & GM_iso2dFile, GM_iso1dFile,
82     & GM_bol2dFile, GM_bol1dFile
83     & ,GM_isopycK3dFile, GM_background_K3dFile
84    
85     C-- COMMON /GM_PARAMS_R/ GM/Redi real-type parameters
86     C GM_isopycK :: Isopycnal diffusivity [m^2/s] (Redi-tensor)
87     C GM_background_K :: Thickness diffusivity [m^2/s] (GM bolus transport)
88     C GM_maxSlope :: maximum slope (tapering/clipping) [-]
89     C GM_Kmin_horiz :: minimum horizontal diffusivity [m^2/s]
90     C GM_Small_Number :: epsilon used in computing the slope
91     C GM_slopeSqCutoff :: slope^2 cut-off value
92     C- Transition layer thickness definition:
93     C GM_facTrL2dz :: minimum Trans. Layer Thick. as a factor of local dz
94     C GM_facTrL2ML :: maximum Trans. Layer Thick. as a factor of Mix-Layer Depth
95     C GM_maxTransLay :: maximum Trans. Layer Thick. [m]
96     C- Boundary-Value-Problem method parameters:
97     C GM_BVP_cMin :: minimum value for wave speed parameter "c" in BVP [m/s]
98     C- mixed layer (Sub-Mesoscale) eddies parameterization:
99     C subMeso_Ceff :: efficiency coefficient of Mixed-Layer Eddies [-]
100     C subMeso_invTau :: inverse of mixing time-scale in sub-meso parameteriz. [s^-1]
101     C subMeso_LfMin :: minimum value for length-scale "Lf" [m]
102     C subMeso_Lmax :: maximum horizontal grid-scale length [m]
103     C Variable K with PV diffusion parameters:
104     C GM_K3D_gamma :: mixing efficiency for 3D eddy diffusivity [-]
105     C GM_K3D_b1 :: an empirically determined constant of O(1)
106     C GM_K3D_EadyMinDepth :: upper depth for Eady calculation
107     C GM_K3D_EadyMaxDepth :: lower depth for Eady calculation
108     C GM_maxK3D :: Upper bound on the diffusivity
109     C GM_K3D_constK :: Constant diffusivity to use when GM_useK3D=.TRUE. and
110     C GM_K3D_use_constK=.TRUE. and/or GM_K3D_constRedi=.TRUE.
111     C GM_K3D_Rmax :: Upper bound on the length scale used for calculating urms
112     C GM_K3D_Rmin :: Lower bound on the length scale used for calculating the eddy radius
113     C GM_K3D_minCori :: minimum value for f (to stop things blowing up near the equator)
114     C GM_K3D_minN2 :: minimum value for the square of the buoyancy frequency
115     C GM_K3D_surfMinDepth :: minimum value for the depth of the surface layer
116     C GM_K3D_vecFreq :: Frequency at which to update the baroclinic modes
117     C GM_K3D_minRenorm:: minimum value for the renormalisation factor
118     C GM_K3D_maxRenorm:: maximum value for the renormalisation factor
119    
120     _RL GM_isopycK
121     _RL GM_background_K
122     _RL GM_maxSlope
123     _RL GM_Kmin_horiz
124     _RL GM_Small_Number
125     _RL GM_slopeSqCutoff
126     _RL GM_Visbeck_alpha
127     _RL GM_Visbeck_length
128     _RL GM_Visbeck_depth
129     _RL GM_Visbeck_minDepth
130     _RL GM_Visbeck_maxSlope
131     _RL GM_Visbeck_minVal_K
132     _RL GM_Visbeck_maxVal_K
133     _RL GM_K3D_gamma
134     _RL GM_K3D_b1
135     _RL GM_K3D_EadyMinDepth
136     _RL GM_K3D_EadyMaxDepth
137     _RL GM_K3D_Lambda
138     _RL GM_K3D_smallK
139     _RL GM_K3D_maxC
140     _RL GM_maxK3D
141     _RL GM_K3D_constK
142     _RL GM_K3D_Rmax
143     _RL GM_K3D_Rmin
144     _RL GM_K3D_minCori
145     _RL GM_K3D_minN2
146     _RL GM_K3D_surfMinDepth
147     _RL GM_K3D_vecFreq
148     _RL GM_K3D_minRenorm
149     _RL GM_K3D_maxRenorm
150     _RL GM_facTrL2dz
151     _RL GM_facTrL2ML
152     _RL GM_maxTransLay
153     _RL GM_Scrit
154     _RL GM_Sd
155     _RL GM_BVP_cMin
156     _RL subMeso_Ceff
157     _RL subMeso_invTau
158     _RL subMeso_LfMin
159     _RS subMeso_Lmax
160     COMMON /GM_PARAMS_RL/
161     & GM_isopycK, GM_background_K,
162     & GM_maxSlope,
163     & GM_Kmin_horiz,
164     & GM_Small_Number, GM_slopeSqCutoff,
165     & GM_Visbeck_alpha, GM_Visbeck_length,
166     & GM_Visbeck_depth,
167     & GM_Visbeck_minDepth, GM_Visbeck_maxSlope,
168     & GM_Visbeck_minVal_K, GM_Visbeck_maxVal_K,
169     & GM_K3D_gamma, GM_K3D_b1, GM_K3D_EadyMinDepth,
170     & GM_K3D_EadyMaxDepth, GM_K3D_Lambda,
171     & GM_K3D_smallK, GM_K3D_maxC,
172     & GM_maxK3D, GM_K3D_minCori, GM_K3D_minN2,
173     & GM_K3D_surfMinDepth, GM_K3D_Rmax, GM_K3D_Rmin,
174     & GM_K3D_constK, GM_K3D_vecFreq,
175     & GM_K3D_minRenorm, GM_K3D_maxRenorm,
176     & GM_facTrL2dz, GM_facTrL2ML, GM_maxTransLay,
177     & GM_Scrit, GM_Sd, GM_BVP_cMin,
178     & subMeso_Ceff, subMeso_invTau, subMeso_LfMin
179     COMMON /GM_PARAMS_RS/
180     & subMeso_Lmax
181    
182     C-- COMMON /GM_DERIVED_PAR/ other GM/Redi parameters
183     C (derived from previous block and not directly user configured)
184     _RL GM_rMaxSlope
185     _RL GM_skewflx
186     _RL GM_advect
187     _RL GM_BVP_rModeNumber
188     _RL GM_BVP_cHat2Min
189     COMMON /GM_DERIVED_PAR/
190     & GM_rMaxSlope,
191     & GM_skewflx, GM_advect,
192     & GM_BVP_rModeNumber, GM_BVP_cHat2Min
193    
194    
195     C-- COMMON /GM_COEFFICIENTS/ GM/Redi scaling coefficients
196     C defined at grid-cell center (tracer location)
197     C GM_isoFac2d :: 2.D horiz scaling factor [-] of Isopycnal diffusivity
198     C GM_bolFac2d :: 2.D horiz scaling factor [-] of Thickness diffusivity
199     C GM_isoFac1d :: 1.D vert. scaling factor [-] of Isopycnal diffusivity
200     C GM_bolFac1d :: 1.D vert. scaling factor [-] of Thickness diffusivity
201     _RS GM_isoFac2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202     _RS GM_bolFac2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203     _RS GM_isoFac1d(Nr)
204     _RS GM_bolFac1d(Nr)
205     COMMON /GM_COEFFICIENTS/
206     & GM_isoFac2d, GM_bolFac2d, GM_isoFac1d, GM_bolFac1d
207    
208     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
209     C--- GM/Redi tensor elements
210    
211     C Bottom row of tensor corresponds to W points
212     C Kwx :: K_31 element of GM/Redi tensor, X direction at W point
213     C Kwy :: K_32 element of GM/Redi tensor, Y direction at W point
214     C Kwz :: K_33 element of GM/Redi tensor, Z direction at W point
215     _RL Kwx(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
216     _RL Kwy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
217     _RL Kwz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
218     COMMON /GM_Wtensor/ Kwx,Kwy,Kwz
219    
220     #ifdef GM_NON_UNITY_DIAGONAL
221     C Horizontal part of the tensor
222     C Kux :: K_11 element of GM/Redi tensor, X direction at U point
223     C Kvy :: K_22 element of GM/Redi tensor, Y direction at V point
224     _RL Kux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
225     _RL Kvy(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
226     COMMON /GM_HorTensor/ Kux,Kvy
227     #else
228     _RL Kux,Kvy
229     PARAMETER(Kux=1.,Kvy=1.)
230     #endif
231    
232     #ifdef GM_EXTRA_DIAGONAL
233     C First/second rows of tensor corresponds to U/V points
234     C Kuz :: K_13 element of GM/Redi tensor, Z direction at U point
235     C Kvz :: K_23 element of GM/Redi tensor, Z direction at V point
236     _RL Kuz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
237     _RL Kvz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
238     COMMON /GM_UVtensor/ Kuz,Kvz
239     #else
240     _RL Kuz,Kvz
241     PARAMETER(Kuz=1.,Kvz=1.)
242     #endif
243    
244     #ifdef GM_BOLUS_ADVEC
245     C GM advection formulation: bolus velocities are derived from 2
246     C streamfunctions PsiX and PsiY :
247     _RL GM_PsiX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
248     _RL GM_PsiY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
249     COMMON /GM_BOLUS/ GM_PsiX,GM_PsiY
250     #endif
251    
252     #ifdef GM_VISBECK_VARIABLE_K
253     C GM mixing/stirring coefficient (spatially variable in horizontal
254     C for Visbeck et al. parameterization)
255     _RL VisbeckK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
256     COMMON /GM_Visbeck/ VisbeckK
257     #endif
258    
259     #ifdef GM_K3D
260     C K3D :: The three dimensional eddy mixing coeffixint [m**2/s]
261     C modesC :: First baroclinic mode at the centre of a tracer cell [-]
262     C modesW :: First N baroclinic mode at the western face of a tracer cell [-]
263     C modesS :: First N baroclinic mode at the southern face of a tracer cell [-]
264     C Rdef :: Deformation radius [m]
265     C gradf :: gradient of the Coriolis paramater at a cell centre, 1/(m*s)
266    
267     _RL K3D(1-Olx:sNx+Olx,1-Oly:sNy+Oly,1:Nr,nSx,nSy)
268     _RL modesC(1,1-Olx:sNx+Olx,1-Oly:sNy+Oly,1:Nr,nSx,nSy)
269     _RL modesW(GM_K3D_NModes,1-Olx:sNx+Olx,
270     & 1-Oly:sNy+Oly,1:Nr,nSx,nSy)
271     _RL modesS(GM_K3D_NModes,1-Olx:sNx+Olx,
272     & 1-Oly:sNy+Oly,1:Nr,nSx,nSy)
273     _RL Rdef(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
274     _RL gradf(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
275    
276     COMMON /GM_K3D/ K3D, modesC, modesW, modesS, Rdef, gradf
277     #endif
278     #endif /* ALLOW_GMREDI */
279    
280     CEH3 ;;; Local Variables: ***
281     CEH3 ;;; mode:fortran ***
282     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22