Salome HOME
c77a0c0ba0ccf375ec32e8541c232c94e962d64c
[tools/eficas.git] / Telemac / sisyphe_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 = 'SISYPHE',
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 INPUT_OUTPUT__INFORMATION = PROC(nom= "INPUT_OUTPUT__INFORMATION",op = None,
50 # -----------------------------------------------------------------------
51 #   -----------------------------------
52     COMPUTATIONAL_INFORMATION = FACT(statut='o',
53 #   -----------------------------------
54 #       -----------------------------------
55         TITLE = SIMP(statut ='f',
56 #       -----------------------------------
57             typ = 'TXM',
58             defaut = '',
59             fr = """Titre du cas etudie.
60 Ce titre sera inscrit dans les sorties.""",
61             ang = """Title of the case being considered.""",
62         ),
63     ),
64 )
65 # -----------------------------------------------------------------------
66 MISCELLANEOUS = PROC(nom= "MISCELLANEOUS",op = None,
67 # -----------------------------------------------------------------------
68 #   -----------------------------------
69     PARALLEL_PROCESSORS = SIMP(statut ='f',
70 #   -----------------------------------
71         typ = 'I',
72         defaut = [0],
73         fr = """NOMBRE DE PROCESSEURS EN CALCUL PARALLELE
74 0 : 1 machine, compilation sans bibliotheque de parallelisme
75 1 : 1 machine, compilation avec bibliotheque de parallelisme
76 2 : 2 processeurs ou machines en parallele
77 etc...""",
78         ang = """NUMBER OF PROCESSORS FOR PARALLEL PROCESSING
79 0 : 1 machine, compiling without parallel library
80 1 : 1 machine, compiling with a parallel library
81 2 : 2 processors or machines in parallel
82 etc....""",
83     ),
84 #   -----------------------------------
85     VALIDATION = SIMP(statut ='f',
86 #   -----------------------------------
87         typ = bool,
88         defaut = False,
89         fr = """Option utilisee principalement pour le dossier de validation.
90 Si ce mot-cle vaut OUI, les resultats du calcul vont alors etre
91 compares aux valeurs du fichier de reference.
92 La comparaison est effectuee par le sous-programme VALIDA qui peut
93 etre modifie pour realiser, par exemple, une comparaison avec
94 une solution exacte.""",
95         ang = """This option is primarily used for the validation
96 documents. If this keyword is equal to YES, the REFERENCE FILE
97 is then considered as a reference which the computation is
98 going to be compared with.
99 The comparison is made by the subroutine VALIDA, which can be
100 modified so as to include,for example,a comparison with an
101 exact solution.""",
102     ),
103 #   -----------------------------------
104     b_VALIDATIONG = BLOC(condition="VALIDATION == True",
105 #   -----------------------------------
106 #       -----------------------------------
107         REFERENCE_FILE_FORMAT = SIMP(statut ='f',
108 #       -----------------------------------
109             typ = 'TXM',
110             into = ['SERAFIN','SERAFIND','MED'],
111             defaut = 'SERAFIN',
112             fr = """Format du fichier de resultats du calcul precedent.
113 Les valeurs possibles sont :
114 - SERAFIN : format standard simple precision pour Telemac;
115 - SERAFIND: format standard double precision pour Telemac;
116 - MED     : format MED base sur HDF5""",
117             ang = """Previous computation results file format.
118 Possible values are:
119 - SERAFIN : classical single precision format in Telemac;
120 - SERAFIND: classical double precision format in Telemac;
121 - MED     : MED format based on HDF5""",
122         ),
123 #       -----------------------------------
124         REFERENCE_FILE = SIMP(statut ='f',
125 #       -----------------------------------
126             typ = ('Fichier','All Files (*)'), max='**',
127             defaut = '',
128             fr = """Nom du fichier servant a valider le calcul.
129 Si VALIDATION = OUI, les resultats du calcul vont etre
130 comparees aux valeurs contenues dans ce fichier.
131 La comparaison est effectuee par le sous-programme VALIDA.""",
132             ang = """Name of the file used to validate the computation.
133 If VALIDATION = YES, the results of the computation will be
134 compared with the values of this file. The comparison is
135 made by the subroutine VALIDA.""",
136         ),
137     ),
138 #   -----------------------------------
139     NUMBER_OF_PRIVATE_ARRAYS = SIMP(statut ='f',
140 #   -----------------------------------
141         typ = 'I',
142         defaut = [1],
143         fr = """Nombre de tableaux mis a disposition de l utilisateur""",
144         ang = """Number of arrays for own user programming""",
145     ),
146 #   -----------------------------------
147     ORIGIN_COORDINATES = SIMP(statut ='f',
148 #   -----------------------------------
149         typ = 'I', min= 2, max= 2,
150         defaut = [0,0],
151         fr = """Valeur en metres, utilise pour eviter les trop grands nombres,
152 transmis dans le format Selafin mais pas d''autre traitement pour
153 l''instant""",
154         ang = """Value in metres, used to avoid large real numbers,
155 added in Selafin format, but so far no other treatment""",
156     ),
157 #   -----------------------------------
158     DEBUGGER = SIMP(statut ='f',
159 #   -----------------------------------
160         typ = 'I',
161         defaut = [0],
162         fr = """Pour imprimer la sequence des appels, mettre 1""",
163         ang = """If 1, calls of subroutines will be printed in the listing""",
164     ),
165 #   -----------------------------------
166     OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS = SIMP(statut ='f',
167 #   -----------------------------------
168         typ = 'I',
169         defaut = 1,
170         fr = """Utilise si ''BANCS DECOUVRANTS'' est vrai
171    1 : EQUATIONS RESOLUES PARTOUT AVEC CORRECTION
172        SUR LES BANCS DECOUVRANTS
173    2 : GEL DES ELEMENTS DECOUVRANTS
174 Il est conseille de choisir l''option 1 car elle permet de
175 conserver la masse.""",
176         ang = """Used if ''TIDAL FLATS'' is true
177    1 : EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS
178    2 : DRY ELEMENTS FROZEN
179 It is recommended to choose 1 since it ensures mass conservation.""",
180     ),
181 #   -----------------------------------
182     NESTOR = SIMP(statut ='f',
183 #   -----------------------------------
184         typ = bool,
185         defaut = [False],
186         fr = """Pour le couplage avec NESTOR""",
187         ang = """For coupling with NESTOR""",
188     ),
189 #   -----------------------------------
190     NESTOR_ACTION_FILE = SIMP(statut ='f',
191 #   -----------------------------------
192         typ = ('Fichier','All Files (*)'), max='**',
193         defaut = '',
194         fr = """Nom du fichier de commandes de nestor""",
195         ang = """Name of the Nestor steering file""",
196     ),
197 #   -----------------------------------
198     NESTOR_POLYGON_FILE = SIMP(statut ='f',
199 #   -----------------------------------
200         typ = ('Fichier','All Files (*)'), max='**',
201         defaut = '',
202         fr = """Nom du fichier de polygons de Nestor""",
203         ang = """Name of the Nestor polygon file""",
204     ),
205 #   -----------------------------------
206     NESTOR_RESTART_FILE = SIMP(statut ='f',
207 #   -----------------------------------
208         typ = ('Fichier','All Files (*)'), max='**',
209         defaut = '',
210         fr = """Nom du fichier de phydef-cf.cfg.ds de Nestor""",
211         ang = """Name of the Nestor file phydef-cf.cfg.ds""",
212     ),
213 #   -----------------------------------
214     NESTOR_SURFACE_REFERENCE_FILE = SIMP(statut ='f',
215 #   -----------------------------------
216         typ = ('Fichier','All Files (*)'), max='**',
217         defaut = '',
218         fr = """Nom du fichier de reference surface de Nestor""",
219         ang = """Name of the Nestor file which contains the reference
220          water surface""",
221     ),
222 )
223 # -----------------------------------------------------------------------
224 GENERAL = PROC(nom= "GENERAL",op = None,
225 # -----------------------------------------------------------------------
226 #   -----------------------------------
227     CHECKING_THE_MESH = SIMP(statut ='f',
228 #   -----------------------------------
229         typ = bool,
230         defaut = [False],
231         fr = """Si oui on appelle le sous-programme checkmesh qui verifie
232 la coherence du maillage, points superposes, etc.""",
233         ang = """if this key word is equal to yes, a call to subroutine
234 checkmesh will look for errors in the mesh, superimposed points, etc.""",
235     ),
236 #   -----------------------------------
237     MAXIMUM_NUMBER_OF_BOUNDARIES = SIMP(statut ='f',
238 #   -----------------------------------
239         typ = 'I',
240         defaut = 30,
241         fr = """nombre maximal de frontieres differentes dans le maillage.
242 Sert au dimensionnement de la memoire, a augmenter si necessaire""",
243         ang = """maximal number of boundaries in the mesh.
244 Used for dimensioning arrays. Can be increased if needed""",
245     ),
246 #   -----------------------------------
247     FLUXLINE_INPUT_FILE = SIMP(statut ='f',
248 #   -----------------------------------
249         typ = ('Fichier','All Files (*)'),
250         defaut = '',
251         fr = """Nom du fichier de fluxline""",
252         ang = """Name of the Fluxline file""",
253     ),
254 #   -----------------------------------
255     FLUXLINE = SIMP(statut ='f',
256 #   -----------------------------------
257         typ = bool,
258         defaut = False,
259         fr = """FLUXLINE""",
260         ang = """Use Fluxline to compute flux over lines""",
261     ),
262 #   -----------------------------------
263     CONTROL_SECTIONS = SIMP(statut ='f',
264 #   -----------------------------------
265         typ = 'I', min= 3, max= 3,
266         fr = """Couples de points (numeros globaux dans le maillage) entre
267 lesquels les debits instantanes et cumules seront donnes.""",
268         ang = """Couples of points (global numbers in the mesh) defining sections
269  where the instantaneous and cumulated discharges will be given""",
270     ),
271 #   -----------------------------------
272     STATIONARY_MODE = SIMP(statut ='f',
273 #   -----------------------------------
274         typ = bool,
275         defaut = False,
276         fr = """(-)""",
277         ang = """(-)""",
278     ),
279 #   -----------------------------------
280     SHIELDS_PARAMETERS = SIMP(statut ='f',
281 #   -----------------------------------
282         typ = 'R', min=10, max=10,
283         fr = """Utilise pour determiner la valeur de la contrainte critique
284 d''entrainement (sediments non-cohesifs). En multiclasse, specifier la
285 valeur pour chaque classe,sinon on prend la meme valeur.  Par defaut (si
286 aucune valeur donnee) le code calcule lui meme le parametre de Shields
287 en fonction du diametre.""",
288         ang = """Used to determine the critical bed shear stress value
289 (non-cohesive sediments).
290 For multi grain size,
291 the shields parameter needs to be specified for each class. If only one
292 value is specified, the shields parameter will be considered constant.
293 The default option (no shields given in parameter file)
294 is to calculate the shields parameter as a function of
295 sand grain diameter (see logical CALAC).""",
296     ),
297 #   -----------------------------------
298     OPTION_FOR_THE_TREATMENT_OF_NON_ERODABLE_BEDS = SIMP(statut ='f',
299 #   -----------------------------------
300         typ = 'I',
301         defaut = [0],
302         fr = """Ce parametre permet de fixer la methode retenue pour traiter
303 les fonds non erodables :
304         0 = FONDS ERODABLES PARTOUT
305         1 = MINIMISATION DU DEBIT SOLIDE POUR LES FONDS NON ERODABLES
306         2 = DEBIT SOLIDE NUL POUR LES FONDS NON ERODABLES
307         3 = MINIMISATION DU DEBIT SOLIDE EN ELEMENTS FINIS/MASS-LUMPING
308         4 = MINIMISATION DU DEBIT SOLIDE EN VOLUMES FINIS
309 Quand le fond rigide peut etre atteint lors de la simulation, il est
310 conseille d utiliser la metode 3 ou bien 4""",
311         ang = """This parameters determines the method used to treat the
312 non erodable bottoms :
313         0 = ERODABLE BOTTOMS EVERYWHERE
314         1 = MINIMISATION OF THE SOLID DISCHARGE
315         2 = NUL SOLID DISCHARGE
316         3 = MINIMISATION OF THE SOLID DISCHARGE IN FE / MASS-LUMPING
317         4 = MINIMISATION OF THE SOLID DISCHARGE IN FINITE VOLUMES
318 When the rigid bed can be reached during the computation, it is advised
319 to use the method 3 or the method 4""",
320     ),
321 #   -----------------------------------
322     MINIMAL_VALUE_OF_THE_WATER_HEIGHT = SIMP(statut ='f',
323 #   -----------------------------------
324         typ = 'R',
325         defaut = 1.E-3,
326         fr = """Fixe la valeur minimale de la hauteur d''eau.
327 Est utilise lorsque le mot cle BANCS DECOUVRANTS est egal a oui.""",
328         ang = """Sets the minimum value of the water depth.
329 Is used when the keyword TIDAL FLATS is equal to yes.""",
330     ),
331 #   -----------------------------------
332     TIDAL_FLATS = SIMP(statut ='f',
333 #   -----------------------------------
334         typ = bool,
335         defaut = True,
336         fr = """permet de supprimer les tests sur les bancs decouvrants, dans
337 les cas ou l''on est certain qu''il n''y en aura pas.
338 En cas de doute : oui""",
339         ang = """When no, the specific treatments for tidal flats
340 are by-passed.
341 This spares time, but of course you must be sure that you
342 have no tidal flats""",
343     ),
344 #   -----------------------------------
345     SECONDARY_CURRENTS = SIMP(statut ='f',
346 #   -----------------------------------
347         typ = bool,
348         defaut = [False],
349         fr = """Pour prendre en compte les courants secondaires""",
350         ang = """using the parametrisation for secondary currents""",
351     ),
352 #   -----------------------------------
353     SECONDARY_CURRENTS_FILE = SIMP(statut ='f',
354 #   -----------------------------------
355         typ = bool,
356         defaut = [False],
357         fr = """Pour prendre en compte les courants secondaires avec FICHIER""",
358         ang = """The radii needed for the parametrisation of secondary currents
359 are read from SELAFIN file""",
360     ),
361 #   -----------------------------------
362     GRAIN_FEEDING = SIMP(statut ='f',
363 #   -----------------------------------
364         typ = bool,
365         defaut = False,
366         fr = """Now suppressed""",
367         ang = """Now suppressed""",
368     ),
369 #   -----------------------------------
370     STEADY_CASE = SIMP(statut ='f',
371 #   -----------------------------------
372         typ = bool,
373         defaut = False,
374         fr = """Definit si l''hydrodynamique a prendre en compte est
375 permanente ou non. Si la valeur OUI est donnee a ce mot-cle,
376 le dernier enregistrement du fichier du calcul precedent
377 constituera le champ (h,u,v et eventuellement hauteur et periode
378 de houle) a prendre en compte.""",
379         ang = """Specifies steady or unsteady case.If this keyword
380 is equal to YES, the last record of the previous computation
381 file will give the values of h,u,v and eventually wave height
382 and period to be considered.""",
383     ),
384 #   -----------------------------------
385     CONSTANT_FLOW_DISCHARGE = SIMP(statut ='f',
386 #   -----------------------------------
387         typ = bool,
388         defaut = False,
389         fr = """constant flow discharge or not""",
390         ang = """constant flow discharge or not""",
391     ),
392 #   -----------------------------------
393     NUMBER_OF_ITERATIONS_FOR_TELEMAC = SIMP(statut ='f',
394 #   -----------------------------------
395         typ = 'I',
396         defaut = 500,
397         fr = """Nombre d''iteration a effecuter avec telemac pour obtenir
398 un nouvel ecoulement quasi stationnaire.
399 A utiliser avec l''option constant flow discharge""",
400         ang = """Number of iteration to do wtih telemac in order to obtain a
401 new quasi-stationary flow.
402 To use with the option constant flow discharge""",
403     ),
404 #   -----------------------------------
405     CRITERION_TO_UPDATE_THE_FLOW = SIMP(statut ='f',
406 #   -----------------------------------
407         typ = 'R',
408         defaut = 0.1,
409         fr = """Critere (Hauteur du fond>CRIT\_CFD*Hauteur d''eau) pour mettre
410 a jour l''ecoulement.
411 A utiliser avec l''option constant flow discharge""",
412         ang = """Criterion (Bottom height>CRIT\_CFD*Water depth) in order to
413 update the flow.
414 To use with the option constant flow discharge""",
415     ),
416 #   -----------------------------------
417     CRITICAL_EVOLUTION_RATIO = SIMP(statut ='f',
418 #   -----------------------------------
419         typ = 'R',
420         defaut = 1.,
421         fr = """Definit le moment ou l''extrapolation du champ de courant
422 par SISYPHE n''est plus valable. Ce nombre represente le rapport
423 maximum entre les evolutions et la hauteur d''eau admissible.
424 Generalement, on admet qu''une evolution inferieure a 0,1 fois
425 la hauteur d''eau ne modifie pas sensiblement la repartition
426 du champ de courant.""",
427         ang = """Specifies the moment when the SISYPHE extrapolation current
428 filed is no more valid. This value set the maximum ratio between
429 evolutions and the water depth.
430 Generally, it is considered that an evolution lower than 0,1 time the
431 water depth does not perceptibly modify the current field distribution.""",
432     ),
433 #   -----------------------------------
434     NUMBER_OF_BED_LOAD_MODEL_LAYERS = SIMP(statut ='f',
435 #   -----------------------------------
436         typ = 'I',
437         defaut = 2,
438         fr = """Comme son nom l''indique..., defaut NOMBLAY=2""",
439         ang = """This is the given allocation limit, secure default NOMLAY=2""",
440     ),
441 #   -----------------------------------
442     MASS_CONCENTRATION = SIMP(statut ='f',
443 #   -----------------------------------
444         typ = bool,
445         defaut = [False],
446         fr = """par defaut, le code calcule les concentrations volumiques.
447 Ce mot cle permet dimprimer et de relire des concentrations en g/l.
448 Les concentrations imposees aux limites
449 (fichier condim, concentration de condim\_susp)
450 sont alors aussi donnees par l utilisateur en g/l et
451 reconverties en  concentration volumique par le code.""",
452         ang = """Determines if concentrations (input and output)
453 are  mass concentrations in g/l or adimensionnal volume concentrations
454 (default option).""",
455     ),
456 #   -----------------------------------
457     EFFECT_OF_WAVES = SIMP(statut ='f',
458 #   -----------------------------------
459         typ = bool,
460         defaut = False,
461         fr = """Prend en compte l''effet de la houle sur le transport solide""",
462         ang = """Takes into account the effect of waves""",
463     ),
464 #   -----------------------------------
465     MIXED_SEDIMENT = SIMP(statut ='f',
466 #   -----------------------------------
467         typ = bool,
468         defaut = [False],
469         fr = """Melange sable vase: 2 classes seulement""",
470         ang = """Mixture of cohesive and non cohesive sediment : 2 class only""",
471     ),
472 )
473 # -----------------------------------------------------------------------
474 USELESS = PROC(nom= "USELESS",op = None,
475 # -----------------------------------------------------------------------
476 #   -----------------------------------
477     VECTOR_LENGTH = SIMP(statut ='f',
478 #   -----------------------------------
479         typ = 'I',
480         defaut = 1,
481         fr = """longueur du vecteur pour les machines vectorielles.""",
482         ang = """vector length on vector machines.""",
483     ),
484 #   -----------------------------------
485     STEERING_FILE = SIMP(statut ='o',
486 #   -----------------------------------
487         typ = ('Fichier','All Files (*)'), max='**',
488         defaut = '',
489         fr = """Nom du fichier contenant les parametres du calcul
490 a realiser. Il peut-etre ecrit par l''utilisateur avec EDAMOX.""",
491         ang = """Name of the file containing the parameters
492 of the computation. Could be written by the user with EDAMOX.""",
493     ),
494 #   -----------------------------------
495     MEAN_DIAMETER_OF_THE_SEDIMENT = SIMP(statut ='o',
496 #   -----------------------------------
497         typ = 'R', min=10, max=10,
498         defaut = [.01,.01,.01,.01,.01,.01,.01,.01,.01,.01],
499         fr = """Sets value of diameter dm for particular size class.""",
500         ang = """Sets value of diameter dm for particular size class.""",
501     ),
502 #   -----------------------------------
503     GEOMETRY_FILE_BINARY = SIMP(statut ='o',
504 #   -----------------------------------
505         typ = 'TXM',
506         defaut = 'STD',
507         fr = """Type de binaire pour l''ecriture du fichier de geometrie.
508 Ce type depend de la machine ou ce fichier est genere.
509 Les differentes valeurs sont :
510    IBM, pour un fichier sur IBM (depuis un CRAY)
511    I3E, pour un fichier sur HP (depuis un CRAY)
512    STD, pour le type de binaire de la machine ou l''utilisateur
513         travaille. Les commandes standard READ et WRITE sont
514         alors utilisees.""",
515         ang = """Binary file type used for writing the geometry file.
516 This type depends on the machine on which the file was generated.
517 The possible values are as follows :
518    IBM, for a file on an IBM (from a CRAY)
519    I3E, for a file on an HP (from a CRAY)
520    STD, binary type of the machine on which the user is working.
521         The normal READ and WRITE commands are then used.""",
522     ),
523 #   -----------------------------------
524     HYDRODYNAMIC_FILE_BINARY = SIMP(statut ='o',
525 #   -----------------------------------
526         typ = 'TXM',
527         defaut = 'STD',
528         fr = """obsolete""",
529         ang = """obsolete""",
530     ),
531 #   -----------------------------------
532     BINARY_OF_THE_PREVIOUS_SEDIMENTOLOGICAL_COMPUTATION_FILE = SIMP(statut ='o',
533 #   -----------------------------------
534         typ = 'TXM',
535         defaut = 'STD',
536         fr = """Type de binaire pour l''ecriture du fichier precedent
537 sedimentologique. Ce type depend de la machine ou le fichier
538 precedent sedimentologique est genere. Les differentes valeurs
539 sont identiques a celles du fichier de geometrie.""",
540         ang = """Binary file type used for writing the previous
541 sedimentological computation results file.
542 This type depends on the machine on which the file
543 was generated. The possible values are the same as for
544 the geometry file.""",
545     ),
546 #   -----------------------------------
547     RESULTS_FILE_BINARY = SIMP(statut ='o',
548 #   -----------------------------------
549         typ = 'TXM',
550         defaut = 'STD',
551         fr = """Type de binaire pour l''ecriture du fichier des resultats.
552 Ce type depend de la machine ou le fichier des resultats est genere.
553 Les differentes valeurs sont identiques a celles du fichier de
554 geometrie.""",
555         ang = """Binary file type used for writing the results file.
556 This type depends on the machine on which the file was generated.
557 The possible values are the same as for the geometry file.""",
558     ),
559 #   -----------------------------------
560     REFERENCE_FILE_BINARY = SIMP(statut ='o',
561 #   -----------------------------------
562         typ = 'TXM',
563         defaut = 'STD',
564         fr = """Type de binaire pour l''ecriture du fichier de reference.
565 Ce type depend de la machine ou le fichier de reference est genere.
566 Les differentes valeurs sont identiques a celles du fichier
567 de geometrie.""",
568         ang = """Binary file type used for writing the reference file.
569 This type depends on the machine on which the file was generated.
570 The possible values are the same as for the geometry file.""",
571     ),
572 )
573 # -----------------------------------------------------------------------
574 INPUT_OUTPUT__FILES = PROC(nom= "INPUT_OUTPUT__FILES",op = None,
575 # -----------------------------------------------------------------------
576 #   -----------------------------------
577     GEOMETRY_FILE_FORMAT = SIMP(statut ='f',
578 #   -----------------------------------
579         typ = 'TXM',
580         into = ['SERAFIN','SERAFIND','MED'],
581         defaut = 'SERAFIN',
582         fr = """Format du fichier de geometrie.
583 Les valeurs possibles sont :
584 - SERAFIN : format standard simple precision pour Telemac;
585 - SERAFIND: format standard double precision pour Telemac;
586 - MED     : format MED base sur HDF5""",
587         ang = """Geometry file format.
588 Possible values are:
589 - SERAFIN : classical single precision format in Telemac;
590 - SERAFIND: classical double precision format in Telemac;
591 - MED     : MED format based on HDF5""",
592     ),
593 #   -----------------------------------
594     NAMES = FACT(statut='o',
595 #   -----------------------------------
596 #       -----------------------------------
597         GEOMETRY_FILE = SIMP(statut ='f',
598 #       -----------------------------------
599             typ = ('Fichier','All Files (*)'), max='**',
600             fr = """Nom du fichier contenant le maillage du calcul a realiser.""",
601             ang = """Name of the file containing the mesh. This file may also
602 contain the topography and the friction coefficients.""",
603         ),
604 #       -----------------------------------
605         HYDRODYNAMIC_FILE = SIMP(statut ='f',
606 #       -----------------------------------
607             typ = ('Fichier','All Files (*)'), max='**',
608             defaut = '',
609             fr = """Nom d''un fichier contenant les resultats d''un calcul
610 precedent realise sur le meme maillage. L''hydrodynamique
611 du calcul sera donnee, soit par le dernier pas de temps
612 de ce fichier si le calcul est permanent,
613 soit par les pas de temps representant la maree
614 ou la crue consideree si le calcul est instationnaire
615 Remarque : Si l''on modelise le transport sous l''action
616 combinee du courant et de la houle (mot-cle  DE
617 TRANSPORT SOLIDE =4) ce fichier doit contenir non
618 seulement les donnees hydrodynamiques(hauteur d''eau,vitesses)
619 mais aussi les donnees de houle (hauteur de houle, periode de
620 houle).Les donnees de houle peuvent toutefois etre imposees
621 par l''utilisateur dans le sous programme CONDIM.""",
622             ang = """Name of a file containing the results a previous
623 computation  made on the same mesh. The hydrodynamic will
624 be given by the last record of the file if the case is
625 steady or, if the case is unsteady, by the time steps
626 describing the tide or flood.
627 Remark :If the bed-load transport under the combined
628 action of currents and wave is modelled (keyword
629 BED-LOAD TRANSPORT FORMULA set equal to 4), this file
630 must contain not only the hydrodynamic data
631 (water height, velocities) but also the wave data
632 (wave height, wave period).However, the user has also
633  the possibility to give the values
634 of the wave data in the subroutine CONDIM.""",
635         ),
636 #       -----------------------------------
637         NAMES_OF_PRIVATE_VARIABLES = SIMP(statut ='f',
638 #       -----------------------------------
639             typ = 'TXM', min= 2, max= 2,
640             fr = """Noms des variables privees en 32 caracteres, 16 pour le nom
641          16 pour l''unite. Elles correspondent au bloc PRIVE
642          et peuvent etre lues dans le fichier de geometrie si elles
643          y sont presentes avec leur nom""",
644             ang = """Name of private variables in 32 characters, 16 for the name,
645          16 for the unit. They are stored in the block PRIVE and
646          can be read in the geometry file if they are here with their
647          name""",
648         ),
649 #       -----------------------------------
650         LIQUID_BOUNDARIES_FILE = SIMP(statut ='f',
651 #       -----------------------------------
652             typ = ('Fichier','All Files (*)'), max='**',
653             defaut = '',
654             fr = """Fichier de variations en temps des conditions aux limites.
655 Les donnees de ce fichier sont sur le canal SIS\_FILES(SISLIQ)%LU.""",
656             ang = """Variations in time of boundary conditions. Data of this file
657 are read on channel SIS\_FILES(SISLIQ)%LU.""",
658         ),
659     ),
660 )
661 # -----------------------------------------------------------------------
662 RESULTS = PROC(nom= "RESULTS",op = None,
663 # -----------------------------------------------------------------------
664 #   -----------------------------------
665     RESULTS_FILE_FORMAT = SIMP(statut ='f',
666 #   -----------------------------------
667         typ = 'TXM',
668         into = ['SERAFIN','SERAFIND','MED'],
669         defaut = 'SERAFIN',
670         fr = """Format du fichier de resultats.
671 Les valeurs possibles sont :
672 - SERAFIN : format standard simple precision pour Telemac;
673 - SERAFIND: format standard double precision pour Telemac;
674 - MED     : format MED base sur HDF5""",
675         ang = """Results file format. Possible values are:
676 - SERAFIN : classical single precision format in Telemac;
677 - SERAFIND: classical double precision format in Telemac;
678 - MED     : MED format based on HDF5""",
679     ),
680 #   -----------------------------------
681     RESULTS_FILE = SIMP(statut ='f',
682 #   -----------------------------------
683         typ = ('Fichier','All Files (*)','Sauvegarde'), max='**',
684         fr = """Nom du fichier dans lequel seront ecrits les resultats avec
685 une periodicite donnee par le mot cle PERIODE DE SORTIE GRAPHIQUE.""",
686         ang = """Name of the file into wich the computation results shall be
687 written, the periodicity being given by the keyword
688 GRAPHIC PRINTOUT PERIOD.""",
689     ),
690 #   -----------------------------------
691     VARIABLES_TO_BE_PRINTED = SIMP(statut ='f',
692 #   -----------------------------------
693         typ = 'TXM', max='**',
694         into = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wawe celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","bed-load discharge (m2/s)","bed-load discharge along x axis (m2/s)","bed-load discharge along y axis (m2/s)","bottom evolution (m)","non erodable bottom","bed friction coefficient (m if Nikuradse)","mean bottom friction (N/m2)","wave angle with axis Oy (deg)","wave height","wave period","fraction of sediment of class i in the first layer","fraction of sediment of class i in the second layer","bed load transport rate of sediment of class i", "thicknes of bed layer i", "concentration of bed layer i ","concentration for class i","saturated concentration (kg/m3)","supplementary variable A","supplementary variable G","supplementary variable L","supplementary variable O","reference level for Nestor "],
695         defaut = '',
696         fr = """Nom des variables que l''utilisateur desire ecrire sur
697 le lisring. Meme possibilites que pour les sorties graphiques.""",
698         ang = """Names of variables the user wants to write on the listing.
699 Each variable is represented by a letter in the same manner as
700 it is done in the graphic results file.""",
701     ),
702 #   -----------------------------------
703     GRAPHIC_PRINTOUT_PERIOD = SIMP(statut ='f',
704 #   -----------------------------------
705         typ = 'I',
706         defaut = 1,
707         fr = """Determine la periode en nombre de pas de temps d''impression
708 des ''VARIABLES POUR LES SORTIES GRAPHIQUES'' (voir ce mot-cle)
709 dans le ''FICHIER DES RESULTATS''.""",
710         ang = """Determines, in number of time steps, the printout period for
711 the ''VARIABLES FOR GRAPHIC PRINTOUTS'' in the ''RESULTS FILE''.""",
712     ),
713 #   -----------------------------------
714     LISTING_PRINTOUT_PERIOD = SIMP(statut ='f',
715 #   -----------------------------------
716         typ = 'I',
717         defaut = 1,
718         fr = """Determine la periode en nombre de pas de temps d''impression
719 des ''VARIABLES A IMPRIMER'' (voir ce mot-cle).
720 La sortie des resultats est effectuee sur le fichier listing
721 (fichier cas\_numerodeprocessus.sortie sur station de travail).""",
722         ang = """Determines, in number of time steps, the printout period of
723 the ''VARIABLES TO BE PRINTED''.
724 The results are printed out on the listing file
725 (file cas\_numerodeprocessus.sortie on a workstation).""",
726     ),
727 #   -----------------------------------
728     MASS_BALANCE = SIMP(statut ='f',
729 #   -----------------------------------
730         typ = bool,
731         defaut = False,
732         fr = """Determine si oui ou non le bilan de masse est realise.""",
733         ang = """Determines whether a check of the mass-balance over the domain
734 is made or not""",
735     ),
736 #   -----------------------------------
737     SECTIONS_OUTPUT_FILE = SIMP(statut ='f',
738 #   -----------------------------------
739         typ = ('Fichier','All Files (*)','Sauvegarde'),
740         defaut = '',
741         fr = """sections output file, written by the master""",
742         ang = """sections output file, written by the master""",
743     ),
744 #   -----------------------------------
745     C_VSM_RESULTS_FILE = SIMP(statut ='f',
746 #   -----------------------------------
747         typ = ('Fichier','All Files (*)','Sauvegarde'), max='**',
748         defaut = '',
749         fr = """Nom du fichier dans lequel seront ecrits les resultats C-VSM du
750 calcul avec la periodicite donnee par le mot cle
751 \telkey{C-VSM FULL PRINTOUT PERIOD}.""",
752         ang = """Name of the file into which the C-VSM results of the computation
753 are written, the periodicity being given by the keyword:
754 \telkey{C-VSM FULL PRINTOUT PERIOD}.""",
755     ),
756 #   -----------------------------------
757     C_VSM_RESULTS_FILE_FORMAT = SIMP(statut ='f',
758 #   -----------------------------------
759         typ = 'TXM',
760         into = ['SERAFIN','SERAFIND','MED'],
761         defaut = 'SERAFIN',
762         fr = """Format du \telkey{FICHIER DES C-VSM}.
763 Les valeurs possibles sont :
764 \begin{itemize}
765 \item SERAFIN : format standard simple precision pour \tel ;
766 \item SERAFIND: format standard double precision pour \tel ;
767 \item MED     : format MED double precision base sur HDF5.
768 \end{itemize}""",
769         ang = """Format of the \telkey{C-VSM RESULT FILE}. Possible choices are:
770 \begin{itemize}
771 \item SERAFIN : classical single precision format in \tel,
772 \item SERAFIND: classical double precision format in \tel,
773 \item MED     : MED double precision format based on HDF5.
774 \end{itemize}""",
775     ),
776 )
777 # -----------------------------------------------------------------------
778 DATA_FILES = PROC(nom= "DATA_FILES",op = None,
779 # -----------------------------------------------------------------------
780 #   -----------------------------------
781     HYDRODYNAMIC_FILE_FORMAT = SIMP(statut ='f',
782 #   -----------------------------------
783         typ = 'TXM',
784         into = ['SERAFIN','SERAFIND','MED'],
785         defaut = 'SERAFIN',
786         fr = """Format du fichier de resultats du calcul precedent.
787 Les valeurs possibles sont :
788 - SERAFIN : format standard simple precision pour Telemac;
789 - SERAFIND: format standard double precision pour Telemac;
790 - MED     : format MED base sur HDF5""",
791         ang = """Previous computation results file format.
792 Possible values are:
793 - SERAFIN : classical single precision format in Telemac;
794 - SERAFIND: classical double precision format in Telemac;
795 - MED     : MED format based on HDF5""",
796     ),
797 #   -----------------------------------
798     WAVE_FILE_FORMAT = SIMP(statut ='f',
799 #   -----------------------------------
800         typ = 'TXM',
801         into = ['SERAFIN','SERAFIND','MED'],
802         defaut = 'SERAFIN',
803         fr = """Format du fichier de houle.
804 Les valeurs possibles sont :
805 - SERAFIN : format standard simple precision pour Telemac;
806 - SERAFIND: format standard double precision pour Telemac;
807 - MED     : format MED base sur HDF5""",
808         ang = """Wave file format.
809 Possible values are:
810 - SERAFIN : classical single precision format in Telemac;
811 - SERAFIND: classical double precision format in Telemac;
812 - MED     : MED format based on HDF5""",
813     ),
814 #   -----------------------------------
815     FORTRAN_FILE = SIMP(statut ='f',
816 #   -----------------------------------
817         typ = ('Fichier','All Files (*)'), max='**',
818         defaut = '',
819         fr = """Nom du fichier FORTRAN a soumettre.""",
820         ang = """Name of FORTRAN file to be submitted.""",
821     ),
822 #   -----------------------------------
823     BOUNDARY_CONDITIONS_FILE = SIMP(statut ='f',
824 #   -----------------------------------
825         typ = ('Fichier','All Files (*)'), max='**',
826         fr = """Nom du fichier contenant les types de conditions aux limites.
827 Ce fichier est rempli de facon automatique par le mailleur au moyen de
828 couleurs affectees aux noeuds des frontieres du domaine de calcul.""",
829         ang = """Name of the file containing the types of boundary conditions.
830 This file is filled automatically by the mesh generator through
831 colours that are assigned to the computation domain boundary nodes.""",
832     ),
833 #   -----------------------------------
834     WAVE_FILE = SIMP(statut ='f',
835 #   -----------------------------------
836         typ = ('Fichier','All Files (*)'), max='**',
837         defaut = '',
838         fr = """Nom d''un fichier contenant les resultats d''un calcul
839 precedent TOMAWAC realise sur le meme maillage. La houle sera donnee,
840 par le dernier pas de temps
841 de ce fichier . Seules les donnees de houle de ce fichier
842 seront conservees (hauteur de houle, periode de
843 houle, angle de la houle).
844 Les donnees hydrodynamiques(hauteur d''eau,vitesses) seront lues
845 dans le fichier hydrodynamique (Verifier la compatibilite !!!)
846 Les donnees de houle peuvent aussi etre imposees
847 par l''utilisateur dans le sous programme CONDIM\_SISYPHE.
848 ou encore lues dans le fichier hydrodynamique.""",
849         ang = """Name of a file containing the results a previous
850 TOMAWAC computation  made on the same mesh. The wave data (wave height,
851  wave period, wave angle ) will
852 be given by the last record of the file.
853 The user has to verify that both informations (wave and current data)
854 are consistent.
855 Remark :The wave data can also be specified in
856  the hydrodynamic file. the user has also
857  the possibility to give the values
858 of the wave data in the subroutine CONDIM.
859 This is recommended for non-steady flow simulation.""",
860     ),
861 #   -----------------------------------
862     BOTTOM_TOPOGRAPHY_FILE = SIMP(statut ='f',
863 #   -----------------------------------
864         typ = ('Fichier','All Files (*)'), max='**',
865         defaut = '',
866         fr = """Nom du fichier facultatif contenant la bathymetrie
867 associee au maillage.""",
868         ang = """Name of the possible file containing the bathymetric data.""",
869     ),
870 #   -----------------------------------
871     SECTIONS_INPUT_FILE = SIMP(statut ='f',
872 #   -----------------------------------
873         typ = ('Fichier','All Files (*)'),
874         defaut = '',
875         fr = """sections input file, partitioned""",
876         ang = """sections input file, partitioned""",
877     ),
878 )
879 # -----------------------------------------------------------------------
880 INITIAL_CONDITIONS = PROC(nom= "INITIAL_CONDITIONS",op = None,
881 # -----------------------------------------------------------------------
882 #   -----------------------------------
883     PREVIOUS_SEDIMENTOLOGICAL_COMPUTATION_FILE_FORMAT = SIMP(statut ='f',
884 #   -----------------------------------
885         typ = 'TXM',
886         into = ['SERAFIN','SERAFIND','MED'],
887         defaut = 'SERAFIN',
888         fr = """Format du fichier de resultats du calcul precedent.
889 Les valeurs possibles sont :
890 - SERAFIN : format standard simple precision pour Telemac;
891 - SERAFIND: format standard double precision pour Telemac;
892 - MED     : format MED base sur HDF5""",
893         ang = """Previous computation results file format.
894 Possible values are:
895 - SERAFIN : classical single precision format in Telemac;
896 - SERAFIND: classical double precision format in Telemac;
897 - MED     : MED format based on HDF5""",
898     ),
899 #   -----------------------------------
900     PREVIOUS_SEDIMENTOLOGICAL_COMPUTATION_FILE = SIMP(statut ='f',
901 #   -----------------------------------
902         typ = ('Fichier','All Files (*)'), max='**',
903         defaut = '',
904         fr = """Nom d''un fichier contenant les resultats d''un
905 calcul precedent sedimentologique realise sur le meme maillage
906 et dont le dernier pas de temps enregistre va fournir les
907 conditions initiales pour une suite de de calcul.""",
908         ang = """Name of a file containing the results of an
909 earlier  sedimentological computation which was made
910 on the same mesh. The last recorded time step will provide
911 the initial conditions for the new computation.""",
912     ),
913 #   -----------------------------------
914     COMPUTATION_CONTINUED = SIMP(statut ='f',
915 #   -----------------------------------
916         typ = bool,
917         defaut = [False],
918         fr = """Determine si le calcul en cours est independant de tout autre
919 resultat ou est une reprise effectuee a partir du resultat d''un calcul
920 precedent.
921 NON : Il s''agit du premier passage pour ce calcul et il est necessaire
922 de definir un jeu complet de conditions initiales
923 OUI : Il s''agit d''une reprise de calcul :
924 les conditions initiales sont constituees par le dernier pas de temps du
925 FICHIER PRECEDENT SEDIMENTOLOGIQUE du fichier des parametres utilise
926 pour soumettre le calcul.
927 Par contre, l''ensemble des donnees du fichier des parametres
928 peuvent etre redefinies
929 De meme, il est necessaire de definir des conditions aux limites""",
930         ang = """Determines whether the computation under way is an independent
931 result or is following an earlier result.
932 NO: It is the first run for this computation and a whole set of
933 initial conditions should be defined.
934 YES: It follows a former computation:
935 the initial conditions consist in the last time step of the
936 PREVIOUS COMPUTATION FILE
937 in the steering file used for submitting the computation.
938 All the data from the steering file may be defined once again, which
939 provides an opportunity to change, for example, the time step.
940 It is also possible to define new boundary conditions.""",
941     ),
942 )
943 # -----------------------------------------------------------------------
944 INPUT_OUTPUT__GRAPHICS_AND_LISTING = PROC(nom= "INPUT_OUTPUT__GRAPHICS_AND_LISTING",op = None,
945 # -----------------------------------------------------------------------
946 #   -----------------------------------
947     VARIABLES_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='f',
948 #   -----------------------------------
949         typ = 'TXM', min=0, max='**',
950         into = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wawe celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","bed-load discharge (m2/s)","bed-load discharge along x axis (m2/s)","bed-load discharge along y axis (m2/s)","bottom evolution (m)","non erodable bottom","total bed roughness (m)","Bed Shear stress (Totalfriction) (N/m2)","Skin friction correction factor","Mean grain diameter","wave angle with axis Oy (deg)","suspended load transport rate (m2/s)","bed load transport rate (m2/s)","wave height","wave period","wave orbital velocity (m/s)","fraction of sediment of class i in the first layer","fraction of sediment of class i in the second layer","fraction of sediment of class i in the k layer","thickness of the k layer","concentration of bed layer k","bed load transport rate of sediment of class i","concentration volumic or mass concentration for class i","saturated concentration (kg/m3)","supplementary variable A","supplementary variable G","supplementary variable L","supplementary variable O","reference level for Nestor "],
951         defaut = ["velocity along x axis (m/s)","velocity along y axis (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","non erodable bottom","bottom evolution (m)"],
952         fr = """Noms des variables que l''utilisateur veut ecrire dans
953 le fichier des resultats.
954 Chaque variable est representee par une lettre.
955 Le choix des separateurs est libre. Voir CHOIX ci-dessus.
956  On peut utiliser *, *A* signifie : toutes les fractions""",
957         ang = """Names of variables the user wants to write
958 into the graphic results file.
959 Each variable is represented by a letter. See CHOIX1 above.
960  One can use *, *A* means all fractions""",
961     ),
962 )
963 # -----------------------------------------------------------------------
964 TIME = PROC(nom= "TIME",op = None,
965 # -----------------------------------------------------------------------
966 #   -----------------------------------
967     STARTING_TIME_OF_THE_HYDROGRAM = SIMP(statut ='f',
968 #   -----------------------------------
969         typ = 'R',
970         defaut = -1000.,
971         fr = """Ce mot cle fixe le temps auquel le calcul SISYPHE debute
972 sauf en cas de suite de calcul car le temps initial est
973 alors lu sur le FICHIER PRECEDENT SEDIMENTOLOGIQUE. En non
974 permanent, ce mot cle designe de plus le temps correspondant
975 au premier enregistrement a lire dans le "fichier du calcul
976 precedent" contenant les donnees hydrodynamiques.""",
977         ang = """this key word specifies the time when SISYPHE computation
978 begins except when a computation is continued (the initial time
979 is then read on the "previous sendimentological file".
980 For an unsteady case, it moreover specifies the time which
981 corresponds to the 1st record to be read in the "previous
982 computation file"(the file which contains the hydrodynamic
983  data).""",
984     ),
985 #   -----------------------------------
986     NUMBER_OF_TIME_STEPS = SIMP(statut ='f',
987 #   -----------------------------------
988         typ = 'I',
989         defaut = 1,
990         fr = """Definit, en permanent, le nombre de pas de temps effectues
991 lors de l''execution du code. En non permanent, ce mot-cle
992 n''est pas utilise.""",
993         ang = """Specifies, for a steady case, the number of time steps
994 performed when running the code. For an unsteady case, this
995 keyword is not used.""",
996     ),
997 #   -----------------------------------
998     TIME_STEP = SIMP(statut ='f',
999 #   -----------------------------------
1000         typ = 'R',
1001         defaut = 1.,
1002         fr = """Definit le pas de temps du calcul en secondes en
1003 permanent. En non permanent, ce pas de temps est donne par le
1004 pas de sortie graphique du fichier precedent. Mais si aucun
1005 nom n''est donne pour le ''FICHIER DU CALCUL PRECEDENT'' (les
1006 variables hydrodynamiques pouvant etre imposees dans CONDIM),
1007 la valeur du pas de temps donnee dans le fichier des
1008 parametres est la aussi consideree.
1009 Remarque : si le mot-cle "PAS DE TEMPS VARIABLE EST EGAL A OUI"
1010 le pas de temps necessaire a une bonne resolution est calcule
1011 dans le code et des sous iterations sont realisees.""",
1012         ang = """Specifies the time step in seconds in steady case.
1013 For an unsteady case, this time step is fixed by the graphic
1014 printout period of the previous computation file, except if
1015 no name is given for the ''HYDRODYNAMIC FILE'' in
1016 the steering file.
1017 Remark : If the keyword ''VARIABLE TIME STEP'' is set equal
1018 to yes, the time step required for a correct resolution is
1019 computed in the code and sub-iterations are performed""",
1020     ),
1021 #   -----------------------------------
1022     NUMBER_OF_SUB_ITERATIONS = SIMP(statut ='f',
1023 #   -----------------------------------
1024         typ = 'I',
1025         defaut = [1],
1026         fr = """permet de realiser des sous iterations au sein de la
1027 boucle en temps (En mode non permananet).
1028 Peut etre utile en non permanent lorsque le
1029 pas de temps qui est donne par le pas de sortie graphique du
1030 FICHIER DE CALCUL PRECEDENT est trop grand.""",
1031         ang = """enable to realize sub-iteration inside a time step
1032 (this key word is not used if the key word VARIABLE TIME-STEP
1033 is set equal to yes). It could be useful for a non steady case
1034 be useful for a non steady case when the time step which is fixed
1035 by the graphic printout period of the HYDRODYNAMIC FILE
1036 is too large.""",
1037     ),
1038 #   -----------------------------------
1039     NUMBER_OF_TIDES_OR_FLOODS = SIMP(statut ='f',
1040 #   -----------------------------------
1041         typ = 'I',
1042         defaut = 1,
1043         fr = """En non permanent, definit le nombre de marees ou de crues
1044 effectuees lors de l''execution du code.En permanent, ce mot-cle
1045 n''est pas utilise.""",
1046         ang = """For an unsteady case, specifies the number of tides or
1047 floods performed when running the code. For a steady case, this
1048 keyword is not used.""",
1049     ),
1050 #   -----------------------------------
1051     ORIGINAL_HOUR_OF_TIME = SIMP(statut ='f',
1052 #   -----------------------------------
1053         typ = 'I', min= 3, max= 3,
1054         defaut = [0,0,0],
1055         fr = """Permet de fixer l''heure d''origine des temps du modele lors
1056 de la prise en compte de la force generatrice de la maree.""",
1057         ang = """Give the time of the time origin of the model when taking into
1058 account of the tide generator force.""",
1059     ),
1060 #   -----------------------------------
1061     ORIGINAL_DATE_OF_TIME = SIMP(statut ='f',
1062 #   -----------------------------------
1063         typ = 'I', min= 3, max= 3,
1064         defaut = [0,0,0],
1065         fr = """Permet de fixer la date d''origine des temps du modele lors
1066 de la prise en compte de la force generatrice de la maree.""",
1067         ang = """Give the date of the time origin of the model when taking into
1068 account the tide generating force.""",
1069     ),
1070 #   -----------------------------------
1071     TIDE_PERIOD = SIMP(statut ='f',
1072 #   -----------------------------------
1073         typ = 'R',
1074         defaut = 44640.,
1075         fr = """Fixe la valeur de la periode de l''evenement
1076 (maree ou crue) en non permanent.""",
1077         ang = """Sets the period of the event (tide or flood)
1078 for an unsteady case.""",
1079     ),
1080 )
1081 # -----------------------------------------------------------------------
1082 EQUATIONS__BOUNDARY_CONDITIONS = PROC(nom= "EQUATIONS__BOUNDARY_CONDITIONS",op = None,
1083 # -----------------------------------------------------------------------
1084 #   -----------------------------------
1085     PRESCRIBED_SOLID_DISCHARGES = SIMP(statut ='f',
1086 #   -----------------------------------
1087         typ = 'R', min= 2, max= 2,
1088         fr = """ Valeurs des debits solides imposes aux frontieres
1089 liquides entrantes (m3/s sans les vides).
1090 Une valeur par frontiere liquide""",
1091         ang = """Values of prescribed solid discharges
1092 at the inflow boundaries (m3/s without voids).
1093 One value per liquid boundary""",
1094     ),
1095 )
1096 # -----------------------------------------------------------------------
1097 SOLVER = PROC(nom= "SOLVER",op = None,
1098 # -----------------------------------------------------------------------
1099 #   -----------------------------------
1100     SOLVER = SIMP(statut ='f',
1101 #   -----------------------------------
1102         typ = 'TXM',
1103         into = ["conjugate gradient on a normal equation","conjugate gradient","conjugate residual","minimum error","cgstab","gmres","direct"],
1104         defaut = ["conjugate gradient on a normal equation"],
1105         fr = """Permet de choisir le solveur utilise pour la resolution de
1106 l''equation de continuite sur le fond (ce parametre n''est utilise
1107 que si le mot cle MASS LUMPING est egal a faux). Toutes les methodes
1108 proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :
1109   1 : gradient conjugue
1110   2 : residu conjugue
1111   3 : gradient conjugue sur equation normale
1112   4 : erreur minimale
1113   5 : gradient conjugue carre (non programme)
1114   6 : gradient conjugue carre stabilise (cgstab)
1115   7 : gmres (voir aussi option du solveur)""",
1116         ang = """Makes it possible to select the solver used for solving the
1117 bottom evolution equation (Used only if the key-word MASS LUMPING
1118 is equal to false). All the currently available methods are
1119 variations of the Conjugate Gradient method. They are as follows:
1120 1: conjugate gradient
1121 2: conjugate residual
1122 3: conjugate gradient on a normal equation
1123 4: minimum error
1124 5: conjugate gradient squared (not implemented)
1125 6: conjugate gradient squared stabilised (cgstab)
1126 7: gmres (see option for solver)""",
1127     ),
1128 #   -----------------------------------
1129     SOLVER_OPTION = SIMP(statut ='f',
1130 #   -----------------------------------
1131         typ = 'I',
1132         defaut = [2],
1133         fr = """si le solveur est GMRES (7) le mot cle est la dimension de
1134 l''espace de KRILOV (valeurs conseillees entre 2 et 15). Ce parametre
1135 n''est utilise que si le mot cle MASS LUMPING est egal a faux.""",
1136         ang = """WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE
1137 TRY VALUES BETWEEN 2 AND 15. Used only if the key-word MASS LUMPING
1138 is equal to false""",
1139     ),
1140 #   -----------------------------------
1141     PRECONDITIONING = SIMP(statut ='f',
1142 #   -----------------------------------
1143         typ = 'TXM',
1144         into = ["diagonal","no preconditioning","diagonal condensee","crout","diagonal and crout","diagonal condensed  and crout"],
1145         defaut = ["diagonal"],
1146         fr = """Permet de preconditionner le systeme lineaire afin d''accelerer
1147 la convergence lors de sa resolution (ce parametre n''est utilise que
1148 si le mot cle MASS LUMPING est egal a faux).
1149  - 0 : pas de preconditionnement;
1150  - 2 : preconditionnement diagonal.
1151  - 3 : preconditionnement diagonal-bloc
1152  - 7 : preconditionnement de Crout par element.
1153 Certains preconditionnements sont cumulables
1154 (les diagonaux 2 ou 3 avec les autres)
1155 Pour cette raison on ne retient que les nombres premiers pour
1156 designer les preconditionnements. Si l''on souhaite en cumuler
1157 plusieurs on formera le produit des options correspondantes.""",
1158         ang = """Choice of the preconditioning in the resolution of the linear
1159 system that the convergence is speeded up when it is being solved (Used
1160 only if the key-word MASS LUMPING  is equal to false).
1161  0: no preconditioning
1162  2: diagonal preconditioning
1163  3: diagonal preconditioning with the condensed matrix
1164  7: Crout''s preconditioning per element (not implemented).
1165 Some operations (either 2 or 3 diagonal preconditioning) can be
1166 performed concurrently with the others.
1167 Only prime numbers are therefore kept to denote the preconditioning
1168 operations. When several of them are to be performed concurrently,
1169 the product of relevant options shall be made.""",
1170     ),
1171 #   -----------------------------------
1172     MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER = SIMP(statut ='f',
1173 #   -----------------------------------
1174         typ = 'I',
1175         defaut = [60],
1176         fr = """Les algorithmes utilises pour la resolution de l''etape de
1177 propagation etant iteratifs; il est necessaire de limiter le nombre
1178 d''iterations autorisees.
1179 Remarque : Ce parametre n''est utilise que si le mot cle MASS LUMPING
1180 est egal a faux.""",
1181         ang = """Since the algorithms used for solving the propagation step are
1182 iterative, the allowed number of iterations should be limited.
1183 NOTE:Used only if the key-word MASS LUMPING is equal to false .""",
1184     ),
1185 #   -----------------------------------
1186     SOLVER_OPTION_FOR_SUSPENSION = SIMP(statut ='f',
1187 #   -----------------------------------
1188         typ = 'I',
1189         defaut = [2],
1190         fr = """Parametre supplementaire disponible pour le solveur.
1191 Dans le cas du solveur gmres, il s''agit de la dimension
1192 de l''espace de Krylov.""",
1193         ang = """""",
1194     ),
1195 #   -----------------------------------
1196     MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER_FOR_SUSPENSION = SIMP(statut ='f',
1197 #   -----------------------------------
1198         typ = 'I',
1199         defaut = [50],
1200         fr = """""",
1201         ang = """""",
1202     ),
1203 #   -----------------------------------
1204     SOLVER_ACCURACY = SIMP(statut ='f',
1205 #   -----------------------------------
1206         typ = 'R',
1207         defaut = [1.E-7],
1208         fr = """Precision demandee pour la resolution du systeme
1209 (ce parametre n''est utilise que si le mot cle MASS LUMPING
1210  est egal a faux).""",
1211         ang = """Required accuracy for solving the linear system
1212 (used only if the key word MASS LUMPING is equal to false).""",
1213     ),
1214 #   -----------------------------------
1215     SOLVER_ACCURACY_FOR_SUSPENSION = SIMP(statut ='f',
1216 #   -----------------------------------
1217         typ = 'R',
1218         defaut = [1.E-8],
1219         fr = """""",
1220         ang = """""",
1221     ),
1222 #   -----------------------------------
1223     PRECONDITIONING_FOR_SUSPENSION = SIMP(statut ='f',
1224 #   -----------------------------------
1225         typ = 'TXM',
1226         into = ["diagonal","no preconditioning","diagonal condensee","crout"],
1227         defaut = ["diagonal"],
1228         fr = """Permet de preconditionner le systeme de l''etape de propagation
1229 afin d''accelerer la convergence lors de sa resolution.
1230    - 0 : pas de preconditionnement,
1231    - 2 : preconditionnement diagonal.
1232    - 3 : preconditionnement diagonal avec la matrice condensee.
1233    - 7 : preconditionnement de Crout par element.
1234  Certains preconditionnements sont cumulables
1235  (les diagonaux 2 ou 3 avec les autres)
1236  Pour cette raison on ne retient que les nombres premiers pour
1237  designer les preconditionnements. Si l''on souhaite en cumuler
1238  plusieurs on formera le produit des options correspondantes.""",
1239         ang = """""",
1240     ),
1241 )
1242 # -----------------------------------------------------------------------
1243 NUMERICAL = PROC(nom= "NUMERICAL",op = None,
1244 # -----------------------------------------------------------------------
1245 #   -----------------------------------
1246     MASS_LUMPING = SIMP(statut ='f',
1247 #   -----------------------------------
1248         typ = bool,
1249         defaut = True,
1250         fr = """Si oui, on effectue du mass-lumping sur la cote du fond.
1251 Ceci revient a ramener toute la matrice de masse sur sa
1252 diagonale lors de la resolution du systeme. Cette technique permet
1253 d''accelerer le code et de le rendre egalement plus stable. Cependant,
1254 les solutions obtenues se trouvent lissees.""",
1255         ang = """If this key word is equal to yes, the mass matrix is then
1256 condensed on its diagonal.This technique is used to accelerate the
1257 computation and also to make it more stable.However, the solutions
1258 obtained are smoothed.""",
1259     ),
1260 #   -----------------------------------
1261     TETA = SIMP(statut ='f',
1262 #   -----------------------------------
1263         typ = 'R',
1264         defaut = 0.,
1265         fr = """Definit le coefficient d''implicitation du schema numerique.""",
1266         ang = """Specifies the implicitation coefficient of the numerical
1267 scheme.""",
1268     ),
1269 #   -----------------------------------
1270     ZERO = SIMP(statut ='f',
1271 #   -----------------------------------
1272         typ = 'R',
1273         defaut = 1.E-10,
1274         fr = """Fixe le zero du code.""",
1275         ang = """Sets the zero of the code.""",
1276     ),
1277 #   -----------------------------------
1278     FINITE_VOLUMES = SIMP(statut ='f',
1279 #   -----------------------------------
1280         typ = bool,
1281         defaut = [False],
1282         fr = """Methodes volumes finis ou pas""",
1283         ang = """Set finite volumes method or not""",
1284     ),
1285 #   -----------------------------------
1286     TYPE_OF_ADVECTION = SIMP(statut ='f',
1287 #   -----------------------------------
1288         typ = 'TXM',
1289         into = ["CHARACTERISTICS","SUPG","CONSERVATIVE N-SCHEME","CONSERVATIVE N-SCHEME","CONSERVATIVE PSI-SCHEME","NON CONSERVATIVE PSI SCHEME","IMPLICIT NON CONSERVATIVE N SCHEME","EDGE-BASED N-SCHEME","EDGE-BASED N-SCHEME","ERIA SCHEME"],
1290         defaut = ["CHARACTERISTICS"],
1291         fr = """Determine le schema utilise pour la convection :
1292 1: caracteristiques
1293 2: schema semi-implicite + supg
1294 3 et 4: schema N
1295 5: schema psi
1296 6: schema psi non conservatif
1297 7: schema N non conservatif
1298 13 et 14: schema N par segment (recommande pour les bancs decouvrants)""",
1299         ang = """Scheme used for advection of suspended sediment :
1300 1: characteristics
1301 2: semi-implicit SUPG
1302 3 et 4: N scheme
1303 5: psi scheme
1304 6: non conservative psi scheme
1305 7: non conservative N scheme
1306 13 et 14: Edge-based N scheme (recommended for tidal flats)""",
1307     ),
1308 #   -----------------------------------
1309     SUPG_OPTION = SIMP(statut ='f',
1310 #   -----------------------------------
1311         typ = 'I',
1312         defaut = [2],
1313         fr = """""",
1314         ang = """""",
1315     ),
1316 #   -----------------------------------
1317     MATRIX_VECTOR_PRODUCT = SIMP(statut ='f',
1318 #   -----------------------------------
1319         typ = 'I',
1320         defaut = [1],
1321         fr = """""",
1322         ang = """""",
1323     ),
1324 #   -----------------------------------
1325     MATRIX_STORAGE = SIMP(statut ='f',
1326 #   -----------------------------------
1327         typ = 'I',
1328         defaut = [1],
1329         fr = """""",
1330         ang = """""",
1331     ),
1332 #   -----------------------------------
1333     OPTION_FOR_THE_DIFFUSION_OF_TRACER = SIMP(statut ='f',
1334 #   -----------------------------------
1335         typ = 'TXM',
1336         into = ["div( nu grad(T) )","1/h div ( h nu grad(T)"],
1337         defaut = ["div( nu grad(T) )"],
1338         fr = """1: Diffusion de la forme div( nu grad(T) )
1339         2: Diffusion de la forme 1/h div ( h nu grad(T) )""",
1340         ang = """1: Diffusion in the form div( nu grad(T) )
1341         2: Diffusion in the form 1/h div ( h nu grad(T) )""",
1342     ),
1343 )
1344 # -----------------------------------------------------------------------
1345 NUMERICAL_PARAMETERS = PROC(nom= "NUMERICAL_PARAMETERS",op = None,
1346 # -----------------------------------------------------------------------
1347 #   -----------------------------------
1348     MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES = SIMP(statut ='f',
1349 #   -----------------------------------
1350         typ = 'I',
1351         defaut = [50],
1352         fr = """Seulement pour schemes 13 et 14.
1353 Ancienne valeur par defaut = 10 jusqu en version 8.1.""",
1354         ang = """Only for schemes 13 and 14.
1355 Old default value = 10 until release 8.1.""",
1356     ),
1357 #   -----------------------------------
1358     GENERAL = FACT(statut='o',
1359 #   -----------------------------------
1360 #       -----------------------------------
1361         PARTITIONING_TOOL = SIMP(statut ='f',
1362 #       -----------------------------------
1363             typ = 'TXM',
1364             into = ['METIS','SCOTCH','PARMETIS','PTSCOTCH'],
1365             defaut = 'METIS',
1366             fr = """CHOIX DU PARTITIONNEUR
1367 1 : METIS
1368 2 : SCOTCH
1369 3 : PARMETIS
1370 4 : PTSCOTCH
1371 etc...""",
1372             ang = """PARTITIONING TOOL SELECTION
1373 1 : METIS
1374 2 : SCOTCH
1375 3 : PARMETIS
1376 4 : PTSCOTCH
1377 etc...""",
1378         ),
1379 #       -----------------------------------
1380         NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
1381 #       -----------------------------------
1382             typ = 'I',
1383             defaut = [1],
1384             fr = """Pour les options avec predicteur-correcteur""",
1385             ang = """For predictor-corrector options""",
1386         ),
1387 #       -----------------------------------
1388         NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
1389 #       -----------------------------------
1390             typ = 'I',
1391             defaut = [1],
1392             fr = """Pour les options predicteur-correcteur
1393 avec schema localement implicite""",
1394             ang = """Only for implicit scheme with predictor-corrector""",
1395         ),
1396 #       -----------------------------------
1397         TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES = SIMP(statut ='f',
1398 #       -----------------------------------
1399             typ = 'TXM',
1400             into = ["Priority to prescribed values","Priority to fluxes"],
1401             defaut = ["Priority to fluxes"],
1402             fr = """Utilise pour les schemas PSI et N, avec option 2, on ne retrouve
1403 pas exactement les valeurs imposees des traceurs,
1404 mais le flux est correct""",
1405             ang = """Used so far only with the PSI and N schemes.
1406 With option 2, Dirichlet prescribed values are not obeyed,
1407 but the fluxes are correct""",
1408         ),
1409 #       -----------------------------------
1410         BED_ROUGHNESS_PREDICTOR_OPTION = SIMP(statut ='f',
1411 #       -----------------------------------
1412             typ = 'I',
1413             defaut = 1,
1414             fr = """1 : Fond plat ks=KSPRATIO D50,
1415 2: Fond ride (methode de Wiberg et Harris),
1416 3: Dunes et megarides (methode de Van Rijn)""",
1417             ang = """1: Flat bed, 2: Rippled bed,
1418 3: Dunes and mega ripples (Method of Van Rijn)""",
1419         ),
1420     ),
1421 #   -----------------------------------
1422     SOLVER = FACT(statut='o',
1423 #   -----------------------------------
1424 #       -----------------------------------
1425         SUSPENSION = FACT(statut='o',
1426 #       -----------------------------------
1427 #           -----------------------------------
1428             SOLVER_FOR_SUSPENSION = SIMP(statut ='f',
1429 #           -----------------------------------
1430                 typ = 'TXM',
1431                 into = ["conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","gmres (see option for the solver for tracer diffusion)","direct"],
1432                 defaut = ["conjugate gradient on a normal equation"],
1433                 fr = """Permet de choisir le solveur utilise pour la resolution
1434 de l''etape de propagation. Toutes les methodes proposees
1435 actuellement s''apparentent au Gradient Conjugue. Ce sont :
1436  1 : gradient conjugue
1437  2 : residu conjugue
1438  3 : gradient conjugue sur equation normale
1439  4 : erreur minimale
1440  7 : gmres""",
1441                 ang = """""",
1442             ),
1443         ),
1444     ),
1445 #   -----------------------------------
1446     AUTOMATIC_DIFFERENTIATION = FACT(statut='o',
1447 #   -----------------------------------
1448 #       -----------------------------------
1449         AD_NUMBER_OF_DERIVATIVES = SIMP(statut ='f',
1450 #       -----------------------------------
1451             typ = 'I',
1452             defaut = [0],
1453             fr = """Definit le nombre de derivees utilisateurs, dans le cadre
1454 de la differentiation algorithmique.""",
1455             ang = """Defines the number of user derivatives, within the framework
1456 of the algorithmic differentiation.""",
1457         ),
1458 #       -----------------------------------
1459         AD_NAMES_OF_DERIVATIVES = SIMP(statut ='f',
1460 #       -----------------------------------
1461             typ = 'TXM', min= 2, max= 2,
1462             fr = """Noms des derivees utilisateurs en 32 caracteres,
1463          16 pour le nom, 16 pour l''unite""",
1464             ang = """Name of user derivatives in 32 characters,
1465          16 for the name, 16 for the unit.""",
1466         ),
1467 #       -----------------------------------
1468         AD_NUMBER_OF_DIRECTIONS = SIMP(statut ='f',
1469 #       -----------------------------------
1470             typ = 'I',
1471             defaut = [1],
1472             fr = """Definit le nombre de directions de differentiateurs.""",
1473             ang = """Defines the number of directions for the differentiators""",
1474         ),
1475 #       -----------------------------------
1476         AD_SYMBOLIC_LINEAR_SOLVER = SIMP(statut ='f',
1477 #       -----------------------------------
1478             typ = bool,
1479             defaut = False,
1480             fr = """Permet le solveur lineaire symbolique pour l AD.""",
1481             ang = """Enables the symbolic linear solver for AD.""",
1482         ),
1483 #       -----------------------------------
1484         AD_LINEAR_SOLVER_RESET_DERIVATIVES = SIMP(statut ='f',
1485 #       -----------------------------------
1486             typ = bool,
1487             defaut = True,
1488             fr = """Remet a zero les derivees pour l AD.""",
1489             ang = """Resets the derivatives for AD.""",
1490         ),
1491 #       -----------------------------------
1492         AD_LINEAR_SOLVER_DERIVATIVE_CONVERGENCE = SIMP(statut ='f',
1493 #       -----------------------------------
1494             typ = bool,
1495             defaut = True,
1496             fr = """Solveur lineaire iteratif : test de convergence des derivees
1497 pour l AD.""",
1498             ang = """Iterative linear solvers: derivative convergence test for AD.""",
1499         ),
1500     ),
1501 )
1502 # -----------------------------------------------------------------------
1503 PHYSICS = PROC(nom= "PHYSICS",op = None,
1504 # -----------------------------------------------------------------------
1505 #   -----------------------------------
1506     WATER_DENSITY = SIMP(statut ='f',
1507 #   -----------------------------------
1508         typ = 'R',
1509         defaut = 1000.,
1510         fr = """Fixe la valeur de la masse volumique de l''eau.""",
1511         ang = """sets the value of water density.""",
1512     ),
1513 #   -----------------------------------
1514     SEDIMENT_DENSITY = SIMP(statut ='f',
1515 #   -----------------------------------
1516         typ = 'R',
1517         defaut = 2650.,
1518         fr = """Fixe la valeur de la masse volumique du sediment
1519            en Kg/m3""",
1520         ang = """sets the value of the sediment density
1521            en Kg/m3""",
1522     ),
1523 #   -----------------------------------
1524     NON_COHESIVE_BED_POROSITY = SIMP(statut ='f',
1525 #   -----------------------------------
1526         typ = 'R',
1527         defaut = 0.4,
1528         fr = """la concentration volumique  du lit est definie par
1529 CSF= (1-porosite)
1530 Ce parametre est utilise pour les sediments non-cohesifs.""",
1531         ang = """The bed volume concentration CSF=(1-porosity) is used to
1532 calculate the bed evolution of non-cohesive sand transport.""",
1533     ),
1534 #   -----------------------------------
1535     GRAVITY_ACCELERATION = SIMP(statut ='f',
1536 #   -----------------------------------
1537         typ = 'R',
1538         defaut = 9.81,
1539         fr = """Fixe la valeur de l''acceleration de la pesanteur.
1540          M/S2""",
1541         ang = """Sets the value of the acceleration due to gravity.
1542          M/S2""",
1543     ),
1544 #   -----------------------------------
1545     WATER_VISCOSITY = SIMP(statut ='f',
1546 #   -----------------------------------
1547         typ = 'R',
1548         defaut = 1.E-6,
1549         fr = """Definit la viscosite cinematique de l''eau.
1550          M/S2""",
1551         ang = """Specifies the water kinematic viscosity.
1552          M/S2""",
1553     ),
1554 #   -----------------------------------
1555     SETTLING_LAG = SIMP(statut ='f',
1556 #   -----------------------------------
1557         typ = bool,
1558         defaut = False,
1559         fr = """Uses the velocity profile based on the Miles approximation""",
1560         ang = """Uses the velocity profile based on the Miles approximation""",
1561     ),
1562 )
1563 # -----------------------------------------------------------------------
1564 SUSPENSION = PROC(nom= "SUSPENSION",op = None,
1565 # -----------------------------------------------------------------------
1566 #   -----------------------------------
1567     SETTLING_VELOCITIES = SIMP(statut ='f',
1568 #   -----------------------------------
1569         typ = 'R', min=10, max=10,
1570         fr = """Pas de valeur par defaut
1571 Si non donne par l utilisateur, on utilise la subroutine vitchu-sisyphe
1572 :
1573 formules de Stokes, Zanke ou Van Rijn, selon la taille des grains""",
1574         ang = """The default value is not given. If the user does not
1575 give a value, the subroutine vitchu-sisyphe is used:
1576 Stockes, Zanke or Van Rijn formulae depending on the grain size""",
1577     ),
1578 #   -----------------------------------
1579     SUSPENSION = SIMP(statut ='f',
1580 #   -----------------------------------
1581         typ = bool,
1582         defaut = False,
1583         fr = """calcul avec suspension""",
1584         ang = """""",
1585     ),
1586 #   -----------------------------------
1587     DISPERSION_ALONG_THE_FLOW = SIMP(statut ='f',
1588 #   -----------------------------------
1589         typ = 'R',
1590         defaut = [1.E-2],
1591         fr = """""",
1592         ang = """""",
1593     ),
1594 #   -----------------------------------
1595     DISPERSION_ACROSS_THE_FLOW = SIMP(statut ='f',
1596 #   -----------------------------------
1597         typ = 'R',
1598         defaut = [1.E-2],
1599         fr = """""",
1600         ang = """""",
1601     ),
1602 #   -----------------------------------
1603     EQUILIBRIUM_INFLOW_CONCENTRATION = SIMP(statut ='f',
1604 #   -----------------------------------
1605         typ = bool,
1606         defaut = [False],
1607         fr = """impose la concentration en entree du domaine et les
1608 concentrations initiales en utilisant la formule de Fredsoe pour les
1609 sediments non-cohesifs""",
1610         ang = """impose the equilibrium concentration for the inflow and at t=0
1611 in the whole domain thanks to the formula of Fredsoe for non cohesive
1612 sediments""",
1613     ),
1614 #   -----------------------------------
1615     REFERENCE_CONCENTRATION_FORMULA = SIMP(statut ='f',
1616 #   -----------------------------------
1617         typ = 'I',
1618         defaut = 1,
1619         fr = """1 : formule de Zyserman et Fredsoe
1620         2 : methode de Bijker. La concentration au fond
1621         est reliee au taux de transport par charriage
1622         3 : formule de Van Rijn (1987)
1623         4 : formule de Soulsy\_van Rijn""",
1624         ang = """1 : Zysderman and Fredsoe, equilibrium formula
1625          2: Bijker method. The near bed concentration
1626          is related to the bedload . This option cannot be used
1627          without bedload transport
1628          3: Van Rijn formula
1629          4: Soulsby\_van Rijn formula""",
1630     ),
1631 #   -----------------------------------
1632     CORRECTION_ON_CONVECTION_VELOCITY = SIMP(statut ='f',
1633 #   -----------------------------------
1634         typ = bool,
1635         defaut = [False],
1636         fr = """Modification du champ convecteur 2D pour prise en compte du
1637 gradient vertical de vitesse et concentration""",
1638         ang = """Modification of 2D convection velocities  to account for
1639 velocity and concentration profiles""",
1640     ),
1641 #   -----------------------------------
1642     INITIAL_SUSPENSION_CONCENTRATIONS = SIMP(statut ='f',
1643 #   -----------------------------------
1644         typ = 'R', min= 2, max= 2,
1645         fr = """Pour la suspension, sert a initialiser la valeur
1646  de la concentration volumique pour chaque classe. ne sera pas pris
1647  en compte si CONCENTRATION EN ENTREE IMPOSEE=OUI""",
1648         ang = """In case of suspension, will be used to initialize the value
1649 of volume concentration for each class. Will not be used if
1650  EQUILIBRIUM INFLOW CONCENTRATION=YES""",
1651     ),
1652 #   -----------------------------------
1653     CONCENTRATION_PER_CLASS_AT_BOUNDARIES = SIMP(statut ='f',
1654 #   -----------------------------------
1655         typ = 'R', min= 2, max= 2,
1656         fr = """Pour la suspension, sert a initialiser la valeur
1657  de la concentration volumique de chaque classe pour chaque frontiere
1658  ordre : frontiere 1 (classe 1, classe 2, etc.) , puis frontiere 2, etc""",
1659         ang = """In case of suspension, will be used to initialize the value
1660 of volume concentration for each class and each boundary
1661 order: boundary 1 (class 1, class2, etc., then boundary 2, etc.""",
1662     ),
1663 #   -----------------------------------
1664     DIFFUSION = SIMP(statut ='f',
1665 #   -----------------------------------
1666         typ = bool,
1667         defaut = [True ],
1668         fr = """Prise en compte de la diffusion de la concentration de sediment
1669 en suspension""",
1670         ang = """If yes, diffusion of the concentration of suspended
1671 sediment is done""",
1672     ),
1673 #   -----------------------------------
1674     OPTION_FOR_THE_DISPERSION = SIMP(statut ='f',
1675 #   -----------------------------------
1676         typ = 'I',
1677         defaut = [1],
1678         fr = """ 1 les mots cles dispersion longitudinale
1679 et dispersion transversale permettent d affecter une valeur constante,
1680 2 K1=alphal u*h et K2=alphat u*h affectent les valeurs alphal et alphat
1681 (par default alphal=6 et alphat=0.6, 3 dipersion fournie par
1682  telemac2d""",
1683         ang = """ 1 les mots cles dispersion longitudinale
1684 et dispersion transversale permettent d affecter une valeur constante,
1685 2 K1=alphal u*h et K2=alphat u*h affectent les valeurs alphal et alphat
1686 (par default alphal=6 et alphat=0.6, 3 dipersion fournie par
1687  telemac2d""",
1688     ),
1689 #   -----------------------------------
1690     TETA_SUSPENSION = SIMP(statut ='f',
1691 #   -----------------------------------
1692         typ = 'R',
1693         defaut = [1.],
1694         fr = """facteur implicitation du terme de depot et de la diffusion.
1695  si teta =0, tout le terme de depot est traite de maniere explicite.""",
1696         ang = """ implicitation factor for the deposition flux and the diffusion.
1697  for teta =0, the deposition flux is only explicit.""",
1698     ),
1699 #   -----------------------------------
1700     CRITICAL_SHEAR_VELOCITY_FOR_MUD_DEPOSITION = SIMP(statut ='f',
1701 #   -----------------------------------
1702         typ = 'R',
1703         defaut = 1000.,
1704         fr = """Vitesse critique de depot de la vase (m/s)""",
1705         ang = """Critical shear velocity for deposition (m/s)""",
1706     ),
1707 #   -----------------------------------
1708     PARTHENIADES_CONSTANT = SIMP(statut ='f',
1709 #   -----------------------------------
1710         typ = 'R',
1711         defaut = 1.E-03,
1712         fr = """constante de la loi d''erosion de la vase (Kg/m2/s)""",
1713         ang = """constant of the Krone and Partheniades erosion law (Kg/m2/s)""",
1714     ),
1715 )
1716 # -----------------------------------------------------------------------
1717 BED_MATERIAL = PROC(nom= "BED_MATERIAL",op = None,
1718 # -----------------------------------------------------------------------
1719 #   -----------------------------------
1720     D90 = SIMP(statut ='f',
1721 #   -----------------------------------
1722         typ = 'R', min=10, max=10,
1723         defaut = [.01,.01,.01,.01,.01,.01,.01,.01,.01,.01],
1724         fr = """Sets value of diameter d90 for particular size class.
1725 Si le mot cle n est pas entre, la valeur par defaut est
1726 celle du diametre moyen des grains""",
1727         ang = """Sets value of diameter d90 for particular size class.
1728 If the keyword is not in the sterring file, the default value
1729 is the value of the mean diameter of the sediment.""",
1730     ),
1731 #   -----------------------------------
1732     SEDIMENT_DIAMETERS = SIMP(statut ='f',
1733 #   -----------------------------------
1734         typ = 'R', min=10, max=10,
1735         defaut = [.01,.01,.01,.01,.01,.01,.01,.01,.01,.01],
1736         fr = """Sets value of diameter dm for particular size class.""",
1737         ang = """Sets value of diameter dm for particular size class.""",
1738     ),
1739 #   -----------------------------------
1740     HIDING_FACTOR_FOR_PARTICULAR_SIZE_CLASS = SIMP(statut ='f',
1741 #   -----------------------------------
1742         typ = 'R', min=10, max=10,
1743         defaut = [1.,1.,1.,1.,1.,1.,1.,1.,1.,1.],
1744         fr = """Fixe la valeur du facteur de pavage par classe
1745 granulometrique""",
1746         ang = """Sets value of hiding factor for particular size class.""",
1747     ),
1748 #   -----------------------------------
1749     NUMBER_OF_SIZE_CLASSES_OF_BED_MATERIAL = SIMP(statut ='f',
1750 #   -----------------------------------
1751         typ = 'I',
1752         defaut = [1],
1753         fr = """Fixe la valeur du nombre de classes granulometriques
1754 de grains considerees dans le calcul""",
1755         ang = """Sets value of number of size classes of bed materials.""",
1756     ),
1757 #   -----------------------------------
1758     INITIAL_FRACTION_FOR_PARTICULAR_SIZE_CLASS = SIMP(statut ='f',
1759 #   -----------------------------------
1760         typ = 'R', min=10, max=10,
1761         defaut = [1.,0.,0.,0.,0.,0.,0.,0.,0.,0.],
1762         fr = """Sets value of initial fraction for particular size class.""",
1763         ang = """Sets value of initial fraction for particular size class.""",
1764     ),
1765 #   -----------------------------------
1766     ACTIVE_LAYER_THICKNESS = SIMP(statut ='f',
1767 #   -----------------------------------
1768         typ = 'R',
1769         defaut = [10000],
1770         fr = """Epaisseur de reference pour la stratification du lit. La
1771 composition de la premiere couche sert a calculer le transport
1772 solide. Utiliser une tres grande valeur pour ne pas avoir de
1773 stratification.""",
1774         ang = """Thickness for bed stratification. Composition of first
1775 layer is used to compute bed load transport rate. If you do not want
1776 a stratification, use a large value""",
1777     ),
1778 #   -----------------------------------
1779     HIDING_FACTOR_FORMULA = SIMP(statut ='f',
1780 #   -----------------------------------
1781         typ = 'I',
1782         defaut = [0],
1783         fr = """4 formules pour le hiding factor sont programmees dans SISYPHE
1784      0: const => il faut donner le HIDING FACTOR PAR CLASSE GRANULO
1785      1: Egiazaroff
1786      2: Ashida \& Michiue
1787       :
1788      4: Karim, Holly \& Yang""",
1789         ang = """4 hiding factor formulas are implemented in SISYPHE
1790      0: const => need to give HIDING FACTOR FOR PARTICULAR SIZE CLASS
1791      1: Egiazaroff
1792      2: Ashida \& Michiue
1793       :
1794      4: Karim, Holly \& Yang""",
1795     ),
1796 #   -----------------------------------
1797     CONSTANT_ACTIVE_LAYER_THICKNESS = SIMP(statut ='f',
1798 #   -----------------------------------
1799         typ = bool,
1800         defaut = True,
1801         fr = """epaisseur de couche active constante ou non""",
1802         ang = """constant active layer thickness or not""",
1803     ),
1804 #   -----------------------------------
1805     COHESIVE_SEDIMENTS = SIMP(statut ='f',
1806 #   -----------------------------------
1807         typ = bool, min=10, max=10,
1808         defaut = [False,False,False,False,False,False,False,False,False,False],
1809         fr = """""",
1810         ang = """""",
1811     ),
1812 #   -----------------------------------
1813     C_VSM = FACT(statut='o',
1814 #   -----------------------------------
1815 #       -----------------------------------
1816         VERTICAL_GRAIN_SORTING_MODEL = SIMP(statut ='f',
1817 #       -----------------------------------
1818             typ = 'I',
1819             defaut = [0],
1820             fr = """(-)""",
1821             ang = """Defines the model of the vertical grain sorting:
1822         0 = HR-VSM = Layer Model (Classic Hirano / Ribberink approach)
1823         1 = C-VSM (Continous Vertical Grain Sorting Model)""",
1824         ),
1825 #       -----------------------------------
1826         C_VSM_MAXIMUM_SECTIONS = SIMP(statut ='f',
1827 #       -----------------------------------
1828             typ = 'I',
1829             defaut = [200],
1830             fr = """(-)""",
1831             ang = """Defines the maximum discretisation of the
1832          Continous Vertical Sorting Model:
1833          Should be bigger than 8xNumber of Fractions.
1834          The bigger the higher the RAM requirements,
1835          but the faster and accurater the
1836          bookkeeping of the sediments.""",
1837         ),
1838 #       -----------------------------------
1839         C_VSM_FULL_PRINTOUT_PERIOD = SIMP(statut ='f',
1840 #       -----------------------------------
1841             typ = 'I',
1842             defaut = [0],
1843             fr = """(-)""",
1844             ang = """Number of Timesteps to next printout
1845          of the full C-VSM. These printouts are highly
1846          time and disc consuming.
1847          0 = Coupled to GRAPHIC PRINTOUT PERIOD
1848          >0 = Own printout period for the C-VSM""",
1849         ),
1850 #       -----------------------------------
1851         C_VSM_PRINTOUT_SELECTION = SIMP(statut ='f',
1852 #       -----------------------------------
1853             typ = 'TXM', min=13, max=13,
1854             defaut = '0;0;0;0;0;0;0;0;0;0;0;0;0',
1855             fr = """(-)""",
1856             ang = """Printout the C-VSM for the whole model as 3D
1857          \telkey{C-VSM RESULTS FILE}
1858          or / and for some nodes as
1859          \telkey{C-VSM NODE FILE}
1860          Give Up to 100 INTEGER numbers separated by ";"
1861          0 = Full model .-> VSPRES
1862          N = 1,2...NPOINT; 2D-ID of a SELFIN MESH POINT ->*\_VSP.CSV""",
1863         ),
1864 #       -----------------------------------
1865         C_VSM_DYNAMIC_ALT_MODEL = SIMP(statut ='f',
1866 #       -----------------------------------
1867             typ = 'I',
1868             defaut = [5],
1869             fr = """(-)""",
1870             ang = """MODEL FOR ACTIVE LAYER THICKNESS
1871          0 = ELAY0 (Keyword: ACTIVE LAYER THICKNESS)
1872          1 = Hunziker \& G$\ddot{u}$nther
1873          2 = Fredsoe \& Deigaard (1992)
1874          3 = van RIJN (1993)
1875          4 = Wong (2006)
1876          5 = Malcherek (2003)
1877          6 = $3*d50$ within last time steps ALT""",
1878         ),
1879     ),
1880 )
1881 # -----------------------------------------------------------------------
1882 FRICTION = PROC(nom= "FRICTION",op = None,
1883 # -----------------------------------------------------------------------
1884 #   -----------------------------------
1885     RATIO_BETWEEN_SKIN_FRICTION_AND_MEAN_DIAMETER = SIMP(statut ='f',
1886 #   -----------------------------------
1887         typ = 'R',
1888         defaut = 3.0,
1889         fr = """Ratio pour le calcul du frottement de peau.
1890 rugosite de peau = ratio * diametre moyen.
1891 ( pour la granulometrie etendue, le diametre moyen utilise
1892 est une valeur moyenne par noeud calculee a partir de la fraction
1893 et du diametre moyen de chaque sediment en chaque noeud du maillage)""",
1894         ang = """ Ratio for the computation of skin friction.
1895 skin roughness = ratio * mean diameter
1896 (for the mixture of sand, the mean diameter used is a value per node
1897 which is computed thanks to the fraction and the mean diameter of each
1898 sediment for each node of the mesh)
1899 if KSPRATIO =0 : use skin friction prediction from Van Rijn (2007)
1900 for currents and the Wiberg and Harris method for waves""",
1901     ),
1902 #   -----------------------------------
1903     SKIN_FRICTION_CORRECTION = SIMP(statut ='f',
1904 #   -----------------------------------
1905         typ = 'I',
1906         defaut = 1,
1907         fr = """prise en compte du frottement de peau (voir aussi KSPRATIO)
1908        0 : pas de correction (TAUP= TOB)
1909        1 : fond plat (KSP= KSPRATIO * D50)
1910        2 : prise en compte des rides""",
1911         ang = """formula to predict the skin bed roughness (see also KSPRATIO)
1912        0 : NO correction (TAUP= TOB)
1913        1 : Flat bed (KSP= KSPRATIO * D50)
1914        2 : Ripple correction factor""",
1915     ),
1916 #   -----------------------------------
1917     FRICTION_COEFFICIENT = SIMP(statut ='f',
1918 #   -----------------------------------
1919         typ = 'R',
1920         defaut = 50.,
1921         fr = """Fixe la valeur du coefficient de Strickler
1922 intervenant dans le calcul de la contrainte de
1923 frottement au fond. Sa signification depend de
1924 la LOI DE FROTTEMENT SUR LE FOND.""",
1925         ang = """Sets the value of the friction coefficient
1926 to calculate the bed shear stress.
1927 Depends on the LAW OF BOTTOM FRICTION.""",
1928     ),
1929 #   -----------------------------------
1930     LAW_OF_BOTTOM_FRICTION = SIMP(statut ='f',
1931 #   -----------------------------------
1932         typ = 'TXM',
1933         into = ["FLAT BOTTOM","EQUILIBRIUM SAND RIPPLES (WAVES ONLY) KS=(MAX 3D50,ETA)","CHEZY","STRICKLER","MANNING","NIKURADSE"],
1934         defaut = ["STRICKLER"],
1935         fr = """Selectionne le type de formulation utilisee pour le calcul
1936 du frottement sur le fond, voir COEFFICIENT DE FROTTEMENT.
1937 Pour les lois possibles, voir CHOIX ci-dessus (cf. Note de principe).
1938 En cas de couplage avec Telemac, le choix du frottement est impose par
1939 Telemac, sauf si le mot-cle :PREDICTION DE LA RUGOSITE est mis a OUI""",
1940         ang = """Selects the type of formulation used for the bottom friction.
1941 To know the possible laws see CHOIX1 above. See FRICTION COEFFICIENT.
1942 Beware: in the case of internal coupling with Telemac, the friction
1943 coefficient is selected in the Telemac steering file, except when BED
1944 ROUGHNESS PREDICTION is set to YES""",
1945     ),
1946 )
1947 # -----------------------------------------------------------------------
1948 SLOPE_EFFECT = PROC(nom= "SLOPE_EFFECT",op = None,
1949 # -----------------------------------------------------------------------
1950 #   -----------------------------------
1951     FORMULA_FOR_SLOPE_EFFECT = SIMP(statut ='f',
1952 #   -----------------------------------
1953         typ = 'I',
1954         defaut = 1,
1955         fr = """1 : formule de Koch et Flokstra, modifie le transport solide
1956             mot cle associe : BETA
1957         2 : formule de Soulsby, modifie la contrainte seuil, ne peut
1958             donc etre utilisee que avec une formule a seuil.
1959             mot cle associe : ANGLE DE REPOS DU SEDIMENT""",
1960         ang = """1 : formula of Koch et Flokstra, modification of bed load
1961              linked keyword : BETA
1962          2 : formula of Soulsby, modification critical shear stress,
1963              can only be used with a threshold fomula
1964              linked keyword : FRICTION ANGLE OF THE SEDIMENT""",
1965     ),
1966 #   -----------------------------------
1967     FRICTION_ANGLE_OF_THE_SEDIMENT = SIMP(statut ='f',
1968 #   -----------------------------------
1969         typ = 'R',
1970         defaut = 40.,
1971         fr = """Angle de repos du sediment, intervient pour la prise de compte
1972  de la pente sur la contrainte critique par la formule de Soulsby.
1973 Utiliser si ...=2""",
1974         ang = """Angle of repose of the sediment. Used in the Soulsby formula to
1975 take into account the influence of bed slope on critical shear stress.
1976 Use if ...=2""",
1977     ),
1978 #   -----------------------------------
1979     FORMULA_FOR_DEVIATION = SIMP(statut ='f',
1980 #   -----------------------------------
1981         typ = 'I',
1982         defaut = 1,
1983         fr = """1 : Koch et Flokstra
1984         2 : formule de Talmon et al. 1995, JHR 33(4) formules (1) et
1985 (17) mot cle associe : BETA2""",
1986         ang = """1: Koch and Flokstra
1987          2: formula of Talmon et al. 1995, JHR 33(4) formulas (1) and
1988 (17) linked keyword : BETA2""",
1989     ),
1990 #   -----------------------------------
1991     PARAMETER_FOR_DEVIATION = SIMP(statut ='f',
1992 #   -----------------------------------
1993         typ = 'R',
1994         defaut = 0.85,
1995         fr = """Parametre pour la deviation causee par effet de pente
1996  pour la formule de Talmon et al.
1997 Une valeur elevee provoque une faible deviation""",
1998         ang = """Parameter pour la deviation pour la formule de Talmon et al.""",
1999     ),
2000 #   -----------------------------------
2001     SEDIMENT_SLIDE = SIMP(statut ='f',
2002 #   -----------------------------------
2003         typ = bool,
2004         defaut = [False],
2005         fr = """Prise en compte de la pente d''equilibre du sable donnee par le
2006 mot-cle ANGLE DE FROTTEMENT DU SEDIMENT""",
2007         ang = """If yes, the key-word FRICTION ANGLE OF THE SEDIMENT is taken
2008 into account for slope stability""",
2009     ),
2010 #   -----------------------------------
2011     SLOPE_EFFECT = SIMP(statut ='f',
2012 #   -----------------------------------
2013         typ = bool,
2014         defaut = [True ],
2015         fr = """Prise en compte de l''effet de pente :
2016 deviation et modification du seuil critique.
2017 NON supprime les mots-cles
2018  POUR EFFET DE PENTE et  POUR LA DEVIATION""",
2019         ang = """If yes, slope effect taken into account:
2020 deviation + modification of critical shear stress.
2021 NO will cancel the key-words
2022 FORMULA FOR SLOPE EFFECT and FORMULA FOR DEVIATION""",
2023     ),
2024 #   -----------------------------------
2025     BETA = SIMP(statut ='f',
2026 #   -----------------------------------
2027         typ = 'R',
2028         defaut = 1.3,
2029         fr = """Determine la valeur du coefficient beta qui intervient dans la
2030 formulation de l''effet de pente de Koch et Flokstra.""",
2031         ang = """Specifies the value of the beta coefficient used in the Koch
2032 and Flokstra slope effect formulation.""",
2033     ),
2034 )
2035 # -----------------------------------------------------------------------
2036 SEDIMENT_TRANSPORT = PROC(nom= "SEDIMENT_TRANSPORT",op = None,
2037 # -----------------------------------------------------------------------
2038 #   -----------------------------------
2039     NONEQUILIBRIUM_BED_LOAD = FACT(statut='o',
2040 #   -----------------------------------
2041 #       -----------------------------------
2042         BED_ROUGHNESS_PREDICTION = SIMP(statut ='f',
2043 #       -----------------------------------
2044             typ = bool,
2045             defaut = [False],
2046             fr = """Calcul de la rugosite de Nikuradse
2047 - voir OPTION DU PREDICTEUR DE RUGOSITE -
2048 la loi de frottement est forcee a 5 et le coefficient de frottement
2049 ne sont pas utilises.
2050 En cas de couplage, le frottement est envoye a Telemac""",
2051             ang = """The bed roughness is predicted according to the selected
2052 BED ROUGHNESS PREDICTOR OPTION. In case of coupling with Telemac2d,
2053 the calculated bed roughness is sent to Telemac.
2054 The FRICTION COEFFICIENT and FRICTION LAW are no longer
2055 used (KFROT is set to 5)""",
2056         ),
2057     ),
2058 )
2059 # -----------------------------------------------------------------------
2060 SEDIMENTOLOGY = PROC(nom= "SEDIMENTOLOGY",op = None,
2061 # -----------------------------------------------------------------------
2062 #   -----------------------------------
2063     GENERAL = FACT(statut='o',
2064 #   -----------------------------------
2065 #       -----------------------------------
2066         SECONDARY_CURRENTS_ALPHA_COEFFICIENT = SIMP(statut ='f',
2067 #       -----------------------------------
2068             typ = 'R',
2069             defaut = 1.0E-00,
2070             fr = """(-)""",
2071             ang = """Alpha coefficient of secondary current(-),
2072 Should be chosen between 0.75 (rough bottom) and 1 (smooth bottom)""",
2073         ),
2074     ),
2075 )
2076 # -----------------------------------------------------------------------
2077 COMPUTATIONAL_INFORMATION = PROC(nom= "COMPUTATIONAL_INFORMATION",op = None,
2078 # -----------------------------------------------------------------------
2079 #   -----------------------------------
2080     GENERAL = FACT(statut='o',
2081 #   -----------------------------------
2082 #       -----------------------------------
2083         MORPHOLOGICAL_FACTOR = SIMP(statut ='f',
2084 #       -----------------------------------
2085             typ = 'R',
2086             defaut = 1.,
2087             fr = """Coefficient de l''echelle des temps""",
2088             ang = """Amplification for the morphological time scale""",
2089         ),
2090 #       -----------------------------------
2091         MINIMUM_DEPTH_FOR_BEDLOAD = SIMP(statut ='f',
2092 #       -----------------------------------
2093             typ = 'R',
2094             defaut = 1.E-2,
2095             fr = """Suppression des flux de sediment de et vers les points secs""",
2096             ang = """To cancel sediment fluxes to and from dry points""",
2097         ),
2098     ),
2099 )
2100 # -----------------------------------------------------------------------
2101 BED_LOAD = PROC(nom= "BED_LOAD",op = None,
2102 # -----------------------------------------------------------------------
2103 #   -----------------------------------
2104     BED_LOAD = SIMP(statut ='f',
2105 #   -----------------------------------
2106         typ = bool,
2107         defaut = True,
2108         fr = """calcul avec charriage""",
2109         ang = """""",
2110     ),
2111 #   -----------------------------------
2112     BED_LOAD_TRANSPORT_FORMULA = SIMP(statut ='f',
2113 #   -----------------------------------
2114         typ = 'I',
2115         defaut = 1,
2116         fr = """11 formules de transport solide sont implementees dans SISYPHE.
2117 Les formules Ne3, Ne30 et Ne9 ne doivent pas etre utilisees en cas de
2118 couplage avec la suspension.
2119 Les formules Ne4, Ne5, Ne8 and Ne9 calculent le taux de transport sous
2120 l''action combinee de la houle et du courant :
2121                  1 : MEYER-PETER (charriage)
2122                  2 : EINSTEIN-BROWN (charriage)
2123                  3 : ENGELUND-HANSEN + CHOLLET ET CUNGE (VERSION 5.3)
2124                  30: ENGELUND-HANSEN (total)
2125                  4 : BIJKER (charriage + suspension)
2126                  5 : SOULSBY - VAN RIJN (charriage + suspension)
2127                  6 : HUNZIKER (uniquement granulometrie etendue)
2128                       DE MASQUAGE DE HUNZIKER APPLIQUEE
2129                      et mot-cle HIDING-FACTOR not used
2130                  7 : VAN RIJN (bed load)
2131                  8 : BAILARD (charriage + suspension)
2132                  9 : DIBAJNIA ET WATANABE (total)
2133                 10 : WILCOCK ET CROWE (granulometrie etendue)
2134 L''utilisateur a aussi la possibilite d''imposer une autre formule de
2135 transport solide (sous-programme QSFORM.F) en fixant la valeur
2136 du mot cle a 0 :
2137                  0 :  IMPOSEE PAR L''UTILISATEUR
2138 Attention : dans ce cas, il n''est pas possible de choisir l''option
2139 PAS DE TEMPS VARIABLE.""",
2140         ang = """11 bed-load or total load transport formulas are implemented in
2141 SISYPHE.
2142 The formula Ne3, Ne30 and Ne9 should not be used in the case of coupling
2143 with the suspension.
2144 The formula Ne4, Ne5, Ne8 and Ne9  model the transport under the
2145 combined action of currents and waves :
2146                  1 : MEYER-PETER (bed load)
2147                  2 : EINSTEIN-BROWN (bed load)
2148                  3 : ENGELUND-HANSEN + CHOLLET AND CUNGE (VERSION 5.3)
2149                  30: ENGELUND-HANSEN (total)
2150                  4 : BIJKER (bed load + suspension)
2151                  5 : SOULSBY - VAN RIJN (bed load + suspension)
2152                  6 : HUNZIKER (only for sand grading)
2153                      IN THIS CASE HIDING FACTOR KEYWORD DISCARDED
2154                      And Hunziker formula used
2155                  7 : VAN RIJN (bed load)
2156                  8  : BAILARD (bed load + suspension)
2157                  9 : DIBAJNIA ET WATANABE (total)
2158                 10 : WILCOCK AND CROWE (graded sediment)
2159 Users can also program other formulas (subroutine QSFORM.f) setting
2160 this key word to zero :
2161                  0 : FORMULA PROGRAMMED BY USER
2162 Warning : it is not then possible to choose the option
2163 VARIABLE TIME-STEP""",
2164     ),
2165 #   -----------------------------------
2166     B_VALUE_FOR_THE_BIJKER_FORMULA = SIMP(statut ='f',
2167 #   -----------------------------------
2168         typ = 'R',
2169         defaut = 2.E0,
2170         fr = """Coefficient b de la formule de Bijker""",
2171         ang = """b value for the Bijker formula""",
2172     ),
2173 #   -----------------------------------
2174     MPM_COEFFICIENT = SIMP(statut ='f',
2175 #   -----------------------------------
2176         typ = 'R',
2177         defaut = 8.0E-00,
2178         fr = """(-)""",
2179         ang = """Meyer-Peter Mueller Coefficient(-)""",
2180     ),
2181 )
2182 # -----------------------------------------------------------------------
2183 EQUATIONS__ADVECTION = PROC(nom= "EQUATIONS__ADVECTION",op = None,
2184 # -----------------------------------------------------------------------
2185 #   -----------------------------------
2186     GENERAL = FACT(statut='o',
2187 #   -----------------------------------
2188 #       -----------------------------------
2189         SCHEME_OPTION_FOR_ADVECTION = SIMP(statut ='f',
2190 #       -----------------------------------
2191             typ = 'I',
2192             defaut = 1,
2193             fr = """Si present remplace et a priorite sur :
2194 OPTION POUR LES CARACTERISTIQUES (pas programme)
2195 OPTION DE SUPG
2196 Avec schema PSI : 1=explicit 2=predicteur-correcteur
2197 pour les traceurs""",
2198             ang = """If present replaces and has priority over:
2199 OPTION FOR CHARACTERISTICS (not yet implemented)
2200 SUPG OPTION
2201 IF PSI SCHEME: 1=explicit 2=predictor-corrector
2202 for tracers""",
2203         ),
2204     ),
2205 )
2206 # -----------------------------------------------------------------------
2207 CONSOLIDATION = PROC(nom= "CONSOLIDATION",op = None,
2208 # -----------------------------------------------------------------------
2209 #   -----------------------------------
2210     CONSOLIDATION_MODEL = SIMP(statut ='f',
2211 #   -----------------------------------
2212         typ = 'I',
2213         defaut = 1,
2214         fr = """1:Modele multicouche de Walther,
2215 2: Modele de Thiebot (base sur la theorie de Gibson)""",
2216         ang = """1: Multilayer model of Walther,
2217 2: Model of Thiebot (based on Gibson theory)""",
2218     ),
2219 #   -----------------------------------
2220     GEL_CONCENTRATION = SIMP(statut ='f',
2221 #   -----------------------------------
2222         typ = 'R',
2223         defaut = 310.E0,
2224         fr = """Concentration de transition pour modele de Thiebot (Kg/m3)""",
2225         ang = """Gel Concentration (Kg/m3)""",
2226     ),
2227 #   -----------------------------------
2228     MAXIMUM_CONCENTRATION = SIMP(statut ='f',
2229 #   -----------------------------------
2230         typ = 'R',
2231         defaut = 364.E0,
2232         fr = """Concentration maximale du modele de Thiebot (Kg/m3)""",
2233         ang = """Maximum Concentration for Thiebot consolidation model(Kg/m3)""",
2234     ),
2235 #   -----------------------------------
2236     PERMEABILITY_COEFFICIENT = SIMP(statut ='f',
2237 #   -----------------------------------
2238         typ = 'R',
2239         defaut = 8.E0,
2240         fr = """Coefficient de permeabilite pour le modele de consolidation""",
2241         ang = """Coefficient of permeability for consolidation model""",
2242     ),
2243 #   -----------------------------------
2244     MUD_CONSOLIDATION = SIMP(statut ='f',
2245 #   -----------------------------------
2246         typ = bool,
2247         defaut = [False],
2248         fr = """Prise en compte du tassement par un modele multi-couche""",
2249         ang = """consolidation of the mud or sand mud-mixture sediment bed
2250  accounted for""",
2251     ),
2252 #   -----------------------------------
2253     NUMBER_OF_LAYERS_OF_THE_CONSOLIDATION_MODEL = SIMP(statut ='f',
2254 #   -----------------------------------
2255         typ = 'I',
2256         defaut = [1],
2257         fr = """Structure verticale du lit cohesif- le nombre de couche doit
2258        etre inferieur a 10""",
2259         ang = """Vertical bed structure - The number of layers should be less
2260        than 10""",
2261     ),
2262 #   -----------------------------------
2263     MASS_TRANSFER_PER_LAYER = SIMP(statut ='f',
2264 #   -----------------------------------
2265         typ = 'R', min= 2, max= 2,
2266         fr = """Coefficients de transfert de masse du modele
2267 de tassement multicouche en s-1""",
2268         ang = """Mass transfert coefficients of
2269 the multilayer consolidation model in s-1""",
2270     ),
2271 )
2272 # -----------------------------------------------------------------------
2273 COHESIVE_SEDIMENT = PROC(nom= "COHESIVE_SEDIMENT",op = None,
2274 # -----------------------------------------------------------------------
2275 #   -----------------------------------
2276     MUD_CONCENTRATION_PER_LAYER = SIMP(statut ='f',
2277 #   -----------------------------------
2278         typ = 'R', min= 2, max= 2,
2279         fr = """Concentration du lit de vase en g/ l - defini par couches""",
2280         ang = """Concentrations of the mud-bed in g per l (per layer)""",
2281     ),
2282 #   -----------------------------------
2283     CRITICAL_EROSION_SHEAR_STRESS_OF_THE_MUD = SIMP(statut ='f',
2284 #   -----------------------------------
2285         typ = 'R', min=10, max=10,
2286         defaut = [0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,1.],
2287         fr = """Taux critique d erosion de la vase needs to be defined
2288         for each layer (N par m2)""",
2289         ang = """Critical erosion shear stress of the mud per layer (N per m2)""",
2290     ),
2291 )
2292 # -----------------------------------------------------------------------
2293 INTERNAL = PROC(nom= "INTERNAL",op = None,
2294 # -----------------------------------------------------------------------
2295     UIinfo = {"groupes": ("CACHE")},
2296 #   -----------------------------------
2297     CONCATENATE_PARTEL_OUTPUT = SIMP(statut ='o',
2298 #   -----------------------------------
2299         typ = bool,
2300         defaut = False,
2301         fr = """Avec cette option partel ne genereras non plus un fichier (GEO/CLI/PAR)
2302 par processeur mais une concaténation de ceux-ci, ainsi qu''un fichier
2303 d''index associé. Ainsi plutot que d''avoir 3P fichiers, il n''y en a
2304 plus que 6.""",
2305         ang = """With this option partel no more generates a file (GEO/CLI/PAR) per
2306 process but a single concatenate file of them, associated to an index
2307 file. Then instead of having partel generating 3P files, it only
2308 generates 6 files.""",
2309     ),
2310 #   -----------------------------------
2311     DICTIONARY = SIMP(statut ='f',
2312 #   -----------------------------------
2313         typ = ('Fichier','All Files (*)'),
2314         defaut = 'sisyphev6p2.dico',
2315         fr = """Dictionnaire des mots cles.""",
2316         ang = """Key word dictionary.""",
2317     ),
2318 )
2319 TEXTE_NEW_JDC = "\
2320 INPUT_OUTPUT__INFORMATION();\
2321 MISCELLANEOUS();\
2322 GENERAL();\
2323 USELESS();\
2324 INPUT_OUTPUT__FILES();\
2325 RESULTS();\
2326 DATA_FILES();\
2327 INITIAL_CONDITIONS();\
2328 INPUT_OUTPUT__GRAPHICS_AND_LISTING();\
2329 TIME();\
2330 EQUATIONS__BOUNDARY_CONDITIONS();\
2331 SOLVER();\
2332 NUMERICAL();\
2333 NUMERICAL_PARAMETERS();\
2334 PHYSICS();\
2335 SUSPENSION();\
2336 BED_MATERIAL();\
2337 FRICTION();\
2338 SLOPE_EFFECT();\
2339 SEDIMENT_TRANSPORT();\
2340 SEDIMENTOLOGY();\
2341 COMPUTATIONAL_INFORMATION();\
2342 BED_LOAD();\
2343 EQUATIONS__ADVECTION();\
2344 CONSOLIDATION();\
2345 COHESIVE_SEDIMENT();\
2346 "
2347 Ordre_Des_Commandes = (
2348 'INPUT_OUTPUT__INFORMATION',
2349 'MISCELLANEOUS',
2350 'GENERAL',
2351 'USELESS',
2352 'INPUT_OUTPUT__FILES',
2353 'RESULTS',
2354 'DATA_FILES',
2355 'INITIAL_CONDITIONS',
2356 'INPUT_OUTPUT__GRAPHICS_AND_LISTING',
2357 'TIME',
2358 'EQUATIONS__BOUNDARY_CONDITIONS',
2359 'SOLVER',
2360 'NUMERICAL',
2361 'NUMERICAL_PARAMETERS',
2362 'PHYSICS',
2363 'SUSPENSION',
2364 'BED_MATERIAL',
2365 'FRICTION',
2366 'SLOPE_EFFECT',
2367 'SEDIMENT_TRANSPORT',
2368 'SEDIMENTOLOGY',
2369 'COMPUTATIONAL_INFORMATION',
2370 'BED_LOAD',
2371 'EQUATIONS__ADVECTION',
2372 'CONSOLIDATION',
2373 'COHESIVE_SEDIMENT',
2374 'INTERNAL')
2375 try:
2376     import TelApy
2377     source = "eficas"
2378 except Exception as excpt:
2379     source = "Telemac"
2380 enum = source+'.sisyphe_enum_auto'
2381 dicoCasEn = source+'.sisyphe_dicoCasEnToCata'
2382 dicoCasFr = source+'.sisyphe_dicoCasFrToCata'