Skip to content

Commit dbc56ea

Browse files
authored
Merge pull request #530 from rgknox/parameter-update-flhs
Parameter file updates: fire, logging, hydro, seeds and fates_scalar
2 parents 552e9de + d259955 commit dbc56ea

File tree

11 files changed

+641
-617
lines changed

11 files changed

+641
-617
lines changed

biogeochem/EDPhysiologyMod.F90

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ module EDPhysiologyMod
4949
use FatesGlobals , only : fates_log
5050
use FatesGlobals , only : endrun => fates_endrun
5151
use EDParamsMod , only : fates_mortality_disturbance_fraction
52-
use EDLoggingMortalityMod , only : logging_export_frac
53-
!use EDParamsMod , only : logging_export_frac
52+
use EDParamsMod , only : q10_mr
53+
use EDParamsMod , only : q10_froz
54+
use EDParamsMod , only : logging_export_frac
5455

5556
use FatesPlantHydraulicsMod , only : AccumulateMortalityWaterStorage
5657

@@ -986,12 +987,12 @@ subroutine seeds_in( currentSite, cp_pnt )
986987

987988
do p = 1,numpft
988989
currentPatch%seeds_in(p) = currentPatch%seeds_in(p) + &
989-
EDPftvarcon_inst%seed_rain(p) !KgC/m2/year
990+
EDPftvarcon_inst%seed_suppl(p) !KgC/m2/year
990991
currentSite%seed_rain_flux(p) = currentSite%seed_rain_flux(p) + &
991-
EDPftvarcon_inst%seed_rain(p) * currentPatch%area/AREA !KgC/m2/year
992+
EDPftvarcon_inst%seed_suppl(p) * currentPatch%area/AREA !KgC/m2/year
992993

993994
currentSite%flux_in = currentSite%flux_in + &
994-
EDPftvarcon_inst%seed_rain(p) * currentPatch%area * hlm_freq_day
995+
EDPftvarcon_inst%seed_suppl(p) * currentPatch%area * hlm_freq_day
995996

996997
enddo
997998

@@ -1430,28 +1431,21 @@ subroutine fragmentation_scaler( currentPatch, bc_in)
14301431
real(r8) :: catanf ! hyperbolic temperature function from CENTURY
14311432
real(r8) :: catanf_30 ! hyperbolic temperature function from CENTURY
14321433
real(r8) :: t1 ! temperature argument
1433-
real(r8) :: Q10 ! temperature dependence
1434-
real(r8) :: froz_q10 ! separate q10 for frozen soil respiration rates.
1435-
! default to same as above zero rates
14361434
!----------------------------------------------------------------------
14371435

14381436
catanf(t1) = 11.75_r8 +(29.7_r8 / pi) * atan( pi * 0.031_r8 * ( t1 - 15.4_r8 ))
14391437
catanf_30 = catanf(30._r8)
14401438

14411439
ifp = currentPatch%patchno
1442-
1443-
! set "froz_q10" parameter
1444-
froz_q10 = FatesSynchronizedParamsInst%froz_q10
1445-
Q10 = FatesSynchronizedParamsInst%Q10
14461440

