313 subroutine read_mp_table_parameters(errmsg, errflg)
316 character(len=*),
intent(out) :: errmsg
317 integer,
intent(out) :: errflg
320 character(len=256) :: dataset_identifier
321 character(len=256) :: veg_dataset_description
322 logical :: file_named
323 integer :: ierr, ik, im
324 integer :: nveg, isurban, iswater, isbarren, isice, iscrop, eblforest, natural
325 integer :: lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11
326 real (kind=kind_phys),
dimension(mvt) :: sai_jan, sai_feb, sai_mar, sai_apr, sai_may, sai_jun, sai_jul, sai_aug, &
327 sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, lai_feb, lai_mar, lai_apr, &
328 lai_may, lai_jun, lai_jul, lai_aug, lai_sep, lai_oct, lai_nov, lai_dec, &
329 rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, taul_nir, taus_vis, taus_nir,&
330 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
331 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
332 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
333 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
334 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
335 xsamin, eps1, eps2, eps3, eps4, eps5
336 namelist / noahmp_usgs_veg_categories / veg_dataset_description, nveg
337 namelist / noahmp_usgs_parameters / isurban, iswater, isbarren, isice, iscrop, eblforest, natural, &
338 lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11, &
339 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
340 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
341 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
342 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
343 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
344 xsamin, sai_jan, sai_feb, sai_mar, sai_apr, sai_may, &
345 sai_jun, sai_jul, sai_aug, sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, &
346 lai_feb, lai_mar, lai_apr, lai_may, lai_jun, lai_jul, lai_aug, lai_sep, &
347 lai_oct, lai_nov, lai_dec, rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, &
348 taul_nir, taus_vis, taus_nir, eps1, eps2, eps3, eps4, eps5
349 namelist / noahmp_modis_veg_categories / veg_dataset_description, nveg
350 namelist / noahmp_modis_parameters / isurban, iswater, isbarren, isice, iscrop, eblforest, natural, &
351 lcz_1, lcz_2, lcz_3, lcz_4, lcz_5, lcz_6, lcz_7, lcz_8, lcz_9, lcz_10, lcz_11, &
352 ch2op, dleaf, z0mvt, hvt, hvb, z0mhvt, &
353 den, rc, mfsno, scffac, cbiom, xl, cwpvt, c3psn, kc25, &
354 akc, ko25, ako, avcmx, aqe, ltovrc, dilefc, dilefw, rmf25, sla, fragr, tmin, &
355 vcmx25, tdlef, bp, mp, qe25, rms25, rmr25, arm, folnmx, wdpool, wrrat, mrp, &
356 nroot, rgl, rs, hs, topt, rsmax, rtovrc, rswoodc, bf, wstrc, laimin, &
357 xsamin, sai_jan, sai_feb, sai_mar, sai_apr, sai_may, &
358 sai_jun, sai_jul, sai_aug, sai_sep, sai_oct, sai_nov, sai_dec, lai_jan, &
359 lai_feb, lai_mar, lai_apr, lai_may, lai_jun, lai_jul, lai_aug, lai_sep, &
360 lai_oct, lai_nov, lai_dec, rhol_vis, rhol_nir, rhos_vis, rhos_nir, taul_vis, &
361 taul_nir, taus_vis, taus_nir, eps1, eps2, eps3, eps4, eps5
363 character(len=256) :: message
364 character(len=10) :: sltype
366 real (kind=kind_phys),
dimension(max_soiltyp) :: bb, drysmc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
367 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic, hc
368 namelist / noahmp_stas_soil_categories / sltype, slcats
369 namelist / noahmp_soil_stas_parameters / bb, drysmc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
370 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic
371 namelist / noahmp_soil_stas_ruc_parameters / bb, drysmc, hc, maxsmc, refsmc, satpsi, satdk, satdw, wltsmc, qtz, &
372 bvic, axaj, bxaj, xxaj, bdvic, bbvic, gdvic
375 real (kind=kind_phys) :: csoil_data, refdk_data, refkdt_data, frzk_data, zbot_data, czil_data
376 real (kind=kind_phys),
dimension(num_slope) :: slope_data
377 namelist / noahmp_general_parameters / slope_data, csoil_data, refdk_data, refkdt_data, frzk_data, zbot_data, &
381 real (kind=kind_phys) :: betads, betais, eice
382 real (kind=kind_phys),
dimension(mband) :: albice, alblak, omegas
383 real (kind=kind_phys),
dimension(2) :: eg
384 real (kind=kind_phys),
dimension(msc) :: albsat_vis, albsat_nir, albdry_vis, albdry_nir
385 namelist / noahmp_rad_parameters / albsat_vis, albsat_nir, albdry_vis, albdry_nir, albice, alblak, omegas, &
386 betads, betais, eg, eice
389 real (kind=kind_phys) :: co2, o2, timean, fsatmx, z0sno, ssi, snow_ret_fac ,snow_emis, swemx, tau0, &
390 grain_growth, extra_growth, dirt_soot, bats_cosz, bats_vis_new, &
391 bats_nir_new, bats_vis_age, bats_nir_age, bats_vis_dir, bats_nir_dir, &
392 rsurf_snow, rsurf_exp, c2_snowcompact, c3_snowcompact, c4_snowcompact, &
393 c5_snowcompact, dm_snowcompact, eta0_snowcompact, snliqmaxfrac, swemaxgla, &
394 wslmax, rous, cmic, snowden_max, class_alb_ref, class_sno_age, class_alb_new,&
395 psiwlt, z0soil, z0lake
396 namelist / noahmp_global_parameters / co2, o2, timean, fsatmx, z0sno, ssi, snow_ret_fac ,snow_emis, swemx, tau0, &
397 grain_growth, extra_growth, dirt_soot, bats_cosz, bats_vis_new, &
398 bats_nir_new, bats_vis_age, bats_nir_age, bats_vis_dir, bats_nir_dir, &
399 rsurf_snow, rsurf_exp, c2_snowcompact, c3_snowcompact, c4_snowcompact, &
400 c5_snowcompact, dm_snowcompact, eta0_snowcompact, snliqmaxfrac, swemaxgla, &
401 wslmax, rous, cmic, snowden_max, class_alb_ref, class_sno_age, class_alb_new,&
402 psiwlt, z0soil, z0lake
406 real (kind=kind_phys) :: irr_frac, irr_lai, irr_mad, filoss, sprir_rate, micir_rate, firtfac, ir_rain
407 namelist / noahmp_irrigation_parameters / irr_frac, irr_har, irr_lai, irr_mad, filoss, sprir_rate, micir_rate, firtfac,&
411 integer :: default_crop
412 integer ,
dimension(ncrop) :: pltday, hsday
413 real (kind=kind_phys),
dimension(ncrop) :: plantpop, irri, gddtbase, gddtcut, gdds1, gdds2, gdds3, gdds4, gdds5, c3psni,&
414 kc25i, akci, ko25i, akoi, avcmxi, vcmx25i, bpi, mpi, folnmxi, qe25i, aref, &
415 psnrf, i2par, tassim0, tassim1, tassim2, k, epsi, q10mr, lefreez, &
416 dile_fc_s1, dile_fc_s2, dile_fc_s3, dile_fc_s4, dile_fc_s5, dile_fc_s6, &
417 dile_fc_s7, dile_fc_s8, dile_fw_s1, dile_fw_s2, dile_fw_s3, dile_fw_s4, &
418 dile_fw_s5, dile_fw_s6, dile_fw_s7, dile_fw_s8, fra_gr, lf_ovrc_s1, &
419 lf_ovrc_s2, lf_ovrc_s3, lf_ovrc_s4, lf_ovrc_s5, lf_ovrc_s6, lf_ovrc_s7, &
420 lf_ovrc_s8, st_ovrc_s1, st_ovrc_s2, st_ovrc_s3, st_ovrc_s4, st_ovrc_s5, &
421 st_ovrc_s6, st_ovrc_s7, st_ovrc_s8, rt_ovrc_s1, rt_ovrc_s2, rt_ovrc_s3, &
422 rt_ovrc_s4, rt_ovrc_s5, rt_ovrc_s6, rt_ovrc_s7, rt_ovrc_s8, lfmr25, stmr25, &
423 rtmr25, grainmr25, lfpt_s1, lfpt_s2, lfpt_s3, lfpt_s4, lfpt_s5, lfpt_s6, &
424 lfpt_s7, lfpt_s8, stpt_s1, stpt_s2, stpt_s3, stpt_s4, stpt_s5, stpt_s6, &
425 stpt_s7, stpt_s8, rtpt_s1, rtpt_s2, rtpt_s3, rtpt_s4, rtpt_s5, rtpt_s6, &
426 rtpt_s7, rtpt_s8, grainpt_s1, grainpt_s2, grainpt_s3, grainpt_s4, grainpt_s5,&
427 grainpt_s6, grainpt_s7, grainpt_s8, lfct_s1, lfct_s2, lfct_s3, lfct_s4, &
428 lfct_s5, lfct_s6, lfct_s7, lfct_s8, stct_s1, stct_s2, stct_s3, stct_s4, &
429 stct_s5, stct_s6, stct_s7, stct_s8, rtct_s1, rtct_s2, rtct_s3, rtct_s4, &
430 rtct_s5, rtct_s6, rtct_s7, rtct_s8, bio2lai
431 namelist / noahmp_crop_parameters / default_crop, pltday, hsday, plantpop, irri, gddtbase, gddtcut, gdds1, gdds2,&
432 gdds3, gdds4, gdds5, c3psni, kc25i, akci, ko25i, akoi, avcmxi, vcmx25i, bpi, &
433 mpi, folnmxi, qe25i, aref, psnrf, i2par, tassim0, tassim1, tassim2, k, &
434 epsi,q10mr, lefreez, dile_fc_s1, dile_fc_s2, dile_fc_s3, dile_fc_s4, &
435 dile_fc_s5, dile_fc_s6, dile_fc_s7, dile_fc_s8, dile_fw_s1, dile_fw_s2, &
436 dile_fw_s3, dile_fw_s4, dile_fw_s5, dile_fw_s6, dile_fw_s7, dile_fw_s8, &
437 fra_gr, lf_ovrc_s1, lf_ovrc_s2, lf_ovrc_s3, lf_ovrc_s4, lf_ovrc_s5, &
438 lf_ovrc_s6, lf_ovrc_s7, lf_ovrc_s8, st_ovrc_s1, st_ovrc_s2, st_ovrc_s3, &
439 st_ovrc_s4, st_ovrc_s5, st_ovrc_s6, st_ovrc_s7, st_ovrc_s8, rt_ovrc_s1, &
440 rt_ovrc_s2, rt_ovrc_s3, rt_ovrc_s4, rt_ovrc_s5, rt_ovrc_s6, rt_ovrc_s7, &
441 rt_ovrc_s8, lfmr25, stmr25, rtmr25, grainmr25, lfpt_s1, lfpt_s2, lfpt_s3, &
442 lfpt_s4, lfpt_s5, lfpt_s6, lfpt_s7, lfpt_s8, stpt_s1, stpt_s2, stpt_s3, &
443 stpt_s4, stpt_s5, stpt_s6, stpt_s7, stpt_s8, rtpt_s1, rtpt_s2, rtpt_s3, &
444 rtpt_s4, rtpt_s5, rtpt_s6, rtpt_s7, rtpt_s8, grainpt_s1, grainpt_s2, &
445 grainpt_s3, grainpt_s4, grainpt_s5, grainpt_s6, grainpt_s7, grainpt_s8, &
446 lfct_s1, lfct_s2, lfct_s3, lfct_s4, lfct_s5, lfct_s6, lfct_s7, lfct_s8, &
447 stct_s1, stct_s2, stct_s3, stct_s4, stct_s5, stct_s6, stct_s7, stct_s8, &
448 rtct_s1, rtct_s2, rtct_s3, rtct_s4, rtct_s5, rtct_s6, rtct_s7, rtct_s8, &
452 integer :: nsoiltype, drain_layer_opt
453 integer ,
dimension(max_soiltyp) :: td_depth
454 real (kind=kind_phys),
dimension(max_soiltyp) :: tdsmc_fac, td_dc, td_dcoef, td_d, td_adepth, td_radi, td_spac, &
456 namelist / noahmp_tiledrain_parameters / nsoiltype, drain_layer_opt, tdsmc_fac, td_depth, td_dc, td_dcoef, td_d,&
457 td_adepth, td_radi, td_spac, td_ddrain, klat_fac
460 real (kind=kind_phys) :: sr2006_theta_1500t_a, sr2006_theta_1500t_b, sr2006_theta_1500t_c, &
461 sr2006_theta_1500t_d, sr2006_theta_1500t_e, sr2006_theta_1500t_f, &
462 sr2006_theta_1500t_g, sr2006_theta_1500_a , sr2006_theta_1500_b, &
463 sr2006_theta_33t_a, sr2006_theta_33t_b, sr2006_theta_33t_c, &
464 sr2006_theta_33t_d, sr2006_theta_33t_e, sr2006_theta_33t_f, &
465 sr2006_theta_33t_g, sr2006_theta_33_a, sr2006_theta_33_b, &
466 sr2006_theta_33_c, sr2006_theta_s33t_a, sr2006_theta_s33t_b, &
467 sr2006_theta_s33t_c, sr2006_theta_s33t_d, sr2006_theta_s33t_e, &
468 sr2006_theta_s33t_f, sr2006_theta_s33t_g, sr2006_theta_s33_a, &
469 sr2006_theta_s33_b, sr2006_psi_et_a, sr2006_psi_et_b, sr2006_psi_et_c, &
470 sr2006_psi_et_d, sr2006_psi_et_e, sr2006_psi_et_f, sr2006_psi_et_g, &
471 sr2006_psi_e_a, sr2006_psi_e_b, sr2006_psi_e_c, sr2006_smcmax_a, &
473 namelist / noahmp_optional_parameters / sr2006_theta_1500t_a, sr2006_theta_1500t_b, sr2006_theta_1500t_c, &
474 sr2006_theta_1500t_d, sr2006_theta_1500t_e, sr2006_theta_1500t_f, &
475 sr2006_theta_1500t_g, sr2006_theta_1500_a, sr2006_theta_1500_b, &
476 sr2006_theta_33t_a, sr2006_theta_33t_b, sr2006_theta_33t_c, &
477 sr2006_theta_33t_d, sr2006_theta_33t_e, sr2006_theta_33t_f, &
478 sr2006_theta_33t_g, sr2006_theta_33_a, sr2006_theta_33_b, &
479 sr2006_theta_33_c, sr2006_theta_s33t_a, sr2006_theta_s33t_b, &
480 sr2006_theta_s33t_c, sr2006_theta_s33t_d, sr2006_theta_s33t_e, &
481 sr2006_theta_s33t_f, sr2006_theta_s33t_g, sr2006_theta_s33_a, &
482 sr2006_theta_s33_b, sr2006_psi_et_a, sr2006_psi_et_b, sr2006_psi_et_c, &
483 sr2006_psi_et_d, sr2006_psi_et_e, sr2006_psi_et_f, sr2006_psi_et_g, &
484 sr2006_psi_e_a, sr2006_psi_e_b, sr2006_psi_e_c, sr2006_smcmax_a, &
492 isurban_table = -99999
493 iswater_table = -99999
494 isbarren_table = -99999
496 iscrop_table = -99999
497 eblforest_table = -99999
498 natural_table = -99999
508 lcz_10_table = -99999
509 lcz_11_table = -99999
510 ch2op_table = -1.0e36
511 dleaf_table = -1.0e36
512 z0mvt_table = -1.0e36
515 z0mhvt_table = -1.0e36
518 mfsno_table = -1.0e36
519 scffac_table = -1.0e36
520 cbiom_table = -1.0e36
526 cwpvt_table = -1.0e36
527 c3psn_table = -1.0e36
532 avcmx_table = -1.0e36
534 ltovrc_table = -1.0e36
535 dilefc_table = -1.0e36
536 dilefw_table = -1.0e36
537 rmf25_table = -1.0e36
539 fragr_table = -1.0e36
541 vcmx25_table = -1.0e36
542 tdlef_table = -1.0e36
546 rms25_table = -1.0e36
547 rmr25_table = -1.0e36
549 folnmx_table = -1.0e36
550 wdpool_table = -1.0e36
551 wrrat_table = -1.0e36
555 nroot_table = -1.0e36
560 rsmax_table = -1.0e36
572 smcdry_table = -1.0e36
574 smcmax_table = -1.0e36
575 smcref_table = -1.0e36
576 psisat_table = -1.0e36
577 dksat_table = -1.0e36
578 dwsat_table = -1.0e36
579 smcwlt_table = -1.0e36
580 quartz_table = -1.0e36
585 bdvic_table = -1.0e36
586 gdvic_table = -1.0e36
587 bbvic_table = -1.0e36
590 slope_table = -1.0e36
591 csoil_table = -1.0e36
592 refdk_table = -1.0e36
593 refkdt_table = -1.0e36
599 albsat_table = -1.0e36
600 albdry_table = -1.0e36
601 albice_table = -1.0e36
602 alblak_table = -1.0e36
603 omegas_table = -1.0e36
604 betads_table = -1.0e36
605 betais_table = -1.0e36
612 timean_table = -1.0e36
613 fsatmx_table = -1.0e36
614 z0sno_table = -1.0e36
616snow_ret_fac_table = -1.0e36
617 snow_emis_table = -1.0e36
618 swemx_table = -1.0e36
620grain_growth_table = -1.0e36
621extra_growth_table = -1.0e36
622 dirt_soot_table = -1.0e36
623 bats_cosz_table = -1.0e36
624bats_vis_new_table = -1.0e36
625bats_nir_new_table = -1.0e36
626bats_vis_age_table = -1.0e36
627bats_nir_age_table = -1.0e36
628bats_vis_dir_table = -1.0e36
629bats_nir_dir_table = -1.0e36
630rsurf_snow_table = -1.0e36
631 rsurf_exp_table = -1.0e36
653 irr_har_table = -99999
654 irr_frac_table = -1.0e36
655 irr_lai_table = -1.0e36
656 irr_mad_table = -1.0e36
657 filoss_table = -1.0e36
658 sprir_rate_table = -1.0e36
659 micir_rate_table = -1.0e36
660 firtfac_table = -1.0e36
661 ir_rain_table = -1.0e36
664 default_crop_table = -99999
665 pltday_table = -99999
667 plantpop_table = -1.0e36
669 gddtbase_table = -1.0e36
670 gddtcut_table = -1.0e36
671 gdds1_table = -1.0e36
672 gdds2_table = -1.0e36
673 gdds3_table = -1.0e36
674 gdds4_table = -1.0e36
675 gdds5_table = -1.0e36
676 c3psni_table = -1.0e36
677 kc25i_table = -1.0e36
679 ko25i_table = -1.0e36
681 avcmxi_table = -1.0e36
682 vcmx25i_table = -1.0e36
685 folnmxi_table = -1.0e36
686 qe25i_table = -1.0e36
689 psnrf_table = -1.0e36
690 i2par_table = -1.0e36
691 tassim0_table = -1.0e36
692 tassim1_table = -1.0e36
693 tassim2_table = -1.0e36
696 q10mr_table = -1.0e36
697 foln_mx_table = -1.0e36
698 lefreez_table = -1.0e36
699 dile_fc_table = -1.0e36
700 dile_fw_table = -1.0e36
701 fra_gr_table = -1.0e36
702 lf_ovrc_table = -1.0e36
703 st_ovrc_table = -1.0e36
704 rt_ovrc_table = -1.0e36
705 lfmr25_table = -1.0e36
706 stmr25_table = -1.0e36
707 rtmr25_table = -1.0e36
708 grainmr25_table = -1.0e36
712 grainpt_table = -1.0e36
716 bio2lai_table = -1.0e36
720 drain_layer_opt_table = -99999
721 td_depth_table = -99999
722 tdsmc_fac_table = -1.0e36
723 td_dc_table = -1.0e36
724 td_dcoef_table = -1.0e36
726 td_adepth_table = -1.0e36
727 td_radi_table = -1.0e36
728 td_spac_table = -1.0e36
729 td_ddrain_table = -1.0e36
730 klat_fac_table = -1.0e36
780 dataset_identifier =
"modified_igbp_modis_noah"
782 inquire( file=
'noahmptable.tbl', exist=file_named )
783 if ( file_named )
then
784 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
786 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
788 if ( ierr /= 0 )
then
789 errmsg =
'warning: cannot find file noahmptable.tbl'
795 if ( trim(dataset_identifier) ==
"usgs" )
then
796 read(15, noahmp_usgs_veg_categories)
797 read(15, noahmp_usgs_parameters)
798 elseif ( trim(dataset_identifier) ==
"modified_igbp_modis_noah" )
then
799 read(15,noahmp_modis_veg_categories)
800 read(15,noahmp_modis_parameters)
802 write(*,
'("warning: unrecognized dataset_identifier in subroutine readnoahmptable")')
803 write(*,
'("warning: dataset_identifier = ''", a, "''")') trim(dataset_identifier)
809 isurban_table = isurban
810 iswater_table = iswater
811 isbarren_table = isbarren
813 iscrop_table = iscrop
814 eblforest_table = eblforest
815 natural_table = natural
825 lcz_10_table = lcz_10
826 lcz_11_table = lcz_11
827 ch2op_table(1:nveg) = ch2op(1:nveg)
828 dleaf_table(1:nveg) = dleaf(1:nveg)
829 z0mvt_table(1:nveg) = z0mvt(1:nveg)
830 hvt_table(1:nveg) = hvt(1:nveg)
831 hvb_table(1:nveg) = hvb(1:nveg)
832 z0mhvt_table(1:nveg) = z0mhvt(1:nveg)
833 den_table(1:nveg) = den(1:nveg)
834 rc_table(1:nveg) = rc(1:nveg)
835 mfsno_table(1:nveg) = mfsno(1:nveg)
836 scffac_table(1:nveg) = scffac(1:nveg)
837 cbiom_table(1:nveg) = cbiom(1:nveg)
838 xl_table(1:nveg) = xl(1:nveg)
839 cwpvt_table(1:nveg) = cwpvt(1:nveg)
840 c3psn_table(1:nveg) = c3psn(1:nveg)
841 kc25_table(1:nveg) = kc25(1:nveg)
842 akc_table(1:nveg) = akc(1:nveg)
843 ko25_table(1:nveg) = ko25(1:nveg)
844 ako_table(1:nveg) = ako(1:nveg)
845 avcmx_table(1:nveg) = avcmx(1:nveg)
846 aqe_table(1:nveg) = aqe(1:nveg)
847 ltovrc_table(1:nveg) = ltovrc(1:nveg)
848 dilefc_table(1:nveg) = dilefc(1:nveg)
849 dilefw_table(1:nveg) = dilefw(1:nveg)
850 rmf25_table(1:nveg) = rmf25(1:nveg)
851 sla_table(1:nveg) = sla(1:nveg)
852 fragr_table(1:nveg) = fragr(1:nveg)
853 tmin_table(1:nveg) = tmin(1:nveg)
854 vcmx25_table(1:nveg) = vcmx25(1:nveg)
855 tdlef_table(1:nveg) = tdlef(1:nveg)
856 bp_table(1:nveg) = bp(1:nveg)
857 mp_table(1:nveg) = mp(1:nveg)
858 qe25_table(1:nveg) = qe25(1:nveg)
859 rms25_table(1:nveg) = rms25(1:nveg)
860 rmr25_table(1:nveg) = rmr25(1:nveg)
861 arm_table(1:nveg) = arm(1:nveg)
862 folnmx_table(1:nveg) = folnmx(1:nveg)
863 wdpool_table(1:nveg) = wdpool(1:nveg)
864 wrrat_table(1:nveg) = wrrat(1:nveg)
865 mrp_table(1:nveg) = mrp(1:nveg)
866 nroot_table(1:nveg) = nroot(1:nveg)
867 rgl_table(1:nveg) = rgl(1:nveg)
868 rs_table(1:nveg) = rs(1:nveg)
869 hs_table(1:nveg) = hs(1:nveg)
870 topt_table(1:nveg) = topt(1:nveg)
871 rsmax_table(1:nveg) = rsmax(1:nveg)
879 saim_table(1:nveg, 1) = sai_jan(1:nveg)
880 saim_table(1:nveg, 2) = sai_feb(1:nveg)
881 saim_table(1:nveg, 3) = sai_mar(1:nveg)
882 saim_table(1:nveg, 4) = sai_apr(1:nveg)
883 saim_table(1:nveg, 5) = sai_may(1:nveg)
884 saim_table(1:nveg, 6) = sai_jun(1:nveg)
885 saim_table(1:nveg, 7) = sai_jul(1:nveg)
886 saim_table(1:nveg, 8) = sai_aug(1:nveg)
887 saim_table(1:nveg, 9) = sai_sep(1:nveg)
888 saim_table(1:nveg,10) = sai_oct(1:nveg)
889 saim_table(1:nveg,11) = sai_nov(1:nveg)
890 saim_table(1:nveg,12) = sai_dec(1:nveg)
891 laim_table(1:nveg, 1) = lai_jan(1:nveg)
892 laim_table(1:nveg, 2) = lai_feb(1:nveg)
893 laim_table(1:nveg, 3) = lai_mar(1:nveg)
894 laim_table(1:nveg, 4) = lai_apr(1:nveg)
895 laim_table(1:nveg, 5) = lai_may(1:nveg)
896 laim_table(1:nveg, 6) = lai_jun(1:nveg)
897 laim_table(1:nveg, 7) = lai_jul(1:nveg)
898 laim_table(1:nveg, 8) = lai_aug(1:nveg)
899 laim_table(1:nveg, 9) = lai_sep(1:nveg)
900 laim_table(1:nveg,10) = lai_oct(1:nveg)
901 laim_table(1:nveg,11) = lai_nov(1:nveg)
902 laim_table(1:nveg,12) = lai_dec(1:nveg)
903 rhol_table(1:nveg,1) = rhol_vis(1:nveg)
904 rhol_table(1:nveg,2) = rhol_nir(1:nveg)
905 rhos_table(1:nveg,1) = rhos_vis(1:nveg)
906 rhos_table(1:nveg,2) = rhos_nir(1:nveg)
907 taul_table(1:nveg,1) = taul_vis(1:nveg)
908 taul_table(1:nveg,2) = taul_nir(1:nveg)
909 taus_table(1:nveg,1) = taus_vis(1:nveg)
910 taus_table(1:nveg,2) = taus_nir(1:nveg)
913 inquire( file=
'noahmptable.tbl', exist=file_named )
914 if ( file_named )
then
915 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
917 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
919 if ( ierr /= 0 )
then
920 errmsg =
'warning: cannot find file noahmptable.tbl'
925 read(15, noahmp_stas_soil_categories)
926 if ( trim(sltype) ==
"stas" )
then
927 read(15, noahmp_soil_stas_parameters)
928 elseif ( trim(sltype) ==
"stas_ruc" )
then
929 read(15, noahmp_soil_stas_ruc_parameters)
931 write(*,
'("warning: unrecognized soiltype in subroutine readnoahmptable")')
932 write(*,
'("warning: dataset_identifier = ''", a, "''")') trim(sltype)
938 bexp_table(1:slcats) = bb(1:slcats)
939 smcdry_table(1:slcats) = drysmc(1:slcats)
940 smcmax_table(1:slcats) = maxsmc(1:slcats)
941 smcref_table(1:slcats) = refsmc(1:slcats)
942 psisat_table(1:slcats) = satpsi(1:slcats)
943 dksat_table(1:slcats) = satdk(1:slcats)
944 dwsat_table(1:slcats) = satdw(1:slcats)
945 smcwlt_table(1:slcats) = wltsmc(1:slcats)
946 quartz_table(1:slcats) = qtz(1:slcats)
947 bvic_table(1:slcats) = bvic(1:slcats)
948 axaj_table(1:slcats) = axaj(1:slcats)
949 bxaj_table(1:slcats) = bxaj(1:slcats)
950 xxaj_table(1:slcats) = xxaj(1:slcats)
951 bdvic_table(1:slcats) = bdvic(1:slcats)
952 gdvic_table(1:slcats) = gdvic(1:slcats)
953 bbvic_table(1:slcats) = bbvic(1:slcats)
956 inquire( file=
'noahmptable.tbl', exist=file_named )
957 if ( file_named )
then
958 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
960 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
962 if ( ierr /= 0 )
then
963 errmsg =
'warning: cannot find file noahmptable.tbl'
968 read(15, noahmp_general_parameters)
972 slope_table(1:num_slope) = slope_data(1:num_slope)
973 csoil_table = csoil_data
974 refdk_table = refdk_data
975 refkdt_table = refkdt_data
976 frzk_table = frzk_data
977 zbot_table = zbot_data
978 czil_table = czil_data
981 inquire( file=
'noahmptable.tbl', exist=file_named )
982 if ( file_named )
then
983 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
985 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
988 errmsg =
'warning: cannot find file noahmptable.tbl'
993 read(15,noahmp_rad_parameters)
997 albsat_table(:,1) = albsat_vis
998 albsat_table(:,2) = albsat_nir
999 albdry_table(:,1) = albdry_vis
1000 albdry_table(:,2) = albdry_nir
1001 albice_table = albice
1002 alblak_table = alblak
1003 omegas_table = omegas
1004 betads_table = betads
1005 betais_table = betais
1010 inquire( file=
'noahmptable.tbl', exist=file_named )
1011 if ( file_named )
then
1012 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1014 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1017 errmsg =
'warning: cannot find file noahmptable.tbl'
1022 read(15,noahmp_global_parameters)
1028 timean_table = timean
1029 fsatmx_table = fsatmx
1032 snow_ret_fac_table = snow_ret_fac
1033 snow_emis_table = snow_emis
1036 grain_growth_table = grain_growth
1037 extra_growth_table = extra_growth
1038 dirt_soot_table = dirt_soot
1039 bats_cosz_table = bats_cosz
1040 bats_vis_new_table = bats_vis_new
1041 bats_nir_new_table = bats_nir_new
1042 bats_vis_age_table = bats_vis_age
1043 bats_nir_age_table = bats_nir_age
1044 bats_vis_dir_table = bats_vis_dir
1045 bats_nir_dir_table = bats_nir_dir
1046 rsurf_snow_table = rsurf_snow
1047 rsurf_exp_table = rsurf_exp
1068 inquire( file=
'noahmptable.tbl', exist=file_named )
1069 if ( file_named )
then
1070 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1072 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1075 errmsg =
'warning: cannot find file noahmptable.tbl'
1080 read(15,noahmp_irrigation_parameters)
1084 irr_frac_table = irr_frac
1085 irr_har_table = irr_har
1086 irr_lai_table = irr_lai
1087 irr_mad_table = irr_mad
1088 filoss_table = filoss
1089 sprir_rate_table = sprir_rate
1090 micir_rate_table = micir_rate
1091 firtfac_table = firtfac
1092 ir_rain_table = ir_rain
1095 inquire( file=
'noahmptable.tbl', exist=file_named )
1096 if ( file_named )
then
1097 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1099 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1102 errmsg =
'warning: cannot find file noahmptable.tbl'
1107 read(15,noahmp_crop_parameters)
1111 default_crop_table = default_crop
1112 pltday_table = pltday
1114 plantpop_table = plantpop
1116 gddtbase_table = gddtbase
1117 gddtcut_table = gddtcut
1123 c3psni_table(1:5) = c3psni(1:5)
1124 kc25i_table(1:5) = kc25i(1:5)
1125 akci_table(1:5) = akci(1:5)
1126 ko25i_table(1:5) = ko25i(1:5)
1127 akoi_table(1:5) = akoi(1:5)
1128 avcmxi_table(1:5) = avcmxi(1:5)
1129 vcmx25i_table(1:5) = vcmx25i(1:5)
1130 bpi_table(1:5) = bpi(1:5)
1131 mpi_table(1:5) = mpi(1:5)
1132 folnmxi_table(1:5) = folnmxi(1:5)
1133 qe25i_table(1:5) = qe25i(1:5)
1137 tassim0_table = tassim0
1138 tassim1_table = tassim1
1139 tassim2_table = tassim2
1143 lefreez_table = lefreez
1144 fra_gr_table = fra_gr
1145 lfmr25_table = lfmr25
1146 stmr25_table = stmr25
1147 rtmr25_table = rtmr25
1148 grainmr25_table = grainmr25
1149 bio2lai_table = bio2lai
1150 dile_fc_table(:,1) = dile_fc_s1
1151 dile_fc_table(:,2) = dile_fc_s2
1152 dile_fc_table(:,3) = dile_fc_s3
1153 dile_fc_table(:,4) = dile_fc_s4
1154 dile_fc_table(:,5) = dile_fc_s5
1155 dile_fc_table(:,6) = dile_fc_s6
1156 dile_fc_table(:,7) = dile_fc_s7
1157 dile_fc_table(:,8) = dile_fc_s8
1158 dile_fw_table(:,1) = dile_fw_s1
1159 dile_fw_table(:,2) = dile_fw_s2
1160 dile_fw_table(:,3) = dile_fw_s3
1161 dile_fw_table(:,4) = dile_fw_s4
1162 dile_fw_table(:,5) = dile_fw_s5
1163 dile_fw_table(:,6) = dile_fw_s6
1164 dile_fw_table(:,7) = dile_fw_s7
1165 dile_fw_table(:,8) = dile_fw_s8
1166 lf_ovrc_table(:,1) = lf_ovrc_s1
1167 lf_ovrc_table(:,2) = lf_ovrc_s2
1168 lf_ovrc_table(:,3) = lf_ovrc_s3
1169 lf_ovrc_table(:,4) = lf_ovrc_s4
1170 lf_ovrc_table(:,5) = lf_ovrc_s5
1171 lf_ovrc_table(:,6) = lf_ovrc_s6
1172 lf_ovrc_table(:,7) = lf_ovrc_s7
1173 lf_ovrc_table(:,8) = lf_ovrc_s8
1174 st_ovrc_table(:,1) = st_ovrc_s1
1175 st_ovrc_table(:,2) = st_ovrc_s2
1176 st_ovrc_table(:,3) = st_ovrc_s3
1177 st_ovrc_table(:,4) = st_ovrc_s4
1178 st_ovrc_table(:,5) = st_ovrc_s5
1179 st_ovrc_table(:,6) = st_ovrc_s6
1180 st_ovrc_table(:,7) = st_ovrc_s7
1181 st_ovrc_table(:,8) = st_ovrc_s8
1182 rt_ovrc_table(:,1) = rt_ovrc_s1
1183 rt_ovrc_table(:,2) = rt_ovrc_s2
1184 rt_ovrc_table(:,3) = rt_ovrc_s3
1185 rt_ovrc_table(:,4) = rt_ovrc_s4
1186 rt_ovrc_table(:,5) = rt_ovrc_s5
1187 rt_ovrc_table(:,6) = rt_ovrc_s6
1188 rt_ovrc_table(:,7) = rt_ovrc_s7
1189 rt_ovrc_table(:,8) = rt_ovrc_s8
1190 lfpt_table(:,1) = lfpt_s1
1191 lfpt_table(:,2) = lfpt_s2
1192 lfpt_table(:,3) = lfpt_s3
1193 lfpt_table(:,4) = lfpt_s4
1194 lfpt_table(:,5) = lfpt_s5
1195 lfpt_table(:,6) = lfpt_s6
1196 lfpt_table(:,7) = lfpt_s7
1197 lfpt_table(:,8) = lfpt_s8
1198 stpt_table(:,1) = stpt_s1
1199 stpt_table(:,2) = stpt_s2
1200 stpt_table(:,3) = stpt_s3
1201 stpt_table(:,4) = stpt_s4
1202 stpt_table(:,5) = stpt_s5
1203 stpt_table(:,6) = stpt_s6
1204 stpt_table(:,7) = stpt_s7
1205 stpt_table(:,8) = stpt_s8
1206 rtpt_table(:,1) = rtpt_s1
1207 rtpt_table(:,2) = rtpt_s2
1208 rtpt_table(:,3) = rtpt_s3
1209 rtpt_table(:,4) = rtpt_s4
1210 rtpt_table(:,5) = rtpt_s5
1211 rtpt_table(:,6) = rtpt_s6
1212 rtpt_table(:,7) = rtpt_s7
1213 rtpt_table(:,8) = rtpt_s8
1214 grainpt_table(:,1) = grainpt_s1
1215 grainpt_table(:,2) = grainpt_s2
1216 grainpt_table(:,3) = grainpt_s3
1217 grainpt_table(:,4) = grainpt_s4
1218 grainpt_table(:,5) = grainpt_s5
1219 grainpt_table(:,6) = grainpt_s6
1220 grainpt_table(:,7) = grainpt_s7
1221 grainpt_table(:,8) = grainpt_s8
1222 lfct_table(:,1) = lfct_s1
1223 lfct_table(:,2) = lfct_s2
1224 lfct_table(:,3) = lfct_s3
1225 lfct_table(:,4) = lfct_s4
1226 lfct_table(:,5) = lfct_s5
1227 lfct_table(:,6) = lfct_s6
1228 lfct_table(:,7) = lfct_s7
1229 lfct_table(:,8) = lfct_s8
1230 stct_table(:,1) = stct_s1
1231 stct_table(:,2) = stct_s2
1232 stct_table(:,3) = stct_s3
1233 stct_table(:,4) = stct_s4
1234 stct_table(:,5) = stct_s5
1235 stct_table(:,6) = stct_s6
1236 stct_table(:,7) = stct_s7
1237 stct_table(:,8) = stct_s8
1238 rtct_table(:,1) = rtct_s1
1239 rtct_table(:,2) = rtct_s2
1240 rtct_table(:,3) = rtct_s3
1241 rtct_table(:,4) = rtct_s4
1242 rtct_table(:,5) = rtct_s5
1243 rtct_table(:,6) = rtct_s6
1244 rtct_table(:,7) = rtct_s7
1245 rtct_table(:,8) = rtct_s8
1248 inquire( file=
'noahmptable.tbl', exist=file_named )
1249 if ( file_named )
then
1250 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1252 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1255 errmsg =
'warning: cannot find file noahmptable.tbl'
1260 read(15,noahmp_tiledrain_parameters)
1264 drain_layer_opt_table = drain_layer_opt
1265 tdsmc_fac_table(1:nsoiltype) = tdsmc_fac(1:nsoiltype)
1266 td_depth_table(1:nsoiltype) = td_depth(1:nsoiltype)
1267 td_dc_table(1:nsoiltype) = td_dc(1:nsoiltype)
1268 td_dcoef_table(1:nsoiltype) = td_dcoef(1:nsoiltype)
1269 td_d_table(1:nsoiltype) = td_d(1:nsoiltype)
1270 td_adepth_table(1:nsoiltype) = td_adepth(1:nsoiltype)
1271 td_radi_table(1:nsoiltype) = td_radi(1:nsoiltype)
1272 td_spac_table(1:nsoiltype) = td_spac(1:nsoiltype)
1273 td_ddrain_table(1:nsoiltype) = td_ddrain(1:nsoiltype)
1274 klat_fac_table(1:nsoiltype) = klat_fac(1:nsoiltype)
1277 inquire( file=
'noahmptable.tbl', exist=file_named )
1278 if ( file_named )
then
1279 open(15, file=
"noahmptable.tbl", status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1281 open(15, status=
'old', form=
'formatted', action=
'read', iostat=ierr)
1284 errmsg =
'warning: cannot find file noahmptable.tbl'
1289 read(15,noahmp_optional_parameters)