-
Notifications
You must be signed in to change notification settings - Fork 92
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
parteh v1 #421
parteh v1 #421
Changes from 30 commits
857d873
229dce0
9140338
3aafcae
e7fedaa
8b58a68
a3b68cb
39fbed2
f987da9
d3f760f
f6b47fd
22b62f8
efe38c2
9a34945
fb39f3c
b27fbee
a40884f
11c4855
d1497bb
ec51801
33c8fa9
dcb9219
f133b79
19f634d
43dcde8
707b0c9
2e96e19
a3f91ec
e9b32b0
fe69005
d397866
881b5fc
4808362
bfbe4b6
26f4c70
9bf1ad7
ba3a24e
a2119ad
ee39364
ad301bc
ef87e48
a2dd80d
4be98cc
daacfb2
f20cd68
c8d2025
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Compiled source # | ||
################### | ||
*.com | ||
*.class | ||
*.dll | ||
*.exe | ||
*.o | ||
*.so | ||
*.mod | ||
*.pyc | ||
|
||
# Packages # | ||
############ | ||
# it's better to unpack these files and commit the raw source | ||
# git has its own built in compression methods | ||
*.7z | ||
*.dmg | ||
*.gz | ||
*.iso | ||
*.jar | ||
*.rar | ||
*.tar | ||
*.zip | ||
*.nc | ||
|
||
# Logs and databases # | ||
###################### | ||
*.log | ||
*.sql | ||
*.out | ||
*.sqlite | ||
|
||
# OS generated files # | ||
###################### | ||
.DS_Store | ||
.DS_Store? | ||
._* | ||
.Spotlight-V100 | ||
.Trashes | ||
ehthumbs.db | ||
Thumbs.db | ||
|
||
# Latex/Tex files # | ||
*.aux | ||
*.dvi | ||
*.toc | ||
|
||
|
||
# Old Files | ||
*~ |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,8 @@ module EDMortalityFunctionsMod | |
use EDParamsMod , only : fates_mortality_disturbance_fraction | ||
use FatesInterfaceMod , only : bc_in_type | ||
|
||
use PRTGenericMod, only : carbon12_species | ||
use PRTGenericMod, only : store_organ | ||
|
||
implicit none | ||
private | ||
|
@@ -57,7 +59,8 @@ subroutine mortality_rates( cohort_in,bc_in,cmort,hmort,bmort,frmort ) | |
real(r8),intent(out) :: frmort ! freezing stress mortality | ||
|
||
real(r8) :: frac ! relativised stored carbohydrate | ||
real(r8) :: b_leaf ! target leaf biomass kgC | ||
real(r8) :: leaf_c_target ! target leaf biomass kgC | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so again to clear up some possible confusion, we seem to still be interchanging b_leaf with leaf_c in some places, is that correct? Or should we replace all previous b_leaf with leaf_c to represent leaf biomass? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. these naming conventions should definitely be cleared up. I'm pretty sure that anywhere in the code you see "b_leaf", it actually is referring to the target leaf biomass, ie the value of the pool when it is on allometry and fully flushed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK got it |
||
real(r8) :: store_c | ||
real(r8) :: hf_sm_threshold ! hydraulic failure soil moisture threshold | ||
real(r8) :: temp_dep_fraction ! Temp. function (freezing mortality) | ||
real(r8) :: temp_in_C ! Daily averaged temperature in Celcius | ||
|
@@ -83,8 +86,11 @@ subroutine mortality_rates( cohort_in,bc_in,cmort,hmort,bmort,frmort ) | |
|
||
! Carbon Starvation induced mortality. | ||
if ( cohort_in%dbh > 0._r8 ) then | ||
call bleaf(cohort_in%dbh,cohort_in%pft,cohort_in%canopy_trim,b_leaf) | ||
call storage_fraction_of_target(b_leaf, cohort_in%bstore, frac) | ||
call bleaf(cohort_in%dbh,cohort_in%pft,cohort_in%canopy_trim,leaf_c_target) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Or maybe I am accidentally conflating things since I also see this sub is called bleaf. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that subroutine should be renamed to convey that it is returning the allometric target leaf carbon There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. aha! that makes sense then. I agree renaming would reduce confusion |
||
|
||
store_c = cohort_in%prt%GetState(store_organ,carbon12_species) | ||
|
||
call storage_fraction_of_target(leaf_c_target, store_c, frac) | ||
if( frac .lt. 1._r8) then | ||
cmort = max(0.0_r8,EDPftvarcon_inst%mort_scalar_cstarvation(cohort_in%pft) * & | ||
(1.0_r8 - frac)) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is is 'carbon12_species' here and 'all_carbon_species' in the logging mortality function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has been a tricky bit. I tried to make it so PARTEH would be ready to handle carbon isotopes. However, there are no specific PARTEH methods that use isotopic carbon. And as we all know, there aren't any methods in FATES master that use isotopic carbon. carbon12 indicates that the state variable of interest is just the single species of carbon, carbon 12; whereas all_carbon_species is a flag that specifies the sum of all carbon isotopes for the organ of interest should be returned. Since we only have carbon12 used in current hypotheses, the two are currently equivalent.
The process of deciding which of these two should be passed between different parts of the code has been a little murky, and this might be a sign of me not being able to make up my mind or finish thinking it through.
In the example you bring up @rosiealice , I agree these should definitely be the same.
I suppose that as a default, we could just use "all_carbon_species" to specify all carbon fluxes in and out of PARTEH until an isotope model is introduced.