Salome HOME
633fecaa7d93d42c7708a13ff30545f03ec5fa3d
[tools/eficas.git] / Telemac / telemac2d_cata_auto.py
1
2 # -*- coding: latin-1 -*-
3
4 from Accas import *
5 class DateJJMMAAAA:
6   def __init__(self):
7     self.ntuple=3
8
9   def __convert__(self,valeur):
10     if type(valeur) == types.StringType: return None
11     if len(valeur) != self.ntuple: return None
12     return valeur
13
14   def info(self):
15     return "Date : jj/mm/aaaa "
16
17   __repr__=info
18   __str__=info
19
20 class grma(GEOM):
21   pass
22
23 import types
24 class Tuple:
25   def __init__(self,ntuple):
26     self.ntuple=ntuple
27
28   def __convert__(self,valeur):
29     if type(valeur) == types.StringType:
30       return None
31     if len(valeur) != self.ntuple:
32       return None
33     return valeur
34
35   def info(self):
36     return "Tuple de %s elements" % self.ntuple
37
38
39
40 JdC = JDC_CATA (code = 'TELEMAC2D',
41                 execmodul = None,
42                 )
43 # =======================================================================
44 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
45 # =======================================================================
46
47 VERSION_CATALOGUE="TRUNK_20201028"
48 # -----------------------------------------------------------------------
49 COMPUTATION_ENVIRONMENT = PROC(nom= "COMPUTATION_ENVIRONMENT",op = None,
50 # -----------------------------------------------------------------------
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.""",
60             ang = """Title of the case being considered.""",
61         ),
62 #       -----------------------------------
63         INITIAL_CONDITIONS = SIMP(statut ='o',
64 #       -----------------------------------
65             typ = 'TXM',
66             into = ['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','PARTICULIERES','PARTICULAR','TPXO SATELLITE ALTIMETRY'],
67             defaut = 'ZERO ELEVATION',
68             fr = """Permet de definir les conditions initiales sur
69 les hauteurs d''eau notamment.
70 Les valeurs possibles sont :
71 \begin{itemize}
72 \item COTE NULLE : Initialise la cote de surface libre a 0.
73            Les hauteurs d''eau initiales sont alors retrouvees en
74            faisant la difference entre les cotes de surface libre
75            et du fond ;
76 \item COTE CONSTANTE : Initialise la cote de surface libre a la
77 valeur donnee par le mot-cle \telkey{COTE INITIALE}. Les hauteurs
78 d''eau initiales sont calculees comme precedemment ;
79 \item HAUTEUR NULLE : Initialise les hauteurs d''eau a 0 ;
80 \item HAUTEUR CONSTANTE : Initialise les hauteurs d''eau a la valeur
81 donnee par le mot-cle \telkey{HAUTEUR INITIALE} ;
82 \item ALTIMETRIE SATELLITE TPXO : Les conditions initiales sur la
83 hauteur d''eau et les vitesses sont etablies sur la base des donnees
84            satellite TPXO dont les 8 premiers constistuents
85 ont ete extraites et
86 sauvees dans les fichiers
87 \telkey{BASE BINAIRE 1/2 DE DONNEES DE MAREE} ;
88 \item PARTICULIERES : Les conditions initiales sur la hauteur d''eau
89 doivent etre precisees dans le sous-programme \telkey{USER\_CONDIN\_H}.
90 \end{itemize}""",
91             ang = """Makes it possible to define the initial conditions of
92 the water depth.
93 The possible values are as follows:
94 \begin{itemize}
95 \item ZERO ELEVATION: Initializes the free surface elevation to 0.
96 The initial water depths are then found by computing the difference
97 between the free surface and the bottom,
98 \item CONSTANT ELEVATION: Initializes the water elevation to the value
99 given by the keyword \telkey{INITIAL ELEVATION}.
100 The initial water depths are computed as in the previous case,
101 \item ZERO DEPTH: Initializes the water depths to 0.
102 \item CONSTANT DEPTH: Initializes the water depths to the value given
103 by the keyword \telkey{INITIAL DEPTH},
104 \item TPXO SATELITE ALTIMETRY: The initial conditions on the free
105 surface and velocities are established from the satellite program
106 data given by the harmonic constants database coming from OSU
107 (e.g. TPXO) and stored in the \telkey{BINARY DATABASE 1/2 FOR TIDE},
108 \item SPECIAL or PARTICULAR: The initial conditions with the water depth
109 should be stated in the \telfile{USER\_CONDIN\_H} subroutine.
110 \end{itemize}""",
111         ),
112 #       -----------------------------------
113         b_INITIAL_CONDITIONSG = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT ELEVATION'",
114 #       -----------------------------------
115 #           -----------------------------------
116             INITIAL_ELEVATION = SIMP(statut ='o',
117 #           -----------------------------------
118                 typ = 'R',
119                 defaut = 0.,
120                 fr = """Valeur utilisee avec l''option :
121 \telkey{CONDITIONS INITIALES} : ''COTE CONSTANTE''.""",
122                 ang = """Value to be used with the option:
123 \telkey{INITIAL CONDITIONS} : ''CONSTANT ELEVATION''.""",
124             ),
125         ),
126 #       -----------------------------------
127         b_INITIAL_CONDITIONSH = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT DEPTH'",
128 #       -----------------------------------
129 #           -----------------------------------
130             INITIAL_DEPTH = SIMP(statut ='o',
131 #           -----------------------------------
132                 typ = 'R',
133                 defaut = 0.,
134                 fr = """Valeur utilisee avec l''option :
135 \telkey{CONDITIONS INITIALES} : ''HAUTEUR CONSTANTE''.""",
136                 ang = """Value to be used along with the option:
137 \telkey{INITIAL CONDITIONS} : ''CONSTANT DEPTH''.""",
138             ),
139         ),
140 #       -----------------------------------
141         BINARY_DATA_FILE_1_FORMAT = SIMP(statut ='f',
142 #       -----------------------------------
143             typ = 'TXM',
144             into = ['BIN','SERAFIN','SERAFIND','MED'],
145             defaut = 'BIN',
146             fr = """Format du \telkey{FICHIER DE DONNEES BINAIRE 1}.
147 Les valeurs possibles sont :
148 \begin{itemize}
149 \item BIN     : format binaire standard ;
150 \item SERAFIN : format standard simple precision pour \tel ;
151 \item SERAFIND: format standard double precision pour \tel ;
152 \item MED     : format MED double precision base sur HDF5.
153 \end{itemize}""",
154             ang = """Format of the \telkey{BINARY DATA FILE 1}.
155 Possible values are:
156 \begin{itemize}
157 \item BIN     : standard binary format,
158 \item SERAFIN : classical single precision format in \tel,
159 \item SERAFIND: classical double precision format in \tel,
160 \item MED     : MED double precision format based on HDF5.
161 \end{itemize}""",
162         ),
163 #       -----------------------------------
164         BINARY_DATA_FILE_1 = SIMP(statut ='f',
165 #       -----------------------------------
166             typ = ('Fichier','All Files (*)'),
167             defaut = '',
168             fr = """Fichier de donnees code en binaire mis a la disposition
169 de l''utilisateur.""",
170             ang = """Binary-coded data file available to the user.""",
171         ),
172 #       -----------------------------------
173         BINARY_DATA_FILE_2_FORMAT = SIMP(statut ='f',
174 #       -----------------------------------
175             typ = 'TXM',
176             into = ['BIN','SERAFIN','SERAFIND','MED'],
177             defaut = 'BIN',
178             fr = """Format du \telkey{FICHIER DE DONNEES BINAIRE 2}.
179 Les valeurs possibles sont :
180 \begin{itemize}
181 \item BIN     : format binaire standard ;
182 \item SERAFIN : format standard simple precision pour \tel ;
183 \item SERAFIND: format standard double precision pour \tel ;
184 \item MED     : format MED double precision base sur HDF5.
185 \end{itemize}""",
186             ang = """Format of the \telkey{BINARY DATA FILE 2}.
187 Possible values are:
188 \begin{itemize}
189 \item BIN     : standard binary format,
190 \item SERAFIN : classical single precision format in \tel,
191 \item SERAFIND: classical double precision format in \tel,
192 \item MED     : MED double precision format based on HDF5.
193 \end{itemize}""",
194         ),
195 #       -----------------------------------
196         BINARY_DATA_FILE_2 = SIMP(statut ='f',
197 #       -----------------------------------
198             typ = ('Fichier','All Files (*)'),
199             defaut = '',
200             fr = """Fichier de donnees code en binaire mis a la disposition
201 de l''utilisateur.""",
202             ang = """Binary-coded data file available to the user.""",
203         ),
204 #       -----------------------------------
205         FORMATTED_DATA_FILE_1 = SIMP(statut ='f',
206 #       -----------------------------------
207             typ = ('Fichier','All Files (*)'),
208             defaut = '',
209             fr = """Fichier de donnees formate mis a la disposition de
210 l''utilisateur.""",
211             ang = """Formatted data file available to the user.""",
212         ),
213 #       -----------------------------------
214         FORMATTED_DATA_FILE_2 = SIMP(statut ='f',
215 #       -----------------------------------
216             typ = ('Fichier','All Files (*)'),
217             defaut = '',
218             fr = """Fichier de donnees formate mis a la disposition de
219 l''utilisateur.""",
220             ang = """Formatted data file available to the user.""",
221         ),
222 #       -----------------------------------
223         INPUT_FILES = FACT(statut='o',
224 #       -----------------------------------
225 #           -----------------------------------
226             GEOMETRY_FILE_FORMAT = SIMP(statut ='o',
227 #           -----------------------------------
228                 typ = 'TXM',
229                 into = ['SERAFIN','SERAFIND','MED'],
230                 defaut = 'SERAFIN',
231                 fr = """Format du \telkey{FICHIER DE GEOMETRIE}.
232 Les valeurs possibles sont :
233 \begin{itemize}
234 \item SERAFIN : format standard simple precision pour \tel ;
235 \item SERAFIND: format standard double precision pour \tel ;
236 \item MED     : format MED double precision base sur HDF5.
237 \end{itemize}""",
238                 ang = """Format of the \telkey{GEOMETRY FILE}.
239 Possible values are:
240 \begin{itemize}
241 \item SERAFIN : classical single precision format in \tel,
242 \item SERAFIND: classical double precision format in \tel,
243 \item MED     : MED double precision format based on HDF5.
244 \end{itemize}""",
245             ),
246 #           -----------------------------------
247             GEOMETRY_FILE = SIMP(statut ='o',
248 #           -----------------------------------
249                 typ = ('Fichier','All Files (*)'),
250                 fr = """Nom du fichier contenant le maillage du calcul a realiser.""",
251                 ang = """Name of the file containing the mesh. This file may also
252 contain the topography and the friction coefficients.""",
253             ),
254 #           -----------------------------------
255             FORTRAN_FILE = SIMP(statut ='f',
256 #           -----------------------------------
257                 typ = 'FichierOuRepertoire',
258                 defaut = '',
259                 fr = """Nom du fichier ou repertoire FORTRAN a soumettre, contenant les
260 sous-programmes specifiques au modele.""",
261                 ang = """Name of the FORTRAN file or directory to be submitted,
262 including specific subroutines of the model.""",
263             ),
264 #           -----------------------------------
265             BOTTOM_TOPOGRAPHY_FILE = SIMP(statut ='f',
266 #           -----------------------------------
267                 typ = ('Fichier','All Files (*)'),
268                 defaut = '',
269                 fr = """Nom du fichier eventuel contenant la bathymetrie associee au
270 maillage.
271 Si ce mot-cle est utilise; c''est cette bathymetrie qui sera utilisee
272 pour le calcul.""",
273                 ang = """Name of the possible file containing the bathymetric data.
274 Where this keyword is used, these bathymetric data shall be used in
275 the computation.""",
276             ),
277 #           -----------------------------------
278             BOTTOM_SMOOTHINGS = SIMP(statut ='o',
279 #           -----------------------------------
280                 typ = 'I',
281                 defaut = 0,
282                 fr = """Nombre de lissages effectues sur la topographie.
283 Chaque lissage, effectue a l''aide d''une matrice de masse,
284 est conservatif.
285 Utilise lorsque les donnees de bathymetrie donnent des resultats
286 trop irreguliers apres interpolation.""",
287                 ang = """Number of smoothings on bottom topography.
288 Each smoothing is mass conservative.
289 to be used when interpolation of bathymetry on the mesh gives
290 very rough results.""",
291             ),
292 #           -----------------------------------
293             BOTTOM_SMOOTHINGS_AFTER_USER_MODIFICATIONS = SIMP(statut ='o',
294 #           -----------------------------------
295                 typ = bool,
296                 defaut = True,
297                 fr = """Indique si le nombre d eventuels lissages sur la topographie est
298 effectue apres (ou sinon avant) les modifications de topographie
299 apportees par l utilisateur.""",
300                 ang = """Indicates if the number of potential smoothings on bottom topography
301 is done after (or before otherwise) the topography modifications
302 implemented by the user.""",
303             ),
304 #           -----------------------------------
305             BOUNDARY_CONDITIONS_FILE = SIMP(statut ='o',
306 #           -----------------------------------
307                 typ = ('Fichier','All Files (*)'),
308                 fr = """Nom du fichier contenant les types de conditions aux limites.
309 Ce fichier est rempli de facon automatique par le mailleur au moyen de
310 couleurs affectees aux noeuds des frontieres du domaine de calcul.""",
311                 ang = """Name of the file containing the types of boundary conditions.
312 This file is filled automatically by the mesh generator through
313 through colours that are assigned to the boundary nodes.""",
314             ),
315 #           -----------------------------------
316             VALIDATION = SIMP(statut ='f',
317 #           -----------------------------------
318                 typ = bool,
319                 defaut = False,
320                 fr = """Option utilisee principalement pour le dossier de validation. Le
321 \telkey{FICHIER DE REFERENCE} est alors considere comme une
322 reference a laquelle on va comparer le calcul. La comparaison est
323 effectuee par le sous-programme \telfile{BIEF\_VALIDA}
324 qui peut etre une comparaison avec une solution exacte par exemple.""",
325                 ang = """This option is primarily used for the validation documents.
326 The \telkey{REFERENCE FILE} is then considered as a reference
327 which the computation is going to be compared with.
328 The comparison is done by the subroutine \telfile{BIEF\_VALIDA},
329 which can be modified so as to include, for example,
330 a comparison with an exact solution.""",
331             ),
332 #           -----------------------------------
333             REFERENCE_FILE_FORMAT = SIMP(statut ='f',
334 #           -----------------------------------
335                 typ = 'TXM',
336                 into = ['SERAFIN','SERAFIND','MED'],
337                 defaut = 'SERAFIN',
338                 fr = """Format du \telkey{FICHIER DE REFERENCE}.
339 Les valeurs possibles sont :
340 \begin{itemize}
341 \item SERAFIN : format standard simple precision pour \tel ;
342 \item SERAFIND: format standard double precision pour \tel ;
343 \item MED     : format MED double precision base sur HDF5.
344 \end{itemize}""",
345                 ang = """Format of the \telkey{REFERENCE FILE}.
346 Possible values are:
347 \begin{itemize}
348 \item SERAFIN : classical single precision format in \tel,
349 \item SERAFIND: classical double precision format in \tel,
350 \item MED     : MED double precision format based on HDF5.
351 \end{itemize}""",
352             ),
353 #           -----------------------------------
354             REFERENCE_FILE = SIMP(statut ='f',
355 #           -----------------------------------
356                 typ = ('Fichier','All Files (*)'),
357                 defaut = '',
358                 fr = """Fichier de resultats de reference pour la validation.""",
359                 ang = """Binary-coded result file for validation.""",
360             ),
361         ),
362 #       -----------------------------------
363         GLOBAL = FACT(statut='o',
364 #       -----------------------------------
365 #           -----------------------------------
366             PARALLEL_PROCESSORS = SIMP(statut ='f',
367 #           -----------------------------------
368                 typ = 'I',
369                 defaut = 0,
370                 fr = """Nombre de processeurs pour la decomposition en parallele:
371 \begin{itemize}
372 \item 0 : 1 machine, compilation sans bibliotheque de parallelisme ;
373 \item 1 : 1 machine, compilation avec bibliotheque de parallelisme ;
374 \item 2 : 2 processeurs ou machines en parallele etc...
375 \end{itemize}""",
376                 ang = """Number of processors for domain partition.
377 \begin{itemize}
378 \item 0: 1 machine, compiling without parallel library,
379 \item 1: 1 machine, compiling with a parallel library,
380 \item 2: 2 processors or machines in parallel etc...
381 \end{itemize}""",
382             ),
383 #           -----------------------------------
384             CHECKING_THE_MESH = SIMP(statut ='o',
385 #           -----------------------------------
386                 typ = bool,
387                 defaut = False,
388                 fr = """Si OUI on appelle le sous-programme \telfile{CHECKMESH} qui verifie
389 la coherence du maillage, points superposes, etc.""",
390                 ang = """If this keyword is equal to YES, a call to subroutine
391 \telfile{CHECKMESH} will look for errors in the mesh,
392 superimposed points, etc.""",
393             ),
394 #           -----------------------------------
395             MAXIMUM_NUMBER_OF_BOUNDARIES = SIMP(statut ='f',
396 #           -----------------------------------
397                 typ = 'I',
398                 defaut = 30,
399                 fr = """Nombre maximal de frontieres differentes dans le maillage.
400 Sert au dimensionnement de la memoire, a augmenter si necessaire.""",
401                 ang = """Maximal number of boundaries in the mesh.
402 Used for dimensioning arrays. Can be increased if needed.""",
403             ),
404 #           -----------------------------------
405             MAXIMUM_NUMBER_OF_SOURCES = SIMP(statut ='f',
406 #           -----------------------------------
407                 typ = 'I',
408                 defaut = 20,
409                 fr = """Nombre maximal de points sources dans le maillage.
410 Sert au dimensionnement de la memoire, a augmenter si necessaire.""",
411                 ang = """Maximal number of punctual sources in the mesh.
412 Used for dimensioning arrays. Can be increased if needed.""",
413             ),
414 #           -----------------------------------
415             MAXIMUM_NUMBER_OF_TRACERS = SIMP(statut ='f',
416 #           -----------------------------------
417                 typ = 'I',
418                 defaut = 20,
419                 fr = """Nombre maximal de traceurs.
420 Sert au dimensionnement de la memoire, a augmenter si necessaire.""",
421                 ang = """Maximal number of tracers.
422 Used for dimensioning arrays. Can be increased if needed.""",
423             ),
424 #           -----------------------------------
425             VECTOR_LENGTH = SIMP(statut ='f',
426 #           -----------------------------------
427                 typ = 'I',
428                 defaut = 1,
429                 fr = """Longueur du vecteur pour les machines vectorielles.""",
430                 ang = """Vector length on vector machines.""",
431             ),
432 #           -----------------------------------
433             SECURITY_COEFFICIENT_FOR_SCARACT = SIMP(statut ='o',
434 #           -----------------------------------
435                 typ = 'R',
436                 defaut = 1.,
437                 fr = """Coefficient de securite pour l''allocation de memoire pour
438 \telfile{SCARACT}.""",
439                 ang = """Security coefficient for memory allocation for \telfile{SCARACT}.""",
440             ),
441         ),
442     ),
443 #   -----------------------------------
444     RESTART = FACT(statut='o',
445 #   -----------------------------------
446 #       -----------------------------------
447         COMPUTATION_CONTINUED = SIMP(statut ='o',
448 #       -----------------------------------
449             typ = bool,
450             defaut = False,
451             fr = """Determine si le calcul en cours est independant de tout autre
452 resultat ou est une reprise effectuee a partir du resultat d''un calcul
453 precedent.
454 \begin{itemize}
455 \item NON : Il s''agit du premier passage pour ce calcul et il est
456 necessaire de definir un jeu complet de conditions initiales
457 \item OUI : Il s''agit d''une reprise de calcul :
458 les conditions initiales sont constituees par le dernier pas de
459 temps du \telkey{FICHIER DU CALCUL PRECEDENT} du fichier des parametres
460 utilise pour soumettre le calcul.
461 \end{itemize}
462 Par contre, l''ensemble des donnees du fichier des parametres
463 peuvent etre redefinies, ce qui offre la possibilite de changer
464 par exemple, le pas de temps, le modele de turbulence, le
465 frottement, d''ajouter ou retirer un traceur\ldots\\
466 De meme, il est necessaire de definir des conditions aux limites
467 (sous-programme \telfile{BORD} ou valeurs placees dans le fichier des
468 parametres), qui peuvent egalement etre modifiees.""",
469             ang = """Determines whether the computation under way is independent
470 result or is following an earlier result.
471 \begin{itemize}
472 \item NO: It is the first run for this computation and a whole set of
473 initial conditions should be defined,
474 \item YES: It follows a former computation:
475 the initial conditions consist in the last time step of the
476 \telkey{PREVIOUS COMPUTATION FILE} defined in the steering file
477 used for submitting the computation.
478 \end{itemize}
479 All the data from the steering file may be defined once again, which
480 provides an opportunity to change, for example, the time step,
481 the turbulence model, the friction, to add or remove a tracer\ldots\\
482 It is also possible to define new boundary conditions
483 (in the subroutine \telfile{BORD} or values defined
484 in the steering file).""",
485         ),
486 #       -----------------------------------
487         b_COMPUTATION_CONTINUEDG = BLOC(condition="COMPUTATION_CONTINUED == True",
488 #       -----------------------------------
489 #           -----------------------------------
490             PREVIOUS_COMPUTATION_FILE_FORMAT = SIMP(statut ='o',
491 #           -----------------------------------
492                 typ = 'TXM',
493                 into = ['SERAFIN','SERAFIND','MED'],
494                 defaut = 'SERAFIN',
495                 fr = """Format du \telkey{FICHIER DU CALCUL PRECEDENT}.
496 Les valeurs possibles sont :
497 \begin{itemize}
498 \item SERAFIN : format standard simple precision pour \tel ;
499 \item SERAFIND: format standard double precision pour \tel ;
500 \item MED     : format MED double precision base sur HDF5.
501 \end{itemize}""",
502                 ang = """Format of the \telkey{PREVIOUS COMPUTATION FILE}.
503 Possible values are:
504 \begin{itemize}
505 \item SERAFIN : classical single precision format in \tel,
506 \item SERAFIND: classical double precision format in \tel,
507 \item MED     : MED double precision format based on HDF5.
508 \end{itemize}""",
509             ),
510 #           -----------------------------------
511             PREVIOUS_COMPUTATION_FILE = SIMP(statut ='o',
512 #           -----------------------------------
513                 typ = ('Fichier','All Files (*)'),
514                 defaut = '',
515                 fr = """Nom d''un fichier contenant les resultats d''un calcul precedent
516 realise sur le meme maillage et dont le dernier pas de temps enregistre
517 va fournir les conditions initiales pour une suite de calcul.""",
518                 ang = """Name of a file containing the results of an earlier computation
519 which was made on the same mesh. The last recorded time step will
520 provide the initial conditions for the new computation.""",
521             ),
522 #           -----------------------------------
523             RECORD_NUMBER_FOR_RESTART = SIMP(statut ='o',
524 #           -----------------------------------
525                 typ = 'I',
526                 defaut = 0,
527                 fr = """En cas de suite de calcul, numero de l''enregistrement
528 de depart dans le fichier du calcul precedent. 0 signifie
529 que l''on prend le dernier enregistrement.""",
530                 ang = """In case of \telkey{COMPUTATION CONTINUED} = YES, record number
531 to start from in the \telkey{PREVIOUS COMPUTATION FILE}.
532 0 means the last record is taken.""",
533             ),
534         ),
535 #       -----------------------------------
536         INITIAL_TIME_SET_TO_ZERO = SIMP(statut ='o',
537 #       -----------------------------------
538             typ = bool,
539             defaut = False,
540             fr = """Remet le temps a zero en cas de suite de calcul.""",
541             ang = """Initial time set to zero in case of restart.""",
542         ),
543     ),
544 #   -----------------------------------
545     OUTPUT_FILES = FACT(statut='o',
546 #   -----------------------------------
547 #       -----------------------------------
548         RESULTS_FILES = FACT(statut='o',
549 #       -----------------------------------
550 #           -----------------------------------
551             NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
552 #           -----------------------------------
553                 typ = 'I',
554                 defaut = 0,
555                 fr = """Determine le nombre de pas de temps a partir duquel debute
556 l''ecriture des resultats dans le \telkey{FICHIER DES RESULTATS}.""",
557                 ang = """Determines the number of time steps after which the results
558 are first written into the \telkey{RESULTS FILE}.""",
559             ),
560 #           -----------------------------------
561             GRAPHIC_PRINTOUT_PERIOD = SIMP(statut ='o',
562 #           -----------------------------------
563                 typ = 'I',
564                 defaut = 1,
565                 fr = """Determine la periode en nombre de pas de temps d''impression des
566 \telkey{VARIABLES POUR LES SORTIES GRAPHIQUES}
567 (voir ce mot-cle) dans le \telkey{FICHIER DES RESULTATS}.""",
568                 ang = """Determines, in number of time steps, the printout period for the
569 \telkey{VARIABLES FOR GRAPHIC PRINTOUTS}
570 in the \telkey{RESULTS FILE}.""",
571             ),
572 #           -----------------------------------
573             VARIABLES_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
574 #           -----------------------------------
575                 typ = 'TXM', min=0, max='**',
576                 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","tracer 2","tracer 3","tracer 4","tracer 5","tracer 6","tracer 7","tracer 8","tracer 9","All the tracers 1 to 9.","All the tracers 10 to 19.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","Courant number","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","maximum elevation (m)","time of maximum elevation (s)","maximum velocity (m/s)","time of maximum velocity (s)","friction velocity (m/s)","gradient 1, etc.","TAU_S","1/R (1/m)","OMEGA","distance to the closest wall (m)","reference level for Nestor (m)"],
577                 defaut = ["velocity along x axis (m/s)","velocity along y axis (m/s)","water depth (m)","bottom elevation (m)"],
578                 fr = """Noms des variables ecrites dans FICHIER DES RESULTATS.
579 Chaque variable est representee par une lettre (choix des
580 separateurs libre). Les possibilites sont :
581 \begin{itemize}
582 \item U : vitesse suivant $x$ (m/s) ;
583 \item V : vitesse suivant $y$ (m/s) ;
584 \item C : celerite des ondes (m/s) ;
585 \item H : hauteur d eau (m) ;
586 \item S : cote de surface libre (m) ;
587 \item B : cote du fond (m) ;
588 \item F : nombre de Froude ;
589 \item Q : debit scalaire du fluide (m$^2$/s) ;
590 \item Tn: traceur, avec n le numero du traceur ;
591 \item K : energie turbulente du modele $k-\epsilon$ (J/kg) ;
592 \item E : dissipation de l energie turbulente (W/kg) ;
593 \item D : viscosite turbulente (m$^2$/s) ;
594 \item I : debit suivant $x$ (m$^2$/s) ;
595 \item J : debit suivant $y$ (m$^2$/s) ;
596 \item M : vitesse scalaire (m/s) ;
597 \item X : vent suivant $x$ (m/s) ;
598 \item Y : vent suivant $y$ (m/s) ;
599 \item P : pression atmospherique (Pa) ;
600 \item W : coefficient de frottement sur le fond ;
601 \item A : derive en $x$ (m) ;
602 \item G : derive en $y$ (m) ;
603 \item L : nombre de Courant ;
604 \item MAXZ : cote maximum (m) ;
605 \item TMXZ : temps de la cote maximum (s) ;
606 \item MAXV : vitesse maximum (m/s) ;
607 \item TMXV : temps de la vitesse maximum (s) ;
608 \item US : vitesse de frottement (m/s) ;
609 \item Gn: gradient differencie, avec n le numero de reference du
610 gradient ;
611 \item TAU\_S : TAU\_S ;
612 \item 1/R : 1/R (1/m) ;
613 \item OMEGA : OMEGA ;
614 \item WDIST : distance au mur le plus proche (m) ;
615 \item ZRL : niveau de reference pour Nestor.
616 \end{itemize}
617 4 champs libres sont utilisables pour ecrire des variables creees
618 dans le fichier des resultats.
619 Ces variables doivent etre calculees dans le PRERES\_TELEMAC2D et leur
620 nom ecrit dans NOMVAR\_TELEMAC2D.
621 Ces 7 champs sont :
622 N, O, R, Z qui correspondent aux tableaux PRIVE(1,1) a PRIVE(1,4).
623 Contrairement aux variables precedentes, celles-ci sont conservees
624 dans tout le programme et peuvent donc etre reutilisees. Dans ce
625 dernier cas ne pas oublier de donner une taille suffisante au tableau
626 PRIVE.
627 Il est ainsi possible de limiter la taille des fichiers de resultats
628 pour de gros calculs.
629 Cependant, en cas de reprise de calcul, le code doit disposer dans le
630 fichier des resultats des informations necessaires a sa poursuite :
631 \begin{itemize}
632 \item vitesses U et V ;
633 \item hauteur d eau H ;
634 \item cote du fond B.
635 \end{itemize}
636 Toutefois, TELEMAC-2D peut recalculer certaines des variables a
637 partir d autres.""",
638                 ang = """Names of variables which will be written in the results file. Each
639 variable is represented by a letter (free separators).
640 The possible choices are:
641 \begin{itemize}
642 \item U: velocity along $x$ axis (m/s),
643 \item V: velocity along $y$ axis (m/s),
644 \item C: wave celerity (m/s),
645 \item H: water depth (m),
646 \item S: free surface elevation (m),
647 \item B: bottom elevation (m),
648 \item F: Froude number,
649 \item Q: scalar flowrate of fluid (m$^2$/s),
650 \item Tn: tracer, with n the tracer number,
651 \item K: turbulent kinetic energy in $k-\epsilon$ model (J/kg),
652 \item E: dissipation of turbulent energy (W/kg),
653 \item D: turbulent viscosity (m$^2$/s),
654 \item I: flowrate along $x$ axis (m$^2$/s),
655 \item J: flowrate along $y$ axis (m$^2$/s),
656 \item M: scalar velocity (m/s),
657 \item X: wind along $x$ axis (m/s),
658 \item Y: wind along $y$ axis (m/s),
659 \item P: air pressure (Pa),
660 \item W: friction coefficient,
661 \item A: drift along $x$ (m),
662 \item G: drift along $y$ (m),
663 \item L: Courant number,
664 \item MAXZ : maximum elevation (m),
665 \item TMXZ : time of maximum elevation (s),
666 \item MAXV : maximum velocity (m/s),
667 \item TMXV : time of maximum velocity (s),
668 \item US : friction velocity (m/s),
669 \item Gn: differentiated gradient, with n the gradient reference number,
670 \item TAU\_S : TAU\_S,
671 \item 1/R : 1/R (1/m),
672 \item OMEGA : OMEGA,
673 \item WDIST : distance to the closest wall (m),
674 \item ZRL : reference level for Nestor (m).
675 \end{itemize}
676 4 other variables are also available to the user
677 to write created variables results.
678 These user variables should be computed in
679 \telfile{PRERES\_TELEMAC2D} subroutine and their name
680 should be written in \telfile{NOMVAR\_TELEMAC2D} subroutine.
681 These seven variables are as follows:
682 N, O, R, Z which correspond to arrays \telfile{PRIVE(1,1)} up to
683 \telfile{PRIVE(1,4)}.
684 Unlike the previous variables, they are kept throughout the program,
685 so that they can be used again.
686 In the latter case, do not forget to provide the
687 array \telkey{PRIVE} with sufficiently large dimensions in
688 the FORTRAN FILE.
689 The size of the \telkey{RESULTS FILE} can be limited with this keyword.
690 However, if a computation must be continued, the
691 \telkey{RESULTS FILE} should contain the appropriate information
692 for running the code,i.e.:
693 \begin{itemize}
694 \item velocities $U$ and $V$,
695 \item water depth $H$,
696 \item bottom elevation $B$.
697 \end{itemize}
698 \telemac{2d} can compute some of these variables from others.""",
699             ),
700 #           -----------------------------------
701             NUMBER_OF_PRIVATE_ARRAYS = SIMP(statut ='o',
702 #           -----------------------------------
703                 typ = 'I',
704                 defaut = 0,
705                 fr = """Nombre de tableaux mis a disposition de l utilisateur.""",
706                 ang = """Number of arrays for own user programming.""",
707             ),
708 #           -----------------------------------
709             NAMES_OF_PRIVATE_VARIABLES = SIMP(statut ='f',
710 #           -----------------------------------
711                 typ = 'TXM', min=0, max='**',
712                 fr = """Noms des variables privees en 32 caracteres, 16 pour le nom
713 16 pour l''unite. Elles correspondent au bloc \telfile{PRIVE}
714 et peuvent etre lues dans le \telkey{FICHIER DE GEOMETRIE} si elles
715 y sont presentes avec leur nom.""",
716                 ang = """Name of private variables in 32 characters, 16 for the name,
717 16 for the unit.
718 They are stored in the block \telfile{PRIVE} and can be read
719 in the \telkey{GEOMETRY FILE} if they are here with their name.""",
720             ),
721 #           -----------------------------------
722             RESULTS_FILE_FORMAT = SIMP(statut ='o',
723 #           -----------------------------------
724                 typ = 'TXM',
725                 into = ['SERAFIN','SERAFIND','MED'],
726                 defaut = 'SERAFIN',
727                 fr = """Format du \telkey{FICHIERS DE RESULTATS}.
728 Les valeurs possibles sont :
729 \begin{itemize}
730 \item SERAFIN : format standard simple precision pour \tel ;
731 \item SERAFIND: format standard double precision pour \tel ;
732 \item MED     : format MED double precision base sur HDF5.
733 \end{itemize}""",
734                 ang = """Format of the \telkey{RESULTS FILE}. Possible choices are:
735 \begin{itemize}
736 \item SERAFIN : classical single precision format in \tel,
737 \item SERAFIND: classical double precision format in \tel,
738 \item MED     : MED double precision format based on HDF5.
739 \end{itemize}""",
740             ),
741 #           -----------------------------------
742             RESULTS_FILE = SIMP(statut ='o',
743 #           -----------------------------------
744                 typ = ('Fichier','All Files (*)','Sauvegarde'),
745                 defaut = '',
746                 fr = """Nom du fichier dans lequel seront ecrits les resultats du
747 calcul avec la periodicite donnee par le mot cle \telkey{PERIODE POUR
748 LES SORTIES GRAPHIQUES}.""",
749                 ang = """Name of the file into which the computation results
750 are written with a periodicity given by the keyword
751 \telkey{GRAPHIC PRINTOUT PERIOD}.""",
752             ),
753 #           -----------------------------------
754             RESULT_FILE_IN_LONGITUDE_LATITUDE = SIMP(statut ='f',
755 #           -----------------------------------
756                 typ = bool,
757                 defaut = True,
758                 fr = """Donne les coordonnees dans le fichier resultats en longitude-latitude
759 si le fichier geo est aussi donnee en longitude-latitude.""",
760                 ang = """Gives the coordinates of the result file in longitude-latitude
761 if the geometry file is also given in longitude-latitude.""",
762             ),
763 #           -----------------------------------
764             BINARY_RESULTS_FILE_FORMAT = SIMP(statut ='f',
765 #           -----------------------------------
766                 typ = 'TXM',
767                 into = ['BIN','SERAFIN','SERAFIND','MED'],
768                 defaut = 'BIN',
769                 fr = """Format du \telkey{FICHIER DE RESULTATS BINAIRE}.
770 Les valeurs possibles sont :
771 \begin{itemize}
772 \item BIN     : format binaire standard ;
773 \item SERAFIN : format standard simple precision pour \tel ;
774 \item SERAFIND: format standard double precision pour \tel ;
775 \item MED     : format MED double precision base sur HDF5.
776 \end{itemize}""",
777                 ang = """Format of the \telkey{BINARY RESULTS FILE}.
778 Possible values are:
779 \begin{itemize}
780 \item BIN     : standard binary format,
781 \item SERAFIN : classical single precision format in \tel,
782 \item SERAFIND: classical double precision format in \tel,
783 \item MED     : MED double precision format based on HDF5.
784 \end{itemize}""",
785             ),
786 #           -----------------------------------
787             BINARY_RESULTS_FILE = SIMP(statut ='f',
788 #           -----------------------------------
789                 typ = ('Fichier','All Files (*)','Sauvegarde'),
790                 defaut = '',
791                 fr = """Fichier de resultats code en binaire mis a la disposition
792 de l''utilisateur.""",
793                 ang = """Additional binary-coded result file available to the user.""",
794             ),
795 #           -----------------------------------
796             FORMATTED_RESULTS_FILE = SIMP(statut ='f',
797 #           -----------------------------------
798                 typ = ('Fichier','All Files (*)','Sauvegarde'),
799                 defaut = '',
800                 fr = """Fichier de resultats formate mis a la disposition de
801 l''utilisateur.""",
802                 ang = """Formatted file of results available to the user.""",
803             ),
804         ),
805 #       -----------------------------------
806         CONTROL_SECTION = FACT(statut='f',
807 #       -----------------------------------
808 #           -----------------------------------
809             CONTROL_SECTIONS = SIMP(statut ='f',
810 #           -----------------------------------
811                 typ = 'I', min=0, max='**',
812                 fr = """Couples de points (numeros globaux dans le maillage) entre
813 lesquels les debits instantanes et cumules seront donnes.""",
814                 ang = """Couples of points (global numbers
815 in the mesh) defining sections
816 where the instantaneous and cumulated discharges will be given.""",
817             ),
818 #           -----------------------------------
819             PRINTING_CUMULATED_FLOWRATES = SIMP(statut ='o',
820 #           -----------------------------------
821                 typ = bool,
822                 defaut = False,
823                 fr = """Impression du flux cumule a travers les sections de controle.""",
824                 ang = """Printing the cumulated flowrates through control sections.""",
825             ),
826 #           -----------------------------------
827             COMPATIBLE_COMPUTATION_OF_FLUXES = SIMP(statut ='o',
828 #           -----------------------------------
829                 typ = bool,
830                 defaut = False,
831                 fr = """Flux a travers les sections de controle, calcul compatible
832 avec l''impermeabilite sous forme faible.""",
833                 ang = """Flowrates through control sections, computation compatible
834 with the weak formulation of no-flux boundary condition.""",
835             ),
836 #           -----------------------------------
837             SECTIONS_INPUT_FILE = SIMP(statut ='f',
838 #           -----------------------------------
839                 typ = ('Fichier','All Files (*)'),
840                 defaut = '',
841                 fr = """Fichier des sections de controle, partitione.""",
842                 ang = """Sections input file, partitioned.""",
843             ),
844 #           -----------------------------------
845             SECTIONS_OUTPUT_FILE = SIMP(statut ='f',
846 #           -----------------------------------
847                 typ = ('Fichier','All Files (*)','Sauvegarde'),
848                 defaut = '',
849                 fr = """Fichier de sortie des sections de controle, ecrit par le maitre.""",
850                 ang = """Sections output file, written by the master.""",
851             ),
852 #           -----------------------------------
853             FLUXLINE = SIMP(statut ='f',
854 #           -----------------------------------
855                 typ = bool,
856                 defaut = False,
857                 fr = """Utiliser fluxline pour le calcul des flux sur les lignes.""",
858                 ang = """Use Fluxline to compute flux over lines.""",
859             ),
860 #           -----------------------------------
861             FLUXLINE_INPUT_FILE = SIMP(statut ='f',
862 #           -----------------------------------
863                 typ = ('Fichier','All Files (*)'),
864                 defaut = '',
865                 fr = """Nom du fichier de fluxline, avec des donnees sur les sections.""",
866                 ang = """Name of the fluxline file, with data on cross-sections.""",
867             ),
868         ),
869 #       -----------------------------------
870         LISTING = FACT(statut='o',
871 #       -----------------------------------
872 #           -----------------------------------
873             NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS = SIMP(statut ='f',
874 #           -----------------------------------
875                 typ = 'I',
876                 defaut = 0,
877                 fr = """Determine le numero de pas de temps a partir duquel debute
878 l''ecriture des resultats dans le listing.""",
879                 ang = """Determines the number of time steps after which the results
880 are first written into the listing.""",
881             ),
882 #           -----------------------------------
883             LISTING_PRINTOUT_PERIOD = SIMP(statut ='o',
884 #           -----------------------------------
885                 typ = 'I',
886                 defaut = 1,
887                 fr = """Determine la periode en nombre de pas de temps d''impression des
888 \telkey{VARIABLES A IMPRIMER} (voir ce mot-cle).
889 Pour la mise au point, il faut
890 savoir que la sortie des resultats est effectuee systematiquement sur le
891 listing (CAS.SORTIE sur station de travail).""",
892                 ang = """Determines, in number of time steps, the printout period of the
893 \telkey{VARIABLES TO BE PRINTED}.
894 The results are systematically printed out on
895 the listing file (file CAS.SORTIE at the workstation).""",
896             ),
897 #           -----------------------------------
898             LISTING_FOR_PRINTOUT_PERIOD = SIMP(statut ='f',
899 #           -----------------------------------
900                 typ = 'I',
901                 defaut = 1,
902                 fr = """Determine la periode en nombre de pas de temps d''impression
903 des \telkey{VARIABLES A IMPRIMER} (voir ce mot-cle).
904 Pour la mise au point,
905 il faut savoir que la sortie des resultats est effectuee
906 systematiquement sur le listing
907 (CAS.SORTIE sur station de travail).
908 A la priorite sur \telkey{PERIODE DE SORTIE LISTING}.""",
909                 ang = """Determines, in number of time steps, the printout period of
910 the \telkey{VARIABLES TO BE PRINTED}.
911 The results are systematically printed out on the listing file
912 (file CAS.SORTIE at the workstation),
913 Has priority before \telkey{LISTING PRINTOUT PERIOD}.""",
914             ),
915 #           -----------------------------------
916             LISTING_PRINTOUT = SIMP(statut ='o',
917 #           -----------------------------------
918                 typ = bool,
919                 defaut = True,
920                 fr = """Sortie des resultats sur support papier ou a l ecran.
921 Si l''on met NON le listing ne contient que l''entete et la mention
922 FIN NORMALE DU PROGRAMME.
923 Commande a eviter.""",
924                 ang = """Result printout on hard copy.
925 When NO is selected, the listing only includes the heading and the
926 phrase "NORMAL END OF PROGRAM".
927 In addition, the options \telkey{MASS-BALANCE} and
928 \telkey{VALIDATION} are inhibited. Not recommended for use.""",
929             ),
930 #           -----------------------------------
931             VARIABLES_TO_BE_PRINTED = SIMP(statut ='f',
932 #           -----------------------------------
933                 typ = 'TXM', min=0, max='**',
934                 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 (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 (m)","time of maximum elevation (s)","maximum velocity (m/s)","time of maximum velocity (s)","friction velocity (m/s)","gradient 1, etc.","TAU_S","1/R (1/m)","OMEGA","distance to the closest wall (m)","reference level for Nestor (m)"],
935                 defaut = '',
936                 fr = """Nom des variables que l''utilisateur desire ecrire a l''ecran. Memes
937 possibilites que pour les sorties graphiques.""",
938                 ang = """Name of the variables that the user wants printed on screen.
939 Same values available as graphical outputs.""",
940             ),
941 #           -----------------------------------
942             MASS_BALANCE = SIMP(statut ='o',
943 #           -----------------------------------
944                 typ = bool,
945                 defaut = False,
946                 fr = """Determine si l''on effectue ou non le bilan de masse
947 sur le domaine.
948 Cette procedure calcule a chaque pas de temps :
949 \begin{itemize}
950 \item les flux aux entrees et sorties du domaine ;
951 \item le flux global a travers l''ensemble des parois du domaine
952 (liquides ou solides) ;
953 \item l''erreur relative sur la masse pour ce pas de temps.
954 \end{itemize}
955 En fin de listing, on trouve l''erreur relative sur la masse pour
956 l''ensemble du calcul.
957 Il ne s''agit que d''un calcul indicatif car il n''existe pas
958 d''expression compatible du debit en formulation c,u,v.""",
959                 ang = """Determines whether a check of the mass-balance over
960 the domain is mader or not.
961 This procedures computes the following at each time step:
962 \begin{itemize}
963 \item the domain inflows and outflows,
964 \item the overall flow across all the boundaries,
965 \item the relative error in the mass for that time step.
966 \end{itemize}
967 The relative error in the mass over the whole computation can be found
968 at the end of the listing.""",
969             ),
970 #           -----------------------------------
971             INFORMATION_ABOUT_SOLVER = SIMP(statut ='f',
972 #           -----------------------------------
973                 typ = bool,
974                 defaut = True,
975                 fr = """Donne a chaque pas de temps le nombre d''iterations necessaires
976 a la convergence du solveur de l''etape de propagation.""",
977                 ang = """If YES, prints the number of iterations
978 that have been necessary
979 to get the solution of the linear system.""",
980             ),
981 #           -----------------------------------
982             LIST_OF_POINTS = SIMP(statut ='f',
983 #           -----------------------------------
984                 typ = 'I', min=0, max='**',
985                 fr = """Liste de points remarquables pour les impressions.""",
986                 ang = """List of remarkable points for printouts.""",
987             ),
988 #           -----------------------------------
989             NAMES_OF_POINTS = SIMP(statut ='f',
990 #           -----------------------------------
991                 typ = 'TXM', min=0, max='**',
992                 fr = """Noms des points remarquables pour les impressions.""",
993                 ang = """Names of remarkable points for printouts.""",
994             ),
995         ),
996 #       -----------------------------------
997         FOURIER = FACT(statut='f',
998 #       -----------------------------------
999 #           -----------------------------------
1000             FOURIER_ANALYSIS_PERIODS = SIMP(statut ='o',
1001 #           -----------------------------------
1002                 typ = 'R', min=0, max='**',
1003                 fr = """Liste des periodes que l''on veut analyser.""",
1004                 ang = """List of periods to be analysed.""",
1005             ),
1006 #           -----------------------------------
1007             TIME_RANGE_FOR_FOURIER_ANALYSIS = SIMP(statut ='o',
1008 #           -----------------------------------
1009                 typ = 'R', min= 2, max= 2,
1010                 defaut = [0.,0.],
1011                 fr = """Pour le calcul du marnage et de la phase de la maree.""",
1012                 ang = """For computing tidal range and phase of tide.""",
1013             ),
1014         ),
1015     ),
1016 )
1017 # -----------------------------------------------------------------------
1018 HYDRO = PROC(nom= "HYDRO",op = None,
1019 # -----------------------------------------------------------------------
1020 #   -----------------------------------
1021     BOUNDARY_CONDITIONS = FACT(statut='o',
1022 #   -----------------------------------
1023 #       -----------------------------------
1024         PRESCRIBED_ELEVATIONS = SIMP(statut ='f',
1025 #       -----------------------------------
1026             typ = 'R', max='**',
1027             fr = """Valeurs des cotes imposees aux frontieres liquides.
1028 Lire la partie du mode d''emploi consacree aux conditions aux limites.""",
1029             ang = """Values of the elevations prescribed at open boundaries.
1030 The section about boundary conditions is to be read in the manual.""",
1031         ),
1032 #       -----------------------------------
1033         PRESCRIBED_FLOWRATES = SIMP(statut ='f',
1034 #       -----------------------------------
1035             typ = 'R', max='**',
1036             fr = """Valeurs des debits imposes aux frontieres liquides.
1037 Lire la partie du mode d''emploi consacree aux conditions aux limites.""",
1038             ang = """Values of the flowrates prescribed at open boundaries.
1039 The section about boundary conditions is to be read in the manual.""",
1040         ),
1041 #       -----------------------------------
1042         PRESCRIBED_VELOCITIES = SIMP(statut ='f',
1043 #       -----------------------------------
1044             typ = 'R', max='**',
1045             fr = """Valeurs des vitesses imposees aux frontieres liquides.
1046 Lire la partie du mode d''emploi consacree aux conditions aux limites.""",
1047             ang = """Values of the magnitudes of velocity prescribed at open boundaries.
1048 Refer to the section dealing with the boundary conditions.""",
1049         ),
1050     ),
1051 #   -----------------------------------
1052     BOUNDARY_CONDITIONS_OTHERS = FACT(statut='o',
1053 #   -----------------------------------
1054 #       -----------------------------------
1055         STAGE_DISCHARGE_CURVES = SIMP(statut ='f',
1056 #       -----------------------------------
1057             typ = 'TXM', max='**',
1058             into = ["no","Z(Q)","Q(Z)"],
1059             fr = """Indique si une courbe de tarage doit etre utilisee pour une frontiere
1060 (une valeur par frontiere liquide) :
1061 \begin{itemize}
1062 \item 0 : non ;
1063 \item 1 : Z(Q) ;
1064 \item 2 : Q(Z).
1065 \end{itemize}""",
1066             ang = """Says if a discharge-elevation curve must be used for a given boundary
1067 (one value per open boundary):
1068 \begin{itemize}
1069 \item 0: no,
1070 \item 1: Z(Q),
1071 \item 2: Q(Z).
1072 \end{itemize}""",
1073         ),
1074 #       -----------------------------------
1075         b_STAGE_DISCHARGE_CURVESG = BLOC(condition="STAGE_DISCHARGE_CURVES != 'no'",
1076 #       -----------------------------------
1077 #           -----------------------------------
1078             STAGE_DISCHARGE_CURVES_FILE = SIMP(statut ='f',
1079 #           -----------------------------------
1080                 typ = ('Fichier','All Files (*)'),
1081                 defaut = '',
1082                 fr = """Nom du fichier contenant les courbes de tarage.""",
1083                 ang = """Name of the file containing stage-discharge curves.""",
1084             ),
1085         ),
1086 #       -----------------------------------
1087         VELOCITY_PROFILES = SIMP(statut ='f',
1088 #       -----------------------------------
1089             typ = 'TXM', min=0, max='**',
1090             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"],
1091             fr = """Permet de specifier le type de profil horizontal de vitesse.
1092 Les choix possibles sont :
1093 \begin{itemize}
1094 \item 1 : profil normal constant ;
1095 \item 2 : $u$ et $v$ donnes dans le
1096 \telkey{FICHIER DES CONDITIONS AUX LIMITES} ;
1097 \item 3 : vitesse normale donnee dans \telfile{UBOR} dans le
1098 \telkey{FICHIER DES CONDITIONS AUX LIMITES} ;
1099 \item 4 : profil en $\sqrt{h}$ ;
1100 \item 5 : comme 4 mais hauteur virtuelle calculee avec
1101 la surface libre la plus basse de la frontiere.
1102 \end{itemize}""",
1103             ang = """Specifies the type of horizontal profile of velocities.
1104 Possible choices are:
1105 \begin{itemize}
1106 \item 1: constant normal profile,
1107 \item 2: $u$ and $v$ given in the
1108 \telkey{BOUNDARY CONDITION FILE},
1109 \item 3: normal velocity given in \telfile{UBOR} in the
1110 \telkey{BOUNDARY CONDITION FILE},
1111 \item 4: $\sqrt{h}$ profile,
1112 \item 5: like 4 but virtual depth based on
1113 the lowest elevation of the boundary.
1114 \end{itemize}""",
1115         ),
1116 #       -----------------------------------
1117         OPTION_FOR_LIQUID_BOUNDARIES = SIMP(statut ='f',
1118 #       -----------------------------------
1119             typ = 'TXM', max='**',
1120             into = ["classical","Thompson method based on characteristics"],
1121             fr = """On donne un entier par frontiere liquide.
1122 Les choix possibles sont :
1123 \begin{itemize}
1124 \item 1 : conditions aux limites classiques ;
1125 \item 2 : methode de Thompson avec calcul de caracteristiques.
1126 \end{itemize}""",
1127             ang = """One integer per liquid boundary is given.
1128 Possible choices are:
1129 \begin{itemize}
1130 \item 1: classical boundary conditions,
1131 \item 2: Thompson method based on characteristics.
1132 \end{itemize}""",
1133         ),
1134 #       -----------------------------------
1135         LIQUID_BOUNDARIES_FILE = SIMP(statut ='f',
1136 #       -----------------------------------
1137             typ = ('Fichier','All Files (*)'),
1138             defaut = '',
1139             fr = """Fichier de variations en temps des conditions aux limites.""",
1140             ang = """File containing the variations in time of boundary conditions.""",
1141         ),
1142 #       -----------------------------------
1143         ELEMENTS_MASKED_BY_USER = SIMP(statut ='o',
1144 #       -----------------------------------
1145             typ = bool,
1146             defaut = False,
1147             fr = """Si OUI, remplir le sous-programme \telfile{USER\_MASKOB}.""",
1148             ang = """If YES, fill in the subroutine \telfile{USER\_MASKOB}.""",
1149         ),
1150 #       -----------------------------------
1151         b_ELEMENTS_MASKED_BY_USERG = BLOC(condition="ELEMENTS_MASKED_BY_USER == True",
1152 #       -----------------------------------
1153 #           -----------------------------------
1154             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1155 #           -----------------------------------
1156                 defaut = "Rewrite subroutine maskob"),
1157         ),
1158     ),
1159 #   -----------------------------------
1160     PHYSICAL_PARAMETERS_HYDRO = FACT(statut='o',
1161 #   -----------------------------------
1162 #       -----------------------------------
1163         FRICTION = FACT(statut='o',
1164 #       -----------------------------------
1165 #           -----------------------------------
1166             MAXIMUM_NUMBER_OF_FRICTION_DOMAINS = SIMP(statut ='o',
1167 #           -----------------------------------
1168                 typ = 'I',
1169                 defaut = 10,
1170                 fr = """Nombre maximal de zones pouvant etre definies pour le
1171 frottement. Peut etre augmente si necessaire.""",
1172                 ang = """Maximal number of zones defined for the friction.
1173 Could be increased if needed.""",
1174             ),
1175 #           -----------------------------------
1176             FRICTION_DATA = SIMP(statut ='f',
1177 #           -----------------------------------
1178                 typ = bool,
1179                 defaut = False,
1180                 fr = """Logique qui dit si les lois de frottements sont definies par zone.""",
1181                 ang = """Logical to say if friction laws are defined by area.""",
1182             ),
1183 #           -----------------------------------
1184             FRICTION_DATA_FILE = SIMP(statut ='f',
1185 #           -----------------------------------
1186                 typ = ('Fichier','All Files (*)'),
1187                 defaut = '',
1188                 fr = """Nom du fichier de donnees pour le frottement.
1189 Voir le manuel utilisateur de \telemac{2d} pour la description.""",
1190                 ang = """Friction data file name.
1191 See the \telemac{2d} user manual for its description.""",
1192             ),
1193 #           -----------------------------------
1194             LAW_OF_BOTTOM_FRICTION = SIMP(statut ='o',
1195 #           -----------------------------------
1196                 typ = 'TXM',
1197                 into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE"],
1198                 fr = """Selectionne le type de formulation utilisee pour le calcul
1199 du frottement sur le fond.
1200 Les lois possibles sont les suivantes (cf. Note de principe) :
1201 \begin{itemize}
1202 \item 0 : pas de frottement sur le fond ;
1203 \item 1 : formule de Haaland ;
1204 \item 2 : formule de Chezy ;
1205 \item 3 : formule de Strickler ;
1206 \item 4 : formule de Manning ;
1207 \item 5 : formule de Nikuradse.
1208 \end{itemize}""",
1209                 ang = """Selects the type of formulation used for the bottom friction.
1210 The possible laws are as follows (refer to the Principle note):
1211 \begin{itemize}
1212 \item 0: no friction against bottom,
1213 \item 1: Haaland''s formula,
1214 \item 2: Chezy''s formula,
1215 \item 3: Strickler''s formula,
1216 \item 4: Manning''s formula,
1217 \item 5: Nikuradse''s formula.
1218 \end{itemize}""",
1219             ),
1220 #           -----------------------------------
1221             b_LAW_OF_BOTTOM_FRICTIONG = BLOC(condition="LAW_OF_BOTTOM_FRICTION != 'NO FRICTION'",
1222 #           -----------------------------------
1223 #               -----------------------------------
1224                 FRICTION_COEFFICIENT = SIMP(statut ='o',
1225 #               -----------------------------------
1226                     typ = 'R',
1227                     defaut = 50.,
1228                     fr = """Fixe la valeur du coefficient de frottement pour la
1229 formulation choisie.
1230 Attention : la signification de ce chiffre varie suivant la formule
1231 choisie :
1232 \begin{itemize}
1233 \item 1 : coefficient lineaire ;
1234 \item 2 : coefficient de Chezy ;
1235 \item 3 : coefficient de Strickler ;
1236 \item 4 : coefficient de Manning ;
1237 \item 5 : hauteur de rugosite de Nikuradse.
1238 \end{itemize}""",
1239                     ang = """Sets the value of the friction coefficient for the selected
1240 formulation. It is noteworthy that the meaning of this figure changes
1241 according to the selected formula (Chezy, Strickler, etc.):
1242 \begin{itemize}
1243 \item 1: linear coefficient,
1244 \item 2: Chezy coefficient,
1245 \item 3: Strickler coefficient,
1246 \item 4: Manning coefficient,
1247 \item 5: Nikuradse grain size.
1248 \end{itemize}""",
1249                 ),
1250             ),
1251 #           -----------------------------------
1252             MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW = SIMP(statut ='o',
1253 #           -----------------------------------
1254                 typ = 'R',
1255                 defaut = 0.02,
1256                 fr = """Valeur par defaut du coefficient de Manning pour la loi de frottement
1257 de Colebrook-White (loi numero 7).""",
1258                 ang = """Manning default value for the friction law of Colebrook-White
1259 (law number 7).""",
1260             ),
1261 #           -----------------------------------
1262             DEPTH_IN_FRICTION_TERMS = SIMP(statut ='o',
1263 #           -----------------------------------
1264                 typ = 'TXM',
1265                 into = ["nodal","average"],
1266                 defaut = "nodal",
1267                 fr = """Valeurs possibles :
1268 \begin{itemize}
1269 \item 1 : nodale ;
1270 \item 2 : moyenne.
1271 \end{itemize}""",
1272                 ang = """Possible choices:
1273 \begin{itemize}
1274 \item 1: nodal,
1275 \item 2: average.
1276 \end{itemize}""",
1277             ),
1278 #           -----------------------------------
1279             VEGETATION_FRICTION = SIMP(statut ='o',
1280 #           -----------------------------------
1281                 typ = bool,
1282                 defaut = False,
1283                 fr = """Calcul du frottement du a la vegetation non submergee.""",
1284                 ang = """Friction calculation of the non-submerged vegetation.""",
1285             ),
1286 #           -----------------------------------
1287             LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES = SIMP(statut ='o',
1288 #           -----------------------------------
1289                 typ = 'TXM',
1290                 into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE","LOG LAW","COLEBROOK-WHITE"],
1291                 defaut = "NO FRICTION",
1292                 fr = """Selectionne le type de formulation utilisee pour le calcul
1293 du frottement sur les parois laterales.
1294 Les lois possibles sont les suivantes (cf. Note de principe) :
1295 \begin{itemize}
1296 \item 0 : pas de frottement ;
1297 \item 1 : lineaire ;
1298 \item 2 : Chezy ;
1299 \item 3 : Strickler ;
1300 \item 4 : Manning ;
1301 \item 5 : formule de Nikuradse ;
1302 \item 6 : loi en log ;
1303 \item 7 : Colebrook-White.
1304 \end{itemize}""",
1305                 ang = """Selects the type of formulation used
1306 for the friction on lateral boundaries.
1307 The possible laws are as follows (refer to the Principle note):
1308 \begin{itemize}
1309 \item 0: no friction,
1310 \item 1 : linear,
1311 \item 2 : Chezy,
1312 \item 3 : Strickler,
1313 \item 4 : Manning,
1314 \item 5: Nikuradse''s formula,
1315 \item 6 : log law,
1316 \item 7 : Colebrook-White.
1317 \end{itemize}""",
1318             ),
1319 #           -----------------------------------
1320             b_LAW_OF_FRICTION_ON_LATERAL_BOUNDARIESG = BLOC(condition="LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES != 'NO FRICTION'",
1321 #           -----------------------------------
1322 #               -----------------------------------
1323                 ROUGHNESS_COEFFICIENT_OF_BOUNDARIES = SIMP(statut ='o',
1324 #               -----------------------------------
1325                     typ = 'R',
1326                     defaut = 100.,
1327                     fr = """Fixe la valeur du coefficient de frottement sur les frontieres
1328 solides avec un regime turbulent rugueux sur les bords du domaine.
1329 Meme convention que pour le coefficient de frottement:
1330 \begin{itemize}
1331 \item 1 : non programme ;
1332 \item 2 : coefficient de Chezy ;
1333 \item 3 : coefficient de Strickler ;
1334 \item 4 : coefficient de Manning ;
1335 \item 5 : hauteur de rugosite de Nikuradse.
1336 \end{itemize}""",
1337                     ang = """Sets the value of the friction coefficient of the solid
1338 boundary with the bed roughness option. Same meaning than friction
1339 coefficient:
1340 \begin{itemize}
1341 \item 1: not implemented,
1342 \item 2: Chezy coefficient,
1343 \item 3: Strickler coefficient,
1344 \item 4: Manning coefficient,
1345 \item 5: Nikuradse grain size.
1346 \end{itemize}""",
1347                 ),
1348             ),
1349 #           -----------------------------------
1350             DEFINITION_OF_ZONES = SIMP(statut ='o',
1351 #           -----------------------------------
1352                 typ = bool,
1353                 defaut = False,
1354                 fr = """Declenche l''appel au sous-programme \telfile{USER\_DEF\_ZONES},
1355 pour donner un numero de zone a chaque point.""",
1356                 ang = """Triggers the call to \telfile{USER\_DEF\_ZONES} subroutine
1357 to give a zone number to every point.""",
1358             ),
1359 #           -----------------------------------
1360             b_DEFINITION_OF_ZONESG = BLOC(condition="DEFINITION_OF_ZONES == True",
1361 #           -----------------------------------
1362 #               -----------------------------------
1363                 Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1364 #               -----------------------------------
1365                     defaut = "Rewrite subroutine def_zones"),
1366             ),
1367 #           -----------------------------------
1368             ZONES_FILE = SIMP(statut ='f',
1369 #           -----------------------------------
1370                 typ = ('Fichier','All Files (*)'),
1371                 defaut = '',
1372                 fr = """Fichier des zones avec sur chaque ligne :\\
1373 numero de point  numero de zone.""",
1374                 ang = """Zones file, with on every line:\\
1375 point number   zone number.""",
1376             ),
1377         ),
1378 #       -----------------------------------
1379         METEOROLOGY = FACT(statut='f',
1380 #       -----------------------------------
1381 #           -----------------------------------
1382             WIND = SIMP(statut ='o',
1383 #           -----------------------------------
1384                 typ = bool,
1385                 defaut = False,
1386                 fr = """Prise en compte ou non des effets du vent.""",
1387                 ang = """Determines whether the wind effects are to be taken into
1388 account or not.""",
1389             ),
1390 #           -----------------------------------
1391             b_WINDG = BLOC(condition="WIND == True",
1392 #           -----------------------------------
1393 #               -----------------------------------
1394                 WIND_VELOCITY_ALONG_X = SIMP(statut ='o',
1395 #               -----------------------------------
1396                     typ = 'R',
1397                     defaut = 0.,
1398                     fr = """Composante de la vitesse du vent suivant
1399 l''axe des $x$ (m/s), si constante.""",
1400                     ang = """Wind velocity, component along $x$ axis (m/s), if constant.""",
1401                 ),
1402 #               -----------------------------------
1403                 WIND_VELOCITY_ALONG_Y = SIMP(statut ='o',
1404 #               -----------------------------------
1405                     typ = 'R',
1406                     defaut = 0.,
1407                     fr = """Composante de la vitesse du vent suivant
1408 l''axe des $y$ (m/s), si constante.""",
1409                     ang = """Wind velocity, component along $y$ axis (m/s), if constant.""",
1410                 ),
1411 #               -----------------------------------
1412                 THRESHOLD_DEPTH_FOR_WIND = SIMP(statut ='o',
1413 #               -----------------------------------
1414                     typ = 'R',
1415                     defaut = 1.,
1416                     fr = """Retire la force due au vent dans les petites profondeurs
1417 plus petites que cette valeur.""",
1418                     ang = """Wind is not taken into account for depths smaller
1419 than this value.""",
1420                 ),
1421 #               -----------------------------------
1422                 COEFFICIENT_OF_WIND_INFLUENCE = SIMP(statut ='o',
1423 #               -----------------------------------
1424                     typ = 'R',
1425                     defaut = 1.55E-6,
1426                     fr = """Fixe la valeur du coefficient d''entrainement du vent.
1427 Voir le manuel utilisateur ou la note de principe
1428 pour la valeur a donner.""",
1429                     ang = """Sets the value of the wind driving coefficient.
1430 See the User Manual or the principle note
1431 for the value to give.""",
1432                 ),
1433 #               -----------------------------------
1434                 OPTION_FOR_WIND = SIMP(statut ='o',
1435 #               -----------------------------------
1436                     typ = 'TXM',
1437                     into = ["constant in time and space","variable in time given by formated file","variable in time and space given by formated file"],
1438                     defaut = "constant in time and space",
1439                     fr = """Donne les options pour introduire le vent :
1440 \begin{itemize}
1441 \item 1 : constant en temps et en espace (donne par les mots cle
1442 \telkey{VITESSE ET DIRECTION DU VENT}
1443 ) ;
1444 \item 2 : variable en temps donne par fichier formate ;
1445 \item 3 : variable en temps et en espace donne par fichier formate
1446 ou un fichier binaire SERAFIN.
1447 \end{itemize}""",
1448                     ang = """Gives the option for managing the wind:
1449 \begin{itemize}
1450 \item 1: constant in time and space, given by the keyword
1451 \telkey{SPEED AND DIRECTION OF WIND},
1452 \item 2: variable in time and constant in space, given by
1453 \telkey{ASCII ATMOSPHERIC DATA FILE},
1454 \item 3: variable in time and space, given by formatted file or by
1455 a binary SERAFIN file.
1456 \end{itemize}""",
1457                 ),
1458 #               -----------------------------------
1459                 b_OPTION_FOR_WINDG = BLOC(condition="OPTION_FOR_WIND == 'constant in time and space'",
1460 #               -----------------------------------
1461 #                   -----------------------------------
1462                     SPEED_AND_DIRECTION_OF_WIND = SIMP(statut ='o',
1463 #                   -----------------------------------
1464                         typ = 'R', min= 2, max= 2,
1465                         defaut = [0.,0.],
1466                         fr = """Donne la vitesse et la direction (en degres de 0 a 360,
1467 0 etant $y$ = 0 et $x$ = +inf) du vent lorsqu ils sont constants
1468 en temps et en espace (mot cle \telkey{OPTION DU VENT} = 1).""",
1469                         ang = """Gives the speed and direction (in degrees (from 0 to 360),
1470 0 given $y$ = 0 anx $x$ = +infinity) when they are constant
1471 in time and space (keyword \telkey{OPTION FOR WIND} = 1).""",
1472                     ),
1473                 ),
1474 #               -----------------------------------
1475                 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'",
1476 #               -----------------------------------
1477 #                   -----------------------------------
1478                     Consigne = SIMP(statut ="o", homo="information", typ="TXM",
1479 #                   -----------------------------------
1480                         defaut = "Give the formatted file 3"),
1481                 ),
1482             ),
1483 #           -----------------------------------
1484             COEFFICIENT_OF_WIND_INFLUENCE_VARYING_WITH_WIND_SPEED = SIMP(statut ='o',
1485 #           -----------------------------------
1486                 typ = bool,
1487                 defaut = True,
1488                 fr = """Si OUI, la valeur du coefficient d''entrainement du vent est
1489 calculee en fonction de la vitesse du vent.
1490 La valeur de \telkey{COEFFICIENT D''INFLUENCE DU VENT} est ecrasee.
1491 Ancienne valeur par defaut = NON jusqu a la version V8P1.""",
1492                 ang = """If YES, the value of the wind driving coefficient is computed
1493 with respect to the wind velocity.
1494 The value of \telkey{COEFFICIENT OF WIND INFLUENCE} is overwritten.
1495 Old default value = NO until V8P1.""",
1496             ),
1497 #           -----------------------------------
1498             AIR_PRESSURE = SIMP(statut ='o',
1499 #           -----------------------------------
1500                 typ = bool,
1501                 defaut = False,
1502                 fr = """Permet de decider si l''on prend ou non en compte l''influence
1503 d''un champ de pression.""",
1504                 ang = """Provided to decide whether the influence of an atmosphere
1505 pressure field is taken into account or not.""",
1506             ),
1507 #           -----------------------------------
1508             b_AIR_PRESSUREG = BLOC(condition="AIR_PRESSURE == True",
1509 #           -----------------------------------
1510 #               -----------------------------------
1511                 VALUE_OF_ATMOSPHERIC_PRESSURE = SIMP(statut ='o',
1512 #               -----------------------------------
1513                     typ = 'R',
1514                     defaut = 100000.,
1515                     fr = """Donne la valeur de la pression atmospherique lorsqu''elle est
1516 constante en temps et en espace. En Pa.""",
1517                     ang = """Gives the value of atmospheric pressure when it is constant
1518 in time and space. In Pa.""",
1519                 ),
1520             ),
1521 #           -----------------------------------
1522             RAIN_OR_EVAPORATION = SIMP(statut ='o',
1523 #           -----------------------------------
1524                 typ = bool,
1525                 defaut = False,
1526                 fr = """Pour ajouter un apport ou une perte d''eau en surface.
1527 Voir le mot-cle \telkey{PLUIE OU EVAPORATION EN MM PAR JOUR}.""",
1528                 ang = """Enables to add or remove water at the free surface.
1529 See the keyword \telkey{RAIN OR EVAPORATION IN MM PER DAY}.""",
1530             ),
1531 #           -----------------------------------
1532             b_RAIN_OR_EVAPORATIONG = BLOC(condition="RAIN_OR_EVAPORATION == True",
1533 #           -----------------------------------
1534 #               -----------------------------------
1535                 RAIN_OR_EVAPORATION_IN_MM_PER_DAY = SIMP(statut ='o',
1536 #               -----------------------------------
1537                     typ = 'R',
1538                     defaut = 0.0,
1539                     fr = """Pour ajouter un apport ou une perte d''eau en surface.""",
1540                     ang = """To add or remove water at the free surface.""",
1541                 ),
1542             ),
1543 #           -----------------------------------
1544             RAINFALL_RUNOFF_MODEL = SIMP(statut ='f',
1545 #           -----------------------------------
1546                 typ = 'TXM',
1547                 into = ["No infiltration","CN runoff model"],
1548                 defaut = "No infiltration",
1549                 fr = """Option pour le modele pluie-debit. Les options disponibles sont :
1550 \begin{itemize}
1551 \item 0 : Pas d infiltration (fonction de base) ;
1552 \item 1 : Modele CN (Curve Number du SCS).
1553 \end{itemize}""",
1554                 ang = """Option for the rainfall-runoff model. Available options are:
1555 \begin{itemize}
1556 \item 0: No infiltration (basic function),
1557 \item 1: CN runoff model (Curve Number method of the SCS).
1558 \end{itemize}""",
1559             ),
1560 #           -----------------------------------
1561             ANTECEDENT_MOISTURE_CONDITIONS = SIMP(statut ='f',
1562 #           -----------------------------------
1563                 typ = 'I',
1564                 defaut = 2,
1565                 fr = """Donne les conditions d humidite precedant un episode de pluie pour
1566 le modele CN du SCS. Les options disponibles sont :
1567 \begin{itemize}
1568 \item 1 : conditions precedentes seches ;
1569 \item 2 : conditions precedentes normales ;
1570 \item 3 : conditions prcedentes mouillees.
1571 \end{itemize}
1572 Ce mot cle est uniquement utile pour le modele pluie-debit 1 (CN).""",
1573                 ang = """Gives the antecedent moisture conditions before a rainfall
1574  event for the SCS CN runoff model. Available options are:
1575 \begin{itemize}
1576 \item 1: dry antecedent conditions,
1577 \item 2: normal antecedent conditions,
1578 \item 3: wet antecedent conditions.
1579 \end{itemize}
1580 This keyword is only usefull for runoff model 1 (SCS CN model).""",
1581             ),
1582 #           -----------------------------------
1583             DURATION_OF_RAIN_OR_EVAPORATION_IN_HOURS = SIMP(statut ='f',
1584 #           -----------------------------------
1585                 typ = 'R',
1586                 defaut = 1.E6,
1587                 fr = """Donne la duree de la pluie en heures, par defaut pluie infinie.""",
1588                 ang = """Gives the duration of the rain in hours,
1589 default value is infinite.""",
1590             ),
1591 #           -----------------------------------
1592             ASCII_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
1593 #           -----------------------------------
1594                 typ = ('Fichier','All Files (*)'),
1595                 defaut = '',
1596                 fr = """Fichier de donnees ASCII contenant les informations
1597 atmospheriques variables en temps.""",
1598                 ang = """ASCII data file containing the atmospheric data varying in
1599 time.""",
1600             ),
1601 #           -----------------------------------
1602             BINARY_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
1603 #           -----------------------------------
1604                 typ = ('Fichier','All Files (*)'),
1605                 defaut = '',
1606                 fr = """Fichier de donnees code en binaire contenant les informations
1607 atmospheriques variables en temps et en espace sur le maillage.""",
1608                 ang = """Binary-coded data file containing the atmospheric data varying in
1609 time and space on the mesh.""",
1610             ),
1611 #           -----------------------------------
1612             BINARY_ATMOSPHERIC_DATA_FILE_FORMAT = SIMP(statut ='f',
1613 #           -----------------------------------
1614                 typ = 'TXM',
1615                 into = ['SERAFIN','SERAFIND','MED'],
1616                 defaut = 'SERAFIN',
1617                 fr = """Format du \telkey{FICHIER BINAIRE DE DONNEES ATMOSPHERIQUES}.
1618 Les valeurs possibles sont :
1619 \begin{itemize}
1620 \item SERAFIN : format standard simple precision pour \tel ;
1621 \item SERAFIND: format standard double precision pour \tel ;
1622 \item MED     : format MED double precision base sur HDF5.
1623 \end{itemize}""",
1624                 ang = """Format of the \telkey{BINARY ATMOSPHERIC DATA FILE}.
1625 Possible values are:
1626 \begin{itemize}
1627 \item SERAFIN : classical single precision format in \tel,
1628 \item SERAFIND: classical double precision format in \tel,
1629 \item MED     : MED double precision format based on HDF5.
1630 \end{itemize}""",
1631             ),
1632 #           -----------------------------------
1633             OPTION_FOR_INITIAL_ABSTRACTION_RATIO = SIMP(statut ='f',
1634 #           -----------------------------------
1635                 typ = 'I',
1636                 defaut = 1,
1637                 fr = """Donne le ratio entre pertes initiales IA et la retention potentielle
1638 maximale S pour le modele pluie-debit SCS CN.
1639 Les options disponibles sont :
1640 \begin{itemize}
1641 \item 1 : IA/S = 0.2 (methode standard) ;
1642 \item 2 : IA/S = 0.05 (methode revisee, cf. Woodward, Hawkins et al.
1643 2003.
1644 \end{itemize}
1645 Avec cette option les coefficients CN fournis en entree sont alors
1646 automatiquement corriges, cf. manuel utilisateur).
1647 Ce mot cle est uniquement utile pour le modele pluie-debit 1 (CN).""",
1648                 ang = """Gives the ratio for Initial Abstraction to Maximal Potential
1649 Retention S for the SCS CN runoff model. Available options are:
1650 \begin{itemize}
1651 \item 1: IA/S = 0.2 (standard method),
1652 \item 2: IA/S = 0.05 (revised method, see Woodward, Hawkins et al. 2003.
1653 \end{itemize}
1654 With this option the CN values given in input are automatically
1655 converted see user manual).
1656 This keyword is only useful for runoff model 1 (SCS CN model).""",
1657             ),
1658 #           -----------------------------------
1659             AIR_TEMPERATURE = SIMP(statut ='o',
1660 #           -----------------------------------
1661                 typ = 'R',
1662                 defaut = 20.,
1663                 fr = """Donne la valeur de la temperature de l air lorsqu elle est
1664 constante en temps et en espace. En $^{\circ}$C.""",
1665                 ang = """Gives the value of air temperature when it is constant
1666 in time and space. In $^{\circ}$C.""",
1667             ),
1668 #           -----------------------------------
1669             CLOUD_COVER = SIMP(statut ='o',
1670 #           -----------------------------------
1671                 typ = 'R',
1672                 defaut = 5.,
1673                 fr = """Donne la valeur de la nebulosite lorsqu elle est
1674 constante en temps et en espace. En Octas ou dizieme.""",
1675                 ang = """Gives the value of cloud cover when it is constant
1676 in time and space. In Octas or tenth.""",
1677             ),
1678 #           -----------------------------------
1679             SOLAR_RADIATION = SIMP(statut ='o',
1680 #           -----------------------------------
1681                 typ = 'R',
1682                 defaut = 160.,
1683                 fr = """Donne la valeur du rayonnement solaire lorsqu il est
1684 constant en temps et en espace. En W/m$^2$.""",
1685                 ang = """Gives the value of solar radiation when it is constant
1686 in time and space. In W/m$^2$.""",
1687             ),
1688 #           -----------------------------------
1689             VAPOROUS_PRESSURE = SIMP(statut ='o',
1690 #           -----------------------------------
1691                 typ = 'R',
1692                 defaut = 1000.,
1693                 fr = """Donne la valeur de la pression de vapeur saturante lorsqu elle est
1694 constante en temps et en espace. En Pa.""",
1695                 ang = """Gives the value of vaporous pressure when it is constant
1696 in time and space. In Pa.""",
1697             ),
1698         ),
1699 #       -----------------------------------
1700         WAVE = FACT(statut='f',
1701 #       -----------------------------------
1702 #           -----------------------------------
1703             WAVE_DRIVEN_CURRENTS = SIMP(statut ='o',
1704 #           -----------------------------------
1705                 typ = bool,
1706                 defaut = False,
1707                 fr = """Active la prise en compte des courants de houle.""",
1708                 ang = """Wave driven currents are taken into account.""",
1709             ),
1710 #           -----------------------------------
1711             b_WAVE_DRIVEN_CURRENTSG = BLOC(condition="WAVE_DRIVEN_CURRENTS == True",
1712 #           -----------------------------------
1713 #               -----------------------------------
1714                 RECORD_NUMBER_IN_WAVE_FILE = SIMP(statut ='o',
1715 #               -----------------------------------
1716                     typ = 'I',
1717                     defaut = 1,
1718                     fr = """Numero d enregistrement dans le fichier des courants de houle.""",
1719                     ang = """Record number to be read in the wave driven currents file.""",
1720                 ),
1721             ),
1722 #           -----------------------------------
1723             WAVE_ENHANCED_FRICTION_FACTOR = SIMP(statut ='f',
1724 #           -----------------------------------
1725                 typ = bool,
1726                 defaut = False,
1727                 fr = """Active la prise en compte des interactions non-lineaires entre la
1728 houle et les courants pour le calcul du courant de houle (cf OConnor and
1729 Yoo, 1988, Coast Eng.12.).""",
1730                 ang = """Wave friction enhancement for the calculation of the wave generated
1731 longshore current (cf OConnor and Yoo, 1988, Coast Eng.12.).""",
1732             ),
1733         ),
1734 #       -----------------------------------
1735         ESTIMATION = FACT(statut='f',
1736 #       -----------------------------------
1737 #           -----------------------------------
1738             PARAMETER_ESTIMATION = SIMP(statut ='o',
1739 #           -----------------------------------
1740                 typ = 'TXM',
1741                 into = ['','FRICTION','FRICTION, STEADY'],
1742                 defaut = '',
1743                 fr = """Liste des parametres a estimer, choix :
1744 \begin{itemize}
1745 \item FROTTEMENT ;
1746 \item FROTTEMENT, PERMANENT.
1747 \end{itemize}""",
1748                 ang = """List of parameter to be estimated, choices:
1749 \begin{itemize}
1750 \item FRICTION,
1751 \item FRICTION, STEADY.
1752 \end{itemize}""",
1753             ),
1754 #           -----------------------------------
1755             COST_FUNCTION = SIMP(statut ='f',
1756 #           -----------------------------------
1757                 typ = 'TXM',
1758                 into = ["Computed with h,u,v","Computed with c,u,v"],
1759                 defaut = "Computed with h,u,v",
1760                 fr = """Choix possibles :
1761 \begin{itemize}
1762 \item calculee sur $h$, $u$, $v$ ;
1763 \item calculee avec $c$, $u$ , $v$.
1764 \end{itemize}""",
1765                 ang = """Possible choices:
1766 \begin{itemize}
1767 \item computed with $h$, $u$, $v$,
1768 \item computed with $c$, $u$, $v$.
1769 \end{itemize}""",
1770             ),
1771 #           -----------------------------------
1772             IDENTIFICATION_METHOD = SIMP(statut ='o',
1773 #           -----------------------------------
1774                 typ = 'TXM',
1775                 into = ["list of tests","gradient simple","conjugate gradient","Lagrange interpolation"],
1776                 defaut = "gradient simple",
1777                 fr = """Choix possibles :
1778 \begin{itemize}
1779 \item 0 : plan d''experience ;
1780 \item 1 : gradient simple ;
1781 \item 2 : gradient conjugue ;
1782 \item 3 : interpolation de Lagrange.
1783 \end{itemize}""",
1784                 ang = """Possible choices:
1785 \begin{itemize}
1786 \item 0: list of tests,
1787 \item 1: gradient,
1788 \item 2: conjugate gradient,
1789 \item 3: Lagrangian interpolation.
1790 \end{itemize}""",
1791             ),
1792 #           -----------------------------------
1793             TOLERANCES_FOR_IDENTIFICATION = SIMP(statut ='o',
1794 #           -----------------------------------
1795                 typ = 'R', min= 4, max= 4,
1796                 defaut = [1.E-3,1.E-3,1.E-3,1.E-4],
1797                 fr = """4 nombres : precision absolue sur $H$, $U$, $V$,
1798 et precision relative sur la fonction cout.""",
1799                 ang = """4 numbers: absolute precision on $H$, $U$, $V$,
1800 and relative precision on the cost function.""",
1801             ),
1802 #           -----------------------------------
1803             MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION = SIMP(statut ='o',
1804 #           -----------------------------------
1805                 typ = 'I',
1806                 defaut = 20,
1807                 fr = """Chaque iteration comprend au moins un
1808 calcul direct et un calcul adjoint.""",
1809                 ang = """Every iteration implies at least a direct and
1810 an adjoint computation.""",
1811             ),
1812         ),
1813 #       -----------------------------------
1814         SOURCES = FACT(statut='f',
1815 #       -----------------------------------
1816 #           -----------------------------------
1817             ABSCISSAE_OF_SOURCES = SIMP(statut ='f',
1818 #           -----------------------------------
1819                 typ = 'R', min=0, max='**',
1820                 fr = """Valeurs des abscisses des sources de debit et de traceur.
1821 La source sera placee au noeud du maillage le plus proche.""",
1822                 ang = """Abscissae of sources of flowrate and/or tracer.
1823 The source will be located at the nearest node in the mesh.""",
1824             ),
1825 #           -----------------------------------
1826             ORDINATES_OF_SOURCES = SIMP(statut ='f',
1827 #           -----------------------------------
1828                 typ = 'R', min=0, max='**',
1829                 fr = """Valeurs des ordonnees des sources de debit et de traceur.
1830 La source sera placee au noeud du maillage le plus proche.""",
1831                 ang = """Ordinates of sources of flowrate and/or tracer.
1832 The source will be located at the nearest node in the mesh.""",
1833             ),
1834 #           -----------------------------------
1835             WATER_DISCHARGE_OF_SOURCES = SIMP(statut ='f',
1836 #           -----------------------------------
1837                 typ = 'R', min=0, max='**',
1838                 fr = """Specifie le debit de chaque source.
1839 Un debit positif signifie qu''il s''agit d''un apport de fluide.""",
1840                 ang = """Specifies the discharge for every source.
1841 A positive discharge means that fluid is added.""",
1842             ),
1843 #           -----------------------------------
1844             VELOCITIES_OF_THE_SOURCES_ALONG_X = SIMP(statut ='f',
1845 #           -----------------------------------
1846                 typ = 'R', min=0, max='**',
1847                 fr = """Vitesses du courant selon $x$ a chacune des sources.
1848 Si elles ne sont pas donnees, on considere que la vitesse est
1849 celle du courant.""",
1850                 ang = """Velocities along $x$ at the sources.
1851 If they are not given, the velocity of the flow at this location
1852 is taken.""",
1853             ),
1854 #           -----------------------------------
1855             VELOCITIES_OF_THE_SOURCES_ALONG_Y = SIMP(statut ='f',
1856 #           -----------------------------------
1857                 typ = 'R', min=0, max='**',
1858                 fr = """Vitesses du courant selon $y$ a chacune des sources.
1859 Si elles ne sont pas donnees, on considere que la vitesse est
1860 celle du courant.""",
1861                 ang = """Velocities along $y$ at the sources.
1862 If they are not given, the velocity of the flow at this location
1863 is taken.""",
1864             ),
1865 #           -----------------------------------
1866             TYPE_OF_SOURCES = SIMP(statut ='o',
1867 #           -----------------------------------
1868                 typ = 'TXM',
1869                 into = ["Normal","Dirac"],
1870                 defaut = "Normal",
1871                 fr = """Definit comment les sources sont calculees :
1872 \begin{itemize}
1873 \item 1 : Source portee par une base elements finis ;
1874 \item 2 : Source portee par une fonction de Dirac
1875 (recommande quand il y a beaucoup de sources).
1876 \end{itemize}""",
1877                 ang = """Defines how the sources are computed:
1878 \begin{itemize}
1879 \item 1: Source term multiplied by a finite element basis,
1880 \item 2: Source term multiplied by a Dirac function
1881 (recommended with high numbers of sources).
1882 \end{itemize}""",
1883             ),
1884 #           -----------------------------------
1885             SOURCES_FILE = SIMP(statut ='f',
1886 #           -----------------------------------
1887                 typ = ('Fichier','All Files (*)'),
1888                 defaut = '',
1889                 fr = """Nom du fichier contenant les informations variables
1890 en temps des sources.""",
1891                 ang = """Name of the file containing time-dependent
1892 information on sources.""",
1893             ),
1894 #           -----------------------------------
1895             GLOBAL_NUMBERS_OF_SOURCE_NODES = SIMP(statut ='f',
1896 #           -----------------------------------
1897                 typ = 'I', min=0, max='**',
1898                 fr = """Numeros globaux des noeuds du maillage sur lequels sont affectes des
1899 points source.""",
1900                 ang = """Global numbers of nodes in the mesh that correspond to source point
1901 locations.""",
1902             ),
1903 #           -----------------------------------
1904             SOURCE_REGIONS_DATA_FILE = SIMP(statut ='f',
1905 #           -----------------------------------
1906                 typ = ('Fichier','All Files (*)'),
1907                 defaut = '',
1908                 fr = """Fichier de donnees en ASCII contenant les coordonnees des polygones
1909 qui contiennent les sources.""",
1910                 ang = """ASCII data file containing sources informations: coordinates of the
1911 polygons containing sources.""",
1912             ),
1913 #           -----------------------------------
1914             MAXIMUM_NUMBER_OF_POINTS_FOR_SOURCES_REGIONS = SIMP(statut ='f',
1915 #           -----------------------------------
1916                 typ = 'I',
1917                 defaut = 10,
1918                 fr = """Nombre maximal de points pour definir les regions contenant les
1919 sources.
1920 Sert au dimensionnement de la memoire, a augmenter si necessaire.""",
1921                 ang = """Maximal number of points to define regions containing sources.
1922 Used for dimensioning arrays. It can be increased if needed.""",
1923             ),
1924         ),
1925 #       -----------------------------------
1926         WATER_QUALITY_INFO = FACT(statut='f',
1927 #       -----------------------------------
1928 #           -----------------------------------
1929             WATER_QUALITY_PROCESS = SIMP(statut ='f',
1930 #           -----------------------------------
1931                 typ = 'I',
1932                 defaut = 1,
1933                 fr = """Donne le numero du processus de qualite d''eau, defini
1934 comme une combinaison multiplicative de nombres premiers
1935 (2,3,5,7,11 et 13) avec les cas particuliers 0 et 1 :
1936 \begin{itemize}
1937 \item 0 : tous ;
1938 \item 1 : rien ;
1939 \item 2 : O2 ;
1940 \item 3 : BIOMASS ;
1941 \item 5 : EUTRO ;
1942 \item 7 : MICROPOL ;
1943 \item 11 : THERMIC ;
1944 \item 17 : Loi de degradation ;
1945 \item 19 : Court-cicuit temporaire pour les glaces.
1946 \end{itemize}
1947 Exemple: 110 = 2x5x11 activera O2, EUTRO et THERMIC ensemble.
1948 On notera que AED2, pour l instant, n est pas disponible en 2D.""",
1949                 ang = """Gives the water quality process number, defined as
1950 a multiplicative combination of prime numbers (2,3,5,7,11, 17
1951 and 19) with 0 and 1 having a special role:
1952 \begin{itemize}
1953 \item 0: all,
1954 \item 1: none,
1955 \item 2: O2,
1956 \item 3: BIOMASS,
1957 \item 5: EUTRO,
1958 \item 7: MICROPOL,
1959 \item 11: THERMIC,
1960 \item 17: Degradation law,
1961 \item 19: Ghost process for ice modelling.
1962 \end{itemize}
1963 Example: 110 = 2x5x11 activate O2, EUTRO and THERMIC together.
1964 It is noted that AED2 is not available in 2D, for the time being.""",
1965             ),
1966         ),
1967 #       -----------------------------------
1968         ADVANCED_PHY = FACT(statut='f',
1969 #       -----------------------------------
1970 #           -----------------------------------
1971             WATER_DENSITY = SIMP(statut ='o',
1972 #           -----------------------------------
1973                 typ = 'R',
1974                 defaut = 1000.,
1975                 fr = """Fixe la valeur de la masse volumique de l''eau.""",
1976                 ang = """Sets the value of water density.""",
1977             ),
1978 #           -----------------------------------
1979             GRAVITY_ACCELERATION = SIMP(statut ='o',
1980 #           -----------------------------------
1981                 typ = 'R',
1982                 defaut = 9.81,
1983                 fr = """Fixe la valeur de l''acceleration de la pesanteur en m/s$^2$.""",
1984                 ang = """Sets the value of the acceleration due to gravity in m/s$^2$.""",
1985             ),
1986 #           -----------------------------------
1987             VERTICAL_STRUCTURES = SIMP(statut ='o',
1988 #           -----------------------------------
1989                 typ = bool,
1990                 defaut = False,
1991                 fr = """Prise en compte de la force de trainee de structures verticales
1992 (il faut alors remplir le sous-programme \telfile{DRAGFO}).""",
1993                 ang = """Drag forces from vertical structures are taken into account.
1994 (subroutine \telfile{DRAGFO} must then be implemented).""",
1995             ),
1996 #           -----------------------------------
1997             b_VERTICAL_STRUCTURESG = BLOC(condition="VERTICAL_STRUCTURES == True",
1998 #           -----------------------------------
1999 #               -----------------------------------
2000                 Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2001 #               -----------------------------------
2002                     defaut = "Fill the subroutine DRAGFO"),
2003             ),
2004         ),
2005     ),
2006 #   -----------------------------------
2007     NUMERICAL_PARAMETERS_HYDRO = FACT(statut='o',
2008 #   -----------------------------------
2009 #       -----------------------------------
2010         EQUATIONS = SIMP(statut ='o',
2011 #       -----------------------------------
2012             typ = 'TXM',
2013             into = ['SAINT-VENANT FE','SAINT-VENANT FV','BOUSSINESQ'],
2014             defaut = 'SAINT-VENANT FE',
2015             fr = """Choix des equations a resoudre :
2016 \begin{itemize}
2017 \item Saint-Venant Elements Finis ;
2018 \item Saint-Venant Volumes Finis ;
2019 \item Boussinesq 20 caracteres.
2020 \end{itemize}""",
2021             ang = """Choice of equations to solve:
2022 \begin{itemize}
2023 \item Shallow Water Finite Elements,
2024 \item Shallow Water Finite Volumes,
2025 \item Boussinesq 20 Characters.
2026 \end{itemize}""",
2027         ),
2028 #       -----------------------------------
2029         b_EQUATIONSG = BLOC(condition="EQUATIONS == 'SAINT-VENANT FV'",
2030 #       -----------------------------------
2031 #           -----------------------------------
2032             FINITE_VOLUME_SCHEME = SIMP(statut ='o',
2033 #           -----------------------------------
2034                 typ = 'TXM',
2035                 into = ["Roe scheme","kinetic","Zokagoa scheme","Tchamen scheme","HLLC scheme","WAF scheme"],
2036                 defaut = "kinetic",
2037                 fr = """Choix possibles :
2038 \begin{itemize}
2039 \item 0 : schema de Roe ;
2040 \item 1 : cinetique ;
2041 \item 3 : schema de Zokagoa ;
2042 \item 4 : schema de Tchamen ;
2043 \item 5 : HLLC ;
2044 \item 6 : WAF.
2045 \end{itemize}""",
2046                 ang = """Possible choices:
2047 \begin{itemize}
2048 \item 0: Roe scheme,
2049 \item 1: kinetic,
2050 \item 3: Zokagoa scheme,
2051 \item 4: Tchamen scheme,
2052 \item 5: HLLC,
2053 \item 6: WAF.
2054 \end{itemize}""",
2055             ),
2056         ),
2057 #       -----------------------------------
2058         TREATMENT_OF_THE_LINEAR_SYSTEM = SIMP(statut ='o',
2059 #       -----------------------------------
2060             typ = 'TXM',
2061             into = ["Coupled","Wave equation"],
2062             defaut = "Wave equation",
2063             fr = """Choix possibles :
2064 \begin{itemize}
2065 \item 1 : Traitement couple ;
2066 \item 2 : Equation d onde.
2067 \end{itemize}
2068 Ancienne valeur par defaut = 1 (couple) jusqu a la version
2069 V8P1.""",
2070             ang = """Possible choices:
2071 \begin{itemize}
2072 \item 1: Coupled,
2073 \item 2: Wave equation.
2074 \end{itemize}
2075 Old default value = 1 (coupled) until release V8P1.""",
2076         ),
2077     ),
2078 #   -----------------------------------
2079     FLUID = FACT(statut='f',
2080 #   -----------------------------------
2081 #       -----------------------------------
2082         CORIOLIS_EFFECT = FACT(statut='f',
2083 #       -----------------------------------
2084 #           -----------------------------------
2085             CORIOLIS = SIMP(statut ='o',
2086 #           -----------------------------------
2087                 typ = bool,
2088                 defaut = False,
2089                 fr = """Prise en compte ou non de la force de Coriolis.""",
2090                 ang = """The Coriolis force is taken into account or ignored.""",
2091             ),
2092 #           -----------------------------------
2093             CORIOLIS_COEFFICIENT = SIMP(statut ='o',
2094 #           -----------------------------------
2095                 typ = 'R',
2096                 defaut = 0.,
2097                 fr = """Fixe la valeur du coefficient de la force de Coriolis.
2098 Celui-ci doit etre calcule en fonction de la latitude $l$
2099 par la formule
2100 $FCOR = 2 \omega sin(l)$ ,
2101 $\omega$ etant la vitesse de rotation de la terre.
2102 $\omega$ = 7.2921 10-5 rad/s.\\
2103 Les composantes de la force de Coriolis sont alors :\\
2104 $FU =  FCOR \times V,$\\
2105 $FV = -FCOR \times U.$
2106 Lorsqu''on utilise les coordonnees spheriques, le coefficient de
2107 Coriolis est calcule automatiquement.""",
2108                 ang = """Sets the value of the Coriolis force coefficient,
2109 in cartesian coordinates.
2110 This coefficient, denoted \telfile{FCOR} in the code, should be equal to
2111 $2 \omega \sin(l)$  where $\omega$ denotes the earth angular speed of
2112 rotation and $l$ the latitude. $\omega$ = 7.2921 10-5 rad/s.\\
2113 The Coriolis force components are then:\\
2114 $FU =  FCOR \times V,$\\
2115 $FV = -FCOR \times U.$\\
2116 When using the spherical coordinates, the Coriolis coefficient is
2117 automatically computed.""",
2118             ),
2119         ),
2120 #       -----------------------------------
2121         TSUNAMI = FACT(statut='f',
2122 #       -----------------------------------
2123 #           -----------------------------------
2124             OPTION_FOR_TSUNAMI_GENERATION = SIMP(statut ='o',
2125 #           -----------------------------------
2126                 typ = 'TXM',
2127                 into = ["No Tsunami","Tsunami generated on the basis of the Okada model 1992"],
2128                 defaut = "No Tsunami",
2129                 fr = """Choix possibles :
2130 \begin{itemize}
2131 \item 0 : pas de tsunami ;
2132 \item 1 : generation d un Tsunami sur la base du modele de Okada
2133 (1992).
2134 \end{itemize}""",
2135                 ang = """Possible choices:
2136 \begin{itemize}
2137 \item 0: no tsunami,
2138 \item 1: tsunami generated on the basis of the Okada model (1992).
2139 \end{itemize}""",
2140             ),
2141 #           -----------------------------------
2142             PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI = SIMP(statut ='o',
2143 #           -----------------------------------
2144                 typ = 'R', min=10, max=10,
2145                 defaut = [100.,210000.,75000.,13.6,81.,41.,110.,0.,0.,3.],
2146                 fr = """Caracteristiques physiques du tsunami au nombre de 10, dans l ordre :
2147 \begin{itemize}
2148 \item $HH$ profondeur focale (en m) ;
2149 \item $L$ longueur de fault (en m) ;
2150 \item $W$ largeur de fault (en m) ;
2151 \item $D$ dislocation (en m) ;
2152 \item $TH$ direction de strike (en degres decimaux) ;
2153 \item $DL$ angle d immersion (en degres decimaux) ;
2154 \item $RD$ angle de glissement (en degres decimaux) ;
2155 \item $Y0$ latitude de l epicentre (en degres decimaux) ;
2156 \item $X0$ longitude de l epicentre (en degres decimaux) ;
2157 \item $C0$ taille de l ellipse d influence ($L$ $\times$ $W$).
2158 \end{itemize}""",
2159                 ang = """Physical characteristics of the tsunami.
2160 There are 10 of them:
2161 \begin{itemize}
2162 \item $HH$ focal depth (in m),
2163 \item $L$ fault length (in m),
2164 \item $W$ fault width (in m),
2165 \item $D$ dislocation (in m),
2166 \item $TH$ strike direction (in decimal degrees),
2167 \item $DL$ dip angle (in decimal degrees),
2168 \item $RD$ slip angle (in decimal degrees),
2169 \item $Y0$ epicentre latitude (in decimal degrees),
2170 \item $X0$ epicentre longitude (in decimal degrees),
2171 \item $C0$ size of the ellipse of influence ($L$ $\times$ $W$).
2172 \end{itemize}""",
2173             ),
2174         ),
2175 #       -----------------------------------
2176         SECONDARY_CURRENTS_INFO = FACT(statut='f',
2177 #       -----------------------------------
2178 #           -----------------------------------
2179             SECONDARY_CURRENTS = SIMP(statut ='o',
2180 #           -----------------------------------
2181                 typ = bool,
2182                 defaut = False,
2183                 fr = """Pour prendre en compte les courants secondaires.""",
2184                 ang = """Using the parametrisation for secondary currents.""",
2185             ),
2186 #           -----------------------------------
2187             b_SECONDARY_CURRENTSG = BLOC(condition="SECONDARY_CURRENTS == True",
2188 #           -----------------------------------
2189 #               -----------------------------------
2190                 PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
2191 #               -----------------------------------
2192                     typ = 'R',
2193                     defaut = 7.071,
2194                     fr = """Une constante dans les termes de creation de $\Omega$.""",
2195                     ang = """A constant in the production terms of $\Omega$.""",
2196                 ),
2197 #               -----------------------------------
2198                 DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
2199 #               -----------------------------------
2200                     typ = 'R',
2201                     defaut = 5.E-1,
2202                     fr = """Coefficient de dissipation de $\Omega$.""",
2203                     ang = """Coefficient of dissipation term of $\Omega$.""",
2204                 ),
2205             ),
2206         ),
2207     ),
2208 )
2209 # -----------------------------------------------------------------------
2210 NUMERICAL_PARAMETERS = PROC(nom= "NUMERICAL_PARAMETERS",op = None,
2211 # -----------------------------------------------------------------------
2212 #   -----------------------------------
2213     ADVANCED = FACT(statut='o',
2214 #   -----------------------------------
2215 #       -----------------------------------
2216         FINITE_VOLUME_SCHEME_SPACE_ORDER = SIMP(statut ='o',
2217 #       -----------------------------------
2218             typ = 'I',
2219             defaut = 1,
2220             fr = """Choix possibles :
2221 \begin{itemize}
2222 \item 1 : ordre 1 en espace ;
2223 \item 2 : ordre 2 en espace.
2224 \end{itemize}""",
2225             ang = """Possible choices:
2226 \begin{itemize}
2227 \item 1: first order in space,
2228 \item 2: second order in space.
2229 \end{itemize}""",
2230         ),
2231 #       -----------------------------------
2232         FINITE_VOLUME_SCHEME_TIME_ORDER = SIMP(statut ='o',
2233 #       -----------------------------------
2234             typ = 'I',
2235             defaut = 1,
2236             fr = """Choix possibles :
2237 \begin{itemize}
2238 \item 1 : ordre 1 en temps ;
2239 \item 2 : ordre 2 en temps.
2240 \end{itemize}""",
2241             ang = """Possible choices:
2242 \begin{itemize}
2243 \item 1: first order in time,
2244 \item 2: second order in time.
2245 \end{itemize}""",
2246         ),
2247 #       -----------------------------------
2248         FLUX_LIMITOR_FOR_H_PLUS_Z = SIMP(statut ='o',
2249 #       -----------------------------------
2250             typ = 'I',
2251             defaut = 1,
2252             fr = """Choix possibles :
2253 \begin{itemize}
2254 \item 1 : Minmod ;
2255 \item 2 : Van Albada ;
2256 \item 3 : MC (Monotonized Central-difference) ;
2257 \item 4 : GenMinmod.
2258 \end{itemize}""",
2259             ang = """Possible choices:
2260 \begin{itemize}
2261 \item 1 : Minmod,
2262 \item 2 : Van Albada,
2263 \item 3 : MC (Monotonized Central-difference),
2264 \item 4 : GenMinmod.
2265 \end{itemize}""",
2266         ),
2267 #       -----------------------------------
2268         FLUX_LIMITOR_FOR_U_AND_V = SIMP(statut ='o',
2269 #       -----------------------------------
2270             typ = 'I',
2271             defaut = 2,
2272             fr = """Choix possibles :
2273 \begin{itemize}
2274 \item 1 : Minmod ;
2275 \item 2 : Van Albada ;
2276 \item 3 : MC (Monotonized Central-difference) ;
2277 \item 4 : GenMinmod.
2278 \end{itemize}""",
2279             ang = """Possible choices:
2280 \begin{itemize}
2281 \item 1 : Minmod,
2282 \item 2 : Van Albada,
2283 \item 3 : MC (Monotonized Central-difference),
2284 \item 4 : GenMinmod.
2285 \end{itemize}""",
2286         ),
2287 #       -----------------------------------
2288         FLUX_LIMITOR_FOR_TRACERS = SIMP(statut ='o',
2289 #       -----------------------------------
2290             typ = 'I',
2291             defaut = 2,
2292             fr = """Choix possibles :
2293 \begin{itemize}
2294 \item 1 : Minmod ;
2295 \item 2 : Van Albada ;
2296 \item 3 : MC (Monotonized Central-difference) ;
2297 \item 4 : GenMinmod.
2298 \end{itemize}""",
2299             ang = """Possible choices:
2300 \begin{itemize}
2301 \item 1 : Minmod,
2302 \item 2 : Van Albada,
2303 \item 3 : MC (Monotonized Central-difference),
2304 \item 4 : GenMinmod.
2305 \end{itemize}""",
2306         ),
2307 #       -----------------------------------
2308         TYPE_OF_BOUNDARY_CONDITION_FOR_KINETIC_SCHEME = SIMP(statut ='o',
2309 #       -----------------------------------
2310             typ = 'I',
2311             defaut = 1,
2312             fr = """Choix possibles :
2313 \begin{itemize}
2314 \item 1 : Imposition faible ;
2315 \item 2 : Imposition forte.
2316 \end{itemize}""",
2317             ang = """Possible choices:
2318 \begin{itemize}
2319 \item 1: Weak imposition,
2320 \item 2: Strong imposition.
2321 \end{itemize}""",
2322         ),
2323 #       -----------------------------------
2324         MATRIX_STORAGE = SIMP(statut ='o',
2325 #       -----------------------------------
2326             typ = 'TXM',
2327             into = ["classical EBE","Edge-based storage"],
2328             defaut = "Edge-based storage",
2329             fr = """Permet de definir la methode de stockage des matrices.
2330 Les choix possibles sont :
2331 \begin{itemize}
2332 \item 1 : EBE classique ;
2333 \item 3 : stockage par segments.
2334 \end{itemize}
2335 L option 3 est obligatoire avec un schema distributif pour la convection
2336 (= 3, 4, 5, 13, 14 ou 15).""",
2337             ang = """Defines the method to store matrices. The possible choices are:
2338 \begin{itemize}
2339 \item 1: classical EBE,
2340 \item 3: edge-based storage.
2341 \end{itemize}
2342 Option 3 is mandatory with a distributive scheme for advection
2343 (= 3, 4, 5, 13, 14 or 15).""",
2344         ),
2345 #       -----------------------------------
2346         MATRIX_VECTOR_PRODUCT = SIMP(statut ='o',
2347 #       -----------------------------------
2348             typ = 'I',
2349             defaut = 1,
2350             fr = """Choix possibles :
2351 \begin{itemize}
2352 \item 1 : classique ;
2353 \item 2 : frontal.
2354 Attention, avec 2, il faut une numerotation speciale des points.
2355 \end{itemize}""",
2356             ang = """Possible choices are:
2357 \begin{itemize}
2358 \item 1: classic,
2359 \item 2: frontal.
2360 Beware, with option 2, a special numbering of points is required.
2361 \end{itemize}""",
2362         ),
2363 #       -----------------------------------
2364         NEWMARK_TIME_INTEGRATION_COEFFICIENT = SIMP(statut ='o',
2365 #       -----------------------------------
2366             typ = 'R',
2367             defaut = 0.5,
2368             fr = """Choix possibles :
2369 \begin{itemize}
2370 \item 1. : Euler explicite ;
2371 \item 0.5 : ordre 2 en temps.
2372 \end{itemize}
2373 Seulement pour Volumes Finis.""",
2374             ang = """Possible choices are:
2375 \begin{itemize}
2376 \item 1.: Euler explicit,
2377 \item 0.5: order 2 in time.
2378 \end{itemize}
2379 Only for Finite Volumes.""",
2380         ),
2381 #       -----------------------------------
2382         ZERO = SIMP(statut ='f',
2383 #       -----------------------------------
2384             typ = 'R',
2385             defaut = 1.E-10,
2386             fr = """Non active pour l''instant.""",
2387             ang = """Not yet implemented""",
2388         ),
2389 #       -----------------------------------
2390         OPTION_OF_THE_HYDROSTATIC_RECONSTRUCTION = SIMP(statut ='f',
2391 #       -----------------------------------
2392             typ = 'I',
2393             defaut = 1,
2394             fr = """Donne l option de la reconstruction hydrostatique
2395 (option utile uniquement pour les Volumes Finis,
2396 pour les schemas cinetique, HLLC et WAF) :
2397 \begin{itemize}
2398 \item 1 : option d Audusse et al. ;
2399 \item 2 : option de Chen et Noelle.
2400 \end{itemize}""",
2401             ang = """Gives the option for hydrostatic reconstruction
2402 (only used for Finite Volumes with kinetic, HLLC and WAF schemes):
2403 \begin{itemize}
2404 \item 1: Audusse et al. option ;
2405 \item 2: Chen and Noelle option.
2406 \end{itemize}""",
2407         ),
2408 #       -----------------------------------
2409         CONVERGENCE_STUDY = SIMP(statut ='f',
2410 #       -----------------------------------
2411             typ = bool,
2412             defaut = False,
2413             fr = """Active une etude de convergence par rapport a une
2414 solution analytique sur un maillage fin.""",
2415             ang = """Activates a convergence study compared
2416 to an analytical solution on a fine mesh.""",
2417         ),
2418 #       -----------------------------------
2419         REFINEMENT_LEVELS = SIMP(statut ='f',
2420 #       -----------------------------------
2421             typ = 'I',
2422             defaut = 0,
2423             fr = """Donne le nombre de raffinements que l''utilisateur
2424 veut utiliser pour l''etude de convergence
2425 (en activant \telkey{ETUDE DE CONVERGENCE} = OUI).
2426 Chaque niveau multiplie par 4 le nombre d''elements.""",
2427             ang = """Gives the number of refinement levels that the
2428 user wants to use in the convergence study (when activating
2429 \telkey{CONVERGENCE STUDY} = YES).
2430 Each level multiplies the number of elements by 4.""",
2431         ),
2432     ),
2433 #   -----------------------------------
2434     SOLVER_INFO = FACT(statut='o',
2435 #   -----------------------------------
2436 #       -----------------------------------
2437         SOLVER = SIMP(statut ='o',
2438 #       -----------------------------------
2439             typ = 'TXM',
2440             into = ["conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","cgstab","gmres","direct"],
2441             defaut = "conjugate gradient on a normal equation",
2442             fr = """Permet de choisir le solveur utilise pour la resolution de
2443 l''etape de propagation.
2444 Les choix possibles sont :
2445 \begin{itemize}
2446 \item 1 : gradient conjugue,
2447 \item 2 : residu conjugue,
2448 \item 3 : gradient conjugue sur equation normale,
2449 \item 4 : erreur minimale,
2450 \item 5 : gradient conjugue carre (non programme),
2451 \item 6 : gradient conjugue carre stabilise (cgstab),
2452 \item 7 : GMRES (voir aussi \telkey{OPTION DU SOLVEUR}),
2453 \item 8 : direct.
2454 \end{itemize}""",
2455             ang = """Makes it possible to select the solver used for solving the
2456 propagation step.
2457 Possible choices are:
2458 \begin{itemize}
2459 \item 1: conjugate gradient,
2460 \item 2: conjugate residual,
2461 \item 3: conjugate gradient on a normal equation,
2462 \item 4: minimum error,
2463 \item 5: squared conjugate gradient (not implemented),
2464 \item 6: conjugate gradient squared stabilised (cgstab),
2465 \item 7: GMRES (see \telkey{SOLVER OPTION}),
2466 \item 8: direct.
2467 \end{itemize}""",
2468         ),
2469 #       -----------------------------------
2470         b_SOLVERG = BLOC(condition="SOLVER == 'gmres'",
2471 #       -----------------------------------
2472 #           -----------------------------------
2473             SOLVER_OPTION = SIMP(statut ='o',
2474 #           -----------------------------------
2475                 typ = 'I',
2476                 defaut = 2,
2477                 fr = """Si le solveur est GMRES (7), le mot cle est la dimension de
2478 l''espace de Krylov (valeurs conseillees entre 2 et 15).""",
2479                 ang = """When GMRES (7) is chosen for solver, dimension of the Krylov space.
2480 Try values between 2 and 15.""",
2481             ),
2482         ),
2483 #       -----------------------------------
2484         SOLVER_ACCURACY = SIMP(statut ='o',
2485 #       -----------------------------------
2486             typ = 'R',
2487             defaut = 1.E-4,
2488             fr = """Precision demandee pour la resolution de l''etape de propagation
2489 (cf. Note de principe).""",
2490             ang = """Required accuracy for solving the propagation step
2491 (refer to Principle note).""",
2492         ),
2493 #       -----------------------------------
2494         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER = SIMP(statut ='o',
2495 #       -----------------------------------
2496             typ = 'I',
2497             defaut = 100,
2498             fr = """Les algorithmes utilises pour la resolution de l''etape de
2499 propagation etant iteratifs. Il est necessaire de limiter le nombre
2500 d''iterations autorisees.
2501 Remarque : un maximum de 40 iterations par pas de temps semble
2502 raisonnable.""",
2503             ang = """Since the algorithms used for solving the propagation step are
2504 iterative, the allowed number of iterations should be limited.
2505 NOTE: a maximum number of 40 iterations per time step seems to be
2506 reasonable.""",
2507         ),
2508 #       -----------------------------------
2509         CONTINUITY_CORRECTION = SIMP(statut ='o',
2510 #       -----------------------------------
2511             typ = bool,
2512             defaut = False,
2513             fr = """Corrige les vitesses sur les points avec hauteur imposee ou
2514 l''equation de continuite n''a pas ete resolue.
2515 Doit etre activee avec des bancs decouvrants et
2516 \telkey{TRAITEMENT DES HAUTEURS NEGATIVES} = 2 ou 3.""",
2517             ang = """Correction of the velocities on points with a prescribed
2518 elevation, where the continuity equation has not been solved.
2519 It has to be activated with tidal flats and
2520 \telkey{TREATMENT OF NEGATIVE DEPTHS} = 2 or 3.""",
2521         ),
2522 #       -----------------------------------
2523         PRECONDITIONING = SIMP(statut ='o',
2524 #       -----------------------------------
2525             typ = 'TXM',
2526             into = ["diagonal","no preconditioning","block-diagonal (4-9 matrices)","absolute value of diagonal","Crout","Gauss-Seidel","Supplied by the user","diagonal and Crout"],
2527             defaut = "diagonal",
2528             fr = """Permet de preconditionner le systeme de l''etape de propagation
2529 afin d''accelerer la convergence lors de sa resolution.
2530 \begin{itemize}
2531 \item 0 : pas de preconditionnement ;
2532 \item 2 : preconditionnement diagonal ;
2533 \item 3 : preconditionnement diagonal-bloc ;
2534 \item 5 : preconditionnement valeur absolue diagonale ;
2535 \item 7 : preconditionnement de Crout par element ou segment
2536 (ne marche pas en parallele) ;
2537 \item 11 : preconditionnement de Gauss-Seidel par element ou segment ;
2538 \item 13 : preconditionnement fourni par l''utilisateur.
2539 \end{itemize}
2540 Certains preconditionnements sont cumulables
2541 (les diagonaux 2 ou 3 avec les autres)
2542 Pour cette raison on ne retient que les nombres premiers pour
2543 designer les preconditionnements. Si l''on souhaite en cumuler
2544 plusieurs on formera le produit des options correspondantes.""",
2545             ang = """Choice of the preconditioning in the propagation step linear
2546 system that the convergence is speeded up when it is being solved.
2547 \begin{itemize}
2548 \item 0: no preconditioning,
2549 \item 2: diagonal preconditioning,
2550 \item 3: block-diagonal preconditioning (systemes a 4 ou 9 matrices),
2551 \item 5: diagonal preconditioning with absolute value,
2552 \item 7: Crout''s preconditioning per element or segment
2553 (does not work in parallel),
2554 \item 11: Gauss-Seidel''s preconditioning per element or segment,
2555 \item 13: preconditioning supplied by the user.
2556 \end{itemize}
2557 Some operations (either 2 or 3 diagonal preconditioning) can be
2558 performed concurrently with the others.
2559 Only prime numbers are therefore kept to denote the preconditioning
2560 operations. When several of them are to be performed concurrently,
2561 the product of relevant options shall be made.""",
2562         ),
2563 #       -----------------------------------
2564         C_U_PRECONDITIONING = SIMP(statut ='o',
2565 #       -----------------------------------
2566             typ = bool,
2567             defaut = True,
2568             fr = """Changement de variable de $H$ en $C$ dans le systeme lineaire final.
2569 Cette option est desactivee avec l equation d onde i.e.
2570 \telkey{TRAITEMENT DU SYSTEME LINEAIRE} = 2.""",
2571             ang = """Change of variable from $H$ to $C$ in the final linear system.
2572 This option is deactivated with wave equation i.e.
2573 \telkey{TREATMENT OF THE LINEAR SYSTEM} = 2.""",
2574         ),
2575 #       -----------------------------------
2576         FINITE_ELEMENT_ASSEMBLY = SIMP(statut ='f',
2577 #       -----------------------------------
2578             typ = 'TXM',
2579             into = ["Normal","Integer I8","Compensated"],
2580             defaut = "Normal",
2581             fr = """Les choix possibles sont :
2582 \begin{itemize}
2583 \item 1 : normal ;
2584 \item 2 : avec des entiers I8 ;
2585 \item 3 : compense (pour reproductibilite).
2586 \end{itemize}""",
2587             ang = """Possible choices are:
2588 \begin{itemize}
2589 \item 1: normal,
2590 \item 2: with I8 integers,
2591 \item 3: compensation (for reproducibility).
2592 \end{itemize}""",
2593         ),
2594     ),
2595 #   -----------------------------------
2596     DISCRETISATIONS_IMPLICITATION = FACT(statut='o',
2597 #   -----------------------------------
2598 #       -----------------------------------
2599         IMPLICITATION_FOR_DEPTH = SIMP(statut ='o',
2600 #       -----------------------------------
2601             typ = 'R',
2602             defaut = 0.55,
2603             fr = """Fixe la valeur du coefficient d''implicitation sur C dans l''etape de
2604 propagation (cf. Note de principe). Les valeurs inferieures a 0.5
2605 donnent un schema instable (et sont donc interdites).""",
2606             ang = """Sets the value of the implicitation coefficient for C (the celerity of
2607 waves) in the propagation step (refer to principle note). Values below
2608 0.5 result in an unstable scheme (and are then forbidden).""",
2609         ),
2610 #       -----------------------------------
2611         IMPLICITATION_FOR_VELOCITY = SIMP(statut ='o',
2612 #       -----------------------------------
2613             typ = 'R',
2614             defaut = 0.55,
2615             fr = """Fixe la valeur du coefficient d''implicitation sur la vitesse dans
2616 l''etape de propagation (cf. Note de principe). Les valeurs inferieures
2617 a 0.5 donnent un schema instable (et sont donc interdites).""",
2618             ang = """Sets the value of the implicitation coefficient for velocity in the
2619 propagation step (refer to principle note). Values below 0.5 result in
2620 an unstable condition (and are then forbidden).""",
2621         ),
2622 #       -----------------------------------
2623         DISCRETIZATIONS_IN_SPACE = SIMP(statut ='f',
2624 #       -----------------------------------
2625             typ = 'TXM', max='**',
2626             into = ["linear","quasi-bubble","quadratic"],
2627             defaut = ["linear","linear","linear","linear","linear"],
2628             fr = """Choix de la discretisation pour chaque variable.
2629 Ces coefficients sont respectivement appliques a :
2630 \begin{itemize}
2631 \item 1) $U$ et $V$ ;
2632 \item 2) $H$ ;
2633 \item 3) $T$ ;
2634 \item 4) $k$ et $\epsilon$ (modele $k-\epsilon$) ;
2635 \item 5) $\tilde{\nu}$ (modele Spalart-Allmaras).
2636 \end{itemize}
2637 Les choix possibles sont :
2638 \begin{itemize}
2639 \item 11 : lineaire ;
2640 \item 12 : quasi-bulle ;
2641 \item 13 : quadratique.
2642 \end{itemize}
2643 Les elements quadratiques (13) ne sont pas implementes pour l equation
2644 d onde (\telkey{TRAITEMENT DU SYSTEME LINEAIRE} = 2).""",
2645             ang = """Choice of space discretisation for every variable.
2646 These coefficients are respectively applied to:
2647 \begin{itemize}
2648 \item 1) $U$ and $V$,
2649 \item 2) $H$,
2650 \item 3) $T$,
2651 \item 4) $k$ and $\epsilon$ ($k-\epsilon$ model),
2652 \item 5) $\tilde{\nu}$ (Spalart-Allmaras model).
2653 \end{itemize}
2654 Possible choices are:
2655 \begin{itemize}
2656 \item 11: linear,
2657 \item 12: quasi-bubble,
2658 \item 13: quadratic.
2659 \end{itemize}
2660 Quadratic elements (13) have not been implemented for wave equation
2661 (\telkey{TREATMENT OF THE LINEAR SYSTEM} = 2).""",
2662         ),
2663 #       -----------------------------------
2664         b_DISCRETIZATIONS_IN_SPACEG = BLOC(condition="DISCRETIZATIONS_IN_SPACE != None",
2665 #       -----------------------------------
2666 #           -----------------------------------
2667             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2668 #           -----------------------------------
2669                 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"),
2670         ),
2671     ),
2672 #   -----------------------------------
2673     PROPAGATION_INFO = FACT(statut='o',
2674 #   -----------------------------------
2675 #       -----------------------------------
2676         PROPAGATION = SIMP(statut ='o',
2677 #       -----------------------------------
2678             typ = bool,
2679             defaut = True,
2680             fr = """Prise en compte ou non de la propagation de la vitesse et de la
2681 hauteur d''eau.
2682 La diffusion etant contenue dans cette etape sera supprimee aussi.""",
2683             ang = """Determines whether the propagation step is taken into account
2684 or not.
2685 The diffusion being included in that step will be deleted as well.""",
2686         ),
2687 #       -----------------------------------
2688         b_PROPAGATIONG = BLOC(condition="PROPAGATION == True",
2689 #       -----------------------------------
2690 #           -----------------------------------
2691             MEAN_DEPTH_FOR_LINEARIZATION = SIMP(statut ='o',
2692 #           -----------------------------------
2693                 typ = 'R',
2694                 defaut = 0.,
2695                 fr = """Fixe la hauteur d''eau autour de laquelle s''effectue la linearisation
2696 lorsque l''option \telkey{PROPAGATION LINEARISEE} est choisie.""",
2697                 ang = """Sets the water depth around which the linearization is done
2698 when the \telkey{LINEARIZED PROPAGATION} option is selected.""",
2699             ),
2700 #           -----------------------------------
2701             INITIAL_GUESS_FOR_U = SIMP(statut ='o',
2702 #           -----------------------------------
2703                 typ = 'TXM',
2704                 into = ["zero","previous","extrapolation"],
2705                 defaut = "previous",
2706                 fr = """Tir initial du solveur de l''etape de propagation.
2707 Offre la possibilite de modifier la valeur initiale de U, a chaque
2708 iteration, dans l''etape de propagation en utilisant les valeurs
2709 finales de cette variable aux pas de temps precedents. Ceci peut
2710 permettre d''accelerer la vitesse de convergence lors de la resolution
2711 du systeme. Trois possibilites sont offertes :
2712 \begin{itemize}
2713 \item 0 : U = 0 ;
2714 \item 1 : U = U(n) ;
2715 \item 2 : U = 2 U(n)- U(n-1) (extrapolation).
2716 \end{itemize}""",
2717                 ang = """Initial guess for the solver in the propagation step.
2718 Makes it possible to modify the initial value of U, upon each
2719 iteration in the propagation step, by using the ultimate values this
2720 variable had in the earlier time steps. Thus, the convergence can be
2721 speeded up when the system is being solved. 3 options are available:
2722 \begin{itemize}
2723 \item 0 : U = 0,
2724 \item 1 : U = U(n),
2725 \item 2 : U = 2 U(n)- U(n-1) (extrapolation).
2726 \end{itemize}""",
2727             ),
2728         ),
2729 #       -----------------------------------
2730         INITIAL_GUESS_FOR_H = SIMP(statut ='o',
2731 #       -----------------------------------
2732             typ = 'TXM',
2733             into = ["zero","previous","extrapolation"],
2734             defaut = "previous",
2735             fr = """Tir initial du solveur de l''etape de propagation. Offre la
2736 possibilite de modifier la valeur initiale de DH, accroissement de H,
2737 a chaque iteration, dans l''etape de propagation en utilisant les
2738 valeurs finales de cette variable aux pas de temps precedents. Ceci peut
2739 permettre d''accelerer la vitesse de convergence lors de la resolution
2740 du systeme. Trois possibilites sont offertes :
2741 \begin{itemize}
2742 \item 0 : DH = 0 ;
2743 \item 1 : DH = DHn (valeur finale de DH au pas de temps precedent) ;
2744 \item 2 : DH = 2.DHn - DHn-1 (extrapolation).
2745 \end{itemize}""",
2746             ang = """Initial guess for the solver in the propagation step.
2747 Makes it possible to modify the initial value of C, upon each
2748 iteration in the propagation step, by using the ultimate values this
2749 variable had in the earlier time steps. Thus, the convergence can be
2750 speeded up when the system is being solved. 3 options are available:
2751 \begin{itemize}
2752 \item 0: DH = 0,
2753 \item 1: DH = DHn (ultimate DH value in the next previous time step),
2754 \item 2: DH = 2.DHn - DHn-1 (extrapolation).
2755 \end{itemize}""",
2756         ),
2757 #       -----------------------------------
2758         LINEARIZED_PROPAGATION = SIMP(statut ='o',
2759 #       -----------------------------------
2760             typ = bool,
2761             defaut = False,
2762             fr = """Permet de lineariser l''etape de propagation;
2763 par exemple lors de la realisation de cas tests
2764 pour lesquels on dispose
2765 d''une solution analytique dans le cas linearise.""",
2766             ang = """Provided for linearizing the propagation step, e.g. when
2767 performing test-cases for which an analytical
2768 solution in the linearized
2769 case is available.""",
2770         ),
2771     ),
2772 #   -----------------------------------
2773     ADVECTION_INFO = FACT(statut='o',
2774 #   -----------------------------------
2775 #       -----------------------------------
2776         ADVECTION = SIMP(statut ='o',
2777 #       -----------------------------------
2778             typ = bool,
2779             defaut = True,
2780             fr = """Prise en compte ou non des termes de convection.
2781 En cas de reponse positive,
2782 on peut encore supprimer certains termes de convection avec
2783 les mots-cles \telkey{CONVECTION DE}...""",
2784             ang = """Are the advection terms taken into account or not?
2785 If YES, some advection terms can still be deleted using the keywords
2786 \telkey{ADVECTION OF}...""",
2787         ),
2788 #       -----------------------------------
2789         ADVECTION_OF_H = SIMP(statut ='o',
2790 #       -----------------------------------
2791             typ = bool,
2792             defaut = True,
2793             fr = """Prise en compte ou non de la convection de $H$.""",
2794             ang = """The advection of $H$ is taken into account or ignored.""",
2795         ),
2796 #       -----------------------------------
2797         ADVECTION_OF_U_AND_V = SIMP(statut ='f',
2798 #       -----------------------------------
2799             typ = bool,
2800             defaut = True,
2801             fr = """Prise en compte ou non de la convection de $U$ et $V$.""",
2802             ang = """The advection of $U$ and $V$ is taken into account or ignored.""",
2803         ),
2804 #       -----------------------------------
2805         b_ADVECTION_OF_U_AND_VG = BLOC(condition="ADVECTION_OF_U_AND_V == True",
2806 #       -----------------------------------
2807 #           -----------------------------------
2808             SCHEME_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='o',
2809 #           -----------------------------------
2810                 typ = 'TXM',
2811                 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"],
2812                 defaut = "CHARACTERISTICS",
2813                 fr = """Choix du schema de convection pour les vitesses,
2814 remplace \telkey{FORME DE LA CONVECTION}.""",
2815                 ang = """Choice of the advection scheme for the velocities,
2816 replaces \telkey{TYPE OF ADVECTION}.""",
2817             ),
2818         ),
2819 #       -----------------------------------
2820         TYPE_OF_ADVECTION = SIMP(statut ='f',
2821 #       -----------------------------------
2822             typ = 'TXM', max='**',
2823             into = ["CHARACTERISTICS","SUPG","CONSERVATIVE N-SCHEME LP","CONSERVATIVE N-SCHEME","CONSERVATIVE PSI-SCHEME","EDGE-BASED N-SCHEME LP","EDGE-BASED N-SCHEME","ERIA SCHEME"],
2824             defaut = ["CHARACTERISTICS","CONSERVATIVE PSI-SCHEME","CHARACTERISTICS","CHARACTERISTICS"],
2825             fr = """Choix du schema de convection pour chaque variable.
2826 Ces coefficients sont respectivement appliques a\\
2827 \begin{itemize}
2828 \item 1) $U$ et $V$ ;
2829 \item 2) $H$ ;
2830 \item 3) $T$ ;
2831 \item 4) $k$ et $\epsilon$.
2832 \end{itemize}
2833 Les choix possibles sont :
2834 \begin{itemize}
2835 \item 1 : caracteristiques sur $h$ ;
2836 \item 2 : SUPG ;
2837 \item 3 : Schema N conservatif ;
2838 \item 4 : Schema N conservatif ;
2839 \item 5 : Schema PSI conservatif ;
2840 \item 13 : Schema N par segment ;
2841 \item 14 : Schema N par segment ;
2842 \item 15 : Schema ERIA.
2843 \end{itemize}
2844 Le 2e entier doit etre 5.""",
2845             ang = """Choice of advection schemes for every variable.
2846 These coefficients are applied respectively to
2847 \begin{itemize}
2848 \item 1) $U$ and $V$,
2849 \item 2) $H$,
2850 \item 3) $T$,
2851 \item 4) $k$ and $\epsilon$.
2852 \end{itemize}
2853 Possible choices are:
2854 \begin{itemize}
2855 \item 1: characteristics,
2856 \item 2: SUPG,
2857 \item 3: Conservative N-scheme,
2858 \item 4: Conservative N-scheme,
2859 \item 5: Conservative PSI-scheme,
2860 \item 13: Edge-based N-scheme,
2861 \item 14: Edge-based N-scheme,
2862 \item 15: ERIA scheme.
2863 \end{itemize}
2864 The second integer must be 5.""",
2865         ),
2866 #       -----------------------------------
2867         b_TYPE_OF_ADVECTIONG = BLOC(condition="TYPE_OF_ADVECTION != None",
2868 #       -----------------------------------
2869 #           -----------------------------------
2870             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
2871 #           -----------------------------------
2872                 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"),
2873         ),
2874 #       -----------------------------------
2875         OPTION_FOR_CHARACTERISTICS = SIMP(statut ='o',
2876 #       -----------------------------------
2877             typ = 'TXM',
2878             into = ["strong","weak"],
2879             defaut = "strong",
2880             fr = """Les choix possibles sont :
2881 \begin{itemize}
2882 \item 1 : forme forte ;
2883 \item 2 : forme faible.
2884 \end{itemize}
2885 Si une des composantes du tableau  \telkey{FORME DE LA CONVECTION} = 1
2886 ou \telkey{SCHEMA POUR LA CONVECTION...} = 1,
2887 ainsi que le mot-cle correspondant
2888 \telkey{OPTION DU SCHEMA POUR LA CONVECTION...} = 2,
2889 \telkey{OPTION POUR LES CARACTERISTIQUES} est automatiquement mis a 2.""",
2890             ang = """Possible choices are:
2891 \begin{itemize}
2892 \item 1: strong form,
2893 \item 2: weak form.
2894 \end{itemize}
2895 If one component of array \telkey{TYPE OF ADVECTION} = 1 or
2896 \telkey{SCHEME FOR ADVECTION OF...} = 1,
2897 and also the corresponding keyword
2898 \telkey{SCHEME OPTION FOR ADVECTION OF...} = 2,
2899 \telkey{OPTION FOR CHARACTERISTICS} is automatically set to 2.""",
2900         ),
2901 #       -----------------------------------
2902         SUPG_OPTION = SIMP(statut ='o',
2903 #       -----------------------------------
2904             typ = 'I', min=0, max='**',
2905             defaut = [2,2,2,2],
2906             fr = """Les choix possibles sont :
2907 \begin{itemize}
2908 \item 0:pas de decentrement SUPG ;
2909 \item 1:SUPG classique ;
2910 \item 2:SUPG modifiee.
2911 \end{itemize}
2912 Ces coefficients sont respectivement appliques a :
2913 \begin{itemize}
2914 \item 1) $U$ et $V$ ;
2915 \item 2) $H$ ;
2916 \item 3) $T$ ;
2917 \item 4) $k$ et $\epsilon$.
2918 \end{itemize}
2919 En cas d utilisation d un schema distributif (3, 4, 5, 13, 14 ou 15),
2920 le coefficient applique a $H$ est automatiquement mis a 0.
2921 De plus, si \telkey{TRAITEMENT DES HAUTEURS NEGATIVES} = 2 ou 3
2922 avec \telkey{OPTION DE TRAITEMENT DES BANCS DECOUVRANTS} = 1,
2923 il est obligatoire de choisir 0 pour la 2e composante du mot-cle
2924 \telkey{OPTION DE SUPG} (hauteur d eau).""",
2925             ang = """Possible choices are:
2926 \begin{itemize}
2927 \item 0: no upwinding,
2928 \item 1: classical SUPG,
2929 \item 2: modified SUPG.
2930 \end{itemize}
2931 These coefficients are applied respectively to:
2932 \begin{itemize}
2933 \item 1) $U$ and $V$,
2934 \item 2) $H$,
2935 \item 3) $T$,
2936 \item 4) $k$ and $\epsilon$.
2937 \end{itemize}
2938 If using a distributive scheme (3, 4, 5, 13, 14, 15),
2939 the coefficient applied to $H$ is automatically set to 0.
2940 Moreover, if using \telkey{TREATMENT OF NEGATIVE DEPTHS} = 2 or 3
2941 with \telkey{OPTION FOR THE TREATMENT OF TIDAL FLATS} = 1,
2942 it is mandatory to choose 0 for the 2nd component of
2943 \telkey{SUPG OPTION} (water depth).""",
2944         ),
2945 #       -----------------------------------
2946         NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='f',
2947 #       -----------------------------------
2948             typ = 'I',
2949             defaut = 3,
2950             fr = """Voir les release notes 6.3.
2951 Nombre de points de Gauss utilises pour le calcul des caracteristiques
2952 faibles.
2953 Les choix possibles sont :
2954 \begin{itemize}
2955 \item 1 point ;
2956 \item 3 points ;
2957 \item 4 points ;
2958 \item 6 points ;
2959 \item 7 points ;
2960 \item 12 points.
2961 \end{itemize}
2962 Plus le nombre est grand, plus le schema sera conservatif,
2963 mais plus les couts de calculs seront eleves.""",
2964             ang = """See release notes 6.3.
2965 Number of Gauss points used to compute the weak characteristics.
2966 Possible choices are:
2967 \begin{itemize}
2968 \item 1 point,
2969 \item 3 points,
2970 \item 4 points,
2971 \item 6 points,
2972 \item 7 points,
2973 \item 12 points.
2974 \end{itemize}
2975 The bigger the number is, the more conservative the scheme is,
2976 but the higher the computational costs are.""",
2977         ),
2978 #       -----------------------------------
2979         MASS_LUMPING_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='o',
2980 #       -----------------------------------
2981             typ = 'R',
2982             defaut = 0.,
2983             fr = """Fixe le taux de mass-lumping qui est applique a la matrice de
2984 masse lors de l''utilisation des caracteristiques faibles.""",
2985             ang = """Sets the amount of mass-lumping that is applied to the mass
2986 matrix when using weak characteristics.""",
2987         ),
2988 #       -----------------------------------
2989         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')",
2990 #       -----------------------------------
2991         ),
2992 #       -----------------------------------
2993         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES = SIMP(statut ='o',
2994 #       -----------------------------------
2995             typ = 'I',
2996             defaut = 50,
2997             fr = """Limite le nombre d''iterations pour les schemas de convection,
2998 seulement pour schemes 13, 14 et 15.
2999 Ancienne valeur par defaut = 10 jusqu en version 8.1.""",
3000             ang = """Limits the number of solver iterations for the advection
3001 schemes, only for schemes 13, 14 and 15.
3002 Old default value = 10 until release 8.1.""",
3003         ),
3004 #       -----------------------------------
3005         MASS_LUMPING_ON_H = SIMP(statut ='o',
3006 #       -----------------------------------
3007             typ = 'R',
3008             defaut = 0.,
3009             fr = """\telemac{2d} offre la possibilite d''effectuer du mass-lumping
3010 sur $H$ ou sur la vitesse.
3011 Ceci revient a ramener tout ou partie (suivant la valeur de ce
3012 coefficient) des matrices AM1 (h) ou AM2 (U) et AM3 (V) sur
3013 leur diagonale.
3014 Cette technique permet d''accelerer le code dans des proportions tres
3015 importantes et de le rendre egalement beaucoup plus stable. Cependant
3016 les solutions obtenues se trouvent lissees.
3017 Ce parametre fixe le taux de mass-lumping effectue sur $H$.""",
3018             ang = """\telemac{2d} provides an opportunity to carry out mass-lumping
3019 either on $H$ or on the velocity.
3020 This is equivalent to bringing the matrices AM1 (h) or AM2 (U) and
3021 AM3 (V) wholly or partly, back onto their diagonal.
3022 Thanks to that technique, the code can be speeded up to a quite
3023 significant extent and it can also be made much more stable. The
3024 resulting solutions, however, become artificially smoothed.
3025 This parameter sets the extent of mass-lumping that is performed
3026 on $h$.""",
3027         ),
3028 #       -----------------------------------
3029         MASS_LUMPING_ON_VELOCITY = SIMP(statut ='o',
3030 #       -----------------------------------
3031             typ = 'R',
3032             defaut = 0.,
3033             fr = """Fixe le taux de mass-lumping effectue sur la vitesse.
3034 Le mot-cle \telkey{TRAITEMENT DU SYSTEME LINEAIRE} change la valeur
3035 utilisee a 1.""",
3036             ang = """Sets the amount of mass-lumping that is performed on the velocity.
3037 The keyword \telkey{TREATMENT OF THE LINEAR SYSTEM} changes the
3038 used value to 1.""",
3039         ),
3040 #       -----------------------------------
3041         SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='f',
3042 #       -----------------------------------
3043             typ = 'I',
3044             defaut = 1,
3045             fr = """Si present remplace et a priorite sur :
3046 \telkey{OPTION POUR LES CARACTERISTIQUES}
3047 \telkey{OPTION DE SUPG}.
3048 Si caracteristiques :
3049 \begin{itemize}
3050 \item 1 = forme forte,
3051 \item 2 = forme faible.
3052 \end{itemize}
3053 Si schema PSI ou N :
3054 \begin{itemize}
3055 \item 1 = explicite ;
3056 \item 2 = predicteur-correcteur ;
3057 \item 3 = predicteur-correcteur 2e ordre en temps ;
3058 \item 4 = implicite.
3059 \end{itemize}""",
3060             ang = """If present replaces and has priority over:
3061 \telkey{OPTION FOR CHARACTERISTICS}
3062 \telkey{SUPG OPTION}.
3063 If characteristics:
3064 \begin{itemize}
3065 \item 1 = strong form,
3066 \item 2 = weak form.
3067 \end{itemize}
3068 If N or PSI scheme:
3069 \begin{itemize}
3070 \item 1 = explicit,
3071 \item 2 = predictor-corrector,
3072 \item 3 = predictor-corrector second-order in time,
3073 \item 4 = implicit.
3074 \end{itemize}""",
3075         ),
3076 #       -----------------------------------
3077         FREE_SURFACE_GRADIENT_COMPATIBILITY = SIMP(statut ='o',
3078 #       -----------------------------------
3079             typ = 'R',
3080             defaut = 1.,
3081             fr = """Des valeurs comprises entre 0 et 1 peuvent supprimer les
3082 oscillations parasites.""",
3083             ang = """Values between 0 and 1 may suppress spurious oscillations.""",
3084         ),
3085 #       -----------------------------------
3086         NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES = SIMP(statut ='o',
3087 #       -----------------------------------
3088             typ = 'I',
3089             defaut = 1,
3090             fr = """Permet de reactualiser, pour un meme pas de temps, les champs
3091 convecteur et propagateur au cours de plusieurs sous-iterations. A la
3092 premiere sous-iteration, ces champs sont donnes par C et le champ de
3093 vitesses au pas de temps precedent. Aux iterations suivantes, ils sont
3094 pris egaux au champ de vitesse obtenu a la fin de la sous-iteration
3095 precedente. Cette technique permet d''ameliorer la prise en compte des
3096 non linearites.""",
3097             ang = """Used for updating, within one time step, the advection and
3098 propagation field.
3099 upon the first sub-iteration, these fields are given by
3100 C and the velocity field in the previous time step. At subsequent
3101 iterations, the results of the previous sub-iteration is used to
3102 update the advection and propagation field.
3103 The non-linearities can be taken into account through this technique.""",
3104         ),
3105 #       -----------------------------------
3106         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'])",
3107 #       -----------------------------------
3108         ),
3109 #       -----------------------------------
3110         TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES = SIMP(statut ='o',
3111 #       -----------------------------------
3112             typ = 'TXM', min=0, max='**',
3113             into = ["Priority to prescribed values","Priority to fluxes"],
3114             defaut = ["Priority to prescribed values"],
3115             fr = """Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouve
3116 pas exactement les valeurs imposees des traceurs, mais le flux est
3117 correct. Une seule meme valeur pour toutes les frontieres liquides.""",
3118             ang = """Used so far only with the SUPG, PSI and N schemes. With option 2,
3119 Dirichlet prescribed values are not obeyed, but the fluxes are correct.
3120 One single and same value for every liquid boundary.""",
3121         ),
3122 #       -----------------------------------
3123         NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
3124 #       -----------------------------------
3125             typ = 'I',
3126             defaut = [1],
3127             fr = """Pour les options avec predicteur-correcteur et schema de convection
3128 de type (3, 4, 5, LIPS ou pas et ERIA).
3129 Nombre d iterations pour tous les pas de temps (ou sous pas) pour
3130 converger vers la solution.
3131 Il est utile pour les cas non stationnaires.
3132 Pour les ecoulements quasi-stationnaires, ce mot-cle n a pas d impact
3133 sur la solution, il peut donc etre fixe a 0.
3134 D un autre cote, pour les ecoulements instationnaires, il est suggere
3135 de fixer ce mot-cle a 2 (au moins), ce qui est un bon compromis
3136 entre precision et temps CPU.
3137 En effet, en augmentant le nombre de corrections, le schema est plus
3138 precis mais le temps CPU augmente rapidement.""",
3139             ang = """For predictor-corrector options with advection scheme of type
3140 3, 4, 5, LIPS or not, and ERIA).
3141 Number of iterations for every time step (or sub-time step) to converge
3142 to the solution.
3143 It is useful for unsteady cases.
3144 For quasi-steady flows, this keyword does not have a large impact
3145 on the solution, so it can be set to 0.
3146 On the other hand, for unsteady flows, it is suggested to set this
3147 keyword to 2 (at least), which is a good compromise between accuracy
3148 and computational time. Indeed, increasing the number of corrections
3149 the scheme is more accurate but the CPU time rapidly increases.""",
3150         ),
3151 #       -----------------------------------
3152         NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
3153 #       -----------------------------------
3154             typ = 'I',
3155             defaut = 1,
3156             fr = """Pour les options predicteur-correcteur avec schema localement
3157 implicite (3, 4 or 5).
3158 Ce mot-cle permet de diviser le pas de temps donne par l utilisateur
3159 dans le \telkey{FICHIER DES PARAMETRES} en plusieurs sous-pas.
3160 A nouveau, il produit un effet sur la precision du schema et
3161 il est pratique d ajuster ce mot-cle afin d avoir des nombres de
3162 Courant pas trop grands (autour de 1).""",
3163             ang = """Only for implicit scheme with predictor-corrector (3, 4 or 5).
3164 This keyword allows to subdivide the time step given by the user in the
3165 \telkey{STEERING FILE}, into several sub-steps.
3166 Again, it produces an effect on the precision of the scheme and
3167 it is convenient to set this keyword in order to have Courant numbers
3168 not too large (around 1).""",
3169         ),
3170     ),
3171 #   -----------------------------------
3172     DIFFUSION = FACT(statut='o',
3173 #   -----------------------------------
3174 #       -----------------------------------
3175         DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
3176 #       -----------------------------------
3177             typ = bool,
3178             defaut = True,
3179             fr = """Permet de decider si l''on prend ou non en compte la diffusion
3180 des vitesses.""",
3181             ang = """Makes it possible to decide whether the diffusion of velocity
3182 (i.e. viscosity) is taken into account or not.""",
3183         ),
3184 #       -----------------------------------
3185         b_DIFFUSION_OF_VELOCITYG = BLOC(condition="DIFFUSION_OF_VELOCITY == True",
3186 #       -----------------------------------
3187 #           -----------------------------------
3188             IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
3189 #           -----------------------------------
3190                 typ = 'R',
3191                 defaut = 1.,
3192                 fr = """Fixe la valeur du coefficient d''implicitation sur les termes de
3193 diffusion des vitesses.""",
3194                 ang = """Sets the value of the implicitation coefficient for the diffusion of
3195 velocity.""",
3196             ),
3197 #           -----------------------------------
3198             OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES = SIMP(statut ='o',
3199 #           -----------------------------------
3200                 typ = 'TXM',
3201                 into = ["div( nu grad(U) )","1/h div ( h nu grad(U)"],
3202                 defaut = "div( nu grad(U) )",
3203                 fr = """Les choix possibles sont :
3204 \begin{itemize}
3205 \item 1: Diffusion de la forme div( $\nu$ grad($U$) ) ;
3206 \item 2: Diffusion de la forme 1/$h$ div ( $h$ $\nu$ grad($U$) ).
3207 \end{itemize}""",
3208                 ang = """Possible choices are:
3209 \begin{itemize}
3210 \item 1: Diffusion in the form div( $\nu$ grad($U$) ),
3211 \item 2: Diffusion in the form 1/$h$ div ( $h$ $\nu$ grad($U$) ).
3212 \end{itemize}""",
3213             ),
3214         ),
3215     ),
3216 #   -----------------------------------
3217     AUTOMATIC_DIFFERENTIATION = FACT(statut='o',
3218 #   -----------------------------------
3219 #       -----------------------------------
3220         AD_NUMBER_OF_DERIVATIVES = SIMP(statut ='o',
3221 #       -----------------------------------
3222             typ = 'I',
3223             defaut = 0,
3224             fr = """Definit le nombre de derivees utilisateurs, dans le cadre
3225 de la differentiation algorithmique.""",
3226             ang = """Defines the number of user derivatives, within the framework
3227 of the algorithmic differentiation.""",
3228         ),
3229 #       -----------------------------------
3230         AD_NAMES_OF_DERIVATIVES = SIMP(statut ='f',
3231 #       -----------------------------------
3232             typ = 'TXM', min= 2, max= 2,
3233             fr = """Noms des differentiateurs utilisateurs en 32 caracteres,
3234          16 pour le nom, 16 pour l''unite.""",
3235             ang = """Name of user differentiators in 32 characters,
3236          16 for the name, 16 for the unit.""",
3237         ),
3238 #       -----------------------------------
3239         AD_SYMBOLIC_LINEAR_SOLVER = SIMP(statut ='f',
3240 #       -----------------------------------
3241             typ = bool,
3242             defaut = False,
3243             fr = """Permet le solveur lineaire symbolique pour l AD.""",
3244             ang = """Enables the symbolic linear solver for AD.""",
3245         ),
3246 #       -----------------------------------
3247         AD_LINEAR_SOLVER_RESET_DERIVATIVES = SIMP(statut ='f',
3248 #       -----------------------------------
3249             typ = bool,
3250             defaut = True,
3251             fr = """Remet a zero les derivees pour l AD.""",
3252             ang = """Resets the derivatives for AD.""",
3253         ),
3254 #       -----------------------------------
3255         AD_LINEAR_SOLVER_DERIVATIVE_CONVERGENCE = SIMP(statut ='f',
3256 #       -----------------------------------
3257             typ = bool,
3258             defaut = True,
3259             fr = """Solveur lineaire iteratif : test de convergence des derivees
3260 pour l AD.""",
3261             ang = """Iterative linear solvers: derivative convergence test for AD.""",
3262         ),
3263     ),
3264 )
3265 # -----------------------------------------------------------------------
3266 GENERAL_PARAMETERS = PROC(nom= "GENERAL_PARAMETERS",op = None,
3267 # -----------------------------------------------------------------------
3268 #   -----------------------------------
3269     DEBUGGER = SIMP(statut ='o',
3270 #   -----------------------------------
3271         typ = 'I',
3272         defaut = 0,
3273         fr = """Pour imprimer la sequence des appels, mettre 1.""",
3274         ang = """If 1, calls of subroutines will be printed in the listing.""",
3275     ),
3276 #   -----------------------------------
3277     TIME = FACT(statut='o',
3278 #   -----------------------------------
3279 #       -----------------------------------
3280         TIME_STEP = SIMP(statut ='o',
3281 #       -----------------------------------
3282             typ = 'R',
3283             defaut = 1.,
3284             fr = """Definit le pas de temps en secondes. Remarque : Pour une bonne
3285 precision; il est souhaitable de choisir le pas de temps de telle sorte
3286 que le nombre de Courant de propagation soit inferieur a 2 ; voir 3.
3287 Ceci peut etre realisable en hydraulique fluviale ; mais ne l''est
3288 pratiquement jamais en hydraulique maritime ou l''on peut atteindre des
3289 valeurs de 50.""",
3290             ang = """Specifies the time step in seconds.""",
3291         ),
3292 #       -----------------------------------
3293         NUMBER_OF_TIME_STEPS = SIMP(statut ='f',
3294 #       -----------------------------------
3295             typ = 'I',
3296             defaut = 1,
3297             fr = """ Definit le nombre de pas de temps effectues lors de l''execution du
3298 code.""",
3299             ang = """ Specifies the number of time steps performed when running the code.""",
3300         ),
3301 #       -----------------------------------
3302         DURATION = SIMP(statut ='f',
3303 #       -----------------------------------
3304             typ = 'R',
3305             defaut = 0.,
3306             fr = """Duree de la simulation. Alternative au parametre
3307 \telkey{NOMBRE DE PAS DE TEMPS}.
3308 On en deduit le nombre de pas de temps en prenant l''entier le
3309 plus proche de (duree du calcul/pas de temps).
3310 Si le \telkey{NOMBRE DE PAS DE TEMPS} est aussi donne,
3311 on prend la plus grande valeur.""",
3312             ang = """Sets the duration of simulation in seconds.
3313 May be used instead of the parameter \telkey{NUMBER OF TIME STEPS}.
3314 The nearest integer to (duration/time step) is taken.
3315 If \telkey{NUMBER OF TIME STEPS} is also given,
3316 the greater value is taken.""",
3317         ),
3318 #       -----------------------------------
3319         ORIGINAL_DATE_OF_TIME = SIMP(statut ='o',
3320 #       -----------------------------------
3321             typ = 'I', min= 3, max= 3,
3322             defaut = [1900,1,1],
3323             fr = """Permet de fixer la date d''origine des temps du modele lorsque
3324 la maree est prise en compte (force generatrice de la maree et/ou les
3325 conditions aux limites de maritimes).
3326 Egalement utilise pour les flotteurs,
3327 les echanges thermiques avec l atmosphere, le frazil,
3328 le chainage avec DELWAQ.""",
3329             ang = """Enables to set the date of the time origin of the model when
3330 taking into account of the tide (tide generator force and/or the tidal
3331 boundary conditions).
3332 Also used with drogues, heat exchange with atmosphere, frazil,
3333 chaining with DELWAQ.""",
3334         ),
3335 #       -----------------------------------
3336         ORIGINAL_HOUR_OF_TIME = SIMP(statut ='o',
3337 #       -----------------------------------
3338             typ = 'I', min= 3, max= 3,
3339             defaut = [0,0,0],
3340             fr = """Permet de fixer l''heure d''origine des temps du modele lorsque
3341 la maree est prise en compte (force generatrice de la maree et/ou les
3342 conditions aux limites de maritimes.
3343 Egalement utilise pour les flotteurs,
3344 les echanges thermiques avec l atmosphere, le frazil,
3345 le chainage avec DELWAQ.""",
3346             ang = """Enables to set the time of the time origin of the model when
3347 taking into account of the tide (tide generator force and/or the tidal
3348 boundary conditions).
3349 Also used with drogues, heat exchange with atmosphere, frazil,
3350 chaining with DELWAQ.""",
3351         ),
3352 #       -----------------------------------
3353         STOP_IF_A_STEADY_STATE_IS_REACHED = SIMP(statut ='o',
3354 #       -----------------------------------
3355             typ = bool,
3356             defaut = False,
3357             fr = """A utiliser avec le mot-cle : \telkey{CRITERES D''ARRET}.""",
3358             ang = """To be used with the keyword: \telkey{STOP CRITERIA}.""",
3359         ),
3360 #       -----------------------------------
3361         b_STOP_IF_A_STEADY_STATE_IS_REACHEDG = BLOC(condition="STOP_IF_A_STEADY_STATE_IS_REACHED == True",
3362 #       -----------------------------------
3363 #           -----------------------------------
3364             STOP_CRITERIA = SIMP(statut ='o',
3365 #           -----------------------------------
3366                 typ = 'R', min= 3, max= 3,
3367                 defaut = [1.E-4,1.E-4,1.E-4],
3368                 fr = """Criteres d''arret pour un ecoulement permanent.
3369 Ces coefficients sont respectivement appliques a:
3370 \begin{itemize}
3371 \item $U$ et $V$ ;
3372 \item $H$ ;
3373 \item Tracers.
3374 \end{itemize}
3375 A utiliser avec le mot-cle
3376 \telkey{ARRET SI UN ETAT PERMANENT EST ATTEINT}.""",
3377                 ang = """Stop criteria for a steady state.
3378 These coefficients are applied respectively to:
3379 \begin{itemize}
3380 \item $U$ and $V$,
3381 \item $H$,
3382 \item Tracers.
3383 \end{itemize}
3384 To be used with the keyword
3385 \telkey{STOP IF A STEADY STATE IS REACHED}.""",
3386             ),
3387         ),
3388 #       -----------------------------------
3389         CONTROL_OF_LIMITS = SIMP(statut ='o',
3390 #       -----------------------------------
3391             typ = bool,
3392             defaut = False,
3393             fr = """Utiliser avec le mot-cle : \telkey{VALEURS LIMITES}.
3394 Le programme s''arrete si les limites sur
3395 $U$, $V$, $H$ ou traceurs sont depassees.""",
3396             ang = """Use with the key-word: \telkey{LIMIT VALUES}.
3397 The program is stopped if
3398 the limits on $U$, $V$, $H$ or tracers are trepassed.""",
3399         ),
3400 #       -----------------------------------
3401         b_CONTROL_OF_LIMITSG = BLOC(condition="CONTROL_OF_LIMITS == True",
3402 #       -----------------------------------
3403 #           -----------------------------------
3404             LIMIT_VALUES = SIMP(statut ='o',
3405 #           -----------------------------------
3406                 typ = 'R', min= 8, max= 8,
3407                 defaut = [-1000.,9000.,-1000.,1000.,-1000.,1000.,-1000.,1000.],
3408                 fr = """Utilise avec le mot-cle \telkey{CONTROLE DES LIMITES}.
3409 Valeurs minimales et maximales acceptables pour
3410 $H$, $U$ ,$V$ et traceurs dans l''ordre suivant :
3411 min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T).""",
3412                 ang = """To be used with the key-word \telkey{CONTROL OF LIMITS}.
3413 Min and max acceptable values for
3414 $H$, $U$, $V$ and tracers in the following order:
3415 min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T).""",
3416             ),
3417         ),
3418 #       -----------------------------------
3419         VARIABLE_TIME_STEP = SIMP(statut ='o',
3420 #       -----------------------------------
3421             typ = bool,
3422             defaut = False,
3423             fr = """Pas de temps variable pour avoir un nombre de Courant souhaite.""",
3424             ang = """Variable time-step to get a given Courant number.""",
3425         ),
3426 #       -----------------------------------
3427         b_VARIABLE_TIME_STEPG = BLOC(condition="VARIABLE_TIME_STEP == True",
3428 #       -----------------------------------
3429 #           -----------------------------------
3430             DESIRED_COURANT_NUMBER = SIMP(statut ='o',
3431 #           -----------------------------------
3432                 typ = 'R',
3433                 defaut = 1.,
3434                 fr = """Nombre de Courant souhaite en cas de pas de temps variable.""",
3435                 ang = """Desired Courant number when \telkey{VARIABLE TIME-STEP} is set to YES.""",
3436             ),
3437         ),
3438     ),
3439 #   -----------------------------------
3440     LOCATION = FACT(statut='o',
3441 #   -----------------------------------
3442 #       -----------------------------------
3443         SPHERICAL_COORDINATES = SIMP(statut ='o',
3444 #       -----------------------------------
3445             typ = bool,
3446             defaut = False,
3447             fr = """Choix des coordonnees spheriques pour la realisation du calcul
3448 (pour les grands domaines de calcul).
3449 Attention : cette option est etroitement liee au
3450 maillage qui doit avoir
3451 ete saisi sur une carte marine en projection de Mercator.
3452 Il faut de plus relever sur la carte la
3453 \telkey{LATITUDE DU POINT ORIGINE}
3454 qui correspond dans le maillage a l''ordonnee $y$ = 0.""",
3455             ang = """Selection of spherical coordinates to perform the computation
3456 (for large computation domains).
3457 Warning: this option is closely related to the mesh that should have
3458 been entered onto a nautical chart drawn as per Mercator projection
3459 The \telkey{LATITUDE OF ORIGIN POINT}, which corresponds to
3460 ordinate $y$ = 0 in the mesh, must moreover be given.""",
3461         ),
3462 #       -----------------------------------
3463         b_SPHERICAL_COORDINATESG = BLOC(condition="SPHERICAL_COORDINATES == True",
3464 #       -----------------------------------
3465 #           -----------------------------------
3466             LATITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
3467 #           -----------------------------------
3468                 typ = 'R',
3469                 defaut = 48.,
3470                 fr = """Determine l''origine utilisee pour le calcul de latitudes
3471 lorsque l''on effectue un calcul en coordonnees spheriques.
3472 Egalement utilise pour les echanges thermiques avec l atmosphere,
3473 le modele d Okada pour les tsunamis, le frazil.""",
3474                 ang = """Determines the origin used for computing latitudes when
3475 a computation is made in spherical coordinates.
3476 This latitude is in particular used to compute the Coriolis force.
3477 In cartesian coordinates, Coriolis coefficient is considered constant.
3478 Also used for heat exchange with atmosphere, Okada model for tsunamis,
3479 frazil.""",
3480             ),
3481         ),
3482 #       -----------------------------------
3483         LONGITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
3484 #       -----------------------------------
3485             typ = 'R',
3486             defaut = 0.,
3487             fr = """Fixe la valeur de la longitude du point origine du modele,
3488 lors de l''utilisation de la force generatrice de la maree.
3489 Pour la projection de Mercator, voir le mot cle
3490 \telkey{SYSTEME GEOGRAPHIQUE}.
3491 Egalement utilise pour la force generatrice de la maree,
3492 les echanges thermiques avec l atmosphere,
3493 le modele d Okada pour les tsunamis.""",
3494             ang = """Give the value of the longitude of the origin point
3495 of the model, when taking into account of the tide generator force.
3496 For the Mercator projection, see the keyword
3497 \telkey{GEOGRAPHIC SYSTEM}.
3498 Also used for tide generating force, heat exchange with atmosphere,
3499 Okada model for tsunamis.""",
3500         ),
3501 #       -----------------------------------
3502         NORTH = SIMP(statut ='f',
3503 #       -----------------------------------
3504             typ = 'R',
3505             defaut = 0.,
3506             fr = """Angle que fait le nord en degres, par rapport a l''axe des $y$
3507 dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres
3508 et 30 minutes.
3509 Lu mais non utilise.""",
3510             ang = """Angle of the North with the $y$ axis, counted counter-clockwise,
3511 in degrees. 10.5 means 10 degrees and 30 minutes. Read but not used.""",
3512         ),
3513 #       -----------------------------------
3514         SPATIAL_PROJECTION_TYPE = SIMP(statut ='o',
3515 #       -----------------------------------
3516             typ = 'TXM',
3517             into = ["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"],
3518             defaut = "CARTESIAN, NOT GEOREFERENCED",
3519             fr = """Permet de specifier le type de projection spatiale utilisee dans
3520 le cas de l''utilisation des coordonnees spheriques par exemple.
3521 Les choix possibles sont :
3522 \begin{itemize}
3523 \item 1 : Lambert Cartesien non georeference ;
3524 \item 2 : Mercator ;
3525 \item 3 : Latitude/longitude (exprimees en degres).
3526 \end{itemize}
3527 Option 2 ou 3 obligatoire pour les coordonnees spheriques.
3528 Option 3 : latitude et longitude en degres !
3529 Dans le cas de l''option 3, \telemac{2d} convertit les informations
3530 latitude/longitude a l''aide de la projection de Mercator.""",
3531             ang = """Specifies the type of spatial projection used
3532 (for example when using spherical coordinates).
3533 Possible choices are:
3534 \begin{itemize}
3535 \item 1: Cartesian, not georeferenced,
3536 \item 2: Mercator,
3537 \item 3: latitude/longitude (in degrees).
3538 \end{itemize}
3539 Option 2 or 3 mandatory for spherical coordinates. Option 3: latitude
3540 and longitude in degrees! When using option 3, the coordinates are
3541 automatically
3542 treated by \telemac{2d} using Mercator projection.""",
3543         ),
3544     ),
3545 )
3546 # -----------------------------------------------------------------------
3547 TURBULENCE = PROC(nom= "TURBULENCE",op = None,
3548 # -----------------------------------------------------------------------
3549 #   -----------------------------------
3550     VELOCITY_DIFFUSIVITY = SIMP(statut ='o',
3551 #   -----------------------------------
3552         typ = 'R',
3553         defaut = 1.E-6,
3554         fr = """Fixe de facon uniforme pour l''ensemble du domaine,
3555 la valeur du coefficient de diffusion de viscosite globale (dynamique +
3556 turbulente). Cette valeur peut avoir une influence non negligeable sur
3557 la forme et la taille des recirculations.""",
3558         ang = """Sets, in an even way for the whole domain, the value of the
3559 coefficient of global (dynamic+turbulent) viscosity. This value may
3560 have a significant effect both on the shapes and sizes of
3561 recirculation zones.""",
3562     ),
3563 #   -----------------------------------
3564     TURBULENCE_MODEL = SIMP(statut ='o',
3565 #   -----------------------------------
3566         typ = 'TXM',
3567         into = ["CONSTANT VISCOSITY","ELDER","K-EPSILON MODEL","SMAGORINSKI","MIXING LENGTH","SPALART-ALLMARAS"],
3568         defaut = "CONSTANT VISCOSITY",
3569         fr = """6 choix sont possibles actuellement :
3570 \begin{itemize}
3571 \item 1 : viscosite constante ;
3572 \item 2 : modele de Elder ;
3573 \item 3 : modele $k$-$\epsilon$ ;
3574 \item 4 : modele de Smagorinski ;
3575 \item 5 : modele de longueur de melange ;
3576 \item 6 : modele de Spalart-Allmaras.
3577 \end{itemize}
3578 Attention : si on choisit l''option 1
3579 il ne faut pas oublier d''ajuster la valeur du mot-cle
3580 \telkey{COEFFICIENT DE DIFFUSION DES VITESSES}.
3581 Si on choisit l''option 2,
3582 il ne faut pas oublier d''ajuster les deux valeurs du mot-cle :
3583 \telkey{COEFFICIENTS ADIMENSIONNELS DE DISPERSION}.
3584 Si on choisit l''option 3,
3585 ce meme parametre doit retrouver sa vraie valeur physique car elle est
3586 utilisee comme telle dans le modele de turbulence.""",
3587         ang = """The current alternatives are as follows:
3588 \begin{itemize}
3589 \item 1: constant viscosity,
3590 \item 2: elder''s model,
3591 \item 3: $k$-$\epsilon$ model,
3592 \item 4: Smagorinski model,
3593 \item 5: mixing length model,
3594 \item 6: Spalart-Allmaras model.
3595 \end{itemize}
3596 NOTE: when option 1 is chosen, it should be kept in mind that the
3597 value of the keyword \telkey{VELOCITY DIFFUSIVITY} has to be ajusted.
3598 When option 2 is chosen, the two values of keyword
3599 \telkey{NON-DIMENSIONAL DISPERSION COEFFICIENTS} are used.
3600 When option 3 is chosen, this parameter should recover its true
3601 physical value, since it is used as such in the turbulence model.""",
3602     ),
3603 #   -----------------------------------
3604     b_TURBULENCE_MODELG = BLOC(condition="TURBULENCE_MODEL == 'CONSTANT VISCOSITY'",
3605 #   -----------------------------------
3606     ),
3607 #   -----------------------------------
3608     b_TURBULENCE_MODELH = BLOC(condition="TURBULENCE_MODEL == 'Elder'",
3609 #   -----------------------------------
3610 #       -----------------------------------
3611         NON_DIMENSIONAL_DISPERSION_COEFFICIENTS = SIMP(statut ='o',
3612 #       -----------------------------------
3613             typ = 'R', min= 2, max= 2,
3614             defaut = [6.,0.6],
3615             fr = """Coefficients longitudinal et transversal dans la formule de Elder.
3616 Utilises uniquement avec \telkey{MODELE DE TURBULENCE} = 2.""",
3617             ang = """Longitudinal and transversal coefficients in Elder s formula.
3618 Used only with \telkey{TURBULENCE MODEL} = 2.""",
3619         ),
3620     ),
3621 #   -----------------------------------
3622     ACCURACY_OF_SPALART_ALLMARAS = SIMP(statut ='f',
3623 #   -----------------------------------
3624         typ = 'R',
3625         defaut = 1.E-9,
3626         fr = """Fixe la precision demandee sur le modele de Spalart-Allmaras pour
3627 le test d''arret dans l''etape de diffusion et termes sources de
3628 $\tilde{\nu}$.""",
3629         ang = """Sets the required accuracy for the Spalart-Allmaras model in
3630 the diffusion and source terms step of the $\tilde{\nu}$.""",
3631     ),
3632 #   -----------------------------------
3633     INFORMATION_ABOUT_SPALART_ALLMARAS_MODEL = SIMP(statut ='f',
3634 #   -----------------------------------
3635         typ = bool,
3636         defaut = True,
3637         fr = """Si oui, les informations du solveur du modele de Spalart-Allmaras
3638 sont imprimees.""",
3639         ang = """If yes, informations about solver of Spalart-Allmaras model
3640 are printed to the listing.""",
3641     ),
3642 #   -----------------------------------
3643     ADVANCED = FACT(statut='o',
3644 #   -----------------------------------
3645 #       -----------------------------------
3646         TURBULENCE_REGIME_FOR_SOLID_BOUNDARIES = SIMP(statut ='f',
3647 #       -----------------------------------
3648             typ = 'TXM',
3649             into = ["smooth","rough"],
3650             defaut = "rough",
3651             fr = """ Permet de choisir le regime de turbulence aux parois.
3652 Les choix possibles sont :
3653 \begin{itemize}
3654 \item 1 : regime turbulent lisse ;
3655 \item 2 : regime turbulent rugueux.
3656 \end{itemize}""",
3657             ang = """ Provided for selecting the type of friction on the walls.
3658 Possible choices are:
3659 \begin{itemize}
3660 \item 1: smooth,
3661 \item 2: rough.
3662 \end{itemize}""",
3663         ),
3664 #       -----------------------------------
3665         INFORMATION_ABOUT_K_EPSILON_MODEL = SIMP(statut ='o',
3666 #       -----------------------------------
3667             typ = bool,
3668             defaut = True,
3669             fr = """Donne le nombre d''iterations du solveur de l''etape de
3670 diffusion et termes sources du modele $k-\epsilon$.""",
3671             ang = """Gives the number of iterations of the solver in the diffusion
3672 and source terms step of the $k-\epsilon$ model.""",
3673         ),
3674 #       -----------------------------------
3675         ADVECTION_OF_K_AND_EPSILON = SIMP(statut ='o',
3676 #       -----------------------------------
3677             typ = bool,
3678             defaut = True,
3679             fr = """Prise en compte ou non de la convection de $k$ et $\epsilon$
3680 (pour modele $k-\epsilon$) ou $\tilde{\nu}$
3681 (pour modele de Spalart-Allmaras).""",
3682             ang = """The $k$ and $\epsilon$ advection is taken into account or ignored
3683 (for $k-\epsilon$ model) or $\tilde{\nu}$ advection
3684 (for Spalart-Allmaras model).""",
3685         ),
3686 #       -----------------------------------
3687         b_ADVECTION_OF_K_AND_EPSILONG = BLOC(condition="ADVECTION_OF_K_AND_EPSILON == True",
3688 #       -----------------------------------
3689 #           -----------------------------------
3690             SCHEME_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
3691 #           -----------------------------------
3692                 typ = 'TXM',
3693                 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"],
3694                 defaut = "CHARACTERISTICS",
3695                 fr = """Choix du schema de convection pour $k$ et $\epsilon$ (pour modele
3696 $k-\epsilon$) ou $\tilde{\nu}$ (pour modele de Spalart-Allmaras),
3697 remplace \telkey{FORME DE LA CONVECTION}.""",
3698                 ang = """Choice of the advection scheme for $k$ and $\epsilon$ (for
3699 $k-\epsilon$ model) or $\tilde{\nu}$ (for Spalart-Allmaras model),
3700 replaces \telkey{TYPE OF ADVECTION}.""",
3701             ),
3702         ),
3703 #       -----------------------------------
3704         SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
3705 #       -----------------------------------
3706             typ = 'I',
3707             defaut = 1,
3708             fr = """Si present remplace et a priorite sur :
3709 \telkey{OPTION POUR LES CARACTERISTIQUES}
3710 \telkey{OPTION DE SUPG}.
3711 Si caracteristiques :
3712 \begin{itemize}
3713 \item 1 = forme forte,
3714 \item 2 = forme faible.
3715 \end{itemize}
3716 Si schema PSI ou N :
3717 \begin{itemize}
3718 \item 1 = explicite ;
3719 \item 2 = predicteur-correcteur ;
3720 \item 3 = predicteur-correcteur 2e ordre en temps ;
3721 \item 4 = implicite.
3722 \end{itemize}
3723 Mot-cle commun pour les variables $k$, $\epsilon$
3724 (pour modele $k-\epsilon$)
3725 et $\tilde{\nu}$ (pour modele de Spalart-Allmaras).""",
3726             ang = """If present replaces and has priority over:
3727 \telkey{OPTION FOR CHARACTERISTICS}
3728 \telkey{SUPG OPTION}.
3729 If characteristics:
3730 \begin{itemize}
3731 \item 1 = strong form,
3732 \item 2 = weak form.
3733 \end{itemize}
3734 If N or PSI scheme:
3735 \begin{itemize}
3736 \item 1 = explicit,
3737 \item 2 = predictor-corrector,
3738 \item 3 = predictor-corrector second-order in time,
3739 \item 4 = implicit.
3740 \end{itemize}
3741 Common keyword for variables $k$, $\epsilon$ (for $k-\epsilon$ model)
3742 and $\tilde{\nu}$ (for Spalart-Allmaras model).""",
3743         ),
3744 #       -----------------------------------
3745         MIXING_LENGTH_MODEL_COEFFICIENTS = SIMP(statut ='f',
3746 #       -----------------------------------
3747             typ = 'R', min= 2, max= 2,
3748             defaut = [0.1066667,0.0666667],
3749             fr = """Coefficients de calage $C_l$ et $\alpha_t$ dans la formule de longueur
3750 de melange.
3751 Utilises uniquement avec \telkey{MODELE DE TURBULENCE} = 5.""",
3752             ang = """Calibration coefficients $C_l$ and $\alpha_t$ in mixing length formula.
3753 Only used with \telkey{TURBULENCE MODEL} = 5.""",
3754         ),
3755     ),
3756 #   -----------------------------------
3757     SOLVER_INFO = FACT(statut='o',
3758 #   -----------------------------------
3759 #       -----------------------------------
3760         SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
3761 #       -----------------------------------
3762             typ = 'TXM',
3763             into = ["conjugate gradient","conjugate residual","conjugate gradient on normal equation","minimum error","squared conjugate gradient","conjugate gradient squared stabilised (cgstab)","gmres (see option for the solver for k-epsilon model)","direct"],
3764             defaut = "conjugate gradient",
3765             fr = """Permet de choisir le solveur utilise pour la resolution
3766 du systeme de diffusion de $k$, $\epsilon$ (pour modele $k-\epsilon$)
3767 ou $\tilde{\nu}$ (pour modele de Spalart-Allmaras).
3768 Les choix possibles sont :
3769 \begin{itemize}
3770 \item 1 : gradient conjugue,
3771 \item 2 : residu conjugue,
3772 \item 3 : gradient conjugue sur equation normale,
3773 \item 4 : erreur minimale,
3774 \item 5 : gradient conjugue carre (non programme),
3775 \item 6 : gradient conjugue carre stabilise (cgstab),
3776 \item 7 : GMRES (voir aussi \telkey{OPTION DU SOLVEUR}
3777 pour le modele $k$-$\epsilon$),
3778 \item 8 : direct.
3779 \end{itemize}""",
3780             ang = """Makes it possible to select the solver used for solving
3781 the system of the diffusion of $k$, $\epsilon$ (for $k-\epsilon$ model)
3782 or $\tilde{\nu}$ (for Spalart-Allmaras model).
3783 Possible choices are:
3784 \begin{itemize}
3785 \item 1: conjugate gradient,
3786 \item 2: conjugate residual,
3787 \item 3: conjugate gradient on a normal equation,
3788 \item 4: minimum error,
3789 \item 5: squared conjugate gradient (not implemented),
3790 \item 6: conjugate gradient squared stabilised (cgstab),
3791 \item 7: GMRES (see \telkey{OPTION FOR THE SOLVER FOR K-EPSILON MODEL}),
3792 \item 8: direct.
3793 \end{itemize}""",
3794         ),
3795 #       -----------------------------------
3796         OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
3797 #       -----------------------------------
3798             typ = 'I',
3799             defaut = 2,
3800             fr = """Si le solveur est GMRES (7), le mot cle est la dimension de
3801 l''espace de Krylov (valeurs conseillees entre 2 et 15).
3802 Mot-cle commun pour les variables $k$, $\epsilon$
3803 (pour modele $k-\epsilon$)
3804 et $\tilde{\nu}$ (pour modele de Spalart-Allmaras).""",
3805             ang = """When GMRES (7) is chosen for solver, dimension of the Krylov space.
3806 Try values between 2 and 15.
3807 Common keyword for variables $k$, $\epsilon$ (for $k-\epsilon$ model)
3808 and $\tilde{\nu}$ (for Spalart-Allmaras model).""",
3809         ),
3810 #       -----------------------------------
3811         PRECONDITIONING_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
3812 #       -----------------------------------
3813             typ = 'TXM',
3814             into = ["diagonal","no preconditioning","Crout","diagonal and Crout"],
3815             defaut = "diagonal",
3816             fr = """Permet de preconditionner le systeme relatif a la diffusion de
3817 $k$, $\epsilon$ (pour modele $k-\epsilon$) ou $\tilde{\nu}$
3818 (pour modele de Spalart-Allmaras)
3819 afin d''accelerer la convergence lors de sa resolution.
3820 \begin{itemize}
3821 \item 0 : pas de preconditionnement ;
3822 \item 2 : preconditionnement diagonal ;
3823 \item 7 : preconditionnement de Crout par element ou segment
3824 (ne marche pas en parallele).
3825 \end{itemize}
3826 Certains preconditionnements sont cumulables
3827 (les diagonaux 2 ou 3 avec les autres)
3828 Pour cette raison on ne retient que les nombres premiers pour
3829 designer les preconditionnements. Si l''on souhaite en cumuler
3830 plusieurs on formera le produit des options correspondantes.""",
3831             ang = """Choice of the preconditioning of the linear system in the diffusion
3832 step of $k$, $\epsilon$ (for $k-\epsilon$ model) or $\tilde{\nu}$
3833 (for Spalart-Allmaras model) so that the convergence is speeded up
3834 when it is being solved.
3835 \begin{itemize}
3836 \item 0: no preconditioning,
3837 \item 2: diagonal preconditioning,
3838 \item 7: Crout''s preconditioning per element or segment
3839 (does not work in parallel).
3840 \end{itemize}
3841 Some operations (either 2 or 3 diagonal preconditioning) can be
3842 performed concurrently with the others.
3843 Only prime numbers are therefore kept to denote the preconditioning
3844 operations. When several of them are to be performed concurrently,
3845 the product of relevant options shall be made.""",
3846         ),
3847     ),
3848 #   -----------------------------------
3849     ACCURACY = FACT(statut='o',
3850 #   -----------------------------------
3851 #       -----------------------------------
3852         ACCURACY_OF_K = SIMP(statut ='o',
3853 #       -----------------------------------
3854             typ = 'R',
3855             defaut = 1.E-9,
3856             fr = """Fixe la precision demandee sur $k$ pour le test d''arret dans
3857 l''etape de diffusion et termes sources de l equation sur $k$.""",
3858             ang = """Sets the required accuracy for computing $k$ in the diffusion
3859 and source terms step of the $k$ transport equation.""",
3860         ),
3861 #       -----------------------------------
3862         ACCURACY_OF_EPSILON = SIMP(statut ='o',
3863 #       -----------------------------------
3864             typ = 'R',
3865             defaut = 1.E-9,
3866             fr = """Fixe la precision demandee sur $\epsilon$ pour le test d''arret dans
3867 l''etape de diffusion et termes sources de l equation sur $\epsilon$.""",
3868             ang = """Sets the required accuracy for computing $\epsilon$ in the diffusion
3869 and source terms step of the $\epsilon$ transport equation.""",
3870         ),
3871 #       -----------------------------------
3872         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON = SIMP(statut ='o',
3873 #       -----------------------------------
3874             typ = 'I',
3875             defaut = 50,
3876             fr = """Fixe le nombre maximum d''iterations accepte lors de la resolution
3877 du systeme diffusion-termes sources de $k$, $\epsilon$ (pour modele
3878 $k-\epsilon$) ou $\tilde{\nu}$ (pour modele de Spalart-Allmaras).""",
3879             ang = """Sets the maximum number of iterations that are acceptable when
3880 solving the diffusion source-terms step of $k$, $\epsilon$ (for
3881 $k-\epsilon$ model) or $\tilde{\nu}$ (for Spalart-Allmaras model).""",
3882         ),
3883     ),
3884 )
3885 # -----------------------------------------------------------------------
3886 TIDAL_FLATS_INFO = PROC(nom= "TIDAL_FLATS_INFO",op = None,
3887 # -----------------------------------------------------------------------
3888 #   -----------------------------------
3889     TIDAL_FLATS = SIMP(statut ='o',
3890 #   -----------------------------------
3891         typ = bool,
3892         defaut = True,
3893         fr = """Permet de supprimer les tests sur les bancs decouvrants, dans
3894 les cas ou l''on est certain qu''il n''y en aura pas.
3895 En cas de doute, utiliser OUI.""",
3896         ang = """When NO, the specific treatments for tidal flats are by-passed.
3897 This spares time, but of course you must be sure that you have no
3898 tidal flats.""",
3899     ),
3900 #   -----------------------------------
3901     b_TIDAL_FLATSG = BLOC(condition="TIDAL_FLATS == True",
3902 #   -----------------------------------
3903 #       -----------------------------------
3904         OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS = SIMP(statut ='o',
3905 #       -----------------------------------
3906             typ = 'TXM',
3907             into = ["EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS","DRY ELEMENTS FROZEN","LIKE 1 BUT WITH POROSITY (DEFINA METHOD)"],
3908             defaut = "EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS",
3909             fr = """Utilise si \telkey{BANCS DECOUVRANTS} est OUI.
3910 Les choix possibles sont :
3911 \begin{itemize}
3912 \item 1 : equations resolues partout avec correction
3913 sur les bancs decouvrants (correction du gradient de surface libre) ;
3914 \item 2 : gel des elements decouvrants (zones de bancs decouvrants
3915 sont masquees).
3916 Attention : la conservation de la masse peut etre alteree ;
3917 \item 3 : comme 1 mais avec porosite (methode defina).
3918 \end{itemize}""",
3919             ang = """Used if \telkey{TIDAL FLATS} is YES.
3920 Possible choices are:
3921 \begin{itemize}
3922 \item 1: equations solved everywhere with correction on tidal flats
3923 (corrected free surface gradient),
3924 \item 2: dry elements are frozen (tidal flats area are masked).
3925 Warning: mass-conservation may be altered,
3926 \item 3: like 1 but with porosity (defina method).
3927 \end{itemize}""",
3928         ),
3929 #       -----------------------------------
3930         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'",
3931 #       -----------------------------------
3932 #           -----------------------------------
3933             TREATMENT_OF_NEGATIVE_DEPTHS = SIMP(statut ='o',
3934 #           -----------------------------------
3935                 typ = 'TXM',
3936                 into = ["NO TREATMENT","SMOOTHING","FLUX CONTROL","FLUX CONTROL (ERIA)"],
3937                 defaut = "SMOOTHING",
3938                 fr = """Seulement avec
3939 \telkey{OPTION DE TRAITEMENT DES BANCS DECOUVRANTS} = 1.
3940 Les choix possibles sont :
3941 \begin{itemize}
3942 \item 0 : pas de traitement ;
3943 \item 1 : lissage ;
3944 \item 2 : limitation des flux, approche par segment ;
3945 \item 3 : limitation des flux, approche par triangle.
3946 \end{itemize}
3947 Si les options 2 ou 3 avec bancs decouvrants sont utilisees,
3948 il est obligatoire d avoir \telkey{MASS-LUMPING SUR H} = 1.
3949 + \telkey{CORRECTION DE CONTINUITE} = OUI
3950 + \telkey{OPTION DE SUPG} pour hauteur d eau = 0
3951 (pas de decentrement SUPG sur la hauteur d eau).""",
3952                 ang = """Only with
3953 \telkey{OPTION FOR THE TREATMENT OF TIDAL FLATS} = 1.
3954 Possible choices are:
3955 \begin{itemize}
3956 \item 0: no treatment,
3957 \item 1: smoothing,
3958 \item 2: flux control, by segment,
3959 \item 3: flux control, by element.
3960 \end{itemize}
3961 If using options 2 or 3 with tidal flats, it is mandatory to set
3962 \telkey{MASS-LUMPING ON H} = 1. + \telkey{CONTINUITY CORRECTION} = YES +
3963 \telkey{SUPG OPTION} for water depth = 0 (no SUPG upwinding on depth).""",
3964             ),
3965         ),
3966 #       -----------------------------------
3967         THRESHOLD_FOR_NEGATIVE_DEPTHS = SIMP(statut ='o',
3968 #       -----------------------------------
3969             typ = 'R',
3970             defaut = 0.,
3971             fr = """En dessous du seuil, les hauteurs negatives sont lissees.
3972 Seulement utilise avec
3973 \telkey{TRAITEMENT DES HAUTEURS NEGATIVES} = 1.""",
3974             ang = """Below the threshold the negative depths are smoothed.
3975 Only used with \telkey{TREATMENT OF NEGATIVE DEPTHS} = 1.""",
3976         ),
3977 #       -----------------------------------
3978         THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE = SIMP(statut ='o',
3979 #       -----------------------------------
3980             typ = 'R',
3981             defaut = 0.,
3982             fr = """Si > 0., declenche la procedure de ressuyage qui evite le
3983 franchissement parasite des digues mal discretisees.""",
3984             ang = """If > 0., will trigger the receeding procedure that avoids overwhelming
3985 of dykes which are too loosely discretised.""",
3986         ),
3987 #       -----------------------------------
3988         H_CLIPPING = SIMP(statut ='o',
3989 #       -----------------------------------
3990             typ = bool,
3991             defaut = False,
3992             fr = """Determine si l''on desire ou non limiter par valeur inferieure
3993 la hauteur d''eau $H$ (dans le cas des bancs decouvrants par exemple).""",
3994             ang = """Determines whether limiting the water depth $H$ by a lower value
3995 desirable or not (for instance in the case of tidal flats).
3996 This keyword may have an influence on mass conservation since
3997 the truncation of depth is equivalent to adding mass.""",
3998         ),
3999 #       -----------------------------------
4000         b_H_CLIPPINGG = BLOC(condition="H_CLIPPING == True",
4001 #       -----------------------------------
4002 #           -----------------------------------
4003             MINIMUM_VALUE_OF_DEPTH = SIMP(statut ='o',
4004 #           -----------------------------------
4005                 typ = 'R',
4006                 defaut = 0.,
4007                 fr = """Fixe la valeur minimale de $H$ lorsque l''option \telkey{CLIPPING DE H}
4008 est activee.""",
4009                 ang = """Sets the minimum water depth $H$ value when option \telkey{H CLIPPING}
4010 is implemented. Not fully implemented.""",
4011             ),
4012         ),
4013     ),
4014 )
4015 # -----------------------------------------------------------------------
4016 TRACERS = PROC(nom= "TRACERS",op = None,
4017 # -----------------------------------------------------------------------
4018 #   -----------------------------------
4019     BOUNDARY_CONDITIONS_FOR_TRACERS = FACT(statut='f',
4020 #   -----------------------------------
4021 #       -----------------------------------
4022         PRESCRIBED_TRACERS_VALUES = SIMP(statut ='o',
4023 #       -----------------------------------
4024             typ = 'R', max='**',
4025             fr = """Valeurs du traceur imposees aux frontieres liquides entrantes.
4026 Lire la partie du mode d''emploi consacree aux conditions aux limites.""",
4027             ang = """Tracer values prescribed at the inflow boundaries.
4028 Read the user manual section dealing with the boundary conditions.""",
4029         ),
4030     ),
4031 #   -----------------------------------
4032     SETTING = FACT(statut='o',
4033 #   -----------------------------------
4034 #       -----------------------------------
4035         NUMBER_OF_TRACERS = SIMP(statut ='o',
4036 #       -----------------------------------
4037             typ = 'I',
4038             defaut = 0,
4039             fr = """Definit le nombre de traceurs.""",
4040             ang = """Defines the number of tracers""",
4041         ),
4042 #       -----------------------------------
4043         NAMES_OF_TRACERS = SIMP(statut ='o',
4044 #       -----------------------------------
4045             typ = 'TXM', min=0, max='**',
4046             fr = """Noms des traceurs en 32 caracteres, 16 pour le nom 16 pour l''unite.""",
4047             ang = """Name of tracers in 32 characters, 16 for the name, 16 for the unit.""",
4048         ),
4049 #       -----------------------------------
4050         INITIAL_VALUES_OF_TRACERS = SIMP(statut ='o',
4051 #       -----------------------------------
4052             typ = 'R', min=0, max='**',
4053             defaut = [0.,0.],
4054             fr = """Fixe la valeur initiale du/des traceur(s).
4055 Les valeurs requises sont separees par un point virgule ; si plus d une.
4056 Le nombre de valeurs fournies doit etre egal au nombre de traceurs
4057 declares.""",
4058             ang = """Sets the initial value of the tracer(s).
4059 Required value(s) separated with a semicolumn ; if more than one.
4060 The number of supplied values must be equal to the number of declared
4061 tracers.""",
4062         ),
4063 #       -----------------------------------
4064         DENSITY_EFFECTS = SIMP(statut ='o',
4065 #       -----------------------------------
4066             typ = bool,
4067             defaut = False,
4068             fr = """Prise en compte du gradient horizontal de densite.
4069 Le premier traceur est alors la salinite.
4070 $\rho_{\rm{eau}} = 999.972.(1-7.10^{-6}(T_{\rm{moy}}-4)^2)$.""",
4071             ang = """The horizontal gradient of density is taken into account.
4072 The 1st tracer is then the salinity.
4073 $\rho_{\rm{water}} = 999.972.(1-7.10^{-6}(T_{\rm{mean}}-4)^2)$.""",
4074         ),
4075 #       -----------------------------------
4076         b_DENSITY_EFFECTSG = BLOC(condition="DENSITY_EFFECTS == True",
4077 #       -----------------------------------
4078 #           -----------------------------------
4079             MEAN_TEMPERATURE = SIMP(statut ='o',
4080 #           -----------------------------------
4081                 typ = 'R',
4082                 defaut = 20.,
4083                 fr = """Temperature de reference pour le calcul des effets de densite.
4084 A utiliser avec le mot-cle \telkey{EFFETS DE DENSITE}.""",
4085                 ang = """Reference temperature for density effects.
4086 To be used with the keyword \telkey{DENSITY EFFECTS}.""",
4087             ),
4088         ),
4089 #       -----------------------------------
4090         b_DENSITY_EFFECTSH = BLOC(condition="DENSITY_EFFECTS == True",
4091 #       -----------------------------------
4092 #           -----------------------------------
4093             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
4094 #           -----------------------------------
4095                 defaut = "The first tracer must be the salinity in kg/m3"),
4096         ),
4097     ),
4098 #   -----------------------------------
4099     SOLVER_TRA = FACT(statut='o',
4100 #   -----------------------------------
4101 #       -----------------------------------
4102         SOLVER_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4103 #       -----------------------------------
4104             typ = 'TXM', min=0, max='**',
4105             into = ["conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","squared conjugate gradient","cgstab","gmres (see solver option for tracers diffusion)","direct"],
4106             defaut = ["conjugate gradient","conjugate gradient"],
4107             fr = """Permet de choisir le solveur utilise pour la resolution
4108 du systeme de diffusion de traceur(s) :
4109 Les choix possibles sont :
4110 \begin{itemize}
4111 \item 1 : gradient conjugue,
4112 \item 2 : residu conjugue,
4113 \item 3 : gradient conjugue sur equation normale,
4114 \item 4 : erreur minimale,
4115 \item 5 : gradient conjugue carre (non programme),
4116 \item 6 : gradient conjugue carre stabilise (cgstab),
4117 \item 7 : GMRES (voir aussi
4118 \telkey{OPTION DU SOLVEUR POUR LA DIFFUSION DES TRACEURS}),
4119 \item 8 : direct.
4120 \end{itemize}""",
4121             ang = """Makes it possible to select the solver used for solving
4122 the system of tracer(s) diffusion.
4123 Possible choices are:
4124 \begin{itemize}
4125 \item 1: conjugate gradient,
4126 \item 2: conjugate residual,
4127 \item 3: conjugate gradient on a normal equation,
4128 \item 4: minimum error,
4129 \item 5: squared conjugate gradient (not implemented),
4130 \item 6: cgstab,
4131 \item 7: GMRES (see \telkey{SOLVER OPTION FOR TRACERS DIFFUSION},
4132 \item 8: direct.
4133 \end{itemize}""",
4134         ),
4135 #       -----------------------------------
4136         SOLVER_OPTION_FOR_TRACERS_DIFFUSION = SIMP(statut ='o',
4137 #       -----------------------------------
4138             typ = 'I', min=0, max='**',
4139             defaut = [2],
4140             fr = """Si le solveur est GMRES (7), le mot cle est la dimension de
4141 l''espace de Krylov (valeurs conseillees entre 2 et 15).""",
4142             ang = """When GMRES (7) is chosen for solver, dimension of the Krylov space.
4143 Try values between 2 and 15.""",
4144         ),
4145 #       -----------------------------------
4146         PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4147 #       -----------------------------------
4148             typ = 'TXM', min=0, max='**',
4149             into = ["no preconditioning","diagonal","Crout","diagonal and Crout"],
4150             defaut = ["diagonal"],
4151             fr = """Permet de preconditionner le systeme relatif au traceur.
4152 afin d''accelerer la convergence lors de sa resolution.
4153 \begin{itemize}
4154 \item 0 : pas de preconditionnement ;
4155 \item 2 : preconditionnement diagonal ;
4156 \item 7 : preconditionnement de Crout par element ou segment
4157 (ne marche pas en parallele).
4158 \end{itemize}
4159 Certains preconditionnements sont cumulables
4160 (les diagonaux 2 ou 3 avec les autres)
4161 Pour cette raison on ne retient que les nombres premiers pour
4162 designer les preconditionnements. Si l''on souhaite en cumuler
4163 plusieurs on formera le produit des options correspondantes.""",
4164             ang = """Choice of the preconditioning of the linear system of the tracer
4165 diffusion so that the convergence is speeded up when it is being solved.
4166 \begin{itemize}
4167 \item 0: no preconditioning,
4168 \item 2: diagonal preconditioning,
4169 \item 7: Crout''s preconditioning per element or segment
4170 (does not work in parallel).
4171 \end{itemize}
4172 Some operations (either 2 or 3 diagonal preconditioning) can be
4173 performed concurrently with the others.
4174 Only prime numbers are therefore kept to denote the preconditioning
4175 operations. When several of them are to be performed concurrently,
4176 the product of relevant options shall be made.""",
4177         ),
4178     ),
4179 #   -----------------------------------
4180     ACCURACY_TRA = FACT(statut='o',
4181 #   -----------------------------------
4182 #       -----------------------------------
4183         ACCURACY_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4184 #       -----------------------------------
4185             typ = 'R',
4186             defaut = 1.E-6,
4187             fr = """Fixe la precision demandee pour le calcul de la diffusion
4188 du traceur.""",
4189             ang = """Sets the required accuracy for computing the tracer
4190 diffusion.""",
4191         ),
4192 #       -----------------------------------
4193         MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4194 #       -----------------------------------
4195             typ = 'I',
4196             defaut = 60,
4197             fr = """Limite le nombre d''iterations du solveur a chaque pas de temps pour
4198 le calcul de la diffusion du ou des traceur(s).""",
4199             ang = """Limits the number of solver iterations at each time step for
4200 the diffusion of tracer(s).""",
4201         ),
4202     ),
4203 #   -----------------------------------
4204     SOURCES_TRA = FACT(statut='f',
4205 #   -----------------------------------
4206 #       -----------------------------------
4207         VALUES_OF_THE_TRACERS_AT_THE_SOURCES = SIMP(statut ='o',
4208 #       -----------------------------------
4209             typ = 'R', min=0, max='**',
4210             fr = """Valeurs des traceurs a chacune des sources.
4211 toutes les sources pour le premier traceur
4212 puis toutes les sources du deuxieme traceur, etc.
4213 (cf. manuel utilisateur).
4214 Par exemple, s''il y a 3 traceurs (T1, T2 et T3) et 2 sources
4215 (S1 et S2), la syntaxe suivante est utilisee :\\
4216 S1\_T1;S1\_T2;S1\_T3;S2\_T1;S2\_T2;S2\_T3\\
4217 10.0; 10.0; 0.0;  0.0; 10.0; 10.0""",
4218             ang = """Values of the tracers at the sources.
4219 All sources for the first tracer, then
4220 all sources for the second tracer, etc.
4221 (see user manual).
4222 For example, if there are 3 tracers (T1, T2 and T3)
4223 and 2 sources (S1 and S2), the following syntax is used:\\
4224 S1\_T1;S1\_T2;S1\_T3;S2\_T1;S2\_T2;S2\_T3\\
4225 10.0; 10.0; 0.0;  0.0; 10.0; 10.0""",
4226         ),
4227     ),
4228 #   -----------------------------------
4229     METEOROLOGY_TRA = FACT(statut='f',
4230 #   -----------------------------------
4231 #       -----------------------------------
4232         VALUES_OF_TRACERS_IN_THE_RAIN = SIMP(statut ='o',
4233 #       -----------------------------------
4234             typ = 'R', min=0, max='**',
4235             fr = """Generalement, ce traceur est la temperature, dans ce cas
4236 cette valeur est a modifier, sinon la valeur 0 est raisonnable.""",
4237             ang = """Most often, this tracer is temperature, in this case
4238 this value should be modified, otherwise, default value of 0 seems
4239 reasonable.""",
4240         ),
4241     ),
4242 #   -----------------------------------
4243     NUMERICAL = FACT(statut='o',
4244 #   -----------------------------------
4245 #       -----------------------------------
4246         ADVECTION_OF_TRACERS = SIMP(statut ='o',
4247 #       -----------------------------------
4248             typ = bool,
4249             defaut = True,
4250             fr = """Prise en compte ou non de la convection du traceur passif.""",
4251             ang = """The advection of the passive tracer is taken into account
4252 or ignored.""",
4253         ),
4254 #       -----------------------------------
4255         b_ADVECTION_OF_TRACERSG = BLOC(condition="ADVECTION_OF_TRACERS == True",
4256 #       -----------------------------------
4257 #           -----------------------------------
4258             SCHEME_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='f',
4259 #           -----------------------------------
4260                 typ = 'TXM', min=0, max='**',
4261                 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"],
4262                 defaut = ["CHARACTERISTICS"],
4263                 fr = """Choix du schema de convection pour les traceurs,
4264 remplace \telkey{FORME DE LA CONVECTION}.""",
4265                 ang = """Choice of the advection scheme for the tracers,
4266 replaces \telkey{TYPE OF ADVECTION}.""",
4267             ),
4268         ),
4269 #       -----------------------------------
4270         IMPLICITATION_COEFFICIENT_OF_TRACERS = SIMP(statut ='o',
4271 #       -----------------------------------
4272             typ = 'R',
4273             defaut = 0.6,
4274             fr = """Fixe la valeur du coefficient d''implicitation du traceur.
4275 Si un schema de convection pour les traceurs est un schema distributif
4276 (par ex : 3, 4, 5, 13, 14 ou 15),
4277 \telkey{COEFFICIENT D''IMPLICITATION DES TRACEURS} est impose a 0.
4278 (explicite).""",
4279             ang = """Sets the value of the implicitation coefficient
4280 for the tracer.
4281 If an advection scheme for tracers is a distributive scheme
4282 (e.g.: 3, 4, 5, 13, 14 or 15),
4283 \telkey{IMPLICITATION COEFFICIENT OF TRACERS} is prescribed at 0.
4284 (explicit).""",
4285         ),
4286 #       -----------------------------------
4287         DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4288 #       -----------------------------------
4289             typ = bool,
4290             defaut = True,
4291             fr = """Prise en compte ou non de la diffusion du traceur passif.""",
4292             ang = """The diffusion of the passive tracer is taken into account
4293 or ignored.""",
4294         ),
4295 #       -----------------------------------
4296         b_DIFFUSION_OF_TRACERSG = BLOC(condition="DIFFUSION_OF_TRACERS == True",
4297 #       -----------------------------------
4298 #           -----------------------------------
4299             COEFFICIENT_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4300 #           -----------------------------------
4301                 typ = 'R', min=0, max='**',
4302                 defaut = [1.E-6],
4303                 fr = """Fixe la valeur du coefficient de diffusion du traceur.
4304 L''influence de ce parametre sur l''evolution des traceurs dans
4305 le temps est importante.
4306 C est un tableau depuis la version 8.2, avec une valeur par traceur,
4307 separation par un point virgule.""",
4308                 ang = """Sets the value of the tracer diffusivity.
4309 These values may have a significant effect on the evolution of
4310 tracers in time.
4311 Since release 8.2, it has been an array, with one value per tracer,
4312 separated by semicolons.""",
4313             ),
4314         ),
4315 #       -----------------------------------
4316         OPTION_FOR_THE_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
4317 #       -----------------------------------
4318             typ = 'TXM', min=0, max='**',
4319             into = ["div( nu grad(T) )","1/h div ( h nu grad(T)"],
4320             defaut = ["div( nu grad(T) )"],
4321             fr = """Choix possibles :
4322 \begin{itemize}
4323 \item 1: Diffusion de la forme div( nu grad(T) ),
4324 \item 2: Diffusion de la forme 1/h div ( h nu grad(T) ).
4325 \end{itemize}""",
4326             ang = """Possible choices:
4327 \begin{itemize}
4328 \item 1: Diffusion in the form div( nu grad(T) ),
4329 \item 2: Diffusion in the form 1/h div ( h nu grad(T) ).
4330 \end{itemize}""",
4331         ),
4332 #       -----------------------------------
4333         SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='o',
4334 #       -----------------------------------
4335             typ = 'I', min=0, max='**',
4336             defaut = [1],
4337             fr = """Si present remplace et a priorite sur :
4338 \telkey{OPTION POUR LES CARACTERISTIQUES}
4339 \telkey{OPTION DE SUPG}.
4340 Si caracteristiques :
4341 \begin{itemize}
4342 \item 1 = forme forte,
4343 \item 2 = forme faible.
4344 \end{itemize}
4345 Si schema PSI ou N :
4346 \begin{itemize}
4347 \item 1 = explicite ;
4348 \item 2 = predicteur-correcteur ;
4349 \item 3 = predicteur-correcteur 2e ordre en temps ;
4350 \item 4 = implicite.
4351 \end{itemize}""",
4352             ang = """If present replaces and has priority over:
4353 \telkey{OPTION FOR CHARACTERISTICS}
4354 \telkey{SUPG OPTION}.
4355 If characteristics:
4356 \begin{itemize}
4357 \item 1 = strong form,
4358 \item 2 = weak form.
4359 \end{itemize}
4360 If N or PSI scheme:
4361 \begin{itemize}
4362 \item 1 = explicit,
4363 \item 2 = predictor-corrector,
4364 \item 3 = predictor-corrector second-order in time,
4365 \item 4 = implicit.
4366 \end{itemize}""",
4367         ),
4368 #       -----------------------------------
4369         MASS_LUMPING_ON_TRACERS = SIMP(statut ='o',
4370 #       -----------------------------------
4371             typ = 'R',
4372             defaut = 0.,
4373             fr = """Fixe le taux de mass-lumping effectue sur le traceur.
4374 Lu mais remplace par la valeur de \telkey{MASS-LUMPING SUR H}
4375 pour assurer la conservation de la masse de traceur.""",
4376             ang = """Sets the amount of mass-lumping that is performed on
4377 the tracer.
4378 Read but replaced by the value of \telkey{MASS-LUMPING ON H}
4379 to ensure tracer mass conservation.""",
4380         ),
4381     ),
4382 )
4383 # -----------------------------------------------------------------------
4384 PARTICLE_TRANSPORT = PROC(nom= "PARTICLE_TRANSPORT",op = None,
4385 # -----------------------------------------------------------------------
4386 #   -----------------------------------
4387     DROGUES = FACT(statut='f',
4388 #   -----------------------------------
4389 #       -----------------------------------
4390         MAXIMUM_NUMBER_OF_DROGUES = SIMP(statut ='o',
4391 #       -----------------------------------
4392             typ = 'I',
4393             defaut = 0,
4394             fr = """Permet d''effectuer un suivi de flotteurs.""",
4395             ang = """Maximum number of drogues in the computation.""",
4396         ),
4397 #       -----------------------------------
4398         b_MAXIMUM_NUMBER_OF_DROGUESG = BLOC(condition="MAXIMUM_NUMBER_OF_DROGUES != 0",
4399 #       -----------------------------------
4400 #           -----------------------------------
4401             ASCII_DROGUES_FILE = SIMP(statut ='f',
4402 #           -----------------------------------
4403                 typ = ('Fichier','All Files (*)','Sauvegarde'),
4404                 defaut = '',
4405                 fr = """Fichier de resultats ASCII avec les positions des flotteurs.""",
4406                 ang = """ASCII results file with positions of drogues.""",
4407             ),
4408 #           -----------------------------------
4409             PRINTOUT_PERIOD_FOR_DROGUES = SIMP(statut ='o',
4410 #           -----------------------------------
4411                 typ = 'I',
4412                 defaut = 1,
4413                 fr = """Nombre de pas de temps entre 2 sorties de positions de
4414 flotteurs dans le fichier des resultats supplementaire.
4415 N affecte pas la qualite du calcul de la trajectoire.""",
4416                 ang = """Number of time steps between 2 outputs of drogues
4417 positions in the output file.""",
4418             ),
4419         ),
4420 #       -----------------------------------
4421         INITIAL_DROGUES_SAMPLING_DENSITY = SIMP(statut ='o',
4422 #       -----------------------------------
4423             typ = 'R', min=0, max='**',
4424             defaut = [1000,1000],
4425             fr = """Densite initiale utilisee a la repartition des flotteurs
4426 au debut (ou en cours) de la simulation.""",
4427             ang = """Initial density of drogues, or number of drogues per m2,
4428 used to spatially place the initial drogues in a simulation.""",
4429         ),
4430 #       -----------------------------------
4431         BINARY_DROGUES_FILE = SIMP(statut ='f',
4432 #       -----------------------------------
4433             typ = ('Fichier','All Files (*)','Sauvegarde'),
4434             defaut = '',
4435             fr = """Fichier de resultats binaire avec les positions des flotteurs.""",
4436             ang = """Binary results file with positions of drogues.""",
4437         ),
4438 #       -----------------------------------
4439         DROGUES_FILE_FORMAT = SIMP(statut ='f',
4440 #       -----------------------------------
4441             typ = 'TXM',
4442             into = ['BKBINPCL','TECPLOT'],
4443             defaut = 'TECPLOT',
4444             fr = """Format du \telkey{FICHIER BINAIRE DES FLOTTEURS}.
4445 Les valeurs possibles sont :
4446 \begin{itemize}
4447 \item BKBINPCL: format PCL binaire natif de BlueKenue;
4448 \item TECPLOT: format Tecplot original (ASCII).
4449 \end{itemize}""",
4450             ang = """Format of the \telkey{BINARY DROGUES FILE}.
4451 Possible choices are:
4452 \begin{itemize}
4453 \item BKBINPCL: format binary PCL native to BlueKenue,
4454 \item TECPLOT: format Tecplot original (ASCII).
4455 \end{itemize}""",
4456         ),
4457 #       -----------------------------------
4458         PREVIOUS_DROGUES_FILE = SIMP(statut ='f',
4459 #       -----------------------------------
4460             typ = ('Fichier','All Files (*)'),
4461             defaut = '',
4462             fr = """Nom d''un fichier contenant les resultats d''un calcul
4463 precedent avec flotteurs.""",
4464             ang = """Name of a file containing the results of an earlier
4465 computation with drogues.""",
4466         ),
4467 #       -----------------------------------
4468         PREVIOUS_DROGUES_FILE_FORMAT = SIMP(statut ='f',
4469 #       -----------------------------------
4470             typ = 'TXM',
4471             into = ['BKBINPCL','BKASCPCL'],
4472             defaut = 'BKBINPCL',
4473             fr = """Format du \telkey{FICHIER DES FLOTTEURS PRECEDENT}.
4474 Les valeurs possibles sont :
4475 \begin{itemize}
4476 \item BKBINPCL: format PCL binaire natif de BlueKenue;
4477 \item BKASCPCL: format PCL ASCII natif de BlueKenue.
4478 \end{itemize}""",
4479             ang = """Format of the \telkey{PREVIOUS DROGUES FILE}.
4480 Possible choices are:
4481 \begin{itemize}
4482 \item BKBINPCL: format binary PCL native of BlueKenue,
4483 \item BKASCPCL: format SCII PCL native of BlueKenue.
4484 \end{itemize}""",
4485         ),
4486 #       -----------------------------------
4487         DROGUES_INITIAL_POSITIONING_DATA_FILE = SIMP(statut ='f',
4488 #       -----------------------------------
4489             typ = ('Fichier','All Files (*)'),
4490             defaut = '',
4491             fr = """Fichier de donnees en ASCII contenant les coordonnees des polygones
4492 ou des points qui vont permettre un positionnement des particles
4493 au depart de la simulation.""",
4494             ang = """ASCII data file containing polygons or points defining the
4495  initial positioning of drogues at the start of the simulation.""",
4496         ),
4497 #       -----------------------------------
4498         FORMAT_OF_THE_DROGUES_POSITIONING_DATA_FILE = SIMP(statut ='f',
4499 #       -----------------------------------
4500             typ = 'TXM',
4501             into = ['BKASCI2S'],
4502             defaut = 'BKASCI2S',
4503             fr = """Format du
4504  \telkey{FICHIER POSITIONNANT LES DROGUES INITIALES}.
4505 La seule valeur possible est :
4506 \begin{itemize}
4507 \item BKASCI2S: format I2S ASCII natif de BlueKenue.
4508 \end{itemize}""",
4509             ang = """Format of the
4510  \telkey{DROGUES INITIAL POSITIONING DATA FILE}.
4511 Single possible choice is:
4512 \begin{itemize}
4513 \item BKASCI2S: format AXCII I2S native of BlueKenue.
4514 \end{itemize}""",
4515         ),
4516     ),
4517 #   -----------------------------------
4518     ALGAE = FACT(statut='f',
4519 #   -----------------------------------
4520 #       -----------------------------------
4521         ALGAE_TRANSPORT_MODEL = SIMP(statut ='o',
4522 #       -----------------------------------
4523             typ = bool,
4524             defaut = False,
4525             fr = """Si OUI, une partie ou tous les flotteurs seront des algues.""",
4526             ang = """If YES, some or all the floats or particles will be algae.""",
4527         ),
4528 #       -----------------------------------
4529         b_ALGAE_TRANSPORT_MODELG = BLOC(condition="ALGAE_TRANSPORT_MODEL == True",
4530 #       -----------------------------------
4531 #           -----------------------------------
4532             ALGAE_TYPE = SIMP(statut ='o',
4533 #           -----------------------------------
4534                 typ = 'TXM', min=0, max='**',
4535                 into = ["SPHERE","IRIDAEA FLACCIDA (CLOSE TO ULVA)","PELVETIOPSIS LIMITATA","GIGARTINA LEPTORHYNCHOS"],
4536                 defaut = ["SPHERE","SPHERE"],
4537                 fr = """Type des algues.
4538 Les choix possibles sont :
4539 \begin{itemize}
4540 \item 1 : Sphere ;
4541 \item 2 : Iridaeca Flaccida ;
4542 \item 3 : Pelvetiopsis Limitata ;
4543 \item 4 : Gigartina Leptorhynchos.
4544 \end{itemize}
4545 Pour le choix 1 les algues seront
4546 modelisees comme des spheres, pour les autres choix voir Gaylord
4547 et al. (1994).""",
4548                 ang = """Algae type.
4549 Possible choices are:
4550 \begin{itemize}
4551 \item 1: Sphere,
4552 \item 2: Iridaeca Flaccida,
4553 \item 3: Pelvetiopsis Limitata,
4554 \item 4: Gigartina Leptorhynchos.
4555 \end{itemize}
4556 For choice 1 the algae particles will be
4557 modeled as spheres, and for the other choices see Gaylord et
4558 al. (1994).""",
4559             ),
4560 #           -----------------------------------
4561             DIAMETER_OF_ALGAE = SIMP(statut ='o',
4562 #           -----------------------------------
4563                 typ = 'R', min=0, max='**',
4564                 defaut = [0.1,0.1],
4565                 fr = """Diametre des algues en m.""",
4566                 ang = """Diameter of algae in m.""",
4567             ),
4568 #           -----------------------------------
4569             DENSITY_OF_ALGAE = SIMP(statut ='o',
4570 #           -----------------------------------
4571                 typ = 'R', min=0, max='**',
4572                 defaut = [1050.,1050.],
4573                 fr = """Masse volumique des algues en kg/m$^3$.""",
4574                 ang = """Density of algae in kg/m$^3$.""",
4575             ),
4576 #           -----------------------------------
4577             THICKNESS_OF_ALGAE = SIMP(statut ='o',
4578 #           -----------------------------------
4579                 typ = 'R', min=0, max='**',
4580                 defaut = [0.01,0.01],
4581                 fr = """Epaisseur des algues en m.""",
4582                 ang = """Thickness of algae in m.""",
4583             ),
4584         ),
4585 #       -----------------------------------
4586         NUMBER_OF_ALGAE_CLASSES = SIMP(statut ='o',
4587 #       -----------------------------------
4588             typ = 'I',
4589             defaut = 0,
4590             fr = """Nombre de classes d''algues. Chaque classe sera associee
4591  a une propriete particuliere.""",
4592             ang = """Number of algae classes. Each class will be associated
4593  with a particular property.""",
4594         ),
4595 #       -----------------------------------
4596         DURATION_BEFORE_ALGAE_RELEASE = SIMP(statut ='o',
4597 #       -----------------------------------
4598             typ = 'R', min=0, max='**',
4599             defaut = [0.0,0.0],
4600             fr = """Duree en secondes avant le relachemet des algues depuis le
4601 depart de la simulation.""",
4602             ang = """Duration in seconds before the release of the algae from
4603 the start of the simulation.""",
4604         ),
4605 #       -----------------------------------
4606         ALGAE_RELEASE_TYPE = SIMP(statut ='o',
4607 #       -----------------------------------
4608             typ = 'TXM', min=0, max='**',
4609             into = ["TIMED","DISLODGEMENT"],
4610             defaut = ["TIMED","TIMED"],
4611             fr = """Les valeurs possibles sont:
4612 \begin{itemize}
4613 \item 1 : PERIODE : Les algues bougent apres une certaine periode de
4614 temps,
4615 \item 2 : DEPLACEMENT : Les algues bougent lorsque la vitesse orbitale
4616 de vague critique depasse un certain seuil.
4617 \end{itemize}""",
4618             ang = """Possible values are:
4619 \begin{itemize}
4620 \item 1: TIMED       : Algae move after a specified time has elapsed,
4621 \item 2: DISLODGEMENT: Algae move after a critical wave orbital velocity
4622 is exceeded.
4623 \end{itemize}""",
4624         ),
4625 #       -----------------------------------
4626         WAVE_ORBITAL_VELOCITY_THRESHOLD_FOR_ALGAE_1 = SIMP(statut ='o',
4627 #       -----------------------------------
4628             typ = 'R', min=0, max='**',
4629             defaut = [2.,2.],
4630             fr = """Vitesse orbitale de vague 1 pour le deplacement des algues en m/s.""",
4631             ang = """Wave orbital velocity 1 for algae dislodgement in m/s.""",
4632         ),
4633 #       -----------------------------------
4634         WAVE_ORBITAL_VELOCITY_THRESHOLD_FOR_ALGAE_2 = SIMP(statut ='o',
4635 #       -----------------------------------
4636             typ = 'R', min=0, max='**',
4637             defaut = [0.,0.],
4638             fr = """Vitesse orbitale de vague 2 pour le deplacement des algues en m/s.""",
4639             ang = """Wave orbital velocity 2 for algae dislodgement in m/s.""",
4640         ),
4641 #       -----------------------------------
4642         RATE_OF_DEGRADATION_FOR_ALGAE = SIMP(statut ='o',
4643 #       -----------------------------------
4644             typ = 'R', min=0, max='**',
4645             defaut = [0.,0.],
4646             fr = """Taux de degradation pour les algues.""",
4647             ang = """Rate of degradation for algae.""",
4648         ),
4649     ),
4650 #   -----------------------------------
4651     OIL_SPILL = FACT(statut='f',
4652 #   -----------------------------------
4653 #       -----------------------------------
4654         OIL_SPILL_MODEL = SIMP(statut ='o',
4655 #       -----------------------------------
4656             typ = bool,
4657             defaut = False,
4658             fr = """Pour declencher le modele de derive de nappes, dans ce cas
4659 le fichier de commandes migrhycar est necessaire.""",
4660             ang = """Will trigger the oil spill model, in this case the
4661 \telkey{OIL SPILL STEERING FILE} is needed.""",
4662         ),
4663 #       -----------------------------------
4664         b_OIL_SPILL_MODELG = BLOC(condition="OIL_SPILL_MODEL == True",
4665 #       -----------------------------------
4666 #           -----------------------------------
4667             OIL_SPILL_STEERING_FILE = SIMP(statut ='o',
4668 #           -----------------------------------
4669                 typ = ('Fichier','All Files (*)'),
4670                 defaut = '',
4671                 fr = """Contient les donnees pour le modele de derive de nappes.""",
4672                 ang = """Contains data for the \telkey{OIL SPILL MODEL}.""",
4673             ),
4674         ),
4675     ),
4676 #   -----------------------------------
4677     BROWNIAN_MOTION = FACT(statut='f',
4678 #   -----------------------------------
4679 #       -----------------------------------
4680         STOCHASTIC_DIFFUSION_MODEL = SIMP(statut ='o',
4681 #       -----------------------------------
4682             typ = 'TXM',
4683             into = ["No model","brownian movement"],
4684             defaut = "No model",
4685             fr = """Pour les particules : flotteurs, hydrocarbures.
4686 Si aucune turbulence n est activee, la diffusion stochastique n est pas
4687 prise en compte pendant le transport de particules.""",
4688             ang = """Meant for particles: drogues, oil spills.
4689 If no turbulence is activated, this stochastic diffusion is not
4690 considered during the particle transport.""",
4691         ),
4692     ),
4693 #   -----------------------------------
4694     LAGRANGIAN_DRIFTS = FACT(statut='f',
4695 #   -----------------------------------
4696 #       -----------------------------------
4697         NUMBER_OF_LAGRANGIAN_DRIFTS = SIMP(statut ='o',
4698 #       -----------------------------------
4699             typ = 'I',
4700             defaut = 0,
4701             fr = """Permet d''effectuer simultanement plusieurs calculs de derives
4702 lagrangiennes initiees a des pas differents.
4703 Ajouter A et G au mot-cle
4704 \telkey{VARIABLES POUR LES SORTIES GRAPHIQUES}.""",
4705             ang = """Provided for performing several computations of Lagrangian
4706 drifts starting at different times.
4707 Add A and G in the \telkey{VARIABLES FOR GRAPHIC PRINTOUTS} keyword.""",
4708         ),
4709 #       -----------------------------------
4710         b_NUMBER_OF_LAGRANGIAN_DRIFTSG = BLOC(condition="NUMBER_OF_LAGRANGIAN_DRIFS != 0",
4711 #       -----------------------------------
4712 #           -----------------------------------
4713             Consigne = SIMP(statut ="o", homo="information", typ="TXM",
4714 #           -----------------------------------
4715                 defaut = "Add 'drift along x (m)' and 'drift along y (m)' in VARIABLES FOR GRAPHIC PRINTOUTS"),
4716         ),
4717     ),
4718 )
4719 # -----------------------------------------------------------------------
4720 HYDRAULIC_STRUCTURES = PROC(nom= "HYDRAULIC_STRUCTURES",op = None,
4721 # -----------------------------------------------------------------------
4722 #   -----------------------------------
4723     WEIRS = FACT(statut='f',
4724 #   -----------------------------------
4725 #       -----------------------------------
4726         NUMBER_OF_WEIRS = SIMP(statut ='o',
4727 #       -----------------------------------
4728             typ = 'I',
4729             defaut = 0,
4730             fr = """Nombre de seuils qui seront traites par des conditions aux
4731 limites. Ces seuils doivent etre decrits comme des frontieres du
4732 domaine de calcul, et leurs caracteristiques sont donnees dans le
4733 \telkey{FICHIER DE DONNEES DES SEUILS} (voir la documentation ecrite).""",
4734             ang = """Number of weirs that will be treated by boundary conditions.
4735 They must be described as boundaries of the domain and their features
4736 are given in the \telkey{WEIRS DATA FILE} (see written documentation)""",
4737         ),
4738 #       -----------------------------------
4739         b_NUMBER_OF_WEIRSG = BLOC(condition="NUMBER_OF_WEIRS != 0",
4740 #       -----------------------------------
4741 #           -----------------------------------
4742             WEIRS_DATA_FILE = SIMP(statut ='o',
4743 #           -----------------------------------
4744                 typ = ('Fichier','All Files (*)'),
4745                 defaut = '',
4746                 fr = """Fichier de description des seuils presents dans le modele.""",
4747                 ang = """Description of weirs existing in the model.""",
4748             ),
4749 #           -----------------------------------
4750             TYPE_OF_WEIRS = SIMP(statut ='o',
4751 #           -----------------------------------
4752                 typ = 'TXM',
4753                 into = ["HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM","GENERAL"],
4754                 defaut = "HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM",
4755                 fr = """Methode de traitement des seuils. Deux Solutions:
4756 \begin{itemize}
4757 \item horizontal avec meme nombre de noeuds amont/aval
4758 (Solution historique avec le sous-programme \telfile{BORD}) ;
4759 \item generale (nouvelle solution avec pts sources).
4760 \end{itemize}""",
4761                 ang = """Method for treatment of weirs. Two options:
4762 \begin{itemize}
4763 \item horizontal with same number of nodes upstream/downstream
4764 (Historical solution with the \telfile{BORD} subroutine),
4765 \item general (new solution with sources points).
4766 \end{itemize}""",
4767             ),
4768 #           -----------------------------------
4769             WEIRS_DISCHARGE_OUTPUT_FILE = SIMP(statut ='f',
4770 #           -----------------------------------
4771                 typ = ('Fichier','All Files (*)','Sauvegarde'),
4772                 defaut = '',
4773                 fr = """Fichier de sortie des debits sur les seuils presents dans le modele.""",
4774                 ang = """Output file of discharge of weirs existing in the model.""",
4775             ),
4776         ),
4777     ),
4778 #   -----------------------------------
4779     CULVERTS = FACT(statut='f',
4780 #   -----------------------------------
4781 #       -----------------------------------
4782         NUMBER_OF_CULVERTS = SIMP(statut ='o',
4783 #       -----------------------------------
4784             typ = 'I',
4785             defaut = 0,
4786             fr = """Nombre de buses ou ponts traites comme des termes sources ou
4787 puits. Ces buses doivent etre decrits comme des sources dans le
4788 fichier des parametres .
4789 Leurs caracteristiques sont donnees dans le
4790 \telkey{FICHIER DE DONNEES DES BUSES}
4791 (voir la documentation ecrite).""",
4792             ang = """Number of culverts, tubes or bridges treated as source terms.
4793 They must be described as sources in the domain and their features
4794 are given in the \telfile{CULVERTS DATA FILE}
4795 (see written documentation).""",
4796         ),
4797 #       -----------------------------------
4798         b_NUMBER_OF_CULVERTSG = BLOC(condition="NUMBER_OF_CULVERTS != 0",
4799 #       -----------------------------------
4800 #           -----------------------------------
4801             CULVERTS_DATA_FILE = SIMP(statut ='o',
4802 #           -----------------------------------
4803                 typ = ('Fichier','All Files (*)'),
4804                 defaut = '',
4805                 fr = """Fichier de description des buses/ponts presents dans le modele.""",
4806                 ang = """Description of culverts/tubes/bridges existing in the model.""",
4807             ),
4808         ),
4809 #       -----------------------------------
4810         OPTION_FOR_CULVERTS = SIMP(statut ='f',
4811 #       -----------------------------------
4812             typ = 'I',
4813             defaut = 1,
4814             fr = """Option pour le traitement des buses. Il existe deux formulations
4815 dans \telemac{2d}, basees sur les formules de Bodhaine (1968)
4816 et Carlier (1976).
4817 Lire le \telemac{3d} theory guide plus plus d informations.""",
4818             ang = """Option for the treatment of culverts. There are two options in
4819 \telemac{2d} based on Bodhaine (1968) and Carlier (1976) formulae.
4820 Read the \telemac{3d} theory guide for more informations.""",
4821         ),
4822     ),
4823 #   -----------------------------------
4824     BREACHES = FACT(statut='f',
4825 #   -----------------------------------
4826 #       -----------------------------------
4827         BREACH = SIMP(statut ='o',
4828 #       -----------------------------------
4829             typ = bool,
4830             defaut = False,
4831             fr = """Prise en compte de breches dans le calcul par
4832 modification altimetrique dans le maillage. La description
4833 des breches se fait avec le \telkey{FICHIER DE DONNEES DES BRECHES}.""",
4834             ang = """Take in account some breaches during the computation
4835 by modifying the bottom level of the mesh. Breach description
4836 is done with the \telkey{BREACHES DATA FILE}.""",
4837         ),
4838 #       -----------------------------------
4839         b_BREACHG = BLOC(condition="BREACH == True",
4840 #       -----------------------------------
4841 #           -----------------------------------
4842             BREACHES_DATA_FILE = SIMP(statut ='o',
4843 #           -----------------------------------
4844                 typ = ('Fichier','All Files (*)'),
4845                 defaut = '',
4846                 fr = """Fichier de description des breches.""",
4847                 ang = """Description of breaches.""",
4848             ),
4849         ),
4850     ),
4851 )
4852 # -----------------------------------------------------------------------
4853 TIDES = PROC(nom= "TIDES",op = None,
4854 # -----------------------------------------------------------------------
4855 #   -----------------------------------
4856     BINARY_DATABASE_1_FOR_TIDE = SIMP(statut ='f',
4857 #   -----------------------------------
4858         typ = ('Fichier','All Files (*)'),
4859         defaut = '',
4860         fr = """Base de donnees binaire 1 de constantes harmoniques.
4861  Dans le cas des donnees satellitaires de TPXO, ce fichier correspond
4862  aux donnees de niveau d''eau, par exemple h\_tpxo7.2""",
4863         ang = """Binary database 1 of harmonic constants.
4864  In the case of the TPXO satellite altimetry model, this file should
4865  be for free surface level, for instance h\_tpxo7.2""",
4866     ),
4867 #   -----------------------------------
4868     BINARY_DATABASE_2_FOR_TIDE = SIMP(statut ='f',
4869 #   -----------------------------------
4870         typ = ('Fichier','All Files (*)'),
4871         defaut = '',
4872         fr = """Base de donnees binaire 2 de constantes harmoniques.
4873  Dans le cas des donnees satellitaires de TPXO, ce fichier correspond
4874  aux donnees de vitesse de marrees, par exemple u\_tpxo7.2""",
4875         ang = """Binary database 2 of harmonic constants.
4876  In the case of the TPXO satellite altimetry model, this file should
4877  be for tidal velocities, for instance u\_tpxo7.2""",
4878     ),
4879 #   -----------------------------------
4880     GEOGRAPHIC_SYSTEM = SIMP(statut ='o',
4881 #   -----------------------------------
4882         typ = 'TXM',
4883         into = ["NO DEFAULT VALUE","DEFINED BY USER","WGS84 LONGITUDE/LATITUDE IN REAL DEGREES","WGS84 NORTHERN UTM","WGS84 SOUTHERN UTM","LAMBERT","MERCATOR FOR TELEMAC"],
4884         defaut = "NO DEFAULT VALUE",
4885         fr = """Systeme de coordonnees geographiques dans lequel est construit
4886 le modele numerique.
4887 Indiquer la zone correspondante avec le mot-cle.
4888 Indique le systeme de coordonnees geographiques dans lequel est
4889 construit le modele numerique. Les choix possibles sont :
4890 \begin{itemize}
4891 \item 0 : defini par l''utilisateur ;
4892 \item 1 : WGS84 longitude/latitude en degres reels ;
4893 \item 2 : WGS84 nord UTM ;
4894 \item 3 : WGS84 sud UTM ;
4895 \item 4 : Lambert ;
4896 \item 5 : projection Mercator.
4897 \end{itemize}""",
4898         ang = """Geographic coordinates system in which the numerical model is
4899 built. Indicate the corresponding zone with the keyword.
4900 The possible choices are:
4901 \begin{itemize}
4902 \item 0: defined by the user,
4903 \item 1: WGS84 longitude/latitude in real degrees,
4904 \item 2: WGS84 Northern UTM,
4905 \item 3: WGS84 Southern UTM,
4906 \item 4: Lambert,
4907 \item 5: Mercator projection.
4908 \end{itemize}""",
4909     ),
4910 #   -----------------------------------
4911     b_GEOGRAPHIC_SYSTEMG = BLOC(condition="GEOGRAPHIC_SYSTEM in ['WGS84 NOTHERN UTM','WGS84 SOUTHERN UTM','LAMBERT']",
4912 #   -----------------------------------
4913 #       -----------------------------------
4914         ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM = SIMP(statut ='f',
4915 #       -----------------------------------
4916             typ = 'I',
4917             defaut = -1,
4918             fr = """Numero de zone (fuseau ou type de projection) lors de
4919 l''utilisation d''une projection plane. Indiquer le systeme
4920 geographique dans lequel est construit le modele numerique avec le
4921 mot-cle \telkey{SYSTEME GEOGRAPHIQUE}.
4922 Les choix possibles sont :
4923 \begin{itemize}
4924 \item 1 : Lambert 1 nord ;
4925 \item 2 : Lambert 2 centre ;
4926 \item 3 : Lambert 3 sud ;
4927 \item 4 : Lambert 4 Corse ;
4928 \item 22 : Lambert 2 etendu ;
4929 \item 93 : Lambert 93 ;
4930 \item X : Valeur UTM de la zone WGS84 (X est le numero de la zone).
4931 \end{itemize}""",
4932             ang = """Number of zone when using a plane projection.
4933 Indicate the geographic system in which the numerical model is built
4934 with the keyword \telkey{GEOGRAPHIC SYSTEM}.
4935 Possible choices are:
4936 \begin{itemize}
4937 \item 1: Lambert 1 north,
4938 \item 2: Lambert 2 center,
4939 \item 3: Lambert 3 south,
4940 \item 4: Lambert 4 Corsica,
4941 \item 22: Lambert 22 extended,
4942 \item 93: Lambert 93,
4943 \item X: UTM zone with WGS84 (X is the number of the zone).
4944 \end{itemize}""",
4945         ),
4946     ),
4947 #   -----------------------------------
4948     LAMBERT_93_CONVERSION_FILE = SIMP(statut ='f',
4949 #   -----------------------------------
4950         typ = ('Fichier','All Files (*)'),
4951         defaut = '',
4952         fr = """Nom du fichier gr3df97a.txt, grille de conversion pour Lambert 93.""",
4953         ang = """Name of file gr3df97a.txt, conversion grid for Lambert 93.""",
4954     ),
4955 #   -----------------------------------
4956     COEFFICIENT_TO_CALIBRATE_SEA_LEVEL = SIMP(statut ='o',
4957 #   -----------------------------------
4958         typ = 'R',
4959         defaut = 0.,
4960         fr = """Coefficient pour ajuster le niveau de mer.
4961 Il peut dependre de la reference altimetrique utilisee dans le modele,
4962 par exemple Cartes Marines, Niveau Moyen de la Mer, NGF...""",
4963         ang = """Coefficient to calibrate the sea level.
4964 It may depend on the altimetric reference used in the model,
4965 for example Chart Datum, Mean Sea Level...""",
4966     ),
4967 #   -----------------------------------
4968     GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
4969 #   -----------------------------------
4970         typ = 'I',
4971         defaut = 0,
4972         fr = """Numero global du point
4973 (entre 1 et le nombre de points frontieres du maillage 2D)
4974 par rapport auquel les ondes de maree sont dephasees
4975 pour debuter le calcul par une pleine mer
4976 (en marees schematiques seulement).
4977 Ce point doit etre un point de frontiere maritime.
4978 Ne concerne que les bases de constantes harmoniques de type TPXO.""",
4979         ang = """Global number of the point
4980 (between 1 and the number of boundary nodes in the 2D mesh)
4981 with respect to which the tidal constituents have their phase shifted
4982 to start the calculation with a high water
4983 (for schematic tides only).
4984 This point has to be a maritime boundary node.
4985 Only harmonic constants databases like TPXO are concerned.""",
4986     ),
4987 #   -----------------------------------
4988     MINOR_CONSTITUENTS_INFERENCE = SIMP(statut ='f',
4989 #   -----------------------------------
4990         typ = bool,
4991         defaut = False,
4992         fr = """Pour la base de donnees TPXO uniquement.
4993 Interpolation de composantes harmoniques mineures
4994 a partir de celles lues dans les fichiers d''entree
4995 lies aux mots-cles \telkey{BASE BINAIRE 1 DE DONNEES DE MAREE}
4996 et \telkey{BASE BINAIRE 2 DE DONNEES DE MAREE}.""",
4997         ang = """For TPXO tidal data base only.
4998 Inference of minor constituents from the one read in input files
4999 linked to keywords \telkey{BINARY DATABASE 1 FOR TIDE}
5000 and \telkey{BINARY DATABASE 2 FOR TIDE}.""",
5001     ),
5002 #   -----------------------------------
5003     INITIAL_VELOCITIES_COMPUTED_BY_TPXO = SIMP(statut ='f',
5004 #   -----------------------------------
5005         typ = bool,
5006         defaut = True,
5007         fr = """Composantes de vitesses initiales calculees a partir des
5008 solutions de maree de l OSU (ex TPXO).
5009 Prendre NON pour eviter une initialisation avec des vitesses de maree
5010 trop grandes.
5011 Pour les solutions de marees provenant de l OSU uniquement (ex TPXO).""",
5012         ang = """Initial velocity components computed from a tidal solution from
5013 OSU (e.g. TPXO).
5014 NO to prevent from an initialisation with too big tidal velocities.
5015 For tidal solutions coming from OSU only (e.g. TPXO).""",
5016     ),
5017 #   -----------------------------------
5018     MINIMUM_DEPTH_TO_COMPUTE_TIDAL_VELOCITIES_INITIAL_CONDITIONS = SIMP(statut ='f',
5019 #   -----------------------------------
5020         typ = 'R',
5021         defaut = 0.1,
5022         fr = """Valeur minimale de hauteur d eau au dessus de laquelle les conditions
5023 initiales de courants de maree sont calculees.
5024 Autrement, les vitesses sont annulees.
5025 Pour les solutions de maree provenant de l OSU uniquement (ex TPXO).""",
5026         ang = """Minimum value of water depth above which initial conditions for tidal
5027 velocities are computed.
5028 Otherwise, the velocity components are equal to 0.
5029 For tidal solutions coming from OSU only (e.g. TPXO).""",
5030     ),
5031 #   -----------------------------------
5032     MINIMUM_DEPTH_TO_COMPUTE_TIDAL_VELOCITIES_BOUNDARY_CONDITIONS = SIMP(statut ='f',
5033 #   -----------------------------------
5034         typ = 'R',
5035         defaut = 0.1,
5036         fr = """Valeur minimale de hauteur d eau utilisee pour le calcul des conditions
5037 aux limites de courants de maree si les profondeurs sont trop petites.
5038 Pour les solutions de marees provenant de l OSU uniquement (ex TPXO).""",
5039         ang = """Minimum value of water depth used to compute tidal boundary conditions
5040 for velocities if the water depths are too small.
5041 For tidal solutions coming from OSU only (e.g. TPXO).""",
5042     ),
5043 #   -----------------------------------
5044     BOUNDARY_CONDITIONS = FACT(statut='o',
5045 #   -----------------------------------
5046 #       -----------------------------------
5047         OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS = SIMP(statut ='o',
5048 #       -----------------------------------
5049             typ = 'TXM', max='**',
5050             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)"],
5051             fr = """Option pour les conditions aux limites de maree. Pour des marees
5052 reelles, l option 1 est recommandee. Depuis la version 7.1, ce mot-cle
5053 est un tableau avec une valeur donnee par frontiere liquide, separee par
5054 point-virgules. Ceci permet d''avoir des conditions de maree (ou pas)
5055 calculees sur des frontieres liquides avec vitesses ou hauteur d eau
5056 imposees. Ca evite un conflit lors de l utilisation de seuils dans le
5057 domaine. 0 est le code pour des conditions autres que des conditions de
5058 maree. ATTENTION depuis la version 7.1 ! Les anciens modeles doivent
5059 etre changes si la frontiere de maree n a pas le numero 1. Dans ce cas,
5060 le mot-cle doit etre change et plus de valeurs doivent etre donnees.
5061 Calage possible par les mots-cles
5062 \telkey{COEFFICIENT DE CALAGE DU MARNAGE},
5063 \telkey{COEFFICIENT DE CALAGE DES VITESSES DE COURANT} et
5064 \telkey{COEFFICIENT DE CALAGE DU NIVEAU DE MER}.""",
5065             ang = """Option for tidal boundary conditions. For real tides, option 1 is
5066 recommended. This keyword has been an array with a value given per
5067 liquid boundary, separated by semicolons, since release 7.1. This
5068 enables to have tidal conditions (or not) computed on liquid boundaries
5069 with prescribed velocities or depths, avoiding a clash when using weirs
5070 in the domain. 0 codes for conditions other than tidal. BEWARE since
5071 release 7.1! Old models must be changed if their tidal boundary is not
5072 number 1. In that case this keyword must be changed and more values
5073 given. Possible calibration with the keywords
5074 \telkey{COEFFICIENT TO CALIBRATE TIDAL RANGE},
5075 \telkey{COEFFICIENT TO CALIBRATE TIDAL VELOCITIES} and
5076 \telkey{COEFFICIENT TO CALIBRATE SEA LEVEL}.""",
5077         ),
5078 #       -----------------------------------
5079         TIDAL_DATA_BASE = SIMP(statut ='o',
5080 #       -----------------------------------
5081             typ = 'TXM',
5082             into = ["NO DEFAULT VALUE","JMJ","TPXO","MISCELLANEOUS (LEGOS-NEA, FES20XX, PREVIMER...)"],
5083             defaut = "NO DEFAULT VALUE",
5084             fr = """Pour JMJ, renseigner la localisation du fichier bdd\_jmj et geofin
5085 dans les mots-cles \telkey{BASE ASCII DE DONNEES DE MAREE} et
5086 \telkey{FICHIER DU MODELE DE MAREE}.
5087 Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l''utilisateur doit
5088 telecharger les fichiers de constantes harmoniques sur internet.""",
5089             ang = """For JMJ, indicate the location of the files bdd\_jmj and geofin with
5090 keywords \telkey{ASCII DATABASE FOR TIDE} and \telkey{TIDAL MODEL FILE}.
5091 For TPXO, LEGOS-NEA,
5092 FES20XX and PREVIMER, the user has to download files of harmonic
5093 constituents on the internet.""",
5094         ),
5095 #       -----------------------------------
5096         b_TIDAL_DATA_BASEG = BLOC(condition="TIDAL_DATA_BASE == 'TPXO'",
5097 #       -----------------------------------
5098         ),
5099 #       -----------------------------------
5100         HARMONIC_CONSTANTS_FILE = SIMP(statut ='f',
5101 #       -----------------------------------
5102             typ = ('Fichier','All Files (*)'),
5103             defaut = '',
5104             fr = """Fichier contenant les constantes harmoniques pour le calcul des
5105 conditions aux limites de maree.""",
5106             ang = """File containing the harmonic constants to compute the
5107 tidal boundary conditions.""",
5108         ),
5109 #       -----------------------------------
5110         TIDAL_MODEL_FILE = SIMP(statut ='f',
5111 #       -----------------------------------
5112             typ = ('Fichier','All Files (*)'),
5113             defaut = '',
5114             fr = """Fichier de geometrie du modele dont sont extraites
5115 les constantes harmoniques.""",
5116             ang = """Geometry file of the model from which harmonic constituents
5117 are extracted.""",
5118         ),
5119 #       -----------------------------------
5120         TIDAL_MODEL_FILE_FORMAT = SIMP(statut ='f',
5121 #       -----------------------------------
5122             typ = 'TXM',
5123             into = ['SERAFIN','SERAFIND','MED'],
5124             defaut = 'SERAFIN',
5125             fr = """Format du \telkey{FICHIER DU MODELE DE MAREE}.
5126 Les valeurs possibles sont :
5127 \begin{itemize}
5128 \item SERAFIN : format standard simple precision pour \tel ;
5129 \item SERAFIND: format standard double precision pour \tel ;
5130 \item MED     : format MED double precision base sur HDF5.
5131 \end{itemize}""",
5132             ang = """Format of the \telkey{TIDAL MODEL FILE}.
5133 Possible choices are:
5134 \begin{itemize}
5135 \item SERAFIN : classical single precision format in \tel,
5136 \item SERAFIND: classical double precision format in \tel,
5137 \item MED     : MED double precision format based on HDF5.
5138 \end{itemize}""",
5139         ),
5140 #       -----------------------------------
5141         ASCII_DATABASE_FOR_TIDE = SIMP(statut ='f',
5142 #       -----------------------------------
5143             typ = ('Fichier','All Files (*)'),
5144             defaut = '',
5145             fr = """Base de donnees de constantes harmoniques
5146 tirees du \telkey{FICHIER DU MODELE DE MAREE}.
5147 Ancien nom en version 6.1 : \telkey{BASE DE DONNEES DE MAREE}.""",
5148             ang = """Tide data base of harmonic constituents
5149 extracted from the \telkey{TIDAL MODEL FILE}.
5150 Old name in release 6.1: \telkey{TIDE DATA BASE}.""",
5151         ),
5152 #       -----------------------------------
5153         COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE = SIMP(statut ='o',
5154 #       -----------------------------------
5155             typ = 'R',
5156             defaut = 1.,
5157             fr = """Coefficient pour ajuster le marnage de l''onde de maree
5158 aux frontieres maritimes.""",
5159             ang = """Coefficient to calibrate the tidal range of tidal wave
5160 at tidal open boundary conditions.""",
5161         ),
5162 #       -----------------------------------
5163         COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES = SIMP(statut ='o',
5164 #       -----------------------------------
5165             typ = 'R',
5166             defaut = 999999.,
5167             fr = """Coefficient pour ajuster les composantes de vitesse
5168 de l''onde de maree aux frontieres maritimes.
5169 La valeur par defaut 999~999. signifie que c''est la racine carree
5170 du \telkey{COEFFICIENT DE CALAGE DU MARNAGE} qui est prise.""",
5171             ang = """Coefficient to calibrate the tidal velocities of tidal wave
5172 at tidal open boundary conditions.
5173 Default value 999,999. means that the square root of
5174 \telkey{COEFFICIENT TO CALIBRATE TIDAL RANGE} is taken.""",
5175         ),
5176 #       -----------------------------------
5177         LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
5178 #       -----------------------------------
5179             typ = 'I',
5180             defaut = 0,
5181             fr = """Numero local du point entre 1 et le nombre de points de frontiere
5182 maritime (du \telkey{FICHIER DES CONSTANTES HARMONIQUES}) ou les
5183 conditions aux limites de maree sont calculees avec les bases de donnees
5184 JMJ, NEA, FES, PREVIMER (sauf les bases de type TPXO).
5185 Les ondes de maree sont
5186 dephasees par rapport a ce point pour debuter le calcul par une pleine
5187 mer (en marees schematiques seulement).""",
5188             ang = """Local number between 1 and the number of tidal boundary points (of the
5189 \telkey{HARMONIC CONSTANTS FILE}) where the tidal boundary conditions
5190 are computed with JMJ, NEA, FES, PREVIMER databases (except TPXO-type
5191 databases). The tidal constituents have their phase shifted with respect
5192 to this point to start the simulation with a high water (for schematic
5193 tides only).""",
5194         ),
5195     ),
5196 #   -----------------------------------
5197     PHYSICAL_PARAMETERS = FACT(statut='o',
5198 #   -----------------------------------
5199 #       -----------------------------------
5200         TIDE_GENERATING_FORCE = SIMP(statut ='o',
5201 #       -----------------------------------
5202             typ = bool,
5203             defaut = False,
5204             fr = """Active la prise en compte de la force generatrice de la maree.
5205 Il faut utiliser \telkey{COORDONNEES SPHERIQUES} = OUI,
5206 il est impossible de prendre en compte la force generatrice de la maree
5207 en coordonnees cartesiennes.""",
5208             ang = """The tide generating force is taken into account.
5209 The keyword \telkey{SPHERICAL COORDINATES} has to be activated,
5210 it is impossible to account tide generating force in cartesian
5211 coordinates.""",
5212         ),
5213 #       -----------------------------------
5214         b_TIDE_GENERATING_FORCEG = BLOC(condition="TIDE_GENERATING_FORCE == True",
5215 #       -----------------------------------
5216         ),
5217     ),
5218 )
5219 # -----------------------------------------------------------------------
5220 COUPLING = PROC(nom= "COUPLING",op = None,
5221 # -----------------------------------------------------------------------
5222 #   -----------------------------------
5223     COUPLING_WITH = SIMP(statut ='o',
5224 #   -----------------------------------
5225         typ = 'TXM',
5226         into = ['SISYPHE','TOMAWAC','TOMAWAC2','WAQTEL','KHIONE','GAIA','DELWAQ'],
5227         defaut = '',
5228         fr = """Liste des codes avec lesquels on couple \telemac{2d} :
5229 \begin{itemize}
5230 \item \sisyphe : couplage interne avec \sisyphe ;
5231 \item \tomawac : couplage interne avec \tomawac ;
5232 \item \waqtel : couplage interne avec \waqtel ;
5233 \item \khione : couplage interne avec \khione ;
5234 \item DELWAQ : sortie de fichiers de resultats pour Delwaq ;
5235 \item \gaia : couplage interne avec \gaia.
5236 \end{itemize}""",
5237         ang = """List of codes to be coupled with \telemac{2d}:
5238 \begin{itemize}
5239 \item \sisyphe: internal coupling with \sisyphe,
5240 \item \tomawac: internal coupling with \tomawac,
5241 \item \waqtel: internal coupling with \waqtel,
5242 \item \khione: internal coupling with \khione,
5243 \item DELWAQ: will yield results file for DELWAQ,
5244 \item \gaia: internal coupling with \gaia.
5245 \end{itemize}""",
5246     ),
5247 #   -----------------------------------
5248     NAMES_OF_CLANDESTINE_VARIABLES = SIMP(statut ='f',
5249 #   -----------------------------------
5250         typ = 'TXM', min= 2, max= 2,
5251         fr = """Noms de variables qui ne sont pas utilisees par \telemac{2d},
5252 mais qui doivent etre conservees lors de son execution.
5253 Ceci peut etre utilise entre autres lors du couplage de \telemac{2d}
5254 avec un autre code.
5255 Les variables clandestines sont alors des variables propres a l''autre
5256 code et sont rendues dans le fichier de resultats.""",
5257         ang = """Names of variables that are not used by \telemac{2d}, but should be
5258 preserved when it is being run. This keyword may be used, for instance
5259 when \telemac{2d} is coupled with another code. Thus, the clandestine
5260 variables belong to the other code and are given back in the results
5261 file.""",
5262     ),
5263 #   -----------------------------------
5264     DELWAQ = FACT(statut='o',
5265 #   -----------------------------------
5266 #       -----------------------------------
5267         DELWAQ_STEERING_FILE = SIMP(statut ='f',
5268 #       -----------------------------------
5269             typ = ('Fichier','All Files (*)','Sauvegarde'),
5270             defaut = '',
5271             fr = """Fichier de commande pour le chainage avec DELWAQ.""",
5272             ang = """Steering file for chaining with DELWAQ.""",
5273         ),
5274 #       -----------------------------------
5275         DELWAQ_PRINTOUT_PERIOD = SIMP(statut ='f',
5276 #       -----------------------------------
5277             typ = 'I',
5278             defaut = 1,
5279             fr = """Periode de sortie des resultats pour DELWAQ.""",
5280             ang = """Printout period for DELWAQ files.""",
5281         ),
5282 #       -----------------------------------
5283         EXCHANGES_BETWEEN_NODES_DELWAQ_FILE = SIMP(statut ='f',
5284 #       -----------------------------------
5285             typ = ('Fichier','All Files (*)','Sauvegarde'),
5286             defaut = '',
5287             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5288             ang = """Results file for chaining with DELWAQ.""",
5289         ),
5290 #       -----------------------------------
5291         NODES_DISTANCES_DELWAQ_FILE = SIMP(statut ='f',
5292 #       -----------------------------------
5293             typ = ('Fichier','All Files (*)','Sauvegarde'),
5294             defaut = '',
5295             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5296             ang = """Results file for chaining with DELWAQ.""",
5297         ),
5298 #       -----------------------------------
5299         BOTTOM_SURFACES_DELWAQ_FILE = SIMP(statut ='f',
5300 #       -----------------------------------
5301             typ = ('Fichier','All Files (*)','Sauvegarde'),
5302             defaut = '',
5303             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5304             ang = """Results file for chaining with DELWAQ.""",
5305         ),
5306 #       -----------------------------------
5307         VOLUMES_DELWAQ_FILE = SIMP(statut ='f',
5308 #       -----------------------------------
5309             typ = ('Fichier','All Files (*)','Sauvegarde'),
5310             defaut = '',
5311             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5312             ang = """Results file for chaining with DELWAQ.""",
5313         ),
5314 #       -----------------------------------
5315         EXCHANGE_AREAS_DELWAQ_FILE = SIMP(statut ='f',
5316 #       -----------------------------------
5317             typ = ('Fichier','All Files (*)','Sauvegarde'),
5318             defaut = '',
5319             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5320             ang = """Results file for chaining with DELWAQ.""",
5321         ),
5322 #       -----------------------------------
5323         VERTICAL_FLUXES_DELWAQ_FILE = SIMP(statut ='f',
5324 #       -----------------------------------
5325             typ = ('Fichier','All Files (*)','Sauvegarde'),
5326             defaut = '',
5327             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5328             ang = """Results file for chaining with DELWAQ.""",
5329         ),
5330 #       -----------------------------------
5331         VELOCITY_DELWAQ_FILE = SIMP(statut ='f',
5332 #       -----------------------------------
5333             typ = ('Fichier','All Files (*)','Sauvegarde'),
5334             defaut = '',
5335             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5336             ang = """Results file for chaining with DELWAQ.""",
5337         ),
5338 #       -----------------------------------
5339         DIFFUSIVITY_DELWAQ_FILE = SIMP(statut ='f',
5340 #       -----------------------------------
5341             typ = ('Fichier','All Files (*)','Sauvegarde'),
5342             defaut = '',
5343             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5344             ang = """Results file for chaining with DELWAQ.""",
5345         ),
5346 #       -----------------------------------
5347         TEMPERATURE_DELWAQ_FILE = SIMP(statut ='f',
5348 #       -----------------------------------
5349             typ = ('Fichier','All Files (*)','Sauvegarde'),
5350             defaut = '',
5351             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5352             ang = """Results file for chaining with DELWAQ.""",
5353         ),
5354 #       -----------------------------------
5355         SALINITY_DELWAQ_FILE = SIMP(statut ='f',
5356 #       -----------------------------------
5357             typ = ('Fichier','All Files (*)','Sauvegarde'),
5358             defaut = '',
5359             fr = """Fichier de resultats pour le chainage avec DELWAQ.""",
5360             ang = """Results file for chaining with DELWAQ.""",
5361         ),
5362 #       -----------------------------------
5363         VELOCITY_FOR_DELWAQ = SIMP(statut ='f',
5364 #       -----------------------------------
5365             typ = bool,
5366             defaut = False,
5367             fr = """Decide de la sortie de la vitesse pour DELWAQ.""",
5368             ang = """Triggers the output of velocity for DELWAQ.""",
5369         ),
5370 #       -----------------------------------
5371         DIFFUSIVITY_FOR_DELWAQ = SIMP(statut ='f',
5372 #       -----------------------------------
5373             typ = bool,
5374             defaut = False,
5375             fr = """Decide de la sortie du coefficient de diffusion pour DELWAQ.""",
5376             ang = """Triggers the output of diffusion for DELWAQ.""",
5377         ),
5378 #       -----------------------------------
5379         TEMPERATURE_FOR_DELWAQ = SIMP(statut ='f',
5380 #       -----------------------------------
5381             typ = bool,
5382             defaut = False,
5383             fr = """Decide de la sortie de la temperature pour DELWAQ.""",
5384             ang = """Triggers the output of temperature for DELWAQ.""",
5385         ),
5386 #       -----------------------------------
5387         SALINITY_FOR_DELWAQ = SIMP(statut ='f',
5388 #       -----------------------------------
5389             typ = bool,
5390             defaut = False,
5391             fr = """Decide de la sortie de la salinite pour DELWAQ.""",
5392             ang = """Triggers the output of salinity for DELWAQ.""",
5393         ),
5394     ),
5395 #   -----------------------------------
5396     SISYPHE = FACT(statut='o',
5397 #   -----------------------------------
5398 #       -----------------------------------
5399         SISYPHE_STEERING_FILE = SIMP(statut ='f',
5400 #       -----------------------------------
5401             typ = 'TXM',
5402             defaut = '',
5403             fr = """Fichier des parametres de \sisyphe en cas de couplage
5404 interne.""",
5405             ang = """\sisyphe parameter file in case of internal coupling.""",
5406         ),
5407 #       -----------------------------------
5408         COUPLING_PERIOD_FOR_SISYPHE = SIMP(statut ='f',
5409 #       -----------------------------------
5410             typ = 'I',
5411             defaut = 1,
5412             fr = """Fixe la periode de couplage avec le module \sisyphe,
5413 en nombre de pas de temps.
5414 Par defaut, il est couple a chaque pas de temps.""",
5415             ang = """Sets the coupling period with the \sisyphe module, in number
5416 of time steps. By default, it is coupled at every time step.""",
5417         ),
5418     ),
5419 #   -----------------------------------
5420     GAIA = FACT(statut='o',
5421 #   -----------------------------------
5422 #       -----------------------------------
5423         GAIA_STEERING_FILE = SIMP(statut ='f',
5424 #       -----------------------------------
5425             typ = 'TXM',
5426             defaut = '',
5427             fr = """Fichier des parametres de \gaia en cas de couplage
5428 interne.""",
5429             ang = """\gaia parameter file in case of internal coupling.""",
5430         ),
5431     ),
5432 #   -----------------------------------
5433     TOMAWAC = FACT(statut='o',
5434 #   -----------------------------------
5435 #       -----------------------------------
5436         TOMAWAC_STEERING_FILE = SIMP(statut ='f',
5437 #       -----------------------------------
5438             typ = 'TXM',
5439             defaut = '',
5440             fr = """Fichier des parametres de \tomawac en cas de couplage
5441 interne.""",
5442             ang = """\tomawac parameter file in case of internal coupling.""",
5443         ),
5444 #       -----------------------------------
5445         COUPLING_PERIOD_FOR_TOMAWAC = SIMP(statut ='f',
5446 #       -----------------------------------
5447             typ = 'I',
5448             defaut = 1,
5449             fr = """Fixe la periode de couplage avec le module \tomawac,
5450 en nombre de pas de temps.
5451 Par defaut, il est couple a chaque pas de temps.""",
5452             ang = """Sets the coupling period with the \tomawac module, in number
5453 of time steps. By default, it is coupled at every time step.""",
5454         ),
5455     ),
5456 #   -----------------------------------
5457     WAQTEL = FACT(statut='o',
5458 #   -----------------------------------
5459 #       -----------------------------------
5460         WAQTEL_STEERING_FILE = SIMP(statut ='f',
5461 #       -----------------------------------
5462             typ = 'TXM',
5463             defaut = '',
5464             fr = """Fichier des parametres physiques pour les processus de qualite d eau
5465 (internes pas ceux de DELWAQ).""",
5466             ang = """File for physical parameters of water quality processes
5467 (local ones of \telemac{2d}-\waqtel not those of DELWAQ).""",
5468         ),
5469     ),
5470 #   -----------------------------------
5471     KHIONE = FACT(statut='o',
5472 #   -----------------------------------
5473 #       -----------------------------------
5474         KHIONE_STEERING_FILE = SIMP(statut ='f',
5475 #       -----------------------------------
5476             typ = 'TXM',
5477             defaut = '',
5478             fr = """Fichier des parametres physiques pour les processus lies aux glaces.""",
5479             ang = """Steering file for physical parameters of ice processes.""",
5480         ),
5481 #       -----------------------------------
5482         ICE_PROCESSES = SIMP(statut ='f',
5483 #       -----------------------------------
5484             typ = 'I',
5485             defaut = 1,
5486             fr = """Donne le numero du processus des glaces, avec le numero defini sur la
5487 base multiplicative de nombres premiers (2, 3, 5, 7, 11, 13\ldots).
5488 Par exemple, 14 (= 2 $\times$ 7) rend actif les processus 2 et 7.
5489 Exception a la regle :
5490 \begin{itemize}
5491 \item si l entier est 1, il n y a pas de couplage ;
5492 \item si l entier est 0, tous les effets suivants sont inclus :
5493 \begin{itemize}
5494 \item 2 : bilan thermique ;
5495 \item 3 : \ldots
5496 \end{itemize}
5497 \end{itemize}""",
5498             ang = """Provides the ice process number with the number being defined on the
5499 basis of a multiplication of primary numbers (2, 3, 5, 7, 11, 13\ldots).
5500 For instance, 14 (= 2 $\times$ 7) activates processes 2 and 7.
5501 Exception is for:
5502 \begin{itemize}
5503 \item if the number is 1, there will be no ice processes included,
5504 \item if the number is 0, all processes are included, as follows:
5505 \begin{itemize}
5506 \item 2: thermical budget,
5507 \item 3: \ldots
5508 \end{itemize}
5509 \end{itemize}""",
5510         ),
5511     ),
5512 #   -----------------------------------
5513     NESTOR = FACT(statut='f',
5514 #   -----------------------------------
5515 #       -----------------------------------
5516         NESTOR = SIMP(statut ='o',
5517 #       -----------------------------------
5518             typ = bool,
5519             defaut = False,
5520             fr = """Active l utilisation du module \nestor pour changer les fonds.""",
5521             ang = """Activates the use of the \nestor module to change the bottom.""",
5522         ),
5523 #       -----------------------------------
5524         NESTOR_ACTION_FILE = SIMP(statut ='o',
5525 #       -----------------------------------
5526             typ = ('Fichier','All Files (*)'),
5527             defaut = '',
5528             fr = """Nom du fichier des parametres de \nestor.""",
5529             ang = """Name of the \nestor steering file.""",
5530         ),
5531 #       -----------------------------------
5532         NESTOR_POLYGON_FILE = SIMP(statut ='o',
5533 #       -----------------------------------
5534             typ = ('Fichier','All Files (*)'),
5535             defaut = '',
5536             fr = """Nom du fichier de polygones de \nestor indiquant la localisation.""",
5537             ang = """Name of the \nestor polygon file which indicates the location.""",
5538         ),
5539 #       -----------------------------------
5540         NESTOR_SURFACE_REFERENCE_FILE = SIMP(statut ='o',
5541 #       -----------------------------------
5542             typ = ('Fichier','All Files (*)'), max='**',
5543             defaut = '',
5544             fr = """Nom du fichier de \nestor qui contient la surface de reference.""",
5545             ang = """Name of the \nestor file which contains the reference water surface.""",
5546         ),
5547 #       -----------------------------------
5548         NESTOR_RESTART_FILE = SIMP(statut ='o',
5549 #       -----------------------------------
5550             typ = ('Fichier','All Files (*)'),
5551             defaut = '',
5552             fr = """Nom du fichier de reprise de \nestor.""",
5553             ang = """Name of the \nestor restart file.""",
5554         ),
5555     ),
5556 )
5557 # -----------------------------------------------------------------------
5558 INTERNAL = PROC(nom= "INTERNAL",op = None,
5559 # -----------------------------------------------------------------------
5560     UIinfo = {"groupes": ("CACHE")},
5561 #   -----------------------------------
5562     LANGUAGE = SIMP(statut ='f',
5563 #   -----------------------------------
5564         typ = 'TXM',
5565         into = ["FRANCAIS","ANGLAIS"],
5566         defaut = "ANGLAIS",
5567         fr = """1 : FRANCAIS   2 : ANGLAIS""",
5568         ang = """1: FRENCH   2: ENGLISH""",
5569     ),
5570 #   -----------------------------------
5571     STEERING_FILE = SIMP(statut ='f',
5572 #   -----------------------------------
5573         typ = ('Fichier','All Files (*)'),
5574         defaut = '',
5575         fr = """Nom du fichier contenant les parametres du calcul a realiser.""",
5576         ang = """Name of the file containing the parameters of the computation
5577 Written by the user.""",
5578     ),
5579 #   -----------------------------------
5580     DICTIONARY = SIMP(statut ='f',
5581 #   -----------------------------------
5582         typ = ('Fichier','All Files (*)'),
5583         defaut = 'telemac2d.dico',
5584         fr = """Dictionnaire des mots cles.""",
5585         ang = """Key word dictionary.""",
5586     ),
5587 #   -----------------------------------
5588     PARTITIONING_TOOL = SIMP(statut ='f',
5589 #   -----------------------------------
5590         typ = 'TXM',
5591         into = ['METIS','SCOTCH','PARMETIS','PTSCOTCH'],
5592         defaut = 'METIS',
5593         fr = """Choix du partitionneur :
5594 \begin{itemize}
5595 \item 1 : METIS ;
5596 \item 2 : SCOTCH ;
5597 \item 3 : PARMETIS ;
5598 \item 4 : PTSCOTCH.
5599 \end{itemize}""",
5600         ang = """Partitioning tool selection:
5601 \begin{itemize}
5602 \item 1: METIS,
5603 \item 2: SCOTCH,
5604 \item 3: PARMETIS,
5605 \item 4: PTSCOTCH.
5606 \end{itemize}""",
5607     ),
5608 #   -----------------------------------
5609     CONCATENATE_PARTEL_OUTPUT = SIMP(statut ='o',
5610 #   -----------------------------------
5611         typ = bool,
5612         defaut = False,
5613         fr = """Avec cette option partel ne generera non plus un fichier (GEO/CLI/PAR)
5614 par processeur mais une concatenation de ceux-ci, ainsi qu''un fichier
5615 d''index associe. Ainsi plutot que d''avoir 3P fichiers, il n''y en a
5616 plus que 6.""",
5617         ang = """With this option partel no more generates a file (GEO/CLI/PAR) per
5618 process but a single concatenate file of them, associated to an index
5619 file. Then instead of having partel generating 3P files, it only
5620 generates 6 files.""",
5621     ),
5622 )
5623 TEXTE_NEW_JDC = "\
5624 COMPUTATION_ENVIRONMENT();\
5625 HYDRO();\
5626 NUMERICAL_PARAMETERS();\
5627 GENERAL_PARAMETERS();\
5628 TURBULENCE();\
5629 "
5630 Ordre_Des_Commandes = (
5631 'COMPUTATION_ENVIRONMENT',
5632 'HYDRO',
5633 'NUMERICAL_PARAMETERS',
5634 'GENERAL_PARAMETERS',
5635 'TURBULENCE',
5636 'TIDAL_FLATS_INFO',
5637 'TRACERS',
5638 'PARTICLE_TRANSPORT',
5639 'HYDRAULIC_STRUCTURES',
5640 'TIDES',
5641 'COUPLING',
5642 'INTERNAL')
5643 try:
5644     import TelApy
5645     source = "eficas"
5646 except Exception as excpt:
5647     source = "Telemac"
5648 enum = source+'.telemac2d_enum_auto'
5649 dicoCasEn = source+'.telemac2d_dicoCasEnToCata'
5650 dicoCasFr = source+'.telemac2d_dicoCasFrToCata'