9 def __convert__(self,valeur):
10 if type(valeur) == types.StringType: return None
11 if len(valeur) != self.ntuple: return None
15 return "Date : jj/mm/aaaa "
22 def __init__(self,ntuple):
25 def __convert__(self,valeur):
26 if type(valeur) == types.StringType:
28 if len(valeur) != self.ntuple:
33 return "Tuple de %s elements" % self.ntuple
37 JdC = JDC_CATA (code = 'MAP',
40 # ======================================================================
41 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
42 # ======================================================================
43 INITIALIZATION=PROC(nom="INITIALIZATION",op=None,
44 fr="Initialisation des fichiers d'entrée et de sortie",
45 ang="Input and Output files initialization",
47 Title = SIMP( statut='o',typ='TXM',
48 fr='Titre du cas etudie. Ce titre figurera sur les dessins.',
49 ang='Title of the case being considered. This title shall be marked on the drawings.'
51 #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
53 Input_Files= FACT(statut='o',
54 Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',),
55 defaut='telemac2d.dico',
56 fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
58 Geometry_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
59 fr='Format du fichier de geometrie. Les valeurs possibles sont : \n \
60 - SERAFIN : format standard simple precision pour Telemac; \n \
61 - SERAFIND: format standard double precision pour Telemac; \n \
62 - MED : format MED base sur HDF5',
63 ang='Results file format. Possible values are: \n\
64 - SERAFIN : classical single precision format in Telemac;\n\
65 - SERAFIND: classical double precision format in Telemac;\n\
66 - MED : MED format based on HDF5',) ,
68 Geometry_File = SIMP( statut='o', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
69 fr='Nom du fichier contenant le maillage du calcul a realiser.',
70 ang='Name of the file containing the mesh. \n\
71 This file may also contain the topography and the friction coefficients.'),
73 #Steering_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
75 Bottom_Topography_File = SIMP( statut='f', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
76 fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \
77 Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.",
78 ang = 'Name of the possible file containing the bathymetric data.\
79 Where this keyword is used, these bathymetric data shall be used in the computation.',
82 Fortran_File = SIMP(statut='f',typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
83 fr='Nom du fichier a soumettre',
84 ang='Name of FORTRAN file to be submitted',),
86 Boundary_Conditions_File = SIMP( statut='o', typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),
87 fr='Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\
88 par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',
89 ang='Name of the file containing the types of boundary conditions. This file is filled automatically\n\
90 by the mesh generator through through colours that are assigned to the boundary nodes.',),
93 Validation=FACT( statut='f',
95 Reference_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
96 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
97 - SERAFIN : format standard simple precision pour Telemac; \n\
98 - SERAFIND: format standard double precision pour Telemac; \n\
99 - MED : format MED base sur HDF5' ,
100 ang = 'Results file format. Possible values are:\n \
101 - SERAFIN : classical single precision format in Telemac;\n\
102 - SERAFIND: classical double precision format in Telemac; \n\
103 - MED : MED format based on HDF5' ,),
105 Reference_File = SIMP( statut='o', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',),
106 fr= 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
107 ang= 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
108 ), # Fin de Validation
111 Formatted_And_Binary_Files=FACT( statut='f',
113 Formatted_File2 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
114 fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\
115 Les donnees de ce fichier seront a lire sur le canal 27.",
116 ang = "Formatted data file made available to the user.\n\
117 The data in this file shall be read on channel 27.",
119 Binary_Data_File1 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
120 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\
121 Les donnees de ce fichier seront a lire sur le canal 24.',
122 ang = 'Binary-coded data file made available to the user.\n\
123 The data in this file shall be read on channel 24.',
125 Binary_Data_File2 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
126 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\
127 Les donnees de ce fichier seront a lire sur le canal 25.',
128 ang = 'Binary-coded data file made available to the user. \n\
129 The data in this file shall be read on channel 25.',
131 ), # fin Formatted_And_Binary_Files
133 ), # Fin de InputFile
136 Computation_Continued=FACT( statut='f',
138 Previous_Computation_File_Format=SIMP( statut='o',typ='TXM',
139 into=['SERAFIN','MED','SERAFIND'],
141 fr='Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\
142 - SERAFIN : format standard simple precision pour Telemac; \n\
143 - SERAFIND: format standard double precision pour Telemac; \n\
144 - MED : format MED base sur HDF5',
145 ang='Previous computation results file format. Possible values are: \n\
146 - SERAFIN : classical single precision format in Telemac; \n\
147 - SERAFIND: classical double precision format in Telemac; \n\
148 - MED : MED format based on HDF5',
151 Previous_Computation_File = SIMP( statut='o',
152 typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
153 fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\
154 et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.",
155 ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\
156 The last recorded time step will provid the initial conditions for the new computation.',
158 Previous_Computation_Comm = SIMP( statut='f', typ = ('Fichier', 'COMM(*.comm);;All Files (*)',),
159 fr = "Nom du fichier .comm décrivant le cas précédent",
160 ang = "Name of a file containing the earlier study" ,),
161 Initial_Time_Set = SIMP(typ=bool, statut='f',
162 fr = 'Remet le temps a zero en cas de suite de calcul',
163 ang = 'Initial time set to zero in case of restart',
165 Record_Number_For_Restart = SIMP(typ='I', statut='o', defaut=0,
166 fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement",
167 ang ="record number to start from in the previous computation file, 0 for last record" ),
170 Computation=FACT(statut='o',
171 #Machine=FACT( statut='o',
172 # A voir plus tar Obsolete ?
173 # Parallel_Processors=SIMP(statut='o',typ='I',val_min=0,defaut=1),
174 #Parallel_Computation=SIMP(statut='o',typ=bool,defaut=False),
176 Coupling=FACT( statut='o',
177 Sisyphe=SIMP(statut='o',typ=bool,defaut=False),
178 Tomawac=SIMP(statut='o',typ=bool,defaut=False),
179 Delwacq=SIMP(statut='o',typ=bool,defaut=False),
180 fr='Liste des codes avec lesquels on couple Telemac-2D\n\
181 SISYPHE : couplage interne avec Sisyphe\n\
182 TOMAWAC : couplage interne avec Tomawac\n\
183 DELWAQ : sortie de fichiers de resultats pour Delwaq',
184 ang='List of codes to be coupled with Telemac-2D\n\
185 SISYPHE : internal coupling with Sisyphe\n\
186 TOMAWAC : internal coupling with Tomawac\n\
187 DELWAQ: will yield results file for Delwaq',
192 TIDE_PARAMETERS=PROC(nom="TIDE_PARAMETERS",op=None,
195 Inputs_Outputs_For_Tide=FACT( statut='o',
196 Harmonic_Constants_File = SIMP( statut='o',
197 typ = ('Fichier', 'All Files (*)',),
198 fr = 'Constantes harmoniques extraites du fichier du modele de maree',
199 ang= 'Harmonic constants extracted from the tidalmodel file',
202 Tidal_Model_File = SIMP( statut='o',
203 typ = ('Fichier', 'All Files (*)',),
204 fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques',
205 ang= 'Geometry file of the model from which harmonic constituents are extracted',
210 Time=FACT( statut='o',
211 #Original_Date_Of_Time=SIMP(statut='f',typ=DateJJMMAAAA,validators=VerifTypeTuple(('R','R','R'))),
212 #Original_Hour_Of_Time=SIMP(statut='f',typ=HeureHHMMSS,validators=VerifTypeTuple(('R','R','R'))),
213 Original_Date_Of_Time=FACT( statut='o',
214 fr = "Permet de fixer la date d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
215 ang ='Give the date of the time origin of the model when taking into account the tide generating force.',
216 Year=SIMP(statut='o',typ='I',val_min=1900,defaut=1900),
217 Month=SIMP(statut='o',typ='I',val_min=1,val_max=12,defaut=1),
218 Day=SIMP(statut='o',typ='I',val_min=1,val_max=31,defaut=1),
220 Original_Hour_Of_Time=FACT( statut='f',
221 fr = "Permet de fixer l'heure d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
222 ang ='Give the time of the time origin of the model when taking into account the tide generating force.',
223 Hour=SIMP(statut='o',typ='I',val_min=0,val_max=24,defaut=0),
224 Minute=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
225 Second=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
228 Location=FACT( statut='f',
229 #regles=( PRESENT_PRESENT('Longitude_Of_origin','Latitute_Of_origin', ),),
230 #Spatial_Projection=SIMP(statut='f',typ='I',into=[1,2,3]),
231 #Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,5]),
233 Geographic_System=SIMP(statut='f',typ='TXM',
234 into=["DEFINI PAR L'UTILISATEUR", "WGS84 LONGITUDE/LATITUDE EN DEGRES REELS","WGS84 NORD UTM",'WGS84 SUD UTM','LAMBERT', 'MERCATOR'],
235 defaut="DEFINI PAR L'UTILISATEUR",
236 fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
237 ang = 'Geographic coordinates system in which the numerical model is built.Indicate the corresponding zone with the keyword ',
239 b_geo_system = BLOC(condition = "Geographic_System in ('WGS84 LONGITUDE/LATITUDE EN DEGRES REELS','WGS84 NORD UTM','WGS84 SUD UTM','MERCATOR')",
240 Spatial_Projection=SIMP(statut='o',typ='TXM',into=["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"]),
241 ang = 'Option 2 or 3 mandatory for spherical coordinates Option 3: latitude and longitude in radians!',
242 b_lat = BLOC(condition = "Spatial_Projection == 'LATITUDE LONGITUDE' ",
243 Latitude_Of_Origin=SIMP(statut='o',typ='R',val_min=-90,val_max=90,fr="en radians", ang="in radians"),
244 Longitude_Of_Origin=SIMP(statut='o',typ='R',fr="en radians", ang="in radians"),
248 Zone_number_in_Geographic_System=SIMP(statut='f',typ='TXM',
249 #into=[-1,0,1,2,3,4,22,30],
250 into=[ 'LAMBERT 1 NORD', 'LAMBERT 2 CENTRE', 'LAMBERT 3 SUD', 'LAMBERT 4 CORSE', 'LAMBERT 2 ETENDU', 'ZONE UTM, PAR EXEMPLE'],
251 fr="Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",
252 ang='Number of zone when using a plane projection. \nIndicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
254 ) # Fin TIDE_PARAMETERS
256 INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None,
258 Initial_Conditions=SIMP(statut='o',typ='TXM',
259 into=['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'],
260 defaut='ZERO ELEVATION',
261 fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\
262 - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\
263 - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\
264 - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\
265 - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\
266 - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\
267 - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\
268 la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\
269 BASE DE DONNEES DE MAREE." ,
270 ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\
271 - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom. \n\
272 - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\
273 - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\
274 - ZERO DEPTH. Initializes the water depths to 0. \n\
275 - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\
276 - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\
277 - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ),
279 b_initial_elevation = BLOC (condition = "Initial_Conditions == 'CONSTANT ELEVATION'",
280 Initial_Elevation = SIMP(statut='o',typ='R',
281 fr='Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE',
282 ang='Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION'
284 ) , # fin b_initial_elevation
286 b_initial_depth = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'",
287 Initial_Depth = SIMP(statut='o',typ='R',
288 fr='Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',
289 ang='Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ),
290 ),# fin b_initial_depth
292 b_special= BLOC (condition = "Initial_Conditions == 'SPECIAL'",
293 # Ce mot clef est juste informatif
294 special = SIMP(statut='o',typ='TXM',
295 defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"),
299 b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'",
300 Base_Ascii_De_Donnees_De_Maree = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ),
301 fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
302 ang = 'Tide data base of harmonic constituents extracted from the tidal model file',
303 ), # fin b_initial_TPXO
305 Boundary_Conditions=FACT(statut='f',
306 fr = 'On donne un ensemble de conditions par frontiere liquide',
307 ang = 'One condition set per liquid boundary is given',
308 # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
309 # en sortie il faut aller chercher le .cli qui va bien
310 #Liquid_Boundaries=FACT(statut='f',max='**',
311 # Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics'])
312 # Prescribed_Flowrates=SIMP(statut='f',typ='R'),
313 # Prescribed_Elevations=SIMP(statut='f',typ='R'),
314 # Prescribed_Velocity=SIMP(statut='f',typ='R'),
317 # Il va falloir une "traduction dans le langage du dico"
318 # Il faut seulement l un des 3
320 Liquid_Boundaries=FACT(statut='f',max='**',
322 Options=SIMP(statut='f',typ='I',
323 into=['classical boundary conditions','Thompson method based on characteristics'],
324 fr='On donne 1 entier par frontiere liquide',
325 ang='One integer per liquid boundary is given',
328 Type_Condition=SIMP(statut='o',typ='TXM',into=['Flowrates','Elevations','Velocity'],),
331 b_Flowrates = BLOC (condition = "Type_Condition == 'Flowrates'",
332 Prescribed_Flowrates=SIMP(statut='o',typ='R',
333 fr=' Valeurs des debits imposes aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
334 ang='Values of prescribed flowrates at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'),
337 b_Elevations = BLOC (condition = "Type_Condition == 'Elevations'",
338 Prescribed_Elevations=SIMP(statut='o',typ='R',
339 fr='Valeurs des cotes imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
340 ang='Values of prescribed elevations at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'),
343 b_Velocity = BLOC (condition = "Type_Condition == 'Velocity'",
344 Prescribed_Velocity=SIMP(statut='o',typ='R',
345 fr='Valeurs des vitesses imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
346 ang='Values of prescribed velocities at the liquid inflow boundaries.\n Refer to the section dealing with the boundary conditions'),
349 ), # fin des Liquid_Boundaries
351 #PNPN Attention dans le Dico STAGE-DISCHARGE CURVES
352 Stage_Discharge_Curves = SIMP(statut='f',typ='TXM',
354 into=["no","Z(Q)","not programmed"],
355 fr='Indique si une courbe de tarage doit etre utilisee pour une frontiere',
356 ang='Says if a discharge-elevation curve must be used for a given boundary',
358 b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves == 'Z(Q)'",
360 #PNPN Attention dans le Dico STAGE-DISCHARGE CURVES FILES
361 Stage_Discharge_Curves_File = SIMP( statut='f', typ = ('Fichier', 'All Files (*)',),
362 fr='Nom du fichier contenant les courbes de tarage',
363 ang='Name of the file containing stage-discharge curves',
367 Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut='f',typ='TXM',
368 into=["Priority to prescribed values","Priority to fluxes"],
369 fr='Utilise pour les schemas SUPG, PSI et N, \n\
370 si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct',
371 ang='Used so far only with the SUPG, PSI and N schemes.\n\
372 if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct'
375 #???? into no coherent avec dico
377 Option_For_Tidal_Boundary_Conditions = SIMP( statut='f',typ='TXM',
378 into=['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', 'Mean spring tide', 'Mean tide',\
379 'Mean neap tide', 'Astronomical neap tide', 'Real tide (methodology before 2010)'],
383 ), # fin Boundary_Conditions
385 ) # fin INITIAL_STATE
387 NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None,
389 Solver_Definition=FACT(statut='o',
391 Equations=SIMP(statut='o',typ='TXM',
392 into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'],
393 defaut='SAINT-VENANT EF',
394 fr='Choix des equations a resoudre',
395 ang= 'Choice of equations to solve',
398 Solver=SIMP(statut='o',typ='TXM',
399 into = ["conjugate gradient", "conjugate residual","conjugate gradient on a normal equation",\
400 "minimum error", "cgstab", "gmres", "direct",],
401 fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\
402 Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\
403 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\
404 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\
405 7 : gmres (voir aussi option du solveur) 8 : direct',
406 ang = 'Makes it possible to select the solver used for solving the propagation step.\n\
407 All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\
408 1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\
409 4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\
410 7: gmres (see option for solver) 8: direct',
413 b_gmres = BLOC (condition = "Solver == 'gmres'",
414 Solver_Option = SIMP(statut='o',typ='I', defaut=2, val_min=2,val_max=15,
415 fr = 'la dimension de l''espace de KRILOV',
416 ang = 'dimension of the KRYLOV space',
420 Initial_Guess_for_H=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
421 Initial_Guess_for_U=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
422 Solver_Accuracy = SIMP(statut='o',typ='R', defaut=1e-4,
423 fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).',
424 ang = 'Required accuracy for solving the propagation step (refer to Principle note).',
427 Maximum_Number_Of_Iterations_For_Solver=SIMP(statut='o',typ='I', defaut=40,
428 fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\
429 il est necessaire de limiter le nombre d''iterations autorisees.\n\
430 Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.',
431 ang = 'Since the algorithms used for solving the propagation step are iterative, \
432 the allowed number of iterations should be limited.\n\
433 Note: a maximum number of 40 iterations per time step seems to be reasonable.',
437 Time=FACT(statut='f',
438 regles=(UN_PARMI('Number_Of_Time_Steps','Duration'),),
440 Time_Step=SIMP(statut='f',typ='R'),
441 Number_Of_Time_Steps=SIMP(statut='f',typ='I',
442 fr='Definit le nombre de pas de temps effectues lors de l''execution du code.',
443 ang='Specifies the number of time steps performed when running the code.'),
444 Duration=SIMP(statut='f',typ='R'),
445 Variable_Time_Step=SIMP(statut='f',typ=bool),
446 b_var_time = BLOC(condition = "Variable_Time_Step==True" ,
447 Desired_Courant_Number=SIMP(statut='o',typ='R'),
450 Stop_If_A_Steady_State_Is_Reached=SIMP(statut='f',typ=bool,defaut='False'),
451 b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached==True" ,
453 Stop_Criteria=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R')),
454 fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\
455 1- U et V 2- H 3- T ",
456 ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\
457 1- U and V 2- H 3- T ',),
460 Control_Of_Limit=SIMP(statut='f',typ=bool,defaut='False',
461 fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees',
462 ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',
465 b_limit = BLOC(condition = "Control_Of_Limit==True" ,
467 Limit_Values=FACT(statut='o',
468 fr = 'valeurs mini et maxi acceptables min puis max',
469 ang= 'min and max acceptable values ',
470 Limit_Values_H=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,9000)),
471 Limit_Values_U=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
472 Limit_Values_V=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
473 Limit_Values_T=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
478 Linearity=FACT(statut='f',
479 Treatment_Of_Fluxes_at_the_Boundaries =SIMP( statut='f',typ='I',into=[1,2],sug=1),
480 Continuity_Correction =SIMP(typ=bool, statut='f'),
481 Number_Of_Sub_Iterations=SIMP(statut='f',typ='I'),
483 Precondionning=FACT(statut='f',
485 Preconditionning=SIMP(statut='f',typ='I',
486 into=[ "diagonal", "no preconditioning", "diagonal condensee", "crout", \
487 "gauss-seidel", "diagonal and crout", "diagonal condensed and crout"],
489 C_U_Preconditionning =SIMP(typ=bool, statut='f',
490 fr = 'Changement de variable de H en C dans le systeme lineaire final',
491 ang = 'Change of variable from H to C in the final linear system'
493 ),# fin Preconditionnement
496 Matrix_Informations=FACT(statut='f',
497 Matrix_Vector_Product =SIMP(statut='f',typ='TXM',
498 into=["classic", "frontal"],
499 fr='attention, si frontal, il faut une numerotation speciale des points',
500 ang='beware, with option 2, a special numbering of points is required',
502 Matrix_Storage =SIMP(statut='f',typ='TXM',
503 into=["EBE classique","Stockage par segments",]
505 ),# fin Matrix_Informations
507 Advection=FACT(statut='f',
509 Mass_Lumping_On_H =SIMP(statut='f',typ='R',defaut=0,
510 fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\
511 Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\
512 et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\
513 importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\
514 Ce parametre fixe le taux de mass-lumping effectue sur h.',
515 ang = 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. \n\
516 This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\
517 Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\
518 more stable. The resulting solutions, however, become artificially smoothed. \n\
519 This parameter sets the extent of mass-lumping that is performed on h.'),
521 Mass_Lumping_On_Velocity =SIMP(statut='f',typ='R',defaut=0,
522 fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.',
523 ang = 'Sets the amount of mass-lumping that is performed on the velocity.'
529 # Attention a recalculer
530 # Il faut recalculer des listes de 4 en sortie
532 Advection_Propagation=FACT(statut='f',
533 Advection_Of_U_And_V=SIMP(statut='o',typ=bool,defaut=False,
534 fr = 'Prise en compte ou non de la convection de U et V.',
535 ang= 'The advection of U and V is taken into account or ignored.'
538 b_u_v = BLOC( condition = "Advection_Of_U_And_V==True",
539 Type_Of_Advection_U_And_V=SIMP(statut='o',typ='TXM',
540 into=["characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
541 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
542 ' Edge-based N-scheme', 'Edge-based N-scheme'],
545 b_upwind =BLOC(condition = "Type_Of_Advection_U_And_V== 'SUPG'",
546 Upwind_Coefficients_Of_U_And_V=SIMP(statut='o',typ='R',)
550 Advection_Of_H=SIMP(statut='o',typ=bool,defaut=False,
551 fr = 'Prise en compte ou non de la convection de H.',
552 ang= 'The advection of H is taken into account or ignored.'
555 b_h = BLOC( condition = "Advection_Of_H==True",
557 Type_Of_Advection_H=SIMP(statut='o',typ='TXM',
558 into=["characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
559 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
560 ' Edge-based N-scheme', 'Edge-based N-scheme'],
562 b_upwind_H = BLOC(condition = "Type_Of_Advection_H== 'SUPG'",
563 Upwind_Coefficients_Of_H=SIMP(statut='o',typ='R',)
567 Advection_Of_Tracers=SIMP(statut='o',typ=bool,defaut=False,
568 fr = 'Prise en compte ou non de la convection de Tracer.',
569 ang= 'The advection of Tracer is taken into account or ignored.'
572 b_tracers = BLOC( condition = "Advection_Of_Tracers==True",
574 Type_Of_Advection_Tracers=SIMP(statut='o',typ='TXM',
575 into=["characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
576 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
577 ' Edge-based N-scheme', 'Edge-based N-scheme'],
579 b_upwind_Tracers =BLOC(condition = "Type_Of_Advection_Tracers== 'SUPG'",
580 Upwind_Coefficients_Of_Tracers=SIMP(statut='o',typ='R',)
585 Advection_Of_K_And_Epsilon=SIMP(statut='f',typ=bool,defaut=False,
586 fr = 'Prise en compte ou non de la convection de Tracer.',
587 ang= 'The advection of Tracer is taken into account or ignored.'
590 b_k = BLOC( condition = "Advection_Of_K_And_Epsilon==True",
592 Type_Of_Advection_K_And_Epsilon=SIMP(statut='o',typ='TXM',
593 into=["characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
594 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
595 ' Edge-based N-scheme', 'Edge-based N-scheme'],
597 b_upwind_k =BLOC(condition = "Type_Of_Advection_K_And_Epsilon== 'SUPG'",
598 Upwind_Coefficients_Of_K_And_Epsilon=SIMP(statut='o',typ='R',)
605 Propagation=FACT(statut='f',
606 Linearized_Propagation=SIMP(statut='o',typ=bool,defaut=False),
607 b_linear =BLOC(condition = "Linearized_Propagation==True ",
608 Mean_Depth_For_Linearity=SIMP(statut='o',typ='R',defaut=0.0,val_min=0),
611 Discretisation_Implicitation=FACT(statut='f',
612 Discretisations_In_Space=SIMP(statut='f',typ='TXM',
613 into =["linear for velocity and depth", "quasi-bubble-velocity and linear depth", "quadratic velocity and linear depth"],
614 defaut="linear for velocity and depth",),
615 Implicitation_For_Diffusion_Of_velocity=SIMP(statut='f',typ='R',sug=0),
616 Implicitation_For_Depth=SIMP(statut='f',typ='R',sug=0.55),
617 Implicitation_for_Velocity=SIMP(statut='f',typ='R',sug=0.55),
618 Free_Surface_Gradient_Compatibility=SIMP(statut='f',typ='R',sug=1.),
620 )# fin NUMERICAL_PARAMETERS
622 PHYSICAL_PARAMETERS=PROC(nom="PHYSICAL_PARAMETERS",op=None,
623 Atmosphere=FACT(statut='f',
624 Wind=SIMP(statut='f',typ=bool,sug=False),
625 b_Wind =BLOC(condition = "Wind=='True'",
626 regles=( PRESENT_PRESENT('Wind_Velocity_along_X','Wind_Velocity_along_Y', ),),
627 Coefficient_Of_Wind_Influence=SIMP(statut='f',typ='R',sug=0,),
628 Wind_Velocity_along_X=SIMP(statut='f',typ='R',sug=0,),
629 Wind_Velocity_along_Y=SIMP(statut='f',typ='R',sug=0,),
630 Threashold_Depth_for_Wind=SIMP(statut='f',typ='R',sug=0,),
631 Air_Pressure=SIMP(statut='f',typ=bool,sug=False),
633 Rain_or_Evaporation=SIMP(statut='f',typ=bool,sug=False),
634 b_Rain =BLOC(condition = "Rain_or_Evaporation=='True'",
635 Rain_or_Evaporation_in_mm_perday=SIMP(statut='f',typ='I',sug=0),
639 Tide_Generating_Force=SIMP(statut='o',typ=bool,defaut=False),
640 b_Tide = BLOC(condition = "Tide_Generating_Force==True",
641 Tidal_Data_Base=SIMP(statut='o',typ='I',into=[-1,1,2,3,4]),
642 Coefficient_To_Calibrate_Tidal_Range=SIMP(statut='o',typ='R',sug=1.),
643 Coefficient_To_Calibrate_Tidal_Velocity=SIMP(statut='o',typ='R',sug=999999),
644 Coefficient_To_Calibrate_Sea_Level=SIMP(statut='o',typ='R',sug=0.),
645 Binary_Database_1_for_Tide = SIMP( statut='o', typ = ('Fichier', '(All Files (*),)',),),
646 Binary_Database_2_for_Tide = SIMP( statut='o', typ = ('Fichier', '(All Files (*),)',),),
649 Wave_Driver_Currents=SIMP(statut='f',typ=bool,sug=False),
650 b_Wave =BLOC(condition = "Wave_Driver_Currents=='True'",
651 Record_Number_in_Wave_File=SIMP(statut='f',typ='I',sug=1),
654 Friction_Data=SIMP(statut='o',typ=bool,defaut=False),
655 b_Friction = BLOC(condition = "Friction_Data==True",
656 Friction_Data_File = SIMP( statut='o',
657 typ = ('Fichier', ';;All Files (*)'),
658 fr = 'fichier de donnees pour le frottement',
659 ang= 'friction data file',
661 Depth_In_Friction_Terms = SIMP( statut='o',typ='TXM',
662 defaut= '1="nodal"' ,
663 into =('1="nodal"', '2="average"'),
664 fr = '1 : nodale 2 : moyenne',
665 ang= '1: nodal 2: average',
667 Law_Of_Bottom_Friction = SIMP( statut='o',typ='TXM',
668 defaut='0="NO FRICTION"' ,
669 into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"','Log Law of Boundaries 6','Colebrooke_White Log 7'),
670 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.',
671 ang= 'Selects the type of formulation used for the bottom friction.',
673 b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!=0",
674 Friction_Coefficient = SIMP( statut='o',typ='R',
676 fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. \
677 Attention, la signification de ce chiffre varie suivant la formule choisie : \
678 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler \
679 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse',
680 ang= 'Sets the value of the friction coefficient for the selected formulation. \
681 It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : \
682 1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',
685 b_Colebrooke_White = BLOC(condition =' "Law_Of_Bottom_Friction" in ("Colebrooke_White Log 7",)',
686 Manning_Default_Value_For_Colebrook_white_Law = SIMP( statut='o',typ='R',
688 fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White ',
689 ang= 'Manning default value for the friction law of Colebrook-White ',
693 Non_submerged_Vegetation_Friction = SIMP( statut='o',typ=bool,
695 fr = 'calcul du frottement du a la vegetation non submergee',
696 ang= 'friction calculation of the non-submerged vegetation',
698 b_Non_Sub = BLOC(condition =' Non_submerged_Vegetation_Friction == True',
699 Diameter_Of_Roughness_Elements = SIMP( statut='o',typ='R',
701 fr = 'diametre des elements de frottements',
702 ang= 'diameter of roughness element',
705 Spacing_Of_Roughness_Elements = SIMP( statut='o',typ='R',
707 fr = 'espacement des elements de frottement',
708 ang= 'spacing of rouhness element',
711 Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut='o',typ='TXM',
713 into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"', '6="LOG LAW"', '7="COLEBROOK-WHITE"'),
714 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.',
715 ang= 'Selects the type of formulation used for the friction on lateral boundaries.',
717 Roughness_Coefficient_Of_Boundaries = SIMP( statut='o',typ='R',
719 fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\
720 sur les bords du domaine. meme convention que pour le coefficient de frottement',
721 ang= 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',
723 Maximum_Number_Of_Friction_Domains = SIMP( statut='o',typ='I',
725 fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire',
726 ang= 'maximal number of zones defined for the friction. Could be increased if needed',
732 POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None,
733 Graphic_Printouts=FACT(statut='f',
734 Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
735 Number_Of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
736 Variables_For_Graphic_Printouts=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c'],),
739 Listing_Printouts=FACT(statut='f',
741 Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
742 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
743 - SERAFIN : format standard simple precision pour Telemac; \n\
744 - SERAFIND: format standard double precision pour Telemac; \n\
745 - MED : format MED base sur HDF5' ,
746 ang = 'Results file format. Possible values are:\n \
747 - SERAFIN : classical single precision format in Telemac;\n\
748 - SERAFIND: classical double precision format in Telemac; \n\
749 - MED : MED format based on HDF5' ,
752 Results_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
753 fr='Nom du fichier dans lequel seront ecrits les resultats du calcul avec la periodicite donnee par le mot cle : PERIODE POUR LES SORTIES GRAPHIQUES.',
754 ang='Name of the file into which the computation results shall be written, the periodicity being given by the key-word: GRAPHIC PRINTOUT PERIOD.',
756 Listing_Printout_Period = SIMP(statut='o', typ='I',defaut=1,
757 fr = 'Determine la periode en nombre de pas de temps d''impression des variables',
758 ang = 'Determines, in number of time steps, the printout period for the variables',
761 Number_Of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
762 Variables_To_Be_Printed=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c']),
765 Formatted_Results_File = SIMP( statut='o',typ= ('Fichier','All Files (*)',),
766 fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \
767 Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.',
768 ang= 'Formatted file of results made available to the user. \
769 The results to be entered into this file shall be written on channel 29.',
773 Debugger = SIMP(typ=bool, statut='o', defaut=False),
774 Output_Of_Initial_Conditions = SIMP(typ=bool, statut='o', defaut=True,
775 fr = 'Si Vrai, impression des conditions initiales dans les resultats',
776 ang = 'If True, output of initial conditions in the results'
779 Binary_Results_File = SIMP( statut='f', typ = ('Fichier', ';;All Files (*)',),
780 fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\
781 Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.",
782 ang = "Additional binary-coded result file made available to the user. \n\
783 The results to be entered into this file shall be written on channel 28.",
786 Information_About_Solver = SIMP(typ=bool, statut='f',defaut=False,
787 fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.",
788 ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",
793 PRECONDITIONING = SIMP( statut='o',typ='I',
795 fr = 'Permet de preconditionner le systeme de letape de propagation afin daccelerer la convergence lors de sa resolution. - 0 : pas de preconditionnement; - 2 : preconditionnement diagonal. - 3 : preconditionnement diagonal-bloc - 7 : preconditionnement de Crout par element ou segment -11 : preconditionnement de Gauss-Seidel par element ou segment Certains preconditionnements sont cumulables (les diagonaux 2 ou 3 avec les autres) Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si lon souhaite en cumuler plusieurs on formera le produit des options correspondantes.',
796 ang= 'Choice of the preconditioning in the propagation step linear system that the convergence is speeded up when it is being solved. 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element or segment 11: Gauss-Seidels preconditioning per element or segment Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others. Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently, the product of relevant options shall be made.',
802 # Attention calculer le logique BREACH
803 STRUCTURES=PROC(nom="STRUCTURES",op=None,
805 # Attention calculer le logique BREACH
806 Breaches= FACT(statut='f',
807 Breaches_Data_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
808 fr = 'Fichier de description des breches',
809 ang= 'Description of breaches',
813 Culverts= FACT(statut='o',
815 Number_Of_Culverts = SIMP( statut='o',typ='I',
817 fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \
818 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)',
819 ang= 'Number of culverts treated as source terms. They must be described as sources in the domain\
820 and their features are given in the culvert data file (see written documentation)',
823 Culvert_Data_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
824 fr = 'Fichier de description des siphons presents dans le modele',
825 ang= 'Description of culvert existing in the model',
828 Formatted_File1 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
829 fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\
830 Les donnees de ce fichier seront a lire sur le canal 26.",
831 ang = 'Formatted data file made available to the user.\n\
832 The data in this file shall be read on channel 26.',
836 Abscissae_Of_Sources = SIMP( statut='o',
837 typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
838 fr = 'Valeurs des abscisses des sources de debit et de traceur.',
839 ang= 'abscissae of sources of flowrate and/or tracer',
842 Ordinates_Of_Sources = SIMP( statut='o',
843 typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
844 fr = 'Valeurs des ordonnees des sources de debit et de traceur.',
845 ang= 'ordinates of sources of flowrate and/or tracer',
847 Water_Discharge_Of_Sources = SIMP( statut='o',
848 typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
849 fr = 'Valeurs des debits des sources.',
850 ang= 'values of water discharge of sources',
852 Velocities_Of_The_Sources_Along_X = SIMP( statut='o',
853 typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
854 fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant',
855 ang= 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',
857 Velocities_Of_The_Sources_Along_Y = SIMP( statut='o',
858 typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
859 fr = 'Vitesses du courant a chacune des sources',
860 ang= 'Velocities at the sources',
864 Tubes= FACT(statut='f',
865 Number_Of_Tubes = SIMP( statut='o',typ='I',
867 fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\
868 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)',
869 ang= 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain \n\
870 and their features are given in the tubes data file (see written documentation)',
873 Tubes_Data_File = SIMP( statut='o',
874 typ = ('Fichier', 'All Files (*)',),
875 fr = 'Fichier de description des buses/ponts presents dans le modele',
876 ang= 'Description of tubes/bridges existing in the model',
880 Weirs= FACT(statut='f',
881 Weirs_Data_File = SIMP( statut='o',
882 typ = ('Fichier', 'All Files (*)',),
883 fr = 'Fichier de description des seuils presents dans le modele',
884 ang= 'Description of weirs existing in the model',