14471441
if ( .not. use_century_tfunc ) then
14481442
!calculate rate constant scalar for soil temperature,assuming that the base rate constants
14491443
!are assigned for non-moisture limiting conditions at 25C.
14501444
if (bc_in%t_veg24_pa(ifp) >= tfrz) then
1451-
t_scalar = Q10**((bc_in%t_veg24_pa(ifp)-(tfrz+25._r8))/10._r8)
1445+
t_scalar = q10_mr**((bc_in%t_veg24_pa(ifp)-(tfrz+25._r8))/10._r8)
14521446
! Q10**((t_soisno(c,j)-(tfrz+25._r8))/10._r8)
14531447
else
1454-
t_scalar = (Q10**(-25._r8/10._r8))*(froz_q10**((bc_in%t_veg24_pa(ifp)-tfrz)/10._r8))
1448+
t_scalar = (q10_mr**(-25._r8/10._r8))*(q10_froz**((bc_in%t_veg24_pa(ifp)-tfrz)/10._r8))
14551449
!Q10**(-25._r8/10._r8))*(froz_q10**((t_soisno(c,j)-tfrz)/10._r8)
14561450
endif
14571451
else

biogeophys/FatesPlantHydraulicsMod.F90

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ module FatesPlantHydraulicsMod
4141
use FatesConstantsMod, only : g_per_kg
4242

4343
use EDParamsMod , only : hydr_kmax_rsurf1
44-
! use EDParamsMod , only : hydr_kmax_rsurf2
45-
44+
use EDParamsMod , only : hydr_kmax_rsurf2
45+
4646
use EDTypesMod , only : ed_site_type
4747
use EDTypesMod , only : ed_patch_type
4848
use EDTypesMod , only : ed_cohort_type
@@ -886,10 +886,6 @@ subroutine UpdateWaterDepTreeHydrCond(currentSite,ccohort,nlevsoi_hyd,bc_in)
886886
! which is equiv to [kg m-1 s-1 MPa-1]
887887
real(r8) :: kmax_root_surf ! maximum conducitivity for unit root surface (kg water/m2 root area/Mpa/s)
888888

889-
! (RGK 4-2019) THE FOLLOWING SHOULD BE ADDED TO THE PARAMETER FILE IN NEXT GROUPING
890-
real(r8), parameter :: hydr_kmax_rsurf2 = 0.0001_r8 ! kg water/m2 root area/Mpa/s
891-
892-
893889
ccohort_hydr => ccohort%co_hydr
894890
csite_hydr => currentSite%si_hydr
895891
k = 1 !only for the first soil shell
@@ -1743,7 +1739,7 @@ subroutine UpdateSizeDepRhizVolLenCon(currentSite, bc_in)
17431739
enddo !cohort
17441740
cPatch => cPatch%older
17451741
enddo !patch
1746-
1742+
17471743
csite_hydr%l_aroot_1D = sum( csite_hydr%l_aroot_layer(:))
17481744

17491745
! update outer radii of column-level rhizosphere shells (same across patches and cohorts)

biogeophys/FatesPlantRespPhotosynthMod.F90

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ module FATESPlantRespPhotosynthMod
3535
use EDTypesMod, only : nclmax
3636
use EDTypesMod, only : max_nleafage
3737
use EDTypesMod, only : do_fates_salinity
38+
use EDParamsMod, only : q10_mr
3839
use PRTGenericMod, only : prt_carbon_allom_hyp
3940
use PRTGenericMod, only : prt_cnp_flex_allom_hyp
4041
use PRTGenericMod, only : all_carbon_elements
@@ -246,8 +247,8 @@ subroutine FatesPlantRespPhotosynthDrive (nsites, sites,bc_in,bc_out,dtime)
246247
c3psn => EDPftvarcon_inst%c3psn , &
247248
slatop => EDPftvarcon_inst%slatop , & ! specific leaf area at top of canopy,
248249
! projected area basis [m^2/gC]
249-
woody => EDPftvarcon_inst%woody , & ! Is vegetation woody or not?
250-
q10 => FatesSynchronizedParamsInst%Q10 )
250+
woody => EDPftvarcon_inst%woody) ! Is vegetation woody or not?
251+
251252

252253
bbbopt(0) = ED_val_bbopt_c4
253254
bbbopt(1) = ED_val_bbopt_c3
@@ -640,7 +641,7 @@ subroutine FatesPlantRespPhotosynthDrive (nsites, sites,bc_in,bc_out,dtime)
640641
! Live stem MR (kgC/plant/s) (above ground sapwood)
641642
! ------------------------------------------------------------------
642643
if (woody(ft) == 1) then
643-
tcwood = q10**((bc_in(s)%t_veg_pa(ifp)-tfrz - 20.0_r8)/10.0_r8)
644+
tcwood = q10_mr**((bc_in(s)%t_veg_pa(ifp)-tfrz - 20.0_r8)/10.0_r8)
644645
! kgC/s = kgN * kgC/kgN/s
645646
currentCohort%livestem_mr = live_stem_n * ED_val_base_mr_20 * tcwood * maintresp_reduction_factor
646647
else
@@ -652,7 +653,7 @@ subroutine FatesPlantRespPhotosynthDrive (nsites, sites,bc_in,bc_out,dtime)
652653
! ------------------------------------------------------------------
653654
currentCohort%froot_mr = 0._r8
654655
do j = 1,bc_in(s)%nlevsoil
655-
tcsoi = q10**((bc_in(s)%t_soisno_sl(j)-tfrz - 20.0_r8)/10.0_r8)
656+
tcsoi = q10_mr**((bc_in(s)%t_soisno_sl(j)-tfrz - 20.0_r8)/10.0_r8)
656657
currentCohort%froot_mr = currentCohort%froot_mr + &
657658
fnrt_n * ED_val_base_mr_20 * tcsoi * currentPatch%rootfr_ft(ft,j) * maintresp_reduction_factor
658659
enddo
@@ -663,7 +664,7 @@ subroutine FatesPlantRespPhotosynthDrive (nsites, sites,bc_in,bc_out,dtime)
663664
currentCohort%livecroot_mr = 0._r8
664665
do j = 1,bc_in(s)%nlevsoil
665666
! Soil temperature used to adjust base rate of MR
666-
tcsoi = q10**((bc_in(s)%t_soisno_sl(j)-tfrz - 20.0_r8)/10.0_r8)
667+
tcsoi = q10_mr**((bc_in(s)%t_soisno_sl(j)-tfrz - 20.0_r8)/10.0_r8)
667668
currentCohort%livecroot_mr = currentCohort%livecroot_mr + &
668669
live_croot_n * ED_val_base_mr_20 * tcsoi * &
669670
currentPatch%rootfr_ft(ft,j) * maintresp_reduction_factor

