/[MITgcm]/MITgcm/pkg/gmredi/GMREDI.h
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/GMREDI.h

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


Revision 1.26 - (show annotations) (download)
Sat Sep 28 17:59:30 2013 UTC (10 years, 8 months ago) by m_bates
Branch: MAIN
CVS Tags: checkpoint64p
Changes since 1.25: +4 -2 lines
File MIME type: text/plain
1/Introduced namelist logical to turn the PV sheet on and off. 2/ Fixed bug when GM_K3D_likeGM=.TRUE. which gave the wrong diffusivity to the isoneutral diffusion tensor + added some helpful comments.

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

  ViewVC Help
Powered by ViewVC 1.1.22