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