wiki:DevelopmentActivities/SoilDepthSpatialization

Spatialisation de la profondeur de sol et de la réserve utile

Objet

La profondeur de sol est actuellement représentée comme une constante dans la version trunk. Il convient de la spatialiser. On modifiera également la réserve utile.

Spécifications

  • Un mot-clé sera utilisé pour lire un scalaire, un autre pour lire le nom de fichier.
  • Le fichier contenant la carte des profondeurs sera au format netcdf.
  • Le fichier sera interpolé comme les autres cartes à la résolution du forçage.
  • La modification concerne le schéma hydrologique de Choisnel comme la version à 11 couches.

Conception

On pourra s’appuyer :

  • en priorité sur la version la plus récente, développée par A.K. Traoré (voir son mail du 03/10/2013) :

Ces modifications ont été apportées sur la révision 1290 du trunk et sont inspirées de la version de N. Viovy. A.K. a spatialisé la profondeur du sol (dpu_max) ainsi que la réserve utile (soil holding capacity, wmax_veg renommée en mx_eau_var).
Le code est disponible sur curie dans le répertoire /ccc/work/cont003/dsm/p529tra/TITANE/TRUNK/TMP_WORK/modeles/ORCHIDEE.

  • sur la branche personnelle de D. Solyga (voir mail de N. Vuichard du 01/10/2013) :

diff avec la version de la laquelle D. Solyga était parti :
http://forge.ipsl.jussieu.fr/orchidee/changeset?old_path=%2Fbranches%2FORCHIDEE_EXT%2FORCHIDEE%2Fsrc_sechiba&old=300&new_path=%2Fperso%2Fdidier.solyga%2FTEST_SPATIALIZATION_JULY_2011%2FORCHIDEE%2Fsrc_sechiba&new=1489

  • sur la version envoyée par N. Viovy (voir son mail du 30/09/2013).

Développement

  • Passent en dimension 2 [kjpindex,nbdl]:
diaglev            !! The lower limit of the layer on which soil moisture
                   !! (relative) and temperature are going to be diagnosed
zsoil              !! soil depths at diagnostic levels
  • Sous-routines à modifier:
1. src_driver
teststomate.f90

2. src_parameters
constantes_soil.f90

3. src_sechiba:
thermosoil.f90
routing.f90
hydrolc.f90
slowproc.f90
intersurf.f90

4. src_stomate
stomate_alloc.f90
stomate_npp.f90
stomate_litter.f90
stomate_resp.f90

  • Variables à modifier (AK)
    diaglev : limite inférieure de la couche dans laquelle on diagnostique la température et l'humidité du sol.
    
    zsoil (dans src_sechiba) : soil depths at diagnostic levels
    z_soil (dans src_stomate): Variable to store depth of the different soil layers (m)
    
    infact et infactw qui définissent des fractions pour chaque niveau de diagnostic: 
    dépendent de nbdl (=11: niveaux de diagnostic dans le sol) et de ngrnd(=7, discrétisation verticale de la température)
    
    
    ipn: je ne sais pas ce que c'est mais je l'ai commenté. Il faut voir comment gérer le ipn lorsqu'on utilise le routage.
    
    tmp_dl: diagnostic temporaire
    
    remplacer wmax_veg en mx_eau_var(ji)/dpu_cte(ji):
    wmax_veg représente le volume d'eau que le sol peut contenir=150
    
    remplacer dpu_max par dpu_cte ou lui donner un nom plus explicite
    
    le mx_eau_var n'est plus calculé dans hydrolc mais lu avec une subroutine dans intersurf.f90 (soil_depth_map)
    
    

Après debuggage réussi de la version de AK modifiée sur le trunk d'Obelix,
puis après tests en séquentiel,
après les tests pour la version parallèlisée sur Curie,
c'est l'étape de comparaison de fichiers de sortie:
Tous sont semblables pour Sechiba mais il y a une différence pour Stomate:
208 : 1983-01-01 00:00:00 tsoil_month 1 1600 0 : F F 307.81 1.0000
et ce, quelquesoit la carte.
--> Recherche d'un supposé bug d'initialisation...

Validation

  • Test 1 : L'utilisation d'un fichier contenant une valeur constante (2/4 m) doit donner exactement les mêmes résultats que l'utilisation directe de cette même constante, dans les deux schémas hydrologiques.
Last modified 7 years ago Last modified on 12/03/13 11:03:01