Opened 8 years ago

Closed 8 years ago

#188 closed defect (fixed)

Water conservation problem with CWRR

Reported by: aducharne Owned by: aducharne
Priority: major Milestone: IPSLCM6.v1
Component: Physical processes Version: trunc
Keywords: Cc:

Description

A diagnostic of water conservation imbalance has been added in [rev2720].
It relies on a new variable, named TWBR for Total Water Budget Residu, defined as the difference between the left-hand (storage) - right-hand (fluxes) terms of the classical expression of the water budget equation.
As such, it should be zero if the model conserves water.
This variable can be added in the output of sechiba if you use XIOS.

As described in the attached twbr.ppt, TWBR is not zero everywere for a recent revision of ORCHIDEE, run offline, with CWRR and STOMATE.
This has also been confirmed without stomate (but keeping stomate_ok_co2=y).
The run is done over 10 days in January, with the largest errors in the Tropics (output frequency = dt_sechiba = 1800 s).

It seems related to transpiration (EVeg), and a complementary analysis by Matthieu Guimberteau suggests the pb happens particularly in the forested soiltiles, when soil moisture drops below the wilting point.

A careful reading of hydrol.f90 suggested several instances not satisfying water conservation in subroutine hydrol_soil.
Corrections were not satisfactory regarding twbr, although they simplify the code a lot.

The main improvement was achieved by ensuring that vbeta3 (and vbeta23, but with less effects) was zero when humrel is zero.
If not, it creates a conservation flaw in hydrol_split_soil, as we have transpir > 0 but tr_ns = 0.

Yet, problems remain, this time in the mid-latitudes (remember we are in January).
Corrections in the calculation of ae_ns from vevapnu in hydrol_split_soil didn't help.
Yet, we get a perfect line if we plot the high TWBR and ESoil, for both very positive and very negative values of TWBR. ESoil is thus the best supect for the remaining imbalances.

Conclusion as of July 10th, 2015: the pb is only partially solved, and nothing has been committed.
For those who have access to ada, the best code I have is in /workgpfs/rech/lmd/rlmd984/trunk110515_hfcor3/modipsl/modeles/ORCHIDEE/src_sechiba, with changes in hydrol.f90 and diffuco.f90. The version I started with is in /workgpfs/rech/lmd/rlmd984/trunk110515_hf/modipsl/modeles/ORCHIDEE.

Attachments (1)

twbr.ppt (960.5 KB) - added by aducharne 8 years ago.

Download all attachments as: .zip

Change History (6)

Changed 8 years ago by aducharne

comment:1 Changed 8 years ago by aducharne

  • Component changed from Anthropogenic processes to Physical processes
  • Milestone set to IPSLCM6.v1
  • Owner changed from somebody to aducharne
  • Status changed from new to accepted
  • Version set to trunc

comment:2 Changed 8 years ago by aducharne

August 08 2015: I have a version running 10 days with TWBR within +/- 4 10(-7) mm/d.
The pbs that were remaining on July 10 had been introduced by myself during my previous attempts.
The present version will be tested on longer simulations, compared to previous ones, and if OK, the code will be presented to the ORCHIDEE team in view of being committed.

comment:3 Changed 8 years ago by aducharne

End of August 2015: confirmation that TWBR is reduced to very small and acceptable values by :

  • forcing vbeta23 and vbeta3 to be zero when humrel=0 (in diffuco)
  • forcing us, humrelv, vegstressv, evap_bare_lim_ns, thus also humrel and evap_bare_lim, to be zero if is_under_mcr is true (in hydrol_soil)

Sept 11, 2015: preparing the committ with JG

comment:4 Changed 8 years ago by jgipsl

Commit done in rev [2927]

Note that the diagnostic variables calculated with tot_watveg_beg, tot_watsoil_beg and snow_beg (almaoutput) will not be correct at the first time step if these variables were not found in the restart file. This is the case for TWBR.

Version 0, edited 8 years ago by jgipsl (next)

comment:5 Changed 8 years ago by jgipsl

  • Resolution set to fixed
  • Status changed from accepted to closed

#198 : the _beg variables will always be in the restart file.

Note: See TracTickets for help on using tickets.