source: trunk/DOC/Netcdf_Readme.txt @ 170

Last change on this file since 170 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 9.7 KB
Line 
1======================================================================
2        Note pour l'utilisation des sorties Netcdf:
3======================================================================
4
5----------------------------------------------------------------------
6        1-   Diffrentiation des variables par classes:
7----------------------------------------------------------------------
8
9Nous avons choisi de classifier les varibles manipules dans le
10modele. Les familles des varaibles sont choisis suivant des criteres
11telques les dimmensions, types (etats, ), frequence de sortie ...   
12
13On attribut a chaques classe les idetificateur suivant     
14         
15            0 = coordonnees et geometrie (x,y,lat,long...)
16            1 = Var 2D A sortir regulierement (variables etats,...)
17            2 = Var 2D  A sortir+ Debug
18            3 = Var 3D
19            4 = Var de debug
20            5 = sortie juste une fois au debut et une fois a la fin
21
22----------------------------------------------------------------------
23        2-   Differentiation des varibles par type des noeuds
24             sur lesquels sont calcules: 
25----------------------------------------------------------------------
26
27Les varibles dans Grisli ne sont pas toutes calcules sur les memes
28point de grille.
29     
30                --o---->----o--
31                  '         '
32                  ^    x    ^
33                  '         '
34                --o---->----o--
35
36On donne les symboles pour les differents types des noeuds sur la
37grille.
38
39        'o' : noeud majeur en x et en y         
40        '>' : noeud mineur en x           
41        '^' : noeud mineur en y             
42        'x' : noeud mineur en x et en y         
43
44----------------------------------------------------------------------
45        3-   Le fichier "Description_Variables.dat"
46----------------------------------------------------------------------
47
48Ce fichier se trouve dans "SOURCES/Netdcf-routines/"
49
50Ce fichier contient les variables dont les sorties netcdf nous serons utiles. 
51On donne pour chaque variable different types d'informations que nous
52ecrivons dans les fichier ".nc".
53
54
55----> Organisation au sein du fichier
56
57Dans ce fichier vous pouvez ajouter vos commentaires sans aucun regles
58de format (saut de ligne, separateur ...)
59
60L'indicateur des fin des commentaires est la ligne '~~~~~~~~~~~~~~~~~~~~~'.
61
62Les descriptions des variables dans ce fichier sont comprisent dans un
63bloc comme le suivant:
64------------------------------------------------------
65....
66------------------------------------------------------                                         
67
68Les informations qu'on donne pour les variables sont:
69 
70"Variable name"                            !~  info non obligatoire
71"n°"   "name in Grisli"   "Class"         !!  info obligatoire
72"Node type"                                !!  info obligatoire
73"Long name"                                !~  info non obligatoire
74"Standard name"                            !~  info non obligatoire
75"Unit"                                     !~  info non obligatoire
76"Description"                              !~  info non obligatoire
77
78Remarques:
79---------
80  - L'ordre de ces informations est important.
81  - Les informations avec en face  "!~  info non obligatoire" ne sont
82    pas obligatoires. Donc quand on connait pas l'information
83    correspondant on remplit le champ par "xxx"
84
85exemples:
86------------------------------------------------------
87"Altitude surface"
881       S       1
89"o"             
90"surface_topography_or_elevation (Searise)"     
91"surface_altitude (cf,Searise)"
92"m"     
93"Surface topography or elevation"
94------------------------------------------------------
95"xxx"
9682      "Chaldef_maj"           3
97"o"     
98"Cahleur de deformation"       
99"xxx"   
100"xxx"           
101"xxx"
102------------------------------------------------------
103
104**Fin exp       
105
106Remarques:
107----------
108
109  - Le n° de variable doit correspondre au if (...) tab(:,:)= ....
110  dans sortie_netcdf_GRISLI_mod.0.2-hassine.f90                                         
111  - L'ordre des varaibles n'a pas d'importance                                         
112
113
114----------------------------------------------------------------------
115        4-   Le fichier "TEMPS-NETCDF.dat"   
116----------------------------------------------------------------------
117
118Ce fichier se trouve dans "SOURCES/Fichiers-parametres"
119
120Ce fichier permet de definir le nombre et le numero des classes des
121variables a sortir pour le run. 
122Ce fichier permet aussi ensuite de definir les temps auxquels ont lieu
123les sorties netcdf selon deux methodes complementaires:
124
125
126----> Organisation au sein du fichier
127
128Dans ce fichier vous pouvez ajouter vos commentaires sans aucun regles
129de format (saut de ligne, separateur ...)
130
131L'indicateur des fin des commentaires est la ligne '~~~~~~~~~~~~~~~~~~~~~'.
132
133Apres on deffinit le nombre des classes a sortir pour ce run et sur la
134ligne suivnates les numero des classes d'interet.
135
136exemple:
137--------
1383                       nbr de classes a sortir dans ce run             
1393       2       1       5   class   (voir les classes et variables dans LISTE_VAR_NCDF.dat)
140-------------------------------------------------------------------------------------------
141
142**Fin exp       
143
144Remarque:
145---------
146On peut mettre des commentaires comme vous l'avez vu a la fin de la
147ligne des informations.
148 
149Apres on parmetrise le temps des sorties netcdf.
150Deux methodes complementaires sont utilisees pour cette parametrisation.
151
152     1) La premiere methode consiste a definir le tableau "dtncdf "de sortie
153     reguliere. Dans ce tableau on definit des frequences de sortie
154     des varaibles.
155     La dimension est donnee par le nombre ndtsortie. Apres on remplit
156     le tableau par les pas temps qu'on veut observer (Les pas sont
157     separes par des sauts de ligne).
158     
159     exemple:
160     --------
161     2   ndtsortie      lecture de dtncdf de sortie
162     10.
163     20.
164     330.
165     1.e10
166     -------------------------------------------------------------------------------------------             
167                                                                                                             
168     **Fin exp                                                                                                       
169                                                                                                             
170
171     2) Les sorties netcdf on peut aussi les faires sortir avec des
172     pas de temps predefinis dans le tableau "predef_tsort". Le
173     dimension de ce dernier est donnee par npredeft.
174
175
176     exemple:
177     --------
178     4  npredeft        dimension predef_tsort
179     1
180     5
181     25
182     35
183     66
184     100
185     -------------------------------------------------------------------------------------------
186     
187     **Fin exp 
188
189     Remarque:
190     ---------
191     Comme vous avez remarquez pour les deux tableaux on peut definir
192     plus d'elements a utiliser que les dimensions. Que ndtsortie ou
193     npredeft seront utilisé.
194
195
196----------------------------------------------------------------------
197        5-   Le fichier "LISTE-VAR-NETCDF.dat"
198----------------------------------------------------------------------
199
200Ce fichier se trouve dans "SOURCES/Fichiers-parametres"
201
202Liste des variables a sortir sur les fichier netcdf.
203Toutes les variables pour lesquelle une sortie est prevue sont dans cette liste.
204Les variables dans ce fichier sont regroupees par classe.
205
206Une variable est sortie si :
207le module correspondant est active (exemple eau basale)
208et isortie=1
209
210La periodicite avec  laquelle ces variables sont sorties
211ainsi que les temps predefinis eventuels sont donnes dans
212TEMPS-NETCDF.dat
213
2142 ligne par classe sous la forme :
215------------------------------------------
216classnumber snapmax  ntypenode
217typenod1 typenod2 typenod3 ...
218 
219  classnumber : presente l'identificateur des classes des variables voir section 1 de ce document
220   
221  snapmax :       nombre de snapshot max a sortir dans un fichier
222  netcdf si plus, il reouvre un nouveau fichier.   
223
224  ntypenode : nombre de type de noeud qu'on veut sortir
225
226  typenodi : presente le type du noeud voir section 2 de ce document
227
228exemple:
229--------
230============================================ classe 1
2311       100    4                   ! class 1  snapmax=10   4 type de noeud
232'o'     '>'       '^'       'x'    ! les types de noeuds
233------------------------------------------
234** Fin exp
235
2362 lignes par variable  sous la forme :
237
238varname1 !attention varname1 5 caract maxi et pas de TAB apres 
239numero                 
240isortie  dtncdf interv
241!!! Possibilite de mettre des commentaires
242ligne vide
243-------------------------
244varname2
245numero
246isortie  dtncdf interv
247-------------------------
248
249
250varname : 5 caracteres maxi
251
252isortie : 1-> oui, 0->non (pas de sortie du tout)
253
254dtncdf  : donne la periodicite avec laquelle ces variables sont sorties
255          indice pointe dans dtsortie_ncdf definie dans TEMPS-NETCDF.dat
256          si 0 ne sort que sur les pas de temps intermediaires
257
258interv : pour cette variable 
259                     interv=-1  premier+dernier
260                     interv= 0  ne sort que le premier pas de temps
261                     interv= 1  premier + dernier + predefinis
262
263exemples:
264--------
2651      1     0    sort avec periodicite 1 + premier pas de temps
2661      0     -1   sort seulement premier et dernier
2670      1     1    ne sort pas du tout
2681      0     0    ne sort que le premier
269
270** Fin exp
271
272
273
274Remarques:
275----------
276
277  - Entre les classes, le separateur est la ligne   ==========
278  - Entre les variables, le separateur est la ligne ----------
279  - Le programme ne teste que les 10 premiers caracteres de ========== et
280  de ----------
281 
282 
283----------------------------------------------------------------------
284        6-   Comment ajouter une nouvelle variable pour
285         les sorties netcdf
286----------------------------------------------------------------------
287
288Si on veut ajouter une variable pour la faire sortir en netcdf. Il
289faut ajouter cette variables dans le fichier
290"SOURCES/Netdcf-routines/Description_Variables.dat" dans un premier
291temps suivant la facon qu'on a decrit precedement.
292
293Remarque:
294---------
295L'emplacement de l'ajout n'a pas d'importance.
296
297Dans un deuxieme temps il faut ajouter cette variables dans 
298"SOURCES/Fichiers-parametres/LISTE-VAR-NETCDF.dat" suivant aussi les
299consignes donnees precedement.
300
301Remarque:
302---------
303L'emplacement de l'ajout cette fois est important il faut ajouter la
304variables dans la bonne classe. L'ordre des variables dans une classes
305n'a pas d'importance.
306
307Finalement il faut ajouter if (...) tab(:,:)= ....
308dans le code sortie_netcdf_GRISLI_mod.0.2-hassine.f90.
Note: See TracBrowser for help on using the repository browser.