/[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.3 - (hide 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 mmazloff 1.3 C $Header: $
2     C $Name: $
3 mmazloff 1.1
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 mmazloff 1.3 & pivotal,
48 mmazloff 1.1 & Pc_0,
49 mmazloff 1.3 & Pc_0_diaz,
50 mmazloff 1.1 & lambda_0,
51     & chl_min,
52 mmazloff 1.3 & CtoN,
53     & NO3toN,
54     & HtoC,
55     & O2toN,
56     & CatoN,
57     & masstoN,
58     & alpha_photo,
59 mmazloff 1.1 & theta_Fe_max_hi,
60     & theta_Fe_max_lo,
61     & gamma_irr_mem,
62 mmazloff 1.3 & gamma_DON,
63     & gamma_DOP,
64 mmazloff 1.1 & gamma_POM,
65     & k_Fe,
66 mmazloff 1.3 & k_Fe_diaz,
67 mmazloff 1.1 & k_O2,
68 mmazloff 1.3 & 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 mmazloff 1.1 & kFe_org,
77     & kFe_inorg,
78 mmazloff 1.3 & PtoN_min,
79     & PtoN_max,
80     & FetoN_min,
81     & FetoN_max,
82     & FetoC_sed,
83 mmazloff 1.1 & remin_min,
84 mmazloff 1.3 & oxic_min,
85 mmazloff 1.1 & ligand,
86     & kappa_eppley,
87 mmazloff 1.3 & kappa_eppley_diaz,
88 mmazloff 1.1 & kappa_remin,
89     & ca_remin_depth,
90     & phi_DOM,
91     & phi_sm,
92     & phi_lg,
93 mmazloff 1.3 & phi_dvm,
94     & sigma_dvm,
95 mmazloff 1.1 & 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 mmazloff 1.3 & bling_pCO2, river_conc_trac
113 mmazloff 1.1
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 mmazloff 1.3 C k_FetoN :: Half-saturation cellular Fe:N
142 mmazloff 1.1 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 mmazloff 1.3 integer k
170 mmazloff 1.1
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 mmazloff 1.3 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 mmazloff 1.1 lambda_0 = 0.19 _d 0 / secperday
191 mmazloff 1.3 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 mmazloff 1.1 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 mmazloff 1.3 gamma_DON = 0.25 _d 0 / (365.25 _d 0 * secperday)
199     gamma_DOP = 0.5 _d 0 / (365.25 _d 0 * secperday)
200 mmazloff 1.1 gamma_POM = 0.12 _d 0 / secperday
201 mmazloff 1.3 cav k_Fe = 1.6 _d -10 / permil
202 mmazloff 1.1 k_Fe = 8. _d -10 / permil
203 mmazloff 1.3 k_Fe_diaz = 7. _d -10 / permil
204 mmazloff 1.1 k_O2 = 20. _d -6 / permil
205 mmazloff 1.3 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 mmazloff 1.1 kFe_org = 0.5 _d 0 / secperday * permil**(0.58)
220     kFe_inorg = 1. _d 3 / secperday * permil**(0.5)
221 mmazloff 1.3 remin_min = 0.15 _d 0
222     oxic_min = 1. _d -6 / permil
223 mmazloff 1.1 Ligand = 1. _d -9 / permil
224     kappa_eppley = 0.063 _d 0
225 mmazloff 1.3 kappa_eppley_diaz = 0.18 _d 0
226     kappa_remin = -0.032 _d 0
227 mmazloff 1.1 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 mmazloff 1.3 phi_dvm = 0.2 _d 0
232     sigma_dvm = 40.0 _d 0
233 mmazloff 1.1 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 mmazloff 1.3 k0 = 0.04 _d 0
239 mmazloff 1.1 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 mmazloff 1.3 DO k=1,8
248     river_conc_trac(k) = 0. _d 0
249     ENDDO
250    
251 mmazloff 1.1
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