wiki:Documentation/UserGuide/UserDefinedSoilParameters

How to impose user-defined soil parameters?

Author: A. Ducharne
Last revision: 2020/06/01, A. Ducharne

Question by Fanny Picourlat on orchidee-help, 2020/05/25

Je souhaite définir les différents paramètres du sol sans utiliser les valeurs tabulées dans constantes_soil_var.f90 pour les classifications "zobler" et "usda". Pour ça j'ai utilisé les paramètres suivants dans le run.def :

IMPOSE_SOILT=y
CWRR_A_VANGENUCHTEN=0.0035
CWRR_N_VANGENUCHTEN=2
CWRR_KS=864
POROS=0.4
VWC_RESIDUAL=0.08
VWC_SAT=0.4

Ça ne semble pas avoir fonctionné. Le Ksat en sortie dans le sechiba_history reste inchangé en comparaison à une simulation avec utilisation de la classification Zobler. Par ailleurs, même en ayant écrit ces lignes dans le run.def, orchidee a besoin du fichier soils_param.nc. Comment cela se fait-il ? Comment m'affranchir des classifications et seulement mettre mes paramètres ?

Answer by Agnès Ducharne

Effectivement, IMPOSE_SOILT ne fait pas ce que tu penses. D'abord, cette option ne fonctionne que si IMPOSE_VEG est activée. La conjonction de ces deux options fait que la même classe de PFT et la même classe de sol est utilisée partout. A priori ces options sont plutôt utilisées en 1D.

Et avec ces deux options, tu ne peux qu'imposer la classe texturale sans lire une carte de texture. Pour ce faire, il faut renseigner en plus le keyword SOIL FRACTIONS avec 3 ou 12 valeurs selon la carte de sol que tu lis (et qu'il faut renseigner comme tu l'as constaté). Plus de détails p37 dans http://forge.ipsl.jussieu.fr/orchidee/attachment/wiki/Documentation/eqs_hydrol_25April2018_Ducharne.pdf

Si tu veux changer les différentes propriétés hydro, tu peux le faire sans IMPOSE_SOILT. Mais tu dois revoir la façon de modifier les valeurs des paramètres dans le run.def. Si on prend l'exemple de Ks, tu dois prescrire autant de valeurs que tu as de classes de texture dans ta carte. Il faut indiquer une carte de sol via SOILTYPE_CLASSIF, pour définir le nb de classes (3 ou 12) et les paramètres tabulés associés. Ensuite, avec CWRR_KS, tu modifies les 3 ou 12 valeurs de Ks. Si tu ne veux en changer qu'une, tu dois recopier toutes les valeurs depuis src_parameters/constantes_soil_var.f90, et changer celle qui correspond à la classe que tu veux changer.

Si tu t'appuies sur SOILTYPE_CLASSIF = zobler, et que tu veux modifier le ks de la première classe (Coarse) de 1060.8 à 864 mm/d, tu dois mettre la ligne suivante dans ton run.def

CWRR_KS = 864 249.6 62.4

Et si tu veux mettre 864 mm/d partout, il faut assigner cette valeur à toutes les classes :

CWRR_KS = 864 864 864

Et ça marche de la même manière pour tous les paramètres.

Par contre, tous les paramètres qui dépendent de la texture et que tu n'auras pas modifiés via le run.def garderont des valeurs qui dépendent de la carte de texture lue. C'est le cas pour field capacity et wilting point, alors que ces grandeurs sont calculées en fonction de mcs, n et alpha de Van Genuchten. Pour l'instant le calcul a été fait en pré-processing, et c'est le résultat de ce calcul qui est indiqué dans constantes_soil_var.f90. Lis la section 3.7 p 19 de la note pour en savoir plus.

Il y a aussi les paramètres thermiques qui dépendent de la texture, et tu dois savoir que certains paramètres sont redondants dans constantes_soil_var.f90, mais la liste change selon les branches et le trunk (http://forge.ipsl.jussieu.fr/orchidee/ticket/604).

Last modified 4 years ago Last modified on 2020-06-01T14:42:20+02:00