Salome HOME
Telemac into 2
[tools/eficas.git] / Telemac / Telemac2d_Cata_auto.py
1
2 # -*- coding: latin-1 -*-
3
4 from Accas import *
5 class DateJJMMAAAA:
6   def __init__(self):
7     self.ntuple=3
8
9   def __convert__(self,valeur):
10     if type(valeur) == types.StringType: return None
11     if len(valeur) != self.ntuple: return None
12     return valeur
13
14   def info(self):
15     return "Date : jj/mm/aaaa "
16
17   __repr__=info
18   __str__=info
19
20 class grma(GEOM):
21   pass
22
23 import types
24 class Tuple:
25   def __init__(self,ntuple):
26     self.ntuple=ntuple
27
28   def __convert__(self,valeur):
29     if type(valeur) == types.StringType:
30       return None
31     if len(valeur) != self.ntuple:
32       return None
33     return valeur
34
35   def info(self):
36     return "Tuple de %s elements" % self.ntuple
37
38
39
40 JdC = JDC_CATA (code = 'TELEMAC2D',
41                 execmodul = None,
42                 )
43 # =======================================================================
44 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
45 # =======================================================================
46
47 VERSION_CATALOGUE="TRUNK"
48 # -----------------------------------------------------------------------
49 COMPUTATION_ENVIRONMENT = PROC(nom= "COMPUTATION_ENVIRONMENT",op = None,
50 # -----------------------------------------------------------------------
51     UIinfo = {"groupes": ("CACHE")},
52 #   -----------------------------------
53     INITIALIZATION = FACT(statut='o',
54 #   -----------------------------------
55 #       -----------------------------------
56         TITLE = SIMP(statut ='o',
57 #       -----------------------------------
58             typ = 'TXM',
59             defaut = '',
60             fr = """Titre du cas etudie. Ce titre figurera sur les dessins.""",
61             ang = """Title of the case being considered. This title shall be marked on the
62 drawings.""",
63         ),
64 #       -----------------------------------
65         INITIAL_CONDITIONS = SIMP(statut ='o',
66 #       -----------------------------------
67             typ = 'TXM',
68             into = ['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','PARTICULIERES','PARTICULAR','TPXO SATELLITE ALTIMETRY'],
69             defaut = 'ZERO ELEVATION',
70             fr = """ Permet de definir les conditions initiales sur les hauteurs d''eau.
71 Les valeurs possibles sont :
72 - COTE NULLE.
73 Initialise la cote de surface libre a 0. Les hauteurs d''eau initiales
74 sont alors retrouvees en faisant la difference entre les cotes de
75 surface libre et du fond.
76 - COTE CONSTANTE .
77 Initialise la cote de surface libre a la valeur donnee par le mot-cle
78 COTE INITIALE. Les hauteurs d''eau initiales sont calculees comme
79 precedemment.
80 - HAUTEUR NULLE .
81 Initialise les hauteurs d''eau a 0.
82 - HAUTEUR CONSTANTE.
83 Initialise les hauteurs d''eau a la valeur donnee par le mot-cle HAUTEUR
84 INITIALE.
85 - PARTICULIERES.
86 Les conditions initiales sur la hauteur d''eau doivent etre precisees
87 dans le sous-programme CONDIN.
88 - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur
89   d''eau et les vitesses sont etiblies sur la base des donnees satellite
90 TPXO dont les 8 premiers constistuents ont ete extrait et sauves dans le
91 fichier BASE DE DONNEES DE MAREE.""",
92             ang = """ Makes it possible to define the initial conditions with the water
93 depth. The possible values are as follows:
94 - ZERO ELEVATION-.
95 Initializes the free surface elevation to 0. The initial water depths
96 are then found by computing the difference between the free surface and
97 the bottom.
98 - CONSTANT ELEVATION-.
99 Initializes the water elevation to
100 the value given by the keyword -INITIAL ELEVATION-. The initial water
101 depths are computed as in the previous case.
102 - ZERO DEPTH-.
103 Initializes
104 the water depths to 0.
105 - CONSTANT DEPTH-. Initializes the water depths
106 to the value given by the key-word -INITIAL DEPTH-.
107 - SPECIAL-.
108 The initial conditions with the water depth should be stated in the
109 CONDIN subroutine.
110 - TPXO SATELITE ALTIMETRY.
111 The initial conditions on the free surface and velocities are
112 established from the TPXO satellite program data, the harmonic
113 constituents of which are stored in the TIDE DATA BASE file.""",
114         ),
115 #       -----------------------------------
116         b_INITIAL_CONDITIONSG = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT ELEVATION'",
117 #       -----------------------------------
118 #           -----------------------------------
119             INITIAL_ELEVATION = SIMP(statut ='o',
120 #           -----------------------------------
121                 typ = 'R',
122                 defaut = 0.,
123                 fr = """ Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE
124 CONSTANTE""",
125                 ang = """ Value to be used with the option : INITIAL CONDITIONS -CONSTANT
126 ELEVATION""",
127             ),
128         ),
129 #       -----------------------------------
130         b_INITIAL_CONDITIONSH = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT DEPTH'",
131 #       -----------------------------------
132 #           -----------------------------------
133             INITIAL_DEPTH = SIMP(statut ='o',
134 #           -----------------------------------
135                 typ = 'R',
136                 defaut = 0.,
137                 fr = """ Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR
138 CONSTANTE-""",
139                 ang = """ Value to be used along with the option: INITIAL CONDITIONS -CONSTANT
140 DEPTH-""",
141             ),
142         ),
143 #       -----------------------------------
144         BINARY_DATA_FILE_1_FORMAT = SIMP(statut ='f',
145 #       -----------------------------------
146             typ = 'TXM',
147             into = ['BIN','SERAFIN','SERAFIND','MED'],
148             defaut = 'BIN',
149             fr = """ Format du fichier de donnes binaire. Les valeurs possibles sont : -
150 BIN : format binaire standard - SERAFIN : format standard simple
151 precision pour Telemac; - SERAFIND: format standard double precision
152 pour Telemac; - MED : format MED base sur HDF5""",
153             ang = """ Binary data file 1 format. Possible values are: - BIN : Standard
154 binary format - SERAFIN : classical single precision format in Telemac;
155 - SERAFIND: classical double precision format in Telemac; - MED : MED
156 format based on HDF5""",
157         ),
158 #       -----------------------------------
159         BINARY_DATA_FILE_1 = SIMP(statut ='f',
160 #       -----------------------------------
161             typ = ('Fichier','All Files (*)'),
162             defaut = '',
163             fr = """ Fichier de donnees code en binaire mis a la disposition de
164 l''utilisateur. Les donnees de ce fichier seront a lire sur le canal
165 24.""",
166             ang = """ Binary-coded data file made available to the user. The data in this
167 file shall be read on channel 24.""",
168         ),
169 #       -----------------------------------
170         BINARY_DATA_FILE_2_FORMAT = SIMP(statut ='f',
171 #       -----------------------------------
172             typ = 'TXM',
173             into = ['BIN','SERAFIN','SERAFIND','MED'],
174             defaut = 'BIN',
175             fr = """ Format du fichier de donnees binaire 2. Les valeurs possibles sont : -
176 BIN : format binaire standard - SERAFIN : format standard simple
177 precision pour Telemac; - SERAFIND: format standard double precision
178 pour Telemac; - MED : format MED base sur HDF5""",
179             ang = """ Binary data file 2 format. Possible values are: - BIN : Standard
180 binary format - SERAFIN : classical single precision format in Telemac;
181 - SERAFIND: classical double precision format in Telemac; - MED : MED
182 format based on HDF5""",
183         ),
184 #       -----------------------------------
185         BINARY_DATA_FILE_2 = SIMP(statut ='f',
186 #       -----------------------------------
187             typ = ('Fichier','All Files (*)'),
188             defaut = '',
189             fr = """ Fichier de donnees code en binaire mis a la disposition de
190 l''utilisateur. Les donnees de ce fichier seront a lire sur le canal
191 25.""",
192             ang = """ Binary-coded data file made available to the user. The data in this
193 file shall be read on channel 25.""",
194         ),
195 #       -----------------------------------
196         FORMATTED_DATA_FILE_1 = SIMP(statut ='f',
197 #       -----------------------------------
198             typ = ('Fichier','All Files (*)'),
199             defaut = '',
200             fr = """ Fichier de donnees formate mis a la disposition de l''utilisateur. Les
201 donnees de ce fichier seront a lire sur le canal 26.""",
202             ang = """ Formatted data file made available to the user. The data in this file
203 shall be read on channel 26.""",
204         ),
205 #       -----------------------------------
206         FORMATTED_DATA_FILE_2 = SIMP(statut ='f',
207 #       -----------------------------------
208             typ = ('Fichier','All Files (*)'),
209             defaut = '',
210             fr = """ Fichier de donnees formate mis a la disposition de l''utilisateur. Les
211 donnees de ce fichier seront a lire sur le canal 27.""",
212             ang = """ Formatted data file made available to the user. The data in this file
213 shall be read on channel 27.""",
214         ),
215 #       -----------------------------------
216         INPUT_FILES = FACT(statut='o',
217 #       -----------------------------------
218 #           -----------------------------------
219             GEOMETRY_FILE_FORMAT = SIMP(statut ='o',
220 #           -----------------------------------
221                 typ = 'TXM',
222                 into = ['SERAFIN?','SERAFIND','MED'],
223                 defaut = 'SERAFIN?',
224                 fr = """ Format du fichier de geometrie. Les valeurs possibles sont : - SERAFIN
225 : format standard simple precision pour Telemac; - SERAFIND: format
226 standard double precision pour Telemac; - MED : format MED base sur
227 HDF5""",
228                 ang = """ Geometry file format. Possible values are: - SERAFIN : classical
229 single precision format in Telemac; - SERAFIND: classical double
230 precision format in Telemac; - MED : MED format based on HDF5""",
231             ),
232 #           -----------------------------------
233             GEOMETRY_FILE = SIMP(statut ='o',
234 #           -----------------------------------
235                 typ = ('Fichier','All Files (*)'),
236                 fr = """ Nom du fichier contenant le maillage du calcul a realiser.""",
237                 ang = """ Name of the file containing the mesh. This file may also contain the
238 topography and the friction coefficients.""",
239             ),
240 #           -----------------------------------
241             FORTRAN_FILE = SIMP(statut ='f',
242 #           -----------------------------------
243                 typ = 'FichierOuRepertoire',
244                 defaut = 'DEFAUT',
245                 fr = """ Nom du fichier FORTRAN a soumettre.""",
246                 ang = """ Name of FORTRAN file to be submitted.""",
247             ),
248 #           -----------------------------------
249             BOTTOM_TOPOGRAPHY_FILE = SIMP(statut ='f',
250 #           -----------------------------------
251                 typ = ('Fichier','All Files (*)'),
252                 defaut = '',
253                 fr = """ Nom du fichier eventuel contenant la bathymetrie associee au maillage.
254 Si ce mot-cle est utilise; c''est cette bathymetrie qui sera utilisee
255 pour le calcul.""",
256                 ang = """ Name of the possible file containing the bathymetric data. Where this
257 keyword is used, these bathymetric data shall be used in the
258 computation.""",
259             ),
260 #           -----------------------------------
261             BOTTOM_SMOOTHINGS = SIMP(statut ='o',
262 #           -----------------------------------
263                 typ = 'I',
264                 defaut = 0,
265                 fr = """ Nombre de lissages effectues sur la topographie. chaque lissage,
266 effectue a l''aide d''une matrice de masse, est conservatif. Utilise
267 lorsque les donnees de bathymetrie donnent des resultats trop
268 irreguliers apres interpolation.""",
269                 ang = """ Number of smoothings on bottom topography. each smoothing is mass
270 conservative. to be used when interpolation of bathymetry on the mesh
271 gives very rough results.""",
272             ),
273 #           -----------------------------------
274             BOUNDARY_CONDITIONS_FILE = SIMP(statut ='o',
275 #           -----------------------------------
276                 typ = ('Fichier','All Files (*)'),
277                 fr = """ Nom du fichier contenant les types de conditions aux limites. Ce
278 fichier est rempli de facon automatique par le mailleur au moyen de
279 couleurs affectees aux noeuds des frontieres du domaine de calcul.""",
280                 ang = """ Name of the file containing the types of boundary conditions. This
281 file is filled automatically by the mesh generator through through
282 colours that are assigned to the boundary nodes.""",
283             ),
284 #           -----------------------------------
285             VALIDATION = SIMP(statut ='f',
286 #           -----------------------------------
287                 typ = bool,
288                 defaut = False,
289                 fr = """ Option utilisee principalement pour le dossier de validation. Le
290 fichier des resultats du calcul precedent est alors considere comme une
291 reference a laquelle on va comparer le calcul. La comparaison est
292 effectuee par le sous-programme VALIDA qui peut etre une comparaison
293 avec une solution exacte par exemple.""",
294                 ang = """ This option is primarily used for the validation documents. The
295 PREVIOUS COMPUTATION FILE is then considered as a reference which the
296 computation is going to be compared with. The comparison is made by the
297 subroutine VALIDA, which can be modified as to so as to include, for
298 example,a comparison with an exact solution.""",
299             ),
300 #           -----------------------------------
301             REFERENCE_FILE_FORMAT = SIMP(statut ='f',
302 #           -----------------------------------
303                 typ = 'TXM',
304                 into = ['SERAFIN?','SERAFIND','MED'],
305                 defaut = 'SERAFIN?',
306                 fr = """ Format du fichier de resultats du calcul precedent. Les valeurs
307 possibles sont :
308 - SERAFIN : format standard simple precision pour Telemac;
309 - SERAFIND: format standard double precision pour Telemac;
310 - MED : format MED base sur HDF5""",
311                 ang = """ Previous computation results file format. Possible values are:
312 - SERAFIN : classical single precision format in Telemac;
313 - SERAFIND: classical double precision format in Telemac;
314 - MED : MED format based on HDF5""",
315             ),
316 #           -----------------------------------
317             REFERENCE_FILE = SIMP(statut ='f',
318 #           -----------------------------------
319                 typ = ('Fichier','All Files (*)'),
320                 defaut = '',
321                 fr = """ Fichier de resultats de reference pour la validation. Les resultats a
322 placer dans ce fichier seront a ecrire sur le canal 22.""",
323                 ang = """ Binary-coded result file for validation. The results to be entered
324 into this file shall be written on channel 22.""",
325             ),
326         ),
327 #       -----------------------------------
328         GLOBAL = FACT(statut='o',
329 #       -----------------------------------
330 #           -----------------------------------
331             PARALLEL_PROCESSORS = SIMP(statut ='f',
332 #           -----------------------------------
333                 typ = 'I',
334                 defaut = 0,
335                 fr = """ NOMBRE DE PROCESSEURS EN CALCUL PARALLELE 0 : 1 machine, compilation
336 sans bibliotheque de parallelisme 1 : 1 machine, compilation avec
337 bibliotheque de parallelisme 2 : 2 processeurs ou machines en parallele
338 etc...""",
339                 ang = """ NUMBER OF PROCESSORS FOR PARALLEL PROCESSING 0 : 1 machine, compiling
340 without parallel library 1 : 1 machine, compiling with a parallel
341 library 2 : 2 processors or machines in parallel etc....""",
342             ),
343 #           -----------------------------------
344             CHECKING_THE_MESH = SIMP(statut ='o',
345 #           -----------------------------------
346                 typ = bool,
347                 defaut = False,
348                 fr = """ Si oui on appelle le sous-programme checkmesh qui verifie la coherence
349 du maillage, points superposes, etc.""",
350                 ang = """ if this key word is equal to yes, a call to subroutine checkmesh will
351 look for errors in the mesh, superimposed points, etc.""",
352             ),
353 #           -----------------------------------
354             MAXIMUM_NUMBER_OF_BOUNDARIES = SIMP(statut ='f',
355 #           -----------------------------------
356                 typ = 'I',
357                 defaut = 30,
358                 fr = """ nombre maximal de frontieres differentes dans le maillage. Sert au
359 dimensionnement de la memoire, a augmenter si necessaire""",
360                 ang = """ maximal number of boundaries in the mesh. Used for dimensioning
361 arrays. Can be increased if needed""",
362             ),
363 #           -----------------------------------
364             MAXIMUM_NUMBER_OF_SOURCES = SIMP(statut ='f',
365 #           -----------------------------------
366                 typ = 'I',
367                 defaut = 20,
368                 fr = """ nombre maximal de points sources dans le maillage. Sert au
369 dimensionnement de la memoire, a augmenter si necessaire""",
370                 ang = """ maximal number of punctual sources in the mesh. Used for dimensioning
371 arrays. Can be increased if needed""",
372             ),
373 #           -----------------------------------
374             MAXIMUM_NUMBER_OF_TRACERS = SIMP(statut ='f',
375 #           -----------------------------------
376                 typ = 'I',
377                 defaut = 20,
378                 fr = """ nombre maximal de traceurs. Sert au dimensionnement de la memoire, a
379 augmenter si necessaire""",
380                 ang = """ maximal number of tracers. Used for dimensioning arrays. Can be
381 increased if needed""",
382             ),
383 #           -----------------------------------
384             VECTOR_LENGTH = SIMP(statut ='f',
385 #           -----------------------------------
386                 typ = 'I',
387                 defaut = 1,
388                 fr = """ LONGUEUR DU VECTEUR POUR LES MACHINES VECTORIELLES""",
389                 ang = """ VECTOR LENGTH ON VECTOR MACHINES""",
390             ),
391         ),
392     ),
393 #   -----------------------------------
394     RESTART = FACT(statut='o',
395 #   -----------------------------------
396 #       -----------------------------------
397         COMPUTATION_CONTINUED = SIMP(statut ='o',
398 #       -----------------------------------
399             typ = bool,
400             defaut = False,
401             fr = """ Determine si le calcul en cours est independant de tout autre resultat
402 ou est une reprise effectuee a partir du resultat d''un calcul
403 precedent. NON : Il s''agit du premier passage pour ce calcul et il est
404 necessaire de definir un jeu complet de conditions initiales OUI : Il
405 s''agit d''une reprise de calcul : les conditions initiales sont
406 constituees par le dernier pas de temps du FICHIER DU CALCUL PRECEDENT
407 du fichier des parametres utilise pour soumettre le calcul. Par contre,
408 l''ensemble des donnees du fichier des parametres peuvent etre
409 redefinies ; ce qui offre la possibilite de changer par exemple, le pas
410 de temps, le modele de turbulence, le frottement, d''ajouter ou retirer
411 un traceur ... De meme, il est necessaire de definir des conditions aux
412 limites (sous-programme BORD ou valeurs placees dans le fichier des
413 parametres), qui peuvent egalement etre modifiees.""",
414             ang = """ Determines whether the computation under way is independent result or
415 is following an earlier result. NO: It is the first run for this
416 computation and a whole set of initial conditions should be defined.
417 YES: It follows a former computation: the initial conditions consist in
418 the last time step of the PREVIOUS COMPUTATION FILE in the steering file
419 used for submitting the computation. All the data from the steering file
420 may be defined once again, which provides an opportunity to change, for
421 example, the time step, the turbulence model, the friction, to add or
422 remove a tracer... It is also possible to define new boundary
423 conditions.""",
424         ),
425 #       -----------------------------------
426         b_COMPUTATION_CONTINUEDG = BLOC(condition="COMPUTATION_CONTINUED == True",
427 #       -----------------------------------
428 #           -----------------------------------
429             PREVIOUS_COMPUTATION_FILE_FORMAT = SIMP(statut ='o',
430 #           -----------------------------------
431                 typ = 'TXM',
432                 into = ['SERAFIN?','SERAFIND','MED'],
433                 defaut = 'SERAFIN?',
434                 fr = """ Format du fichier de resultats du calcul precedent. Les valeurs
435 possibles sont : - SERAFIN : format standard simple precision pour
436 Telemac; - SERAFIND: format standard double precision pour Telemac; -
437 MED : format MED base sur HDF5""",
438                 ang = """ Previous computation results file format. Possible values are: -
439 SERAFIN : classical single precision format in Telemac; - SERAFIND:
440 classical double precision format in Telemac; - MED : MED format based
441 on HDF5""",
442             ),
443 #           -----------------------------------
444             PREVIOUS_COMPUTATION_FILE = SIMP(statut ='o',
445 #           -----------------------------------
446                 typ = ('Fichier','All Files (*)'),
447                 defaut = '',
448                 fr = """ Nom d''un fichier contenant les resultats d''un calcul precedent
449 realise sur le meme maillage et dont le dernier pas de temps enregistre
450 va fournir les conditions initiales pour une suite de de calcul.""",
451                 ang = """ Name of a file containing the results of an earlier computation which
452 was made on the same mesh. The last recorded time step will provid the
453 initial conditions for the new computation.""",
454             ),
455 #           -----------------------------------
456             RECORD_NUMBER_FOR_RESTART = SIMP(statut ='o',
457 #           -----------------------------------
458                 typ = 'I',
459                 defaut = 0,
460                 fr = """ En cas de suite de calcul, numero de l''enregistrement de depart dans
461 le fichier du calcul precedent. 0 signifie qu''on prend le dernier
462 enregistrement""",
463                 ang = """ In case of COMPUTATION CONTINUED, record number to start from in the
464 PREVIOUS COMPUTATION FILE""",
465             ),
466         ),
467 #       -----------------------------------
468         INITIAL_TIME_SET_TO_ZERO = SIMP(statut ='o',
469 #       -----------------------------------
470             typ = bool,
471             defaut = False,
472             fr = """ Remet le temps a zero en cas de suite de calcul""",
473             ang = """ Initial time set to zero in case of restart""",
474         ),
475     ),
476 #   -----------------------------------
477     OUTPUT_FILES = FACT(statut='o',
478 #   -----------------------------------
479 #       -----------------------------------
480         RESULTS_FILES = FACT(statut='o',
481 #       -----------------------------------
482 #           -----------------------------------
483             NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
484 #           -----------------------------------
485                 typ = 'I',
486                 defaut = 0,
487                 fr = """ Determine le nombre de pas de temps a partir duquel debute l''ecriture
488 des resultats dans le FICHIER DES RESULTATS.""",
489                 ang = """ Determines the number of time steps after which the results are first
490 written into the RESULTS FILE.""",
491             ),
492 #           -----------------------------------
493             GRAPHIC_PRINTOUT_PERIOD = SIMP(statut ='o',
494 #           -----------------------------------
495                 typ = 'I',
496                 defaut = 1,
497                 fr = """ Determine la periode en nombre de pas de temps d''impression des
498 VARIABLES POUR LES SORTIES GRAPHIQUES (voir ce mot-cle) dans le FICHIER
499 DES RESULTATS.""",
500                 ang = """ Determines, in number of time steps, the printout period for the
501 VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.""",
502             ),
503 #           -----------------------------------
504             VARIABLES_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
505 #           -----------------------------------
506                 typ = 'TXM', min=0, max='**',
507                 into = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wave celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","tracer 1 etc.","All the tracers 1 to 9.","All the tracers 10 to 19.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","Courant number ","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","maximum elevation","time of maximum elevation","maximum velocity","time of maximum velocity","friction velocity","gradient 1, etc. "],
508                 defaut = ["velocity along x axis (m/s)","velocity along y axis (m/s)","water depth (m)","bottom elevation (m)"],
509                 fr = """ Noms des variables que l''utilisateur veut ecrire dans le fichier des
510 resultats. Chaque variable est representee par une lettre. Le choix des
511 separateurs est libre. Les possibilites offertes sont les suivantes :
512  - U : vitesse suivant l''axe des x (m/s),
513  - V : vitesse suivant l''axe des y (m/s),
514  - C : celerite des ondes (m/s),
515  - H : hauteur d''eau (m),
516  - S : cote de surface libre (m),
517  - B : cote du fond (m),
518  - F : nombre de Froude,
519  - Q : debit scalaire du fluide (m2/s),
520  - Tn: traceur, avec n le numero du traceur,
521  - K : energie turbulente du modele k-epsilon (J/kg),
522  - E : dissipation de l''energie turbulente (W/kg),
523  - D : viscosite turbulente du modele k-epsilon (m2/s),
524  - I : debit suivant l''axe des x (m2/s),
525  - J : debit suivant l''axe des y (m2/s),
526  - M : vitesse scalaire (m/s),
527  - X : vent suivant l''axe des x (m/s),
528  - Y : vent suivant l''axe des y (m/s),
529  - P : pression atmospherique (Pa),
530  - W : coefficient de frottement sur le fond,
531  - A : derive en x (m),
532  - G : derive en y (m),
533  - L : coefficient de frottement sur le fond,
534  - Gn: gradient differencie, avec n le numero de reference du gradient.
535 L''utilisateur dispose egalement de 4 champs libres, qu''il peut
536 utiliser pour ecrire dans le fichier des resultats des variables qu''il
537 cree lui-meme. Ces variables propres a l''utlisateur doivent etre
538 calculees dans le sous-programme PRERES et le nom que l''on desire leur
539 donner doit etre ecrit dans le sous-programme NOMVAR. Ces 7 champs sont
540 :
541  - N, O, R, Z qui correspondent aux tableaux PRIVE(1,1), PRIVE(1,2),
542  PRIVE(1,3), PRIVE(1,4).
543 A la difference des variables precedentes, celles-ci sont conservees
544 dans tout le programme, et peuvent donc etre reutilisees.  Dans ce
545 dernier cas ne pas oublier de donner une taille suffisante au tableau
546 PRIVE (dans le programme principal). Il est ainsi possible de limiter,
547 par exemple, la taille des fichiers de resultats pour de tres gros
548 calculs. Cependant, il faut etre conscient du fait que, dans
549 l''eventualite d''une reprise de calcul, le code doit disposer, dans le
550 fichier des resultats, des informations necessaires a sa poursuite, a
551 savoir :
552  - les vitesses U et V,
553  - les hauteurs d''eau H,
554  - les cotes du fond B.
555 Toutefois, TELEMAC peut recalculer certaines de ces variables a
556 partir d''autres qui lui seront fournies (par exemple, il recalculera H
557 a partir de S et B).""",
558                 ang = """ Names of variables the user wants to write into the results file. Each
559 variable is represented by a letter. The separators can be freely
560 selected. The available capabilities are as follows:
561  - U : velocity along x axis (m/s),
562  - V : velocity along y axis (m/s),
563  - C : wave celerity (m/s),
564  - H : water depth (m),
565  - S : free surface elevation (m),
566  - B : bottom elevation (m),
567  - F : Froude number,
568  - Q : scalar flowrate of fluid (m2/s),
569  - Tn : tracer, with n the tracer number,
570  - K : turbulent kinetic energy in k-epsilon model (J/kg),
571  - E : dissipation of turbulent energy (W/kg),
572  - D : turbulent viscosity of k-epsilon model (m2/s),
573  - I : flowrate along x axis (m2/s),
574  - J : flowrate along y axis (m2/s),
575  - M : scalar velocity (m/s),
576  - X : wind along x axis (m/s) Y : wind along y axis (m/s),
577  - P : air pressure (Pa),
578  - W : friction coefficient ,
579  - A : drift along x,
580  - G : drift along y,
581  - L : nombre de courant,
582  - Gn : differentiated gradient, with n the gradient reference number.
583 Four other variables are also made available to the
584 user who may use them for writing into the file the results of variables
585 he creates himself. These user-specific variables should be computed in
586 the subroutine PRERES and their desired name should be written into the
587 subroutine NOMVAR. These seven variables are as follows:
588 - N, O, R, Z
589 which correspond to arrays PRIVE(1,1) up to PRIVE(1, Unlike the
590 preceding variables, they are preserved throughout the program, so that
591 they can be used again.
592 In the latter case, do not forget to provide the
593 array PRIVE with sufficiently large dimensions (in FORTRAN file). With
594 this key-word, one can limit the size of the RESULTS FILE. It should be
595 kept in mind, however, that if a computation has to be continued, the
596 RESULTS FILE should contain the appropriate information for running the
597 code,i.e.:
598  - velocities U and V,
599  - water depths H,
600  - bottom elevations B.
601 TELEMAC, however, can compute some of these variables from others for
602 example, it will compute H from S and B.""",
603             ),
604 #           -----------------------------------
605             NUMBER_OF_PRIVATE_ARRAYS = SIMP(statut ='o',
606 #           -----------------------------------
607                 typ = 'I',
608                 defaut = 0,
609                 fr = """ Nombre de tableaux mis a disposition de l utilisateur""",
610                 ang = """ Number of arrays for own user programming""",
611             ),
612 #           -----------------------------------
613             NAMES_OF_PRIVATE_VARIABLES = SIMP(statut ='f',
614 #           -----------------------------------
615                 typ = 'TXM', min=0, max='**',
616                 fr = """ Noms des variables privees en 32 caracteres, 16 pour le nom 16 pour
617 l''unite. Elles correspondent au bloc PRIVE et peuvent etre lues dans le
618 fichier de geometrie si elles y sont presentes avec leur nom""",
619                 ang = """ Name of private variables in 32 characters, 16 for the name, 16 for
620 the unit. They are stored in the block PRIVE and can be read in the
621 geometry file if they are here with their name""",
622             ),
623 #           -----------------------------------
624             RESULTS_FILE_FORMAT = SIMP(statut ='o',
625 #           -----------------------------------
626                 typ = 'TXM',
627                 into = ['SERAFIN?','SERAFIND','MED'],
628                 defaut = 'SERAFIN?',
629                 fr = """ Format du fichier de resultats. Les valeurs possibles sont : - SERAFIN
630 : format standard simple precision pour Telemac; - SERAFIND: format
631 standard double precision pour Telemac; - MED : format MED base sur
632 HDF5""",
633                 ang = """ Results file format. Possible values are: - SERAFIN : classical single
634 precision format in Telemac; - SERAFIND: classical double precision
635 format in Telemac; - MED : MED format based on HDF5""",
636             ),
637 #           -----------------------------------
638             RESULTS_FILE = SIMP(statut ='o',
639 #           -----------------------------------
640                 typ = ('Fichier','All Files (*)','Sauvegarde'),
641                 defaut = '',
642                 fr = """ Nom du fichier dans lequel seront ecrits les resultats du calcul avec
643 la periodicite donnee par le mot cle PERIODE POUR LES SORTIES
644 GRAPHIQUES.""",
645                 ang = """ Name of the file into which the computation results shall be written,
646 the periodicity being given by the key-word: GRAPHIC PRINTOUT PERIOD.""",
647             ),
648 #           -----------------------------------
649             BINARY_RESULTS_FILE_FORMAT = SIMP(statut ='f',
650 #           -----------------------------------
651                 typ = 'TXM',
652                 into = ['BIN','SERAFIN','SERAFIND','MED'],
653                 defaut = 'BIN',
654                 fr = """ Format du fichier de resultats binaire. Les valeurs possibles sont : -
655 SERAFIN : format standard simple precision pour Telemac; - SERAFIND:
656 format standard double precision pour Telemac; - MED : format MED base
657 sur HDF5""",
658                 ang = """ Binary results file format. Possible values are: - SERAFIN : classical
659 single precision format in Telemac; - SERAFIND: classical double
660 precision format in Telemac; - MED : MED format based on HDF5""",
661             ),
662 #           -----------------------------------
663             BINARY_RESULTS_FILE = SIMP(statut ='f',
664 #           -----------------------------------
665                 typ = ('Fichier','All Files (*)','Sauvegarde'),
666                 defaut = '',
667                 fr = """ Fichier de resultats code en binaire mis a la disposition de
668 l''utilisateur. Les resultats a placer dans ce fichier seront a ecrire
669 sur le canal 28.""",
670                 ang = """ Additional binary-coded result file made available to the user. The
671 results to be entered into this file shall be written on channel 28.""",
672             ),
673 #           -----------------------------------
674             FORMATTED_RESULTS_FILE = SIMP(statut ='f',
675 #           -----------------------------------
676                 typ = ('Fichier','All Files (*)','Sauvegarde'),
677                 defaut = '',
678                 fr = """ Fichier de resultats formate mis a la disposition de l''utilisateur.
679 Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.""",
680                 ang = """ Formatted file of results made available to the user. The results to
681 be entered into this file shall be written on channel 29.""",
682             ),
683         ),
684 #       -----------------------------------
685         CONTROL_SECTION = FACT(statut='f',
686 #       -----------------------------------
687 #           -----------------------------------
688             CONTROL_SECTIONS = SIMP(statut ='f',
689 #           -----------------------------------
690                 typ = 'I', min=0, max='**',
691                 fr = """ Couples de points (numeros globaux dans le maillage) entre lesquels
692 les debits instantanes et cumules seront donnes.""",
693                 ang = """ Couples of points (global numbers in the mesh) defining sections where
694 the instantaneous and cumulated discharges will be given""",
695             ),
696 #           -----------------------------------
697             PRINTING_CUMULATED_FLOWRATES = SIMP(statut ='o',
698 #           -----------------------------------
699                 typ = bool,
700                 defaut = False,
701                 fr = """ IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE""",
702                 ang = """ PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS""",
703             ),
704 #           -----------------------------------
705             COMPATIBLE_COMPUTATION_OF_FLUXES = SIMP(statut ='o',
706 #           -----------------------------------
707                 typ = bool,
708                 defaut = False,
709                 fr = """ FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE AVEC
710 L''IMPERMEABILITE SOUS FORME FAIBLE""",
711                 ang = """ FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE WITH THE
712 WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION""",
713             ),
714 #           -----------------------------------
715             SECTIONS_INPUT_FILE = SIMP(statut ='f',
716 #           -----------------------------------
717                 typ = ('Fichier','All Files (*)'),
718                 defaut = '',
719                 fr = """ sections input file, partitioned""",
720                 ang = """ sections input file, partitioned""",
721             ),
722 #           -----------------------------------
723             SECTIONS_OUTPUT_FILE = SIMP(statut ='f',
724 #           -----------------------------------
725                 typ = ('Fichier','All Files (*)','Sauvegarde'),
726                 defaut = '',
727                 fr = """ sections output file, written by the master""",
728                 ang = """ sections output file, written by the master""",
729             ),
730 #           -----------------------------------
731             FLUXLINE = SIMP(statut ='f',
732 #           -----------------------------------
733                 typ = bool,
734                 defaut = False,
735                 fr = """FLUXLINE""",
736                 ang = """Use Fluxline to compute flux over lines""",
737             ),
738 #           -----------------------------------
739             FLUXLINE_INPUT_FILE = SIMP(statut ='f',
740 #           -----------------------------------
741                 typ = ('Fichier','All Files (*)'),
742                 defaut = '',
743                 fr = """Nom du fichier de fluxline, avec des donnees sur les sections""",
744                 ang = """Name of the Fluxline file, with data on cross-sections""",
745             ),
746         ),
747 #       -----------------------------------
748         LISTING = FACT(statut='o',
749 #       -----------------------------------
750 #           -----------------------------------
751             NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS = SIMP(statut ='f',
752 #           -----------------------------------
753                 typ = 'I',
754                 defaut = 0,
755                 fr = """ Determine le nombre de pas de temps a partir duquel debute l''ecriture
756 des resultats dans le listing.""",
757                 ang = """ Determines the number of time steps after which the results are first
758 written into the listing.""",
759             ),
760 #           -----------------------------------
761             LISTING_PRINTOUT_PERIOD = SIMP(statut ='o',
762 #           -----------------------------------
763                 typ = 'I',
764                 defaut = 1,
765                 fr = """ Determine la periode en nombre de pas de temps d''impression des
766 VARIABLES A IMPRIMER (voir ce mot-cle) Pour la mise au point, il faut
767 savoir que la sortie des resultats est effectuee systematiquement sur le
768 fichier de retour d''execution du code (actuellement accessible par le
769 menu 3.f de SPF sur IBM, et dans le fichier !CAS.SORTIE sur station de
770 travail)""",
771                 ang = """ Determines, in number of time steps, the printout period of the
772 VARIABLES TO BE PRINTED The results are systematically printed out on
773 the listing file (file CAS.SORTIE at the workstation).""",
774             ),
775 #           -----------------------------------
776             LISTING_FOR_PRINTOUT_PERIOD = SIMP(statut ='f',
777 #           -----------------------------------
778                 typ = 'I',
779                 defaut = 1,
780                 fr = """ Determine la periode en nombre de pas de temps d''impression des
781 VARIABLES A IMPRIMER (voir ce mot-cle) Pour la mise au point, il faut
782 savoir que la sortie des resultats est effectuee systematiquement sur le
783 fichier de retour d''execution du code (actuellement accessible par le
784 menu 3.f de SPF sur IBM, et dans le fichier !CAS.SORTIE sur station de
785 travail)""",
786                 ang = """ Determines, in number of time steps, the printout period of the
787 VARIABLES TO BE PRINTED The results are systematically printed out on
788 the listing file (file CAS.SORTIE at the workstation).""",
789             ),
790 #           -----------------------------------
791             LISTING_PRINTOUT = SIMP(statut ='o',
792 #           -----------------------------------
793                 typ = bool,
794                 defaut = True,
795                 fr = """ Sortie des resultats sur support papier. Si l''on met NON le listing
796 ne contient que l''entete et la mention FIN NORMALE DU PROGRAMME
797 Commande a eviter""",
798                 ang = """ Result printout on hard copy. When NO is selected, the listing only
799 includes the heading and the phrase "NORMAL END OF PROGRAM" In addition,
800 the options MASS BALANCE and VALIDATION are inhibited. Not recommended
801 for use.""",
802             ),
803 #           -----------------------------------
804             VARIABLES_TO_BE_PRINTED = SIMP(statut ='f',
805 #           -----------------------------------
806                 typ = 'TXM', min=0, max='**',
807                 intoSug = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wave celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","tracer 1, etc.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity of k-epsilon model (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","nombre de courants ","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","gradient 1, etc."],
808                 defaut = '',
809                 fr = """Nom des variables que l''utilisateur desire ecrire a l''ecran. Meme
810 possibilites que pour les sorties graphiques.""",
811                 ang = """Name of the variables that the user wants printed on screen.
812 Same values available as graphical outputs""",
813             ),
814 #           -----------------------------------
815             MASS_BALANCE = SIMP(statut ='o',
816 #           -----------------------------------
817                 typ = bool,
818                 defaut = False,
819                 fr = """ Determine si l''on effectue ou non le bilan de masse sur le domaine.
820 Cette procedure calcule a chaque pas de temps : - les flux aux entrees
821 et sorties du domaine; - le flux global a travers l''ensemble des parois
822 du domaine (liquides ou solides) - l''erreur relative sur la masse pour
823 ce pas de temps. En fin de listing, on trouve l''erreur relative sur la
824 masse pour l''ensemble du calcul. Il ne s''agit que d''un calcul
825 indicatif car il n''existe pas d''expression compatible du debit en
826 formulation c,u,v.""",
827                 ang = """ Determines whether a check of the mass-balance over the domain is
828 mader or not. This procedures computes the following at each time step:
829 the domain inflows and outflows, the overall flow across all the
830 boundaries, the relative error in the mass for that time step. The
831 relative error in the mass over the whole computation can be found at
832 the end of the listing.""",
833             ),
834 #           -----------------------------------
835             INFORMATION_ABOUT_SOLVER = SIMP(statut ='f',
836 #           -----------------------------------
837                 typ = bool,
838                 defaut = True,
839                 fr = """ Donne a chaque pas de temps le nombre d''iterations necessaires a la
840 convergence du solveur de l''etape de propagation.""",
841                 ang = """ if YES, prints the number of iterations that have been necessar to get
842 the solution of the linear system.""",
843             ),
844 #           -----------------------------------
845             LIST_OF_POINTS = SIMP(statut ='f',
846 #           -----------------------------------
847                 typ = 'I', min=0, max='**',
848                 fr = """ Liste de points remarquables pour les impressions""",
849                 ang = """ List of remarkable points for printouts""",
850             ),
851 #           -----------------------------------
852             NAMES_OF_POINTS = SIMP(statut ='f',
853 #           -----------------------------------
854                 typ = 'TXM', min=0, max='**',
855                 fr = """ Noms des points remarquables pour les impressions""",
856                 ang = """ Names of remarkable points for printouts""",
857             ),
858         ),
859 #       -----------------------------------
860         FOURIER = FACT(statut='f',
861 #       -----------------------------------
862 #           -----------------------------------
863             FOURIER_ANALYSIS_PERIODS = SIMP(statut ='o',
864 #           -----------------------------------
865                 typ = 'R', min=0, max='**',
866                 fr = """ Liste des periodes que l''on veut analyser""",
867                 ang = """ List of periods to be analysed""",
868             ),
869 #           -----------------------------------
870             TIME_RANGE_FOR_FOURIER_ANALYSIS = SIMP(statut ='o',
871 #           -----------------------------------
872                 typ = 'R', min= 2, max= 2,
873                 defaut = [0.,0.],
874                 fr = """ Pour le calcul du marnage et de la phase de la maree""",
875                 ang = """ For computing tidal range and phase of tide""",
876             ),
877         ),
878     ),
879 )
880 # -----------------------------------------------------------------------
881 HYDRO = PROC(nom= "HYDRO",op = None,
882 # -----------------------------------------------------------------------
883     UIinfo = {"groupes": ("CACHE")},
884 #   -----------------------------------
885     BOUNDARY_CONDITIONS = FACT(statut='o',
886 #   -----------------------------------
887 #       -----------------------------------
888         PRESCRIBED_ELEVATIONS = SIMP(statut ='f',
889 #       -----------------------------------
890             typ = 'R', max='**',
891             defaut = [0.0,0.0],
892             fr = """ Valeurs des cotes imposees aux frontieres liquides entrantes. Lire la
893 partie du mode d''emploi consacree aux conditions aux limites""",
894             ang = """ Values of prescribed elevations at the inflow boundaries. The section
895 about boundary conditions is to be read in the manual""",
896         ),
897 #       -----------------------------------
898         PRESCRIBED_FLOWRATES = SIMP(statut ='f',
899 #       -----------------------------------
900             typ = 'R', max='**',
901             defaut = [0.0,0.0],
902             fr = """ Valeurs des debits imposes aux frontieres liquides entrantes. Lire la
903 partie du mode d''emploi consacree aux conditions aux limites""",
904             ang = """ Values of prescribed flowrates at the inflow boundaries. The section
905 about boundary conditions is to be read in the manual""",
906         ),
907 #       -----------------------------------
908         PRESCRIBED_VELOCITIES = SIMP(statut ='f',
909 #       -----------------------------------
910             typ = 'R', max='**',
911             defaut = [0.0,0.0],
912             fr = """ Valeurs des vitesses imposees aux frontieres liquides entrantes. Lire
913 la partie du mode d''emploi consacree aux conditions aux limites""",
914             ang = """ Values of prescribed velocities at the liquid inflow boundaries. Refer
915 to the section dealing with the boundary conditions""",
916         ),
917     ),
918 #   -----------------------------------
919     BOUNDARY_CONDITIONS_OTHERS = FACT(statut='o',
920 #   -----------------------------------
921 #       -----------------------------------
922         STAGE_DISCHARGE_CURVES = SIMP(statut ='f',
923 #       -----------------------------------
924             typ = 'TXM', max='**',
925             into = ["no","Z(Q)","Q(Z) not programmed"],
926             fr = """ Indique si une courbe de tarage doit etre utilisee pour une frontiere
927 0:non 1:Z(Q) 2: Q(Z) (2 non programme)""",
928             ang = """ Says if a discharge-elevation curve must be used for a given boundary
929 :NO 1:Z(Q) 2: Q(Z) (2 not programmed)""",
930         ),
931 #       -----------------------------------
932         b_STAGE_DISCHARGE_CURVESG = BLOC(condition="STAGE_DISCHARGE_CURVES != 'no'",
933 #       -----------------------------------
934 #           -----------------------------------
935             STAGE_DISCHARGE_CURVES_FILE = SIMP(statut ='f',
936 #           -----------------------------------
937                 typ = ('Fichier','All Files (*)'),
938                 defaut = '',
939                 fr = """ Nom du fichier contenant les courbes de tarage""",
940                 ang = """ Name of the file containing stage-discharge curves""",
941             ),
942         ),
943 #       -----------------------------------
944         VELOCITY_PROFILES = SIMP(statut ='f',
945 #       -----------------------------------
946             typ = 'TXM', min=0, max='**',
947             into = ["constant normal profile","u and v given in the conlim file","normal velocity given in ubor in the conlim file","velocity proportional to square root of depth","velocity proportional to square root of depth, variant"],
948             fr = """ 1:profil normal constant 2:u et v donnes dans le fichier conlim
949 3:vitesse normale donnee dans ubor dans le fichier conlim 4:profil en
950 racine de la profondeur 5:profil en racine de la profondeur, variante""",
951             ang = """ 1:constant normal profile 2:u and v given in the conlim file 3:normal
952 velocity given in ubor in the conlim file 4:sqrt(depth) profile
953 5:sqrt(depth) profile, variant""",
954         ),
955 #       -----------------------------------
956         OPTION_FOR_LIQUID_BOUNDARIES = SIMP(statut ='f',
957 #       -----------------------------------
958             typ = 'TXM', max='**',
959             into = ["classical","Thompson method based on characteristics"],
960             fr = """ On donne 1 entier par frontiere liquide 1 : conditions aux limites
961 classiques 2 : methode de Thompson avec calcul de caracteristiques""",
962             ang = """ One integer per liquid boundary is given 1 : classical boundary
963 conditions 2 : Thompson method based on characteristics""",
964         ),
965 #       -----------------------------------
966         LIQUID_BOUNDARIES_FILE = SIMP(statut ='f',
967 #       -----------------------------------
968             typ = ('Fichier','All Files (*)'),
969             defaut = '',
970             fr = """ Fichier de variations en temps des conditions aux limites. Les donnees
971 de ce fichier seront a lire sur le canal 12.""",
972             ang = """ Variations in time of boundary conditions. Data of this file are read
973 on channel 12.""",
974         ),
975 #       -----------------------------------
976         ELEMENTS_MASKED_BY_USER = SIMP(statut ='o',
977 #       -----------------------------------
978             typ = bool,
979             defaut = False,
980             fr = """ SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB""",
981             ang = """ IF YES REWRITE SUBROUTINE MASKOB""",
982         ),
983 #       -----------------------------------
984         b_ELEMENTS_MASKED_BY_USERG = BLOC(condition="ELEMENTS_MASKED_BY_USER == True",
985 #       -----------------------------------
986 #           -----------------------------------
987             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
988 #           -----------------------------------
989                 defaut = "Rewrite subroutine maskob"),
990         ),
991     ),
992 #   -----------------------------------
993     PHYSICAL_PARAMETERS_HYDRO = FACT(statut='o',
994 #   -----------------------------------
995 #       -----------------------------------
996         FRICTION = FACT(statut='o',
997 #       -----------------------------------
998 #           -----------------------------------
999             MAXIMUM_NUMBER_OF_FRICTION_DOMAINS = SIMP(statut ='o',
1000 #           -----------------------------------
1001                 typ = 'I',
1002                 defaut = 10,
1003                 fr = """ nombre maximal de zones pouvant etre definies pour le frottement. Peut
1004 etre augmente si necessaire""",
1005                 ang = """ maximal number of zones defined for the friction. Could be increased
1006 if needed""",
1007             ),
1008 #           -----------------------------------
1009             FRICTION_DATA = SIMP(statut ='f',
1010 #           -----------------------------------
1011                 typ = bool,
1012                 defaut = False,
1013                 fr = """ Lois de frottements definies par zone""",
1014                 ang = """ Friction law defined by area""",
1015             ),
1016 #           -----------------------------------
1017             FRICTION_DATA_FILE = SIMP(statut ='f',
1018 #           -----------------------------------
1019                 typ = ('Fichier','All Files (*)'),
1020                 defaut = '',
1021                 fr = """ fichier de donnees pour le frottement""",
1022                 ang = """ friction data file""",
1023             ),
1024 #           -----------------------------------
1025             LAW_OF_BOTTOM_FRICTION = SIMP(statut ='o',
1026 #           -----------------------------------
1027                 typ = 'TXM',
1028                 into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE"],
1029                 fr = """ selectionne le type de formulation utilisee pour le calcul du
1030 frottement sur le fond. Les lois possibles sont les suivantes (cf. Note
1031 de principe) : - 0 : pas de frottement sur le fond; 1 : formule de
1032 Haaland 2 : formule de Chezy 3 : formule de STRICKLER 4 : formule de
1033 MANNING 5 : formule de NIKURADSE""",
1034                 ang = """ Selects the type of formulation used for the bottom friction. The
1035 possible laws are as follows (refer to the Principle note): 0: no
1036 friction against bottom, 1: Haaland''s formula 2: CHEZY''s formula 3:
1037 STRICKLER''s formula 4: MANNING''s formula 5: NIKURADSE''s formula""",
1038             ),
1039 #           -----------------------------------
1040             b_LAW_OF_BOTTOM_FRICTIONG = BLOC(condition="LAW_OF_BOTTOM_FRICTION != 'NO FRICTION'",
1041 #           -----------------------------------
1042 #               -----------------------------------
1043                 FRICTION_COEFFICIENT = SIMP(statut ='o',
1044 #               -----------------------------------
1045                     typ = 'R',
1046                     defaut = 50.,
1047                     fr = """ Fixe la valeur du coefficient de frottement pour la formulation
1048 choisie. Attention; la signification de ce chiffre varie suivant la
1049 formule choisie : 1 : coefficient lineaire 2 : coefficient de Chezy 3 :
1050 coefficient de Strickler 4 : coefficient de Manning 5 : hauteur de
1051 rugosite de Nikuradse""",
1052                     ang = """ Sets the value of the friction coefficient for the selected
1053 formulation. It is noteworthy that the meaning of this figure changes
1054 according to the selected formula (Chezy, Strickler, etc.) : 1 : linear
1055 coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning
1056 coefficient 5 : Nikuradse grain size""",
1057                 ),
1058             ),
1059 #           -----------------------------------
1060             MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW = SIMP(statut ='o',
1061 #           -----------------------------------
1062                 typ = 'R',
1063                 defaut = 0.02,
1064                 fr = """ valeur par defaut du manning pour la loi de frottement de
1065 Colebrook-White (loi numero 7)""",
1066                 ang = """ Manning default value for the friction law of Colebrook-White (law
1067 number 7)""",
1068             ),
1069 #           -----------------------------------
1070             DEPTH_IN_FRICTION_TERMS = SIMP(statut ='o',
1071 #           -----------------------------------
1072                 typ = 'TXM',
1073                 into = ["nodal","average"],
1074                 defaut = "nodal",
1075                 fr = """ 1 : nodale 2 : moyenne""",
1076                 ang = """ 1: nodal 2: average""",
1077             ),
1078 #           -----------------------------------
1079             NON_SUBMERGED_VEGETATION_FRICTION = SIMP(statut ='o',
1080 #           -----------------------------------
1081                 typ = bool,
1082                 defaut = False,
1083                 fr = """ calcul du frottement du a la vegetation non submergee""",
1084                 ang = """ friction calculation of the non-submerged vegetation""",
1085             ),
1086 #           -----------------------------------
1087             b_NON_SUBMERGED_VEGETATION_FRICTIONG = BLOC(condition="NON_SUBMERGED_VEGETATION_FRICTION == True",
1088 #           -----------------------------------
1089 #               -----------------------------------
1090                 DIAMETER_OF_ROUGHNESS_ELEMENTS = SIMP(statut ='o',
1091 #               -----------------------------------
1092                     typ = 'R',
1093                     defaut = 0.006,
1094                     fr = """ diametre des elements de frottements""",
1095                     ang = """ diameter of roughness element""",
1096                 ),
1097 #               -----------------------------------
1098                 SPACING_OF_ROUGHNESS_ELEMENTS = SIMP(statut ='o',
1099 #               -----------------------------------
1100                     typ = 'R',
1101                     defaut = 0.14,
1102                     fr = """ espacement des elements de frottement""",
1103                     ang = """ spacing of rouhness element""",
1104                 ),
1105             ),
1106 #           -----------------------------------
1107             LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES = SIMP(statut ='o',
1108 #           -----------------------------------
1109                 typ = 'TXM',
1110                 into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE","LOG LAW","COLEBROOK-WHITE"],
1111                 defaut = "NO FRICTION",
1112                 fr = """ selectionne le type de formulation utilisee pour le calcul du
1113 frottement sur les parois laterales. Les lois possibles sont les
1114 suivantes (cf. Note de principe) : 0 : pas de frottement 1 : lineaire 2
1115 : Chezy 3 : Strickler 4 : Manning 5 : formule de NIKURADSE 6 : loi en
1116 log 7 : Colebrook-White""",
1117                 ang = """ Selects the type of formulation used for the friction on lateral
1118 boundaries. The possible laws are as follows (refer to the Principle
1119 note): 0: no friction 1: linear 2: Chezy 3: Strickler 4: Manning 5:
1120 NIKURADSE''s formula 6 : law log 7 : Colebrook-White""",
1121             ),
1122 #           -----------------------------------
1123             b_LAW_OF_FRICTION_ON_LATERAL_BOUNDARIESG = BLOC(condition="LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES != 'NO FRICTION'",
1124 #           -----------------------------------
1125 #               -----------------------------------
1126                 ROUGHNESS_COEFFICIENT_OF_BOUNDARIES = SIMP(statut ='o',
1127 #               -----------------------------------
1128                     typ = 'R',
1129                     defaut = 100.,
1130                     fr = """ Fixe la valeur du coefficient de frottement sur les frontieres solides
1131 avec un regime turbulent rugueux sur les bords du domaine. meme
1132 convention que pour le coefficient de frottement: 1 : non programme 2 :
1133 coefficient de Chezy 3 : coefficient de Strickler 4 : coefficient de
1134 Manning 5 : hauteur de rugosite de Nikuradse""",
1135                     ang = """ Sets the value of the friction coefficient of the solid boundary with
1136 the bed roughness option. Same meaning than friction coefficient""",
1137                 ),
1138             ),
1139 #           -----------------------------------
1140             DEFINITION_OF_ZONES = SIMP(statut ='o',
1141 #           -----------------------------------
1142                 typ = bool,
1143                 defaut = False,
1144                 fr = """ Declenche l''appel a def\_zones, pour donner un numero de zone a
1145 chaque point""",
1146                 ang = """ Triggers the call to def\_zones to give a zone number to every point""",
1147             ),
1148 #           -----------------------------------
1149             b_DEFINITION_OF_ZONESG = BLOC(condition="DEFINITION_OF_ZONES == True",
1150 #           -----------------------------------
1151 #               -----------------------------------
1152                 Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1153 #               -----------------------------------
1154                     defaut = "Rewrite subroutine def_zones"),
1155             ),
1156 #           -----------------------------------
1157             ZONES_FILE = SIMP(statut ='f',
1158 #           -----------------------------------
1159                 typ = ('Fichier','All Files (*)'),
1160                 defaut = '',
1161                 fr = """ Fichier des zones avec sur chaque ligne numero de point numero de
1162 zone""",
1163                 ang = """ Zones file, with on every line: point number zone number""",
1164             ),
1165         ),
1166 #       -----------------------------------
1167         METEOROLOGY = FACT(statut='f',
1168 #       -----------------------------------
1169 #           -----------------------------------
1170             WIND = SIMP(statut ='o',
1171 #           -----------------------------------
1172                 typ = bool,
1173                 defaut = False,
1174                 fr = """ Prise en compte ou non des effets du vent.""",
1175                 ang = """ Determines whether the wind effects are to be taken into account or
1176 not.""",
1177             ),
1178 #           -----------------------------------
1179             b_WINDG = BLOC(condition="WIND == True",
1180 #           -----------------------------------
1181 #               -----------------------------------
1182                 WIND_VELOCITY_ALONG_X = SIMP(statut ='o',
1183 #               -----------------------------------
1184                     typ = 'R',
1185                     defaut = 0.,
1186                     fr = """ Composante de la vitesse du vent suivant l''axe des x (m/s).""",
1187                     ang = """ Wind velocity, component along x axis (m/s).""",
1188                 ),
1189 #               -----------------------------------
1190                 WIND_VELOCITY_ALONG_Y = SIMP(statut ='o',
1191 #               -----------------------------------
1192                     typ = 'R',
1193                     defaut = 0.,
1194                     fr = """ Composante de la vitesse du vent suivant l''axe des y (m/s).""",
1195                     ang = """ Wind velocity, component along y axis (m/s).""",
1196                 ),
1197 #               -----------------------------------
1198                 THRESHOLD_DEPTH_FOR_WIND = SIMP(statut ='o',
1199 #               -----------------------------------
1200                     typ = 'R',
1201                     defaut = 1.,
1202                     fr = """ Retire la force due au vent dans les petites profondeurs""",
1203                     ang = """ Wind is not taken into account for small depths""",
1204                 ),
1205 #               -----------------------------------
1206                 COEFFICIENT_OF_WIND_INFLUENCE = SIMP(statut ='o',
1207 #               -----------------------------------
1208                     typ = 'R',
1209                     defaut = 0.,
1210                     fr = """ Fixe la valeur du coefficient d''entrainement du vent (cf. Note de
1211 principe).""",
1212                     ang = """ Sets the value of the wind driving coefficient. Refer to principle
1213 note.""",
1214                 ),
1215 #               -----------------------------------
1216                 OPTION_FOR_WIND = SIMP(statut ='o',
1217 #               -----------------------------------
1218                     typ = 'TXM',
1219                     into = ["constant in time and space","variable in time given by formated file","variable in time and space given by formated file"],
1220                     defaut = "constant in time and space",
1221                     fr = """ donne les options pour introduire le vent:
1222 1: constant en temps et en espace (donne par le mot cle VITESSE ET
1223 DIRECTION DU VENT)
1224 2: variable en temps donne par fichier formate
1225 3: variable en temps et en espace donne par fichier formate""",
1226                     ang = """ gives option for managing the wind:
1227 1: constant in time and space, given by keyword SPEED AND DIRECTION OF
1228 WIND
1229 2: variable in time and (constant in space), given by formated file
1230 3: variable in time and space""",
1231                 ),
1232 #               -----------------------------------
1233                 b_OPTION_FOR_WINDG = BLOC(condition="OPTION_FOR_WIND == 'constant in time and space'",
1234 #               -----------------------------------
1235 #                   -----------------------------------
1236                     SPEED_AND_DIRECTION_OF_WIND = SIMP(statut ='o',
1237 #                   -----------------------------------
1238                         typ = 'R', min= 2, max= 2,
1239                         defaut = [0.,0.],
1240                         fr = """ Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y=0 et
1241 x=+inf) du vent lorsqu ils sont consant en temps et en espace (mot cle
1242 OPTION DU VENT = 1)""",
1243                         ang = """ gives the speed and direction (degre (from 0 to 360), 0 given y=0 anx
1244 x=+infinity) when they are constant in time and space (keyword OPTION
1245 FOR WIND = 1)""",
1246                     ),
1247                 ),
1248 #               -----------------------------------
1249                 b_OPTION_FOR_WINDH = BLOC(condition="OPTION_FOR_WIND == 'variable in time given by formated file' or OPTION_FOR_WIND == 'variable in time and space given by formated file'",
1250 #               -----------------------------------
1251 #                   -----------------------------------
1252                     Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1253 #                   -----------------------------------
1254                         defaut = "Give the formatted file 3"),
1255                 ),
1256             ),
1257 #           -----------------------------------
1258             AIR_PRESSURE = SIMP(statut ='o',
1259 #           -----------------------------------
1260                 typ = bool,
1261                 defaut = False,
1262                 fr = """ Permet de decider si l''on prend ou non en compte l''influence d''un
1263 champ de pression.""",
1264                 ang = """ Provided to decide whether the influence of an atmosphere field is
1265 taken into account or not.""",
1266             ),
1267 #           -----------------------------------
1268             b_AIR_PRESSUREG = BLOC(condition="AIR_PRESSURE == True",
1269 #           -----------------------------------
1270 #               -----------------------------------
1271                 VALUE_OF_ATMOSPHERIC_PRESSURE = SIMP(statut ='o',
1272 #               -----------------------------------
1273                     typ = 'R',
1274                     defaut = 100000.,
1275                     fr = """ donne la valeur de la pression atmospherique lorsquelle est constante
1276 en temps et en espace""",
1277                     ang = """ gives the value of atmospheric pressure when it is contant in time and
1278 space""",
1279                 ),
1280             ),
1281 #           -----------------------------------
1282             RAIN_OR_EVAPORATION = SIMP(statut ='o',
1283 #           -----------------------------------
1284                 typ = bool,
1285                 defaut = False,
1286                 fr = """ Pour ajouter un apport ou une perte d''eau en surface. Voir le mot-cle
1287 PLUIE OU EVAPORATION EN MM PAR JOUR""",
1288                 ang = """ to add or remove water at the free surface. See the key-word RAIN OR
1289 EVAPORATION IN MM PER DAY""",
1290             ),
1291 #           -----------------------------------
1292             b_RAIN_OR_EVAPORATIONG = BLOC(condition="RAIN_OR_EVAPORATION == True",
1293 #           -----------------------------------
1294 #               -----------------------------------
1295                 RAIN_OR_EVAPORATION_IN_MM_PER_DAY = SIMP(statut ='o',
1296 #               -----------------------------------
1297                     typ = 'R',
1298                     defaut = 0.0,
1299                     fr = """ Pour ajouter un apport ou une perte d''eau en surface""",
1300                     ang = """ to add or remove water at the free surface""",
1301                 ),
1302             ),
1303 #           -----------------------------------
1304             RAINFALL_RUNOFF_MODEL = SIMP(statut ='f',
1305 #           -----------------------------------
1306                 typ = 'TXM',
1307                 into = ["No infiltration","CN runoff model"],
1308                 defaut = "No infiltration",
1309                 fr = """Option pour modele pluie-debit. Les options disponibles sont:
1310   0 : Pas d infiltration (fonction de base)
1311   1 : Modele CN (Curve Number du SCS)""",
1312                 ang = """Option for the rainfall-runoff model. Available options are:
1313   0 : No infiltration
1314   1 : CN runoff model (Curve Number method of the SCS)""",
1315             ),
1316 #           -----------------------------------
1317             ANTECEDENT_MOISTURE_CONDITIONS = SIMP(statut ='f',
1318 #           -----------------------------------
1319                 typ = 'I',
1320                 defaut = 2,
1321                 fr = """Donne les conditions d humidite precedant un episode de pluie pour
1322 le modele CN du SCS. Les options disponibles sont:
1323   1 : conditions precedentes seches
1324   2 : conditions precedentes normales
1325   3 : conditions prcedentes mouillees
1326 ce mot cle est uniquement utile pour le modele pluie-debit 1 (CN)""",
1327                 ang = """Gives the antecedent moisture conditions before a rainfall
1328  event for the SCS CN runoff model. Available options are:
1329   1 : dry antecedent conditions
1330   2 : normal antecedent conditions
1331   3 : wet antecedent conditions
1332 this keyword is only usefull for runoff model 1 (SCS CN model)""",
1333             ),
1334 #           -----------------------------------
1335             DURATION_OF_RAIN_OR_EVAPORATION_IN_HOURS = SIMP(statut ='f',
1336 #           -----------------------------------
1337                 typ = 'R',
1338                 defaut = 1.E6,
1339                 fr = """Donne la duree de la pluie en heure, par defaut pluie infinie""",
1340                 ang = """Gives the duration of the rain in hour,
1341 default value is infinite""",
1342             ),
1343 #           -----------------------------------
1344             ASCII_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
1345 #           -----------------------------------
1346                 typ = ('Fichier','All Files (*)'),
1347                 defaut = '',
1348                 fr = """Fichier de donnees en ascii contenant les informations
1349 atmospheriques variables en temps""",
1350                 ang = """Ascii data file containing the atmospheric data varying in
1351 time""",
1352             ),
1353 #           -----------------------------------
1354             BINARY_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
1355 #           -----------------------------------
1356                 typ = ('Fichier','All Files (*)'),
1357                 defaut = '',
1358                 fr = """Fichier de donnees code en binaire contenant les informations
1359 atmospheriques variables en temps et en espace sur le maillage""",
1360                 ang = """Binary-coded data file containing the atmospheric data varying in
1361 time and space on the mesh""",
1362             ),
1363 #           -----------------------------------
1364             BINARY_ATMOSPHERIC_DATA_FILE_FORMAT = SIMP(statut ='f',
1365 #           -----------------------------------
1366                 typ = 'TXM',
1367                 into = ['SERAFIN?','SERAFIND','MED'],
1368                 defaut = 'SERAFIN?',
1369                 fr = """Format du fichier binaire de donn\E9es atmospheriques.
1370 Les valeurs possibles sont :
1371 - SERAFIN : format standard simple precision pour Telemac;
1372 - SERAFIND: format standard double precision pour Telemac;
1373 - MED     : format MED base sur HDF5""",
1374                 ang = """Binary atmospheric file format.
1375 Possible values are:
1376 - SERAFIN : classical single precision format in Telemac;
1377 - SERAFIND: classical double precision format in Telemac;
1378 - MED     : MED format based on HDF5""",
1379             ),
1380 #           -----------------------------------
1381             OPTION_FOR_INITIAL_ABSTRACTION_RATIO = SIMP(statut ='f',
1382 #           -----------------------------------
1383                 typ = 'I',
1384                 defaut = 1,
1385                 fr = """ Donne le ratio entre pertes initiales IA et la retention potenti
1386 maximale S pour le modele pluie-debit SCS CN. Les options disponibles so
1387 1 : IA/S = 0.2 (methode standard)   2 : IA/S = 0.05 (methode revisee,
1388 cf. Woodward, Hawkins et al. 2003. A cette option les coefficients CN
1389 fournis en entree sont alors automatiquement corriges, cf.  manuel
1390 utilisateur). Ce mot cle est uniquement utile pour le modele pluie-debit
1391 1 (CN)""",
1392                 ang = """ Gives the ratio for Initial Abstraction to Maximal Potential Retention
1393 S for the SCS CN runoff model. Available options are:   1 : IA/S = 0.2
1394 (standard method) 2 : IA/S = 0.05 (revised method, see Woodward, Hawkins
1395 et al. 2003. With this option the CN values given in input are
1396 automatically convers see user manual). This keyword is only useful for
1397 runoff model 1 (SCS CN model)""",
1398             ),
1399         ),
1400 #       -----------------------------------
1401         WAVE = FACT(statut='f',
1402 #       -----------------------------------
1403 #           -----------------------------------
1404             WAVE_DRIVEN_CURRENTS = SIMP(statut ='o',
1405 #           -----------------------------------
1406                 typ = bool,
1407                 defaut = False,
1408                 fr = """ Active la prise en compte des courants de houle""",
1409                 ang = """ Wave driven currents are taken into account.""",
1410             ),
1411 #           -----------------------------------
1412             b_WAVE_DRIVEN_CURRENTSG = BLOC(condition="WAVE_DRIVEN_CURRENTS == True",
1413 #           -----------------------------------
1414 #               -----------------------------------
1415                 RECORD_NUMBER_IN_WAVE_FILE = SIMP(statut ='o',
1416 #               -----------------------------------
1417                     typ = 'I',
1418                     defaut = 1,
1419                     fr = """ Numero d enregistrement dans le fichier des courants de houle""",
1420                     ang = """ Record number to read in the wave driven currents file""",
1421                 ),
1422             ),
1423 #           -----------------------------------
1424             WAVE_ENHANCED_FRICTION_FACTOR = SIMP(statut ='f',
1425 #           -----------------------------------
1426                 typ = bool,
1427                 defaut = False,
1428                 fr = """ Active la prise en compte des interactions non-lineaires entre la
1429 houle et les courant pour le calcul du courant de houle (cf OConnor and
1430 Yoo, 1988, Coast Eng.12.)""",
1431                 ang = """ Wave friction enhancement for the calculation of the wave generated
1432 longshore current (cf OConnor and Yoo, 1988, Coast Eng.12.)""",
1433             ),
1434         ),
1435 #       -----------------------------------
1436         ESTIMATION = FACT(statut='f',
1437 #       -----------------------------------
1438 #           -----------------------------------
1439             PARAMETER_ESTIMATION = SIMP(statut ='o',
1440 #           -----------------------------------
1441                 typ = 'TXM',
1442                 into = ['','FRICTION','FRICTION, STEADY'],
1443                 defaut = '',
1444                 fr = """ Liste des parametres a estimer, choix : FROTTEMENT ou FROTTEMENT,
1445 PERMANENT""",
1446                 ang = """ List of parameter to be estimated, choice : FRICTION or FRICTION,
1447 STEADY""",
1448             ),
1449 #           -----------------------------------
1450             COST_FUNCTION = SIMP(statut ='f',
1451 #           -----------------------------------
1452                 typ = 'TXM',
1453                 into = ["Computed with h,u,v","Computed with c,u,v"],
1454                 defaut = "Computed with h,u,v",
1455                 fr = """ 1 : calculee sur h, u , v 2 : calculee avec c, u , v""",
1456                 ang = """ 1: computed with h, u , v 2: computed with c, u , v""",
1457             ),
1458 #           -----------------------------------
1459             IDENTIFICATION_METHOD = SIMP(statut ='o',
1460 #           -----------------------------------
1461                 typ = 'TXM',
1462                 into = ["list of tests","gradient simple","conj gradient","Lagrange interp."],
1463                 defaut = "gradient simple",
1464                 fr = """ 0 : plan d''experience 1 : gradient simple 2 : gradient conj. 3 :
1465 interp. de Lagrange""",
1466                 ang = """ 0 : list of tests 1: gradient 2 : conj. gradient 3 : lagrange interp.""",
1467             ),
1468 #           -----------------------------------
1469             TOLERANCES_FOR_IDENTIFICATION = SIMP(statut ='o',
1470 #           -----------------------------------
1471                 typ = 'R', min= 4, max= 4,
1472                 defaut = [1.E-3,1.E-3,1.E-3,1.E-4],
1473                 fr = """ 4 nombres : precision absolue sur H, U, V, et precision relative sur
1474 la fonction cout""",
1475                 ang = """ 4 numbers: absolute precision on H, U V, and relative precision on the
1476 cost function""",
1477             ),
1478 #           -----------------------------------
1479             MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION = SIMP(statut ='o',
1480 #           -----------------------------------
1481                 typ = 'I',
1482                 defaut = 20,
1483                 fr = """ chaque iteration comprend au moins un calcul direct et un calcul
1484 adjoint""",
1485                 ang = """ every iteration implies at least a direct and an adjoint computation""",
1486             ),
1487         ),
1488 #       -----------------------------------
1489         SOURCES = FACT(statut='f',
1490 #       -----------------------------------
1491 #           -----------------------------------
1492             ABSCISSAE_OF_SOURCES = SIMP(statut ='f',
1493 #           -----------------------------------
1494                 typ = 'R', min=0, max='**',
1495                 fr = """ Valeurs des abscisses des sources de debit et de traceur.""",
1496                 ang = """ abscissae of sources of flowrate and/or tracer""",
1497             ),
1498 #           -----------------------------------
1499             ORDINATES_OF_SOURCES = SIMP(statut ='f',
1500 #           -----------------------------------
1501                 typ = 'R', min=0, max='**',
1502                 fr = """ Valeurs des ordonnees des sources de debit et de traceur.""",
1503                 ang = """ ordinates of sources of flowrate and/or tracer""",
1504             ),
1505 #           -----------------------------------
1506             WATER_DISCHARGE_OF_SOURCES = SIMP(statut ='f',
1507 #           -----------------------------------
1508                 typ = 'R', min=0, max='**',
1509                 fr = """ Valeurs des debits des sources.""",
1510                 ang = """ values of water discharge of sources""",
1511             ),
1512 #           -----------------------------------
1513             VELOCITIES_OF_THE_SOURCES_ALONG_X = SIMP(statut ='f',
1514 #           -----------------------------------
1515                 typ = 'R', min=0, max='**',
1516                 fr = """ Vitesses du courant a chacune des sources. Si elles ne sont pas
1517 donnees, on considere que la vitesse est celle du courant""",
1518                 ang = """ Velocities at the sources. If they are not given, the velocity of the
1519 flow at this location is taken""",
1520             ),
1521 #           -----------------------------------
1522             VELOCITIES_OF_THE_SOURCES_ALONG_Y = SIMP(statut ='f',
1523 #           -----------------------------------
1524                 typ = 'R', min=0, max='**',
1525                 fr = """ Vitesses du courant a chacune des sources""",
1526                 ang = """ Velocities at the sources""",
1527             ),
1528 #           -----------------------------------
1529             TYPE_OF_SOURCES = SIMP(statut ='o',
1530 #           -----------------------------------
1531                 typ = 'TXM',
1532                 into = ["Normal","Dirac"],
1533                 defaut = "Normal",
1534                 fr = """ 1: Source portee par une base elements finis 2: Source portee par une
1535 fonction de Dirac""",
1536                 ang = """ 1: Source term multiplied by a finite element basis 2: Source term
1537 multiplied by a Dirac function""",
1538             ),
1539 #           -----------------------------------
1540             SOURCES_FILE = SIMP(statut ='f',
1541 #           -----------------------------------
1542                 typ = ('Fichier','All Files (*)'),
1543                 defaut = '',
1544                 fr = """ Nom du fichier contenant les informations variables en temps des
1545 sources""",
1546                 ang = """ Name of the file containing time-dependent information on sources""",
1547             ),
1548         ),
1549 #       -----------------------------------
1550         WATER_QUALITY_INFO = FACT(statut='f',
1551 #       -----------------------------------
1552 #           -----------------------------------
1553             WATER_QUALITY_PROCESS = SIMP(statut ='f',
1554 #           -----------------------------------
1555                 typ = 'I',
1556                 defaut = 0,
1557                 fr = """ donne le numero du processus waq (1 ou 2 ou 3 ou 4 ou 5) 0- RIEN,
1558 1-O2, 2-BIOMASS, 3-EUTRO 4-MICROPOL 5-THERMIC)""",
1559                 ang = """ gives the waq process number (from 1 to 5) 0-NOTHING, 1-O2, 2-BIOMASS,
1560 3-EUTRO 4-MICROPOL 5-THERMIC)""",
1561             ),
1562         ),
1563 #       -----------------------------------
1564         ADVANCED_PHY = FACT(statut='f',
1565 #       -----------------------------------
1566 #           -----------------------------------
1567             WATER_DENSITY = SIMP(statut ='o',
1568 #           -----------------------------------
1569                 typ = 'R',
1570                 defaut = 1000.,
1571                 fr = """ Fixe la valeur de la masse volumique de l''eau.""",
1572                 ang = """ set the value of water density""",
1573             ),
1574 #           -----------------------------------
1575             GRAVITY_ACCELERATION = SIMP(statut ='o',
1576 #           -----------------------------------
1577                 typ = 'R',
1578                 defaut = 9.81,
1579                 fr = """ Fixe la valeur de l''acceleration de la pesanteur.""",
1580                 ang = """ Set the value of the acceleration due to gravity.""",
1581             ),
1582 #           -----------------------------------
1583             VERTICAL_STRUCTURES = SIMP(statut ='o',
1584 #           -----------------------------------
1585                 typ = bool,
1586                 defaut = False,
1587                 fr = """ Prise en compte de la force de trainee de structures verticales (il
1588 faut alors remplir la subroutine DRAGFO)""",
1589                 ang = """ drag forces from vertical structures are taken into account.
1590 (subroutine DRAGFO must then be implemented)""",
1591             ),
1592 #           -----------------------------------
1593             b_VERTICAL_STRUCTURESG = BLOC(condition="VERTICAL_STRUCTURES == True",
1594 #           -----------------------------------
1595 #               -----------------------------------
1596                 Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1597 #               -----------------------------------
1598                     defaut = "Fill the subroutine DRAGFO"),
1599             ),
1600         ),
1601     ),
1602 #   -----------------------------------
1603     NUMERICAL_PARAMETERS_HYDRO = FACT(statut='o',
1604 #   -----------------------------------
1605 #       -----------------------------------
1606         EQUATIONS = SIMP(statut ='o',
1607 #       -----------------------------------
1608             typ = 'TXM',
1609             into = ['SAINT-VENANT FE','SAINT-VENANT FV','BOUSSINESQ'],
1610             defaut = 'SAINT-VENANT FE',
1611             fr = """ CHOIX DES EQUATIONS A RESOUDRE : SAINT-VENANT ELEMENTS FINIS,
1612 SAINT-VENANT VOLUMES FINIS OU BOUSSINESQ 20 CARACTERES""",
1613             ang = """ CHOICE OF EQUATIONS TO SOLVE : SAINT-VENANT FINITE ELEMENTS,
1614 SAINT-VENANT FINITE VOLUMES OR BOUSSINESQ 20 CHARACTERS""",
1615         ),
1616 #       -----------------------------------
1617         b_EQUATIONSG = BLOC(condition="EQUATIONS == 'SAINT-VENANT FV'",
1618 #       -----------------------------------
1619 #           -----------------------------------
1620             FINITE_VOLUME_SCHEME = SIMP(statut ='o',
1621 #           -----------------------------------
1622                 typ = 'TXM',
1623                 into = ["Roe scheme","kinetic order 1","kinetic order 2","Zokagoa scheme order 1","Tchamen scheme order 1","HLLC scheme order 1","WAF scheme order 2"],
1624                 defaut = "kinetic order 1",
1625                 fr = """ 0 : schema de Roe 1 : cinetique ordre 1 2 : cinetique ordre 2 3 :
1626 schema de Zokagoa 4 : schema de Tchamen 5 : HLLC ordre 1 6 : WAF ordre
1627 2""",
1628                 ang = """ 0: Roe scheme 1: kinetic order 1 2: kinetic order 2 3 : Zokagoa scheme
1629 4 : Tchamen scheme 5 : HLLC order 1 6 : WAF order 2""",
1630             ),
1631         ),
1632 #       -----------------------------------
1633         TREATMENT_OF_THE_LINEAR_SYSTEM = SIMP(statut ='o',
1634 #       -----------------------------------
1635             typ = 'TXM',
1636             into = ["coupled","Wave equation"],
1637             defaut = "coupled",
1638             fr = """ 1 : Traitement couple 2 : equation d onde""",
1639             ang = """ 1 : Coupled 2 : wave equation""",
1640         ),
1641     ),
1642 #   -----------------------------------
1643     FLUID = FACT(statut='f',
1644 #   -----------------------------------
1645 #       -----------------------------------
1646         CORIOLIS_EFFECT = FACT(statut='f',
1647 #       -----------------------------------
1648 #           -----------------------------------
1649             CORIOLIS = SIMP(statut ='o',
1650 #           -----------------------------------
1651                 typ = bool,
1652                 defaut = False,
1653                 fr = """ Prise en compte ou non de la force de Coriolis.""",
1654                 ang = """ The Coriolis force is taken into account or ignored.""",
1655             ),
1656 #           -----------------------------------
1657             CORIOLIS_COEFFICIENT = SIMP(statut ='o',
1658 #           -----------------------------------
1659                 typ = 'R',
1660                 defaut = 0.,
1661                 fr = """ Fixe la valeur du coefficient de la force de Coriolis. Celui-ci doit
1662 etre calcule en fonction de la latitude l par la formule FCOR = 2w
1663 sin(l) , w etant la vitesse de rotation de la terre. w = 7.2921 10-5
1664 rad/s Les composantes de la force de Coriolis sont alors : FU = FCOR x V
1665 FV = - FCOR x U""",
1666                 ang = """ Sets the value of the Coriolis force coefficient, in cartesian
1667 coordinates. This coefficient, denoted FCOR in the code, should be equal
1668 to 2 w sin(l)d where w denotes the earth angular speed of rotation and l
1669 the latitude. w = 7.27 10-5 rad/sec The Coriolis force components are
1670 then: FU = FCOR x V, FV = -FCOR x U In spherical coordinates, the
1671 latitudes are known""",
1672             ),
1673         ),
1674 #       -----------------------------------
1675         TSUNAMI = FACT(statut='f',
1676 #       -----------------------------------
1677 #           -----------------------------------
1678             OPTION_FOR_TSUNAMI_GENERATION = SIMP(statut ='o',
1679 #           -----------------------------------
1680                 typ = 'TXM',
1681                 into = ["No Tsunami","Tsunami generated on the basis of the Okada model 1992"],
1682                 defaut = "No Tsunami",
1683                 fr = """""",
1684                 ang = """""",
1685             ),
1686 #           -----------------------------------
1687             PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI = SIMP(statut ='o',
1688 #           -----------------------------------
1689                 typ = 'R', min=10, max=10,
1690                 defaut = [100.,210000.,75000.,13.6,81.,41.,110.,0.,0.,3.],
1691                 fr = """""",
1692                 ang = """""",
1693             ),
1694         ),
1695 #       -----------------------------------
1696         SECONDARY_CURRENTS_INFO = FACT(statut='f',
1697 #       -----------------------------------
1698 #           -----------------------------------
1699             SECONDARY_CURRENTS = SIMP(statut ='o',
1700 #           -----------------------------------
1701                 typ = bool,
1702                 defaut = False,
1703                 fr = """ Pour prendre en compte les courants secondaires""",
1704                 ang = """ Using the parametrisation for secondary currents""",
1705             ),
1706 #           -----------------------------------
1707             b_SECONDARY_CURRENTSG = BLOC(condition="SECONDARY_CURRENTS == True",
1708 #           -----------------------------------
1709 #               -----------------------------------
1710                 PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
1711 #               -----------------------------------
1712                     typ = 'R',
1713                     defaut = 7.071,
1714                     fr = """ Une constante dans les termes de creation de Omega""",
1715                     ang = """ A constant in the production terms of Omega""",
1716                 ),
1717 #               -----------------------------------
1718                 DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
1719 #               -----------------------------------
1720                     typ = 'R',
1721                     defaut = 5.E-1,
1722                     fr = """ Coefficient de dissipation de Omega""",
1723                     ang = """ Coefficient of dissipation term of Omega""",
1724                 ),
1725             ),
1726         ),
1727     ),
1728 )
1729 # -----------------------------------------------------------------------
1730 GENERAL_PARAMETERS = PROC(nom= "GENERAL_PARAMETERS",op = None,
1731 # -----------------------------------------------------------------------
1732     UIinfo = {"groupes": ("CACHE")},
1733 #   -----------------------------------
1734     DEBUGGER = SIMP(statut ='o',
1735 #   -----------------------------------
1736         typ = 'I',
1737         defaut = 0,
1738         fr = """ Pour imprimer la sequence des appels, mettre 1""",
1739         ang = """ If 1, calls of subroutines will be printed in the listing""",
1740     ),
1741 #   -----------------------------------
1742     TIME = FACT(statut='o',
1743 #   -----------------------------------
1744 #       -----------------------------------
1745         TIME_STEP = SIMP(statut ='o',
1746 #       -----------------------------------
1747             typ = 'R',
1748             defaut = 1.,
1749             fr = """ Definit le pas de temps en secondes. Remarque : Pour une bonne
1750 precision; il est souhaitable de choisir le pas de temps de telle sorte
1751 que le nombre de Courant de propagation soit inferieur a 2 ; voir 3.
1752 Ceci peut etre realisable en hydraulique fluviale ; mais ne l''est
1753 pratiquement jamais en hydraulique maritime ou l''on peut atteindre des
1754 valeurs de 50.""",
1755             ang = """ Specifies the time step in seconds.""",
1756         ),
1757 #       -----------------------------------
1758         NUMBER_OF_TIME_STEPS = SIMP(statut ='f',
1759 #       -----------------------------------
1760             typ = 'I',
1761             defaut = 1,
1762             fr = """ Definit le nombre de pas de temps effectues lors de l''execution du
1763 code.""",
1764             ang = """ Specifies the number of time steps performed when running the code.""",
1765         ),
1766 #       -----------------------------------
1767         DURATION = SIMP(statut ='f',
1768 #       -----------------------------------
1769             typ = 'R',
1770             defaut = 0.,
1771             fr = """ duree de la simulation. alternative au parametre nombre de pas de
1772 temps. On en deduit le nombre de pas de temps en prenant l''entier le
1773 plus proche de (duree du calcul/pas de temps). Si le nombre de pas de
1774 temps est aussi donne, on prend la plus grande valeur""",
1775             ang = """ duration of simulation. May be used instead of the parameter NUMBER OF
1776 TIME STEPS. The nearest integer to (duration/time step) is taken. If
1777 NUMBER OF TIME STEPS is also given, the greater value is taken""",
1778         ),
1779 #       -----------------------------------
1780         ORIGINAL_DATE_OF_TIME = SIMP(statut ='o',
1781 #       -----------------------------------
1782             typ = 'I', min= 3, max= 3,
1783             defaut = [1900,1,1],
1784             fr = """ Permet de fixer la date d''origine des temps du modele lors de la
1785 prise en compte de la force generatrice de la maree.""",
1786             ang = """ Give the date of the time origin of the model when taking into account
1787 the tide generating force.""",
1788         ),
1789 #       -----------------------------------
1790         ORIGINAL_HOUR_OF_TIME = SIMP(statut ='o',
1791 #       -----------------------------------
1792             typ = 'I', min= 3, max= 3,
1793             defaut = [0,0,0],
1794             fr = """ Permet de fixer l''heure d''origine des temps du modele lors de la
1795 prise en compte de la force generatrice de la maree.""",
1796             ang = """ Give the time of the time origin of the model when taking into account
1797 of the tide generator force.""",
1798         ),
1799 #       -----------------------------------
1800         STOP_IF_A_STEADY_STATE_IS_REACHED = SIMP(statut ='o',
1801 #       -----------------------------------
1802             typ = bool,
1803             defaut = False,
1804             fr = """ A UTILISER AVEC LE MOT-CLE : CRITERES D''ARRET""",
1805             ang = """ TO BE USED WITH THE KEY-WORD: STOP CRITERIA""",
1806         ),
1807 #       -----------------------------------
1808         b_STOP_IF_A_STEADY_STATE_IS_REACHEDG = BLOC(condition="STOP_IF_A_STEADY_STATE_IS_REACHED == True",
1809 #       -----------------------------------
1810 #           -----------------------------------
1811             STOP_CRITERIA = SIMP(statut ='o',
1812 #           -----------------------------------
1813                 typ = 'R', min= 3, max= 3,
1814                 defaut = [1.E-4,1.E-4,1.E-4],
1815                 fr = """ Criteres d''arret pour un ecoulement permanent ces coefficients sont
1816 respectivement appliques a 1) U et V 2) H 3) T A utiliser avec le
1817 mot-cle : ARRET SI UN ETAT PERMANENT EST ATTEINT""",
1818                 ang = """ Stop criteria for a steady state These coefficients are applied
1819 respectively to 1) U and V 2) H 3) T To be used with the key-word: STOP
1820 IF A STEADY STATE IS REACHED""",
1821             ),
1822         ),
1823 #       -----------------------------------
1824         CONTROL_OF_LIMITS = SIMP(statut ='o',
1825 #       -----------------------------------
1826             typ = bool,
1827             defaut = False,
1828             fr = """ Utiliser avec le mot-cle : valeurs limites, le programme s''arrete si
1829 les limites sur u,v,h ou t sont depassees""",
1830             ang = """ Use with the key-word : limit values, the program is stopped if the
1831 limits on u,v,h, or t are trespassed""",
1832         ),
1833 #       -----------------------------------
1834         b_CONTROL_OF_LIMITSG = BLOC(condition="CONTROL_OF_LIMITS == True",
1835 #       -----------------------------------
1836 #           -----------------------------------
1837             LIMIT_VALUES = SIMP(statut ='o',
1838 #           -----------------------------------
1839                 typ = 'R', min= 8, max= 8,
1840                 defaut = [-1000.,9000.,-1000.,1000.,-1000.,1000.,-1000.,1000.],
1841                 fr = """ Utilise avec le mot-cle CONTROLE DES LIMITES valeurs mini et maxi
1842 acceptables pour H,U,V et T dans l''ordre suivant : min(H) max(H) min(U)
1843 max(U) min(V) max(V) min(T) max(T)""",
1844                 ang = """ To be used with the key-word CONTROL OF LIMITS min and max acceptable
1845 values for H,U,V et T in the following order : min(H) max(H) min(U)
1846 max(U) min(V) max(V) min(T) max(T)""",
1847             ),
1848         ),
1849 #       -----------------------------------
1850         VARIABLE_TIME_STEP = SIMP(statut ='o',
1851 #       -----------------------------------
1852             typ = bool,
1853             defaut = False,
1854             fr = """ Pas de temps variable pour avoir un nombre de courant souhaite""",
1855             ang = """ Variable time-step to get a given Courant number""",
1856         ),
1857 #       -----------------------------------
1858         b_VARIABLE_TIME_STEPG = BLOC(condition="VARIABLE_TIME_STEP == True",
1859 #       -----------------------------------
1860 #           -----------------------------------
1861             DESIRED_COURANT_NUMBER = SIMP(statut ='o',
1862 #           -----------------------------------
1863                 typ = 'R',
1864                 defaut = 1.,
1865                 fr = """ Nombre de Courant souhaite en cas de pas de temps variable""",
1866                 ang = """ Desired Courant number when VARIABLE TIME-STEP is set to YES""",
1867             ),
1868         ),
1869     ),
1870 #   -----------------------------------
1871     LOCATION = FACT(statut='o',
1872 #   -----------------------------------
1873 #       -----------------------------------
1874         ORIGIN_COORDINATES = SIMP(statut ='o',
1875 #       -----------------------------------
1876             typ = 'I', min= 2, max= 2,
1877             defaut = [0,0],
1878             fr = """ Valeur en metres, utilise pour eviter les trops grands nombres,
1879 transmis dans le format Selafin mais pas d''autre traitement pour
1880 l''instant""",
1881             ang = """ Value in metres, used to avoid large real numbers, added in Selafin
1882 format, but so far no other treatment""",
1883         ),
1884 #       -----------------------------------
1885         SPHERICAL_COORDINATES = SIMP(statut ='o',
1886 #       -----------------------------------
1887             typ = bool,
1888             defaut = False,
1889             fr = """ Choix des coordonnees spheriques pour la realisation du calcul ( pour
1890 les grands domaines de calcul). Attention : cette option est etroitement
1891 liee au maillage qui doit avoir ete saisi sur une carte marine en
1892 projection de Mercator. Il faut de plus relever sur la carte la LATITUDE
1893 DU POINT ORIGINE (autre mot-cle) qui correspond dans le maillage a
1894 l''ordonnee y = 0.""",
1895             ang = """ Selection of spherical coordinates to perform the computation (for
1896 large computation domains). Warning: this option is closely related to
1897 the mesh that should have been entered onto a nautical chart drawn as
1898 per Mercator projection The LATITUDE OF ORIGIN POINT (another keyword),
1899 which corresponds to ordinate y=0 in the mesh, must moreover be given.""",
1900         ),
1901 #       -----------------------------------
1902         b_SPHERICAL_COORDINATESG = BLOC(condition="SPHERICAL_COORDINATES == True",
1903 #       -----------------------------------
1904 #           -----------------------------------
1905             LATITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
1906 #           -----------------------------------
1907                 typ = 'R',
1908                 defaut = 48.,
1909                 fr = """ Determine l''origine utilisee pour le calcul de latitudes lorsque
1910 l''on effectue un calcul en coordonnees spheriques.""",
1911                 ang = """ Determines the origin used for computing latitudes when a computation
1912 is made in spherical coordinates. this latitude is in particular used to
1913 compute the Coriolis force. In cartesian coordinates, Coriolis
1914 coefficient is considered constant.""",
1915             ),
1916         ),
1917 #       -----------------------------------
1918         LONGITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
1919 #       -----------------------------------
1920             typ = 'R',
1921             defaut = 0.,
1922             fr = """ Fixe la valeur de la longitude du point origine du modele, lors de
1923 l''utilisation de la force generatrice de la maree.""",
1924             ang = """ Give the value of the longitude of the origin point of the model, when
1925 taking into account of the tide generator force.""",
1926         ),
1927 #       -----------------------------------
1928         NORTH = SIMP(statut ='f',
1929 #       -----------------------------------
1930             typ = 'R',
1931             defaut = 0.,
1932             fr = """ Direction du nord en degres, par rapport a l''axe des y dans le sens
1933 trigonometrique. Notation decimale 10.5 signifie 10 degres et trente
1934 minutes.""",
1935             ang = """ Angle of the North with the y axis, in degrees. 10.5 means 10 degrees
1936 and 30 minutes.""",
1937         ),
1938 #       -----------------------------------
1939         SPATIAL_PROJECTION_TYPE = SIMP(statut ='o',
1940 #       -----------------------------------
1941             typ = 'TXM',
1942             into = ["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"],
1943             defaut = "CARTESIAN, NOT GEOREFERENCED",
1944             fr = """ Option 2 ou 3 obligatoire pour les coordonnees spheriques Option 3 :
1945 latitude et longitude en degres !""",
1946             ang = """ Option 2 or 3 mandatory for spherical coordinates Option 3: latitude
1947 and longitude in degrees!""",
1948         ),
1949     ),
1950 )
1951 # -----------------------------------------------------------------------
1952 NUMERICAL_PARAMETERS = PROC(nom= "NUMERICAL_PARAMETERS",op = None,
1953 # -----------------------------------------------------------------------
1954     UIinfo = {"groupes": ("CACHE")},
1955 #   -----------------------------------
1956     SOLVER_INFO = FACT(statut='o',
1957 #   -----------------------------------
1958 #       -----------------------------------
1959         SOLVER = SIMP(statut ='o',
1960 #       -----------------------------------
1961             typ = 'TXM',
1962             into = ["conjugate gradient on a normal equation","conjugate gradient","conjugate residual","minimum error","cgstab","gmres","direct"],
1963             defaut = "conjugate gradient on a normal equation",
1964             fr = """ Permet de choisir le solveur utilise pour la resolution de l''etape de
1965 propagation. Toutes les methodes proposees actuellement s''apparentent
1966 au Gradient Conjugue. Ce sont : 1 : gradient conjugue 2 : residu
1967 conjugue 3 : gradient conjugue sur equation normale 4 : erreur minimale
1968 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre
1969 stabilise (cgstab) 7 : gmres (voir aussi option du solveur) 8 : direct""",
1970             ang = """ Makes it possible to select the solver used for solving the
1971 propagation step. All the currently available methods are variations of
1972 the Conjugate Gradient method. They are as follows: 1: conjugate
1973 gradient 2: conjugate residual 3: conjugate gradient on a normal
1974 equation 4: minimum error 5: conjugate gradient squared (not
1975 implemented) 6: conjugate gradient squared stabilised (cgstab) 7: gmres
1976 (see option for solver) 8: direct""",
1977         ),
1978 #       -----------------------------------
1979         b_SOLVERG = BLOC(condition="SOLVER == 'gmres'",
1980 #       -----------------------------------
1981 #           -----------------------------------
1982             SOLVER_OPTION = SIMP(statut ='o',
1983 #           -----------------------------------
1984                 typ = 'I',
1985                 defaut = 2,
1986                 fr = """ si le solveur est GMRES (7) le mot cle est la dimension de l''espace
1987 de KRYLOV (valeurs conseillees entre 2 et 15)""",
1988                 ang = """ WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES
1989 BETWEEN 2 AND 15""",
1990             ),
1991         ),
1992 #       -----------------------------------
1993         SOLVER_ACCURACY = SIMP(statut ='o',
1994 #       -----------------------------------
1995             typ = 'R',
1996             defaut = 1.E-4,
1997             fr = """ Precision demandee pour la resolution de l''etape de propagation (cf.
1998 Note de principe).""",
1999             ang = """ Required accuracy for solving the propagation step (refer to Principle
2000 note).""",
2001         ),
2002 #       -----------------------------------
2003         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER = SIMP(statut ='o',
2004 #       -----------------------------------
2005             typ = 'I',
2006             defaut = 100,
2007             fr = """ Les algorithmes utilises pour la resolution de l''etape de propagation
2008 etant iteratifs; il est necessaire de limiter le nombre d''iterations
2009 autorisees. Remarque : un maximum de 40 iterations par pas de temps
2010 semble raisonnable.""",
2011             ang = """ Since the algorithms used for solving the propagation step are
2012 iterative, the allowed number of iterations should be limited. NOTE: a
2013 maximum number of 40 iterations per time step seems to be reasonable.""",
2014         ),
2015 #       -----------------------------------
2016         CONTINUITY_CORRECTION = SIMP(statut ='o',
2017 #       -----------------------------------
2018             typ = bool,
2019             defaut = False,
2020             fr = """ Corrige les vitesses sur les points avec hauteur imposee ou
2021 l''equation de continuite n''a pas ete resolue""",
2022             ang = """ Correction of the velocities on points with a prescribed elevation,
2023 where the continuity equation has not been solved""",
2024         ),
2025 #       -----------------------------------
2026         PRECONDITIONING = SIMP(statut ='o',
2027 #       -----------------------------------
2028             typ = 'TXM',
2029             into = ["diagonal","no preconditioning","block-diagonal (4-9 matrices)","absolute value of diagonal","crout","gauss-seidel","diagonal and crout"],
2030             defaut = "diagonal",
2031             fr = """ Permet de preconditionner le systeme de l''etape de propagation afin
2032 d''accelerer la convergence lors de sa resolution. - 0 : pas de
2033 preconditionnement; - 2 : preconditionnement diagonal. - 3 :
2034 preconditionnement diagonal-bloc - 7 : preconditionnement de Crout par
2035 element ou segment -11 : preconditionnement de Gauss-Seidel par element
2036 ou segment Certains preconditionnements sont cumulables (les diagonaux 2
2037 ou 3 avec les autres) Pour cette raison on ne retient que les nombres
2038 premiers pour designer les preconditionnements. Si l''on souhaite en
2039 cumuler plusieurs on formera le produit des options correspondantes.""",
2040             ang = """ Choice of the preconditioning in the propagation step linear system
2041 that the convergence is speeded up when it is being solved. 0: no
2042 preconditioning 2: diagonal preconditioning 3: block-diagonal
2043 preconditioning (systemes a 4 ou 9 matrices) 7: Crout''s preconditioning
2044 per element or segment 11: Gauss-Seidel''s preconditioning per element
2045 or segment Some operations (either 2 or 3 diagonal preconditioning) can
2046 be performed concurrently with the others. Only prime numbers are
2047 therefore kept to denote the preconditioning operations. When several of
2048 them are to be performed concurrently, the product of relevant options
2049 shall be made.""",
2050         ),
2051 #       -----------------------------------
2052         C_U_PRECONDITIONING = SIMP(statut ='o',
2053 #       -----------------------------------
2054             typ = bool,
2055             defaut = True,
2056             fr = """ Changement de variable de H en C dans le systeme lineaire final""",
2057             ang = """ Change of variable from H to C in the final linear system""",
2058         ),
2059 #       -----------------------------------
2060         FINITE_ELEMENT_ASSEMBLY = SIMP(statut ='f',
2061 #       -----------------------------------
2062             typ = 'TXM',
2063             into = ["normal","Integer I8","Compensated"],
2064             defaut = "normal",
2065             fr = """1 : normal 2 : avec des entiers I8 3:compense""",
2066             ang = """1: normal 2: with I8 integers 3:compensation""",
2067         ),
2068     ),
2069 #   -----------------------------------
2070     DISCRETISATIONS_IMPLICITATION = FACT(statut='o',
2071 #   -----------------------------------
2072 #       -----------------------------------
2073         IMPLICITATION_FOR_DEPTH = SIMP(statut ='o',
2074 #       -----------------------------------
2075             typ = 'R',
2076             defaut = 0.55,
2077             fr = """ Fixe la valeur du coefficient d''implicitation sur C dans l''etape de
2078 propagation (cf. Note de principe). Les valeurs inferieures a 0.5
2079 donnent un schema instable.""",
2080             ang = """ Sets the value of the implicitation coefficient for C (the celerity of
2081 waves) in the propagation step (refer to principle note). Values below
2082 0.5 result in an unstable scheme.""",
2083         ),
2084 #       -----------------------------------
2085         IMPLICITATION_FOR_VELOCITY = SIMP(statut ='o',
2086 #       -----------------------------------
2087             typ = 'R',
2088             defaut = 0.55,
2089             fr = """ Fixe la valeur du coefficient d''implicitation sur la vitesse dans
2090 l''etape de propagation (cf. Note de principe). Les valeurs inferieures
2091 a 0.5 donnent un schema instable.""",
2092             ang = """ Sets the value of the implicitation coefficient for velocity in the
2093 propagation step (refer to principle note). Values below 0.5 result in
2094 an unstable condition.""",
2095         ),
2096 #       -----------------------------------
2097         DISCRETIZATIONS_IN_SPACE = SIMP(statut ='f',
2098 #       -----------------------------------
2099             typ = 'TXM', max='**',
2100             into = ["linear","quasi-bubble","quadratic"],
2101             defaut = ["linear","linear","linear","linear"],
2102             fr = """ Choix de la discretisation pour chaque variable ces coefficients sont
2103 respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON (NON
2104 PROGRAMME) 11 : lineaire 12 : quasi-bulle 13 : quadratique""",
2105             ang = """ Choice of space discretisation for every variable These coefficients
2106 are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON (NOT
2107 IMPLEMENTED) 11: linear 12: quasi-bubble 13: quadratic""",
2108         ),
2109 #       -----------------------------------
2110         b_DISCRETIZATIONS_IN_SPACEG = BLOC(condition="DISCRETIZATIONS_IN_SPACE != None",
2111 #       -----------------------------------
2112 #           -----------------------------------
2113             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2114 #           -----------------------------------
2115                 defaut = "Choice of space discretisation for every variable. These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON"),
2116         ),
2117     ),
2118 #   -----------------------------------
2119     PROPAGATION_INFO = FACT(statut='o',
2120 #   -----------------------------------
2121 #       -----------------------------------
2122         PROPAGATION = SIMP(statut ='o',
2123 #       -----------------------------------
2124             typ = bool,
2125             defaut = True,
2126             fr = """ Prise en compte ou non de la propagation de la vitesse et de la
2127 hauteur d''eau. La diffusion etant contenue dans cette etape sera
2128 supprimee aussi.""",
2129             ang = """ Determines whether the propagation step is taken into account or not.
2130 The diffusion being included in that step will be deleted as well.""",
2131         ),
2132 #       -----------------------------------
2133         b_PROPAGATIONG = BLOC(condition="PROPAGATION == True",
2134 #       -----------------------------------
2135 #           -----------------------------------
2136             MEAN_DEPTH_FOR_LINEARIZATION = SIMP(statut ='o',
2137 #           -----------------------------------
2138                 typ = 'R',
2139                 defaut = 0.,
2140                 fr = """ Fixe la hauteur d''eau autour de laquelle s''effectue la linearisation
2141 lorsque l''option PROPAGATION LINEARISEE est choisie.""",
2142                 ang = """ Sets the water depth about which the linearization is made when the
2143 LINEARIZED PROPAGATION OPTION is selected.""",
2144             ),
2145 #           -----------------------------------
2146             INITIAL_GUESS_FOR_U = SIMP(statut ='o',
2147 #           -----------------------------------
2148                 typ = 'TXM',
2149                 into = ["zero","previous","extrapolation"],
2150                 defaut = "previous",
2151                 fr = """ Tir initial du solveur de l''etape de propagation. Offre la
2152 possibilite de modifier la valeur initiale de U, a chaque iteration,
2153 dans l''etape de propagation en utilisant les valeurs finales de cette
2154 variable aux pas de temps precedents. Ceci peut permettre d''accelerer
2155 la vitesse de convergence lors de la resolution du systeme. Trois
2156 possibilites sont offertes : 0 : U = 0 1 : U = U(n) 2 : U = 2 U(n)-
2157 U(n-1) (extrapolation)""",
2158                 ang = """ Initial guess for the solver in the propagation step. Makes it
2159 possible to modify the initial value of U, upon each iteration in the
2160 propagation step, by using the ultimate values this variable had in the
2161 earlier time steps. Thus, the convergence can be speeded up when the
2162 system is being solved. 3 options are available: 0 : U = 0 1 : U = U(n)
2163 2 : U = 2 U(n)- U(n-1) (extrapolation)""",
2164             ),
2165         ),
2166 #       -----------------------------------
2167         INITIAL_GUESS_FOR_H = SIMP(statut ='o',
2168 #       -----------------------------------
2169             typ = 'TXM',
2170             into = ["previous","zero","extrapolation"],
2171             defaut = "previous",
2172             fr = """ Tir initial du solveur de l''etape de propagation. Offre la
2173 possibilite de modifier la valeur initiale de DH, accroissement de H, a
2174 chaque iteration, dans l''etape de propagation en utilisant les valeurs
2175 finales de cette variable aux pas de temps precedents. Ceci peut
2176 permettre d''accelerer la vitesse de convergence lors de la resolution
2177 du systeme. Trois possibilites sont offertes : 0 : DH = 0. 1 : DH = DHn
2178 (valeur finale de DH au pas de temps precedent), 2 : DH = 2DHn - DHn-1
2179 (extrapolation).""",
2180             ang = """ Initial guess for the solver in the propagation step. Makes it
2181 possible to modify the initial value of C, upon each iteration in the
2182 propagation step, by using the ultimate values this variable had in the
2183 earlier time steps. Thus, the convergence can be speeded up when the
2184 system is being solved. 3 options are available: 0: DH = 0 1: DH = DHn
2185 (ultimate DH value in the next previous time step) 2: DH = 2DHn - DHn-1
2186 (extrapolation)""",
2187         ),
2188 #       -----------------------------------
2189         LINEARIZED_PROPAGATION = SIMP(statut ='o',
2190 #       -----------------------------------
2191             typ = bool,
2192             defaut = False,
2193             fr = """ Permet de lineariser l''etape de propagation; par exemple lors de la
2194 realisation de cas tests pour lesquels on dispose d''une solution
2195 analytique dans le cas linearise.""",
2196             ang = """ Provided for linearizing the propagation step, e.g. when performing
2197 test-cases for which an analytical solution in the linearized case is
2198 available.""",
2199         ),
2200     ),
2201 #   -----------------------------------
2202     ADVECTION_INFO = FACT(statut='o',
2203 #   -----------------------------------
2204 #       -----------------------------------
2205         ADVECTION = SIMP(statut ='o',
2206 #       -----------------------------------
2207             typ = bool,
2208             defaut = True,
2209             fr = """ Prise en compte ou non des termes de convection. En cas de reponse
2210 positive; on peut encore supprimer certains termes de convection avec
2211 les mots-cles CONVECTION DE ...""",
2212             ang = """ Are the advection terms taken into account or not? If YES, some
2213 advection terms can still be deleted using the keywords -ADVECTION OF
2214 ..-""",
2215         ),
2216 #       -----------------------------------
2217         ADVECTION_OF_H = SIMP(statut ='o',
2218 #       -----------------------------------
2219             typ = bool,
2220             defaut = True,
2221             fr = """ Prise en compte ou non de la convection de H. Il s''agit en fait dans
2222 la version 2.0 de la convection de C""",
2223             ang = """ The advection of H is taken into account or ignored. Actually, in
2224 version 2.0, the matter is about C advection.""",
2225         ),
2226 #       -----------------------------------
2227         ADVECTION_OF_U_AND_V = SIMP(statut ='f',
2228 #       -----------------------------------
2229             typ = bool,
2230             defaut = True,
2231             fr = """ Prise en compte ou non de la convection de U et V.""",
2232             ang = """ The advection of U and V is taken into account or ignored.""",
2233         ),
2234 #       -----------------------------------
2235         b_ADVECTION_OF_U_AND_VG = BLOC(condition="ADVECTION_OF_U_AND_V == True",
2236 #       -----------------------------------
2237 #           -----------------------------------
2238             SCHEME_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='o',
2239 #           -----------------------------------
2240                 typ = 'TXM',
2241                 into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","N-SCHEME FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME"],
2242                 defaut = "CHARACTERISTICS",
2243                 fr = """ Choix du schema de convection pour les vitesses, remplace FORME DE LA
2244 CONVECTION""",
2245                 ang = """ Choice of the advection scheme for the velocities, replaces TYPE OF
2246 ADVECTION""",
2247             ),
2248         ),
2249 #       -----------------------------------
2250         TYPE_OF_ADVECTION = SIMP(statut ='f',
2251 #       -----------------------------------
2252             typ = 'TXM', max='**',
2253             into = ["CHARACTERISTICS","SUPG","CONSERVATIVE N-SCHEME LP","CONSERVATIVE N-SCHEME","CONSERVATIVE PSI-SCHEME","EDGE-BASED N-SCHEME LP","EDGE-BASED N-SCHEME","ERIA SCHEME"],
2254             defaut = ["CHARACTERISTICS","CONSERVATIVE PSI-SCHEME","CHARACTERISTICS","CHARACTERISTICS"],
2255             fr = """ Choix du schema de convection pour chaque variable ces coefficients
2256 sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON 1 :
2257 caracteristiques sur h 2 : SUPG 3 : Schema N conservatif 4 : Schema N
2258 conservatif 5 : Schema PSI conservatif 6 : Schema PSI non conservatif 7
2259 : schema N implicite non conservatif 13 : Schema N par segment 14 :
2260 Schema N par segment Second integer must be 5""",
2261             ang = """ Choice of advection schemes for every variable These coefficients are
2262 applied respectively to 1) U et V 2) H 3) T 4) K and EPSILON 1:
2263 characteristics 2: SUPG 3: Conservative N-scheme 4: Conservative
2264 N-scheme 5: Conservative PSI-scheme 6 : Non conservative PSI scheme 7 :
2265 Implicit non conservative N scheme 13 : Edge-based N-scheme 14 :
2266 Edge-based N-scheme Second integer must be 5""",
2267         ),
2268 #       -----------------------------------
2269         b_TYPE_OF_ADVECTIONG = BLOC(condition="TYPE_OF_ADVECTION != None",
2270 #       -----------------------------------
2271 #           -----------------------------------
2272             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2273 #           -----------------------------------
2274                 defaut = "Choice of space discretisation for every variable. These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON"),
2275         ),
2276 #       -----------------------------------
2277         OPTION_FOR_CHARACTERISTICS = SIMP(statut ='o',
2278 #       -----------------------------------
2279             typ = 'TXM',
2280             into = ["strong","weak"],
2281             defaut = "strong",
2282             fr = """ 1: forme forte 2: forme faible""",
2283             ang = """ 1: strong form 2: weak form""",
2284         ),
2285 #       -----------------------------------
2286         SUPG_OPTION = SIMP(statut ='o',
2287 #       -----------------------------------
2288             typ = 'I', min=0, max='**',
2289             defaut = [2,2,2,2],
2290             fr = """ 0:pas de decentrement SUPG
2291 1:SUPG classique
2292 2:SUPG modifiee
2293 ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4)
2294 K ET EPSILON""",
2295             ang = """ 0:no upwinding 1: classical SUPG 2:modified SUPG These coefficients
2296 are applied respectively to 1) U et V 2) H 3) T 4) K and EPSILON""",
2297         ),
2298 #       -----------------------------------
2299         NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='f',
2300 #       -----------------------------------
2301             typ = 'I',
2302             defaut = 3,
2303             fr = """ Voir les release notes 6.3""",
2304             ang = """ See release notes 6.3""",
2305         ),
2306 #       -----------------------------------
2307         MASS_LUMPING_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='o',
2308 #       -----------------------------------
2309             typ = 'R',
2310             defaut = 0.,
2311             fr = """ Applique a la matrice de masse""",
2312             ang = """ To be applied to the mass matrix""",
2313         ),
2314 #       -----------------------------------
2315         b_MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMESF = BLOC(condition="(ADVECTION_OF_TRACERS == True and SCHEME_FOR_ADVECTION_OF_TRACERS == 'EDGE-BASED N-SCHEME') or (ADVECTION_OF_K_AND_EPSILON == True and SCHEME_FOR_ADVECTION_OF_K_EPSILON == 'EDGE-BASED N-SCHEME') or (ADVECTION_OF_U_AND_V == True and SCHEME_FOR_ADVECTION_OF_VELOCITIES == 'EDGE-BASED N-SCHEME')",
2316 #       -----------------------------------
2317         ),
2318 #       -----------------------------------
2319         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES = SIMP(statut ='o',
2320 #       -----------------------------------
2321             typ = 'I',
2322             defaut = 10,
2323             fr = """ Seulement pour schemes 13 et 14""",
2324             ang = """ Only for schemes 13 and 14""",
2325         ),
2326 #       -----------------------------------
2327         UPWIND_COEFFICIENTS = SIMP(statut ='o',
2328 #       -----------------------------------
2329             typ = 'R', min= 4, max= 4,
2330             defaut = [1.,1.,1.,1],
2331             fr = """ Coefficients utilises par la methode S.U.P.G. ces coefficients sont
2332 respectivement appliques a 1) U et V 2) H ou C 3) T 4) K ET EPSILON""",
2333             ang = """ Upwind coefficients used by the S.U.P.G. method These coefficients are
2334 applied respectively to 1) U and V 2) H or C 3) T 4) K and epsilon""",
2335         ),
2336 #       -----------------------------------
2337         MASS_LUMPING_ON_H = SIMP(statut ='o',
2338 #       -----------------------------------
2339             typ = 'R',
2340             defaut = 0.,
2341             fr = """ TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.
2342 Ceci revient a ramener tout ou partie (suivant la valeur de ce
2343 coefficient) des matrices AM1 (h) ou AM2 (U) et AM3 (V) sur leur
2344 diagonale. Cette technique permet d''accelerer le code dans des
2345 proportions tres importantes et de le rendre egalement beaucoup plus
2346 stable. Cependant les solutions obtenues se trouvent lissees. Ce
2347 parametre fixe le taux de mass-lumping effectue sur h.""",
2348             ang = """ TELEMAC provides an opportunity to carry out mass-lumping either on
2349 C,H or on the velocity. This is equivalent to bringing the matrices AM1
2350 (h) or AM2 (U) and AM3 (V) wholly or partly, back onto their diagonal.
2351 Thanks to that technique, the code can be speeded up to a quite
2352 significant extent and it can also be made much more stable. The
2353 resulting solutions, however, become artificially smoothed. This
2354 parameter sets the extent of mass-lumping that is performed on h.""",
2355         ),
2356 #       -----------------------------------
2357         MASS_LUMPING_ON_VELOCITY = SIMP(statut ='o',
2358 #       -----------------------------------
2359             typ = 'R',
2360             defaut = 0.,
2361             fr = """ Fixe le taux de mass-lumping effectue sur la vitesse.""",
2362             ang = """ Sets the amount of mass-lumping that is performed on the velocity.""",
2363         ),
2364 #       -----------------------------------
2365         SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='f',
2366 #       -----------------------------------
2367             typ = 'I',
2368             defaut = 1,
2369             fr = """ Si present remplace et a priorite sur : OPTION POUR LES
2370 CARACTERISTIQUES OPTION DE SUPG Si schema PSI ou N : 1=explicite
2371 2=predicteur-correcteur 3=predicteur-correcteur deuxieme ordre en temps
2372 4=implicite""",
2373             ang = """ If present replaces and has priority over: OPTION FOR CHARACTERISTICS
2374 SUPG OPTION if N or PSI SCHEME: 1=explicit 2=predictor-corrector 3=
2375 predictor-corrector second-order in time 4= implicit""",
2376         ),
2377 #       -----------------------------------
2378         FREE_SURFACE_GRADIENT_COMPATIBILITY = SIMP(statut ='o',
2379 #       -----------------------------------
2380             typ = 'R',
2381             defaut = 1.,
2382             fr = """ Des valeurs inferieures a 1 suppriment les oscillations parasites""",
2383             ang = """ Values less than 1 suppress spurious oscillations""",
2384         ),
2385 #       -----------------------------------
2386         NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES = SIMP(statut ='o',
2387 #       -----------------------------------
2388             typ = 'I',
2389             defaut = 1,
2390             fr = """ Permet de reactualiser, pour un meme pas de temps, les champs
2391 convecteur et propagateur au cours de plusieurs sous-iterations. A la
2392 premiere sous-iteration, ces champs sont donnes par C et le champ de
2393 vitesses au pas de temps precedent. Aux iterations suivantes, ils sont
2394 pris egaux au champ de vitesse obtenu a la fin de la sous-iteration
2395 precedente. Cette technique permet d''ameliorer la prise en compte des
2396 non linearites.""",
2397             ang = """ Used for updating, within one time step, the advection and propagation
2398 field. upon the first sub-iteration, these fields are given by C and the
2399 velocity field in the previous time step. At subsequent iterations, the
2400 results of the previous sub-iteration is used to update the advection
2401 and propagation field. The non-linearities can be taken into account
2402 through this technique.""",
2403         ),
2404 #       -----------------------------------
2405         b_TREATMENT_OF_FLUXES_AT_THE_BOUNDARIESF = BLOC(condition="(ADVECTION_OF_TRACERS == True and SCHEME_FOR_ADVECTION_OF_TRACERS in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME']) or (ADVECTION_OF_K_AND_EPSILON == True and SCHEME_FOR_ADVECTION_OF_K_EPSILON in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME']) or (ADVECTION_OF_U_AND_V == True and SCHEME_FOR_ADVECTION_OF_VELOCITIES in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME'])",
2406 #       -----------------------------------
2407         ),
2408 #       -----------------------------------
2409         TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES = SIMP(statut ='o',
2410 #       -----------------------------------
2411             typ = 'TXM', min=0, max='**',
2412             into = ["Priority to prescribed values","Priority to fluxes"],
2413             defaut = ["Priority to prescribed values","Priority to prescribed values"],
2414             fr = """ Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouve
2415 pas exactement les valeurs imposees des traceurs, mais le flux est
2416 correct""",
2417             ang = """ Used so far only with the SUPG, PSI and N schemes. With option 2,
2418 Dirichlet prescribed values are not obeyed, but the fluxes are correct""",
2419         ),
2420 #       -----------------------------------
2421         NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
2422 #       -----------------------------------
2423             typ = 'I',
2424             defaut = 1,
2425             fr = """ Pour les options avec predicteur-correcteur""",
2426             ang = """ For predictor-corrector options""",
2427         ),
2428 #       -----------------------------------
2429         NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
2430 #       -----------------------------------
2431             typ = 'I',
2432             defaut = 1,
2433             fr = """ Pour les options predicteur-correcteur avec schema localement
2434 implicite""",
2435             ang = """ Only for implicit scheme with predictor-corrector""",
2436         ),
2437 #       -----------------------------------
2438         PSI_SCHEME_OPTION = SIMP(statut ='f',
2439 #       -----------------------------------
2440             typ = 'TXM',
2441             into = ["explicit","predictor-corrector"],
2442             defaut = "explicit",
2443             fr = """ 1: explicite 2: predicteur-correcteur""",
2444             ang = """ 1: explicit 2: predictor-corrector""",
2445         ),
2446     ),
2447 #   -----------------------------------
2448     DIFFUSION = FACT(statut='o',
2449 #   -----------------------------------
2450 #       -----------------------------------
2451         DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
2452 #       -----------------------------------
2453             typ = bool,
2454             defaut = True,
2455             fr = """ Permet de decider si l''on prend ou non en compte la diffusion des
2456 vitesses.""",
2457             ang = """ Makes it possible to decide whether the diffusion of velocity (i.e.
2458 viscosity) is taken into account or not.""",
2459         ),
2460 #       -----------------------------------
2461         b_DIFFUSION_OF_VELOCITYG = BLOC(condition="DIFFUSION_OF_VELOCITY == True",
2462 #       -----------------------------------
2463 #           -----------------------------------
2464             IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
2465 #           -----------------------------------
2466                 typ = 'R',
2467                 defaut = 1.,
2468                 fr = """ Fixe la valeur du coefficient d''implicitation sur les termes de
2469 diffusion des vitesses""",
2470                 ang = """ Sets the value of the implicitation coefficient for the diffusion of
2471 velocity""",
2472             ),
2473 #           -----------------------------------
2474             OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES = SIMP(statut ='o',
2475 #           -----------------------------------
2476                 typ = 'TXM',
2477                 into = ["div( nu grad(U) )","1/h div ( h nu grad(U)"],
2478                 defaut = "div( nu grad(U) )",
2479                 fr = """ 1: Diffusion de la forme div( nu grad(U) ) 2: Diffusion de la forme
2480 1/h div ( h nu grad(U) )""",
2481                 ang = """ 1: Diffusion in the form div( nu grad(U) ) 2: Diffusion in the form
2482 1/h div ( h nu grad(U) )""",
2483             ),
2484         ),
2485     ),
2486 #   -----------------------------------
2487     AUTOMATIC_DIFFERENTIATION = FACT(statut='o',
2488 #   -----------------------------------
2489 #       -----------------------------------
2490         NUMBER_OF_DERIVATIVES = SIMP(statut ='o',
2491 #       -----------------------------------
2492             typ = 'I',
2493             defaut = 0,
2494             fr = """Definit le nombre de derivees utilisateurs, dans le cadre
2495 de la differentiation algorithmique.""",
2496             ang = """Defines the number of user derivatives, within the framework
2497 of the algorithmic differentiation.""",
2498         ),
2499 #       -----------------------------------
2500         NAMES_OF_DERIVATIVES = SIMP(statut ='f',
2501 #       -----------------------------------
2502             typ = 'TXM', min= 2, max= 2,
2503             fr = """ Noms des differentiateurs utilisateurs en 32 caracteres, 16 pour le
2504 nom, 16 pour l''unite""",
2505             ang = """ Name of user differentiators in 32 characters, 16 for the name, 16 for
2506 the unit.""",
2507         ),
2508     ),
2509 #   -----------------------------------
2510     ADVANCED = FACT(statut='o',
2511 #   -----------------------------------
2512 #       -----------------------------------
2513         MATRIX_STORAGE = SIMP(statut ='o',
2514 #       -----------------------------------
2515             typ = 'TXM',
2516             into = ["classical EBE","Edge-based storage"],
2517             defaut = "Edge-based storage",
2518             fr = """ 1 : EBE classique 3 : Stockage par segments""",
2519             ang = """ 1 : classical EBE 3 : Edge-based storage""",
2520         ),
2521 #       -----------------------------------
2522         MATRIX_VECTOR_PRODUCT = SIMP(statut ='o',
2523 #       -----------------------------------
2524             typ = 'I',
2525             defaut = 1,
2526             fr = """ 1 : classique 2 : frontal attention, avec 2, il faut une numerotation
2527 speciale des points""",
2528             ang = """ 1 : classic 2 : frontal beware, with option 2, a special numbering of
2529 points is required""",
2530         ),
2531 #       -----------------------------------
2532         NEWMARK_TIME_INTEGRATION_COEFFICIENT = SIMP(statut ='o',
2533 #       -----------------------------------
2534             typ = 'R',
2535             defaut = 1.,
2536             fr = """ 1. : Euler explicite 0.5 : ordre 2 en temps""",
2537             ang = """ 1. : Euler explicit 0.5 : order 2 in time""",
2538         ),
2539 #       -----------------------------------
2540         ZERO = SIMP(statut ='f',
2541 #       -----------------------------------
2542             typ = 'R',
2543             defaut = 1.E-10,
2544             fr = """ Non active pour l''instant.""",
2545             ang = """ Not yet implemented""",
2546         ),
2547 #       -----------------------------------
2548         PROPAGATION_OPTION = SIMP(statut ='f',
2549 #       -----------------------------------
2550             typ = 'I',
2551             defaut = 3,
2552             fr = """ Non active pour l''instant.""",
2553             ang = """ Not yet implemented.""",
2554         ),
2555 #       -----------------------------------
2556         OPTION_OF_THE_HYDROSTATIC_RECONSTRUCTION = SIMP(statut ='f',
2557 #       -----------------------------------
2558             typ = 'I',
2559             defaut = 1,
2560             fr = """ Donne l option de la reconstruction hydrostatique (option utile
2561 uniquement pour les volumes finis): 1: option d Audusse, 2: option de
2562 Noelle""",
2563             ang = """ Gives the option for hydrostatic reconstruction (used only for finite
2564 volumes): 1: option of Audusse, 2: option of Noelle""",
2565         ),
2566 #       -----------------------------------
2567         CONVERGENCE_STUDY = SIMP(statut ='f',
2568 #       -----------------------------------
2569             typ = bool,
2570             defaut = False,
2571             fr = """Active une etude de convergence par rapport a une
2572 solution analytique sur un maillage fin""",
2573             ang = """Activates a convergence study compared
2574 to an analytical solution on a fine mesh""",
2575         ),
2576 #       -----------------------------------
2577         REFINEMENT_LEVELS = SIMP(statut ='f',
2578 #       -----------------------------------
2579             typ = 'I',
2580             defaut = 0,
2581             fr = """Donne le nombre de raffinements que l''utilisateur
2582 veut utiliser pour l''etude de convergence
2583 (en activant CONVERGENCE). Chaque niveau multiplie par 4 le
2584 nombre d''elements.""",
2585             ang = """Gives the number of refinement levels that the
2586 user wants to use in the convergence study (when activating
2587 CONVERGENCE). Each level multiplies the number of elements by
2588 4""",
2589         ),
2590     ),
2591 )
2592 # -----------------------------------------------------------------------
2593 TURBULENCE = PROC(nom= "TURBULENCE",op = None,
2594 # -----------------------------------------------------------------------
2595     UIinfo = {"groupes": ("CACHE")},
2596 #   -----------------------------------
2597     VELOCITY_DIFFUSIVITY = SIMP(statut ='o',
2598 #   -----------------------------------
2599         typ = 'R',
2600         defaut = 1.E-6,
2601         fr = """ Fixe de facon uniforme pour l''ensemble du domaine; la valeur du
2602 coefficient de diffusion de viscosite globale (dynamique + turbulente).
2603 Cette valeur peut avoir une influence non negligeable sur la forme et la
2604 taille des recirculations.""",
2605         ang = """ Sets, in an even way for the whole domain, the value of the
2606 coefficient of global (dynamic+turbulent) viscosity. this value may have
2607 a significant effect both on the shapes and sizes of recirculation
2608 zones.""",
2609     ),
2610 #   -----------------------------------
2611     TURBULENCE_MODEL = SIMP(statut ='o',
2612 #   -----------------------------------
2613         typ = 'TXM',
2614         into = ["CONSTANT VISCOSITY","ELDER","K-EPSILON MODEL","SMAGORINSKI","MIXING LENGTH","SPALART-ALLMARAS"],
2615         defaut = "CONSTANT VISCOSITY",
2616         fr = """ 3 choix sont possibles actuellement : viscosite constante (1) modele
2617 de Elder (2) ou modele k-epsilon (3). Attention : si on choisit
2618 l''option 1 il ne faut pas oublier d''ajuster la valeur du mot-cle
2619 COEFFICIENT DE DIFFUSION DES VITESSES. si on choisit l''option 2 il ne
2620 faut pas oublier d''ajuster les deux valeurs du mot-cle : COEFFICIENTS
2621 ADIMENSIONNELS DE DISPERSION Si on choisit l''option 3; ce meme
2622 parametre doit retrouver sa vraie valeur physique car elle est utilisee
2623 comme telle dans le modele de turbulence""",
2624         ang = """ The current alternatives are as follows: constant viscosity (1)
2625 elder''s model (2) or k-epsilon model (3). NOTE: when option 1 is
2626 chosen, it should be kept in mind that the value of the keyword VELOCITY
2627 DIFFUSIVITY has to be ajusted. When option 2 is chosen, the two values
2628 of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used When
2629 option 3 is chosen, this parameter should recover its true physical
2630 value, since it is used as such in the turbulence model.""",
2631     ),
2632 #   -----------------------------------
2633     b_TURBULENCE_MODELG = BLOC(condition="TURBULENCE_MODEL == 'CONSTANT VISCOSITY'",
2634 #   -----------------------------------
2635     ),
2636 #   -----------------------------------
2637     b_TURBULENCE_MODELH = BLOC(condition="TURBULENCE_MODEL == 'Elder'",
2638 #   -----------------------------------
2639 #       -----------------------------------
2640         NON_DIMENSIONAL_DISPERSION_COEFFICIENTS = SIMP(statut ='o',
2641 #       -----------------------------------
2642             typ = 'R', min= 2, max= 2,
2643             defaut = [6.,0.6],
2644             fr = """ coefficients longitudinal et transversal dans la formule de Elder.
2645 Utilises uniquement avec le modele de turbulence 2""",
2646             ang = """ Longitudinal and transversal coefficients in elder s formula. Used
2647 only with turbulence model number 2""",
2648         ),
2649     ),
2650 #   -----------------------------------
2651     ACCURACY_OF_SPALART_ALLMARAS = SIMP(statut ='f',
2652 #   -----------------------------------
2653         typ = 'R',
2654         defaut = 1.E-9,
2655         fr = """Fixe la precision demandee sur le modele spalart-allmaras pour
2656 le test d''arret dans l''etape de diffusion et termes sources de k et
2657 epsilon.""",
2658         ang = """Sets the required accuracy for the model spalart-allmaras in
2659 the diffusion and source-terms step of the k-epsilon model.""",
2660     ),
2661 #   -----------------------------------
2662     INFORMATION_ABOUT_SPALART_ALLMARAS_MODEL = SIMP(statut ='f',
2663 #   -----------------------------------
2664         typ = bool,
2665         defaut = True,
2666         fr = """si oui les informations du solveur du modele spalart-allmaras
2667 sont imprimees""",
2668         ang = """if yes, informations about solver of spalart-allmaras model
2669 are printed to the listing""",
2670     ),
2671 #   -----------------------------------
2672     SOLVER_INFO = FACT(statut='o',
2673 #   -----------------------------------
2674 #       -----------------------------------
2675         SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
2676 #       -----------------------------------
2677             typ = 'TXM',
2678             into = ["conjugate gradient","conjugate residuals","conjugate gradient on normal equation","minimum error","conjugate gradient squared","conjugate gradient squared stabilised (cgstab)","gmres (see option for the solver for k-epsilon model)","direct"],
2679             defaut = "conjugate gradient",
2680             fr = """ Permet de choisir le solveur utilise pour la resolution du systeme du
2681 modele k-epsilon : 1 : gradient conjugue 2 : residu conjugue 3 :
2682 gradient conjugue sur equation normale 4 : erreur minimale 5 : gradient
2683 conjugue carre 6 : gradient conjugue carre stabilise (cgstab) 7 : gmres
2684 (voir aussi option du solveur pour le modele k-epsilon) 8 : direct""",
2685             ang = """ Makes it possible to select the solver used for solving the system of
2686 the k-epsilon model. 1: conjugate gradient 2: conjugate residuals 3:
2687 conjugate gradient on normal equation 4: minimum error 5: conjugate
2688 gradient squared 6: conjugate gradient squared stabilised (cgstab) 7:
2689 gmres (see option for the solver for k-epsilon model) 8: direct""",
2690         ),
2691 #       -----------------------------------
2692         OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
2693 #       -----------------------------------
2694             typ = 'I',
2695             defaut = 2,
2696             fr = """ si le solveur est GMRES (7) le mot cle est la dimension de l''espace
2697 de KRILOV (valeurs conseillees entre 2 et 15)""",
2698             ang = """ WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES
2699 BETWEEN 2 AND 15""",
2700         ),
2701 #       -----------------------------------
2702         PRECONDITIONING_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
2703 #       -----------------------------------
2704             typ = 'TXM',
2705             into = ["diagonal","no preconditioning","crout","diagonal and crout"],
2706             defaut = "diagonal",
2707             fr = """ Permet de preconditionner le systeme relatif au modele k-epsilon 0 :
2708 pas de preconditionnement; 2 : preconditionnement diagonal. 7 :
2709 preconditionnement de Crout par element.""",
2710             ang = """ Preconditioning of the linear system in the diffusion step of the
2711 k-epsilon model. 0: no preconditioning 2: diagonal preconditioning 7:
2712 Crout''s preconditioning per element""",
2713         ),
2714     ),
2715 #   -----------------------------------
2716     ADVANCED = FACT(statut='o',
2717 #   -----------------------------------
2718 #       -----------------------------------
2719         TURBULENCE_REGIME_FOR_SOLID_BOUNDARIES = SIMP(statut ='f',
2720 #       -----------------------------------
2721             typ = 'TXM',
2722             into = ["smooth","rough"],
2723             defaut = "rough",
2724             fr = """ Permet de choisir le regime de turbulence aux parois 1 : regime
2725 turbulent lisse. 2 : regime turbulent rugueux.""",
2726             ang = """ Provided for selecting the type of friction on the walls 1: smooth 2:
2727 rough""",
2728         ),
2729 #       -----------------------------------
2730         INFORMATION_ABOUT_K_EPSILON_MODEL = SIMP(statut ='o',
2731 #       -----------------------------------
2732             typ = bool,
2733             defaut = True,
2734             fr = """ Donne le nombre d''iterations du solveur de l''etape de diffusion et
2735 termes sources du modele k-epsilon.""",
2736             ang = """ Gives the number of iterations of the solver in the diffusion and
2737 source terms step of the k-epsilon model.""",
2738         ),
2739 #       -----------------------------------
2740         ADVECTION_OF_K_AND_EPSILON = SIMP(statut ='o',
2741 #       -----------------------------------
2742             typ = bool,
2743             defaut = True,
2744             fr = """ Prise en compte ou non de la convection de k et epsilon.""",
2745             ang = """ The k and epsilon advection is taken into account or ignored.""",
2746         ),
2747 #       -----------------------------------
2748         b_ADVECTION_OF_K_AND_EPSILONG = BLOC(condition="ADVECTION_OF_K_AND_EPSILON == True",
2749 #       -----------------------------------
2750 #           -----------------------------------
2751             SCHEME_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
2752 #           -----------------------------------
2753                 typ = 'TXM',
2754                 into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","LEO POSTMA FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME FOR TIDAL FLATS"],
2755                 defaut = "CHARACTERISTICS",
2756                 fr = """ Choix du schema de convection pour k et epsilon, remplace FORME DE LA
2757 CONVECTION""",
2758                 ang = """ Choice of the advection scheme for k and epsilon, replaces TYPE OF
2759 ADVECTION""",
2760             ),
2761         ),
2762 #       -----------------------------------
2763         SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
2764 #       -----------------------------------
2765             typ = 'I',
2766             defaut = 1,
2767             fr = """ Si present remplace et a priorite sur : OPTION POUR LES
2768 CARACTERISTIQUES OPTION DE SUPG Si schema PSI ou N : 1=explicite
2769 2=predicteur-correcteur 3=predicteur-correcteur deuxieme ordre en temps
2770 4=implicite""",
2771             ang = """ If present replaces and has priority over: OPTION FOR CHARACTERISTICS
2772 SUPG OPTION if N or PSI SCHEME: 1=explicit 2=predictor-corrector 3=
2773 predictor-corrector second-order in time 4= implicit""",
2774         ),
2775 #       -----------------------------------
2776         TIME_STEP_REDUCTION_FOR_K_EPSILON_MODEL = SIMP(statut ='f',
2777 #       -----------------------------------
2778             typ = 'R',
2779             defaut = 1.,
2780             fr = """ Coefficient reducteur du pas de temps pour le modele k-epsilon (qui
2781 est normalement identique a celui du systeme hydrodynamique).
2782 Utilisation deconseillee""",
2783             ang = """ Time step reduction coefficient for k-epsilon model (which is normally
2784 same the same as that of the hydrodynamic system) Not recommended for
2785 use.""",
2786         ),
2787     ),
2788 #   -----------------------------------
2789     ACCURACY = FACT(statut='o',
2790 #   -----------------------------------
2791 #       -----------------------------------
2792         ACCURACY_OF_K = SIMP(statut ='o',
2793 #       -----------------------------------
2794             typ = 'R',
2795             defaut = 1.E-9,
2796             fr = """ Fixe la precision demandee sur k pour le test d''arret dans l''etape
2797 de diffusion et termes sources du modele k-epsilon.""",
2798             ang = """ Sets the required accuracy for computing k in the diffusion and source
2799 terms step of the k-epsilon model.""",
2800         ),
2801 #       -----------------------------------
2802         ACCURACY_OF_EPSILON = SIMP(statut ='o',
2803 #       -----------------------------------
2804             typ = 'R',
2805             defaut = 1.E-9,
2806             fr = """ Fixe la precision demandee sur epsilon pour le test d''arret dans
2807 l''etape de diffusion et termes sources de k et epsilon.""",
2808             ang = """ Sets the required accuracy for computing epsilon in the diffusion and
2809 source-terms step of the k-epsilon model.""",
2810         ),
2811 #       -----------------------------------
2812         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON = SIMP(statut ='o',
2813 #       -----------------------------------
2814             typ = 'I',
2815             defaut = 50,
2816             fr = """ Fixe le nombre maximum d''iterations accepte lors de la resolution du
2817 systeme diffusion-termes sources du modele k-epsilon.""",
2818             ang = """ Sets the maximum number of iterations that are acceptable when solving
2819 the diffusion source-terms step of the k-epsilon model.""",
2820         ),
2821     ),
2822 )
2823 # -----------------------------------------------------------------------
2824 TIDAL_FLATS_INFO = PROC(nom= "TIDAL_FLATS_INFO",op = None,
2825 # -----------------------------------------------------------------------
2826 #   -----------------------------------
2827     TIDAL_FLATS = SIMP(statut ='o',
2828 #   -----------------------------------
2829         typ = bool,
2830         defaut = True,
2831         fr = """ permet de supprimer les tests sur les bancs decouvrants, dans les cas
2832 ou l''on est certain qu''il n''y en aura pas. En cas de doute : oui""",
2833         ang = """ When no, the specific treatments for tidal flats are by-passed. This
2834 spares time, but of course you must be sure that you have no tidal
2835 flats""",
2836     ),
2837 #   -----------------------------------
2838     b_TIDAL_FLATSG = BLOC(condition="TIDAL_FLATS == True",
2839 #   -----------------------------------
2840 #       -----------------------------------
2841         OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS = SIMP(statut ='o',
2842 #       -----------------------------------
2843             typ = 'TXM',
2844             into = ["EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS","DRY ELEMENTS FROZEN","LIKE 1 BUT WITH POROSITY (DEFINA METHOD)"],
2845             defaut = "EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS",
2846             fr = """ Utilise si BANCS DECOUVRANTS est vrai 1 : EQUATIONS RESOLUES PARTOUT
2847 AVEC CORRECTION SUR LES BANCS DECOUVRANTS 2 : GEL DES ELEMENTS
2848 DECOUVRANTS 3 : COMME 1 MAIS AVEC POROSITE (METHODE DEFINA)""",
2849             ang = """ Used if TIDAL FLATS is true 1 : EQUATIONS SOLVED EVERYWHERE WITH
2850 CORRECTION ON TIDAL FLATS 2 : DRY ELEMENTS FROZEN 3 : LIKE 1 BUT WITH
2851 POROSITY (DEFINA METHOD)""",
2852         ),
2853 #       -----------------------------------
2854         b_OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATSG = BLOC(condition="OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS == 'EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS'",
2855 #       -----------------------------------
2856 #           -----------------------------------
2857             TREATMENT_OF_NEGATIVE_DEPTHS = SIMP(statut ='o',
2858 #           -----------------------------------
2859                 typ = 'TXM',
2860                 into = ["SMOOTHING","FLUX CONTROL","FLUX CONTROL (ERIA)"],
2861                 defaut = "SMOOTHING",
2862                 fr = """ Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1 0 : pas
2863 de traitement 1 : lissage 2 : limitation des flux""",
2864                 ang = """ Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1 0: no treatment
2865 1:smoothing 2:flux control""",
2866             ),
2867         ),
2868 #       -----------------------------------
2869         THRESHOLD_FOR_NEGATIVE_DEPTHS = SIMP(statut ='o',
2870 #       -----------------------------------
2871             typ = 'R',
2872             defaut = 0.,
2873             fr = """ En dessous du seuil, les hauteurs negatives sont lissees""",
2874             ang = """ Below the threshold the negative depths are smoothed""",
2875         ),
2876 #       -----------------------------------
2877         THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE = SIMP(statut ='o',
2878 #       -----------------------------------
2879             typ = 'R',
2880             defaut = 0.,
2881             fr = """ Si > 0., declenche la procedure de ressuyage qui evite le
2882 franchissement parasite des digues mal discretisees""",
2883             ang = """ If > 0., will trigger the receding procedure that avoids overwhelming
2884 of dykes which are too loosely discretised""",
2885         ),
2886 #       -----------------------------------
2887         H_CLIPPING = SIMP(statut ='o',
2888 #       -----------------------------------
2889             typ = bool,
2890             defaut = False,
2891             fr = """ Determine si l''on desire ou non limiter par valeur inferieure la
2892 hauteur d''eau H (dans le cas des bancs decouvrants par exemple).""",
2893             ang = """ Determines whether limiting the water depth H by a lower value
2894 desirable or not. (for instance in the case of tidal flats) This
2895 key-word may have an influence on mass conservation since the truncation
2896 of depth is equivalent to adding mass.""",
2897         ),
2898 #       -----------------------------------
2899         b_H_CLIPPINGG = BLOC(condition="H_CLIPPING == True",
2900 #       -----------------------------------
2901 #           -----------------------------------
2902             MINIMUM_VALUE_OF_DEPTH = SIMP(statut ='o',
2903 #           -----------------------------------
2904                 typ = 'R',
2905                 defaut = 0.,
2906                 fr = """ Fixe la valeur minimale de a lorsque l''option CLIPPING DE H est
2907 activee.""",
2908                 ang = """ Sets the minimum H value when option H CLIPPING is implemented. Not
2909 fully implemented.""",
2910             ),
2911         ),
2912     ),
2913 )
2914 # -----------------------------------------------------------------------
2915 TRACERS = PROC(nom= "TRACERS",op = None,
2916 # -----------------------------------------------------------------------
2917 #   -----------------------------------
2918     BOUNDARY_CONDITIONS_FOR_TRACERS = FACT(statut='f',
2919 #   -----------------------------------
2920 #       -----------------------------------
2921         PRESCRIBED_TRACERS_VALUES = SIMP(statut ='o',
2922 #       -----------------------------------
2923             typ = 'R', max='**',
2924             fr = """ Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la
2925 partie du mode d''emploi consacree aux conditions aux limites""",
2926             ang = """ Tracer values prescribed at the inflow boundaries. Read the usermanual
2927 section dealing with the boundary conditions""",
2928         ),
2929     ),
2930 #   -----------------------------------
2931     SETTING = FACT(statut='o',
2932 #   -----------------------------------
2933 #       -----------------------------------
2934         NUMBER_OF_TRACERS = SIMP(statut ='o',
2935 #       -----------------------------------
2936             typ = 'I',
2937             defaut = 0,
2938             fr = """ Definit le nombre de traceurs.""",
2939             ang = """ Defines the number of tracers""",
2940         ),
2941 #       -----------------------------------
2942         NAMES_OF_TRACERS = SIMP(statut ='o',
2943 #       -----------------------------------
2944             typ = 'TXM', min=0, max='**',
2945             fr = """ Noms des traceurs en 32 caracteres, 16 pour le nom 16 pour l''unite""",
2946             ang = """ Name of tracers in 32 characters, 16 for the name, 16 for the unit.""",
2947         ),
2948 #       -----------------------------------
2949         INITIAL_VALUES_OF_TRACERS = SIMP(statut ='o',
2950 #       -----------------------------------
2951             typ = 'R', min=0, max='**',
2952             defaut = [0.,0.],
2953             fr = """ Fixe la valeur initiale du traceur.""",
2954             ang = """ Sets the initial value of the tracer.""",
2955         ),
2956 #       -----------------------------------
2957         DENSITY_EFFECTS = SIMP(statut ='o',
2958 #       -----------------------------------
2959             typ = bool,
2960             defaut = False,
2961             fr = """ PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE LE TRACEUR EST ALORS
2962 LA SALINITE""",
2963             ang = """ THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT THE TRACER IS
2964 THEN THE SALINITY""",
2965         ),
2966 #       -----------------------------------
2967         b_DENSITY_EFFECTSG = BLOC(condition="DENSITY_EFFECTS == True",
2968 #       -----------------------------------
2969 #           -----------------------------------
2970             MEAN_TEMPERATURE = SIMP(statut ='o',
2971 #           -----------------------------------
2972                 typ = 'R',
2973                 defaut = 20.,
2974                 fr = """ TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE A
2975 UTILISER AVEC LE MOT-CLE "EFFETS DE DENSITE".""",
2976                 ang = """ REFERENCE TEMPERATURE FOR DENSITY EFFECTS TO BE USED WITH THE KEY-WORD
2977 "DENSITY EFFECTS".""",
2978             ),
2979         ),
2980 #       -----------------------------------
2981         b_DENSITY_EFFECTSH = BLOC(condition="DENSITY_EFFECTS == True",
2982 #       -----------------------------------
2983 #           -----------------------------------
2984             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2985 #           -----------------------------------
2986                 defaut = "The first tracer must be the salinity in kg/m3"),
2987         ),
2988     ),
2989 #   -----------------------------------
2990     SOLVER_TRA = FACT(statut='o',
2991 #   -----------------------------------
2992 #       -----------------------------------
2993         SOLVER_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
2994 #       -----------------------------------
2995             typ = 'TXM', min=0, max='**',
2996             into = ["conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","squared conjugate gradient","cgstab","gmres (see option for the solver for tracer diffusion)","direct"],
2997             defaut = ["conjugate gradient","conjugate gradient"],
2998             fr = """ 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur
2999 equation normale 4 : erreur minimale 5 : gradient conjugue carre""",
3000             ang = """ 1 : conjugate gradient 2 : conjugate gradient 3 : conjugate gradient
3001 on a normal equation 4 : minimum error 5 : squared conjugate gradient 6
3002 : cgstab 7 : gmres (see option for the solver for tracer diffusion) 8 :
3003 direct""",
3004         ),
3005 #       -----------------------------------
3006         SOLVER_OPTION_FOR_TRACERS_DIFFUSION = SIMP(statut ='o',
3007 #       -----------------------------------
3008             typ = 'I', min=0, max='**',
3009             defaut = [2],
3010             fr = """ si le solveur est GMRES (7) le mot cle est la dimension de l''espace
3011 de KRILOV (valeurs conseillees entre 2 et 15)""",
3012             ang = """ WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES
3013 BETWEEN 2 AND 15""",
3014         ),
3015 #       -----------------------------------
3016         PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3017 #       -----------------------------------
3018             typ = 'TXM', min=0, max='**',
3019             into = ["no preconditioning ","diagonal","crout","diagonal and crout"],
3020             defaut = ["diagonal"],
3021             fr = """ Permet de preconditionner le systeme relatif au traceur. Memes
3022 definition et possibilites que pour le mot-cle PRECONDITIONNEMENT. 0 :
3023 pas de preconditionnement; 2 : preconditionnement diagonal. 7 : Crout
3024 par element""",
3025             ang = """ Preconditioning of the linear system in the tracer diffusion step.
3026 Same definition and possibilities as for the keyword PRECONDITIONING 0:
3027 no preconditioning 2: diagonal preconditioning 7: Crout''s
3028 preconditioning per element.""",
3029         ),
3030     ),
3031 #   -----------------------------------
3032     ACCURACY_TRA = FACT(statut='o',
3033 #   -----------------------------------
3034 #       -----------------------------------
3035         ACCURACY_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3036 #       -----------------------------------
3037             typ = 'R',
3038             defaut = 1.E-6,
3039             fr = """ Fixe la precision demandee pour le calcul de la diffusion du traceur.""",
3040             ang = """ Sets the required accuracy for computing the tracer diffusion.""",
3041         ),
3042 #       -----------------------------------
3043         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3044 #       -----------------------------------
3045             typ = 'I',
3046             defaut = 60,
3047             fr = """ Limite le nombre d''iterations du solveur a chaque pas de temps pour
3048 le calcul de la diffusion du traceur.""",
3049             ang = """ Limits the number of solver iterations at each time step for the
3050 diffusion of tracer.""",
3051         ),
3052     ),
3053 #   -----------------------------------
3054     SOURCES_TRA = FACT(statut='f',
3055 #   -----------------------------------
3056 #       -----------------------------------
3057         VALUES_OF_THE_TRACERS_AT_THE_SOURCES = SIMP(statut ='o',
3058 #       -----------------------------------
3059             typ = 'R', min=0, max='**',
3060             fr = """ Valeurs des traceurs a chacune des sources""",
3061             ang = """ Values of the tracers at the sources""",
3062         ),
3063     ),
3064 #   -----------------------------------
3065     METEOROLOGY_TRA = FACT(statut='f',
3066 #   -----------------------------------
3067 #       -----------------------------------
3068         VALUES_OF_TRACERS_IN_THE_RAIN = SIMP(statut ='o',
3069 #       -----------------------------------
3070             typ = 'R', min=0, max='**',
3071             fr = """generalement ce traceur est la temperature, dans ce cas
3072 cette valeur  est a modifier, sinon la valeur 0 est raisonnable""",
3073             ang = """most often, this tracer is temperature, in this case
3074 this value should be modified, otherwise, default value of 0 seems
3075 reasonable""",
3076         ),
3077     ),
3078 #   -----------------------------------
3079     NUMERICAL = FACT(statut='o',
3080 #   -----------------------------------
3081 #       -----------------------------------
3082         ADVECTION_OF_TRACERS = SIMP(statut ='o',
3083 #       -----------------------------------
3084             typ = bool,
3085             defaut = True,
3086             fr = """ Prise en compte ou non de la convection du traceur passif.""",
3087             ang = """ The advection of the passive tracer is taken into account or ignored.""",
3088         ),
3089 #       -----------------------------------
3090         b_ADVECTION_OF_TRACERSG = BLOC(condition="ADVECTION_OF_TRACERS == True",
3091 #       -----------------------------------
3092 #           -----------------------------------
3093             SCHEME_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='f',
3094 #           -----------------------------------
3095                 typ = 'TXM', min=0, max='**',
3096                 into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","LEO POSTMA FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME FOR TIDAL FLATS"],
3097                 defaut = ["CHARACTERISTICS"],
3098                 fr = """ Choix du schema de convection pour les traceurs, remplace FORME DE LA
3099 CONVECTION""",
3100                 ang = """ Choice of the advection scheme for the tracers, replaces TYPE OF
3101 ADVECTION""",
3102             ),
3103         ),
3104 #       -----------------------------------
3105         IMPLICITATION_COEFFICIENT_OF_TRACERS = SIMP(statut ='o',
3106 #       -----------------------------------
3107             typ = 'R',
3108             defaut = 0.6,
3109             fr = """ Fixe la valeur du coefficient d''implicitation du traceur""",
3110             ang = """ Sets the value of the implicitation coefficient for the tracer""",
3111         ),
3112 #       -----------------------------------
3113         DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3114 #       -----------------------------------
3115             typ = bool,
3116             defaut = True,
3117             fr = """ Prise en compte ou non de la diffusion du traceur passif.""",
3118             ang = """ The diffusion of the passive tracer is taken into account or ignored.""",
3119         ),
3120 #       -----------------------------------
3121         b_DIFFUSION_OF_TRACERSG = BLOC(condition="DIFFUSION_OF_TRACERS == True",
3122 #       -----------------------------------
3123 #           -----------------------------------
3124             COEFFICIENT_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3125 #           -----------------------------------
3126                 typ = 'R', min=0, max='**',
3127                 defaut = [1.E-6],
3128                 fr = """ Fixe la valeur du coefficient de diffusion du traceur. L''influence de
3129 ce parametre sur l''evolution du traceur dans le temps est importante.""",
3130                 ang = """ Sets the value of the tracer diffusivity.""",
3131             ),
3132         ),
3133 #       -----------------------------------
3134         OPTION_FOR_THE_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
3135 #       -----------------------------------
3136             typ = 'TXM', min=0, max='**',
3137             into = ["div( nu grad(T) )","1/h div ( h nu grad(T)"],
3138             defaut = ["div( nu grad(T) )"],
3139             fr = """ 1: Diffusion de la forme div( nu grad(T) ) 2: Diffusion de la forme
3140 1/h div ( h nu grad(T) )""",
3141             ang = """ 1: Diffusion in the form div( nu grad(T) ) 2: Diffusion in the form
3142 1/h div ( h nu grad(T) )""",
3143         ),
3144 #       -----------------------------------
3145         SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='o',
3146 #       -----------------------------------
3147             typ = 'I', min=0, max='**',
3148             defaut = [1],
3149             fr = """ Si present remplace et a priorite sur : OPTION POUR LES
3150 CARACTERISTIQUES OPTION DE SUPG Si schema PSI ou N : 1=explicite
3151 2=predicteur-correcteur 3=predicteur-correcteur deuxieme ordre en temps
3152 4=implicite""",
3153             ang = """ If present replaces and has priority over: OPTION FOR CHARACTERISTICS
3154 SUPG OPTION if N or PSI SCHEME: 1=explicit 2=predictor-corrector 3=
3155 predictor-corrector second-order in time 4= implicit""",
3156         ),
3157 #       -----------------------------------
3158         MASS_LUMPING_ON_TRACERS = SIMP(statut ='o',
3159 #       -----------------------------------
3160             typ = 'R',
3161             defaut = 0.,
3162             fr = """ Fixe le taux de mass-lumping effectue sur le traceur.""",
3163             ang = """ Sets the amount of mass-lumping that is performed on the tracer.""",
3164         ),
3165     ),
3166 #   -----------------------------------
3167     DEGRADATION = FACT(statut='o',
3168 #   -----------------------------------
3169 #       -----------------------------------
3170         LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='o',
3171 #       -----------------------------------
3172             typ = 'TXM', min=0, max='**',
3173             into = ["NO DEGRADATION","F(T90) LAW"],
3174             defaut = ["NO DEGRADATION","NO DEGRADATION"],
3175             fr = """ Prise en compte d''une loi de decroissance des traceurs""",
3176             ang = """ Take in account a law for tracers decrease""",
3177         ),
3178 #       -----------------------------------
3179         b_LAW_OF_TRACERS_DEGRADATIONG = BLOC(condition="'F(T90) LAW' in LAW_OF_TRACERS_DEGRADATION",
3180 #       -----------------------------------
3181 #           -----------------------------------
3182             COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='o',
3183 #           -----------------------------------
3184                 typ = 'R', min=0, max='**',
3185                 fr = """ Coefficient 1 de la loi de decroissance des traceurs""",
3186                 ang = """ Coefficient 1 of law for tracers decrease""",
3187             ),
3188         ),
3189     ),
3190 )
3191 # -----------------------------------------------------------------------
3192 PARTICLE_TRANSPORT = PROC(nom= "PARTICLE_TRANSPORT",op = None,
3193 # -----------------------------------------------------------------------
3194 #   -----------------------------------
3195     DROGUES = FACT(statut='f',
3196 #   -----------------------------------
3197 #       -----------------------------------
3198         NUMBER_OF_DROGUES = SIMP(statut ='o',
3199 #       -----------------------------------
3200             typ = 'I',
3201             defaut = 0,
3202             fr = """ Permet d''effectuer un suivi de flotteurs""",
3203             ang = """ Number of drogues in the computation. The user must then fill the
3204 subroutine FLOT specifying the coordinates of the starting points, their
3205 departure and arrival times. The trajectory of drogues is recorded in
3206 the BINARY RESULTS FILE that must be given in the steering file""",
3207         ),
3208 #       -----------------------------------
3209         b_NUMBER_OF_DROGUESG = BLOC(condition="NUMBER_OF_DROGUES != 0",
3210 #       -----------------------------------
3211 #           -----------------------------------
3212             DROGUES_FILE = SIMP(statut ='o',
3213 #           -----------------------------------
3214                 typ = ('Fichier','All Files (*)','Sauvegarde'),
3215                 defaut = '',
3216                 fr = """ Fichier de resultat avec les positions des flotteurs""",
3217                 ang = """ Results file with positions of drogues""",
3218             ),
3219 #           -----------------------------------
3220             PRINTOUT_PERIOD_FOR_DROGUES = SIMP(statut ='o',
3221 #           -----------------------------------
3222                 typ = 'I',
3223                 defaut = 1,
3224                 fr = """ Nombre de pas de temps entre 2 sorties de positions de flotteurs dans
3225 le fichier des resultats binaire supplementaire N affecte pas la qualite
3226 du calcul de la trajectoire""",
3227                 ang = """ Number of time steps between 2 outputs of drogues positions in the
3228 binary file""",
3229             ),
3230         ),
3231     ),
3232 #   -----------------------------------
3233     ALGAES = FACT(statut='f',
3234 #   -----------------------------------
3235 #       -----------------------------------
3236         ALGAE_TRANSPORT_MODEL = SIMP(statut ='o',
3237 #       -----------------------------------
3238             typ = bool,
3239             defaut = False,
3240             fr = """ Si oui, les flotteurs seront des algues""",
3241             ang = """ If yes, the floats or particles will be algae""",
3242         ),
3243 #       -----------------------------------
3244         b_ALGAE_TRANSPORT_MODELG = BLOC(condition="ALGAE_TRANSPORT_MODEL == True",
3245 #       -----------------------------------
3246 #           -----------------------------------
3247             ALGAE_TYPE = SIMP(statut ='o',
3248 #           -----------------------------------
3249                 typ = 'TXM',
3250                 into = ["SPHERE","IRIDAEA FLACCIDA (CLOSE TO ULVA)","PELVETIOPSIS LIMITATA","GIGARTINA LEPTORHYNCHOS"],
3251                 defaut = "SPHERE",
3252                 fr = """ Type des algues. Pour le choix 1 les algues seront modelisees comme
3253 des spheres, pour les autres choix voir Gaylord et al. (1994).""",
3254                 ang = """ Algae type. For choice 1 the algae particles will be modeled as
3255 spheres, and for the other choices see Gaylord et al. (1994)""",
3256             ),
3257 #           -----------------------------------
3258             DIAMETER_OF_ALGAE = SIMP(statut ='o',
3259 #           -----------------------------------
3260                 typ = 'R',
3261                 defaut = 0.1,
3262                 fr = """ Diametre des algues en m""",
3263                 ang = """ Diametre of algae in m""",
3264             ),
3265 #           -----------------------------------
3266             DENSITY_OF_ALGAE = SIMP(statut ='o',
3267 #           -----------------------------------
3268                 typ = 'R',
3269                 defaut = 1050.,
3270                 fr = """ Masse volumique des algues en kg/m3""",
3271                 ang = """ Density of algae in kg/m3""",
3272             ),
3273 #           -----------------------------------
3274             THICKNESS_OF_ALGAE = SIMP(statut ='o',
3275 #           -----------------------------------
3276                 typ = 'R',
3277                 defaut = 0.01,
3278                 fr = """ Epaisseur des algues en m""",
3279                 ang = """ Thickness of algae in m""",
3280             ),
3281         ),
3282     ),
3283 #   -----------------------------------
3284     OIL_SPILL = FACT(statut='f',
3285 #   -----------------------------------
3286 #       -----------------------------------
3287         OIL_SPILL_MODEL = SIMP(statut ='o',
3288 #       -----------------------------------
3289             typ = bool,
3290             defaut = False,
3291             fr = """ POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS CE CAS LE FICHIER
3292 DE COMMANDES MIGRHYCAR EST NECESSAIRE""",
3293             ang = """ WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE THE MIGRHYCAR STEERING
3294 FILE IS NEEDED""",
3295         ),
3296 #       -----------------------------------
3297         b_OIL_SPILL_MODELG = BLOC(condition="OIL_SPILL_MODEL == True",
3298 #       -----------------------------------
3299 #           -----------------------------------
3300             OIL_SPILL_STEERING_FILE = SIMP(statut ='o',
3301 #           -----------------------------------
3302                 typ = ('Fichier','All Files (*)'),
3303                 defaut = '',
3304                 fr = """ Contient les donnees pour le modele de derive de nappes""",
3305                 ang = """ Contains data for the oil spill model""",
3306             ),
3307         ),
3308     ),
3309 #   -----------------------------------
3310     BROWNIAN_MOTION = FACT(statut='f',
3311 #   -----------------------------------
3312 #       -----------------------------------
3313         STOCHASTIC_DIFFUSION_MODEL = SIMP(statut ='o',
3314 #       -----------------------------------
3315             typ = 'TXM',
3316             into = ["No model","brownian movement"],
3317             defaut = "No model",
3318             fr = """ Pour les particules : flotteurs, hydrocarbures""",
3319             ang = """ Meant for particles: drogues, oil spills""",
3320         ),
3321     ),
3322 #   -----------------------------------
3323     LAGRANGIAN_DRIFTS = FACT(statut='f',
3324 #   -----------------------------------
3325 #       -----------------------------------
3326         NUMBER_OF_LAGRANGIAN_DRIFTS = SIMP(statut ='o',
3327 #       -----------------------------------
3328             typ = 'I',
3329             defaut = 0,
3330             fr = """ Permet d''effectuer simultanement plusieurs calculs de derives
3331 lagrangiennes initiees a des pas differents""",
3332             ang = """ Provided for performing several computations of lagrangian drifts
3333 starting at different times. Add A and G in the VARIABLES FOR GRAPHIC
3334 PRINTOUTS key-word""",
3335         ),
3336 #       -----------------------------------
3337         b_NUMBER_OF_LAGRANGIAN_DRIFTSG = BLOC(condition="NUMBER_OF_LAGRANGIAN_DRIFS != 0",
3338 #       -----------------------------------
3339 #           -----------------------------------
3340             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
3341 #           -----------------------------------
3342                 defaut = "Add 'drift along x (m)' and 'drift along y (m)' in VARIABLES FOR GRAPHIC PRINTOUTS"),
3343         ),
3344     ),
3345 )
3346 # -----------------------------------------------------------------------
3347 HYDRAULIC_STRUCTURES = PROC(nom= "HYDRAULIC_STRUCTURES",op = None,
3348 # -----------------------------------------------------------------------
3349 #   -----------------------------------
3350     WEIRS = FACT(statut='f',
3351 #   -----------------------------------
3352 #       -----------------------------------
3353         NUMBER_OF_WEIRS = SIMP(statut ='o',
3354 #       -----------------------------------
3355             typ = 'I',
3356             defaut = 0,
3357             fr = """ Nombre de seuils qui seront traites par des conditions aux limites.
3358 Ces seuils doivent etre decrits comme des frontieres du domaine de
3359 calcul, et leurs caracteristiques sont donnees dans le fichier de
3360 donnees des seuils (voir la documentation ecrite)""",
3361             ang = """ Number of weirs that will be treated by boundary conditions. They must
3362 be described as boundaries of the domain and their features are given in
3363 the weir data file (see written documentation)""",
3364         ),
3365 #       -----------------------------------
3366         b_NUMBER_OF_WEIRSG = BLOC(condition="NUMBER_OF_WEIRS != 0",
3367 #       -----------------------------------
3368 #           -----------------------------------
3369             WEIRS_DATA_FILE = SIMP(statut ='o',
3370 #           -----------------------------------
3371                 typ = ('Fichier','All Files (*)'),
3372                 defaut = '',
3373                 fr = """ Fichier de description des seuils presents dans le modele""",
3374                 ang = """ Description of weirs existing in the model""",
3375             ),
3376 #           -----------------------------------
3377             TYPE_OF_WEIRS = SIMP(statut ='o',
3378 #           -----------------------------------
3379                 typ = 'TXM',
3380                 into = ["HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM","GENERAL"],
3381                 defaut = "HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM",
3382                 fr = """ Methode de traitement des seuils. Deux Solutions:
3383 - HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique
3384   avec bord)
3385 - GENERALE (Nouvelle solution avec pts sources)""",
3386                 ang = """ Method for treatment of weirs. Two options:
3387 - HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM (Historical
3388   solution with bord)
3389 - GENERAL (New solution with sources points""",
3390             ),
3391         ),
3392     ),
3393 #   -----------------------------------
3394     SIPHONS = FACT(statut='f',
3395 #   -----------------------------------
3396 #       -----------------------------------
3397         NUMBER_OF_SIPHONS = SIMP(statut ='f',
3398 #       -----------------------------------
3399             typ = 'I',
3400             defaut = 0,
3401             fr = """ Nombre de siphons traites comme des termes sources ou puits. Ces
3402 siphons doivent etre decrits comme des sources dans le fichier cas.
3403 Leurs caracteristiques sont donnees dans le fichier de donnees des
3404 siphons (voir la documentation ecrite)""",
3405             ang = """ Number of culverts treated as source terms. They must be described as
3406 sources in the domain and their features are given in the culvert data
3407 file (see written documentation)""",
3408         ),
3409 #       -----------------------------------
3410         b_NUMBER_OF_SIPHONSG = BLOC(condition="NUMBER_OF_SIPHONS != 0",
3411 #       -----------------------------------
3412 #           -----------------------------------
3413             SIPHONS_DATA_FILE = SIMP(statut ='o',
3414 #           -----------------------------------
3415                 typ = ('Fichier','All Files (*)'),
3416                 defaut = '',
3417                 fr = """ Fichier de description des siphons presents dans le modele""",
3418                 ang = """ Description of culvert existing in the model""",
3419             ),
3420         ),
3421     ),
3422 #   -----------------------------------
3423     CULVERTS = FACT(statut='f',
3424 #   -----------------------------------
3425 #       -----------------------------------
3426         NUMBER_OF_CULVERTS = SIMP(statut ='o',
3427 #       -----------------------------------
3428             typ = 'I',
3429             defaut = 0,
3430             fr = """ Nombre de buses ou ponts traites comme des termes sources ou puits.
3431 Ces buses doivent etre decrits comme des sources dans le fichier cas.
3432 Leurs caracteristiques sont donnees dans le fichier de donnees des buses
3433 (voir la documentation ecrite)""",
3434             ang = """ Number of culverts or bridges treated as source terms. They must be
3435 described as sources in the domain and their features are given in the
3436 culverts data file (see written documentation)""",
3437         ),
3438 #       -----------------------------------
3439         b_NUMBER_OF_CULVERTSG = BLOC(condition="NUMBER_OF_CULVERTS != 0",
3440 #       -----------------------------------
3441 #           -----------------------------------
3442             CULVERTS_DATA_FILE = SIMP(statut ='o',
3443 #           -----------------------------------
3444                 typ = ('Fichier','All Files (*)'),
3445                 defaut = '',
3446                 fr = """ Fichier de description des buses/ponts presents dans le modele""",
3447                 ang = """ Description of tubes/bridges existing in the model""",
3448             ),
3449         ),
3450 #       -----------------------------------
3451         OPTION_FOR_CULVERTS = SIMP(statut ='f',
3452 #       -----------------------------------
3453             typ = 'I',
3454             defaut = 1,
3455             fr = """Option pour le traitement des buses. Il existe deux formulations
3456 dans Telemac""",
3457             ang = """Option for the treatment of culverts. There are two options in
3458 Telemac""",
3459         ),
3460     ),
3461 #   -----------------------------------
3462     BREACHES = FACT(statut='f',
3463 #   -----------------------------------
3464 #       -----------------------------------
3465         BREACH = SIMP(statut ='o',
3466 #       -----------------------------------
3467             typ = bool,
3468             defaut = False,
3469             fr = """ Prise en compte de breches dans le calcul par modification
3470 altimetrique dans le maillage. La description des breches se fait avec
3471 le fichier de donnees des breches.""",
3472             ang = """ Take in account some breaches during the computation by modifying the
3473 bottom level of the mesh. Brech description is done with the breaches
3474 data file.""",
3475         ),
3476 #       -----------------------------------
3477         b_BREACHG = BLOC(condition="BREACH == True",
3478 #       -----------------------------------
3479 #           -----------------------------------
3480             BREACHES_DATA_FILE = SIMP(statut ='o',
3481 #           -----------------------------------
3482                 typ = ('Fichier','All Files (*)'),
3483                 defaut = '',
3484                 fr = """ Fichier de description des breches""",
3485                 ang = """ Description of breaches""",
3486             ),
3487         ),
3488     ),
3489 )
3490 # -----------------------------------------------------------------------
3491 TIDES = PROC(nom= "TIDES",op = None,
3492 # -----------------------------------------------------------------------
3493 #   -----------------------------------
3494     BOUNDARY_CONDITIONS = FACT(statut='o',
3495 #   -----------------------------------
3496 #       -----------------------------------
3497         TIDAL_DATA_BASE = SIMP(statut ='o',
3498 #       -----------------------------------
3499             typ = 'TXM',
3500             into = ["NO DEFAULT VALUE","JMJ","TPXO","MISCELLANEOUS (LEGOS-NEA, FES20XX, PREVIMER...)"],
3501             defaut = "NO DEFAULT VALUE",
3502             fr = """ Pour JMJ, renseigner la localisation du fichier bdd\_jmj et geofin
3503 dans les mots-cles BASE DE DONNEES DE MAREE et FICHIER DU MODELE DE
3504 MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l''utilisateur doit
3505 telecharger les fichiers de constantes harmoniques sur internet""",
3506             ang = """ For JMJ, indicate the location of the files bdd\_jmj and geofin with
3507 keywords TIDE DATA BASE and TIDAL MODEL FILE. For TPXO, LEGOS-NEA,
3508 FES20XX and PREVIMER, the user has to download files of harmonic
3509 constituents on the internet""",
3510         ),
3511 #       -----------------------------------
3512         b_TIDAL_DATA_BASEG = BLOC(condition="TIDAL_DATA_BASE == 'TPXO'",
3513 #       -----------------------------------
3514 #           -----------------------------------
3515             MINOR_CONSTITUENTS_INFERENCE = SIMP(statut ='f',
3516 #           -----------------------------------
3517                 typ = bool,
3518                 defaut = False,
3519                 fr = """ Pour la base de donnees TPXO uniquement. Interpolation de composantes
3520 harmoniques mineures a partir de celles lues dans les fichiers d''entree
3521 lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2
3522 DE DONNEES DE MAREE""",
3523                 ang = """ For TPXO tidal data base only. Inference of minor constituents from
3524 the one read in input files linked to keywords BINARY DATABASE 1 FOR
3525 TIDE and BINARY DATABASE 2 FOR TIDE""",
3526             ),
3527 #           -----------------------------------
3528             BINARY_DATABASE_1_FOR_TIDE = SIMP(statut ='f',
3529 #           -----------------------------------
3530                 typ = ('Fichier','All Files (*)'),
3531                 defaut = '',
3532                 fr = """ Base de donnees binaire 1 tiree du fichier du modele de maree. Dans le
3533 cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees
3534 de niveau d''eau, par exemple h\_tpxo7.2""",
3535                 ang = """ Binary database 1 extracted from the tidal model file. In the case of
3536 the TPXO satellite altimetry model, this file should be for free surface
3537 level, for instance h\_tpxo7.2""",
3538             ),
3539 #           -----------------------------------
3540             BINARY_DATABASE_2_FOR_TIDE = SIMP(statut ='f',
3541 #           -----------------------------------
3542                 typ = ('Fichier','All Files (*)'),
3543                 defaut = '',
3544                 fr = """ Base de donnees binaire 2 tiree du fichier du modele de maree. Dans le
3545 cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees
3546 de vitesse de marrees, par exemple u\_tpxo7.2""",
3547                 ang = """ Binary database 2 extracted from the tidal model file. In the case of
3548 the TPXO satellite altimetry model, this file should be for tidal
3549 velocities, for instance u\_tpxo7.2""",
3550             ),
3551         ),
3552 #       -----------------------------------
3553         TIDAL_MODEL_FILE = SIMP(statut ='f',
3554 #       -----------------------------------
3555             typ = ('Fichier','All Files (*)'),
3556             defaut = '',
3557             fr = """ Fichier de geometrie du modele dont sont extraites les constantes
3558 harmoniques""",
3559             ang = """ Geometry file of the model from which harmonic constituents are
3560 extracted""",
3561         ),
3562 #       -----------------------------------
3563         ASCII_DATABASE_FOR_TIDE = SIMP(statut ='f',
3564 #       -----------------------------------
3565             typ = ('Fichier','All Files (*)'),
3566             defaut = '',
3567             fr = """ Base de donnees de constantes harmoniques tirees du fichier du modele
3568 de maree. Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE""",
3569             ang = """ Tide data base of harmonic constituents extracted from the tidal model
3570 file. Old name in 6.1 version: TIDE DATA BASE""",
3571         ),
3572 #       -----------------------------------
3573         HARMONIC_CONSTANTS_FILE = SIMP(statut ='f',
3574 #       -----------------------------------
3575             typ = ('Fichier','All Files (*)'),
3576             defaut = '',
3577             fr = """ Constantes harmoniques extraites du fichier du modele de maree""",
3578             ang = """ Harmonic constants extracted from the tidalmodel file""",
3579         ),
3580     ),
3581 #   -----------------------------------
3582     PHYSICAL_PARAMETERS = FACT(statut='o',
3583 #   -----------------------------------
3584 #       -----------------------------------
3585         TIDE_GENERATING_FORCE = SIMP(statut ='o',
3586 #       -----------------------------------
3587             typ = bool,
3588             defaut = False,
3589             fr = """ Active la prise en compte de la force generatrice de la maree""",
3590             ang = """ The tide generating force is taken into account.""",
3591         ),
3592 #       -----------------------------------
3593         b_TIDE_GENERATING_FORCEG = BLOC(condition="TIDE_GENERATING_FORCE == True",
3594 #       -----------------------------------
3595         ),
3596 #       -----------------------------------
3597         OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS = SIMP(statut ='o',
3598 #       -----------------------------------
3599             typ = 'TXM', max='**',
3600             into = ["No tide","Real tide (recommended methodology)","Astronomical tide","Mean spring tide","Mean tide","Mean neap tide","Astronomical neap tide","Real tide (methodology before 2010)"],
3601             fr = """ Option pour les conditions aux limites de maree. Pour des marees
3602 reelles, l option 1 est recommandee. Depuis la version 7.1, ce mot-cle
3603 est un tableau avec une valeur donnee par frontiere liquide, separee par
3604 point-virgules. Ceci permet d''avoir des conditions de maree (ou pas)
3605 calculees sur des frontieres liquides avec vitesses ou hauteur d eau
3606 imposees. Ca evite un conflit lors de l utilisation de seuils dans le
3607 domaine. 0 est le code pour des conditions autres que des conditions de
3608 maree. ATTENTION depuis la version 7.1 ! Les anciens modeles doivent
3609 etre changes si la frontiere de maree n a pas le numero 1. Dans ce cas,
3610 le mot-cle doit etre change et plus de valeurs doivent etre donnees.
3611 Calage possible par les mots-cles COEFFICIENT POUR CALAGE EN MARNAGE et
3612 COEFFICIENT POUR CALAGE EN NIVEAU.""",
3613             ang = """ Option for tidal boundary conditions. For real tides, option 1 is
3614 recommended. This keyword has been an array with a value given per
3615 liquid boundary, separated by semicolons, since version 7.1. This
3616 enables to have tidal conditions (or not) computed on liquid boundaries
3617 with prescribed velocities or depths, avoiding a clash when using weirs
3618 in the domain. 0 codes for conditions other than tidal. BEWARE since
3619 version 7.1! Old models must be changed if their tidal boundary is not
3620 number 1. In that case this keyword must be changed and more values
3621 given. Possible calibration with the keywords COEFFICIENT TO ADJUST
3622 TIDAL RANGE, COEFFICENT TO CALIBRATE TIDAL VELOCITIES, and COEFFICIENT
3623 TO ADJUST SEA LEVEL.""",
3624         ),
3625     ),
3626 #   -----------------------------------
3627     CALIBRATION = FACT(statut='o',
3628 #   -----------------------------------
3629 #       -----------------------------------
3630         GEOGRAPHIC_SYSTEM = SIMP(statut ='o',
3631 #       -----------------------------------
3632             typ = 'TXM',
3633             into = ["NO DEFAULT VALUE","DEFINED BY USER","WGS84 LONGITUDE/LATITUDE IN REAL DEGREES","WGS84 NORTHERN UTM","WGS84 SOUTHERN UTM","LAMBERT","MERCATOR FOR TELEMAC"],
3634             defaut = "NO DEFAULT VALUE",
3635             fr = """ Systeme de coordonnees geographiques dans lequel est construit le
3636 modele numerique. Indiquer la zone correspondante avec le mot-cle""",
3637             ang = """ Geographic coordinates system in which the numerical model is built.
3638 Indicate the corresponding zone with the keyword""",
3639         ),
3640 #       -----------------------------------
3641         b_GEOGRAPHIC_SYSTEMG = BLOC(condition="GEOGRAPHIC_SYSTEM in ['WGS84 NOTHERN UTM','WGS84 SOUTHERN UTM','LAMBERT']",
3642 #       -----------------------------------
3643 #           -----------------------------------
3644             ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM = SIMP(statut ='f',
3645 #           -----------------------------------
3646                 typ = 'TXM',
3647                 into = ["NO DEFAULT VALUE","LAMBERT 1 NORTH","LAMBERT 2 CENTER","LAMBERT 3 SOUTH","LAMBERT 4 CORSICA","LAMBERT 2 EXTENDED","UTM ZONE, E.G."],
3648                 defaut = "NO DEFAULT VALUE",
3649                 fr = """ Numero de zone (fuseau ou type de projection) lors de l''utilisation
3650 d''une projection plane. Indiquer le systeme geographique dans lequel
3651 est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE""",
3652                 ang = """ Number of zone when using a plane projection. Indicate the geographic
3653 system in which the numerical model is built with the keyword GEOGRAPHIC
3654 SYSTEM""",
3655             ),
3656         ),
3657 #       -----------------------------------
3658         COEFFICIENT_TO_CALIBRATE_SEA_LEVEL = SIMP(statut ='o',
3659 #       -----------------------------------
3660             typ = 'R',
3661             defaut = 0.,
3662             fr = """ Coefficient pour ajuster le niveau de mer""",
3663             ang = """ Coefficient to calibrate the sea level""",
3664         ),
3665 #       -----------------------------------
3666         COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE = SIMP(statut ='o',
3667 #       -----------------------------------
3668             typ = 'R',
3669             defaut = 1.,
3670             fr = """ Coefficient pour ajuster le marnage de l''onde de maree aux frontieres
3671 maritimes""",
3672             ang = """ Coefficient to calibrate the tidal range of tidal wave at tidal open
3673 boundary conditions""",
3674         ),
3675 #       -----------------------------------
3676         COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES = SIMP(statut ='o',
3677 #       -----------------------------------
3678             typ = 'R',
3679             defaut = 999999.,
3680             fr = """ Coefficient pour ajuster les composantes de vitesse de l''onde de
3681 maree aux frontieres maritimes. La valeur par defaut 999999. signifie
3682 que c''est la racine carree du COEFFICIENT DE CALAGE DU MARNAGE qui est
3683 prise""",
3684             ang = """ Coefficient to calibrate the tidal velocities of tidal wave at tidal
3685 open boundary conditions. Default value 999999. means that the square
3686 root of COEFFICIENT TO CALIBRATE TIDAL RANGE is taken""",
3687         ),
3688 #       -----------------------------------
3689         LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
3690 #       -----------------------------------
3691             typ = 'I',
3692             defaut = 0,
3693             fr = """ Numero local du point entre 1 et le nombre de points de frontiere
3694 maritime (du FICHIER DES CONSTANTES HARMONIQUES) ou les conditions aux
3695 limites de maree sont calculees avec les bases de donnees JMJ, NEA, FES,
3696 PREVIMER (sauf les bases de type TPXO). Les ondes de maree sont
3697 dephasees par rapport a ce point pour debuter le calcul par une pleine
3698 mer (en marees schematiques seulement).""",
3699             ang = """ Local number between 1 and the number of tidal boundary points (of the
3700 HARMONIC CONSTANTS FILE) where the tidal boundary conditions are
3701 computed with JMJ, NEA, FES, PREVIMER databases (except TPXO-type
3702 databases). The tidal constituents have their phase shifted with respect
3703 to this point to start the simulation with a high water (for schematic
3704 tides only).""",
3705         ),
3706 #       -----------------------------------
3707         GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
3708 #       -----------------------------------
3709             typ = 'I',
3710             defaut = 0,
3711             fr = """ Numero global du point par rapport auquel les ondes de maree sont
3712 dephasees pour debuter le calcul par une pleine mer (en marees
3713 schematiques seulement). Ne concerne que les bases de constantes
3714 harmoniques de type TPXO.""",
3715             ang = """ Global number of the point with respect to which the tidal
3716 constituents have their phase shifted to start the calculation with a
3717 high water (for schematic tides only). Only harmonic constants databases
3718 like TPXO are concerned.""",
3719         ),
3720     ),
3721 )
3722 # -----------------------------------------------------------------------
3723 COUPLING = PROC(nom= "COUPLING",op = None,
3724 # -----------------------------------------------------------------------
3725 #   -----------------------------------
3726     COUPLING_WITH = SIMP(statut ='o',
3727 #   -----------------------------------
3728         typ = 'TXM',
3729         into = ['SISYPHE','TOMAWAC','DELWAQ'],
3730         defaut = '',
3731         fr = """ Liste des codes avec lesquels on couple Telemac-2D SISYPHE : couplage
3732 interne avec Sisyphe TOMAWAC : couplage interne avec Tomawac DELWAQ :
3733 sortie de fichiers de resultats pour Delwaq""",
3734         ang = """ List of codes to be coupled with Telemac-2D SISYPHE : internal
3735 coupling with Sisyphe TOMAWAC : internal coupling with Tomawac DELWAQ:
3736 will yield results file for Delwaq""",
3737     ),
3738 #   -----------------------------------
3739     NAMES_OF_CLANDESTINE_VARIABLES = SIMP(statut ='f',
3740 #   -----------------------------------
3741         typ = 'TXM', min= 2, max= 2,
3742         fr = """ Noms de variables qui ne sont pas utilisees par TELEMAC; mais qui
3743 doivent etre conservees lors de son execution. Ceci peut etre utilise
3744 entre autres lors du couplage de TELEMAC avec un autre code. Les
3745 variables clandestines sont alors des variables propres a l''autre code
3746 et sont rendues dans le fichier de resultats.""",
3747         ang = """ Names of variables that are not used by TELEMAC, but should be
3748 preserved when it is being run. This keyword may be used, for instance
3749 when it if TELEMAC is coupled with another code. Thus, the clandestine
3750 variables belong to the other code and are given back in the results
3751 file.""",
3752     ),
3753 #   -----------------------------------
3754     DELWAQ = FACT(statut='o',
3755 #   -----------------------------------
3756 #       -----------------------------------
3757         COUPLING_DIRECTORY = SIMP(statut ='f',
3758 #       -----------------------------------
3759             typ = 'TXM',
3760             defaut = '',
3761             fr = """ Nom complet du dossier d echange des fichiers pour couplage de codes""",
3762             ang = """ Name with full path of the directory where the files will be exchanged
3763 for coupling""",
3764         ),
3765 #       -----------------------------------
3766         DELWAQ_PRINTOUT_PERIOD = SIMP(statut ='f',
3767 #       -----------------------------------
3768             typ = 'I',
3769             defaut = 1,
3770             fr = """ Periode de sortie des resultats pour Delwaq""",
3771             ang = """ Printout period for Delwaq file""",
3772         ),
3773 #       -----------------------------------
3774         VOLUMES_DELWAQ_FILE = SIMP(statut ='f',
3775 #       -----------------------------------
3776             typ = ('Fichier','All Files (*)','Sauvegarde'),
3777             defaut = '',
3778             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3779             ang = """ Results file for coupling with Delwaq""",
3780         ),
3781 #       -----------------------------------
3782         EXCHANGE_AREAS_DELWAQ_FILE = SIMP(statut ='f',
3783 #       -----------------------------------
3784             typ = ('Fichier','All Files (*)','Sauvegarde'),
3785             defaut = '',
3786             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3787             ang = """ Results file for coupling with Delwaq""",
3788         ),
3789 #       -----------------------------------
3790         VERTICAL_FLUXES_DELWAQ_FILE = SIMP(statut ='f',
3791 #       -----------------------------------
3792             typ = ('Fichier','All Files (*)','Sauvegarde'),
3793             defaut = '',
3794             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3795             ang = """ Results file for coupling with Delwaq""",
3796         ),
3797 #       -----------------------------------
3798         SALINITY_DELWAQ_FILE = SIMP(statut ='f',
3799 #       -----------------------------------
3800             typ = ('Fichier','All Files (*)','Sauvegarde'),
3801             defaut = '',
3802             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3803             ang = """ Results file for coupling with Delwaq""",
3804         ),
3805 #       -----------------------------------
3806         BOTTOM_SURFACES_DELWAQ_FILE = SIMP(statut ='f',
3807 #       -----------------------------------
3808             typ = ('Fichier','All Files (*)','Sauvegarde'),
3809             defaut = '',
3810             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3811             ang = """ Results file for coupling with Delwaq""",
3812         ),
3813 #       -----------------------------------
3814         EXCHANGES_BETWEEN_NODES_DELWAQ_FILE = SIMP(statut ='f',
3815 #       -----------------------------------
3816             typ = ('Fichier','All Files (*)','Sauvegarde'),
3817             defaut = '',
3818             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3819             ang = """ Results file for coupling with Delwaq""",
3820         ),
3821 #       -----------------------------------
3822         NODES_DISTANCES_DELWAQ_FILE = SIMP(statut ='f',
3823 #       -----------------------------------
3824             typ = ('Fichier','All Files (*)','Sauvegarde'),
3825             defaut = '',
3826             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3827             ang = """ Results file for coupling with Delwaq""",
3828         ),
3829 #       -----------------------------------
3830         TEMPERATURE_DELWAQ_FILE = SIMP(statut ='f',
3831 #       -----------------------------------
3832             typ = ('Fichier','All Files (*)','Sauvegarde'),
3833             defaut = '',
3834             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3835             ang = """ Results file for coupling with Delwaq""",
3836         ),
3837 #       -----------------------------------
3838         VELOCITY_DELWAQ_FILE = SIMP(statut ='f',
3839 #       -----------------------------------
3840             typ = ('Fichier','All Files (*)','Sauvegarde'),
3841             defaut = '',
3842             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3843             ang = """ Results file for coupling with Delwaq""",
3844         ),
3845 #       -----------------------------------
3846         DIFFUSIVITY_DELWAQ_FILE = SIMP(statut ='f',
3847 #       -----------------------------------
3848             typ = ('Fichier','All Files (*)','Sauvegarde'),
3849             defaut = '',
3850             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3851             ang = """ Results file for coupling with Delwaq""",
3852         ),
3853 #       -----------------------------------
3854         DELWAQ_STEERING_FILE = SIMP(statut ='f',
3855 #       -----------------------------------
3856             typ = ('Fichier','All Files (*)','Sauvegarde'),
3857             defaut = '',
3858             fr = """ Fichier de resultats pour le couplage avec Delwaq""",
3859             ang = """ Results file for coupling with Delwaq""",
3860         ),
3861 #       -----------------------------------
3862         SALINITY_FOR_DELWAQ = SIMP(statut ='f',
3863 #       -----------------------------------
3864             typ = bool,
3865             defaut = False,
3866             fr = """ Decide de la sortie de la salinite pour Delwaq""",
3867             ang = """ Triggers output of salinity for Delwaq""",
3868         ),
3869 #       -----------------------------------
3870         TEMPERATURE_FOR_DELWAQ = SIMP(statut ='f',
3871 #       -----------------------------------
3872             typ = bool,
3873             defaut = False,
3874             fr = """ Decide de la sortie de la temperature pour Delwaq""",
3875             ang = """ Triggers output of temperature for Delwaq""",
3876         ),
3877 #       -----------------------------------
3878         VELOCITY_FOR_DELWAQ = SIMP(statut ='f',
3879 #       -----------------------------------
3880             typ = bool,
3881             defaut = False,
3882             fr = """ Decide de la sortie de la vitesse pour Delwaq""",
3883             ang = """ Triggers output of velocity for Delwaq""",
3884         ),
3885 #       -----------------------------------
3886         DIFFUSIVITY_FOR_DELWAQ = SIMP(statut ='f',
3887 #       -----------------------------------
3888             typ = bool,
3889             defaut = False,
3890             fr = """ Decide de la sortie du coefficient de diffusion pour Delwaq""",
3891             ang = """ Triggers output of diffusion for Delwaq""",
3892         ),
3893     ),
3894 #   -----------------------------------
3895     SISYPHE = FACT(statut='o',
3896 #   -----------------------------------
3897 #       -----------------------------------
3898         SISYPHE_STEERING_FILE = SIMP(statut ='f',
3899 #       -----------------------------------
3900             typ = 'TXM',
3901             defaut = '',
3902             fr = """ Fichier des parametres de Sisyphe en cas de couplage interne""",
3903             ang = """ Sisyphe parameter file in case of internal coupling""",
3904         ),
3905 #       -----------------------------------
3906         COUPLING_PERIOD_FOR_SISYPHE = SIMP(statut ='f',
3907 #       -----------------------------------
3908             typ = 'I',
3909             defaut = 1,
3910             fr = """ pour eviter de faire le couplage a chaque pas de temps""",
3911             ang = """ to avoid coupling at every time-step""",
3912         ),
3913     ),
3914 #   -----------------------------------
3915     TOMAWAC = FACT(statut='o',
3916 #   -----------------------------------
3917 #       -----------------------------------
3918         TOMAWAC_STEERING_FILE = SIMP(statut ='f',
3919 #       -----------------------------------
3920             typ = 'TXM',
3921             defaut = '',
3922             fr = """ Fichier des parametres de Tomawac en cas de couplage interne""",
3923             ang = """ Tomawac parameter file in case of internal coupling""",
3924         ),
3925 #       -----------------------------------
3926         COUPLING_PERIOD_FOR_TOMAWAC = SIMP(statut ='f',
3927 #       -----------------------------------
3928             typ = 'I',
3929             defaut = 1,
3930             fr = """ pour eviter de faire le couplage a chaque pas de temps""",
3931             ang = """ to avoid coupling at every time-step""",
3932         ),
3933     ),
3934 #   -----------------------------------
3935     WAQTEL = FACT(statut='o',
3936 #   -----------------------------------
3937 #       -----------------------------------
3938         WAQTEL_STEERING_FILE = SIMP(statut ='f',
3939 #       -----------------------------------
3940             typ = 'TXM',
3941             defaut = '',
3942             fr = """ fichier des parametres physiques pour les processus de qualite d eau
3943 (internes non ceux de DELWAQ)""",
3944             ang = """ file for physical parameters of waq processes (local ones of
3945 Telemac-tracer not those of DELWAQ)""",
3946         ),
3947     ),
3948 )
3949 # -----------------------------------------------------------------------
3950 MISC = PROC(nom= "MISC",op = None,
3951 # -----------------------------------------------------------------------
3952 #   -----------------------------------
3953     LANGUAGE = SIMP(statut ='f',
3954 #   -----------------------------------
3955         typ = 'TXM',
3956         into = ["FRANCAIS","ANGLAIS"],
3957         defaut = "ANGLAIS",
3958         fr = """ 1 : FRANCAIS 2 : ANGLAIS""",
3959         ang = """ 1: FRENCH 2: ENGLISH""",
3960     ),
3961 )
3962 # -----------------------------------------------------------------------
3963 INTERNAL = PROC(nom= "INTERNAL",op = None,
3964 # -----------------------------------------------------------------------
3965 #   -----------------------------------
3966     STEERING_FILE = SIMP(statut ='f',
3967 #   -----------------------------------
3968         typ = ('Fichier','All Files (*)'),
3969         defaut = '',
3970         fr = """ Nom du fichier contenant les parametres du calcul a realiser.""",
3971         ang = """ Name of the file containing the parameters of the computation Written
3972 by the user.""",
3973     ),
3974 #   -----------------------------------
3975     DICTIONARY = SIMP(statut ='f',
3976 #   -----------------------------------
3977         typ = ('Fichier','All Files (*)'),
3978         defaut = 'telemac2d.dico',
3979         fr = """ Dictionnaire des mots cles.""",
3980         ang = """ Key word dictionary.""",
3981     ),
3982 #   -----------------------------------
3983     PARTITIONING_TOOL = SIMP(statut ='f',
3984 #   -----------------------------------
3985         typ = 'TXM',
3986         into = ['METIS','SCOTCH','PARMETIS','PTSCOTCH'],
3987         defaut = 'METIS',
3988         fr = """ CHOIX DU PARTITIONNEUR 1 : METIS 2 : SCOTCH 3 : PARMETIS 4 : PTSCOTCH
3989 etc...""",
3990         ang = """ PARTITIONING TOOL SELECTION 1 : METIS 2 : SCOTCH 3 : PARMETIS 4 :
3991 PTSCOTCH etc...""",
3992     ),
3993 #   -----------------------------------
3994     RELEASE = SIMP(statut ='f',
3995 #   -----------------------------------
3996         typ = 'TXM',
3997         defaut = 'TRUNK',
3998         fr = """ Numero de version des bibliotheques utilisees par TELEMAC. SUR UNE
3999 STATION DE TRAVAIL 5 versions sont donnees correspondant a :
4000 TELEMAC,DAMO,UTILE,BIEF,HP""",
4001         ang = """ version number of the libraries used by TELEMAC. ON A WORKSTATION 5
4002 numbers are given, corresponding to the libraries called:
4003 TELEMAC,DAMO,UTILE,BIEF,HP""",
4004     ),
4005 #   -----------------------------------
4006     LIST_OF_FILES = SIMP(statut ='f',
4007 #   -----------------------------------
4008         typ = 'TXM', min=47, max=47,
4009         defaut = 'STEERING FILE;DICTIONARY;FORTRAN FILE;GEOMETRY FILE;BOUNDARY CONDITIONS FILE;RESULTS FILE;PREVIOUS COMPUTATION FILE;BOTTOM TOPOGRAPHY FILE;BINARY DATA FILE 1;BINARY DATA FILE 2;FORMATTED DATA FILE 1;FORMATTED DATA FILE 2;BINARY RESULTS FILE;FORMATTED RESULTS FILE;REFERENCE FILE;LIQUID BOUNDARIES FILE;FRICTION DATA FILE;VOLUMES DELWAQ FILE;EXCHANGE AREAS DELWAQ FILE;VERTICAL FLUXES DELWAQ FILE;SALINITY DELWAQ FILE;VELOCITY DELWAQ FILE;DIFFUSIVITY DELWAQ FILE;BOTTOM SURFACES DELWAQ FILE;EXCHANGES BETWEEN NODES DELWAQ FILE;NODES DISTANCES DELWAQ FILE;TEMPERATURE DELWAQ FILE;DELWAQ STEERING FILE;STAGE-DISCHARGE CURVES FILE;SOURCES FILE;SECTIONS INPUT FILE;SECTIONS OUTPUT FILE;OIL SPILL STEERING FILE;HARMONIC CONSTANTS FILE;TIDAL MODEL FILE;ASCII DATABASE FOR TIDE;BINARY DATABASE 1 FOR TIDE;BINARY DATABASE 2 FOR TIDE;WEIRS DATA FILE;SIPHONS DATA FILE;CULVERTS DATA FILE;BREACHES DATA FILE;DROGUES FILE;ZONES FILE;FLUXLINE INPUT FILE;ASCII ATMOSPHERIC DATA FILE;BINARY ATMOSPHERIC DATA FILE',
4010         fr = """ Noms des fichiers exploites par le code""",
4011         ang = """ File names of the used files""",
4012     ),
4013 #   -----------------------------------
4014     DESCRIPTION_OF_LIBRARIES = SIMP(statut ='f',
4015 #   -----------------------------------
4016         typ = 'TXM', min=11, max=11,
4017         defaut = 'builds|PPP|lib|telemac2dMMMVVV.LLL;builds|PPP|lib|sisypheMMMVVV.LLL;builds|PPP|lib|tomawacMMMVVV.LLL;builds|PPP|lib|nestorMMMVVV.LLL;builds|PPP|lib|waqtelMMMVVV.LLL;builds|PPP|lib|stbtelMMMVVV.LLL;builds|PPP|lib|biefMMMVVV.LLL;builds|PPP|lib|hermesMMMVVV.LLL;builds|PPP|lib|damoMMMVVV.LLL;builds|PPP|lib|parallelMMMVVV.LLL;builds|PPP|lib|specialMMMVVV.LLL',
4018         fr = """ Description des librairies de T2D""",
4019         ang = """ LIBRARIES description""",
4020     ),
4021 #   -----------------------------------
4022     DEFAULT_EXECUTABLE = SIMP(statut ='f',
4023 #   -----------------------------------
4024         typ = 'TXM',
4025         defaut = 'builds|PPP|bin|telemac2dMMMVVV.exe',
4026         fr = """ Executable par defaut de T2D""",
4027         ang = """ Default executable for T2D""",
4028     ),
4029 #   -----------------------------------
4030     DEFAULT_PARALLEL_EXECUTABLE = SIMP(statut ='f',
4031 #   -----------------------------------
4032         typ = 'TXM',
4033         defaut = 'builds|PPP|bin|telemac2dMMMVVV.exe',
4034         fr = """ Executable parallele par defaut de T2D""",
4035         ang = """ Default parallel executable for T2D""",
4036     ),
4037 )
4038 # -----------------------------------------------------------------------
4039 INPUT_OUTPUT__FILES = PROC(nom= "INPUT_OUTPUT__FILES",op = None,
4040 # -----------------------------------------------------------------------
4041     UIinfo = {"groupes": ("CACHE")},
4042 #   -----------------------------------
4043     NAMES = FACT(statut='o',
4044 #   -----------------------------------
4045 #       -----------------------------------
4046         AD_NUMBER_OF_DIRECTIONS = SIMP(statut ='f',
4047 #       -----------------------------------
4048             typ = 'I',
4049             defaut = 1,
4050             fr = """Definit le nombre de directions de differentiateurs.""",
4051             ang = """Defines the number of directions for the differentiators""",
4052         ),
4053     ),
4054 )
4055 # -----------------------------------------------------------------------
4056 NUMERICAL_PARAMETERS__SOLVER = PROC(nom= "NUMERICAL_PARAMETERS__SOLVER",op = None,
4057 # -----------------------------------------------------------------------
4058     UIinfo = {"groupes": ("CACHE")},
4059 #   -----------------------------------
4060     AD_SYMBOLIC_LINEAR_SOLVER = SIMP(statut ='f',
4061 #   -----------------------------------
4062         typ = bool,
4063         defaut = False,
4064         fr = """Enables the symbolic linear solver for AD.""",
4065         ang = """Enables the symbolic linear solver for AD.""",
4066     ),
4067 #   -----------------------------------
4068     AD_LINEAR_SOLVER_RESET_DERIVATIVES = SIMP(statut ='f',
4069 #   -----------------------------------
4070         typ = bool,
4071         defaut = True,
4072         fr = """Resets the derivatives for AD.""",
4073         ang = """Resets the derivatives for AD.""",
4074     ),
4075 #   -----------------------------------
4076     AD_LINEAR_SOLVER_DERIVATIVE_CONVERGENCE = SIMP(statut ='f',
4077 #   -----------------------------------
4078         typ = bool,
4079         defaut = True,
4080         fr = """Iterative linear solvers:  derivative convergence test for AD.""",
4081         ang = """Iterative linear solvers:  derivative convergence test for AD.""",
4082     ),
4083 )
4084 Ordre_Des_Commandes = (
4085 'COMPUTATION_ENVIRONMENT',
4086 'HYDRO',
4087 'GENERAL_PARAMETERS',
4088 'NUMERICAL_PARAMETERS',
4089 'TURBULENCE',
4090 'TIDAL_FLATS_INFO',
4091 'TRACERS',
4092 'PARTICLE_TRANSPORT',
4093 'HYDRAULIC_STRUCTURES',
4094 'TIDES',
4095 'COUPLING',
4096 'MISC',
4097 'INTERNAL',
4098 'INPUT_OUTPUT__FILES',
4099 'NUMERICAL_PARAMETERS__SOLVER')
4100 Classement_Commandes_Ds_Arbre = (
4101 'COMPUTATION_ENVIRONMENT',
4102 'HYDRO',
4103 'GENERAL_PARAMETERS',
4104 'NUMERICAL_PARAMETERS',
4105 'TURBULENCE',
4106 'TIDAL_FLATS_INFO',
4107 'TRACERS',
4108 'PARTICLE_TRANSPORT',
4109 'HYDRAULIC_STRUCTURES',
4110 'TIDES',
4111 'COUPLING',
4112 'MISC',
4113 'INTERNAL',
4114 'INPUT_OUTPUT__FILES',
4115 'NUMERICAL_PARAMETERS__SOLVER')