-
Notifications
You must be signed in to change notification settings - Fork 322
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
Heat storage biomass #1016
Heat storage biomass #1016
Conversation
Author: Ronny Meier modified: initGridCellsMod.F90 and subgridMod.F90 Modification is not fully completed yet. Switch will be added later on in namelist.
…ass_sesc combine radiative temperature, diagnostic fields with heat biomass storage and separate soil columns for each pft
…s_sesc update heat_storage_biomass_sesc
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.
There's only one change that I'm requesting you to do @swensosc. Although there's also a bunch of new inactive fields added, and I'm wondering if they should be turned default on, if one of the two new namelist flags are on?
The other thing is that we need to add a test with these two things turned on. That's something that we can do. Are there any restrictions for when those two can be set?
Fates with BHS is currently failing in a smoke test due to balance check energy error... SMS_D_Ld5.f45_f45_mg37.I2000Clm51Fates.cheyenne_intel.clm-FatesColdDef Single point tests seem to work OK, but I get the balance check fail with: SSP_D_Ld10_Mmpi-serial.5x5_amazon.I2000Clm51Bgc.cheyenne_intel.clm-rtmColdSSP lnd.log reports the following...
Since, sabv, sabg, and forc_tot are zero. That means the sum of: eflx_lwrad_net, eflx_sh_tot, eflx_lh_tot, eflx_soil_grnd, and dhsdt_canopy should also sum to zero. |
@swensosc to run a standalone test you just give the test name after "./create_test ". There's a few other options I usually give to change the wallclock time and queue. I also typically tell it to do "-r ." to create it's case directory under the current directory rather than on scratch. So I'll do this sort of thing
I'll look into the BgcCrop issue, it would be good for you to look into the FATES cold-start issue. I'll look to see if we have other cold start tests as well. |
In our discussion today at noon we thought that taper should be on the parameter file. And we should have BGC use taper and nstem from the parameter file even when BHS is off. At this point it shouldn't be hard to do that for both. Since, nstem is used both for BGC and BHS it's possible that tuning for BHS on and off could have different values for it. But, we will ignore that difference for now. |
OK, it turns out my SSP spinup tests that are failing are NOT coldstarts. They are labeled as rtmColdSSP which is certainly a bad label because they aren't RTM anymore and they aren't coldstarts right now. So I'll file a separate issue about that. They are starting up from initial conditions that are vastly different than the resolution run, so they aren't really "well spunup", but they are NOT starting from scratch. |
Besides all of the Fates tests, the other normally run cold start tests are: <test name="ERP_D_Ld5" grid="f10_f10_musgs" compset="IHistClm50BgcCrop" testmods="clm/allActive">
<test name="SMS_D_Ld9" grid="f09_g17" compset="I1850Clm50BgcNoAnthro" testmods="clm/decStart1851_noinitial">
<test name="ERS_D_Ld7_Mmpi-serial" grid="1x1_smallvilleIA" compset="IHistClm50BgcCropRs" testmods="clm/decStart1851_noinitial">
<test name="ERS_Lm20_Mmpi-serial" grid="1x1_smallvilleIA" compset="I2000Clm50BgcCropQianRs" testmods="clm/monthly_noinitial">
<test name="SMS_D_Ld1_Mmpi-serial" grid="f45_f45_mg37" compset="I2000Clm50Sp" testmods="clm/ptsRLA">
<test name="SMS_Ld1_Mmpi-serial" grid="f45_f45_mg37" compset="I2000Clm50Sp" testmods="clm/ptsRLA">
<test name="SMS_Ld1_Mmpi-serial" grid="f45_f45_mg37" compset="I2000Clm50Sp" testmods="clm/ptsRLB">
<test name="SMS_Ld1_Mmpi-serial" grid="f45_f45_mg37" compset="I2000Clm50Sp" testmods="clm/ptsROA">
<test name="ERP_D_P36x2_Ld3" grid="f10_f10_musgs" compset="I2000Clm51BgcCrop" testmods="clm/coldStart">
<test name="LWISO_Ld10" grid="f10_f10_musgs" compset="I2000Clm50BgcCrop" testmods="clm/coldStart"> So there's one that check BHS for a coldstart... ERP_D_P36x2_Ld3.f10_f10_musgs.I2000Clm51BgcCrop.cheyenne_intel.clm-coldStart and that has been passing. |
are you referring to this:
cp_stem(p) = k_cyl_vol * cp_stem(p)
…On Fri, Jan 8, 2021 at 9:16 AM Ryan Knox ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/biogeophys/CanopyFluxesMod.F90
<#1016 (comment)>:
> + ! internal longwave fluxes between leaf and stem
+ ! (use same area of interaction i.e. ignore leaf <-> leaf)
+ sa_internal(p) = min(sa_leaf(p),sa_stem(p))
+ sa_internal(p) = k_internal * sa_internal(p)
+
+ ! calculate specify heat capacity of vegetation
+ ! as weighted averaged of dry biomass and water
+ ! lma_dry has units of kg dry mass/m2 here
+ ! (Appendix B of Bonan et al., GMD, 2018)
+
+ cp_leaf(p) = leaf_biomass(p) * (c_dry_biomass*(1.-fbw(patch%itype(p))) + (fbw(patch%itype(p)))*c_water)
+
+ ! cp-stem will have units J/k/ground_area
+ cp_stem(p) = stem_biomass(p) * (c_dry_biomass*(1.-fbw(patch%itype(p))) + (fbw(patch%itype(p)))*c_water)
+ ! adjust for departure from cylindrical stem model
+ cp_stem(p) = k_cyl_vol * cp_stem(p)
@swensosc <https://github.com/swensosc> I wasn't expecting this
conversion factor for the heat capacity calculation. It seemed more of a
geometry thing (affecting fluxes) and not a mass thing (affecting heat
capacity). Is it a moot point because this term propogates to the desired
calculation either way?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1016 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGRN57CEUS5W4XPVKFC6NJLSY4VUTANCNFSM4NEIQHUA>
.
|
…spinup cases in regard to dt_veg, there were some parenthesis that got out of place
…dwood, and change the name of it from spinup_factor in CNVegCarbonState to spinup_factor_deadwood since the previous name conflicted with the array in decomp
…rdcoded constant of 10.
…eadwood, so the logic isn't needed anymore (answers for SSP_Ld10.f19_g17.I1850Clm50Bgc.cheyenne_intel.clm-rtmColdSSP remain identical). This simplifies and makes the code more robust by removing some duplicated lines
…s for clm45, clm50, ctsm51
…ed for the FUNITCTSM_P1x1.f10_f10_musgs.I2000Clm50Sp.cheyenne_intel to pass
Description of changes
Add heat stored in biomass to surface energy balance calculation.
Specific notes
Contributors other than yourself, if any:
Ronny Meier
Papers describing BHS simulations:
R. Meier, Davin, E., Swenson, S., Lawrence, D., and Schwaab, Jo. (2019). Biomass heat storage dampens diurnal temperature variations in forests. Environmental Research Letters. 14. 084026. 10.1088/1748-9326/ab2b4e.
S.C. Swenson, Burns, S. P., and Lawrence, D. M. ( 2019). The impact of biomass heat storage on the canopy energy balance and atmospheric stability in the community land model, Journal of Advances in Modeling Earth Systems, 11, 83– 98. https://doi.org/10.1029/2018MS001476
CTSM Issues Fixed (include github issue #):
Finishes fixing #342
Fixes most of #1246
Fixes #176
Are answers expected to change (and if so in what way)?
Yes. The code modifies the surface energy balance, which will change climate.
Any User Interface Changes (namelist or namelist defaults changes)? New namelist for this
Testing performed, if any: Standard testing on cheyenne and izumi now all PASS as expected
Single point tower site simulations were run for 10-15 locations using observed meteorology and assessed them against observed surface energy fluxes. I also ran decade-long global simulations with use_biomass_heat_storage both on and off. Simulations were run on the Hobart cluster using the intel compiler.