1 |
C $Header: /u/gcmpack/MITgcm/pkg/bling/BLING_VARS.h,v 1.8 2017/02/23 20:48:13 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C ========================================================== |
5 |
C Carbon chemistry variables |
6 |
C ========================================================== |
7 |
|
8 |
COMMON /CARBON_NEEDS/ |
9 |
& AtmospCO2, AtmosP, pH, pCO2, FluxCO2, |
10 |
& wind, FIce, Silica |
11 |
#ifdef USE_EXFCO2 |
12 |
& ,apco2, apco20, apco21 |
13 |
#endif |
14 |
_RL AtmospCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
15 |
_RL AtmosP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
16 |
_RL pH(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
17 |
_RL pCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
18 |
_RL FluxCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
19 |
_RL wind(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
20 |
_RL FIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
21 |
_RL Silica(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
22 |
#ifdef USE_EXFCO2 |
23 |
_RL apco2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
24 |
_RL apco20 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
25 |
_RL apco21 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
26 |
#endif |
27 |
|
28 |
C ========================================================== |
29 |
C Carbon and oxygen chemistry parameters |
30 |
C ========================================================== |
31 |
|
32 |
COMMON /CARBON_CHEM/ |
33 |
& ak0,ak1,ak2,akw,akb,aks,akf, |
34 |
& ak1p,ak2p,ak3p,aksi, fugf, |
35 |
& ff,ft,st,bt, |
36 |
& Ksp_TP_Calc,Ksp_TP_Arag |
37 |
_RL ak0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
38 |
_RL ak1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
39 |
_RL ak2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
40 |
_RL akw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
41 |
_RL akb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
42 |
_RL aks(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
43 |
_RL akf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
44 |
_RL ak1p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
45 |
_RL ak2p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
46 |
_RL ak3p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
47 |
_RL aksi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
48 |
_RL ff(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
49 |
_RL fugf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
50 |
_RL ft(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
51 |
_RL st(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
52 |
_RL bt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
53 |
_RL Ksp_TP_Calc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
54 |
_RL Ksp_TP_Arag(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
55 |
|
56 |
COMMON /OXYGEN_CHEM/ |
57 |
& oA0,oA1,oA2,oA3,oA4,oA5, |
58 |
& oB0,oB1,oB2,oB3, |
59 |
& oC0 |
60 |
_RL oA0,oA1,oA2,oA3,oA4,oA5 |
61 |
_RL oB0,oB1,oB2,oB3 |
62 |
_RL oC0 |
63 |
|
64 |
COMMON /GLOBAL_SURF_MEAN/ |
65 |
& permil,Pa2Atm |
66 |
|
67 |
C permil : is conversion factor for mol/m3 to mol/kg |
68 |
C assumes uniform (surface) density |
69 |
C Pa2Atm : for conversion of atmospheric pressure |
70 |
C when coming from atmospheric model |
71 |
|
72 |
_RL permil |
73 |
_RL Pa2Atm |
74 |
|
75 |
COMMON /SCHMIDT_NO/ |
76 |
& sca1, sca2, sca3, sca4, |
77 |
& sox1, sox2, sox3, sox4 |
78 |
|
79 |
C Schmidt number coefficients |
80 |
|
81 |
_RL sca1,sca2,sca3,sca4 |
82 |
_RL sox1,sox2,sox3,sox4 |
83 |
|
84 |
#ifdef USE_EXFCO2 |
85 |
integer apco2startdate1 |
86 |
integer apco2startdate2 |
87 |
_RL apco2StartTime |
88 |
_RL apco2period |
89 |
_RL apco2RepCycle |
90 |
_RL apco2const |
91 |
_RL apco2_exfremo_intercept |
92 |
_RL apco2_exfremo_slope |
93 |
character*1 apco2mask |
94 |
#endif |
95 |
|
96 |
C ========================================================== |
97 |
C Bling inputs (specified in data.bling) |
98 |
C ========================================================== |
99 |
|
100 |
COMMON /BLING_INPUTS/ |
101 |
& bling_windFile, bling_atmospFile, bling_iceFile, |
102 |
& bling_ironFile, bling_silicaFile, |
103 |
& bling_psmFile, bling_plgFile, bling_pdiazFile, |
104 |
& bling_forcingPeriod, bling_forcingCycle, |
105 |
& bling_pCO2, |
106 |
& river_conc_trac, |
107 |
& bling_Pc_2dFile, bling_Pc_2d_diazFile, |
108 |
& bling_alpha_photo2dFile,bling_phi_DOM2dFile, |
109 |
& bling_k_Fe2dFile, bling_k_Fe_diaz2dFile, |
110 |
& bling_gamma_POM2dFile, bling_wsink0_2dFile, |
111 |
& bling_phi_lg2dFile, bling_phi_sm2dFile |
112 |
#ifdef USE_EXFCO2 |
113 |
& ,apco2startdate1,apco2startdate2, |
114 |
& apco2StartTime, apco2period, apco2RepCycle, |
115 |
& apco2const, |
116 |
& apco2_exfremo_intercept, |
117 |
& apco2_exfremo_slope, |
118 |
& apco2file, apco2mask |
119 |
#endif |
120 |
|
121 |
C bling_windFile :: file name of wind speeds |
122 |
C bling_atmospFile :: file name of atmospheric pressure |
123 |
C bling_iceFile :: file name of sea ice fraction |
124 |
C bling_ironFile :: file name of aeolian iron flux |
125 |
C bling_silicaFile :: file name of surface silica |
126 |
C bling_psmFile :: file name of init small phyto biomass |
127 |
C bling_plgFile :: file name of init lg phyto biomass |
128 |
C bling_pdiazFile :: file name of init diaz biomass |
129 |
C bling_forcingPeriod :: period of forcing for biogeochemistry (seconds) |
130 |
C bling_forcingCycle :: periodic forcing parameter for biogeochemistry |
131 |
C bling_pCO2 :: Atmospheric pCO2 to be read in data.bling |
132 |
C river_conc_trac :: River concentration, bgc tracers |
133 |
C apco2 :: Atmospheric pCO2 to be read in with exf pkg |
134 |
|
135 |
CHARACTER*(MAX_LEN_FNAM) bling_windFile |
136 |
CHARACTER*(MAX_LEN_FNAM) bling_atmospFile |
137 |
CHARACTER*(MAX_LEN_FNAM) bling_iceFile |
138 |
CHARACTER*(MAX_LEN_FNAM) bling_ironFile |
139 |
CHARACTER*(MAX_LEN_FNAM) bling_silicaFile |
140 |
CHARACTER*(MAX_LEN_FNAM) bling_psmFile |
141 |
CHARACTER*(MAX_LEN_FNAM) bling_plgFile |
142 |
CHARACTER*(MAX_LEN_FNAM) bling_pdiazFile |
143 |
CHARACTER*(MAX_LEN_FNAM) bling_Pc_2dFile |
144 |
CHARACTER*(MAX_LEN_FNAM) bling_Pc_2d_diazFile |
145 |
CHARACTER*(MAX_LEN_FNAM) bling_alpha_photo2dFile |
146 |
CHARACTER*(MAX_LEN_FNAM) bling_k_Fe2dFile |
147 |
CHARACTER*(MAX_LEN_FNAM) bling_k_Fe_diaz2dFile |
148 |
CHARACTER*(MAX_LEN_FNAM) bling_gamma_POM2dFile |
149 |
CHARACTER*(MAX_LEN_FNAM) bling_wsink0_2dFile |
150 |
CHARACTER*(MAX_LEN_FNAM) bling_phi_DOM2dFile |
151 |
CHARACTER*(MAX_LEN_FNAM) bling_phi_lg2dFile |
152 |
CHARACTER*(MAX_LEN_FNAM) bling_phi_sm2dFile |
153 |
#ifdef USE_EXFCO2 |
154 |
CHARACTER*(MAX_LEN_FNAM) apco2file |
155 |
#endif |
156 |
_RL bling_forcingPeriod |
157 |
_RL bling_forcingCycle |
158 |
_RL bling_pCO2 |
159 |
c _RL river_conc_trac(PTRACERS_num) |
160 |
_RL river_conc_trac(8) |
161 |
|
162 |
C ========================================================== |
163 |
C EXF input/output scaling factors for unit conversion if needed |
164 |
C ========================================================== |
165 |
#ifdef USE_EXFCO2 |
166 |
_RL exf_inscal_apco2 |
167 |
_RL exf_outscal_apco2 |
168 |
COMMON /BLG_PARAM_SCAL/ |
169 |
& exf_inscal_apco2, |
170 |
& exf_outscal_apco2 |
171 |
#endif |
172 |
|
173 |
C ========================================================== |
174 |
C EXF interpolation needs |
175 |
C ========================================================== |
176 |
#ifdef USE_EXFCO2 |
177 |
#ifdef USE_EXF_INTERPOLATION |
178 |
_RL apco2_lon0, apco2_lon_inc |
179 |
_RL apco2_lat0, apco2_lat_inc(MAX_LAT_INC) |
180 |
INTEGER apco2_nlon, apco2_nlat, apco2_interpMethod |
181 |
|
182 |
COMMON /BLG_EXF_INTERPOLATION/ |
183 |
& apco2_lon0, apco2_lon_inc, |
184 |
& apco2_lat0, apco2_lat_inc, |
185 |
& apco2_nlon, apco2_nlat,apco2_interpMethod |
186 |
#endif |
187 |
#endif |
188 |
|
189 |
C ========================================================== |
190 |
C Ecosystem variables and parameters |
191 |
C ========================================================== |
192 |
|
193 |
COMMON /BIOTIC_NEEDS/ |
194 |
& InputFe, |
195 |
& omegaC, |
196 |
& omegaAr, |
197 |
& irr_mem, |
198 |
& phyto_lg, |
199 |
& phyto_sm, |
200 |
& phyto_diaz, |
201 |
& chl, |
202 |
& poc, |
203 |
& pivotal, |
204 |
& Pc_0, |
205 |
& Pc_0_diaz, |
206 |
& Pc_2d, |
207 |
& Pc_2d_diaz, |
208 |
& lambda_0, |
209 |
& chl_min, |
210 |
& CtoN, |
211 |
& NO3toN, |
212 |
& HtoC, |
213 |
& O2toN, |
214 |
& CatoN, |
215 |
& masstoN, |
216 |
& alpha_photo, |
217 |
& alpha_photo2d, |
218 |
& theta_Fe_max_hi, |
219 |
& theta_Fe_max_lo, |
220 |
& gamma_irr_mem, |
221 |
& gamma_DON, |
222 |
& gamma_DOP, |
223 |
& gamma_POM, |
224 |
& gamma_POM2d, |
225 |
& k_Fe, |
226 |
& k_Fe_diaz, |
227 |
& k_Fe2d, |
228 |
& k_Fe_diaz2d, |
229 |
& k_O2, |
230 |
& k_NO3, |
231 |
& k_PO4, |
232 |
& k_PtoN, |
233 |
& k_FetoN, |
234 |
& kFe_eq_lig_max, |
235 |
& kFe_eq_lig_min, |
236 |
& kFe_eq_lig_Femin, |
237 |
& kFe_eq_lig_irr, |
238 |
& kFe_org, |
239 |
& kFe_inorg, |
240 |
& PtoN_min, |
241 |
& PtoN_max, |
242 |
& FetoN_min, |
243 |
& FetoN_max, |
244 |
& FetoC_sed, |
245 |
& remin_min, |
246 |
& oxic_min, |
247 |
& ligand, |
248 |
& kappa_eppley, |
249 |
& kappa_eppley_diaz, |
250 |
& kappa_remin, |
251 |
& ca_remin_depth, |
252 |
& phi_DOM, |
253 |
& phi_sm, |
254 |
& phi_lg, |
255 |
& phi_DOM2d, |
256 |
& phi_sm2d, |
257 |
& phi_lg2d, |
258 |
& phi_dvm, |
259 |
& sigma_dvm, |
260 |
& wsink0z, |
261 |
& wsink0, |
262 |
& wsink0_2d, |
263 |
& wsinkacc, |
264 |
& parfrac, |
265 |
& alpfe, |
266 |
& k0, |
267 |
& epsln, |
268 |
& QSW_underice |
269 |
|
270 |
_RL InputFe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
271 |
_RL omegaC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
272 |
_RL omegaAr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
273 |
_RL irr_mem(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
274 |
_RL phyto_lg(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
275 |
_RL phyto_sm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
276 |
_RL phyto_diaz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
277 |
_RL chl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
278 |
_RL poc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
279 |
_RL Pc_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
280 |
_RL Pc_2d_diaz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
281 |
_RL alpha_photo2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
282 |
_RL k_Fe2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
283 |
_RL k_Fe_diaz2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
284 |
_RL wsink0_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
285 |
_RL gamma_POM2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
286 |
_RL phi_DOM2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
287 |
_RL phi_sm2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
288 |
_RL phi_lg2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
289 |
_RL pivotal |
290 |
_RL Pc_0 |
291 |
_RL Pc_0_diaz |
292 |
_RL lambda_0 |
293 |
_RL chl_min |
294 |
_RL CtoN |
295 |
_RL NO3toN |
296 |
_RL HtoC |
297 |
_RL O2toN |
298 |
_RL CatoN |
299 |
_RL masstoN |
300 |
_RL alpha_photo |
301 |
_RL theta_Fe_max_hi |
302 |
_RL theta_Fe_max_lo |
303 |
_RL gamma_irr_mem |
304 |
_RL gamma_DON |
305 |
_RL gamma_DOP |
306 |
_RL gamma_POM |
307 |
_RL k_Fe |
308 |
_RL k_Fe_diaz |
309 |
_RL k_O2 |
310 |
_RL k_NO3 |
311 |
_RL k_PO4 |
312 |
_RL k_PtoN |
313 |
_RL k_FetoN |
314 |
_RL kFe_eq_lig_max |
315 |
_RL kFe_eq_lig_min |
316 |
_RL kFe_eq_lig_Femin |
317 |
_RL kFe_eq_lig_irr |
318 |
_RL kFe_org |
319 |
_RL kFe_inorg |
320 |
_RL PtoN_min |
321 |
_RL PtoN_max |
322 |
_RL FetoN_min |
323 |
_RL FetoN_max |
324 |
_RL FetoC_sed |
325 |
_RL remin_min |
326 |
_RL oxic_min |
327 |
_RL ligand |
328 |
_RL kappa_eppley |
329 |
_RL kappa_eppley_diaz |
330 |
_RL kappa_remin |
331 |
_RL ca_remin_depth |
332 |
_RL phi_DOM |
333 |
_RL phi_sm |
334 |
_RL phi_lg |
335 |
_RL phi_dvm |
336 |
_RL sigma_dvm |
337 |
_RL wsink0z |
338 |
_RL wsink0 |
339 |
_RL wsinkacc |
340 |
_RL parfrac |
341 |
_RL alpfe |
342 |
_RL k0 |
343 |
_RL epsln |
344 |
LOGICAL QSW_underice |
345 |
|
346 |
CEH3 ;;; Local Variables: *** |
347 |
CEH3 ;;; mode:fortran *** |
348 |
CEH3 ;;; End: *** |