Skip to content

Check (and fix) mass balance of woodCreation #208

Description

@dlebauer

fluxes.woodCreation is calcuated from a running average of NPP.

C used in 'woodCreation' is not accounted for by removal from another pool.

We have discussed some confusion surrounding fluxes.woodCreation in the past, and added code comments to help clarify. But these don't seem to address the mass balance, so I am not sure if this was specifically addressed

sipnet/src/sipnet/sipnet.c

Lines 1495 to 1502 in 072a967

void updateMainPools() {
// Update the stocks, with fluxes adjusted for length of time step.
// Notes:
// - GPP shows up twice (direct + via NPP --> woodCreation), but
// the math works out to:
// envi.plantWoodC += NPP_allocation_to_wood − woodLitter.
// - The soil C pool(s) (envi.soil, envi.fineRootC, envi.CoarseRootC)
// are updated in updatePoolsForSoil().

Bug (?): It does not seem that the fluxes.woodCreation are ever subtracted from a donor pool.

Tasks:

  • Ensure woodCreation is a transfer, not a net C input. The fact that woodCreation is calculated from a moving average GPP might make this more complicated, but the math should work on some time scale. Maybe remove woodCreation dependence on GPP and subtract from NPP?
  • Test system C balance
  • Document

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions