1 |
C $Header: /u/gcmpack/MITgcm/pkg/cheapaml/CHEAPAML.h,v 1.9 2012/12/23 20:15:29 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 |
11 |
C qr :: Relaxation specific humidity profile for lateral boundary region |
12 |
C Tair :: atmosphere boundary layer temperature |
13 |
C gTairm :: atmosphere temperature tendency |
14 |
C qair :: atmosphere specific humidity |
15 |
C gqairm :: atmosphere moisture tendency |
16 |
C uwind :: zonal wind |
17 |
C vwind :: meridional wind |
18 |
C solar :: short wave insolation |
19 |
C Cheapmask :: open boundary condition relaxation mask |
20 |
C Cheaptracer :: passive tracer |
21 |
C CheaptracerR :: Relaxation profile for passive tracer |
22 |
C gCheaptracerm :: passive tracer tendency |
23 |
|
24 |
COMMON /CHEAPAML_VARS/ |
25 |
& Tr, qr, |
26 |
& Tair, gTairm, |
27 |
& qair, gqairm, |
28 |
& uwind, vwind, solar, |
29 |
& wwind, |
30 |
& ustress, vstress, |
31 |
& wavesh, wavesp, Cheapmask, CheapHgrid, |
32 |
& Cheapclouds,Cheapdlongwave, |
33 |
& Cheaptracer, CheaptracerR, gCheaptracerm, |
34 |
& Cheapprgrid,xgs,xrelf |
35 |
|
36 |
_RL Tr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
37 |
_RL qr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
38 |
_RL Tair (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
39 |
_RL gTairm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
40 |
_RL qair (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
41 |
_RL gqairm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
42 |
_RL uwind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
43 |
_RL vwind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
44 |
_RL wwind (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
45 |
_RL Solar (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
46 |
_RL ustress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
47 |
_RL vstress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
48 |
_RL wavesh (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
49 |
_RL wavesp (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
50 |
_RL Cheapmask(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
51 |
_RL xgs(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
52 |
_RL xrelf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
53 |
_RL CheapHgrid(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
54 |
_RL Cheapprgrid(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
55 |
_RL Cheapclouds(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
56 |
_RL Cheapdlongwave(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
57 |
_RL Cheaptracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
58 |
_RL CheaptracerR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
59 |
_RL gCheaptracerm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
60 |
|
61 |
C lath :: latent heat (J/kg) |
62 |
C xkar :: von Karman constant |
63 |
C gasR :: gas constant |
64 |
C dsolms :: Solar variation at Southern boundary |
65 |
C dsolmn :: Solar variation at Northern boundary |
66 |
C xphaseinit :: user input initial phase of year relative to mid winter. |
67 |
C e.g. xphaseinit = pi implies time zero is mid summer. |
68 |
C gamma_blk :: atmospheric adiabatic lapse rate |
69 |
C humid_fac :: humidity factor for computing virtual potential temperature |
70 |
C p0 :: surface pressure in mb |
71 |
C ssq[0:2] :: coeff. used to compute saturation specific humidity |
72 |
C cheap_pr1 :: precipitation time constant |
73 |
C cheap_pr2 :: precipitation time constant |
74 |
COMMON /CHEAPAML_PARMS_R/ |
75 |
& cheapaml_h, |
76 |
& cheapaml_kdiff, |
77 |
& cheapaml_taurelax, |
78 |
& cheapaml_taurelaxocean, |
79 |
& rhoa, cpair, stefan, |
80 |
& lath, xkar, gasR, |
81 |
& dsolms, dsolmn, |
82 |
& xphaseinit, gamma_blk, humid_fac, p0, |
83 |
& ssq0, ssq1, ssq2, |
84 |
& xef, hm, |
85 |
& zu, zt, zq, |
86 |
& cdrag_1, cdrag_2, cdrag_3, |
87 |
& externForcingPeriod_cheap, |
88 |
& externForcingCycle_cheap, |
89 |
& cheap_pr1, cheap_pr2 |
90 |
_RL cheapaml_h |
91 |
_RL cheapaml_kdiff |
92 |
_RL cheapaml_taurelax |
93 |
_RL cheapaml_taurelaxocean |
94 |
_RL rhoa, cpair, stefan |
95 |
_RL lath, xkar, gasR |
96 |
_RL dsolms, dsolmn |
97 |
_RL xphaseinit, gamma_blk, humid_fac, p0 |
98 |
_RL ssq0, ssq1, ssq2 |
99 |
_RL xef, hm |
100 |
_RL zu, zt, zq |
101 |
_RL cdrag_1, cdrag_2, cdrag_3 |
102 |
_RL externForcingPeriod_cheap |
103 |
_RL externForcingCycle_cheap |
104 |
_RL cheap_pr1,cheap_pr2 |
105 |
|
106 |
C cheap[]StartAB :: Adams-Bashforth restart status for prognostic variable [] |
107 |
COMMON /CHEAPAML_PARMS_I/ |
108 |
& cheapaml_ntim, |
109 |
& cheapaml_mask_width, |
110 |
& cheapTairStartAB, cheapQairStartAB, cheapTracStartAB |
111 |
INTEGER cheapaml_ntim |
112 |
INTEGER cheapaml_mask_width |
113 |
INTEGER cheapTairStartAB, cheapQairStartAB, cheapTracStartAB |
114 |
|
115 |
C-- COMMON /CHEAPAML_PARMS_L/ |
116 |
C useFreshWaterFlux :: option to include evap+precip (on by default) |
117 |
C useFluxLimit :: use flux limiting advection (off by default) |
118 |
C useStressOption :: use stress option (off by default) |
119 |
C useCheapTracer :: use passive tracer option (off by default) |
120 |
C useTimeVarBLH :: use time varying BL height option (off by default) |
121 |
C useClouds :: use clouds option (off by default) |
122 |
C useDLongWave :: use imported downward longwave (off by default) |
123 |
COMMON /CHEAPAML_PARMS_L/ |
124 |
& useFreshWaterFlux, |
125 |
& useFluxLimit, |
126 |
& useStressOption, |
127 |
& useRelativeHumidity, |
128 |
& periodicExternalForcing_cheap, |
129 |
& useCheapTracer, |
130 |
& useTimeVarBLH, |
131 |
& useClouds, |
132 |
& useDLongWave |
133 |
LOGICAL useFreshWaterFlux |
134 |
LOGICAL useFluxLimit |
135 |
LOGICAL useStressOption |
136 |
LOGICAL useRelativeHumidity |
137 |
LOGICAL periodicExternalForcing_cheap |
138 |
LOGICAL useCheapTracer |
139 |
LOGICAL useTimeVarBLH |
140 |
LOGICAL useClouds |
141 |
LOGICAL useDLongWave |
142 |
|
143 |
COMMON /CHEAPAML_PARMS_C/ |
144 |
& AirTempFile, AirQFile, SolarFile, |
145 |
& UWindFile, VWindFile, UStressFile, VStressFile, |
146 |
& TrFile, QrFile, |
147 |
& WaveHFile, WavePFile, FluxFormula, WaveModel, |
148 |
& TracerFile, TracerRFile, cheapMaskFile, cheap_hFile, |
149 |
& cheap_prFile, cheap_clFile, cheap_dlwFile |
150 |
|
151 |
CHARACTER*(MAX_LEN_FNAM) AirTempFile |
152 |
CHARACTER*(MAX_LEN_FNAM) AirQFile |
153 |
CHARACTER*(MAX_LEN_FNAM) SolarFile |
154 |
CHARACTER*(MAX_LEN_FNAM) UWindFile |
155 |
CHARACTER*(MAX_LEN_FNAM) VWindFile |
156 |
CHARACTER*(MAX_LEN_FNAM) UStressFile |
157 |
CHARACTER*(MAX_LEN_FNAM) VStressFile |
158 |
CHARACTER*(MAX_LEN_FNAM) TrFile |
159 |
CHARACTER*(MAX_LEN_FNAM) QrFile |
160 |
CHARACTER*(MAX_LEN_FNAM) WaveHFile |
161 |
CHARACTER*(MAX_LEN_FNAM) WavePFile |
162 |
CHARACTER*(MAX_LEN_FNAM) FluxFormula |
163 |
CHARACTER*(MAX_LEN_FNAM) WaveModel |
164 |
CHARACTER*(MAX_LEN_FNAM) TracerFile |
165 |
CHARACTER*(MAX_LEN_FNAM) TracerRFile |
166 |
CHARACTER*(MAX_LEN_FNAM) cheapMaskFile |
167 |
CHARACTER*(MAX_LEN_FNAM) cheap_hFile |
168 |
CHARACTER*(MAX_LEN_FNAM) cheap_prFile |
169 |
CHARACTER*(MAX_LEN_FNAM) cheap_clFile |
170 |
CHARACTER*(MAX_LEN_FNAM) cheap_dlwFile |
171 |
|
172 |
c #endif /* ALLOW_CHEAPAML */ |