CABLE-LSM / CABLE

Home to the CABLE land surface model and its documentation
https://cable.readthedocs.io/en/latest/
Other
8 stars 4 forks source link

Negative NPP to investigate #337

Open ccarouge opened 2 months ago

ccarouge commented 2 months ago

The CASA code may create negative NPP which is not physical. There are several places where this is tackled, but different people have added different solutions.

An investigation into the effect of these solutions would be good so we can simplify the code and keep the preferred solution (or properly add several solutions with a switch).

The parts of the code that have been identified so far are:

casa_cnp.F90

https://github.com/CABLE-LSM/CABLE/blob/86b086ef1d4114772f3e984a7ccf6765e9d614aa/src/science/casa-cnp/casa_cnp.F90#L350-L364 In this code, the second solution is safer but it does not solve the negative NPP where the sum of the casapool is 0.

casa_rplant.F90

The casa_rplant function also used to have a reset for negative NPP at the end of the form:

      WHERE(casaflux%Cnpp < 0.0)
         casaflux%cnpp(:) = 0.0
      ENDWHERE

This could also be simplified with casaflux%Cnpp = MAX(0.0, casaflux%Cnpp)

This was removed in a recent reconciliation of casa_rplant versions (#274). The original code had this at the wrong place so the effect was null. Work on this issue should include an investigation if this reset should be re-implemented correctly.

AlisonBennett commented 2 months ago

I make a small comment on this issue about whether NPP can be negative. There is a very good article by Stephen Roxburgh that discusses how there are two interpretations of NPP - one that does allow negative values and one that does not. The difference depends upon whether we consider only Ra from carbon assimilated from GPP in the current time-cycle (Ra_new) or whether we are also including Ra from carbon assimilated in prior time-cycles (Ra_old). If we do include Ra_old, negative values of NPP should be allowed as there are times when plants are not photosynthesisng but they are still respiring to maintain tissue (eg. night time and the non-growing season).

The two interpretations of NPP are: a) NPP = GPP - Ra_new
b) NPP = GPP - (Ra_new + Ra_old)

For the first interpretation, NPP should be constrained to a minimum of 0. For the second it should not.

I don't know the CABLE/CASA well enough to know how it handles the maintenance respiration aspect. Maybe @har917 can comment on that. But I do think that it needs to be considered when making a decision of whether to constrain NPP to non-negative values. And I definitely agree that we need to be consistent in the method.