Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1 Land Use Change #1040

Merged
merged 132 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from 116 commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
0cc9f90
starting to sketch out how the LUH data will be used in FATES
ckoven Mar 10, 2023
c4ea362
megred main
ckoven Mar 10, 2023
ece80ee
more sketching out of land use change in FATES
ckoven Mar 11, 2023
8bedc2b
more landuse
ckoven Mar 27, 2023
8c942e8
reorganized disturbance loop in spawn patches to avoid need for multi…
ckoven Mar 27, 2023
79c25fb
first attempt to apply the transition matrix in the disturbance code
ckoven Mar 27, 2023
58b78d5
added land clearing rulest
ckoven Mar 28, 2023
2361d93
revised and included the clearing ruleset
ckoven Mar 28, 2023
ebf3516
more updates to disturbance code
ckoven Mar 31, 2023
27882be
merged main and resolved conflicts
ckoven Mar 31, 2023
6e04f6e
added new subroutine to deal with litter fluxes during LU transition …
ckoven Apr 6, 2023
ee33871
starting to add land use initialization logic
ckoven Apr 7, 2023
9b32d87
logic fix
ckoven Apr 7, 2023
83664fa
more initialization
ckoven Apr 7, 2023
abc5311
adding hlm_use_luh switch
ckoven Apr 7, 2023
dbf3538
bugfix
ckoven Apr 7, 2023
f7c2070
fix for relative vs absolute land use transition rates
ckoven Apr 7, 2023
31ad7a1
name changes to patch%land_use_label and primaryforest to primaryland…
ckoven Apr 7, 2023
cafa72d
Add use_luh2 case to set_fates_ctrlparams
glemieux Apr 11, 2023
4099345
Move LUH2 allocations
glemieux Apr 12, 2023
8e1d2d6
Align naming convention as set in FatesConstantsMod
glemieux Apr 17, 2023
5fd30d2
Match constants references to constants module
glemieux Apr 17, 2023
b6a6cdb
Match constants to constants module
glemieux Apr 17, 2023
33bf881
Correct non-constant dimension
glemieux Apr 17, 2023
efd8707
correct build issues
glemieux Apr 18, 2023
893615c
adding land-use and LUxLU hist machinery and one hist variable
ckoven Apr 18, 2023
f166ef3
Matching landunit variable naming convention
glemieux Apr 18, 2023
6c894bc
Fix bad global search and replace
glemieux Apr 18, 2023
1f4633b
Align pasture constant name with other landunits
glemieux Apr 18, 2023
ebce1c0
add landuse transition rate as a patch level variable
glemieux Apr 18, 2023
ae2eac1
update loop ids to avoid duplicate name scheme
glemieux Apr 18, 2023
deb8039
add missing end case statement
glemieux Apr 19, 2023
f419c94
replace site level disturbance variables with one
glemieux Apr 19, 2023
b4a7f3a
adding new maxpatch category registration
glemieux Apr 19, 2023
b1c4571
adding and updating new variable definitions
glemieux Apr 19, 2023
713aa87
logic fix for receiver patch label during land use change
ckoven Apr 20, 2023
fb7b4eb
adding use statements for land use change mod
glemieux Apr 20, 2023
6c8f560
updated diagnostic disturbance rates variables
ckoven Apr 20, 2023
3f2fc4b
fixing the math on prior
ckoven Apr 21, 2023
825d327
simplifying labeling logic for disturbance types
ckoven Apr 21, 2023
3026872
bugfix on prior
ckoven Apr 21, 2023
a616aa7
copy patch xml file
glemieux Apr 22, 2023
b994fd9
update xml patch file with necessary changes
glemieux Apr 22, 2023
9961b01
Merge tag 'sci.1.65.4_api.25.4.0' into luh2
glemieux Apr 22, 2023
9a9ef83
add api25.4 fates default paramfile to archive
glemieux Apr 22, 2023
bf35c78
changing some variable names in patch fusion
ckoven Apr 24, 2023
a35aec2
Correct type and reintroduce site variable
glemieux Apr 25, 2023
87362b4
Correcting typos
glemieux Apr 25, 2023
f5bb2d0
fix runtime issues
glemieux Apr 25, 2023
6a935ad
fix runtime issues to avoid NaN
glemieux Apr 26, 2023
b19cedf
add primary_to_primary accumulation
glemieux Apr 27, 2023
4469620
removing site%disturbance_rates_primary_to_primary variable
ckoven May 1, 2023
ac181bc
refactor land use mapping
glemieux May 4, 2023
7bc6e4c
remove comment and update getindex fullname
glemieux May 4, 2023
e69d6e3
align procedure names
glemieux May 4, 2023
dd916b6
add logic to handle incoming NaNs from LUH2
glemieux May 23, 2023
a4cb742
correct logic on transition matrix update
glemieux May 23, 2023
c94158f
transfer luh2 nan check into its own procedure
glemieux May 24, 2023
7033cef
remove diagnostics
glemieux May 24, 2023
a20b696
remove unnessary use statements
glemieux May 24, 2023
32be05b
fixed units on LU transition rates
ckoven Jun 5, 2023
12749be
adding logic to handle case where disturbance_rate is slightly greate…
ckoven Jun 5, 2023
2c8193b
update patch insertion to account for more landuse types
glemieux Jun 6, 2023
3b19f3d
add fix to age indexing
glemieux Jun 6, 2023
9c209b5
remove old diagnostic write statements
glemieux Jun 6, 2023
1377f2d
remove missed diagnostic write
glemieux Jun 6, 2023
71737af
remove tail of old write statment
glemieux Jun 6, 2023
feba193
increasing variable character length
glemieux Jun 6, 2023
47122a9
initial commit to create insert_patch procedure
glemieux Jun 8, 2023
63b335d
add simplest insertion method
glemieux Jun 8, 2023
a3100a9
adding option 1 and 4
glemieux Jun 8, 2023
f542db6
add other patch insertion options
glemieux Jun 8, 2023
c325d72
fix missing end if
glemieux Jun 8, 2023
68e2eff
remote erroneous pointer attribute from currentSite
glemieux Jun 8, 2023
f13e621
correct insert patch option 2
glemieux Jun 8, 2023
bc91bd6
initial commmit for patch termination update
glemieux Jun 9, 2023
aa7804b
add additional comments clarifying potential patch fusion
glemieux Jun 9, 2023
ad8701b
add missing gotfused flag
glemieux Jun 9, 2023
5a2f818
correct typo
glemieux Jun 9, 2023
b3ae8c2
Merge tag 'sci.1.65.5_api.25.4.0' into luh2-refactor_merge
glemieux Aug 9, 2023
562ed50
Merge tag 'sci.1.65.7_api.25.4.0' into luh2-refactor_merge
glemieux Aug 9, 2023
a3cc2d4
Merge tag 'sci.1.66.0_api.25.5.0' into luh2-refactor_merge
glemieux Aug 9, 2023
4c59f81
Merge tag 'sci.1.67.0_api.25.5.0' into luh2-refactor_merge
glemieux Aug 9, 2023
672bae3
updating parameter file and archives
glemieux Aug 10, 2023
68c7fc6
Merge tag 'sci.1.67.1_api.26.0.0' into luh2-refactor_merge
glemieux Aug 10, 2023
7ba2e79
correct refactor merge issues
glemieux Aug 10, 2023
1502710
correcting additonal bad refactor merge
glemieux Aug 11, 2023
698b91c
Add landuse to initialization procedures
glemieux Aug 15, 2023
0b5d890
Merge branch 'luh2' into luh2-insert_patch
glemieux Aug 15, 2023
c55d7ae
convert insert patch else if to case select
glemieux Aug 15, 2023
33754e1
Merge branch 'luh2' into luh2-fuse-youngest
glemieux Aug 17, 2023
ae880a8
update case names for InsertPatch and clarify comments
glemieux Aug 17, 2023
b640df0
Update the terminate patch process for fusion of different landuse la…
glemieux Aug 18, 2023
de2f8a5
Merge branch 'luh2-fuse-youngest' into luh2-insert-fuse
glemieux Aug 18, 2023
0da2f92
correct case statements and variable name mismatch
glemieux Aug 18, 2023
a9ad185
Merge branch 'luh2-insert_patch' into luh2-insert-fuse
glemieux Aug 18, 2023
cc967cf
fix single line if statements
glemieux Aug 18, 2023
ee47d14
Merge branch 'luh2-fuse-youngest' into luh2-insert-fuse
glemieux Aug 18, 2023
f6687de
adjust patch termination comments
glemieux Aug 18, 2023
0dce77f
correct logic for checking youngest landuse type patch
glemieux Aug 19, 2023
f0e8aa1
add debug check to write statements in fusion
glemieux Aug 21, 2023
b1f36bc
add landuse x pft dimension
glemieux Sep 5, 2023
800136d
pasted code from grazing branch for adding land use dimension to para…
ckoven Aug 10, 2023
e2378fb
changing parameter read infrastructure for maxpatches by landuse cons…
ckoven Sep 12, 2023
4392c39
more changes for maxpatches by landuse consolidation
ckoven Sep 12, 2023
62a6553
fixed/updated clearing matrix logic
ckoven Sep 12, 2023
93fd29d
merged main and resolved conflicts
ckoven Sep 12, 2023
ffdbb86
update patch xml with combined maxpatch variable
glemieux Sep 13, 2023
beeb0fa
align maxpatches by landuse variable names
glemieux Sep 13, 2023
059a03e
fix total area variable name
glemieux Sep 15, 2023
df91bb2
fixed dimension order
ckoven Sep 19, 2023
dd58c11
adding some more comments to spawn_patches
ckoven Oct 5, 2023
853efcf
added restart capability for site-level disturbance rate diagnostic
ckoven Oct 5, 2023
26d6a9f
reset n_dist_types back to 4
ckoven Oct 5, 2023
12132bd
various fixes per review comments
ckoven Oct 5, 2023
3fc589e
minor build fix
glemieux Oct 6, 2023
2ae2f91
manually revert back to previous terminate patches subroutine method
glemieux Oct 6, 2023
bc8fddd
minor comment alignments and fixing bad copies
glemieux Oct 6, 2023
40d74ad
remove largestpatch missed in manual reversion
glemieux Oct 6, 2023
f47f009
update last ditch fusion to have donor give reciever the same age_since
glemieux Oct 6, 2023
3d5e878
update diagnostics
glemieux Oct 13, 2023
8cf5d47
remove diagnostic statments
glemieux Oct 16, 2023
51c0125
Merge branch 'main' into luh2
glemieux Nov 15, 2023
3c361de
add graceful failure if the HLM state name is not found in the fates …
glemieux Nov 29, 2023
cde7e7d
correct findloc check for landuse state name check
glemieux Nov 29, 2023
ef1c454
Merge tag 'sci.1.69.0_api.31.0.0' into luh2
glemieux Nov 29, 2023
1cf7bca
fix merge that snuck in old anthro disturbance label
glemieux Nov 30, 2023
ea24aa8
rename the parameter patch file to reflect the actual next tag
glemieux Nov 30, 2023
4966a98
refactor to replace findloc intrinsic
glemieux Dec 14, 2023
ece937c
fix array size call
glemieux Dec 15, 2023
56eec56
Reduce the sum of fates_maxpatches_per_landuse to 16 as default
glemieux Dec 15, 2023
7a7a8a3
rename the patch paramfile for api 32
glemieux Dec 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions biogeochem/EDLoggingMortalityMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ module EDLoggingMortalityMod
use PRTGenericMod , only : sapw_organ, struct_organ, leaf_organ
use PRTGenericMod , only : fnrt_organ, store_organ, repro_organ
use FatesAllometryMod , only : set_root_fraction
use FatesConstantsMod , only : primaryforest, secondaryforest, secondary_age_threshold
use FatesConstantsMod , only : primaryland, secondaryland, secondary_age_threshold
use FatesConstantsMod , only : fates_tiny
use FatesConstantsMod , only : months_per_year, days_per_sec, years_per_day, g_per_kg
use FatesConstantsMod , only : hlm_harvest_area_fraction
Expand Down Expand Up @@ -199,7 +199,7 @@ subroutine LoggingMortality_frac( pft_i, dbh, canopy_layer, lmort_direct, &
lmort_collateral,lmort_infra, l_degrad, &
hlm_harvest_rates, hlm_harvest_catnames, &
hlm_harvest_units, &
patch_anthro_disturbance_label, secondary_age, &
patch_land_use_label, secondary_age, &
frac_site_primary, harvestable_forest_c, &
harvest_tag)

