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

Logistic model of root growth #738

Merged
merged 31 commits into from
Oct 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c8f8be5
dynamic roots
Mar 24, 2021
4d951e1
Update FatesPlantHydraulicsMod.F90
JunyanDing Mar 25, 2021
fc1e179
Update FatesPlantHydraulicsMod.F90
JunyanDing Mar 25, 2021
167fe87
Update FatesPlantHydraulicsMod.F90
JunyanDing Mar 25, 2021
35d7dc7
Update EDPftvarcon.F90
JunyanDing Mar 25, 2021
214e791
Update EDPftvarcon.F90
JunyanDing Mar 25, 2021
9e10f0d
Update FatesPlantHydraulicsMod.F90
JunyanDing Mar 27, 2021
5024ed4
Update FatesPlantHydraulicsMod.F90
JunyanDing Mar 27, 2021
f75de40
but fix Apr07 2021
Apr 7, 2021
c9f49fb
bug fix Apr07 2021
Apr 7, 2021
3a2d88b
Update FatesPlantHydraulicsMod.F90
JunyanDing Jun 9, 2021
31bf1cd
Update FatesPlantHydraulicsMod.F90
JunyanDing Jun 9, 2021
bdd3668
Resolving conflicts between the rooting max-depth branch, and master …
rgknox Jul 21, 2021
3d5b550
Merge pull request #1 from rgknox/DynamicRoots_MD_bugfix
JunyanDing Jul 21, 2021
532ec07
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
c7845ca
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
eb77f66
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
b2ccfe3
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
aad3bbb
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
4bee85e
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
fdc8646
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
695a439
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
12f9d20
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
ea14e77
Update biogeophys/FatesPlantHydraulicsMod.F90
rgknox Sep 27, 2021
b7fd5f5
Removed unnecessary manual attribution statement (author history in g…
rgknox Sep 27, 2021
f7aa5b1
Merge resolution of rooting depth with master. Unification of crown d…
rgknox Sep 30, 2021
a7b29b4
Small fix in batch params script to workaround parser bug
rgknox Sep 30, 2021
a3b094f
cleaning up root depth branch
rgknox Oct 1, 2021
c944640
Created subroutine for maximum rooting depth, passing that into root …
rgknox Oct 1, 2021
f0802ed
Merge pull request #2 from rgknox/DynamicRoots_MD_bugfix_rkupdates
JunyanDing Oct 7, 2021
20224fe
Return step error cap to JDs previous setting, remove unused local va…
rgknox Oct 11, 2021
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
12 changes: 6 additions & 6 deletions biogeochem/EDCanopyStructureMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1601,19 +1601,19 @@ subroutine leaf_area_profile( currentSite )
currentCohort => currentPatch%shortest
do while(associated(currentCohort))
ft = currentCohort%pft
min_chite = currentCohort%hite - currentCohort%hite * EDPftvarcon_inst%crown(ft)
min_chite = currentCohort%hite - currentCohort%hite * prt_params%crown(ft)
max_chite = currentCohort%hite
do iv = 1,N_HITE_BINS
frac_canopy(iv) = 0.0_r8
! this layer is in the middle of the canopy
if(max_chite > maxh(iv).and.min_chite < minh(iv))then
frac_canopy(iv)= min(1.0_r8,dh / (currentCohort%hite*EDPftvarcon_inst%crown(ft)))
frac_canopy(iv)= min(1.0_r8,dh / (currentCohort%hite*prt_params%crown(ft)))
! this is the layer with the bottom of the canopy in it.
elseif(min_chite < maxh(iv).and.min_chite > minh(iv).and.max_chite > maxh(iv))then
frac_canopy(iv) = (maxh(iv) -min_chite ) / (currentCohort%hite*EDPftvarcon_inst%crown(ft))
frac_canopy(iv) = (maxh(iv) -min_chite ) / (currentCohort%hite*prt_params%crown(ft))
! this is the layer with the top of the canopy in it.
elseif(max_chite > minh(iv).and.max_chite < maxh(iv).and.min_chite < minh(iv))then
frac_canopy(iv) = (max_chite - minh(iv)) / (currentCohort%hite*EDPftvarcon_inst%crown(ft))
frac_canopy(iv) = (max_chite - minh(iv)) / (currentCohort%hite*prt_params%crown(ft))
elseif(max_chite < maxh(iv).and.min_chite > minh(iv))then !the whole cohort is within this layer.
frac_canopy(iv) = 1.0_r8
endif
Expand Down Expand Up @@ -1709,11 +1709,11 @@ subroutine leaf_area_profile( currentSite )

layer_top_hite = currentCohort%hite - &
( real(iv-1,r8)/currentCohort%NV * currentCohort%hite * &
EDPftvarcon_inst%crown(currentCohort%pft) )
prt_params%crown(currentCohort%pft) )

layer_bottom_hite = currentCohort%hite - &
( real(iv,r8)/currentCohort%NV * currentCohort%hite * &
EDPftvarcon_inst%crown(currentCohort%pft) )
prt_params%crown(currentCohort%pft) )

fraction_exposed = 1.0_r8
if(currentSite%snow_depth > layer_top_hite)then
Expand Down
2 changes: 1 addition & 1 deletion biogeochem/EDCohortDynamicsMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ subroutine create_cohort(currentSite, patchptr, pft, nn, hite, coage, dbh, &
call InitHydrCohort(currentSite,new_cohort)

! This calculates node heights
call UpdatePlantHydrNodes(new_cohort%co_hydr,new_cohort%pft, &
call UpdatePlantHydrNodes(new_cohort,new_cohort%pft, &
new_cohort%hite,currentSite%si_hydr)

! This calculates volumes and lengths
Expand Down
16 changes: 11 additions & 5 deletions biogeochem/FatesAllometryMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1983,7 +1983,7 @@ end subroutine h2d_martcano
! =====================================================================================


subroutine CrownDepth(height,crown_depth)
subroutine CrownDepth(height,ft,crown_depth)

! -----------------------------------------------------------------------------------
! This routine returns the depth of a plant's crown. Which is the length
Expand All @@ -1993,14 +1993,20 @@ subroutine CrownDepth(height,crown_depth)
! optioned.
! -----------------------------------------------------------------------------------

real(r8),intent(in) :: height ! The height of the plant [m]
real(r8),intent(in) :: height ! The height of the plant [m]
integer,intent(in) :: ft ! functional type index
real(r8),intent(out) :: crown_depth ! The depth of the crown [m]

! Alternative Hypothesis:
! crown depth from Poorter, Bongers & Bongers
! crown_depth = exp(-1.169_r8)*cCohort%hite**1.098_r8

crown_depth = min(height,0.1_r8)

! Alternative Hypothesis:
! Original FATES crown depth heigh used for hydraulics
! crown_depth = min(height,0.1_r8)

crown_depth = prt_params%crown(ft) * height


return
end subroutine CrownDepth
Expand Down
Loading