/[MITgcm]/MITgcm_contrib/bling/pkg/bling_readparms.F
ViewVC logotype

Contents of /MITgcm_contrib/bling/pkg/bling_readparms.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Thu Jun 5 21:26:26 2014 UTC (11 years, 1 month ago) by mmazloff
Branch: MAIN
Changes since 1.1: +3 -3 lines
cleaning and updating

1 C $Header: /u/gcmpack/MITgcm_contrib/bling/pkg/bling_readparms.F,v 1.1 2014/05/23 17:33:43 mmazloff Exp $
2 C $Name: $
3
4 #include "BLING_OPTIONS.h"
5
6 CBOP
7 subroutine BLING_READPARMS( myThid )
8
9 C ==========================================================
10 C | subroutine bling_readparms
11 C | o Initialise and read parameters for BLING model
12 C ==========================================================
13
14 implicit none
15
16 C === Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "BLING_VARS.h"
21
22 C === Routine arguments ===
23 C myThid :: My Thread Id. number
24 INTEGER myThid
25 CEOP
26
27 #ifdef ALLOW_BLING
28
29 C === Local variables ===
30 C msgBuf :: Informational/error message buffer
31 C iUnit :: Work variable for IO unit number
32 CHARACTER*(MAX_LEN_MBUF) msgBuf
33 INTEGER iUnit
34
35 C ==========================================================
36 C Abiotic parameters
37 C ==========================================================
38
39 NAMELIST /ABIOTIC_PARMS/
40 & permil, Pa2Atm
41
42 C ==========================================================
43 C BLING parameters
44 C ==========================================================
45
46 NAMELIST /BIOTIC_PARMS/
47 & Pstar,
48 & Pc_0,
49 & lambda_0,
50 & resp_frac,
51 & chl_min,
52 & CtoP,
53 & NtoP,
54 & O2toP,
55 & CatoP,
56 & NUTfac,
57 & alpha_max,
58 & alpha_min,
59 & theta_Fe_max_hi,
60 & theta_Fe_max_lo,
61 & gamma_biomass,
62 & gamma_irr_mem,
63 & gamma_DOM,
64 & gamma_POM,
65 & k_Fe,
66 & k_O2,
67 & k_NUT,
68 & k_FetoP,
69 & KFeLeq_max,
70 & KFeLeq_min,
71 & Fe_min,
72 & IFeL,
73 & kFe_org,
74 & kFe_inorg,
75 & FetoP_max,
76 & FetoPsed,
77 & Fe_lim_min,
78 & remin_min,
79 & O2_min,
80 & ligand,
81 & b_const,
82 & kappa_eppley,
83 & kappa_remin,
84 & ca_remin_depth,
85 & phi_DOM,
86 & phi_sm,
87 & phi_lg,
88 & wsink0z,
89 & wsink0,
90 & wsinkacc,
91 & parfrac,
92 & alpfe,
93 & k0,
94 & epsln
95
96
97 C ==========================================================
98 C BLING forcing
99 C ==========================================================
100
101 NAMELIST /BLING_FORCING/
102 & bling_windFile, bling_atmospFile, bling_iceFile,
103 & bling_ironFile, bling_silicaFile,
104 & bling_forcingPeriod, bling_forcingCycle,
105 & bling_pCO2, riverconc_dic, riverconc_alk,
106 & riverconc_nut, riverconc_dom, riverconc_o2,
107 & riverconc_fe
108
109 C ==========================================================
110 C permil :: set carbon mol/m3 <---> mol/kg conversion factor
111 C default permil = 1024.5 kg/m3
112 C Pa2Atm :: Conversion factor for atmospheric pressure pLoad
113 C (when coupled to atmospheric model) into Atm.
114 C Default assumes pLoad in Pascal
115 C 1 Atm = 1.01325e5 Pa = 1013.25 mb
116 C
117 C CtoP :: Carbon to phosphorus ratio in organic matter
118 C NtoP :: Nitrogen to phosphorus ratio in organic matter
119 C O2toP :: Oxygen to phosphorus for biological activity
120 C CatoP :: Calcium to phosphorus uptake by small phyto
121 C NUTfac :: If using nitrogen as macro-nutrient instead of ,
122 C phosphate, NUTfac is stoichiometric ratio N:P,
123 C otherwise equal to 1.
124 C Pstar :: Pivotal phytoplankton biomass
125 C Pc_0 :: Maximum carbon-specific growth rate at 0C
126 C lambda_0 :: Carbon-specific phytoplankton mortality rate
127 C resp_frac :: fraction of production that is respired
128 C chl_min :: minimum chlorophyll concentration
129 C alpha_max :: Quantum yield under low light, abundant iron
130 C alpha_min :: Quantum yield under low light, iron limited
131 C theta_Fe_max_hi :: Maximum Chl:c ratio, abundant iron
132 C theta_Fe_max_lo :: Maximum Chl:c ratio, extreme iron limitation
133 C gamma_biomass :: Biomass adjustment time scale
134 C gamma_irr_mem :: Photoadaptation time scale
135 C gamma_DOM :: Decay timescale of DOM
136 C gamma_POM :: Remineralization rate of sinking POM
137 C k_Fe :: Dissolved Fe uptake half-saturation constant
138 C k_O2 :: Half-saturation constant for aerobic respiration
139 C k_NUT :: Macro-nutrient uptake half-saturation constant
140 C k_FetoP :: Half-saturation cellular Fe:P
141 C FetoP_max :: Maximum Fe:P uptake ratio
142 C FetoP_sed :: Fe:P in sediments
143 C KFeLeq_max :: Maximum Fe-ligand stability constant
144 C KFeLeq_min :: Minimum Fe-ligand stability constant
145 C Fe_min :: Constant having to do with photodissociation
146 C IFeL :: Iron ligand stability constant
147 C kFe_org :: Organic-matter dependent scavenging rate
148 C kFe_inorg :: Inorganic scavenging rate
149 C Fe_lim_min :: Minimum iron limitation
150 C remin_min :: Minimum anaerobic respiration rate
151 C O2_min :: Minimum O2 concentration for aerobic respiration
152 C Ligand :: Ligand concentration
153 C b_const :: Constant in ligand stability estimate
154 C kappa_eppley :: Temperature dependence of growth
155 C kappa_remin :: Temperature dependence of remineralization
156 C ca_remin_depth :: CaCO3 remineralization lengthscale
157 C phi_DOM :: Fraction of non-sinking production to DOM
158 C phi_sm :: Fraction of small phytoplankton biomass converted to detritus
159 C phi_lg :: Fraction of large phytoplankton biomass converted to detritus
160 C wsink0z :: Depth at which sinking rate starts increasing
161 C wsink0 :: Initial sinking rate
162 C wsinkacc :: Acceleration rate of sinking with depth
163 C parfrac :: fraction of Qsw avail for photosynthesis
164 C alpfe :: solubility of aeolian iron
165 C k0 :: Light attentuation coefficient
166 C epsln :: a very small number
167
168 C secperday :: seconds in a day = 24*60*60
169 _RL secperday
170
171 _BEGIN_MASTER(myThid)
172
173 C ==========================================================
174 C Default values
175
176 secperday = 86400. _d 0
177 permil = 1. _d 0 / 1024.5 _d 0
178 Pa2Atm = 1.01325 _d 5
179 CtoP = 106. _d 0
180 NtoP = 16. _d 0
181 O2toP = -150. _d 0
182 CatoP = 106.0 _d 0 * 0.015 _d 0
183 #ifdef NITROGEN_CURRENCY
184 NUTfac = NtoP
185 #else
186 NUTfac = 1. _d 0
187 #endif
188 Pstar = 1.9 _d -3 / 1028. _d 0 / CtoP / permil
189 & * NUTfac
190 Pc_0 = 1. _d -5
191 lambda_0 = 0.19 _d 0 / secperday
192 resp_frac = 0. _d 0
193 chl_min = 1. _d -11
194 alpha_max = 1.6 _d -5 * 2.77 _d 18 / 6.022 _d 17
195 alpha_min = 0.4 _d -5 * 2.77 _d 18 / 6.022 _d 17
196 theta_Fe_max_hi = 0.04 _d 0
197 theta_Fe_max_lo = 0.01 _d 0
198 gamma_biomass = 0.5 _d 0 / secperday
199 gamma_irr_mem = 1. _d 0 / secperday
200 gamma_DOM = 0.25 _d 0 / (365.25 _d 0 * secperday)
201 gamma_POM = 0.12 _d 0 / secperday
202 k_Fe = 8. _d -10 / permil
203 k_O2 = 20. _d -6 / permil
204 k_NUT = 1. _d -7 * NUTfac / permil
205 k_FetoP = 7. _d -6 * CtoP
206 FetoP_max = 28. _d -6 * CtoP
207 FetoPsed = 0.0106 _d 0
208 KFeLeq_max = 8.0 _d 10 * permil
209 KFeLeq_min = 8.0 _d 9 * permil
210 Fe_min = 0.05 _d -9 / permil
211 IFeL = 0.1 _d 0
212 kFe_org = 0.5 _d 0 / secperday * permil**(0.58)
213 kFe_inorg = 1. _d 3 / secperday * permil**(0.5)
214 Fe_lim_min = 0. _d 0
215 remin_min = 0.3 _d 0
216 O2_min = 1. _d -6 / permil
217 Ligand = 1. _d -9 / permil
218 b_const = 1.2 _d 0
219 kappa_eppley = 0.063 _d 0
220 kappa_remin = 0.032 _d 0
221 ca_remin_depth = 1343. _d 0
222 phi_DOM = 0.1 _d 0
223 phi_sm = 0.18 _d 0
224 phi_lg = 1. _d 0
225 wsink0z = 80. _d 0
226 wsink0 = 16. _d 0 / secperday
227 wsinkacc = 0.05 _d 0 / secperday
228 parfrac = 0.4 _d 0
229 alpfe = 0.01 _d 0
230 k0 = 0.05 _d 0
231 epsln = 1. _d -30
232
233 bling_windFile = ' '
234 bling_atmospFile= ' '
235 bling_iceFile = ' '
236 bling_ironFile = ' '
237 bling_silicaFile= ' '
238 bling_pCO2 = 278. _d -6
239 riverconc_dic = 2. _d 0
240 riverconc_alk = 2. _d 0
241 riverconc_nut = 0. _d 0 * NUTfac
242 riverconc_dom = 0. _d 0
243 riverconc_o2 = 0. _d 0
244 riverconc_fe = 0. _d 0
245
246 c default periodic forcing to same as for physics
247 bling_forcingPeriod = externForcingPeriod
248 bling_forcingCycle = externForcingCycle
249
250 WRITE(msgBuf,'(A)') ' BLING_READPARMS: opening data.bling'
251 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
252 I SQUEEZE_RIGHT, myThid )
253
254 CALL OPEN_COPY_DATA_FILE( 'data.bling', 'BLING_READPARMS',
255 O iUnit, myThid )
256
257 C-- Read parameters from open data file:
258
259 C- Abiotic parameters
260 READ(UNIT=iUnit,NML=ABIOTIC_PARMS)
261
262 C- BLING parameters
263 READ(UNIT=iUnit,NML=BIOTIC_PARMS)
264
265 C- forcing filenames and parameters
266 READ(UNIT=iUnit,NML=BLING_FORCING)
267
268 WRITE(msgBuf,'(A)')
269 & ' BLING_READPARMS: finished reading data.BLING'
270 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
271 I SQUEEZE_RIGHT, myThid )
272
273 C-- Close the open data file
274 CLOSE(iUnit)
275
276 C- derive other parameters:
277
278 QSW_underice = .FALSE.
279 #ifdef USE_QSW_UNDERICE
280 QSW_underice = .TRUE.
281 #elif (defined (USE_QSW))
282 C if using Qsw and seaice, then ice fraction is already
283 C taken into account
284 IF ( useSEAICE ) QSW_underice = .TRUE.
285 IF ( useThSIce ) QSW_underice = .TRUE.
286 #endif
287
288 _END_MASTER(myThid)
289
290 C-- Everyone else must wait for the parameters to be loaded
291 _BARRIER
292
293 #endif /* ALLOW_BLING */
294
295 RETURN
296 END
297

  ViewVC Help
Powered by ViewVC 1.1.22