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

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

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


Revision 1.1 - (hide annotations) (download)
Fri May 23 17:33:43 2014 UTC (11 years, 2 months ago) by mmazloff
Branch: MAIN
Adding package BLING

1 mmazloff 1.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     & 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     & * 16. _d 0
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