1 |
C $Header: /u/gcmpack/MITgcm/pkg/cheapaml/CHEAPAML.h,v 1.15 2017/10/12 15:40:07 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
c #ifdef ALLOW_CHEAPAML |
5 |
C !ROUTINE: CHEAPAML.h |
6 |
C ------------------------------- |
7 |
C CHEAPAML.h |
8 |
C Parameters for cheap atmos mixed layer model |
9 |
C ------------------------------- |
10 |
C Tr :: Relaxation temperature profile for lateral boundary region [^oC] |
11 |
C qr :: Relaxation specific humidity profile for lateral boundary region |
12 |
C Tair :: atmosphere boundary layer temperature [^oC] |
13 |
C gTairm :: atmosphere temperature tendency |
14 |
C qair :: atmosphere specific humidity [-] |
15 |
C gqairm :: atmosphere moisture tendency |
16 |
C uWind :: zonal wind component at grid-cell Western edge (uVel location) |
17 |
C vWind :: meridional wind comp at grid-cell Southern edge (vVel location) |
18 |
C solar :: short wave insolation (+=dw) [W/m2] |
19 |
C ustress :: zonal wind stress component at grid-cell center (A-grid) [N/m2] |
20 |
C vstress :: meridional wind stress comp at grid-cell center (A-grid) [N/m2] |
21 |
C Cheaptracer :: passive tracer |
22 |
C CheaptracerR :: Relaxation profile for passive tracer |
23 |
C gCheaptracerm :: passive tracer tendency |
24 |
C cheapPrecip :: precipitation (+=dw) [kg/m2/s] |
25 |
|
26 |
COMMON /CHEAPAML_VARS/ |
27 |
& Tr, qr, |
28 |
& Tair, gTairm, |
29 |
& qair, gqairm, |
30 |
& uWind, vWind, solar, |
31 |
& wWind, |
32 |
& ustress, vstress, |
33 |
& wavesh, wavesp, xrelf, CheapHgrid, |
34 |
& Cheapclouds, Cheapdlongwave, |
35 |
& Cheaptracer, CheaptracerR, gCheaptracerm, |
36 |
c & cheapPrGrid, |
37 |
& cheapPrecip |
38 |
|
39 |
_RL Tr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
40 |
_RL qr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
41 |
_RL Tair (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
42 |
_RL gTairm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
43 |
_RL qair (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
44 |
_RL gqairm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
45 |
_RL uWind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
46 |
_RL vWind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
47 |
_RL wWind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
48 |
_RL Solar (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
49 |
_RL ustress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
50 |
_RL vstress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
51 |
_RL wavesh (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
52 |
_RL wavesp (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
53 |
_RL xrelf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
54 |
_RL cheapPrecip(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
55 |
_RL CheapHgrid (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
56 |
c _RL cheapPrGrid(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
57 |
_RL Cheapclouds(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
58 |
_RL Cheapdlongwave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
59 |
_RL Cheaptracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
60 |
_RL CheaptracerR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
61 |
_RL gCheaptracerm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
62 |
|
63 |
C cheap_tauRelax :: main relaxation time-scale (in sec) for atm T & Q |
64 |
C used with cheapMask (if provided) or over land |
65 |
C cheap_tauRelaxOce :: relaxation time-scale (in sec) for atm T & Q, |
66 |
C used over ocean if cheapMask is not provided |
67 |
C lath :: latent heat (J/kg) |
68 |
C xkar :: von Karman constant |
69 |
C gasR :: gas constant |
70 |
C dsolms :: Solar variation at Southern boundary |
71 |
C dsolmn :: Solar variation at Northern boundary |
72 |
C xphaseinit :: user input initial phase of year relative to mid winter. |
73 |
C e.g. xphaseinit = pi implies time zero is mid summer. |
74 |
C gamma_blk :: atmospheric adiabatic lapse rate |
75 |
C humid_fac :: humidity factor for computing virtual potential temperature |
76 |
C p0 :: surface pressure in mb |
77 |
C ssq[0:2] :: coeff. used to compute saturation specific humidity |
78 |
C cheap_pr1 :: precipitation time constant |
79 |
C cheap_pr2 :: precipitation time constant |
80 |
COMMON /CHEAPAML_PARMS_R/ |
81 |
& cheapaml_h, |
82 |
& cheapaml_kdiff, |
83 |
& cheap_tauRelax, cheap_tauRelaxOce, |
84 |
& rhoa, cpair, stefan, |
85 |
& lath, xkar, gasR, |
86 |
& dsolms, dsolmn, |
87 |
& xphaseinit, gamma_blk, humid_fac, p0, |
88 |
& ssq0, ssq1, ssq2, |
89 |
& xef, hm, |
90 |
& zu, zt, zq, |
91 |
& cdrag_1, cdrag_2, cdrag_3, |
92 |
& externForcingPeriod_cheap, |
93 |
& externForcingCycle_cheap, |
94 |
& cheap_pr1, cheap_pr2 |
95 |
_RL cheapaml_h |
96 |
_RL cheapaml_kdiff |
97 |
_RL cheap_tauRelax, cheap_tauRelaxOce |
98 |
_RL rhoa, cpair, stefan |
99 |
_RL lath, xkar, gasR |
100 |
_RL dsolms, dsolmn |
101 |
_RL xphaseinit, gamma_blk, humid_fac, p0 |
102 |
_RL ssq0, ssq1, ssq2 |
103 |
_RL xef, hm |
104 |
_RL zu, zt, zq |
105 |
_RL cdrag_1, cdrag_2, cdrag_3 |
106 |
_RL externForcingPeriod_cheap |
107 |
_RL externForcingCycle_cheap |
108 |
_RL cheap_pr1,cheap_pr2 |
109 |
|
110 |
C cheap[]StartAB :: Adams-Bashforth restart status for prognostic variable [] |
111 |
COMMON /CHEAPAML_PARMS_I/ |
112 |
& cheapaml_ntim, |
113 |
& cheapaml_mask_width, |
114 |
& cheapTairStartAB, cheapQairStartAB, cheapTracStartAB |
115 |
INTEGER cheapaml_ntim |
116 |
INTEGER cheapaml_mask_width |
117 |
INTEGER cheapTairStartAB, cheapQairStartAB, cheapTracStartAB |
118 |
|
119 |
C-- COMMON /CHEAPAML_PARMS_L/ |
120 |
C cheapamlXperiodic :: domain (including land) is periodic in X dir |
121 |
C cheapamlYperiodic :: domain (including land) is periodic in Y dir |
122 |
C useFreshWaterFlux :: option to include evap+precip (on by default) |
123 |
C useFluxLimit :: use flux limiting advection (off by default) |
124 |
C useStressOption :: use stress option (off by default) |
125 |
C useCheapTracer :: use passive tracer option (off by default) |
126 |
C useTimeVarBLH :: use time varying BL height option (off by default) |
127 |
C useClouds :: use clouds option (off by default) |
128 |
C useDLongWave :: use imported downward longwave (off by default) |
129 |
C usePrecip :: use imported precipitation (off by default) |
130 |
C useRelativeWind :: use relative wind (off by default) |
131 |
COMMON /CHEAPAML_PARMS_L/ |
132 |
& cheapamlXperiodic, |
133 |
& cheapamlYperiodic, |
134 |
& useFreshWaterFlux, |
135 |
& useFluxLimit, |
136 |
& useStressOption, |
137 |
& useRelativeHumidity, |
138 |
& periodicExternalForcing_cheap, |
139 |
& useCheapTracer, |
140 |
& useTimeVarBLH, |
141 |
& useClouds, |
142 |
& useDLongWave, |
143 |
& usePrecip, |
144 |
& useRelativeWind |
145 |
LOGICAL cheapamlXperiodic |
146 |
LOGICAL cheapamlYperiodic |
147 |
LOGICAL useFreshWaterFlux |
148 |
LOGICAL useFluxLimit |
149 |
LOGICAL useStressOption |
150 |
LOGICAL useRelativeHumidity |
151 |
LOGICAL periodicExternalForcing_cheap |
152 |
LOGICAL useCheapTracer |
153 |
LOGICAL useTimeVarBLH |
154 |
LOGICAL useClouds |
155 |
LOGICAL useDLongWave |
156 |
LOGICAL usePrecip |
157 |
LOGICAL useRelativeWind |
158 |
|
159 |
COMMON /CHEAPAML_PARMS_C/ |
160 |
& AirTempFile, AirQFile, SolarFile, |
161 |
& UWindFile, VWindFile, UStressFile, VStressFile, |
162 |
& TrFile, QrFile, |
163 |
& WaveHFile, WavePFile, FluxFormula, WaveModel, |
164 |
& TracerFile, TracerRFile, cheapMaskFile, cheap_hFile, |
165 |
& cheap_prFile, cheap_clFile, cheap_dlwFile |
166 |
|
167 |
CHARACTER*(MAX_LEN_FNAM) AirTempFile |
168 |
CHARACTER*(MAX_LEN_FNAM) AirQFile |
169 |
CHARACTER*(MAX_LEN_FNAM) SolarFile |
170 |
CHARACTER*(MAX_LEN_FNAM) UWindFile |
171 |
CHARACTER*(MAX_LEN_FNAM) VWindFile |
172 |
CHARACTER*(MAX_LEN_FNAM) UStressFile |
173 |
CHARACTER*(MAX_LEN_FNAM) VStressFile |
174 |
CHARACTER*(MAX_LEN_FNAM) TrFile |
175 |
CHARACTER*(MAX_LEN_FNAM) QrFile |
176 |
CHARACTER*(MAX_LEN_FNAM) WaveHFile |
177 |
CHARACTER*(MAX_LEN_FNAM) WavePFile |
178 |
CHARACTER*(MAX_LEN_FNAM) FluxFormula |
179 |
CHARACTER*(MAX_LEN_FNAM) WaveModel |
180 |
CHARACTER*(MAX_LEN_FNAM) TracerFile |
181 |
CHARACTER*(MAX_LEN_FNAM) TracerRFile |
182 |
CHARACTER*(MAX_LEN_FNAM) cheapMaskFile |
183 |
CHARACTER*(MAX_LEN_FNAM) cheap_hFile |
184 |
CHARACTER*(MAX_LEN_FNAM) cheap_prFile |
185 |
CHARACTER*(MAX_LEN_FNAM) cheap_clFile |
186 |
CHARACTER*(MAX_LEN_FNAM) cheap_dlwFile |
187 |
|
188 |
c #endif /* ALLOW_CHEAPAML */ |