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