/[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.3 - (show annotations) (download)
Sun Feb 28 21:49:24 2016 UTC (9 years, 4 months ago) by mmazloff
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +78 -72 lines
Update to BLING version 2

1 C $Header: $
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 & pivotal,
48 & Pc_0,
49 & Pc_0_diaz,
50 & lambda_0,
51 & chl_min,
52 & CtoN,
53 & NO3toN,
54 & HtoC,
55 & O2toN,
56 & CatoN,
57 & masstoN,
58 & alpha_photo,
59 & theta_Fe_max_hi,
60 & theta_Fe_max_lo,
61 & gamma_irr_mem,
62 & gamma_DON,
63 & gamma_DOP,
64 & gamma_POM,
65 & k_Fe,
66 & k_Fe_diaz,
67 & k_O2,
68 & k_NO3,
69 & k_PO4,
70 & k_PtoN,
71 & k_FetoN,
72 & kFe_eq_lig_max,
73 & kFe_eq_lig_min,
74 & kFe_eq_lig_Femin,
75 & kFe_eq_lig_irr,
76 & kFe_org,
77 & kFe_inorg,
78 & PtoN_min,
79 & PtoN_max,
80 & FetoN_min,
81 & FetoN_max,
82 & FetoC_sed,
83 & remin_min,
84 & oxic_min,
85 & ligand,
86 & kappa_eppley,
87 & kappa_eppley_diaz,
88 & kappa_remin,
89 & ca_remin_depth,
90 & phi_DOM,
91 & phi_sm,
92 & phi_lg,
93 & phi_dvm,
94 & sigma_dvm,
95 & wsink0z,
96 & wsink0,
97 & wsinkacc,
98 & parfrac,
99 & alpfe,
100 & k0,
101 & epsln
102
103
104 C ==========================================================
105 C BLING forcing
106 C ==========================================================
107
108 NAMELIST /BLING_FORCING/
109 & bling_windFile, bling_atmospFile, bling_iceFile,
110 & bling_ironFile, bling_silicaFile,
111 & bling_forcingPeriod, bling_forcingCycle,
112 & bling_pCO2, river_conc_trac
113
114 C ==========================================================
115 C permil :: set carbon mol/m3 <---> mol/kg conversion factor
116 C default permil = 1024.5 kg/m3
117 C Pa2Atm :: Conversion factor for atmospheric pressure pLoad
118 C (when coupled to atmospheric model) into Atm.
119 C Default assumes pLoad in Pascal
120 C 1 Atm = 1.01325e5 Pa = 1013.25 mb
121 C
122 C CtoP :: Carbon to phosphorus ratio in organic matter
123 C NtoP :: Nitrogen to phosphorus ratio in organic matter
124 C O2toP :: Oxygen to phosphorus for biological activity
125 C CatoP :: Calcium to phosphorus uptake by small phyto
126 C NUTfac :: If using nitrogen as macro-nutrient instead of ,
127 C phosphate, NUTfac is stoichiometric ratio N:P,
128 C otherwise equal to 1.
129 C Pstar :: Pivotal phytoplankton biomass
130 C Pc_0 :: Maximum carbon-specific growth rate at 0C
131 C lambda_0 :: Carbon-specific phytoplankton mortality rate
132 C chl_min :: minimum chlorophyll concentration
133 C theta_Fe_max_hi :: Maximum Chl:c ratio, abundant iron
134 C theta_Fe_max_lo :: Maximum Chl:c ratio, extreme iron limitation
135 C gamma_irr_mem :: Photoadaptation time scale
136 C gamma_DOM :: Decay timescale of DOM
137 C gamma_POM :: Remineralization rate of sinking POM
138 C k_Fe :: Dissolved Fe uptake half-saturation constant
139 C k_O2 :: Half-saturation constant for aerobic respiration
140 C k_NUT :: Macro-nutrient uptake half-saturation constant
141 C k_FetoN :: Half-saturation cellular Fe:N
142 C FetoP_max :: Maximum Fe:P uptake ratio
143 C FetoP_sed :: Fe:P in sediments
144 C KFeLeq_max :: Maximum Fe-ligand stability constant
145 C KFeLeq_min :: Minimum Fe-ligand stability constant
146 C Fe_min :: Constant having to do with photodissociation
147 C IFeL :: Iron ligand stability constant
148 C kFe_org :: Organic-matter dependent scavenging rate
149 C kFe_inorg :: Inorganic scavenging rate
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 kappa_eppley :: Temperature dependence of growth
154 C kappa_remin :: Temperature dependence of remineralization
155 C ca_remin_depth :: CaCO3 remineralization lengthscale
156 C phi_DOM :: Fraction of non-sinking production to DOM
157 C phi_sm :: Fraction of small phytoplankton biomass converted to detritus
158 C phi_lg :: Fraction of large phytoplankton biomass converted to detritus
159 C wsink0z :: Depth at which sinking rate starts increasing
160 C wsink0 :: Initial sinking rate
161 C wsinkacc :: Acceleration rate of sinking with depth
162 C parfrac :: fraction of Qsw avail for photosynthesis
163 C alpfe :: solubility of aeolian iron
164 C k0 :: Light attentuation coefficient
165 C epsln :: a very small number
166
167 C secperday :: seconds in a day = 24*60*60
168 _RL secperday
169 integer k
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 CtoN = 6.75 _d 0
180 HtoC = 48. _d 0 / 106. _d 0
181 O2toN = CtoN * (1. _d 0 + 0.25 _d 0 * HtoC)
182 & + 2. _d 0
183 NO3toN = CtoN * (1. _d 0 + 0.25 _d 0 * HtoC)
184 & * 0.8 _d 0 + 0.6 _d 0
185 CatoN = CtoN * 0.015 _d 0
186 masstoN = CtoN * 12.001 _d 0
187 pivotal = 1.9 _d -3 / 1028. _d 0 / CtoN / permil
188 Pc_0 = 1.7 _d -5
189 Pc_0_diaz = 0.01 _d -5
190 lambda_0 = 0.19 _d 0 / secperday
191 chl_min = 1. _d -5
192 Cxxx chl_min in ug kg-1
193 alpha_photo = 0.7 _d -5 * 2.77 _d 18 / 6.022 _d 17
194 Cxxx alpha_photo in g C g Chl-1 m2 W-1 s-1
195 theta_Fe_max_hi = 0.04 _d 0
196 theta_Fe_max_lo = 0.01 _d 0
197 gamma_irr_mem = 1. _d 0 / secperday
198 gamma_DON = 0.25 _d 0 / (365.25 _d 0 * secperday)
199 gamma_DOP = 0.5 _d 0 / (365.25 _d 0 * secperday)
200 gamma_POM = 0.12 _d 0 / secperday
201 cav k_Fe = 1.6 _d -10 / permil
202 k_Fe = 8. _d -10 / permil
203 k_Fe_diaz = 7. _d -10 / permil
204 k_O2 = 20. _d -6 / permil
205 k_NO3 = 2. _d -6 / permil
206 cav k_PO4 = 1. _d -8 / permil
207 k_PO4 = 1. _d -7 / permil
208 k_PtoN = 1.5 _d -6 / permil
209 k_FetoN = 8. _d -10 / permil
210 PtoN_min = 1. / 28.
211 PtoN_max = 1. / 9.
212 FetoN_min = 2. _d -6 * 6.75
213 FetoN_max = 25. _d -6 * 6.75
214 FetoC_sed = 1. _d -4
215 kFe_eq_lig_max = 8.0 _d 10 * permil
216 kFe_eq_lig_min = 8.0 _d 9 * permil
217 kFe_eq_lig_Femin = 0.05 _d -9 / permil
218 kFe_eq_lig_irr = 0.1 _d 0
219 kFe_org = 0.5 _d 0 / secperday * permil**(0.58)
220 kFe_inorg = 1. _d 3 / secperday * permil**(0.5)
221 remin_min = 0.15 _d 0
222 oxic_min = 1. _d -6 / permil
223 Ligand = 1. _d -9 / permil
224 kappa_eppley = 0.063 _d 0
225 kappa_eppley_diaz = 0.18 _d 0
226 kappa_remin = -0.032 _d 0
227 ca_remin_depth = 1343. _d 0
228 phi_DOM = 0.1 _d 0
229 phi_sm = 0.18 _d 0
230 phi_lg = 1. _d 0
231 phi_dvm = 0.2 _d 0
232 sigma_dvm = 40.0 _d 0
233 wsink0z = 80. _d 0
234 wsink0 = 16. _d 0 / secperday
235 wsinkacc = 0.05 _d 0 / secperday
236 parfrac = 0.4 _d 0
237 alpfe = 0.01 _d 0
238 k0 = 0.04 _d 0
239 epsln = 1. _d -30
240
241 bling_windFile = ' '
242 bling_atmospFile= ' '
243 bling_iceFile = ' '
244 bling_ironFile = ' '
245 bling_silicaFile= ' '
246 bling_pCO2 = 278. _d -6
247 DO k=1,8
248 river_conc_trac(k) = 0. _d 0
249 ENDDO
250
251
252 c default periodic forcing to same as for physics
253 bling_forcingPeriod = externForcingPeriod
254 bling_forcingCycle = externForcingCycle
255
256 WRITE(msgBuf,'(A)') ' BLING_READPARMS: opening data.bling'
257 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
258 I SQUEEZE_RIGHT, myThid )
259
260 CALL OPEN_COPY_DATA_FILE( 'data.bling', 'BLING_READPARMS',
261 O iUnit, myThid )
262
263 C-- Read parameters from open data file:
264
265 C- Abiotic parameters
266 READ(UNIT=iUnit,NML=ABIOTIC_PARMS)
267
268 C- BLING parameters
269 READ(UNIT=iUnit,NML=BIOTIC_PARMS)
270
271 C- forcing filenames and parameters
272 READ(UNIT=iUnit,NML=BLING_FORCING)
273
274 WRITE(msgBuf,'(A)')
275 & ' BLING_READPARMS: finished reading data.BLING'
276 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
277 I SQUEEZE_RIGHT, myThid )
278
279 C-- Close the open data file
280 CLOSE(iUnit)
281
282 C- derive other parameters:
283
284 QSW_underice = .FALSE.
285 #ifdef USE_QSW_UNDERICE
286 QSW_underice = .TRUE.
287 #elif (defined (USE_QSW))
288 C if using Qsw and seaice, then ice fraction is already
289 C taken into account
290 IF ( useSEAICE ) QSW_underice = .TRUE.
291 IF ( useThSIce ) QSW_underice = .TRUE.
292 #endif
293
294 _END_MASTER(myThid)
295
296 C-- Everyone else must wait for the parameters to be loaded
297 _BARRIER
298
299 #endif /* ALLOW_BLING */
300
301 RETURN
302 END
303

  ViewVC Help
Powered by ViewVC 1.1.22