fire/SFParamsMod.F90

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,26 @@ module SFParamsMod
3535
real(r8),protected :: SF_val_mid_moisture_Coeff(NFSC)
3636
real(r8),protected :: SF_val_mid_moisture_Slope(NFSC)
3737

38-
character(len=param_string_length),parameter :: SF_name_fdi_a = "fates_fdi_a"
39-
character(len=param_string_length),parameter :: SF_name_fdi_b = "fates_fdi_b"
40-
character(len=param_string_length),parameter :: SF_name_fdi_alpha = "fates_fdi_alpha"
41-
character(len=param_string_length),parameter :: SF_name_miner_total = "fates_miner_total"
42-
character(len=param_string_length),parameter :: SF_name_fuel_energy = "fates_fuel_energy"
43-
character(len=param_string_length),parameter :: SF_name_part_dens = "fates_part_dens"
44-
character(len=param_string_length),parameter :: SF_name_miner_damp = "fates_miner_damp"
45-
character(len=param_string_length),parameter :: SF_name_max_durat = "fates_max_durat"
46-
character(len=param_string_length),parameter :: SF_name_durat_slope = "fates_durat_slope"
47-
character(len=param_string_length),parameter :: SF_name_drying_ratio = "fates_drying_ratio"
38+
character(len=param_string_length),parameter :: SF_name_fdi_a = "fates_fire_fdi_a"
39+
character(len=param_string_length),parameter :: SF_name_fdi_b = "fates_fire_fdi_b"
40+
character(len=param_string_length),parameter :: SF_name_fdi_alpha = "fates_fire_fdi_alpha"
41+
character(len=param_string_length),parameter :: SF_name_miner_total = "fates_fire_miner_total"
42+
character(len=param_string_length),parameter :: SF_name_fuel_energy = "fates_fire_fuel_energy"
43+
character(len=param_string_length),parameter :: SF_name_part_dens = "fates_fire_part_dens"
44+
character(len=param_string_length),parameter :: SF_name_miner_damp = "fates_fire_miner_damp"
45+
character(len=param_string_length),parameter :: SF_name_max_durat = "fates_fire_max_durat"
46+
character(len=param_string_length),parameter :: SF_name_durat_slope = "fates_fire_durat_slope"
47+
character(len=param_string_length),parameter :: SF_name_drying_ratio = "fates_fire_drying_ratio"
4848
character(len=param_string_length),parameter :: SF_name_CWD_frac = "fates_CWD_frac"
4949
character(len=param_string_length),parameter :: SF_name_max_decomp = "fates_max_decomp"
50-
character(len=param_string_length),parameter :: SF_name_SAV = "fates_SAV"
51-
character(len=param_string_length),parameter :: SF_name_FBD = "fates_FBD"
52-
character(len=param_string_length),parameter :: SF_name_min_moisture = "fates_min_moisture"
53-
character(len=param_string_length),parameter :: SF_name_mid_moisture = "fates_mid_moisture"
54-
character(len=param_string_length),parameter :: SF_name_low_moisture_Coeff = "fates_low_moisture_Coeff"
55-
character(len=param_string_length),parameter :: SF_name_low_moisture_Slope = "fates_low_moisture_Slope"
56-
character(len=param_string_length),parameter :: SF_name_mid_moisture_Coeff = "fates_mid_moisture_Coeff"
57-
character(len=param_string_length),parameter :: SF_name_mid_moisture_Slope = "fates_mid_moisture_Slope"
50+
character(len=param_string_length),parameter :: SF_name_SAV = "fates_fire_SAV"
51+
character(len=param_string_length),parameter :: SF_name_FBD = "fates_fire_FBD"
52+
character(len=param_string_length),parameter :: SF_name_min_moisture = "fates_fire_min_moisture"
53+
character(len=param_string_length),parameter :: SF_name_mid_moisture = "fates_fire_mid_moisture"
54+
character(len=param_string_length),parameter :: SF_name_low_moisture_Coeff = "fates_fire_low_moisture_Coeff"
55+
character(len=param_string_length),parameter :: SF_name_low_moisture_Slope = "fates_fire_low_moisture_Slope"
56+
character(len=param_string_length),parameter :: SF_name_mid_moisture_Coeff = "fates_fire_mid_moisture_Coeff"
57+
character(len=param_string_length),parameter :: SF_name_mid_moisture_Slope = "fates_fire_mid_moisture_Slope"
5858

5959
public :: SpitFireRegisterParams
6060
public :: SpitFireReceiveParams

0 commit comments

Comments
 (0)