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

Annotation 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 - (hide 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 dcarroll 1.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