Closed bpbond closed 1 year ago
Differences from v3_dev
:
Notice that NPP drops by, again, ~15%:
One other thought: we could give users control over the strength of this effect. For example, in the INI files there could be
luc_npp_effect=1.0
meaning that every petagram of vegetation loss from LUC results in a petagram of NPP reduction. Setting this parameter to 0.5 would mean a 0.5 Pg NPP reduction for every Pg veg loss, and setting to zero would replicate the behavior of Hector 2.x: NPP is unaffected by LUC.
I like the idea of being able to look at uncertainty in the strength of this interaction, but I have a few questions...
How would the luc emission be balanced? if luc_npp_effect
!= 0 would this also be applied to the luc emissions coming out of the soil and detritus pool? Or would these fractions be adjusted so that it is balanced? Otherwise wouldn't we be double-counting carbon again? What would the purpose of that be to preserve backwards behavior?
My thought was that luc_npp_effect
wouldn't affect LUC emissions at all; it would only affect how much NPP is downregulated due to vegetation losses to LUC. Modifying the equations above:
npp_luc_adjust = (end_of_spinup_vegc - (cum_luc_va * luc_npp_effect)) / end_of_spinup_vegc;
npp = npp * npp_luc_adjust;
...so that when luc_npp_effect
is 1.0, it's the same as the equation above; at 0.5, NPP would adjust downward at 50% the rate of veg loss; and when it's 0.0, npp_luc_adjust
would be 1, and so npp
wouldn't change at all.
luc_npp_effect wouldn't affect LUC emissions at all;
Correct. Isn't this development about making sure NPP is adjusted with respect to the luc emissions? so like when luc_npp_effect
is 0 luc would have no effect on NPP aka seeing the same behavior we are in Hector v2.5 that double counts carbon?
Right; and right, if it was zero, you'd potentially be in a double-counting situation. (But maybe you're running an experiment where you want NPP rebound from LUC.)
This would also be super simple to add later; we could say the npp_luc_effect
idea is something for 3.1 or 3.5.
Sounds good, thanks.
I assume you will check and merge when ready
Are we ready to merge?
From my point of view, yes, but am depending on you to assess model performance and decide you (we) are OK with it. Thanks!
@bpbond here are some comparisons between this latest Hector v3 with observations
Future CO2 emissions vs gmst between IPCC and Hector is spot on! We are on the cooler end of the envelope during the historical period... which is not great but I am not sure how concerning that is...
@kdorheim Wow, that looks really good overall. The only thing concerning I see is the land sink graph — any insight into why we drop so abruptly around 2000?
Re temperature, how can we be so down the middle vs. NASA GISS but so low in the IPCC SPM 10 graph?
Those are great questions but unfortunately, I don't have great answers...
re the land sink
In fact when we use GCB luc emissions as inputs the land sink fit is worse after the year 2000 and the [co2] also suffers
Re the IPCC figure *Here is the information that I used to construct the figure. I normalized hector's temperature using Hector's average temperature from 1850-1900. Looking at the IPCC historical results, it does appear that their results were normalized to this period, the IPCC 1850 to 1900 is non 0 which to me suggests that we aren't using the same reference period/something is wrong with how we are normalizing.
Thanks for the additional detail @kdorheim . Regardless, overall things look good to me.
After this passes tests I this this is ready to merge from my pov
And then maybe we make a v3.0.alpha
tag? 🎉
Edit: maybe not. But we think this is the last active-science change before v3.
I don't think we are ready for the v3 alpha branch. I need to update the ini files with the new default parameters! But let's get this NPP branch merged into v3!
This PR cherry-picks the NPP reduction (due to LUC effects on vegetation) code from #639 .
This PR adds a new term to our NPP calculation: vegetation losses (or gains) due to LUC change, with the the aim of avoiding double-counting of regrowth fluxes. We save the end-of-spinup vegetation C value; keep a running total of LUC emissions from (or gains to) vegetation; and then adjust NPP:
Cumulative vegetation losses from LUC:
This peaks at ~80 Pg C, which ~15% of the end-of-spinup vegetation C value of 550 Pg C, and so the
npp_luc_adjust
drops to ~85%: