1 | SUBROUTINE ice_bio_param |
---|
2 | |
---|
3 | ! |
---|
4 | ! This routine reads bio.param |
---|
5 | ! (c) Martin Vancoppenolle, Oct 2014 |
---|
6 | ! |
---|
7 | ! version: 3.04 |
---|
8 | ! |
---|
9 | |
---|
10 | |
---|
11 | INCLUDE 'type.com' |
---|
12 | INCLUDE 'para.com' |
---|
13 | INCLUDE 'const.com' |
---|
14 | INCLUDE 'ice.com' |
---|
15 | INCLUDE 'thermo.com' |
---|
16 | INCLUDE 'bio.com' |
---|
17 | |
---|
18 | INTEGER :: |
---|
19 | & numbio = 500 ! : reference number for bio.param |
---|
20 | |
---|
21 | WRITE(numout,*) ' ** ice_bio_param : ' |
---|
22 | WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~' |
---|
23 | WRITE(numout,*) |
---|
24 | ! |
---|
25 | !-----------------------------------------------------------------------------! |
---|
26 | ! 1) Reads namelist |
---|
27 | !-----------------------------------------------------------------------------! |
---|
28 | ! |
---|
29 | WRITE(numout,*) ' Biological parameters ... ' |
---|
30 | WRITE(numout,*) |
---|
31 | |
---|
32 | OPEN( unit = numbio , file='bio.param', status='old' ) |
---|
33 | READ(numbio,*) |
---|
34 | READ(numbio,*) |
---|
35 | READ(numbio,*) |
---|
36 | READ(numbio,*) |
---|
37 | READ(numbio,*) |
---|
38 | READ(numbio,*) |
---|
39 | READ(numbio,*) |
---|
40 | READ(numbio,*) |
---|
41 | READ(numbio,*) |
---|
42 | READ(numbio,*) |
---|
43 | READ(numbio,*) |
---|
44 | READ(numbio,*) |
---|
45 | READ(numbio,*) |
---|
46 | READ(numbio,*) |
---|
47 | ! Process switches for biogeochemistry |
---|
48 | READ(numbio,*) c_grid |
---|
49 | READ(numbio,*) |
---|
50 | READ(numbio,*) h_skel |
---|
51 | READ(numbio,*) |
---|
52 | READ(numbio,*) e_thr_bal |
---|
53 | READ(numbio,*) |
---|
54 | READ(numbio,*) |
---|
55 | READ(numbio,*) |
---|
56 | READ(numbio,*) |
---|
57 | READ(numbio,*) |
---|
58 | READ(numbio,*) |
---|
59 | READ(numbio,*) ln_trbo ! activate basal entrapment for tracers |
---|
60 | READ(numbio,*) |
---|
61 | READ(numbio,*) ln_trsi ! activate snow-ice entrapment for tracers |
---|
62 | READ(numbio,*) |
---|
63 | READ(numbio,*) ln_trdiff ! activate tracer diffusion |
---|
64 | READ(numbio,*) |
---|
65 | READ(numbio,*) ln_trremp ! activate tracer remapping |
---|
66 | READ(numbio,*) |
---|
67 | READ(numbio,*) ln_lim_dsi ! activate DSi limitation |
---|
68 | READ(numbio,*) |
---|
69 | READ(numbio,*) ln_lim_no3 ! activate NO3 limitation |
---|
70 | READ(numbio,*) |
---|
71 | READ(numbio,*) ln_lim_po4 ! activate PO4 limitation |
---|
72 | READ(numbio,*) |
---|
73 | READ(numbio,*) ln_lim_lig ! activate light limitation |
---|
74 | READ(numbio,*) |
---|
75 | READ(numbio,*) ln_lim_tem ! activate temperature inhibition |
---|
76 | READ(numbio,*) |
---|
77 | READ(numbio,*) ln_lim_sal ! activate brine salinity inhibition |
---|
78 | READ(numbio,*) |
---|
79 | READ(numbio,*) ln_lys ! activate lysis |
---|
80 | READ(numbio,*) |
---|
81 | READ(numbio,*) ln_rem ! activate remineralization |
---|
82 | READ(numbio,*) |
---|
83 | READ(numbio,*) ln_syn ! activate diatom synthesis |
---|
84 | READ(numbio,*) |
---|
85 | READ(numbio,*) ln_bubform ! activate gas bubble formation |
---|
86 | READ(numbio,*) |
---|
87 | READ(numbio,*) ln_bubrise ! activate gas bubble rise |
---|
88 | READ(numbio,*) |
---|
89 | READ(numbio,*) ln_gasflux ! activate gas flux to ATM |
---|
90 | READ(numbio,*) |
---|
91 | READ(numbio,*) ln_carbon ! activate carbon cycle |
---|
92 | READ(numbio,*) |
---|
93 | READ(numbio,*) ln_ikaite ! activate ikaite |
---|
94 | READ(numbio,*) |
---|
95 | READ(numbio,*) ln_decoupNC ! N cycle diconnected from C cycle |
---|
96 | READ(numbio,*) |
---|
97 | READ(numbio,*) ln_decoupPC ! P cycle diconnected from C cycle |
---|
98 | READ(numbio,*) |
---|
99 | READ(numbio,*) |
---|
100 | READ(numbio,*) |
---|
101 | READ(numbio,*) |
---|
102 | READ(numbio,*) |
---|
103 | ! gas exchange parameters |
---|
104 | READ(numbio,*) |
---|
105 | READ(numbio,*) i_gasflux ! type of gas flux formulation |
---|
106 | READ(numbio,*) |
---|
107 | READ(numbio,*) brines_ar ! brines aspect ratio |
---|
108 | READ(numbio,*) |
---|
109 | READ(numbio,*) bub_form_rate ! gas bubble formation rate |
---|
110 | READ(numbio,*) |
---|
111 | READ(numbio,*) bub_diss_rate ! gas bubble dissolution rate |
---|
112 | READ(numbio,*) |
---|
113 | READ(numbio,*) h_bl_gas ! gas bubble dissolution rate |
---|
114 | READ(numbio,*) |
---|
115 | READ(numbio,*) e_thr_gasflux ! brine volume fraction threshold for surface gas flux |
---|
116 | READ(numbio,*) |
---|
117 | READ(numbio,*) e_thr_bubrise ! brine volume fraction permeability for bubble rise |
---|
118 | READ(numbio,*) |
---|
119 | READ(numbio,*) sursat_gas ! %Saturation tolerated in brines |
---|
120 | READ(numbio,*) |
---|
121 | READ(numbio,*) nn_carbonate ! Roy (1) or Mehrbach (2) set of constants |
---|
122 | READ(numbio,*) |
---|
123 | READ(numbio,*) caco3_time ! CaCO3 precipitation/dissolution time constant |
---|
124 | READ(numbio,*) |
---|
125 | READ(numbio,*) |
---|
126 | READ(numbio,*) |
---|
127 | READ(numbio,*) |
---|
128 | READ(numbio,*) |
---|
129 | READ(numbio,*) |
---|
130 | READ(numbio,*) nn_bio_opt ! type of biological model |
---|
131 | READ(numbio,*) |
---|
132 | READ(numbio,*) |
---|
133 | READ(numbio,*) |
---|
134 | ! physiological parameters |
---|
135 | READ(numbio,*) astar_alg ! specific att coeff ( m-1 / ( mg chla m-3 ) ) |
---|
136 | READ(numbio,*) |
---|
137 | READ(numbio,*) fdet_alg ! fraction of attenuation due to detrital mater compared to algal attenuation (Arrigo) |
---|
138 | READ(numbio,*) |
---|
139 | READ(numbio,*) |
---|
140 | READ(numbio,*) |
---|
141 | READ(numbio,*) |
---|
142 | READ(numbio,*) pp_presc ! prescribed primary production (mmol C m-3 s-1) |
---|
143 | READ(numbio,*) |
---|
144 | READ(numbio,*) mumax_bio ! maximal specific growth rate (s-1) |
---|
145 | READ(numbio,*) |
---|
146 | READ(numbio,*) klys_bio ! loss rate |
---|
147 | READ(numbio,*) |
---|
148 | READ(numbio,*) krsp_bio ! respiration time constant |
---|
149 | READ(numbio,*) |
---|
150 | READ(numbio,*) krem_bio ! remineralization time constant |
---|
151 | READ(numbio,*) |
---|
152 | READ(numbio,*) frem_bio ! fraction of diatom loss that is remineralized in Si |
---|
153 | READ(numbio,*) |
---|
154 | READ(numbio,*) ksyn_N ! intensity of N flux VS C flux |
---|
155 | READ(numbio,*) |
---|
156 | READ(numbio,*) klys_N |
---|
157 | READ(numbio,*) |
---|
158 | READ(numbio,*) krsp_N |
---|
159 | READ(numbio,*) |
---|
160 | READ(numbio,*) krem_N |
---|
161 | READ(numbio,*) |
---|
162 | READ(numbio,*) ksyn_P |
---|
163 | READ(numbio,*) |
---|
164 | READ(numbio,*) klys_P |
---|
165 | READ(numbio,*) |
---|
166 | READ(numbio,*) krsp_P |
---|
167 | READ(numbio,*) |
---|
168 | READ(numbio,*) krem_P |
---|
169 | READ(numbio,*) |
---|
170 | READ(numbio,*) |
---|
171 | READ(numbio,*) |
---|
172 | READ(numbio,*) |
---|
173 | READ(numbio,*) nn_phs ! type of photosynthesis parameterization |
---|
174 | READ(numbio,*) |
---|
175 | READ(numbio,*) ek_bio ! light adaptation parameter (muE m-2 s-1) |
---|
176 | READ(numbio,*) |
---|
177 | READ(numbio,*) alpha_bio ! photosynthetic efficiency |
---|
178 | READ(numbio,*) |
---|
179 | READ(numbio,*) chla_c ! chlorophyll to carbon ratio (g/g) |
---|
180 | READ(numbio,*) |
---|
181 | READ(numbio,*) Estar ! Irradiance where PAR is minimum (muE m-2 s-1) |
---|
182 | READ(numbio,*) |
---|
183 | READ(numbio,*) nn_lys ! Type of lysis (1-prescribed, 2-temperature dependent) |
---|
184 | READ(numbio,*) |
---|
185 | READ(numbio,*) nn_rem ! Type of remineralization (1-prescribed, 2-temperature dependent) |
---|
186 | READ(numbio,*) |
---|
187 | READ(numbio,*) |
---|
188 | READ(numbio,*) |
---|
189 | READ(numbio,*) |
---|
190 | READ(numbio,*) si_c ! silicate to carbon ratio (mol/mol) |
---|
191 | READ(numbio,*) |
---|
192 | READ(numbio,*) no3_c ! nitrate to carbon ratio (mol/mol) |
---|
193 | READ(numbio,*) |
---|
194 | READ(numbio,*) po4_c ! phosphorus to carbon ratio (mol/mol) |
---|
195 | READ(numbio,*) |
---|
196 | READ(numbio,*) oxy_c ! oxygen quota in algal cells (mol/mol) |
---|
197 | READ(numbio,*) |
---|
198 | READ(numbio,*) |
---|
199 | READ(numbio,*) |
---|
200 | READ(numbio,*) |
---|
201 | READ(numbio,*) khs_si_bio ! half saturatio ct for Si uptake (mmol m-3) |
---|
202 | READ(numbio,*) |
---|
203 | READ(numbio,*) khs_n_bio ! half saturatio ct for NO3 uptake (mmol m-3) |
---|
204 | READ(numbio,*) |
---|
205 | READ(numbio,*) khs_p_bio ! half saturation ct for PO4 uptake (mmol m-3) |
---|
206 | READ(numbio,*) |
---|
207 | READ(numbio,*) rg_bio ! temperature dependence of algal physiology (degC-1) |
---|
208 | READ(numbio,*) |
---|
209 | READ(numbio,*) rg_bac ! temperature dependence of bacterial respiration (degC-1) |
---|
210 | READ(numbio,*) |
---|
211 | READ(numbio,*) nn_lim_sal ! Type of salinity limitation 1=Arrigo, 2=4th order gaussian, 3=sine, 4=gaussian, 5=gaussian with 3rd order arg |
---|
212 | READ(numbio,*) |
---|
213 | READ(numbio,*) lim_sal_wid ! Width of salinity limitation (case 4) |
---|
214 | READ(numbio,*) |
---|
215 | READ(numbio,*) lim_sal_smax ! Salinity at which limitation equals 1 (case 4) |
---|
216 | |
---|
217 | CLOSE( numbio ) |
---|
218 | |
---|
219 | ! Writes in the output file |
---|
220 | WRITE(numout,*) ' c_grid : ', c_grid |
---|
221 | WRITE(numout,*) ' h_skel : ', h_skel |
---|
222 | WRITE(numout,*) ' e_thr_bal : ', e_thr_bal |
---|
223 | WRITE(numout,*) ' ln_trbo : ', ln_trbo |
---|
224 | WRITE(numout,*) ' ln_trsi : ', ln_trsi |
---|
225 | WRITE(numout,*) ' ln_trdiff : ', ln_trdiff |
---|
226 | WRITE(numout,*) ' ln_trremp : ', ln_trremp |
---|
227 | WRITE(numout,*) ' ln_lim_dsi: ', ln_lim_dsi |
---|
228 | WRITE(numout,*) ' ln_lim_no3: ', ln_lim_no3 |
---|
229 | WRITE(numout,*) ' ln_lim_po4: ', ln_lim_po4 |
---|
230 | WRITE(numout,*) ' ln_lim_lig: ', ln_lim_lig |
---|
231 | WRITE(numout,*) ' ln_lim_tem: ', ln_lim_tem |
---|
232 | WRITE(numout,*) ' ln_lim_sal: ', ln_lim_sal |
---|
233 | WRITE(numout,*) ' ln_lys : ', ln_lys |
---|
234 | WRITE(numout,*) ' ln_rem : ', ln_rem |
---|
235 | WRITE(numout,*) ' ln_syn : ', ln_syn |
---|
236 | WRITE(numout,*) ' ln_bubform: ', ln_bubform |
---|
237 | WRITE(numout,*) ' ln_bubrise: ', ln_bubrise |
---|
238 | WRITE(numout,*) ' ln_gasflux: ', ln_gasflux |
---|
239 | WRITE(numout,*) ' ln_carbon : ', ln_carbon |
---|
240 | WRITE(numout,*) ' ln_ikaite : ', ln_ikaite |
---|
241 | WRITE(numbio,*) ' ln_decoupNC:', ln_decoupNC |
---|
242 | WRITE(numout,*) |
---|
243 | WRITE(numout,*) ' nn_init : ', nn_init |
---|
244 | WRITE(numout,*) ' cdsi_ini : ', cdsi_ini |
---|
245 | WRITE(numout,*) ' cno3_ini : ', cno3_ini |
---|
246 | WRITE(numout,*) ' cpo4_ini : ', cpo4_ini |
---|
247 | WRITE(numout,*) ' cdaf_ini : ', cdaf_ini |
---|
248 | WRITE(numout,*) ' ceoC_ini : ', ceoC_ini |
---|
249 | WRITE(numout,*) ' cdic_ini : ', cdic_ini |
---|
250 | WRITE(numout,*) ' calk_ini : ', calk_ini |
---|
251 | WRITE(numout,*) ' cika_ini : ', cika_ini |
---|
252 | WRITE(numout,*) ' coxy_ini : ', coxy_ini |
---|
253 | WRITE(numout,*) ' cnit_ini : ', cnit_ini |
---|
254 | WRITE(numout,*) ' carg_ini : ', carg_ini |
---|
255 | WRITE(numout,*) ' cco2_ini : ', cco2_ini |
---|
256 | WRITE(numout,*) ' ccal_ini : ', ccal_ini |
---|
257 | WRITE(numbio,*) ' caon_ini : ', caon_ini |
---|
258 | WRITE(numbio,*) ' ceon_ini : ', ceon_ini |
---|
259 | WRITE(numbio,*) ' caop_ini : ', caop_ini |
---|
260 | WRITE(numbio,*) ' ceop_ini : ', ceop_ini |
---|
261 | WRITE(numout,*) ' cno3_w : ', cno3_w |
---|
262 | WRITE(numout,*) ' cpo4_w : ', cpo4_w |
---|
263 | WRITE(numout,*) ' cdsi_w : ', cdsi_w |
---|
264 | WRITE(numout,*) ' cdaf_w : ', cdaf_w |
---|
265 | WRITE(numout,*) ' ceoC_w : ', ceoC_w |
---|
266 | WRITE(numout,*) ' cdic_w : ', cdic_w |
---|
267 | WRITE(numout,*) ' calk_w : ', calk_w |
---|
268 | WRITE(numout,*) ' cika_w : ', cika_w |
---|
269 | WRITE(numout,*) ' coxy_w : ', coxy_w |
---|
270 | WRITE(numout,*) ' cnit_w : ', cnit_w |
---|
271 | WRITE(numout,*) ' carg_w : ', carg_w |
---|
272 | WRITE(numout,*) ' cco2_w : ', cco2_w |
---|
273 | WRITE(numout,*) ' ccal_w : ', ccal_w |
---|
274 | WRITE(numbio,*) ' caon_w : ', caon_w |
---|
275 | WRITE(numbio,*) ' ceon_w : ', ceon_w |
---|
276 | WRITE(numout,*) ' mr_oxy : ', mr_oxy |
---|
277 | WRITE(numout,*) ' mr_nit : ', mr_nit |
---|
278 | WRITE(numout,*) ' mr_arg : ', mr_arg |
---|
279 | WRITE(numout,*) ' mr_co2 : ', mr_co2 |
---|
280 | WRITE(numout,*) |
---|
281 | WRITE(numout,*) ' i_gasflux : ', i_gasflux |
---|
282 | WRITE(numout,*) ' brines_ar : ', brines_ar |
---|
283 | WRITE(numout,*) ' bub_form_rate : ', bub_form_rate |
---|
284 | WRITE(numout,*) ' bub_diss_rate : ', bub_diss_rate |
---|
285 | WRITE(numout,*) ' h_bl_gas : ', h_bl_gas |
---|
286 | WRITE(numout,*) ' e_thr_gasflux : ', e_thr_gasflux |
---|
287 | WRITE(numout,*) ' e_thr_bubrise : ', e_thr_bubrise |
---|
288 | WRITE(numout,*) ' sursat_gas : ', sursat_gas |
---|
289 | WRITE(numout,*) ' nn_carbonate : ', nn_carbonate |
---|
290 | WRITE(numout,*) ' caco3_time : ', caco3_time |
---|
291 | WRITE(numout,*) |
---|
292 | WRITE(numout,*) ' nn_bio_opt: ', nn_bio_opt |
---|
293 | WRITE(numout,*) ' astar_alg : ', astar_alg |
---|
294 | WRITE(numout,*) ' fdet_alg : ', fdet_alg |
---|
295 | WRITE(numout,*) ' pp_presc : ', pp_presc |
---|
296 | WRITE(numout,*) ' mumax_bio : ', mumax_bio |
---|
297 | WRITE(numout,*) ' klys_bio : ', klys_bio |
---|
298 | WRITE(numout,*) ' krsp_bio : ', krsp_bio |
---|
299 | WRITE(numout,*) ' krem_bio : ', krem_bio |
---|
300 | WRITE(numout,*) ' frem_bio : ', frem_bio |
---|
301 | WRITE(numout,*) ' ksyn_N : ', ksyn_N |
---|
302 | WRITE(numout,*) ' klys_N : ', klys_N |
---|
303 | WRITE(numout,*) ' krsp_N : ', krsp_N |
---|
304 | WRITE(numout,*) ' krem_N : ', krem_N |
---|
305 | WRITE(numout,*) ' ksyn_P : ', ksyn_P |
---|
306 | WRITE(numout,*) ' klys_P : ', klys_P |
---|
307 | WRITE(numout,*) ' krsp_P : ', krsp_P |
---|
308 | WRITE(numout,*) ' krem_P : ', krem_P |
---|
309 | WRITE(numout,*) ' nn_phs : ', nn_phs |
---|
310 | WRITE(numout,*) ' ek_bio : ', ek_bio |
---|
311 | WRITE(numout,*) ' alpha_bio : ', alpha_bio |
---|
312 | WRITE(numout,*) ' chla_c : ', chla_c |
---|
313 | WRITE(numout,*) ' Estar : ', Estar |
---|
314 | WRITE(numout,*) ' nn_lys : ', nn_lys |
---|
315 | WRITE(numout,*) ' nn_rem : ', nn_rem |
---|
316 | WRITE(numout,*) ' si_c : ', si_c |
---|
317 | WRITE(numout,*) ' no3_c : ', no3_c |
---|
318 | WRITE(numout,*) ' po4_c : ', po4_c |
---|
319 | WRITE(numout,*) ' oxy_c : ', oxy_c |
---|
320 | WRITE(numout,*) ' khs_si_bio: ', khs_si_bio |
---|
321 | WRITE(numout,*) ' khs_n_bio : ', khs_n_bio |
---|
322 | WRITE(numout,*) ' khs_p_bio : ', khs_p_bio |
---|
323 | WRITE(numout,*) ' rg_bio : ', rg_bio |
---|
324 | WRITE(numout,*) ' rg_bac : ', rg_bac |
---|
325 | WRITE(numout,*) ' nn_lim_sal: ', nn_lim_sal |
---|
326 | WRITE(numout,*) ' lim_sal_wid : ', lim_sal_wid |
---|
327 | WRITE(numout,*) ' lim_sal_smax : ', lim_sal_smax |
---|
328 | WRITE(numout,*) |
---|
329 | |
---|
330 | WRITE(numout,*) |
---|
331 | WRITE(numout,*) ' End of ice_bio_param ' |
---|
332 | WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' |
---|
333 | WRITE(numout,*) |
---|
334 | ! |
---|
335 | !-----------------------------------------------------------------------------! |
---|
336 | !-- End of ice_bio_param -- |
---|
337 | RETURN |
---|
338 | |
---|
339 | END |
---|