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