Tags/196/ExternalisationParameters: externalisation

File externalisation, 4.7 KB (added by mmaipsl, 14 years ago)

first spefications on externalisation

Line 
1
2Nathalie
31) Reperer tous les parametres potentiellement modifiables du code et les en extraire pour pouvoir
4les modifier dans le run.def sans avoir a recompiler le modele
5- have a set of PFTs that are associated to potentially different physics/equations but as restricted as possible
6==> exemples Ciais
72) pour les PFTs existants, spatialiser les parametres de facon a pouvoir commencer a prendre en compte une notion de 'varietes'. (Voir comment on articule ca avec la lecture de la carte de vegetation)
83) pour les PFTs existants, definir de nouveaux parametres 'descriptifs' permettant de les definir en externe. Par exemple 'tree', 'C3', 'deciduous', ..... (Voir comment on articule ca avec la lecture de la carte de vegetation)
94) Toujours pour les PFTs existants, autoriser le choix du nombre de PFTs (par exemple 11 si pas d'agriculture, 13 si agriculture) a etre modifie en fonction de la simulation.
105) Et enfin pouvoir augmenter le nombre de PFTs mais cela releve tout d'abord des travaux des uns et des autres.
11
12Nicolas
13Il serait peut être sympa de pouvoir rajouter la possibilité de lire une carte (spatialisée) de
14correspondance entre les PFTs du modÚles et ceux de la carte de végétation lue. Comme cela on
15pourrait par exemple continuer à utiliser une carte 13 PFT existante mais définir que le PFT culture
16C4 (13 de la carte de veg) en Europe c'est du maïs (par ex pft 15 du modÚle) et du mil en Afrique
17(par ex pft 16 du modÚle).
18
19les fichiers textes existent déjà : les orchidee.def
20=> on peut (doit !) les découper. 2 propositions :
211) orchidee_ol.def, sechiba.def, stomate.def
222) forcing_orchidee.def, physic_orchidee.def
23
24Pour externalisé les paramÚtres :
251) Nombre de PFT flottant => quid de la carte de végÚt ?? => plusieurs jeux de carte de végÚt ?
262) Les paramÚtres choisit sont transformés 1D (/pft) en 2D (/pts/pft) => spacialisation
273) Mise en oeuvre info :
28On refait presque tout getincom !! ==> transformation des listes de paramÚtre en xml ??
29===> On lit le paramÚtre toujours comme une chaîne de caractÚre
30
31exemples de getin :
32i) RVEG_PFT = 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.
33
34ii) SOILTYPE_FILE = ../surfmap/soils_param.nc
35
36iii)
37SECHIBA_VEG__01 = 0.2
38SECHIBA_VEG__02 = 0.0
39SECHIBA_VEG__03 = 0.0
40SECHIBA_VEG__04 = 0.0
41SECHIBA_VEG__05 = 0.0
42SECHIBA_VEG__06 = 0.0
43SECHIBA_VEG__07 = 0.0
44SECHIBA_VEG__08 = 0.0
45SECHIBA_VEG__09 = 0.0
46SECHIBA_VEG__10 = 0.8
47SECHIBA_VEG__11 = 0.0
48SECHIBA_VEG__12 = 0.0
49SECHIBA_VEG__13 = 0.0
50
51
52SECHIBA_VEG__06 = 0.3
53SECHIBA_VEG = 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13, 1./13
54
55SECHIBA_VEG = ../fichier_SECHIBA_VEG.nc
56ou
57SECHIBA_VEG__06 = ../fichier_SECHIBA_VEG__06.nc
58
59spacialisation =>
60DIMENSION(kjpindex,nvm) :: SECHIBA_VEG
61sinon
62DIMENSION(1,nvm) :: SECHIBA_VEG
63DIM1_SECHIBA_VEG=kjpindex/1
64
65toto(1:kjpindex,1:nvm)=tata(1:kjpindex,1:nvm)*SECHIBA_VEG(1:nvm)
66=>
67toto(1:kjpindex,1:nvm)=tata(1:kjpindex,1:nvm)*SECHIBA_VEG(1:DIM1_SECHIBA_VEG,1:nvm)
68
69Q10 ??
70DPU
71
72 Fonction englobant
73a) un getin + une lecture de carte normalisée ( projection + valeur en cas de missing ==> flag qui
74bétonne les missings -> plantages)
75b) valeur par défaut / valeur par variétés==méta-classe (nom à trouver) => tableau de correspondance à rajouter
76==> On lit le paramÚtre toujours comme une chaîne de caractÚre
77On initialise avec les valeurs par défaut (/variétés ?)
78Si le getin est une valeur simple, on écrit tout le tableau avec cette valeur
79Si le getin est une liste de valeur => on écrit par pft donnée
80Si le getin est un chemin vers un fichier : lecture de cette carte + utilisation de la projection
81   => quid des PFTs manquantes dans la carte (variété ?)
82   => quid des points de grille manquants ??
83vcmax_op__18="MonfichierPFT18"
84vcmax_op="MonfichierPFT18"
85
86Flant Functionnal Type  => PFT
87Plant Functionnal class => PFC   
88Meta Class of Vegetation
89BioGechemical Class
90
91====> restarter ces paramÚtres ??!!
92
93
94implications :
951) changer le nombre de PFT => supprimer tous les paramÚtres tableaux par PFT pour les relire
96   pendant le run
972) les méta-classes (les PFTs actuelles ??) => définir un tableau de correspondance systématique et
98initialiser tous les tableaux de sous-classe avec une fonction utilisant systématiquement ce
99tableau.
100
101exemple :
102=========
103  vcmax_opt_m(2:nvm_m) =     &
104 & (/      65.,     65.,     35.,     45.,     55.,     35.,      &
105 &         45.,     35.,     70.,     70.,    70.,    70.      /)
106
107appel de la fct de dim pour récupérer dim1_vcmax_opt
108allocation
109ALLOCATE( vcmax_opt(1:dim1_vcmax_opt,2:nvm), ERR )
110initialisation :
111DO j=1:dim1_vcmax_opt
112  vcmax_opt(j,2:nvm) = Transforma_meta_class(vcmax_opt_m(2:nvm_m))
113ENDDO
114CALL lecture de carte :
115  CALL getin_p("vcmax_opt", vcmax_opt)