CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
noahmp_tables.f90
1
3
5
12use machine , only : kind_phys
13 implicit none
14
15 integer, private, parameter :: mvt = 30 ! use 30 instead of 27
16 integer, private, parameter :: mband = 2
17 integer, private, parameter :: msc = 20
18 integer, private, parameter :: max_soiltyp = 30
19 integer, private, parameter :: ncrop = 5
20 integer, private, parameter :: nstage = 8
21 integer, private, parameter :: num_slope = 9
22
23! mptable.tbl vegetation parameters
24
25 integer :: isurban_table
26 integer :: iswater_table
27 integer :: isbarren_table
28 integer :: isice_table
29 integer :: iscrop_table
30 integer :: eblforest_table
31 integer :: natural_table
32 integer :: lcz_1_table
33 integer :: lcz_2_table
34 integer :: lcz_3_table
35 integer :: lcz_4_table
36 integer :: lcz_5_table
37 integer :: lcz_6_table
38 integer :: lcz_7_table
39 integer :: lcz_8_table
40 integer :: lcz_9_table
41 integer :: lcz_10_table
42 integer :: lcz_11_table
43 real (kind=kind_phys) :: ch2op_table(mvt)
44 real (kind=kind_phys) :: dleaf_table(mvt)
45 real (kind=kind_phys) :: z0mvt_table(mvt)
46 real (kind=kind_phys) :: hvt_table(mvt)
47 real (kind=kind_phys) :: hvb_table(mvt)
48 real (kind=kind_phys) :: z0mhvt_table(mvt)
49 real (kind=kind_phys) :: den_table(mvt)
50 real (kind=kind_phys) :: rc_table(mvt)
51 real (kind=kind_phys) :: mfsno_table(mvt)
52 real (kind=kind_phys) :: scffac_table(mvt)
53 real (kind=kind_phys) :: cbiom_table(mvt)
54 real (kind=kind_phys) :: saim_table(mvt,12)
55 real (kind=kind_phys) :: laim_table(mvt,12)
56 real (kind=kind_phys) :: sla_table(mvt)
57 real (kind=kind_phys) :: dilefc_table(mvt)
58 real (kind=kind_phys) :: dilefw_table(mvt)
59 real (kind=kind_phys) :: fragr_table(mvt)
60 real (kind=kind_phys) :: ltovrc_table(mvt)
61
62 real (kind=kind_phys) :: c3psn_table(mvt)
63 real (kind=kind_phys) :: kc25_table(mvt)
64 real (kind=kind_phys) :: akc_table(mvt)
65 real (kind=kind_phys) :: ko25_table(mvt)
66 real (kind=kind_phys) :: ako_table(mvt)
67 real (kind=kind_phys) :: vcmx25_table(mvt)
68 real (kind=kind_phys) :: avcmx_table(mvt)
69 real (kind=kind_phys) :: bp_table(mvt)
70 real (kind=kind_phys) :: mp_table(mvt)
71 real (kind=kind_phys) :: qe25_table(mvt)
72 real (kind=kind_phys) :: aqe_table(mvt)
73 real (kind=kind_phys) :: rmf25_table(mvt)
74 real (kind=kind_phys) :: rms25_table(mvt)
75 real (kind=kind_phys) :: rmr25_table(mvt)
76 real (kind=kind_phys) :: arm_table(mvt)
77 real (kind=kind_phys) :: folnmx_table(mvt)
78 real (kind=kind_phys) :: tmin_table(mvt)
79
80 real (kind=kind_phys) :: xl_table(mvt)
81 real (kind=kind_phys) :: rhol_table(mvt,mband)
82 real (kind=kind_phys) :: rhos_table(mvt,mband)
83 real (kind=kind_phys) :: taul_table(mvt,mband)
84 real (kind=kind_phys) :: taus_table(mvt,mband)
85
86 real (kind=kind_phys) :: mrp_table(mvt)
87 real (kind=kind_phys) :: cwpvt_table(mvt)
88
89 real (kind=kind_phys) :: wrrat_table(mvt)
90 real (kind=kind_phys) :: wdpool_table(mvt)
91 real (kind=kind_phys) :: tdlef_table(mvt)
92
93 real (kind=kind_phys) :: nroot_table(mvt)
94 real (kind=kind_phys) :: rgl_table(mvt)
95 real (kind=kind_phys) :: rs_table(mvt)
96 real (kind=kind_phys) :: hs_table(mvt)
97 real (kind=kind_phys) :: topt_table(mvt)
98 real (kind=kind_phys) :: rsmax_table(mvt)
99
100! soilparm.tbl parameters
101
102 integer :: slcats
103
104 real (kind=kind_phys) :: bexp_table(max_soiltyp)
105 real (kind=kind_phys) :: smcdry_table(max_soiltyp)
106 real (kind=kind_phys) :: f1_table(max_soiltyp)
107 real (kind=kind_phys) :: smcmax_table(max_soiltyp)
108 real (kind=kind_phys) :: smcref_table(max_soiltyp)
109 real (kind=kind_phys) :: psisat_table(max_soiltyp)
110 real (kind=kind_phys) :: dksat_table(max_soiltyp)
111 real (kind=kind_phys) :: dwsat_table(max_soiltyp)
112 real (kind=kind_phys) :: smcwlt_table(max_soiltyp)
113 real (kind=kind_phys) :: quartz_table(max_soiltyp)
114 real (kind=kind_phys) :: bvic_table(max_soiltyp) !vic model infiltration parameter (-) for opt_run=6
115 real (kind=kind_phys) :: axaj_table(max_soiltyp) !Xinanjiang: Tension water distribution inflection parameter [-] for opt_run=7
116 real (kind=kind_phys) :: bxaj_table(max_soiltyp) !Xinanjiang: Tension water distribution shape parameter [-] for opt_run=7
117 real (kind=kind_phys) :: xxaj_table(max_soiltyp) !Xinanjiang: Free water distribution shape parameter [-] for opt_run=7
118 real (kind=kind_phys) :: bdvic_table(max_soiltyp) !VIC model infiltration parameter (-)
119 real (kind=kind_phys) :: gdvic_table(max_soiltyp) !mean capilary drive (m)
120 real (kind=kind_phys) :: bbvic_table(max_soiltyp) !heterogeniety parameter for DVIC infiltration [-]
121
122! genparm.tbl parameters
123
124 real (kind=kind_phys) :: slope_table(num_slope)
125
126 real (kind=kind_phys) :: csoil_table
127 real (kind=kind_phys) :: refdk_table
128 real (kind=kind_phys) :: refkdt_table
129 real (kind=kind_phys) :: frzk_table
130 real (kind=kind_phys) :: zbot_table
131 real (kind=kind_phys) :: czil_table
132
133! mptable.tbl radiation parameters
134
135 real (kind=kind_phys) :: albsat_table(msc,mband)
136 real (kind=kind_phys) :: albdry_table(msc,mband)
137 real (kind=kind_phys) :: albice_table(mband)
138 real (kind=kind_phys) :: alblak_table(mband)
139 real (kind=kind_phys) :: omegas_table(mband)
140 real (kind=kind_phys) :: betads_table
141 real (kind=kind_phys) :: betais_table
142 real (kind=kind_phys) :: eg_table(2)
143
144! mptable.tbl global parameters
145
146 real (kind=kind_phys) :: co2_table
147 real (kind=kind_phys) :: o2_table
148 real (kind=kind_phys) :: timean_table
149 real (kind=kind_phys) :: fsatmx_table
150 real (kind=kind_phys) :: z0sno_table
151 real (kind=kind_phys) :: ssi_table
152 real (kind=kind_phys) :: snow_ret_fac_table
153 real (kind=kind_phys) :: snow_emis_table
154 real (kind=kind_phys) :: swemx_table
155 real (kind=kind_phys) :: tau0_table
156 real (kind=kind_phys) :: grain_growth_table
157 real (kind=kind_phys) :: extra_growth_table
158 real (kind=kind_phys) :: dirt_soot_table
159 real (kind=kind_phys) :: bats_cosz_table
160 real (kind=kind_phys) :: bats_vis_new_table
161 real (kind=kind_phys) :: bats_nir_new_table
162 real (kind=kind_phys) :: bats_vis_age_table
163 real (kind=kind_phys) :: bats_nir_age_table
164 real (kind=kind_phys) :: bats_vis_dir_table
165 real (kind=kind_phys) :: bats_nir_dir_table
166 real (kind=kind_phys) :: rsurf_snow_table
167 real (kind=kind_phys) :: rsurf_exp_table
168
169! mptable.tbl irrigation parameters
170
171 real (kind=kind_phys) :: irr_frac_table ! irrigation Fraction
172 integer :: irr_har_table ! number of days before harvest date to stop irrigation
173 real (kind=kind_phys) :: irr_lai_table ! Minimum lai to trigger irrigation
174 real (kind=kind_phys) :: irr_mad_table ! management allowable deficit (0-1)
175 real (kind=kind_phys) :: filoss_table ! fraction of flood irrigation loss (0-1)
176 real (kind=kind_phys) :: sprir_rate_table ! mm/h, sprinkler irrigation rate
177 real (kind=kind_phys) :: micir_rate_table ! mm/h, micro irrigation rate
178 real (kind=kind_phys) :: firtfac_table ! flood application rate factor
179 real (kind=kind_phys) :: ir_rain_table ! maximum precipitation to stop irrigation trigger
180
181! mptable.tbl crop parameters
182
183 integer :: default_crop_table ! Default crop index
184 integer :: pltday_table(ncrop)
185 integer :: hsday_table(ncrop)
186 real (kind=kind_phys) :: plantpop_table(ncrop)
187 real (kind=kind_phys) :: irri_table(ncrop)
188
189 real (kind=kind_phys) :: gddtbase_table(ncrop)
190 real (kind=kind_phys) :: gddtcut_table(ncrop)
191 real (kind=kind_phys) :: gdds1_table(ncrop)
192 real (kind=kind_phys) :: gdds2_table(ncrop)
193 real (kind=kind_phys) :: gdds3_table(ncrop)
194 real (kind=kind_phys) :: gdds4_table(ncrop)
195 real (kind=kind_phys) :: gdds5_table(ncrop)
196
197 real (kind=kind_phys) :: c3psni_table(ncrop) !photosynthetic pathway: 0. = c4, 1. = c3 ! Zhe Zhang 2020-07-03
198 real (kind=kind_phys) :: kc25i_table(ncrop) !co2 michaelis-menten constant at 25c (pa)
199 real (kind=kind_phys) :: akci_table(ncrop) !q10 for kc25
200 real (kind=kind_phys) :: ko25i_table(ncrop) !o2 michaelis-menten constant at 25c (pa)
201 real (kind=kind_phys) :: akoi_table(ncrop) !q10 for ko25
202 real (kind=kind_phys) :: vcmx25i_table(ncrop) !maximum rate of carboxylation at 25c (umol co2/m**2/s)
203 real (kind=kind_phys) :: avcmxi_table(ncrop) !q10 for vcmx25
204 real (kind=kind_phys) :: bpi_table(ncrop) !minimum leaf conductance (umol/m**2/s)
205 real (kind=kind_phys) :: mpi_table(ncrop) !slope of conductance-to-photosynthesis relationship
206 real (kind=kind_phys) :: qe25i_table(ncrop) !quantum efficiency at 25c (umol co2 / umol photon)
207 real (kind=kind_phys) :: folnmxi_table(ncrop) !foliage nitrogen concentration when
208
209 integer :: c3c4_table(ncrop)
210 real (kind=kind_phys) :: aref_table(ncrop)
211 real (kind=kind_phys) :: psnrf_table(ncrop)
212 real (kind=kind_phys) :: i2par_table(ncrop)
213 real (kind=kind_phys) :: tassim0_table(ncrop)
214 real (kind=kind_phys) :: tassim1_table(ncrop)
215 real (kind=kind_phys) :: tassim2_table(ncrop)
216 real (kind=kind_phys) :: k_table(ncrop)
217 real (kind=kind_phys) :: epsi_table(ncrop)
218
219 real (kind=kind_phys) :: q10mr_table(ncrop)
220 real (kind=kind_phys) :: foln_mx_table(ncrop)
221 real (kind=kind_phys) :: lefreez_table(ncrop)
222
223 real (kind=kind_phys) :: dile_fc_table(ncrop,nstage)
224 real (kind=kind_phys) :: dile_fw_table(ncrop,nstage)
225 real (kind=kind_phys) :: fra_gr_table(ncrop)
226
227 real (kind=kind_phys) :: lf_ovrc_table(ncrop,nstage)
228 real (kind=kind_phys) :: st_ovrc_table(ncrop,nstage)
229 real (kind=kind_phys) :: rt_ovrc_table(ncrop,nstage)
230 real (kind=kind_phys) :: lfmr25_table(ncrop)
231 real (kind=kind_phys) :: stmr25_table(ncrop)
232 real (kind=kind_phys) :: rtmr25_table(ncrop)
233 real (kind=kind_phys) :: grainmr25_table(ncrop)
234
235 real (kind=kind_phys) :: lfpt_table(ncrop,nstage)
236 real (kind=kind_phys) :: stpt_table(ncrop,nstage)
237 real (kind=kind_phys) :: rtpt_table(ncrop,nstage)
238 real (kind=kind_phys) :: grainpt_table(ncrop,nstage)
239 real (kind=kind_phys) :: lfct_table(ncrop,nstage) ! fraction of carbohydrate translocation from leaf to grain ! Zhe Zhang 2020-07-13
240 real (kind=kind_phys) :: stct_table(ncrop,nstage) ! stem to grain
241 real (kind=kind_phys) :: rtct_table(ncrop,nstage) ! root to grain
242 real (kind=kind_phys) :: bio2lai_table(ncrop)
243
244! tile drainage parameters
245 real (kind=kind_phys) :: tdsmc_fac_table(max_soiltyp)
246 real (kind=kind_phys) :: td_dc_table(max_soiltyp)
247 integer :: td_depth_table(max_soiltyp)
248 integer :: drain_layer_opt_table
249 real (kind=kind_phys) :: td_dcoef_table(max_soiltyp)
250 real (kind=kind_phys) :: td_d_table(max_soiltyp)
251 real (kind=kind_phys) :: td_adepth_table(max_soiltyp)
252 real (kind=kind_phys) :: td_radi_table(max_soiltyp)
253 real (kind=kind_phys) :: td_spac_table(max_soiltyp)
254 real (kind=kind_phys) :: td_ddrain_table(max_soiltyp)
255 real (kind=kind_phys) :: klat_fac_table(max_soiltyp)
256
257! mptable.tbl optional parameters
258
259 !------------------------------------------------------------------------------
260 ! Saxton and Rawls 2006 Pedo-transfer function coefficients
261 !------------------------------------------------------------------------------
262
263 real (kind=kind_phys) :: sr2006_theta_1500t_a
264 real (kind=kind_phys) :: sr2006_theta_1500t_b
265 real (kind=kind_phys) :: sr2006_theta_1500t_c
266 real (kind=kind_phys) :: sr2006_theta_1500t_d
267 real (kind=kind_phys) :: sr2006_theta_1500t_e
268 real (kind=kind_phys) :: sr2006_theta_1500t_f
269 real (kind=kind_phys) :: sr2006_theta_1500t_g
270
271 real (kind=kind_phys) :: sr2006_theta_1500_a
272 real (kind=kind_phys) :: sr2006_theta_1500_b
273
274 real (kind=kind_phys) :: sr2006_theta_33t_a
275 real (kind=kind_phys) :: sr2006_theta_33t_b
276 real (kind=kind_phys) :: sr2006_theta_33t_c
277 real (kind=kind_phys) :: sr2006_theta_33t_d
278 real (kind=kind_phys) :: sr2006_theta_33t_e
279 real (kind=kind_phys) :: sr2006_theta_33t_f
280 real (kind=kind_phys) :: sr2006_theta_33t_g
281
282 real (kind=kind_phys) :: sr2006_theta_33_a
283 real (kind=kind_phys) :: sr2006_theta_33_b
284 real (kind=kind_phys) :: sr2006_theta_33_c
285
286 real (kind=kind_phys) :: sr2006_theta_s33t_a
287 real (kind=kind_phys) :: sr2006_theta_s33t_b
288 real (kind=kind_phys) :: sr2006_theta_s33t_c
289 real (kind=kind_phys) :: sr2006_theta_s33t_d
290 real (kind=kind_phys) :: sr2006_theta_s33t_e
291 real (kind=kind_phys) :: sr2006_theta_s33t_f
292 real (kind=kind_phys) :: sr2006_theta_s33t_g
293
294 real (kind=kind_phys) :: sr2006_theta_s33_a
295 real (kind=kind_phys) :: sr2006_theta_s33_b
296
297 real (kind=kind_phys) :: sr2006_psi_et_a
298 real (kind=kind_phys) :: sr2006_psi_et_b
299 real (kind=kind_phys) :: sr2006_psi_et_c
300 real (kind=kind_phys) :: sr2006_psi_et_d
301 real (kind=kind_phys) :: sr2006_psi_et_e
302 real (kind=kind_phys) :: sr2006_psi_et_f
303 real (kind=kind_phys) :: sr2006_psi_et_g
304
305 real (kind=kind_phys) :: sr2006_psi_e_a
306 real (kind=kind_phys) :: sr2006_psi_e_b
307 real (kind=kind_phys) :: sr2006_psi_e_c
308
309 real (kind=kind_phys) :: sr2006_smcmax_a
310 real (kind=kind_phys) :: sr2006_smcmax_b
311
312contains
313
314 subroutine read_mp_table_parameters(errmsg, errflg)
315 implicit none
316
317 character(len=*), intent(out) :: errmsg
318 integer, intent(out) :: errflg
319
320 ! vegetation parameters
321 character(len=256) :: dataset_identifier
322 character(len=256) :: veg_dataset_description
323 logical :: file_named
324 integer :: ierr, ik, im
325 integer :: nveg, isurban, iswater, isbarren, isice, iscrop, eblforest, natural
326 integer :: lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11
327 real (kind=kind_phys), dimension(mvt) :: sai_jan, sai_feb, sai_mar, sai_apr, sai_may, sai_jun, sai_jul, sai_aug, &
328 sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, lai_feb, lai_mar, lai_apr, &
329 lai_may, lai_jun, lai_jul, lai_aug, lai_sep, lai_oct, lai_nov, lai_dec, &
330 rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, taul_nir, taus_vis, taus_nir,&
331 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
332 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
333 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
334 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
335 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
336 xsamin, eps1, eps2, eps3, eps4, eps5
337 namelist / noahmp_usgs_veg_categories / veg_dataset_description, nveg
338 namelist / noahmp_usgs_parameters / isurban, iswater, isbarren, isice, iscrop, eblforest, natural, &
339 lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11, &
340 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
341 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
342 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
343 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
344 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
345 xsamin, sai_jan, sai_feb, sai_mar, sai_apr, sai_may, &
346 sai_jun, sai_jul, sai_aug, sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, &
347 lai_feb, lai_mar, lai_apr, lai_may, lai_jun, lai_jul, lai_aug, lai_sep, &
348 lai_oct, lai_nov, lai_dec, rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, &
349 taul_nir, taus_vis, taus_nir, eps1, eps2, eps3, eps4, eps5
350 namelist / noahmp_modis_veg_categories / veg_dataset_description, nveg
351 namelist / noahmp_modis_parameters / isurban, iswater, isbarren, isice, iscrop, eblforest, natural, &
352 lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11, &
353 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
354 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
355 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
356 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
357 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
358 xsamin, sai_jan, sai_feb, sai_mar, sai_apr, sai_may, &
359 sai_jun, sai_jul, sai_aug, sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, &
360 lai_feb, lai_mar, lai_apr, lai_may, lai_jun, lai_jul, lai_aug, lai_sep, &
361 lai_oct, lai_nov, lai_dec, rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, &
362 taul_nir, taus_vis, taus_nir, eps1, eps2, eps3, eps4, eps5
363 ! soil parameters
364 character(len=256) :: message
365 character(len=10) :: sltype
366 integer :: slcats
367 real (kind=kind_phys), dimension(max_soiltyp) :: bb, drysmc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
368 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic, hc
369 namelist / noahmp_stas_soil_categories / sltype, slcats
370 namelist / noahmp_soil_stas_parameters / bb, drysmc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
371 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic
372 namelist / noahmp_soil_stas_ruc_parameters / bb, drysmc, hc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
373 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic
374
375 ! general parameters
376 real (kind=kind_phys) :: csoil_data, refdk_data, refkdt_data, frzk_data, zbot_data, czil_data
377 real (kind=kind_phys), dimension(num_slope) :: slope_data
378 namelist / noahmp_general_parameters / slope_data, csoil_data, refdk_data, refkdt_data, frzk_data, zbot_data, &
379 czil_data
380
381 ! radiation parameters
382 real (kind=kind_phys) :: betads, betais, eice
383 real (kind=kind_phys), dimension(mband) :: albice, alblak, omegas
384 real (kind=kind_phys), dimension(2) :: eg
385 real (kind=kind_phys), dimension(msc) :: albsat_vis, albsat_nir, albdry_vis, albdry_nir
386 namelist / noahmp_rad_parameters / albsat_vis, albsat_nir, albdry_vis, albdry_nir, albice, alblak, omegas, &
387 betads, betais, eg, eice
388
389 ! global parameters
390 real (kind=kind_phys) :: co2, o2, timean, fsatmx, z0sno, ssi, snow_ret_fac ,snow_emis, swemx, tau0, &
391 grain_growth, extra_growth, dirt_soot, bats_cosz, bats_vis_new, &
392 bats_nir_new, bats_vis_age, bats_nir_age, bats_vis_dir, bats_nir_dir, &
393 rsurf_snow, rsurf_exp, c2_snowcompact, c3_snowcompact, c4_snowcompact, &
394 c5_snowcompact, dm_snowcompact, eta0_snowcompact, snliqmaxfrac, swemaxgla, &
395 wslmax, rous, cmic, snowden_max, class_alb_ref, class_sno_age, class_alb_new,&
396 psiwlt, z0soil, z0lake
397 namelist / noahmp_global_parameters / co2, o2, timean, fsatmx, z0sno, ssi, snow_ret_fac ,snow_emis, swemx, tau0, &
398 grain_growth, extra_growth, dirt_soot, bats_cosz, bats_vis_new, &
399 bats_nir_new, bats_vis_age, bats_nir_age, bats_vis_dir, bats_nir_dir, &
400 rsurf_snow, rsurf_exp, c2_snowcompact, c3_snowcompact, c4_snowcompact, &
401 c5_snowcompact, dm_snowcompact, eta0_snowcompact, snliqmaxfrac, swemaxgla, &
402 wslmax, rous, cmic, snowden_max, class_alb_ref, class_sno_age, class_alb_new,&
403 psiwlt, z0soil, z0lake
404
405 ! irrigation parameters
406 integer :: irr_har
407 real (kind=kind_phys) :: irr_frac, irr_lai, irr_mad, filoss, sprir_rate, micir_rate, firtfac, ir_rain
408 namelist / noahmp_irrigation_parameters / irr_frac, irr_har, irr_lai, irr_mad, filoss, sprir_rate, micir_rate, firtfac,&
409 ir_rain
410
411 ! crop parameters
412 integer :: default_crop
413 integer , dimension(ncrop) :: pltday, hsday
414 real (kind=kind_phys), dimension(ncrop) :: plantpop, irri, gddtbase, gddtcut, gdds1, gdds2, gdds3, gdds4, gdds5, c3psni,&
415 kc25i, akci, ko25i, akoi, avcmxi, vcmx25i, bpi, mpi, folnmxi, qe25i, aref, &
416 psnrf, i2par, tassim0, tassim1, tassim2, k, epsi, q10mr, lefreez, &
417 dile_fc_s1, dile_fc_s2, dile_fc_s3, dile_fc_s4, dile_fc_s5, dile_fc_s6, &
418 dile_fc_s7, dile_fc_s8, dile_fw_s1, dile_fw_s2, dile_fw_s3, dile_fw_s4, &
419 dile_fw_s5, dile_fw_s6, dile_fw_s7, dile_fw_s8, fra_gr, lf_ovrc_s1, &
420 lf_ovrc_s2, lf_ovrc_s3, lf_ovrc_s4, lf_ovrc_s5, lf_ovrc_s6, lf_ovrc_s7, &
421 lf_ovrc_s8, st_ovrc_s1, st_ovrc_s2, st_ovrc_s3, st_ovrc_s4, st_ovrc_s5, &
422 st_ovrc_s6, st_ovrc_s7, st_ovrc_s8, rt_ovrc_s1, rt_ovrc_s2, rt_ovrc_s3, &
423 rt_ovrc_s4, rt_ovrc_s5, rt_ovrc_s6, rt_ovrc_s7, rt_ovrc_s8, lfmr25, stmr25, &
424 rtmr25, grainmr25, lfpt_s1, lfpt_s2, lfpt_s3, lfpt_s4, lfpt_s5, lfpt_s6, &
425 lfpt_s7, lfpt_s8, stpt_s1, stpt_s2, stpt_s3, stpt_s4, stpt_s5, stpt_s6, &
426 stpt_s7, stpt_s8, rtpt_s1, rtpt_s2, rtpt_s3, rtpt_s4, rtpt_s5, rtpt_s6, &
427 rtpt_s7, rtpt_s8, grainpt_s1, grainpt_s2, grainpt_s3, grainpt_s4, grainpt_s5,&
428 grainpt_s6, grainpt_s7, grainpt_s8, lfct_s1, lfct_s2, lfct_s3, lfct_s4, &
429 lfct_s5, lfct_s6, lfct_s7, lfct_s8, stct_s1, stct_s2, stct_s3, stct_s4, &
430 stct_s5, stct_s6, stct_s7, stct_s8, rtct_s1, rtct_s2, rtct_s3, rtct_s4, &
431 rtct_s5, rtct_s6, rtct_s7, rtct_s8, bio2lai
432 namelist / noahmp_crop_parameters / default_crop, pltday, hsday, plantpop, irri, gddtbase, gddtcut, gdds1, gdds2,&
433 gdds3, gdds4, gdds5, c3psni, kc25i, akci, ko25i, akoi, avcmxi, vcmx25i, bpi, &
434 mpi, folnmxi, qe25i, aref, psnrf, i2par, tassim0, tassim1, tassim2, k, &
435 epsi,q10mr, lefreez, dile_fc_s1, dile_fc_s2, dile_fc_s3, dile_fc_s4, &
436 dile_fc_s5, dile_fc_s6, dile_fc_s7, dile_fc_s8, dile_fw_s1, dile_fw_s2, &
437 dile_fw_s3, dile_fw_s4, dile_fw_s5, dile_fw_s6, dile_fw_s7, dile_fw_s8, &
438 fra_gr, lf_ovrc_s1, lf_ovrc_s2, lf_ovrc_s3, lf_ovrc_s4, lf_ovrc_s5, &
439 lf_ovrc_s6, lf_ovrc_s7, lf_ovrc_s8, st_ovrc_s1, st_ovrc_s2, st_ovrc_s3, &
440 st_ovrc_s4, st_ovrc_s5, st_ovrc_s6, st_ovrc_s7, st_ovrc_s8, rt_ovrc_s1, &
441 rt_ovrc_s2, rt_ovrc_s3, rt_ovrc_s4, rt_ovrc_s5, rt_ovrc_s6, rt_ovrc_s7, &
442 rt_ovrc_s8, lfmr25, stmr25, rtmr25, grainmr25, lfpt_s1, lfpt_s2, lfpt_s3, &
443 lfpt_s4, lfpt_s5, lfpt_s6, lfpt_s7, lfpt_s8, stpt_s1, stpt_s2, stpt_s3, &
444 stpt_s4, stpt_s5, stpt_s6, stpt_s7, stpt_s8, rtpt_s1, rtpt_s2, rtpt_s3, &
445 rtpt_s4, rtpt_s5, rtpt_s6, rtpt_s7, rtpt_s8, grainpt_s1, grainpt_s2, &
446 grainpt_s3, grainpt_s4, grainpt_s5, grainpt_s6, grainpt_s7, grainpt_s8, &
447 lfct_s1, lfct_s2, lfct_s3, lfct_s4, lfct_s5, lfct_s6, lfct_s7, lfct_s8, &
448 stct_s1, stct_s2, stct_s3, stct_s4, stct_s5, stct_s6, stct_s7, stct_s8, &
449 rtct_s1, rtct_s2, rtct_s3, rtct_s4, rtct_s5, rtct_s6, rtct_s7, rtct_s8, &
450 bio2lai
451
452 ! tile drainage parameters
453 integer :: nsoiltype, drain_layer_opt
454 integer , dimension(max_soiltyp) :: td_depth
455 real (kind=kind_phys), dimension(max_soiltyp) :: tdsmc_fac, td_dc, td_dcoef, td_d, td_adepth, td_radi, td_spac, &
456 td_ddrain, klat_fac
457 namelist / noahmp_tiledrain_parameters / nsoiltype, drain_layer_opt, tdsmc_fac, td_depth, td_dc, td_dcoef, td_d,&
458 td_adepth, td_radi, td_spac, td_ddrain, klat_fac
459
460 ! optional parameters
461 real (kind=kind_phys) :: sr2006_theta_1500t_a, sr2006_theta_1500t_b, sr2006_theta_1500t_c, &
462 sr2006_theta_1500t_d, sr2006_theta_1500t_e, sr2006_theta_1500t_f, &
463 sr2006_theta_1500t_g, sr2006_theta_1500_a , sr2006_theta_1500_b, &
464 sr2006_theta_33t_a, sr2006_theta_33t_b, sr2006_theta_33t_c, &
465 sr2006_theta_33t_d, sr2006_theta_33t_e, sr2006_theta_33t_f, &
466 sr2006_theta_33t_g, sr2006_theta_33_a, sr2006_theta_33_b, &
467 sr2006_theta_33_c, sr2006_theta_s33t_a, sr2006_theta_s33t_b, &
468 sr2006_theta_s33t_c, sr2006_theta_s33t_d, sr2006_theta_s33t_e, &
469 sr2006_theta_s33t_f, sr2006_theta_s33t_g, sr2006_theta_s33_a, &
470 sr2006_theta_s33_b, sr2006_psi_et_a, sr2006_psi_et_b, sr2006_psi_et_c, &
471 sr2006_psi_et_d, sr2006_psi_et_e, sr2006_psi_et_f, sr2006_psi_et_g, &
472 sr2006_psi_e_a, sr2006_psi_e_b, sr2006_psi_e_c, sr2006_smcmax_a, &
473 sr2006_smcmax_b
474 namelist / noahmp_optional_parameters / sr2006_theta_1500t_a, sr2006_theta_1500t_b, sr2006_theta_1500t_c, &
475 sr2006_theta_1500t_d, sr2006_theta_1500t_e, sr2006_theta_1500t_f, &
476 sr2006_theta_1500t_g, sr2006_theta_1500_a, sr2006_theta_1500_b, &
477 sr2006_theta_33t_a, sr2006_theta_33t_b, sr2006_theta_33t_c, &
478 sr2006_theta_33t_d, sr2006_theta_33t_e, sr2006_theta_33t_f, &
479 sr2006_theta_33t_g, sr2006_theta_33_a, sr2006_theta_33_b, &
480 sr2006_theta_33_c, sr2006_theta_s33t_a, sr2006_theta_s33t_b, &
481 sr2006_theta_s33t_c, sr2006_theta_s33t_d, sr2006_theta_s33t_e, &
482 sr2006_theta_s33t_f, sr2006_theta_s33t_g, sr2006_theta_s33_a, &
483 sr2006_theta_s33_b, sr2006_psi_et_a, sr2006_psi_et_b, sr2006_psi_et_c, &
484 sr2006_psi_et_d, sr2006_psi_et_e, sr2006_psi_et_f, sr2006_psi_et_g, &
485 sr2006_psi_e_a, sr2006_psi_e_b, sr2006_psi_e_c, sr2006_smcmax_a, &
486 sr2006_smcmax_b
487
488 errmsg = ''
489 errflg = 0
490
491 ! initialize our variables to bad values, so that if the namelist read fails, we come to a screeching halt as soon as we try to use anything.
492 ! vegetation parameters
493 isurban_table = -99999
494 iswater_table = -99999
495 isbarren_table = -99999
496 isice_table = -99999
497 iscrop_table = -99999
498 eblforest_table = -99999
499 natural_table = -99999
500 lcz_1_table = -99999
501 lcz_2_table = -99999
502 lcz_3_table = -99999
503 lcz_4_table = -99999
504 lcz_5_table = -99999
505 lcz_6_table = -99999
506 lcz_7_table = -99999
507 lcz_8_table = -99999
508 lcz_9_table = -99999
509 lcz_10_table = -99999
510 lcz_11_table = -99999
511 ch2op_table = -1.0e36
512 dleaf_table = -1.0e36
513 z0mvt_table = -1.0e36
514 hvt_table = -1.0e36
515 hvb_table = -1.0e36
516 z0mhvt_table = -1.0e36
517 den_table = -1.0e36
518 rc_table = -1.0e36
519 mfsno_table = -1.0e36
520 scffac_table = -1.0e36
521 cbiom_table = -1.0e36
522 rhol_table = -1.0e36
523 rhos_table = -1.0e36
524 taul_table = -1.0e36
525 taus_table = -1.0e36
526 xl_table = -1.0e36
527 cwpvt_table = -1.0e36
528 c3psn_table = -1.0e36
529 kc25_table = -1.0e36
530 akc_table = -1.0e36
531 ko25_table = -1.0e36
532 ako_table = -1.0e36
533 avcmx_table = -1.0e36
534 aqe_table = -1.0e36
535 ltovrc_table = -1.0e36
536 dilefc_table = -1.0e36
537 dilefw_table = -1.0e36
538 rmf25_table = -1.0e36
539 sla_table = -1.0e36
540 fragr_table = -1.0e36
541 tmin_table = -1.0e36
542 vcmx25_table = -1.0e36
543 tdlef_table = -1.0e36
544 bp_table = -1.0e36
545 mp_table = -1.0e36
546 qe25_table = -1.0e36
547 rms25_table = -1.0e36
548 rmr25_table = -1.0e36
549 arm_table = -1.0e36
550 folnmx_table = -1.0e36
551 wdpool_table = -1.0e36
552 wrrat_table = -1.0e36
553 mrp_table = -1.0e36
554 saim_table = -1.0e36
555 laim_table = -1.0e36
556 nroot_table = -1.0e36
557 rgl_table = -1.0e36
558 rs_table = -1.0e36
559 hs_table = -1.0e36
560 topt_table = -1.0e36
561 rsmax_table = -1.0e36
562 ! not used in the current ufs version
563! rtovrc_table = -1.0e36
564! rswoodc_table = -1.0e36
565! bf_table = -1.0e36
566! wstrc_table = -1.0e36
567! laimin_table = -1.0e36
568! xsamin_table = -1.0e36
569
570 ! soil parameters
571
572 bexp_table = -1.0e36
573 smcdry_table = -1.0e36
574 f1_table = -1.0e36
575 smcmax_table = -1.0e36
576 smcref_table = -1.0e36
577 psisat_table = -1.0e36
578 dksat_table = -1.0e36
579 dwsat_table = -1.0e36
580 smcwlt_table = -1.0e36
581 quartz_table = -1.0e36
582 bvic_table = -1.0e36
583 axaj_table = -1.0e36
584 bxaj_table = -1.0e36
585 xxaj_table = -1.0e36
586 bdvic_table = -1.0e36
587 gdvic_table = -1.0e36
588 bbvic_table = -1.0e36
589
590 ! general parameters
591 slope_table = -1.0e36
592 csoil_table = -1.0e36
593 refdk_table = -1.0e36
594 refkdt_table = -1.0e36
595 frzk_table = -1.0e36
596 zbot_table = -1.0e36
597 czil_table = -1.0e36
598
599 ! radiation parameters
600 albsat_table = -1.0e36
601 albdry_table = -1.0e36
602 albice_table = -1.0e36
603 alblak_table = -1.0e36
604 omegas_table = -1.0e36
605 betads_table = -1.0e36
606 betais_table = -1.0e36
607 eg_table = -1.0e36
608! eice_table = -1.0e36
609
610 ! global parameters
611 co2_table = -1.0e36
612 o2_table = -1.0e36
613 timean_table = -1.0e36
614 fsatmx_table = -1.0e36
615 z0sno_table = -1.0e36
616 ssi_table = -1.0e36
617snow_ret_fac_table = -1.0e36
618 snow_emis_table = -1.0e36
619 swemx_table = -1.0e36
620 tau0_table = -1.0e36
621grain_growth_table = -1.0e36
622extra_growth_table = -1.0e36
623 dirt_soot_table = -1.0e36
624 bats_cosz_table = -1.0e36
625bats_vis_new_table = -1.0e36
626bats_nir_new_table = -1.0e36
627bats_vis_age_table = -1.0e36
628bats_nir_age_table = -1.0e36
629bats_vis_dir_table = -1.0e36
630bats_nir_dir_table = -1.0e36
631rsurf_snow_table = -1.0e36
632 rsurf_exp_table = -1.0e36
633
634! c2_snowcompact_table = -1.0e36
635! c3_snowcompact_table = -1.0e36
636! c4_snowcompact_table = -1.0e36
637! c5_snowcompact_table = -1.0e36
638! dm_snowcompact_table = -1.0e36
639! eta0_snowcompact_table = -1.0e36
640! snliqmaxfrac_table = -1.0e36
641! swemaxgla_table = -1.0e36
642! wslmax_table = -1.0e36
643! rous_table = -1.0e36
644! cmic_table = -1.0e36
645! snowden_max_table = -1.0e36
646! class_alb_ref_table = -1.0e36
647! class_sno_age_table = -1.0e36
648! class_alb_new_table = -1.0e36
649! psiwlt_table = -1.0e36
650! z0soil_table = -1.0e36
651! z0lake_table = -1.0e36
652
653 ! irrigation parameters
654 irr_har_table = -99999 ! number of days before harvest date to stop irrigation
655 irr_frac_table = -1.0e36 ! irrigation fraction
656 irr_lai_table = -1.0e36 ! minimum lai to trigger irrigation
657 irr_mad_table = -1.0e36 ! management allowable deficit (0-1)
658 filoss_table = -1.0e36 ! fraction of flood irrigation loss (0-1)
659 sprir_rate_table = -1.0e36 ! mm/h, sprinkler irrigation rate
660 micir_rate_table = -1.0e36 ! mm/h, micro irrigation rate
661 firtfac_table = -1.0e36 ! flood application rate factor
662 ir_rain_table = -1.0e36 ! maximum precipitation to stop irrigation trigger
663
664 ! crop parameters
665 default_crop_table = -99999
666 pltday_table = -99999
667 hsday_table = -99999
668 plantpop_table = -1.0e36
669 irri_table = -1.0e36
670 gddtbase_table = -1.0e36
671 gddtcut_table = -1.0e36
672 gdds1_table = -1.0e36
673 gdds2_table = -1.0e36
674 gdds3_table = -1.0e36
675 gdds4_table = -1.0e36
676 gdds5_table = -1.0e36
677 c3psni_table = -1.0e36 ! parameter from psn copied from stomata ! zhe zhang 2020-07-13
678 kc25i_table = -1.0e36
679 akci_table = -1.0e36
680 ko25i_table = -1.0e36
681 akoi_table = -1.0e36
682 avcmxi_table = -1.0e36
683 vcmx25i_table = -1.0e36
684 bpi_table = -1.0e36
685 mpi_table = -1.0e36
686 folnmxi_table = -1.0e36
687 qe25i_table = -1.0e36 ! ends here
688!??? c3c4_table = -99999
689 aref_table = -1.0e36
690 psnrf_table = -1.0e36
691 i2par_table = -1.0e36
692 tassim0_table = -1.0e36
693 tassim1_table = -1.0e36
694 tassim2_table = -1.0e36
695 k_table = -1.0e36
696 epsi_table = -1.0e36
697 q10mr_table = -1.0e36
698 foln_mx_table = -1.0e36
699 lefreez_table = -1.0e36
700 dile_fc_table = -1.0e36
701 dile_fw_table = -1.0e36
702 fra_gr_table = -1.0e36
703 lf_ovrc_table = -1.0e36
704 st_ovrc_table = -1.0e36
705 rt_ovrc_table = -1.0e36
706 lfmr25_table = -1.0e36
707 stmr25_table = -1.0e36
708 rtmr25_table = -1.0e36
709 grainmr25_table = -1.0e36
710 lfpt_table = -1.0e36
711 stpt_table = -1.0e36
712 rtpt_table = -1.0e36
713 grainpt_table = -1.0e36
714 lfct_table = -1.0e36 ! convert start
715 stct_table = -1.0e36
716 rtct_table = -1.0e36 ! convert end
717 bio2lai_table = -1.0e36
718
719 ! tile drainage parameters
720
721 drain_layer_opt_table = -99999
722 td_depth_table = -99999
723 tdsmc_fac_table = -1.0e36
724 td_dc_table = -1.0e36
725 td_dcoef_table = -1.0e36
726 td_d_table = -1.0e36
727 td_adepth_table = -1.0e36
728 td_radi_table = -1.0e36
729 td_spac_table = -1.0e36
730 td_ddrain_table = -1.0e36
731 klat_fac_table = -1.0e36
732
733 ! optional parameters
734! sr2006_theta_1500t_a_table = -1.0e36
735! sr2006_theta_1500t_b_table = -1.0e36
736! sr2006_theta_1500t_c_table = -1.0e36
737! sr2006_theta_1500t_d_table = -1.0e36
738! sr2006_theta_1500t_e_table = -1.0e36
739! sr2006_theta_1500t_f_table = -1.0e36
740! sr2006_theta_1500t_g_table = -1.0e36
741! sr2006_theta_1500_a_table = -1.0e36
742! sr2006_theta_1500_b_table = -1.0e36
743! sr2006_theta_33t_a_table = -1.0e36
744! sr2006_theta_33t_b_table = -1.0e36
745! sr2006_theta_33t_c_table = -1.0e36
746! sr2006_theta_33t_d_table = -1.0e36
747! sr2006_theta_33t_e_table = -1.0e36
748! sr2006_theta_33t_f_table = -1.0e36
749! sr2006_theta_33t_g_table = -1.0e36
750! sr2006_theta_33_a_table = -1.0e36
751! sr2006_theta_33_b_table = -1.0e36
752! sr2006_theta_33_c_table = -1.0e36
753! sr2006_theta_s33t_a_table = -1.0e36
754! sr2006_theta_s33t_b_table = -1.0e36
755! sr2006_theta_s33t_c_table = -1.0e36
756! sr2006_theta_s33t_d_table = -1.0e36
757! sr2006_theta_s33t_e_table = -1.0e36
758! sr2006_theta_s33t_f_table = -1.0e36
759! sr2006_theta_s33t_g_table = -1.0e36
760! sr2006_theta_s33_a_table = -1.0e36
761! sr2006_theta_s33_b_table = -1.0e36
762! sr2006_psi_et_a_table = -1.0e36
763! sr2006_psi_et_b_table = -1.0e36
764! sr2006_psi_et_c_table = -1.0e36
765! sr2006_psi_et_d_table = -1.0e36
766! sr2006_psi_et_e_table = -1.0e36
767! sr2006_psi_et_f_table = -1.0e36
768! sr2006_psi_et_g_table = -1.0e36
769! sr2006_psi_e_a_table = -1.0e36
770! sr2006_psi_e_b_table = -1.0e36
771! sr2006_psi_e_c_table = -1.0e36
772! sr2006_smcmax_a_table = -1.0e36
773! sr2006_smcmax_b_table = -1.0e36
774
775 !---------------------------------------------------------------
776 ! transfer values from table to input variables
777 !---------------------------------------------------------------
778
779 !---------------- noahmptable.tbl vegetation parameters
780
781 dataset_identifier = "modified_igbp_modis_noah"
782
783 inquire( file='noahmptable.tbl', exist=file_named )
784 if ( file_named ) then
785 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
786 else
787 open(15, status='old', form='formatted', action='read', iostat=ierr)
788 end if
789 if ( ierr /= 0 ) then
790 errmsg = 'warning: cannot find file noahmptable.tbl'
791 errflg = 1
792 return
793! write(*,'("warning: cannot find file noahmptable.tbl")')
794 endif
795
796 if ( trim(dataset_identifier) == "usgs" ) then
797 read(15, noahmp_usgs_veg_categories)
798 read(15, noahmp_usgs_parameters)
799 elseif ( trim(dataset_identifier) == "modified_igbp_modis_noah" ) then
800 read(15,noahmp_modis_veg_categories)
801 read(15,noahmp_modis_parameters)
802 else
803 write(*,'("warning: unrecognized dataset_identifier in subroutine readnoahmptable")')
804 write(*,'("warning: dataset_identifier = ''", a, "''")') trim(dataset_identifier)
805 endif
806 close(15)
807
808
809 ! assign values
810 isurban_table = isurban
811 iswater_table = iswater
812 isbarren_table = isbarren
813 isice_table = isice
814 iscrop_table = iscrop
815 eblforest_table = eblforest
816 natural_table = natural
817 lcz_1_table = lcz_1
818 lcz_2_table = lcz_2
819 lcz_3_table = lcz_3
820 lcz_4_table = lcz_4
821 lcz_5_table = lcz_5
822 lcz_6_table = lcz_6
823 lcz_7_table = lcz_7
824 lcz_8_table = lcz_8
825 lcz_9_table = lcz_9
826 lcz_10_table = lcz_10
827 lcz_11_table = lcz_11
828 ch2op_table(1:nveg) = ch2op(1:nveg)
829 dleaf_table(1:nveg) = dleaf(1:nveg)
830 z0mvt_table(1:nveg) = z0mvt(1:nveg)
831 hvt_table(1:nveg) = hvt(1:nveg)
832 hvb_table(1:nveg) = hvb(1:nveg)
833 z0mhvt_table(1:nveg) = z0mhvt(1:nveg)
834 den_table(1:nveg) = den(1:nveg)
835 rc_table(1:nveg) = rc(1:nveg)
836 mfsno_table(1:nveg) = mfsno(1:nveg)
837 scffac_table(1:nveg) = scffac(1:nveg)
838 cbiom_table(1:nveg) = cbiom(1:nveg)
839 xl_table(1:nveg) = xl(1:nveg)
840 cwpvt_table(1:nveg) = cwpvt(1:nveg)
841 c3psn_table(1:nveg) = c3psn(1:nveg)
842 kc25_table(1:nveg) = kc25(1:nveg)
843 akc_table(1:nveg) = akc(1:nveg)
844 ko25_table(1:nveg) = ko25(1:nveg)
845 ako_table(1:nveg) = ako(1:nveg)
846 avcmx_table(1:nveg) = avcmx(1:nveg)
847 aqe_table(1:nveg) = aqe(1:nveg)
848 ltovrc_table(1:nveg) = ltovrc(1:nveg)
849 dilefc_table(1:nveg) = dilefc(1:nveg)
850 dilefw_table(1:nveg) = dilefw(1:nveg)
851 rmf25_table(1:nveg) = rmf25(1:nveg)
852 sla_table(1:nveg) = sla(1:nveg)
853 fragr_table(1:nveg) = fragr(1:nveg)
854 tmin_table(1:nveg) = tmin(1:nveg)
855 vcmx25_table(1:nveg) = vcmx25(1:nveg)
856 tdlef_table(1:nveg) = tdlef(1:nveg)
857 bp_table(1:nveg) = bp(1:nveg)
858 mp_table(1:nveg) = mp(1:nveg)
859 qe25_table(1:nveg) = qe25(1:nveg)
860 rms25_table(1:nveg) = rms25(1:nveg)
861 rmr25_table(1:nveg) = rmr25(1:nveg)
862 arm_table(1:nveg) = arm(1:nveg)
863 folnmx_table(1:nveg) = folnmx(1:nveg)
864 wdpool_table(1:nveg) = wdpool(1:nveg)
865 wrrat_table(1:nveg) = wrrat(1:nveg)
866 mrp_table(1:nveg) = mrp(1:nveg)
867 nroot_table(1:nveg) = nroot(1:nveg)
868 rgl_table(1:nveg) = rgl(1:nveg)
869 rs_table(1:nveg) = rs(1:nveg)
870 hs_table(1:nveg) = hs(1:nveg)
871 topt_table(1:nveg) = topt(1:nveg)
872 rsmax_table(1:nveg) = rsmax(1:nveg)
873! rtovrc_table (1:nveg) = rtovrc (1:nveg)
874! rswoodc_table(1:nveg) = rswoodc(1:nveg)
875! bf_table (1:nveg) = bf (1:nveg)
876! wstrc_table (1:nveg) = wstrc (1:nveg)
877! laimin_table (1:nveg) = laimin (1:nveg)
878! xsamin_table (1:nveg) = xsamin (1:nveg)
879
880 saim_table(1:nveg, 1) = sai_jan(1:nveg)
881 saim_table(1:nveg, 2) = sai_feb(1:nveg)
882 saim_table(1:nveg, 3) = sai_mar(1:nveg)
883 saim_table(1:nveg, 4) = sai_apr(1:nveg)
884 saim_table(1:nveg, 5) = sai_may(1:nveg)
885 saim_table(1:nveg, 6) = sai_jun(1:nveg)
886 saim_table(1:nveg, 7) = sai_jul(1:nveg)
887 saim_table(1:nveg, 8) = sai_aug(1:nveg)
888 saim_table(1:nveg, 9) = sai_sep(1:nveg)
889 saim_table(1:nveg,10) = sai_oct(1:nveg)
890 saim_table(1:nveg,11) = sai_nov(1:nveg)
891 saim_table(1:nveg,12) = sai_dec(1:nveg)
892 laim_table(1:nveg, 1) = lai_jan(1:nveg)
893 laim_table(1:nveg, 2) = lai_feb(1:nveg)
894 laim_table(1:nveg, 3) = lai_mar(1:nveg)
895 laim_table(1:nveg, 4) = lai_apr(1:nveg)
896 laim_table(1:nveg, 5) = lai_may(1:nveg)
897 laim_table(1:nveg, 6) = lai_jun(1:nveg)
898 laim_table(1:nveg, 7) = lai_jul(1:nveg)
899 laim_table(1:nveg, 8) = lai_aug(1:nveg)
900 laim_table(1:nveg, 9) = lai_sep(1:nveg)
901 laim_table(1:nveg,10) = lai_oct(1:nveg)
902 laim_table(1:nveg,11) = lai_nov(1:nveg)
903 laim_table(1:nveg,12) = lai_dec(1:nveg)
904 rhol_table(1:nveg,1) = rhol_vis(1:nveg) !leaf reflectance: 1=vis, 2=nir
905 rhol_table(1:nveg,2) = rhol_nir(1:nveg) !leaf reflectance: 1=vis, 2=nir
906 rhos_table(1:nveg,1) = rhos_vis(1:nveg) !stem reflectance: 1=vis, 2=nir
907 rhos_table(1:nveg,2) = rhos_nir(1:nveg) !stem reflectance: 1=vis, 2=nir
908 taul_table(1:nveg,1) = taul_vis(1:nveg) !leaf transmittance: 1=vis, 2=nir
909 taul_table(1:nveg,2) = taul_nir(1:nveg) !leaf transmittance: 1=vis, 2=nir
910 taus_table(1:nveg,1) = taus_vis(1:nveg) !stem transmittance: 1=vis, 2=nir
911 taus_table(1:nveg,2) = taus_nir(1:nveg) !stem transmittance: 1=vis, 2=nir
912
913 !---------------- noahmptable.tbl soil parameters
914 inquire( file='noahmptable.tbl', exist=file_named )
915 if ( file_named ) then
916 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
917 else
918 open(15, status='old', form='formatted', action='read', iostat=ierr)
919 end if
920 if ( ierr /= 0 ) then
921 errmsg = 'warning: cannot find file noahmptable.tbl'
922 errflg = 1
923 return
924! write(*,'("warning: cannot find file noahmptable.tbl")')
925 endif
926 read(15, noahmp_stas_soil_categories)
927 if ( trim(sltype) == "stas" ) then
928 read(15, noahmp_soil_stas_parameters)
929 elseif ( trim(sltype) == "stas_ruc" ) then
930 read(15, noahmp_soil_stas_ruc_parameters)
931 else
932 write(*,'("warning: unrecognized soiltype in subroutine readnoahmptable")')
933 write(*,'("warning: dataset_identifier = ''", a, "''")') trim(sltype)
934 endif
935 close(15)
936
937 ! assign values
938! slcats_table = slcats
939 bexp_table(1:slcats) = bb(1:slcats)
940 smcdry_table(1:slcats) = drysmc(1:slcats)
941 smcmax_table(1:slcats) = maxsmc(1:slcats)
942 smcref_table(1:slcats) = refsmc(1:slcats)
943 psisat_table(1:slcats) = satpsi(1:slcats)
944 dksat_table(1:slcats) = satdk(1:slcats)
945 dwsat_table(1:slcats) = satdw(1:slcats)
946 smcwlt_table(1:slcats) = wltsmc(1:slcats)
947 quartz_table(1:slcats) = qtz(1:slcats)
948 bvic_table(1:slcats) = bvic(1:slcats)
949 axaj_table(1:slcats) = axaj(1:slcats)
950 bxaj_table(1:slcats) = bxaj(1:slcats)
951 xxaj_table(1:slcats) = xxaj(1:slcats)
952 bdvic_table(1:slcats) = bdvic(1:slcats)
953 gdvic_table(1:slcats) = gdvic(1:slcats)
954 bbvic_table(1:slcats) = bbvic(1:slcats)
955
956 !---------------- noahmptable.tbl general parameters
957 inquire( file='noahmptable.tbl', exist=file_named )
958 if ( file_named ) then
959 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
960 else
961 open(15, status='old', form='formatted', action='read', iostat=ierr)
962 end if
963 if ( ierr /= 0 ) then
964 errmsg = 'warning: cannot find file noahmptable.tbl'
965 errflg = 1
966 return
967! write(*,'("warning: cannot find file noahmptable.tbl")')
968 endif
969 read(15, noahmp_general_parameters)
970 close(15)
971
972 ! assign values
973 slope_table(1:num_slope) = slope_data(1:num_slope)
974 csoil_table = csoil_data
975 refdk_table = refdk_data
976 refkdt_table = refkdt_data
977 frzk_table = frzk_data
978 zbot_table = zbot_data
979 czil_table = czil_data
980
981 !---------------- noahmptable.tbl radiation parameters
982 inquire( file='noahmptable.tbl', exist=file_named )
983 if ( file_named ) then
984 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
985 else
986 open(15, status='old', form='formatted', action='read', iostat=ierr)
987 end if
988 if (ierr /= 0) then
989 errmsg = 'warning: cannot find file noahmptable.tbl'
990 errflg = 1
991 return
992! write(*,'("warning: cannot find file noahmptable.tbl")')
993 endif
994 read(15,noahmp_rad_parameters)
995 close(15)
996
997 ! assign values
998 albsat_table(:,1) = albsat_vis ! saturated soil albedos: 1=vis, 2=nir
999 albsat_table(:,2) = albsat_nir ! saturated soil albedos: 1=vis, 2=nir
1000 albdry_table(:,1) = albdry_vis ! dry soil albedos: 1=vis, 2=nir
1001 albdry_table(:,2) = albdry_nir ! dry soil albedos: 1=vis, 2=nir
1002 albice_table = albice
1003 alblak_table = alblak
1004 omegas_table = omegas
1005 betads_table = betads
1006 betais_table = betais
1007 eg_table = eg
1008! eice_table = eice
1009
1010 !---------------- noahmptable.tbl global parameters
1011 inquire( file='noahmptable.tbl', exist=file_named )
1012 if ( file_named ) then
1013 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
1014 else
1015 open(15, status='old', form='formatted', action='read', iostat=ierr)
1016 end if
1017 if (ierr /= 0) then
1018 errmsg = 'warning: cannot find file noahmptable.tbl'
1019 errflg = 1
1020 return
1021! write(*,'("warning: cannot find file noahmptable.tbl")')
1022 endif
1023 read(15,noahmp_global_parameters)
1024 close(15)
1025
1026 ! assign values
1027 co2_table = co2
1028 o2_table = o2
1029 timean_table = timean
1030 fsatmx_table = fsatmx
1031 z0sno_table = z0sno
1032 ssi_table = ssi
1033 snow_ret_fac_table = snow_ret_fac
1034 snow_emis_table = snow_emis
1035 swemx_table = swemx
1036 tau0_table = tau0
1037 grain_growth_table = grain_growth
1038 extra_growth_table = extra_growth
1039 dirt_soot_table = dirt_soot
1040 bats_cosz_table = bats_cosz
1041 bats_vis_new_table = bats_vis_new
1042 bats_nir_new_table = bats_nir_new
1043 bats_vis_age_table = bats_vis_age
1044 bats_nir_age_table = bats_nir_age
1045 bats_vis_dir_table = bats_vis_dir
1046 bats_nir_dir_table = bats_nir_dir
1047 rsurf_snow_table = rsurf_snow
1048 rsurf_exp_table = rsurf_exp
1049! c2_snowcompact_table = c2_snowcompact
1050! c3_snowcompact_table = c3_snowcompact
1051! c4_snowcompact_table = c4_snowcompact
1052! c5_snowcompact_table = c5_snowcompact
1053! dm_snowcompact_table = dm_snowcompact
1054! eta0_snowcompact_table = eta0_snowcompact
1055! snliqmaxfrac_table = snliqmaxfrac
1056! swemaxgla_table = swemaxgla
1057! wslmax_table = wslmax
1058! rous_table = rous
1059! cmic_table = cmic
1060! snowden_max_table = snowden_max
1061! class_alb_ref_table = class_alb_ref
1062! class_sno_age_table = class_sno_age
1063! class_alb_new_table = class_alb_new
1064! psiwlt_table = psiwlt
1065! z0soil_table = z0soil
1066! z0lake_table = z0lake
1067
1068 !---------------- noahmptable.tbl irrigation parameters
1069 inquire( file='noahmptable.tbl', exist=file_named )
1070 if ( file_named ) then
1071 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
1072 else
1073 open(15, status='old', form='formatted', action='read', iostat=ierr)
1074 end if
1075 if (ierr /= 0) then
1076 errmsg = 'warning: cannot find file noahmptable.tbl'
1077 errflg = 1
1078 return
1079! write(*,'("warning: cannot find file noahmptable.tbl")')
1080 endif
1081 read(15,noahmp_irrigation_parameters)
1082 close(15)
1083
1084 ! assign values
1085 irr_frac_table = irr_frac
1086 irr_har_table = irr_har
1087 irr_lai_table = irr_lai
1088 irr_mad_table = irr_mad
1089 filoss_table = filoss
1090 sprir_rate_table = sprir_rate
1091 micir_rate_table = micir_rate
1092 firtfac_table = firtfac
1093 ir_rain_table = ir_rain
1094
1095 !---------------- noahmptable.tbl crop parameters
1096 inquire( file='noahmptable.tbl', exist=file_named )
1097 if ( file_named ) then
1098 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
1099 else
1100 open(15, status='old', form='formatted', action='read', iostat=ierr)
1101 end if
1102 if (ierr /= 0) then
1103 errmsg = 'warning: cannot find file noahmptable.tbl'
1104 errflg = 1
1105 return
1106! write(*,'("warning: cannot find file noahmptable.tbl")')
1107 endif
1108 read(15,noahmp_crop_parameters)
1109 close(15)
1110
1111 ! assign values
1112 default_crop_table = default_crop
1113 pltday_table = pltday
1114 hsday_table = hsday
1115 plantpop_table = plantpop
1116 irri_table = irri
1117 gddtbase_table = gddtbase
1118 gddtcut_table = gddtcut
1119 gdds1_table = gdds1
1120 gdds2_table = gdds2
1121 gdds3_table = gdds3
1122 gdds4_table = gdds4
1123 gdds5_table = gdds5
1124 c3psni_table(1:5) = c3psni(1:5)
1125 kc25i_table(1:5) = kc25i(1:5)
1126 akci_table(1:5) = akci(1:5)
1127 ko25i_table(1:5) = ko25i(1:5)
1128 akoi_table(1:5) = akoi(1:5)
1129 avcmxi_table(1:5) = avcmxi(1:5)
1130 vcmx25i_table(1:5) = vcmx25i(1:5)
1131 bpi_table(1:5) = bpi(1:5)
1132 mpi_table(1:5) = mpi(1:5)
1133 folnmxi_table(1:5) = folnmxi(1:5)
1134 qe25i_table(1:5) = qe25i(1:5)
1135 aref_table = aref
1136 psnrf_table = psnrf
1137 i2par_table = i2par
1138 tassim0_table = tassim0
1139 tassim1_table = tassim1
1140 tassim2_table = tassim2
1141 k_table = k
1142 epsi_table = epsi
1143 q10mr_table = q10mr
1144 lefreez_table = lefreez
1145 fra_gr_table = fra_gr
1146 lfmr25_table = lfmr25
1147 stmr25_table = stmr25
1148 rtmr25_table = rtmr25
1149 grainmr25_table = grainmr25
1150 bio2lai_table = bio2lai
1151 dile_fc_table(:,1) = dile_fc_s1
1152 dile_fc_table(:,2) = dile_fc_s2
1153 dile_fc_table(:,3) = dile_fc_s3
1154 dile_fc_table(:,4) = dile_fc_s4
1155 dile_fc_table(:,5) = dile_fc_s5
1156 dile_fc_table(:,6) = dile_fc_s6
1157 dile_fc_table(:,7) = dile_fc_s7
1158 dile_fc_table(:,8) = dile_fc_s8
1159 dile_fw_table(:,1) = dile_fw_s1
1160 dile_fw_table(:,2) = dile_fw_s2
1161 dile_fw_table(:,3) = dile_fw_s3
1162 dile_fw_table(:,4) = dile_fw_s4
1163 dile_fw_table(:,5) = dile_fw_s5
1164 dile_fw_table(:,6) = dile_fw_s6
1165 dile_fw_table(:,7) = dile_fw_s7
1166 dile_fw_table(:,8) = dile_fw_s8
1167 lf_ovrc_table(:,1) = lf_ovrc_s1
1168 lf_ovrc_table(:,2) = lf_ovrc_s2
1169 lf_ovrc_table(:,3) = lf_ovrc_s3
1170 lf_ovrc_table(:,4) = lf_ovrc_s4
1171 lf_ovrc_table(:,5) = lf_ovrc_s5
1172 lf_ovrc_table(:,6) = lf_ovrc_s6
1173 lf_ovrc_table(:,7) = lf_ovrc_s7
1174 lf_ovrc_table(:,8) = lf_ovrc_s8
1175 st_ovrc_table(:,1) = st_ovrc_s1
1176 st_ovrc_table(:,2) = st_ovrc_s2
1177 st_ovrc_table(:,3) = st_ovrc_s3
1178 st_ovrc_table(:,4) = st_ovrc_s4
1179 st_ovrc_table(:,5) = st_ovrc_s5
1180 st_ovrc_table(:,6) = st_ovrc_s6
1181 st_ovrc_table(:,7) = st_ovrc_s7
1182 st_ovrc_table(:,8) = st_ovrc_s8
1183 rt_ovrc_table(:,1) = rt_ovrc_s1
1184 rt_ovrc_table(:,2) = rt_ovrc_s2
1185 rt_ovrc_table(:,3) = rt_ovrc_s3
1186 rt_ovrc_table(:,4) = rt_ovrc_s4
1187 rt_ovrc_table(:,5) = rt_ovrc_s5
1188 rt_ovrc_table(:,6) = rt_ovrc_s6
1189 rt_ovrc_table(:,7) = rt_ovrc_s7
1190 rt_ovrc_table(:,8) = rt_ovrc_s8
1191 lfpt_table(:,1) = lfpt_s1
1192 lfpt_table(:,2) = lfpt_s2
1193 lfpt_table(:,3) = lfpt_s3
1194 lfpt_table(:,4) = lfpt_s4
1195 lfpt_table(:,5) = lfpt_s5
1196 lfpt_table(:,6) = lfpt_s6
1197 lfpt_table(:,7) = lfpt_s7
1198 lfpt_table(:,8) = lfpt_s8
1199 stpt_table(:,1) = stpt_s1
1200 stpt_table(:,2) = stpt_s2
1201 stpt_table(:,3) = stpt_s3
1202 stpt_table(:,4) = stpt_s4
1203 stpt_table(:,5) = stpt_s5
1204 stpt_table(:,6) = stpt_s6
1205 stpt_table(:,7) = stpt_s7
1206 stpt_table(:,8) = stpt_s8
1207 rtpt_table(:,1) = rtpt_s1
1208 rtpt_table(:,2) = rtpt_s2
1209 rtpt_table(:,3) = rtpt_s3
1210 rtpt_table(:,4) = rtpt_s4
1211 rtpt_table(:,5) = rtpt_s5
1212 rtpt_table(:,6) = rtpt_s6
1213 rtpt_table(:,7) = rtpt_s7
1214 rtpt_table(:,8) = rtpt_s8
1215 grainpt_table(:,1) = grainpt_s1
1216 grainpt_table(:,2) = grainpt_s2
1217 grainpt_table(:,3) = grainpt_s3
1218 grainpt_table(:,4) = grainpt_s4
1219 grainpt_table(:,5) = grainpt_s5
1220 grainpt_table(:,6) = grainpt_s6
1221 grainpt_table(:,7) = grainpt_s7
1222 grainpt_table(:,8) = grainpt_s8
1223 lfct_table(:,1) = lfct_s1
1224 lfct_table(:,2) = lfct_s2
1225 lfct_table(:,3) = lfct_s3
1226 lfct_table(:,4) = lfct_s4
1227 lfct_table(:,5) = lfct_s5
1228 lfct_table(:,6) = lfct_s6
1229 lfct_table(:,7) = lfct_s7
1230 lfct_table(:,8) = lfct_s8
1231 stct_table(:,1) = stct_s1
1232 stct_table(:,2) = stct_s2
1233 stct_table(:,3) = stct_s3
1234 stct_table(:,4) = stct_s4
1235 stct_table(:,5) = stct_s5
1236 stct_table(:,6) = stct_s6
1237 stct_table(:,7) = stct_s7
1238 stct_table(:,8) = stct_s8
1239 rtct_table(:,1) = rtct_s1
1240 rtct_table(:,2) = rtct_s2
1241 rtct_table(:,3) = rtct_s3
1242 rtct_table(:,4) = rtct_s4
1243 rtct_table(:,5) = rtct_s5
1244 rtct_table(:,6) = rtct_s6
1245 rtct_table(:,7) = rtct_s7
1246 rtct_table(:,8) = rtct_s8
1247
1248 !---------------- noahmptable.tbl tile drainage parameters
1249 inquire( file='noahmptable.tbl', exist=file_named )
1250 if ( file_named ) then
1251 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
1252 else
1253 open(15, status='old', form='formatted', action='read', iostat=ierr)
1254 end if
1255 if (ierr /= 0) then
1256 errmsg = 'warning: cannot find file noahmptable.tbl'
1257 errflg = 1
1258 return
1259! write(*,'("warning: cannot find file noahmptable.tbl")')
1260 endif
1261 read(15,noahmp_tiledrain_parameters)
1262 close(15)
1263
1264 ! assign values
1265 drain_layer_opt_table = drain_layer_opt
1266 tdsmc_fac_table(1:nsoiltype) = tdsmc_fac(1:nsoiltype)
1267 td_depth_table(1:nsoiltype) = td_depth(1:nsoiltype)
1268 td_dc_table(1:nsoiltype) = td_dc(1:nsoiltype)
1269 td_dcoef_table(1:nsoiltype) = td_dcoef(1:nsoiltype)
1270 td_d_table(1:nsoiltype) = td_d(1:nsoiltype)
1271 td_adepth_table(1:nsoiltype) = td_adepth(1:nsoiltype)
1272 td_radi_table(1:nsoiltype) = td_radi(1:nsoiltype)
1273 td_spac_table(1:nsoiltype) = td_spac(1:nsoiltype)
1274 td_ddrain_table(1:nsoiltype) = td_ddrain(1:nsoiltype)
1275 klat_fac_table(1:nsoiltype) = klat_fac(1:nsoiltype)
1276
1277 !---------------- noahmptable.tbl optional parameters
1278 inquire( file='noahmptable.tbl', exist=file_named )
1279 if ( file_named ) then
1280 open(15, file="noahmptable.tbl", status='old', form='formatted', action='read', iostat=ierr)
1281 else
1282 open(15, status='old', form='formatted', action='read', iostat=ierr)
1283 end if
1284 if (ierr /= 0) then
1285 errmsg = 'warning: cannot find file noahmptable.tbl'
1286 errflg = 1
1287 return
1288! write(*,'("warning: cannot find file noahmptable.tbl")')
1289 endif
1290 read(15,noahmp_optional_parameters)
1291 close(15)
1292
1293 ! assign values
1294! sr2006_theta_1500t_a_table = sr2006_theta_1500t_a
1295! sr2006_theta_1500t_b_table = sr2006_theta_1500t_b
1296! sr2006_theta_1500t_c_table = sr2006_theta_1500t_c
1297! sr2006_theta_1500t_d_table = sr2006_theta_1500t_d
1298! sr2006_theta_1500t_e_table = sr2006_theta_1500t_e
1299! sr2006_theta_1500t_f_table = sr2006_theta_1500t_f
1300! sr2006_theta_1500t_g_table = sr2006_theta_1500t_g
1301! sr2006_theta_1500_a_table = sr2006_theta_1500_a
1302! sr2006_theta_1500_b_table = sr2006_theta_1500_b
1303! sr2006_theta_33t_a_table = sr2006_theta_33t_a
1304! sr2006_theta_33t_b_table = sr2006_theta_33t_b
1305! sr2006_theta_33t_c_table = sr2006_theta_33t_c
1306! sr2006_theta_33t_d_table = sr2006_theta_33t_d
1307! sr2006_theta_33t_e_table = sr2006_theta_33t_e
1308! sr2006_theta_33t_f_table = sr2006_theta_33t_f
1309! sr2006_theta_33t_g_table = sr2006_theta_33t_g
1310! sr2006_theta_33_a_table = sr2006_theta_33_a
1311! sr2006_theta_33_b_table = sr2006_theta_33_b
1312! sr2006_theta_33_c_table = sr2006_theta_33_c
1313! sr2006_theta_s33t_a_table = sr2006_theta_s33t_a
1314! sr2006_theta_s33t_b_table = sr2006_theta_s33t_b
1315! sr2006_theta_s33t_c_table = sr2006_theta_s33t_c
1316! sr2006_theta_s33t_d_table = sr2006_theta_s33t_d
1317! sr2006_theta_s33t_e_table = sr2006_theta_s33t_e
1318! sr2006_theta_s33t_f_table = sr2006_theta_s33t_f
1319! sr2006_theta_s33t_g_table = sr2006_theta_s33t_g
1320! sr2006_theta_s33_a_table = sr2006_theta_s33_a
1321! sr2006_theta_s33_b_table = sr2006_theta_s33_b
1322! sr2006_psi_et_a_table = sr2006_psi_et_a
1323! sr2006_psi_et_b_table = sr2006_psi_et_b
1324! sr2006_psi_et_c_table = sr2006_psi_et_c
1325! sr2006_psi_et_d_table = sr2006_psi_et_d
1326! sr2006_psi_et_e_table = sr2006_psi_et_e
1327! sr2006_psi_et_f_table = sr2006_psi_et_f
1328! sr2006_psi_et_g_table = sr2006_psi_et_g
1329! sr2006_psi_e_a_table = sr2006_psi_e_a
1330! sr2006_psi_e_b_table = sr2006_psi_e_b
1331! sr2006_psi_e_c_table = sr2006_psi_e_c
1332! sr2006_smcmax_a_table = sr2006_smcmax_a
1333! sr2006_smcmax_b_table = sr2006_smcmax_b
1334
1335 end subroutine read_mp_table_parameters
1336
1337end module noahmp_tables
1338
brief Data from MPTABLE.TBL, SOILPARM.TBL, GENPARM.TBL for NoahMP