Opened 8 months ago

Last modified 8 months ago

#715 new enhancement

Use a consistent root profile across all subroutines

Reported by: luyssaert Owned by: somebody
Priority: minor Milestone: ORCHIDEE 4.1
Component: Physical processes Version: trunc
Keywords: Cc:


For the moment a rootprofile is (re)calculated in several routines under different variable names, i.e., root_dens and nroot. Related variables/parameters are rpc, humcste, and rprof. All subroutines using humcste seems to make use of the same equations.

Problem: In hydraulic architecture the arbitrary exponential root profile is used to calculate the resistance between the soil and roots. It has been observed that ORCHIDEE experiences water stress because the roots are located in the top soil layers whereas the water is located in the bottom soil layers. Plant evolution dictates that if this is a stable conditions, successful plants will be able to access the deeper water. Therefore root profiles are expected to be partly driven by the soil water distribution.

Available solution
In hydrol.f90 an alternative root profile was code (ok_dynroot) by Dan Zhu (this seemed to improve some aspects of the models). The instantaneous vertical distribution of soil water determines the root profile (and vice versa due to transpiration). Although this approach is supported by literature (Fan et al. 2017 doi/10.1073/pnas.1712381114) and it is what we would need in hydraulic_arch, the instantaneous character of the profile makes it probably a bit too dynamic.


  • An improvement could be to calculate and use the average 3-year root profile (exact length should be based on longivety_root) based on the vertical soil water distribution at t=48 for each day when plant_status = icanopy. Soil water is calculated every half hour, in theory we could update the root profile every half hour but that seems to be excessive.
  • The root profile could be calculated in a separate subroutine to avoid duplication of the code and the current diversity of variable names for the same information. This subroutine could allow two different ways to calculate the root profile: humcste (= exponential profile) and ok_dynroot (=Dan Zhu, MICT). The root profile could then be passed through the code to ensure the same profile is used throughout ORCHIDEE.
  • Ok_dynroot uses only liquid water, hydraulic_architecture uses liquid and frozen water. Given the focus on the growing season, liquid water seems the better choice.
  • Ok_dynroot makes use of sm and smw. These variables has been labelled soil moisture in kg/m2 and soil moisture at each layer at wilting point also in kg/m2. Hydraulic_architecture makes use of swc which leaves hydrol_main as mc_out and is calculated in hydrol.f90 based on mc (m3/m3). mc is used to calculate smt (total soil water thus liquid + ice) and mcl is used to calculate sm (liquid only). Given one variable can be calculated from the other this seems not very important.
  • The most important seems to be the difference in the dimensions of the variables: the dimensions of sm variables are kjpindex,nslm the dimension of the mc variables are kjpindex,nslm,nst. For the application we have in mind a different root profile for each soil tile (nst) seems desirable. Note that the difference in dimensions reflect the spatial scale of the model but it is not clear at which scale one approach (tile vs pixel) would be really prefered above another.

First task. A dynamic root profile will be added to evaluate its impact. Based on the impact it could be decided to go for a cleaner and more coherent implementation.

Possible subsequent tasks:

  • rewrite the current code with a subroutine that calculates the exponential root profile. Check whether the results change.
  • add an alternative way of calculating the root profile following ok_dynroot.
  • check whether the dynamic root profile is not in conflict with its individual applications. Current concern is its use in kfact_root where the equation has been tuned to reproduce the HAPEX results by making use of an exponential profile. If the profile changes a lot (more roots in deeper layers in for example the temperate zone) kfact_root could go crazy. This needs to be checked.
  • add the mean root profile to the restart files
  • test age class distribution and land cover change with a dynamic root profile.

Change History (1)

comment:1 Changed 8 months ago by luyssaert

First task: A dynamic root profile will be added to evaluate its impact. Based on the impact it could be decided to go for a cleaner and more coherent implementation.
A dynamic root profile and an alternative way to calculate psi_soilroot were committed in r6824. The impact of these changes on water stress appeared rather small for a 30 year run over Europe and Africa. See here. These settings will be further tested before engaging into the further tasks.

Note: See TracTickets for help on using tickets.