/[MITgcm]/MITgcm_contrib/dcarroll/highres_darwin/code/GGL90.h
ViewVC logotype

Contents of /MITgcm_contrib/dcarroll/highres_darwin/code/GGL90.h

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


Revision 1.1 - (show annotations) (download)
Sun Sep 22 21:23:46 2019 UTC (5 years, 10 months ago) by dcarroll
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Initial check in of high resolution Darwin simulation code

1 C $Header: /u/gcmpack/MITgcm_contrib/ecco_darwin/v4_llc270/code_darwin/GGL90.h,v 1.2 2019/08/24 13:10:27 dcarroll Exp $
2 C $Name: $
3
4 #ifdef ALLOW_GGL90
5
6 CBOP
7 C !ROUTINE: GGL90.h
8
9 C !DESCRIPTION: \bv
10 C /==========================================================\
11 C | GGL90.h |
12 C | o Basic header for Garpar et al. (1990) |
13 C | vertical mixing parameterization. Implementation |
14 C | follows OPA implementation of Blanke+Delecuse (1993) |
15 C | Contains all GGL90 field declarations. |
16 C \==========================================================/
17
18 C-----------------------------------------------------------------------
19 C
20 C Parameters that can be set in data.ggl90
21 C unless otherwise noted, equation numbers refer to Gaspar et al.
22 C (1990), JGR, 95(C9) pp. 16,179ff.
23 C
24 C GGL90ck - constant in viscosity coefficient (eq.10)
25 C GGL90ceps - dissipation constant according to Kolmogorov (1942)
26 C GGL90m2 - constant relating wind stress to vertical stress of TKE
27 C in K [d(TKE)/dz](0)=m2*ustar^3
28 C GGL90alpha - constant relating viscosity to GGL90 diffusivity
29 C (default=1 in Gaspar etal.)
30 C GGL90TKEsurfmin - minimum of surface kinetic energy boundary condition
31 C (default=GGL90TKEmin)
32 C GGL90TKEmin - minimum kinetic energy, leads to minimum mixing if TKE=0.
33 C GGL90TKEbottom - bottom bounardy condition for kinetic energy
34 C (default=GGL90TKEmin)
35 C GGL90TKEFile - File with initial field of TKE
36 C GGL90mixingLengthMin - Mininum mixing length
37 C mxlMaxFlag - Flag for limiting mixing-length method (default=0)
38 C mxlSurfFlag - Flag to force mixing near ocean surface (default= F )
39 C calcMeanVertShear :: calculate the mean (@ grid-cell center) of vertical
40 C shear compon. (instead of vert. shear of mean flow)
41 C
42 C useIDEMIX - turn on internal wave mixing contribution modeled by
43 C IDEMIX version 1:
44 C - Olbers, D. and Eden, C. (2013), J. Phys. Oceano.
45 C doi:10.1175/JPO-D-12-0207.1
46 C
47 C GGL90dumpFreq - analogue of dumpFreq (= default)
48 C GGL90taveFreq - analogue of taveFreq (= default)
49 C GGL90mixingMaps - output to standard out (default = .FALSE.)
50 C GGL90writeState - output to files (default = .FALSE.)
51 C
52 C Time varying parameters computed by subroutine ggl90_calc
53 C GGL90TKE - prognostic variable stepped forward in time ((m/s)^2)
54 C GGL90viscAr - Vertical eddy viscosity coefficient (m^2/s)
55 C GGL90diffKr - Vertical diffusion coefficient for heat,
56 C salt and tracers (m^2/s)
57 C
58 C-----------------------------------------------------------------------
59 C \ev
60 CEOP
61 _RL SQRTTWO
62 PARAMETER ( SQRTTWO = 1.41421356237310D0 )
63 _RL GGL90eps
64 PARAMETER ( GGL90eps = 2.23D-16 )
65
66 CHARACTER*(MAX_LEN_FNAM) GGL90TKEFile
67 COMMON /GGL90_PARMS_C/ GGL90TKEFile
68
69 _RL GGL90ck, GGL90ceps
70 _RL GGL90alpha, GGL90m2
71 _RL GGL90diffTKEh
72 _RL GGL90mixingLengthMin
73 _RL GGL90TKEmin, GGL90TKEsurfMin, GGL90TKEbottom
74 _RL GGL90viscMax, GGL90diffMax
75 _RL GGL90dumpFreq, GGL90taveFreq
76 INTEGER mxlMaxFlag
77 COMMON /GGL90_PARMS_R/
78 & GGL90ck, GGL90ceps,
79 & GGL90alpha, GGL90m2,
80 & GGL90diffTKEh,
81 & GGL90mixingLengthMin,
82 & GGL90TKEmin, GGL90TKEsurfMin, GGL90TKEbottom,
83 & GGL90viscMax, GGL90diffMax,
84 & GGL90dumpFreq, GGL90taveFreq, mxlMaxFlag,
85 & mixingLength
86 _RL GGL90TKE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
87 _RL GGL90viscArU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
88 _RL GGL90viscArV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
89 _RL GGL90diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
90 _RL mixingLength(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
91
92 COMMON /GGL90_FIELDS/ GGL90TKE,
93 & GGL90viscArU, GGL90viscArV, GGL90diffKr
94
95 LOGICAL GGL90isOn, GGL90mixingMaps, GGL90writeState
96 LOGICAL GGL90_dirichlet, mxlSurfFlag, calcMeanVertShear
97 LOGICAL useIDEMIX
98 COMMON /GGL90_PARMS_L/
99 & GGL90isOn, GGL90mixingMaps, GGL90writeState,
100 & GGL90_dirichlet, mxlSurfFlag, calcMeanVertShear,
101 & useIDEMIX
102
103 #ifdef ALLOW_GGL90_SMOOTH
104 COMMON /GGL90_CORNER/ mskCor
105 _RL mskCor(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 #endif
107
108 #ifdef ALLOW_GGL90_IDEMIX
109 c-----------------------------------------------------------------------
110 c IDEMIX parameter
111 c-----------------------------------------------------------------------
112 _RL IDEMIX_tau_v,IDEMIX_tau_h,IDEMIX_gamma, IDEMIX_jstar
113 _RL IDEMIX_mu0, IDEMIX_diff_min
114 _RL IDEMIX_mixing_efficiency, IDEMIX_diff_max
115 _RL IDEMIX_frac_F_b, IDEMIX_frac_F_s
116 c-----------------------------------------------------------------------
117 c IDEMIX 3-d fields
118 c-----------------------------------------------------------------------
119 _RL IDEMIX_E (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
120 _RL IDEMIX_V0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
121 _RL IDEMIX_tau_d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
122 c-----------------------------------------------------------------------
123 c IDEMIX 2-d fields
124 c-----------------------------------------------------------------------
125 _RL IDEMIX_F_B(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
126 _RL IDEMIX_F_S(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
127
128 COMMON /GGL90_IDEMIX_01/ IDEMIX_E,IDEMIX_V0,IDEMIX_tau_d
129 & ,IDEMIX_F_b,IDEMIX_F_S
130 & ,IDEMIX_tau_v,IDEMIX_tau_h,IDEMIX_gamma,IDEMIX_jstar
131 & ,IDEMIX_mu0,IDEMIX_mixing_efficiency,IDEMIX_diff_max
132 & ,IDEMIX_diff_min,IDEMIX_frac_F_b, IDEMIX_frac_F_s
133
134 CHARACTER*(MAX_LEN_FNAM)
135 & IDEMIX_tidal_file, IDEMIX_wind_file
136 LOGICAL IDEMIX_include_GM, IDEMIX_include_GM_bottom
137 COMMON /GLL90_IMIX_02/
138 & IDEMIX_tidal_file, IDEMIX_wind_file,
139 & IDEMIX_include_GM, IDEMIX_include_GM_bottom
140 #endif /* ALLOW_GGL90_IDEMIX */
141
142 #endif /* ALLOW_GGL90 */

  ViewVC Help
Powered by ViewVC 1.1.22