Expand All @@ -210,7 +210,7 @@ subroutine LoggingMortality_frac( pft_i, dbh, canopy_layer, lmort_direct, &
real(r8), intent(in) :: hlm_harvest_rates(:) ! annual harvest rate per hlm category
character(len=64), intent(in) :: hlm_harvest_catnames(:) ! names of hlm harvest categories
integer, intent(in) :: hlm_harvest_units ! unit type of hlm harvest rates: [area vs. mass]
integer, intent(in) :: patch_anthro_disturbance_label ! patch level anthro_disturbance_label
integer, intent(in) :: patch_land_use_label ! patch level land_use_label
real(r8), intent(in) :: secondary_age ! patch level age_since_anthro_disturbance
real(r8), intent(in) :: harvestable_forest_c(:) ! total harvestable forest carbon
! of all hlm harvest categories
Expand Down Expand Up @@ -265,7 +265,7 @@ subroutine LoggingMortality_frac( pft_i, dbh, canopy_layer, lmort_direct, &
! HARVEST_SH3 = harvest from secondary non-forest (assume this is young for biomass)

! Get the area-based harvest rates based on info passed to FATES from the boundary condition
call get_harvest_rate_area (patch_anthro_disturbance_label, hlm_harvest_catnames, &
call get_harvest_rate_area (patch_land_use_label, hlm_harvest_catnames, &
hlm_harvest_rates, frac_site_primary, secondary_age, harvest_rate)

! For area-based harvest, harvest_tag shall always be 2 (not applicable).
Expand All @@ -280,7 +280,7 @@ subroutine LoggingMortality_frac( pft_i, dbh, canopy_layer, lmort_direct, &
! 2=use carbon from hlm
! shall call another subroutine, which transfers biomass/carbon into fraction

call get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_catnames, &
call get_harvest_rate_carbon (patch_land_use_label, hlm_harvest_catnames, &
hlm_harvest_rates, secondary_age, harvestable_forest_c, &
harvest_rate, harvest_tag, cur_harvest_tag)

Expand Down Expand Up @@ -348,7 +348,7 @@ end subroutine LoggingMortality_frac

! ============================================================================

subroutine get_harvest_rate_area (patch_anthro_disturbance_label, hlm_harvest_catnames, hlm_harvest_rates, &
subroutine get_harvest_rate_area (patch_land_use_label, hlm_harvest_catnames, hlm_harvest_rates, &
frac_site_primary, secondary_age, harvest_rate)


Expand All @@ -361,7 +361,7 @@ subroutine get_harvest_rate_area (patch_anthro_disturbance_label, hlm_harvest_ca
! Arguments
real(r8), intent(in) :: hlm_harvest_rates(:) ! annual harvest rate per hlm category
character(len=64), intent(in) :: hlm_harvest_catnames(:) ! names of hlm harvest categories
integer, intent(in) :: patch_anthro_disturbance_label ! patch level anthro_disturbance_label
integer, intent(in) :: patch_land_use_label ! patch level land_use_label
real(r8), intent(in) :: secondary_age ! patch level age_since_anthro_disturbance
real(r8), intent(in) :: frac_site_primary
real(r8), intent(out) :: harvest_rate
Expand All @@ -374,17 +374,17 @@ subroutine get_harvest_rate_area (patch_anthro_disturbance_label, hlm_harvest_ca
! We do account forest only since non-forest harvest has geographical mismatch to LUH2 dataset
harvest_rate = 0._r8
do h_index = 1,hlm_num_lu_harvest_cats
if (patch_anthro_disturbance_label .eq. primaryforest) then
if (patch_land_use_label .eq. primaryland) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_VH1" .or. &
hlm_harvest_catnames(h_index) .eq. "HARVEST_VH2") then
harvest_rate = harvest_rate + hlm_harvest_rates(h_index)
endif
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age >= secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH1") then
harvest_rate = harvest_rate + hlm_harvest_rates(h_index)
endif
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age < secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH2" .or. &
hlm_harvest_catnames(h_index) .eq. "HARVEST_SH3") then
Expand All @@ -396,7 +396,7 @@ subroutine get_harvest_rate_area (patch_anthro_disturbance_label, hlm_harvest_ca
! Normalize by site-level primary or secondary forest fraction
! since harvest_rate is specified as a fraction of the gridcell
! also need to put a cap so as not to harvest more primary or secondary area than there is in a gridcell
if (patch_anthro_disturbance_label .eq. primaryforest) then
if (patch_land_use_label .eq. primaryland) then
if (frac_site_primary .gt. fates_tiny) then
harvest_rate = min((harvest_rate / frac_site_primary),frac_site_primary)
else
Expand Down Expand Up @@ -511,18 +511,18 @@ subroutine get_harvestable_carbon (csite, site_area, hlm_harvest_catnames, harve
! since we have not separated forest vs. non-forest
! all carbon belongs to the forest categories
do h_index = 1,hlm_num_lu_harvest_cats
if (currentPatch%anthro_disturbance_label .eq. primaryforest) then
if (currentPatch%land_use_label .eq. primaryland) then
! Primary
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_VH1") then
harvestable_forest_c(h_index) = harvestable_forest_c(h_index) + harvestable_patch_c
end if
else if (currentPatch%anthro_disturbance_label .eq. secondaryforest .and. &
else if (currentPatch%land_use_label .eq. secondaryland .and. &
currentPatch%age_since_anthro_disturbance >= secondary_age_threshold) then
! Secondary mature
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH1") then
harvestable_forest_c(h_index) = harvestable_forest_c(h_index) + harvestable_patch_c
end if
else if (currentPatch%anthro_disturbance_label .eq. secondaryforest .and. &
else if (currentPatch%land_use_label .eq. secondaryland .and. &
currentPatch%age_since_anthro_disturbance < secondary_age_threshold) then
! Secondary young
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH2") then
Expand All @@ -537,7 +537,7 @@ end subroutine get_harvestable_carbon

! ============================================================================

subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_catnames, &
subroutine get_harvest_rate_carbon (patch_land_use_label, hlm_harvest_catnames, &
hlm_harvest_rates, secondary_age, harvestable_forest_c, &
harvest_rate, harvest_tag, cur_harvest_tag)

Expand All @@ -550,7 +550,7 @@ subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_
! Arguments
real(r8), intent(in) :: hlm_harvest_rates(:) ! annual harvest rate per hlm category
character(len=64), intent(in) :: hlm_harvest_catnames(:) ! names of hlm harvest categories
integer, intent(in) :: patch_anthro_disturbance_label ! patch level anthro_disturbance_label
integer, intent(in) :: patch_land_use_label ! patch level land_use_label
real(r8), intent(in) :: secondary_age ! patch level age_since_anthro_disturbance
real(r8), intent(in) :: harvestable_forest_c(:) ! site level forest c matching criteria available for harvest, kgC site-1
real(r8), intent(out) :: harvest_rate ! area fraction
Expand Down Expand Up @@ -584,17 +584,17 @@ subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_
! mature and secondary young).
! Get the harvest rate from HLM
do h_index = 1,hlm_num_lu_harvest_cats
if (patch_anthro_disturbance_label .eq. primaryforest) then
if (patch_land_use_label .eq. primaryland) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_VH1" .or. &
hlm_harvest_catnames(h_index) .eq. "HARVEST_VH2") then
harvest_rate_c = harvest_rate_c + hlm_harvest_rates(h_index)
endif
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age >= secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH1") then
harvest_rate_c = harvest_rate_c + hlm_harvest_rates(h_index)
endif
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age < secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH2" .or. &
hlm_harvest_catnames(h_index) .eq. "HARVEST_SH3") then
Expand All @@ -606,7 +606,7 @@ subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_
! Determine harvest status (succesful or not)
! Here only three categories are used
do h_index = 1,hlm_num_lu_harvest_cats
if (patch_anthro_disturbance_label .eq. primaryforest) then
if (patch_land_use_label .eq. primaryland) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_VH1" ) then
if(harvestable_forest_c(h_index) >= harvest_rate_c) then
harvest_rate_supply = harvest_rate_supply + harvestable_forest_c(h_index)
Expand All @@ -615,7 +615,7 @@ subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_
harvest_tag(h_index) = 1
end if
end if
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age >= secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH1" ) then
if(harvestable_forest_c(h_index) >= harvest_rate_c) then
Expand All @@ -625,7 +625,7 @@ subroutine get_harvest_rate_carbon (patch_anthro_disturbance_label, hlm_harvest_
harvest_tag(h_index) = 1
end if
end if
else if (patch_anthro_disturbance_label .eq. secondaryforest .and. &
else if (patch_land_use_label .eq. secondaryland .and. &
secondary_age < secondary_age_threshold) then
if(hlm_harvest_catnames(h_index) .eq. "HARVEST_SH2" ) then
if(harvestable_forest_c(h_index) >= harvest_rate_c) then
Expand Down
6 changes: 3 additions & 3 deletions biogeochem/EDMortalityFunctionsMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ end subroutine mortality_rates
! ============================================================================

subroutine Mortality_Derivative( currentSite, currentCohort, bc_in, btran_ft, &
mean_temp, anthro_disturbance_label, age_since_anthro_disturbance, &
mean_temp, land_use_label, age_since_anthro_disturbance, &
frac_site_primary, harvestable_forest_c, harvest_tag)

!
Expand All @@ -250,7 +250,7 @@ subroutine Mortality_Derivative( currentSite, currentCohort, bc_in, btran_ft, &
type(bc_in_type), intent(in) :: bc_in
real(r8), intent(in) :: btran_ft(maxpft)
real(r8), intent(in) :: mean_temp
integer, intent(in) :: anthro_disturbance_label
integer, intent(in) :: land_use_label
real(r8), intent(in) :: age_since_anthro_disturbance
real(r8), intent(in) :: frac_site_primary

Expand Down Expand Up @@ -289,7 +289,7 @@ subroutine Mortality_Derivative( currentSite, currentCohort, bc_in, btran_ft, &
bc_in%hlm_harvest_rates, &
bc_in%hlm_harvest_catnames, &
bc_in%hlm_harvest_units, &
anthro_disturbance_label, &
land_use_label, &
age_since_anthro_disturbance, &
frac_site_primary, harvestable_forest_c, harvest_tag)

Expand Down
Loading