Opened 3 years ago
Closed 3 years ago
#744 closed defect (fixed)
NEP, NEE, NBP flux and NBP pool
Reported by: | luyssaert | Owned by: | luyssaert |
---|---|---|---|
Priority: | major | Milestone: | ORCHIDEE 4.1 |
Component: | Biogeochemical processes | Version: | trunc |
Keywords: | Cc: |
Description
Irrespective of the configuration NEE should equal NEP in ORCHIDEE. Likewise it is expected that NBP flux and NBP pool should be very similar. The latter two will not be identical because they are calculated in a very different way. NBP flux only uses information from the current time step whereas NBP pool uses information from both the current and previous time steps. In r6947 all four variables are different. NEP comes from stomate and has been checked. NEE comes from sechiba and has not been checked and updated (with the mass balance closure refinements) for a long time.
Change History (3)
comment:1 Changed 3 years ago by luyssaert
comment:2 Changed 3 years ago by luyssaert
- Owner changed from somebody to luyssaert
- Status changed from new to accepted
comment:3 Changed 3 years ago by luyssaert
- Resolution set to fixed
- Status changed from accepted to closed
Note: See
TracTickets for help on using
tickets.
NEE and NEP should only differ by sign. In the original code NEP accounted for atm_to_bm, NEE did not. NEP and NEE were calculated separately, in the revised code NEE is calculated from NEP to enhance consistency. These issues were revised in r6977.
NBP can be calculated from a flux or a pool based perspective. Both approach should result in the same flux. A consistency check was added in r6977 to confirm this is the case. This check cannot be used during the analytical spinup because the soil pool is adjusted. The checked is skipped for the time step that the analytical spinup is used. This issue was solved in r6982 by moving the cross-check from stomate.f90 to stomate_lpj.f90
The time integral of NBP should at all times equal to the total C and N stocks in the model. This is now being checked in r6977 to confirm this model behavior. This check cannot be used during the analytical spinup because the soil pool is adjusted. The checked is skipped for the time step that the analytical spinup is used. This issue was solved in r6982 by moving the cross-check from stomate.f90 to stomate_lpj.f90
Tag 2.1 used harvest_above for crop harvest. In ORCHIDEE 4.0 all harvest are dealt with in harvest_pool, prod_x and flux_s. Several variables in stomate_lpj.f90 were revised (r6977) in line with the ORCHIDEE 4.0 variables.
These are high-level mass balance and consistency checks because they require mass balance closure and surface area preservation in many of the subroutines being called from stomate.f90 and stomate_lpj.f90.
r6982 adjusts the cross-checks for configuration in which more than 1 age class has to be used.
r6988 contains the changes to make the cross-check work in combination with land cover changes. There was a mass balance problem in littercalc. Because the problem was around 10e-9 for an individual time step it was not found by the mass balance check but it made the cross check crash after 48 time steps (=1 day).
r6989 Made the two consistency checks for nbp more independent from each other. Should work with err_act = 1 but could be too demanding for long simulations (> 80 years) with err_act = 3 because of error propagation resulting in crashes on what are basically precision issues. From r7011 onward the accumulated flux and pool based nbps are equilibrated every 30 years. This is a compromise between precision issues and not loosing the functionality of the second nbp test (i.e. that the time integral of nep should equal the sum of all carbon pools).