Not capturing partial harvest biomass or deadwood
Closed this issue · 14 comments
When biomassHarvest is used for partial cohort mortality with BiomassSuccession, the biomass reduction is happening appropriately. However, there is no tracking of that biomass removed from the ecosystem for the user, and the appropriate increase of deadwood is not done.
The output to the screen “Partial Reduction…” is not printed by the Biomass Succession model.
The Biomass Succession model does still not enter the PlugIn.CohortPartialMortality routine, which means that it (or my ForCS model) cannot capture the CWD input from the reduction in biomass. The cohort library deals with actually carrying the new biomass values so the succession model knows about it, but we want the succession models to know how much reduction has occurred from the harvesting.
debugging lines:
PlugIn.ModelCore.UI.WriteLine("EVENT: Cohort Partial Mortality: species={0}, age={1}, disturbance={2}.", cohort.Species.Name, cohort.Age, disturbanceType);
PlugIn.ModelCore.UI.WriteLine(" Cohort Reductions: Foliar={0:0.00}. Wood={1:0.00}.", cohortReductions.Foliar, cohortReductions.Wood);
PlugIn.ModelCore.UI.WriteLine(" InputB/TotalB: Foliar={0:0.00}/{1:0.00}, Wood={2:0.0}/{3:0.0}.", foliarInput, foliar, woodInput, wood);
this shouldn't have been closed
Caren,
Given the date of the original issue, could you test to see if the behavior persists? Many changes in the conversion to Core v7 may have resolved the underlying problem.
I created and documented a test of the behavior:
See the Readme for more information. It passes the tests as I have created them.
Some updates were required:
Rob,
I am looking through the changes to Biomass Succession that you just posted and I see that you changed fractionPartialMortality in PlugIn.cs from a fraction to something else. Did you check with how Biomass Insects or other partial mortality disturbance extensions pass mortality information before making this change? This looks like existing extensions will no longer work based on this change.
Jane,
I'm happy to test Biomass Insects if you have a v7 compatible release.
The only other extension that uses PartialMortality is Biomass Harvest, which was tested here.
Biomass Harvest does not let you pass a partial harvest > 99%. I tried it using your example. It just sends an error message that the harvest has to be < 99%.
I am looking through the Biomass Succession change log to trace the fractionPartialMortality change. It turns out you had changed this (current line 200 in Plugin.cs) in May/June 2018 and I sent you an e-mail on June 11th saying that it would cause downstream problems for Biomass Insects and possibly other disturbance extensions. The change that you made yesterday to line 200 Plugin.cs is changing it back to what it was.
For what it's worth. I think the name fractionPartialMortality makes it more clear that a proportion is being passed here than partialMortality does. Is there a reason you changed the name from the former?
Biomass harvest was updated to deal with the problem that if an event is flagged as a partial mortality event, it does not trigger cohort removal (and this causes other weird problems) and post-cohort removal regeneration. And so the obvious solution (I'm sure there are others) was to not allow partial removals of 100%.
Regarding other changes: Surely not my last mistake! I can change the name back.
Doesn't the LUC extension rely on Biomass Harvesting code? It should be tested too.
The general order of operations is:
- a disturbance extension indicates partial/total cohort mortality
- a cohort library (there are multiple, depending on succession extension) reduces cohort appropriately
- the succession extension uses that information to process dead cohort materials, change site conditions, launch regeneration (if total mortality).
So a change to a disturbance extension should not affect how dead wood is processed. I don't know all the details of Eric's proposed Biomass Harvest changes but I don't see any reason why they would alter this process. And he is aware of the effects on LUC.
Biomass Harvest does not let you pass a partial harvest > 99%. I tried it using your example. It just sends an error message that the harvest has to be < 99%.
Does that mean you can't use Biomass Harvest to do a 100% cohort removal anymore? That would be a problem for many users who want a combination of partial and full cohort removal on their landscape.
Caren,
No, you can just leave out the percentage (X%) and it will do complete removal.