8 def __convert__(self,valeur):
9 if type(valeur) == types.StringType: return None
10 if len(valeur) != self.ntuple: return None
14 return "Date : jj/mm/aaaa "
21 def __init__(self,ntuple):
24 def __convert__(self,valeur):
25 if type(valeur) == types.StringType:
27 if len(valeur) != self.ntuple:
32 return "Tuple de %s elements" % self.ntuple
36 JdC = JDC_CATA (code = 'TELEMAC',
39 # ======================================================================
40 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
41 # ======================================================================
43 # -----------------------------------------------------------------------
44 INITIALIZATION = PROC(nom = "INITIALIZATION",op = None,
45 # -----------------------------------------------------------------------
47 fr = "Initialisation des fichiers d'entrée et de sortie",
48 ang = "Input and Output files initialization",
49 #UIinfo = { "groupes" : ( "CACHE", )},
50 UIinfo = { "groupes" : ( "iiii", )},
52 # ------------------------------------
53 Title = SIMP( statut = 'o',typ = 'TXM',
54 # ------------------------------------
55 fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.',
56 ang = 'Title of the case being considered. This title shall be marked on the drawings.'),
57 #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
59 # ------------------------------------
60 Input_Files = FACT(statut='o',
61 # ------------------------------------
63 # Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',),
64 # defaut='telemac2d.dico',
65 # fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
66 # PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n
69 # ------------------------------------
70 Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM',
71 # ------------------------------------
72 into = ['Serafin', 'MED', 'SerafinD'],
74 fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \
75 - SERAFIN : format standard simple precision pour Telemac; \n \
76 - SERAFIND: format standard double precision pour Telemac; \n \
77 - MED : format MED base sur HDF5',
78 ang = 'Results file format. Possible values are: \n\
79 - SERAFIN : classical single precision format in Telemac;\n\
80 - SERAFIND: classical double precision format in Telemac;\n\
81 - MED : MED format based on HDF5',) ,
83 # ------------------------------------
84 Geometry_File = SIMP( statut = 'o',
85 # ------------------------------------
86 typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
87 fr = 'Nom du fichier contenant le maillage du calcul a realiser.',
88 ang = 'Name of the file containing the mesh. \n\
89 This file may also contain the topography and the friction coefficients.'),
91 #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
94 # ------------------------------------
95 Fortran_File = SIMP(statut = 'f',
96 # ------------------------------------
97 typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
98 fr = 'Nom du fichier a soumettre',
99 ang = 'Name of FORTRAN file to be submitted',),
101 # ------------------------------------
102 Bottom_Topography_File = SIMP( statut = 'f',
103 # ------------------------------------
104 typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
105 fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \
106 Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.",
107 ang = 'Name of the possible file containing the bathymetric data.\
108 Where this keyword is used, these bathymetric data shall be used in the computation.',
111 # ------------------------------------
112 Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
113 # ------------------------------------
114 fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\
115 Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.',
116 ang = 'Number of smoothings on bottom topography. each smoothing is mass conservative. \n\
117 to be used when interpolation of bathymetry on the mesh gives very rough results.',),
119 # ------------------------------------
120 Boundary_Conditions_File = SIMP( statut = 'o',
121 # ------------------------------------
122 typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),
123 fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\
124 par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',
125 ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\
126 by the mesh generator through through colours that are assigned to the boundary nodes.',),
129 # ------------------------------------
130 Validation = FACT( statut = 'f',
131 # ------------------------------------
132 #PNPN--> creer le Mot_clef simple Validation si ce fact existe
134 # ------------------------------------
135 Reference_File_Format = SIMP( statut = 'o',
136 # ------------------------------------
138 into = ['Serafin','MED','SerafinD'],
140 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
141 - SERAFIN : format standard simple precision pour Telemac; \n\
142 - SERAFIND: format standard double precision pour Telemac; \n\
143 - MED : format MED base sur HDF5' ,
144 ang = 'Results file format. Possible values are:\n \
145 - SERAFIN : classical single precision format in Telemac;\n\
146 - SERAFIND: classical double precision format in Telemac; \n\
147 - MED : MED format based on HDF5' ,),
149 # ------------------------------------
150 Reference_File = SIMP( statut = 'o',
151 # ------------------------------------
152 typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',),
153 fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
154 ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
156 ), # Fin de Validation
158 # ------------------------------------
159 Formatted_And_Binary_Files = FACT( statut = 'f',
160 # ------------------------------------
162 # ------------------------------------
163 Formatted_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
164 # ------------------------------------
165 fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\
166 Les donnees de ce fichier seront a lire sur le canal 26.",
167 ang = 'Formatted data file made available to the user.\n\
168 The data in this file shall be read on channel 26.',),
170 # ------------------------------------
171 Formatted_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
172 # ------------------------------------
173 fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\
174 Les donnees de ce fichier seront a lire sur le canal 27.",
175 ang = "Formatted data file made available to the user.\n\
176 The data in this file shall be read on channel 27.",),
178 # ------------------------------------
179 Binary_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
180 # ------------------------------------
181 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\
182 Les donnees de ce fichier seront a lire sur le canal 24.',
183 ang = 'Binary-coded data file made available to the user.\n\
184 The data in this file shall be read on channel 24.',),
186 # ------------------------------------
187 Binary_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
188 # ------------------------------------
189 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\
190 Les donnees de ce fichier seront a lire sur le canal 25.',
191 ang = 'Binary-coded data file made available to the user. \n\
192 The data in this file shall be read on channel 25.',),
194 ), # fin Formatted_And_Binary_Files
196 ), # Fin de InputFile
199 # ------------------------------------
200 Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False,position = "global_jdc"),
201 # ------------------------------------
203 # ------------------------------------
204 b_comput_con = BLOC(condition = 'Computation_Continued == True',
205 Computation_Continued_Settings = FACT(statut = 'o',
207 # ------------------------------------
208 Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM',
209 # ------------------------------------
210 into = ['Serafin','MED','SerafinD'],
212 fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\
213 - SERAFIN : format standard simple precision pour Telemac; \n\
214 - SERAFIND: format standard double precision pour Telemac; \n\
215 - MED : format MED base sur HDF5',
216 ang = 'Previous computation results file format. Possible values are: \n\
217 - SERAFIN : classical single precision format in Telemac; \n\
218 - SERAFIND: classical double precision format in Telemac; \n\
219 - MED : MED format based on HDF5',),
221 # ------------------------------------
222 Previous_Computation_File = SIMP( statut = 'o',
223 # ------------------------------------
224 typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
225 fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\
226 et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.",
227 ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\
228 The last recorded time step will provid the initial conditions for the new computation.',
230 # ------------------------------------
231 Initial_Time_Set_To_Zero = SIMP(typ = bool, statut = 'o',
232 # ------------------------------------
233 fr = 'Remet le temps a zero en cas de suite de calcul',
234 ang = 'Initial time set to zero in case of restart',
237 # ------------------------------------
238 Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0,
239 # ------------------------------------
240 fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement",
241 ang = "record number to start from in the previous computation file, 0 for last record" ),
244 ),# fin BLOC b_comput_con
246 # ------------------------------------
247 Coupling = FACT( statut = 'o',
248 # ------------------------------------
249 # PNPNPN Attention 1 seul choix possible
250 fr = 'Liste des codes avec lesquels on couple Telemac-2D',
251 ang = 'List of codes to be coupled with Telemac-2D',
253 # ------------------------------------
254 Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False ,
255 # ------------------------------------
256 fr = 'couplage interne avec Sisyphe',
257 ang = 'internal coupling with Sisyphe'),
259 # ------------------------------------
260 Tomawac = SIMP(statut = 'o',typ = bool,defaut = False,
261 # ------------------------------------
262 fr = 'couplage interne avec Tomawac',
263 ang = 'internal coupling with Tomawac'),
265 # ------------------------------------
266 Delwacq = SIMP(statut = 'o',typ = bool,defaut = False,
267 # ------------------------------------
268 fr = 'couplage interne avec Delwacq',
269 ang = 'internal coupling with Delwacq'),
270 # PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic
275 # ------------------------------------
276 Parallel_Computation = SIMP(statut = 'o',typ = 'TXM',
277 # ------------------------------------
278 # Ce mot clef n existe pas dans le dico
279 into = ['Sequentiel','Parallel'],
280 defaut = 'Sequentiel',),
282 # ------------------------------------
283 b_para = BLOC(condition = 'Parallel_Computation == "Parallel"',
284 # ------------------------------------
285 # ------------------------------------
286 Parallel_Processors = SIMP(statut = 'o',typ = 'I',
287 # ------------------------------------
288 val_min = 0,defaut = 1,
289 fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\
290 0 : 1 machine, compilation sans bibliotheque de parallelisme \n\
291 1 : 1 machine, compilation avec bibliotheque de parallelisme \n\
292 2 : 2 processeurs ou machines en parallele etc... ',
293 ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\
294 0 : 1 machine, compiling without parallel library \n\
295 1 : 1 machine, compiling with a parallel library \n\
296 2 : 2 processors or machines in parallel'),
301 # -----------------------------------------------------------------------
302 TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None,
303 # -----------------------------------------------------------------------
304 # ------------------------------------
305 Inputs_Outputs_For_Tide = FACT( statut = 'o',
306 # ------------------------------------
308 # ------------------------------------
309 Harmonic_Constants_File = SIMP( statut = 'o',
310 # ------------------------------------
311 typ = ('Fichier', 'All Files (*)',),
312 fr = 'Constantes harmoniques extraites du fichier du modele de maree',
313 ang = 'Harmonic constants extracted from the tidalmodel file',),
315 # ------------------------------------
316 Tidal_Model_File = SIMP( statut = 'o',
317 # ------------------------------------
318 typ = ('Fichier', 'All Files (*)',),
319 fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques',
320 ang = 'Geometry file of the model from which harmonic constituents are extracted',),
322 ), # Fin Inputs_Outputs_For_Tide
324 # ------------------------------------
325 Location = FACT( statut = 'o',
326 # ------------------------------------
327 # ------------------------------------
328 Geographic_System = SIMP(statut = 'o',typ = 'TXM',
329 # ------------------------------------
330 into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\
331 "WGS84 southern UTM","Lambert", "Mercator",],
332 defaut = "Defined by user",
333 fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
334 ang = 'Geographic coordinates system in which the numerical model is built.',),
336 # ------------------------------------
337 b_geo_plan = BLOC(condition = "Geographic_System in ['WGS84 nothern UTM','WGS84 southern UTM','Lambert']",
338 # ------------------------------------
340 # ------------------------------------
341 Zone_Number_In_Geographic_System = SIMP(statut = 'f',typ = 'TXM',
342 # ------------------------------------
343 into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 south', \
344 'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'],
345 fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \
346 Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",
347 ang = 'Number of zone when using a plane projection. \n\
348 Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
352 # ------------------------------------
353 Physical_Parameters = FACT(statut = 'o',
354 # ------------------------------------
356 # ------------------------------------
357 Tide_Generating_Force = SIMP(statut = 'o',
358 # ------------------------------------
359 typ = bool, defaut = False),
361 # ------------------------------------
362 b_Tide = BLOC(condition = "Tide_Generating_Force == True",
363 # ------------------------------------
364 # ------------------------------------
365 Longitude_Of_Origin_Point = SIMP(typ = 'R',
366 # ------------------------------------
367 statut = 'o', defaut = 48.,
368 fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation de la force generatrice de la maree.',
369 ang = 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.',),
371 # ------------------------------------
372 Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM',
373 # ------------------------------------
374 # Soizic . Il faudrait une consigne ? avec des blocs ?
375 # en suspens pour JMJ
376 into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",],
377 fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\
378 et FICHIER DU MODELE DE MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\
379 de constantes harmoniques sur internet',
380 ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\
381 For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',),
383 # ------------------------------------
384 b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'",
385 # ------------------------------------
387 # ------------------------------------
388 Minor_Constituents_Inference = SIMP( statut = 'o',typ = 'bool',
389 # ------------------------------------
391 fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\
392 fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE',
393 ang = 'Inference of minor constituents from the one read in input files linked to \n\
394 keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',),
398 # ------------------------------------
399 Binary_Database_1_For_Tide = SIMP( statut = 'o',
400 # ------------------------------------
401 typ = ('Fichier', '(All Files (*),)',),
402 fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\
403 Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2',
404 ang = 'Binary database 1 extracted from the tidal model file.\n\
405 In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',),
407 # ------------------------------------
408 Binary_Database_2_For_Tide = SIMP( statut = 'o',
409 # ------------------------------------
410 typ = ('Fichier', '(All Files (*),)',),
411 fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\
412 Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2',
413 ang = 'Binary database 2 extracted from the tidal model file.\n\
414 In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ),
416 ),#fin du bloc b_tpxo
417 ), # Fin du Bloc b_Tide
419 # ------------------------------------
420 Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o',
421 # ------------------------------------
422 typ = 'TXM', defaut = 'No tide',
423 into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \
424 'Mean spring tide', 'Mean tide', 'Mean neap tide', \
425 'Astronomical neap tide', 'Real tide (methodology before 2010)'],),
427 # ------------------------------------
428 b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"',
429 # ------------------------------------
430 # ------------------------------------
431 Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o',
432 # ------------------------------------
433 typ = 'R', defaut = 1.,
434 fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes',
435 ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'),
437 # ------------------------------------
438 Coefficient_To_Calibrate_Tidal_Velocities = SIMP(statut = 'o',
439 # ------------------------------------
440 typ = 'R', defaut = 999999,
441 fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\
442 La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise',
443 ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\
444 Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'),
446 # ------------------------------------
447 Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R',
448 # ------------------------------------
450 fr = 'Coefficient pour ajuster le niveau de mer',
451 ang = 'Coefficient to calibrate the sea level'),
454 ), #fin Physical_Parameters
455 ) # Fin TIDE_PARAMETERS
457 # -----------------------------------------------------------------------
458 INITIAL_STATE = PROC(nom = "INITIAL_STATE",op = None,
459 # -----------------------------------------------------------------------
461 # ------------------------------------
462 Initial_Conditions = SIMP(statut = 'o',typ = 'TXM',
463 # ------------------------------------
464 into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'],
465 defaut = 'Zero elevation',
466 fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\
467 - 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\
468 - 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\
469 - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\
470 - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\
471 - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\
472 - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\
473 la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\
474 BASE DE DONNEES DE MAREE." ,
475 ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\
476 - 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\
477 - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\
478 - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\
479 - ZERO DEPTH. Initializes the water depths to 0. \n\
480 - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\
481 - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\
482 - 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.', ),
484 # ------------------------------------
485 b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'",
486 # ------------------------------------
487 # ------------------------------------
488 Initial_Elevation = SIMP(statut = 'o',typ = 'R',
489 # ------------------------------------
490 fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE',
491 ang = 'Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION' ),
492 ) , # fin b_initial_elevation
494 # ------------------------------------
495 b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'",
496 # ------------------------------------
497 # ------------------------------------
498 Initial_Depth = SIMP(statut = 'o',typ = 'R',
499 # ------------------------------------
500 fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',
501 ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ),
502 ),# fin b_initial_depth
504 # ------------------------------------
505 b_special = BLOC (condition = "Initial_Conditions == 'Special'",
506 # ------------------------------------
507 # ------------------------------------
508 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
509 # ------------------------------------
510 defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"),
513 #PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela
514 # ------------------------------------
515 b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'",
516 # ------------------------------------
517 # ------------------------------------
518 Ascii_Database_For_Tide = SIMP( statut = 'o',
519 # ------------------------------------
520 typ = ('Fichier', 'All Files (*)',),
521 fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
522 ang = 'Tide data base of harmonic constituents extracted from the tidal model file',),
523 ), # fin b_initial_TPXO
525 ) # fin INITIAL_STATE
527 # -----------------------------------------------------------------------
528 BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None,
529 # -----------------------------------------------------------------------
530 fr = 'On donne un ensemble de conditions par frontiere liquide',
531 ang = 'One condition set per liquid boundary is given',
532 #UIinfo = { "groupes" : ( "CACHE", )},
533 UIinfo = { "groupes" : ( "iiii", )},
534 # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
535 # en sortie il faut aller chercher le .cli qui va bien
536 #Liquid_Boundaries = FACT(statut = 'f',max = '**',
537 # Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics'])
538 # Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'),
539 # Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'),
540 # Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'),
543 # Il va falloir une "traduction dans le langage du dico"
544 # Il faut seulement l un des 3
546 # ------------------------------------
547 Liquid_Boundaries = FACT(statut = 'f',max = '**',
548 # ------------------------------------
550 # ------------------------------------
551 Options = SIMP(statut = 'f',typ = 'I',
552 # ------------------------------------
553 into = ['Classical boundary conditions','Thompson method based on characteristics'],
554 fr = 'On donne 1 entier par frontiere liquide',
555 ang = 'One integer per liquid boundary is given',),
557 # ------------------------------------
558 Type_Condition = SIMP(statut = 'o',typ = 'TXM',
559 # On ajoute le type pour rendre l 'ihm plus lisible
560 # mais ce mot-cle n existe pas dans le dico
561 # ------------------------------------
562 into = ['Prescribed flowrates', 'Prescribed elevations', 'Prescribed velocity'],),
564 # ------------------------------------
565 b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'",
566 # ------------------------------------
567 # ------------------------------------
568 Prescribed_Flowrates = SIMP(statut = 'o',
569 # ------------------------------------
571 fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\
572 Lire la partie du mode d''emploi consacree aux conditions aux limites',
573 ang = 'Values of prescribed flowrates at the inflow boundaries.\n\
574 The section about boundary conditions is to be read in the manual'),
577 # ------------------------------------
578 b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'",
579 # ------------------------------------
580 # ------------------------------------
581 Prescribed_Elevations = SIMP(statut = 'o',typ = 'R',
582 # ------------------------------------
583 fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\
584 Lire la partie du mode d''emploi consacree aux conditions aux limites',
585 ang = 'Values of prescribed elevations at the inflow boundaries.\n\
586 The section about boundary conditions is to be read in the manual'),
587 ), # fin b_Elevations
589 # ------------------------------------
590 b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'",
591 # ------------------------------------
592 # ------------------------------------
593 Prescribed_Velocities = SIMP(statut = 'o',typ = 'R',
594 # ------------------------------------
595 fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\
596 Lire la partie du mode d''emploi consacree aux conditions aux limites',
597 ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\
598 Refer to the section dealing with the boundary conditions'),
601 ), # fin des Liquid_Boundaries
603 # ------------------------------------
604 Liquid_Boundaries_File = SIMP( statut = 'f',
605 # ------------------------------------
606 typ = ('Fichier', 'All Files (*)',),
607 fr = 'Fichier de variations en temps des conditions aux limites.\n\
608 Les donnees de ce fichier seront a lire sur le canal 12.',
609 ang = 'Variations in time of boundary conditions. Data of this file are read on channel 12.',
613 #PNPN Attention dans le Dico STAGE-DISCHARGE CURVES
614 #PNPN regarder le document de reference pour changer non programme
615 # ------------------------------------
616 Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM',
617 # ------------------------------------
618 into = ["No one","Z(Q)","Q(Z)"],
619 fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere',
620 ang = 'Says if a discharge-elevation curve must be used for a given boundary',),
622 # ------------------------------------
623 b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'",
624 # ------------------------------------
625 # ------------------------------------
626 Stage_Discharge_Curves_File = SIMP( statut = 'f',
627 # ------------------------------------
628 typ = ('Fichier', 'All Files (*)',),
629 fr = 'Nom du fichier contenant les courbes de tarage',
630 ang = 'Name of the file containing stage-discharge curves',),
631 ), # fin b_discharge_curve
633 # ------------------------------------
634 Elements_Masked_By_User = SIMP(statut = 'o',typ = bool,
635 # ------------------------------------
637 fr = 'Si oui remplir le sous-programme maskob',
638 ang = 'if yes rewrite subroutine maskob',),
640 # ------------------------------------
641 maskob = BLOC (condition = 'Elements_Masked_By_User == True',
642 # ------------------------------------
643 # ------------------------------------
644 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
645 # ------------------------------------
646 defaut = "Remplir le sous-programme maskob"),
649 ) # fin Boundary_Conditions
651 # -----------------------------------------------------------------------
652 NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None,
653 # -----------------------------------------------------------------------
655 #UIinfo = { "groupes" : ( "CACHE", )},
656 UIinfo = { "groupes" : ( "iiii", )},
658 # ------------------------------------
659 Equations = SIMP(statut = 'o',typ = 'TXM',
660 # ------------------------------------
661 into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'],
662 defaut = 'Saint-Venant EF',
663 fr = 'Choix des equations a resoudre',
664 ang = 'Choice of equations to solve',),
666 # ------------------------------------
667 Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM',
668 # ------------------------------------
669 into = ["Coupled", "Wave equation"],
670 defaut = "Coupled",),
672 # ------------------------------------
673 Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM',
674 # ------------------------------------
675 into = [ "Roe scheme", "Kinetic order 1", "Kinetic order 2", "Zokagoa scheme order 1",\
676 "Tchamen scheme order 1", "HLLC scheme order 1", "WAF scheme order 2"],
677 defaut = "Kinetic order 1",),
679 # ------------------------------------
680 Solver_Definition = FACT(statut = 'o',
681 # ------------------------------------
683 # ------------------------------------
684 Solver = SIMP(statut = 'o',typ = 'TXM',
685 # ------------------------------------
686 into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\
687 "Minimum error", "CGSTAB", "GMRES", "Direct",],
688 fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\
689 Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\
690 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\
691 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\
692 7 : gmres (voir aussi option du solveur) 8 : direct',
693 ang = 'Makes it possible to select the solver used for solving the propagation step.\n\
694 All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\
695 1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\
696 4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\
697 7: gmres (see option for solver) 8: direct',),
699 # ------------------------------------
700 b_gmres = BLOC (condition = "Solver == 'GMRES'",
701 # ------------------------------------
702 # ------------------------------------
703 Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15,
704 # ------------------------------------
705 fr = 'la dimension de l''espace de KRILOV',
706 ang = 'dimension of the KRYLOV space',),
709 # ------------------------------------
710 Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4,
711 # ------------------------------------
712 fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).',
713 ang = 'Required accuracy for solving the propagation step (refer to Principle note).',),
715 # ------------------------------------
716 Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 100,
717 # ------------------------------------
718 fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\
719 il est necessaire de limiter le nombre d''iterations autorisees.\n\
720 Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.',
721 ang = 'Since the algorithms used for solving the propagation step are iterative, \
722 the allowed number of iterations should be limited.\n\
723 Note: a maximum number of 40 iterations per time step seems to be reasonable.',),
727 # ------------------------------------
728 Time = FACT(statut = 'o',
729 # ------------------------------------
730 regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'),
731 EXCLUS('Number_Of_Time_Steps','Duration'),
734 # ------------------------------------
735 Time_Step = SIMP(statut = 'o',
736 # ------------------------------------
737 typ = 'R', defaut = 1,
738 fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
739 ang = 'Specifies the number of time steps performed when running the code.'),
741 # ------------------------------------
742 Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I',
743 # ------------------------------------
744 fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
745 ang = 'Specifies the number of time steps performed when running the code.'),
747 # ------------------------------------
748 Duration = SIMP(statut = 'f',typ = 'R',
749 # ------------------------------------
750 fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\
751 On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\
752 Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur',
753 ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\
754 The nearest integer to (duration/time step) is taken. If NUMBER OF TIME STEPS is also given, the greater value is taken',),
757 # Attention, on laisse la règle mais il est possible d avoir les 2 en entrées --> attention au convert
758 # ------------------------------------
759 Variable_Time_Step = SIMP(statut = 'f',typ = bool,
760 # ------------------------------------
761 fr = 'Pas de temps variable pour avoir un nombre de courant souhaite',
762 ang = 'Variable time-step to get a given Courant number'),
764 # ------------------------------------
765 b_var_time = BLOC(condition = "Variable_Time_Step == True" ,
766 # ------------------------------------
767 # ------------------------------------
768 Desired_Courant_Number = SIMP(statut = 'o',typ = 'R',
769 # ------------------------------------
770 fr = 'Nombre de Courant souhaite ',
771 ang = 'Desired Courant number',),
774 # ------------------------------------
775 Original_Date_Of_Time = FACT( statut = 'o',
776 # ------------------------------------
777 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.",
778 ang = 'Give the date of the time origin of the model when taking into account the tide generating force.',
779 Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900),
780 Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12, defaut = 1),
781 Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),),
783 # ------------------------------------
784 Original_Hour_Of_Time = FACT( statut = 'o',
785 # ------------------------------------
786 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.",
787 ang = 'Give the time of the time origin of the model when taking into account the tide generating force.',
788 Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0),
789 Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
790 Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
793 # ------------------------------------
794 Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o',
795 # ------------------------------------
796 typ = bool,defaut = 'False'),
798 # ------------------------------------
799 b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" ,
800 # ------------------------------------
801 # ------------------------------------
802 Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')),
803 # ------------------------------------
804 fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\
805 1- U et V 2- H 3- T ",
806 ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\
807 1- U and V 2- H 3- T ',),
810 # ------------------------------------
811 Control_Of_Limits = SIMP(statut = 'o',
812 # ------------------------------------
813 typ = bool, defaut = 'False',
814 fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees',
815 ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',),
817 # ------------------------------------
818 b_limit = BLOC(condition = "Control_Of_Limit == True" ,
819 Limit_Values = FACT(statut = 'o',
820 # Attention : 1 seul MC ds Telemac
821 # ------------------------------------
822 fr = 'valeurs mini et maxi acceptables min puis max',
823 ang = 'min and max acceptable values ',
825 # ------------------------------------
826 Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2),
827 # ------------------------------------
828 validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)),
829 # ------------------------------------
830 Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2),
831 # ------------------------------------
832 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
833 # ------------------------------------
834 Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2),
835 # ------------------------------------
836 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
837 # ------------------------------------
838 Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2),
839 # ------------------------------------
840 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
841 ),), # fin Fact et b_limit
844 # ------------------------------------
845 Linearity = FACT(statut = 'f',
846 # ------------------------------------
847 # ------------------------------------
848 Continuity_Correction = SIMP(typ = bool, statut = 'o',
849 # ------------------------------------
851 fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue',
852 ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',),
856 # ------------------------------------
857 Precondionning_setting = FACT(statut = 'f',
858 # ------------------------------------
860 # ------------------------------------
861 Preconditioning = SIMP(statut = 'o',typ = 'TXM',
862 # ------------------------------------
863 # PNPN Soizic ? Est ce que c'est une liste
864 # Comment fait-on le into est faux : voir l aide
865 # PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie
866 # ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ?
868 into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", \
869 "Gauss-Seidel", "Diagonal and Crout", "Diagonal condensed and Crout"],
871 fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\
872 lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\
873 Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\
874 plusieurs on formera le produit des options correspondantes.',
875 ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\
876 when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\
877 Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\
878 the product of relevant options shall be made.',
880 # ------------------------------------
881 C_U_Preconditioning = SIMP(typ = bool, statut = 'o', defaut=False,
882 # ------------------------------------
883 fr = 'Changement de variable de H en C dans le systeme lineaire final',
884 ang = 'Change of variable from H to C in the final linear system'
887 ),# fin Preconditionnement
889 # ------------------------------------
890 Matrix_Informations = FACT(statut = 'f',
891 # ------------------------------------
892 # ------------------------------------
893 Matrix_Vector_Product = SIMP(statut = 'f',typ = 'TXM',
894 # ------------------------------------
895 into = ["Classic", "Frontal"],
896 fr = 'attention, si frontal, il faut une numerotation speciale des points',
897 ang = 'beware, with option 2, a special numbering of points is required',
899 # ------------------------------------
900 Matrix_Storage = SIMP(statut = 'f',typ = 'TXM',
901 # ------------------------------------
902 into = ["Classical EBE","Edge-based storage",]
904 ),# fin Matrix_Informations
907 # ------------------------------------
908 Advection = FACT(statut = 'o',
909 # ------------------------------------
911 # ------------------------------------
912 Advection_Propagation = FACT(statut = 'o',
913 # ------------------------------------
916 # Tres differents du dico liste de 4
917 # PNPN eclaircir les choix SVP
918 # soizic. choix 3 et 4 et 13 et 14
919 # Attention recalcul de Type_Of_Advection
920 # ------------------------------------
921 Advection_Of_U_And_V = SIMP(statut = 'o',typ = bool, defaut = False,
922 # ------------------------------------
923 fr = 'Prise en compte ou non de la convection de U et V.',
924 ang = 'The advection of U and V is taken into account or ignored.'),
926 # ------------------------------------
927 b_u_v = BLOC( condition = "Advection_Of_U_And_V == True",
928 # ------------------------------------
929 # ------------------------------------
930 Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global",
931 # ------------------------------------
932 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
933 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
934 'Edge-based N-scheme'],
935 defaut = "Characteristics", ),
937 # ------------------------------------
938 b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'",
939 # ------------------------------------
940 # ------------------------------------
941 Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.)
942 # ------------------------------------
946 # ------------------------------------
947 Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = False,
948 # ------------------------------------
949 fr = 'Prise en compte ou non de la convection de H.',
950 ang = 'The advection of H is taken into account or ignored.'),
952 # ------------------------------------
953 b_h = BLOC( condition = "Advection_Of_H == True",
954 # ------------------------------------
955 # ------------------------------------
956 Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global",
957 # ------------------------------------
958 into = ["characteristics", "SUPG", "conservative N-scheme", 'conservative N-scheme',\
959 'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\
960 'edge-based N-scheme'],
961 defaut = "conservative PSI-scheme",),
962 # ------------------------------------
963 b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'",
964 # ------------------------------------
965 # ------------------------------------
966 Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.)
967 # ------------------------------------
971 # ------------------------------------
972 Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = False,
973 # ------------------------------------
974 fr = 'Prise en compte ou non de la convection de Tracer.',
975 ang = 'The advection of Tracer is taken into account or ignored.'),
977 # ------------------------------------
978 b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True",
979 # ------------------------------------
980 # ------------------------------------
981 Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global",
982 # ------------------------------------
983 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
984 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
985 'Edge-based N-scheme'],
986 defaut = "Characteristics",),
987 # ------------------------------------
988 b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'",
989 # ------------------------------------
990 # ------------------------------------
991 Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.)
992 # ------------------------------------
996 # ------------------------------------
997 Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = False,
998 # ------------------------------------
999 fr = 'Prise en compte ou non de la convection de Tracer.',
1000 ang = 'The advection of Tracer is taken into account or ignored.'),
1002 # ------------------------------------
1003 b_tracers = BLOC( condition = "Advection_Of_Tracers == True",
1004 # ------------------------------------
1005 # ------------------------------------
1006 Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global",
1007 # ------------------------------------
1008 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
1009 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
1010 'Edge-based N-scheme'],),
1011 # ------------------------------------
1012 b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'",
1013 # ------------------------------------
1014 # ------------------------------------
1015 Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.)
1016 # ------------------------------------
1017 ), # fin b_upwind_Tracers
1020 # ------------------------------------
1021 b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')",
1022 # ------------------------------------
1023 # ------------------------------------
1024 Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 ,
1025 # ------------------------------------
1026 fr = 'Seulement pour schemes Edge-based N-scheme',
1027 ang = 'Only for Edge-based N-scheme',),
1030 # ------------------------------------
1031 b_traitement = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or ( Advection_Of_H == True and Type_Of_Advection_H in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme'])",
1032 # ------------------------------------
1034 # ------------------------------------
1035 Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'o',typ = 'TXM',
1036 # ------------------------------------
1037 into = ["Priority to prescribed values","Priority to fluxes"],
1038 fr = 'Utilise pour les schemas SUPG, PSI et N, \n\
1039 si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct',
1040 ang = 'Used so far only with the SUPG, PSI and N schemes.\n\
1041 if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',),
1043 ), # fin b_traitement
1044 ), # Fin Advection_Propagation
1046 # ------------------------------------
1047 Scheme_For_Advection_Of_K_Epsilon = SIMP(statut = 'o',typ = 'TXM',
1048 # ------------------------------------
1049 into = ["No advection", "Characteristics", "Explicit + SUPG", "Explicit leo postma", "Explicit + murd scheme N", "Explicit + murd scheme PSI", "Leo postma for tidal flats", "N-scheme for tidal flats"],
1050 fr = 'Choix du schema de convection pour k et epsilon, remplace FORME DE LA CONVECTION',
1051 ang = 'Choice of the advection scheme for k and epsilon, replaces TYPE OF ADVECTION',),
1055 # recalculer la liste de 4
1056 # Attention bloc selon le type de convection
1057 # ------------------------------------
1058 SUPG = FACT(statut = 'o',
1059 # ------------------------------------
1060 # ------------------------------------
1061 Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1062 # ------------------------------------
1063 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1064 # ------------------------------------
1065 Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1066 # ------------------------------------
1067 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1068 # ------------------------------------
1069 Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1070 # ------------------------------------
1071 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1072 # ------------------------------------
1073 Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1074 # ------------------------------------
1075 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1078 # ------------------------------------
1079 Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0,
1080 # ------------------------------------
1081 fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\
1082 Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\
1083 et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\
1084 importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\
1085 Ce parametre fixe le taux de mass-lumping effectue sur h.',
1086 ang = 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. \n\
1087 This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\
1088 Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\
1089 more stable. The resulting solutions, however, become artificially smoothed. \n\
1090 This parameter sets the extent of mass-lumping that is performed on h.'),
1092 # ------------------------------------
1093 Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 0,
1094 # ------------------------------------
1095 fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.',
1096 ang = 'Sets the amount of mass-lumping that is performed on the velocity.'),
1098 # ------------------------------------
1099 Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1.,
1100 # ------------------------------------
1101 fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites',
1102 ang = 'Values less than 1 suppress spurious oscillations'),
1105 # ------------------------------------
1106 Number_Of_Sub_Iterations_For_Non_Linearities = SIMP(statut = 'o',typ = 'I',
1107 # ------------------------------------
1109 fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur \n\
1110 au cours de plusieurs sous-iterations.\n\
1111 A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\
1112 Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\
1113 Cette technique permet d''ameliorer la prise en compte des non linearites.',
1114 ang = 'Used for updating, within one time step, the advection and propagation field.\n\
1115 upon the first sub-iteration, \n\
1116 these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\
1117 the results of the previous sub-iteration is used to update the advection and propagation field.\n\
1118 The non-linearities can be taken into account through this technique.',),
1120 # ------------------------------------
1121 Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'o',typ = 'R',defaut = 0,
1122 # ------------------------------------
1123 fr = 'Applique a la matrice de masse',
1124 ang = 'To be applied to the mass matrix',),
1128 #PNPNPN Il faut recalculer le MCSIMP Propagation
1129 # ------------------------------------
1130 Propagation = FACT(statut = 'o',
1131 # ------------------------------------
1132 # ------------------------------------
1133 Initial_Guess_For_H = SIMP(statut = 'o',typ = 'TXM',
1134 # ------------------------------------
1135 into = ['Zero', 'Previous', 'Extrapolation'],
1136 defaut = 'Previous',
1137 fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\
1138 accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
1139 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
1140 ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of H, \n\
1141 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
1142 Thus, the convergence can be speeded up when the system is being solved.',),
1145 # ------------------------------------
1146 Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False,
1147 # ------------------------------------
1148 fr = 'Permet de lineariser l''etape de propagation; \n\
1149 par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.',
1150 ang = 'Provided for linearizing the propagation step; \n\
1151 e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ),
1153 # ------------------------------------
1154 b_linear = BLOC(condition = "Linearized_Propagation == True ",
1155 # ------------------------------------
1156 # ------------------------------------
1157 Mean_Depth_For_Linearization = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0,
1158 # ------------------------------------
1159 fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.',
1160 ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'),
1162 # ------------------------------------
1163 Initial_Guess_For_U = SIMP(statut = 'o',typ = 'TXM',
1164 # ------------------------------------
1165 into = ['Zero', 'Previous', 'Extrapolation'],
1166 defaut = 'Previous',
1167 fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\
1168 accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
1169 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
1170 ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, \n\
1171 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
1172 Thus, the convergence can be speeded up when the system is being solved.',),
1176 ), # fin Propagation
1179 # ------------------------------------
1180 Diffusion = FACT(statut = 'o',
1181 # ------------------------------------
1183 # ------------------------------------
1184 Diffusion_Of_Velocity = SIMP( statut='o',typ=bool,
1185 # ------------------------------------
1187 fr = 'Permet de decider si lon prend ou non en compte la diffusion des vitesses.',
1188 ang= 'Makes it possible to decide whether the diffusion of velocity (i.e. viscosity) is taken into account or not.',
1190 # ------------------------------------
1191 b_Diffu = BLOC(condition = 'Diffusion_Of_Velocity == True',
1192 # ------------------------------------
1193 # ------------------------------------
1194 Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0,
1195 # ------------------------------------
1196 fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses',
1197 ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',),
1199 # ------------------------------------
1200 Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='TXM',
1201 # ------------------------------------
1203 into=['Diffusion in the form div( nu grad(U))','Diffusion in the form 1/h div ( h nu grad(U) )'],
1204 fr = '1: Diffusion de la forme div( nu grad(U) ) 2: Diffusion de la forme 1/h div ( h nu grad(U) )',
1205 ang= '1: Diffusion in the form div( nu grad(U) ) 2: Diffusion in the form 1/h div ( h nu grad(U) )',),
1209 # ------------------------------------
1210 Discretization_Implicitation = FACT(statut = 'f',
1211 # ------------------------------------
1213 # ------------------------------------
1214 Discretizations_In_Space = SIMP(statut = 'o',typ = 'TXM',
1215 # ------------------------------------
1216 into = ["Linear", "Quasi-bubble", "Quadratic"],
1217 defaut = "Linear",),
1219 # ------------------------------------
1220 Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
1221 # ------------------------------------
1222 fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf. Note de principe).\n\
1223 Les valeurs inferieures a 0.5 donnent un schema instable.',
1224 ang = 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note).\n\
1225 Values below 0.5 result in an unstable scheme.'),
1227 # ------------------------------------
1228 Implicitation_For_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
1229 # ------------------------------------
1230 fr = 'Fixe la valeur du coefficient d''implicitation sur la vitesse dans l''etape de propagation (cf. Note de principe).\n\
1231 Les valeurs inferieures a 0.5 donnent un schema instable.',
1232 ang = 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note).\n\
1233 Values below 0.5 result in an unstable condition.'),
1235 ), # fin Discretization_Implicitation
1238 # ------------------------------------
1239 Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True,
1240 # ------------------------------------
1241 fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y en aura pas, En cas de doute : oui',
1242 ang = 'When no,the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats'),
1244 # ------------------------------------
1245 b_tidal_flats = BLOC(condition = 'Tidal_Flats == True',
1246 # ------------------------------------
1247 # ------------------------------------
1248 Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM',
1249 # ------------------------------------
1250 into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",],
1251 defaut="Equations solved everywhere with correction on tidal flats",),
1253 # ------------------------------------
1254 b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"',
1255 # ------------------------------------
1256 # ------------------------------------
1257 Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM',
1258 # ------------------------------------
1259 into = [ 'No treatment', 'Smoothing', 'Flux control'],
1260 defaut = 'Smoothing' ,),
1261 ), # fin bloc b_option_tidal_flats
1263 # ------------------------------------
1264 Threshold_For_Negative_Depths = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1265 # ------------------------------------
1266 fr = 'En dessous du seuil, les hauteurs negatives sont lissees',
1267 ang = 'Below the threshold the negative depths are smoothed',),
1269 # ------------------------------------
1270 Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 0 ,
1271 # ------------------------------------
1272 fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees',
1273 ang = 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ',),
1276 # ------------------------------------
1277 H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False,
1278 # ------------------------------------
1279 fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau H (dans le cas des bancs decouvrants par exemple).',
1280 ang = 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats)\n\
1281 This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',),
1283 # ------------------------------------
1284 b_clipping = BLOC(condition = 'H_Clipping == True',
1285 # ------------------------------------
1286 # ------------------------------------
1287 Minimum_Value_Of_Depth = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1288 # ------------------------------------
1289 fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.',
1290 ang = 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.',),
1292 ), # fin bloc b_tidal_flats
1294 # ------------------------------------
1296 # ------------------------------------
1298 # ------------------------------------
1299 Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM',
1300 # ------------------------------------
1301 defaut = "Euler explicite",
1302 into = ["Euler explicite","Order 2 in time"],),
1304 # ------------------------------------
1305 Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM',
1306 # ------------------------------------
1308 into = ['Strong','Weak',],),
1313 )# fin NUMERICAL_PARAMETERS
1315 # -----------------------------------------------------------------------
1316 PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None,
1317 # -----------------------------------------------------------------------
1318 # ------------------------------------
1319 Meteorology = FACT(statut = 'o',
1320 # ------------------------------------
1322 # ------------------------------------
1323 Wind = SIMP(statut = 'o',typ = bool,defaut = False,
1324 # ------------------------------------
1325 fr = 'Prise en compte ou non des effets du vent.',
1326 ang = 'Determines whether the wind effects are to be taken into account or not.'),
1328 # ------------------------------------
1329 b_Wind = BLOC(condition = "Wind == True",
1330 # ------------------------------------
1331 # ------------------------------------
1332 Wind_Velocity_Along_X = SIMP(statut = 'o',typ = 'R', defaut = 0.,
1333 # ------------------------------------
1334 fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).',
1335 ang = 'Wind velocity, component along x axis (m/s).',),
1337 # ------------------------------------
1338 Wind_Velocity_Along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0.,
1339 # ------------------------------------
1340 fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).',
1341 ang = 'Wind velocity, component along y axis (m/s).',),
1343 # ------------------------------------
1344 Threshold_Depth_For_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0.,
1345 # ------------------------------------
1346 fr = 'Retire la force due au vent dans les petites profondeurs',
1347 ang = 'Wind is not taken into account for small depths' ),
1349 # ------------------------------------
1350 Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1351 # ------------------------------------
1352 fr = 'Fixe la valeur du coefficient d entrainement du vent (cf. Note de principe).',
1353 ang = 'Sets the value of the wind driving coefficient. Refer to principle note.',),
1355 # ------------------------------------
1356 Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 ,
1357 # ------------------------------------
1358 into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"],
1359 fr = 'donne les options pour introduire le vent',
1360 ang = 'gives option for managing the wind'),
1362 # ------------------------------------
1363 file_For_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"',
1364 # ------------------------------------
1365 # ------------------------------------
1366 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
1367 # ------------------------------------
1368 defaut = "give formated file 3"),
1369 ), # fin bloc file_For_wind
1371 # ------------------------------------
1372 speed_For_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"',
1373 # ------------------------------------
1374 # ------------------------------------
1375 Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) ,
1376 # ------------------------------------
1377 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1378 fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent',
1379 ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',),
1384 # ------------------------------------
1385 Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False,
1386 # ------------------------------------
1387 fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.',
1388 ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'),
1390 # ------------------------------------
1391 b_air = BLOC(condition = "Air_Pressure == True",
1392 # ------------------------------------
1393 # ------------------------------------
1394 Value_Of_Atmospheric_Pressure = SIMP( statut = 'o',typ = 'R',
1395 # ------------------------------------
1397 fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace',
1398 ang = 'gives the value of atmospheric pressure when it is contant in time and space',),
1401 # ------------------------------------
1402 Rain_Or_Evaporation = SIMP(statut = 'o',typ = bool,
1403 # ------------------------------------
1405 fr = 'Pour ajouter un apport ou une perte d''eau en surface.',
1406 ang = 'to add or remove water at the free surface. ',),
1408 # -----------------------------------
1409 b_Rain = BLOC(condition = "Rain_Or_Evaporation == True",
1410 # ------------------------------------
1411 # ------------------------------------
1412 Rain_Or_Evaporation_In_Mm_Per_Day = SIMP(statut = 'o',typ = 'I',defaut = 0.),
1413 # ------------------------------------
1416 ), # fin Meteorology
1418 # ------------------------------------
1419 Wave = FACT(statut = 'o',
1420 # ------------------------------------
1422 # ------------------------------------
1423 Wave_Driven_Currents = SIMP(statut = 'o',
1424 # ------------------------------------
1425 typ = bool, defaut = False,
1426 fr = 'Active la prise en compte des courants de houle',
1427 ang = 'Wave driven currents are taken into account.'),
1429 # ------------------------------------
1430 b_Wave = BLOC(condition = "Wave_Driven_Currents == True",
1431 # ------------------------------------
1432 # ------------------------------------
1433 Record_Number_In_Wave_File = SIMP(statut = 'o',typ = 'I', defaut = 1,
1434 # ------------------------------------
1435 fr = 'Numero d enregistrement dans le fichier des courants de houle',
1436 ang = 'Record number to read in the wave driven currents file'),
1440 # ------------------------------------
1441 Friction_Data = SIMP(statut = 'o',typ = bool,defaut = False),
1442 # ------------------------------------
1443 # ------------------------------------
1444 b_Friction = BLOC(condition = "Friction_Data == True",
1445 Friction_Setting = FACT(statut = 'o',
1446 # ------------------------------------
1447 # ------------------------------------
1448 Friction_Data_File = SIMP( statut = 'o',
1449 # ------------------------------------
1450 typ = ('Fichier', ';;All Files (*)'),
1451 fr = 'fichier de donnees pour le frottement',
1452 ang = 'friction data file',),
1454 # ------------------------------------
1455 Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM',
1456 # ------------------------------------
1458 into = ("Nodal", "Average"),),
1460 # ------------------------------------
1461 Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM',
1462 # ------------------------------------
1463 defaut = 'No friction' ,
1464 into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'),
1465 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.',
1466 ang = 'Selects the type of formulation used for the bottom friction.',),
1468 # ------------------------------------
1469 b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'",
1470 # ------------------------------------
1471 # ------------------------------------
1472 Friction_Coefficient = SIMP( statut = 'o',typ = 'R',
1473 # ------------------------------------
1475 fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. \
1476 Attention, la signification de ce chiffre varie suivant la formule choisie : \
1477 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler \
1478 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse',
1479 ang = 'Sets the value of the friction coefficient for the selected formulation. \
1480 It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : \
1481 1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',),
1482 ), # Fin b_Law_Friction
1484 # ------------------------------------
1485 b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'",
1486 # ------------------------------------
1487 # ------------------------------------
1488 Manning_Default_Value_For_Colebrook_White_Law = SIMP( statut = 'o',typ = 'R',
1489 # ------------------------------------
1491 fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White ',
1492 ang = 'Manning default value for the friction law of Colebrook-White ',),
1493 ), # Fin b_Colebrooke_White
1495 # ------------------------------------
1496 Non_Submerged_Vegetation_Friction = SIMP( statut = 'o',typ = bool,
1497 # ------------------------------------
1499 fr = 'calcul du frottement du a la vegetation non submergee',
1500 ang = 'friction calculation of the non-submerged vegetation',),
1502 # ------------------------------------
1503 b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True',
1504 # ------------------------------------
1505 # ------------------------------------
1506 Diameter_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
1507 # ------------------------------------
1509 fr = 'diametre des elements de frottements',
1510 ang = 'diameter of roughness element',),
1512 # ------------------------------------
1513 Spacing_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
1514 # ------------------------------------
1516 fr = 'espacement des elements de frottement',
1517 ang = 'spacing of rouhness element',),
1520 # ------------------------------------
1521 Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM',
1522 # ------------------------------------
1523 defaut = "No friction" ,
1524 into = ("No friction", "Haaland", "Chezy", "Strickler", "Manning", "Nikuradse", "Log law", "Colebrook-white"),
1525 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.',
1526 ang = 'Selects the type of formulation used for the friction on lateral boundaries.',),
1529 # ------------------------------------
1530 b_Fric = BLOC(condition = 'Law_Of_Friction_On_Lateral_Boundaries != "No friction"',
1531 # ------------------------------------
1533 # PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries
1534 # ------------------------------------
1535 Roughness_Coefficient_Of_Boundaries = SIMP( statut = 'o',typ = 'R',
1536 # ------------------------------------
1538 fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\
1539 sur les bords du domaine. meme convention que pour le coefficient de frottement',
1540 ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',),
1542 # ------------------------------------
1543 Maximum_Number_Of_Friction_Domains = SIMP( statut = 'o',typ = 'I',
1544 # ------------------------------------
1546 fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire',
1547 ang = 'maximal number of zones defined for the friction. Could be increased if needed',),
1550 # ------------------------------------
1551 Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False,
1552 # ------------------------------------
1553 fr = 'Declenche l''appel a def_zones, pour donner un numero de zone a chaque point',
1554 ang = 'Triggers the call to def_zones to give a zone number to every point',),
1556 # ------------------------------------
1557 b_def_zone = BLOC (condition = 'Definition_Of_Zones == True',
1558 # ------------------------------------
1559 # ------------------------------------
1560 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"),
1561 # ------------------------------------
1564 ), # fin du fact Friction
1565 ), # Fin du bloc Friction
1568 # ------------------------------------
1569 Parameters_Estimation = FACT(statut = 'f',
1570 # ------------------------------------
1571 # ------------------------------------
1572 Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"],
1573 # ------------------------------------
1574 fr = 'Liste des parametres a estimer',
1575 ang = 'List of parameter to be estimated',),
1577 # ------------------------------------
1578 Identification_Method = SIMP( statut = 'o',typ = 'TXM',
1579 # ------------------------------------
1580 into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."],
1581 defaut = 'GRadient simple',),
1583 # ------------------------------------
1584 Maximum_Number_Of_Iterations_For_Identification = SIMP(statut = 'o',typ = 'I',defaut = 20,
1585 # ------------------------------------
1586 fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint',
1587 ang = 'every iteration implies at least a direct and an adjoint computation', ),
1589 # ------------------------------------
1590 Cost_Function = SIMP(statut = "f",typ = 'TXM',
1591 # ------------------------------------
1592 defaut = 'Computed with h, u , v',
1593 into = ['Computed with h, u , v', 'Computed with c, u , v'],),
1595 # ------------------------------------
1596 Tolerances_For_Identification = FACT( statut = 'o',
1597 # ------------------------------------
1598 # PNPNPN recalculer en liste de 4 reels
1599 # ------------------------------------
1600 Tolerance_For_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1601 # ------------------------------------
1602 fr = "precision absolue sur H",
1603 ang = "absolute precision on H",),
1604 # ------------------------------------
1605 Tolerance_For_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1606 # ------------------------------------
1607 fr = "precision absolue sur U",
1608 ang = "absolute precision on U",),
1609 # ------------------------------------
1610 Tolerance_For_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1611 # ------------------------------------
1612 fr = "precision absolue sur V",
1613 ang = "absolute precision on V",),
1614 # ------------------------------------
1615 Tolerance_For_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4,
1616 # ------------------------------------
1617 fr = "precision relative sur la fonction cout",
1618 ang = "relative precision on the cost function",),
1619 ),# fin Tolerances_For_Identification
1621 ), # fin fact Parameters_Estimation
1623 # ------------------------------------
1624 Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,),
1625 # ------------------------------------
1626 # Attention a la sortie a reformatter. voir page 68 du user manuel V7
1628 # ------------------------------------
1629 sources_exists = BLOC(condition = "Number_Of_Sources!= 0",
1630 # ------------------------------------
1632 # ------------------------------------
1633 Sources_File = SIMP( statut = 'o',
1634 # ------------------------------------
1635 typ = ('Fichier', 'All Files (*)',),
1636 fr = 'Nom du fichier contenant les informations variables en temps des sources',
1637 ang = 'Name of the file containing time-dependent information on sources',),
1639 #PNPNPNPN saisir autant de source que le nombre
1640 # ------------------------------------
1641 Source = FACT(statut = 'o',
1642 # ------------------------------------
1644 # ------------------------------------
1645 Abscissae_Of_Sources = SIMP( statut = 'o',
1646 # ------------------------------------
1647 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1648 fr = 'Valeurs des abscisses des sources de debit et de traceur.',
1649 ang = 'abscissae of sources of flowrate and/or tracer',),
1651 # ------------------------------------
1652 Ordinates_Of_Sources = SIMP( statut = 'o',
1653 # ------------------------------------
1654 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1655 fr = 'Valeurs des ordonnees des sources de debit et de traceur.',
1656 ang = 'ordinates of sources of flowrate and/or tracer',),
1658 # ------------------------------------
1659 Water_Discharge_Of_Sources = SIMP( statut = 'o',
1660 # ------------------------------------
1661 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1662 fr = 'Valeurs des debits des sources.',
1663 ang = 'values of water discharge of sources',),
1665 # ------------------------------------
1666 Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f',
1667 # ------------------------------------
1668 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1669 fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant',
1670 ang = 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',),
1672 # ------------------------------------
1673 Velocities_Of_The_Sources_Along_Y = SIMP( statut = 'f',
1674 # ------------------------------------
1675 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1676 fr = 'Vitesses du courant a chacune des sources',
1677 ang = 'Velocities at the sources',),
1679 ), # Fin du Fact Source
1681 # ------------------------------------
1682 Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"],
1683 # ------------------------------------
1684 fr = 'Source portee par une base elements finis Source portee par une fonction de Dirac',
1685 ang = 'Source term multiplied by a finite element basis, Source term multiplied by a Dirac function',),
1687 ),#fin bloc source - exits
1689 # ------------------------------------
1690 Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000.,
1691 # ------------------------------------
1692 fr = 'Fixe la valeur de la masse volumique de l eau.',
1693 ang = 'set the value of water density',
1696 # ------------------------------------
1697 Coriolis_Settings = FACT(statut = 'o',
1698 # ------------------------------------
1699 # ------------------------------------
1700 Coriolis = SIMP( statut='o',typ=bool,
1701 # ------------------------------------
1703 fr = 'Prise en compte ou non de la force de Coriolis.',
1704 ang= 'The Coriolis force is taken into account or ignored.',),
1706 # -------------------------------------------------------
1707 Coriolis_Coefficient = SIMP( statut='o',typ='R',
1708 # -------------------------------------------------------
1710 fr = 'Fixe la valeur du coefficient de la force de Coriolis. Celui-ci doit etre calcule en fonction de la latitude l \n\
1711 par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s \n\
1712 Les composantes de la force de Coriolis sont alors : FU = FCOR x V FV = - FCOR x U',
1713 ang= 'Sets the value of the Coriolis force coefficient, in cartesian coordinates. This coefficient,\n\
1714 denoted FCOR in the code, should be equal to 2 w sin(l)d where w denotes the earth angular speed of rotation and l the latitude. \n\
1715 w = 7.27 10-5 rad/sec The Coriolis force components are then: FU = FCOR x V, FV = -FCOR x U In spherical coordinates, the latitudes are known',),
1716 ), #fin Coriolis_Settings
1717 # ------------------------------------
1718 Tsunami = FACT(statut = 'o',
1719 # ------------------------------------
1720 # -------------------------------------------------------
1721 Option_For_Tsunami_Generation = SIMP( statut='o',typ='I', defaut=0 ,
1722 # -------------------------------------------------------
1726 # -------------------------------------------------------
1727 Physical_Characteristics_Of_The_Tsunami = SIMP( statut='o',typ='R',
1728 # -------------------------------------------------------
1730 defaut=(100.0, 210000.0, 75000.0, 13.6, 81.0, 41.0, 110.0, 0.0, 0.0, 3.0) ,
1737 # ------------------------------------
1738 Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81,
1739 # ------------------------------------
1740 fr = 'Fixe la valeur de l acceleration de la pesanteur.',
1741 ang = 'Set the value of the acceleration due to gravity.',
1745 # ------------------------------------
1746 Various = FACT( statut = 'o',
1747 # ------------------------------------
1748 # ------------------------------------
1749 Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False,
1750 # ------------------------------------
1751 fr = 'Prise en compte de la force de trainee de structures verticales',
1752 ang = 'drag forces from vertical structures are taken into account',),
1754 # ------------------------------------
1755 maskob = BLOC (condition = 'Vertical_Structures == True',
1756 # ------------------------------------
1757 # ------------------------------------
1758 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
1759 # ------------------------------------
1760 defaut = "subroutine DRAGFO must then be implemented"),
1763 )# fin PHYSICAL_PARAMETERS
1765 # -----------------------------------------------------------------------
1766 OUTPUT_FILES = PROC(nom = "OUTPUT_FILES",op = None,
1767 # -----------------------------------------------------------------------
1769 # ------------------------------------
1770 Graphic_And_Listing_Printouts = FACT(statut = 'f',
1771 # ------------------------------------
1772 # ------------------------------------
1773 Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM',
1774 # ------------------------------------
1775 into=[ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)",
1776 "Free surface elevation (m)", "Bottom elevation (m)", "Froude number ", "Scalar flowrate of fluid (m2/s)",
1777 "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)",
1778 "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along X axis (m2/s)", "Flowrate along Y axis (m2/s)",
1779 "Scalar velocity (m/s)", "Wind along X axis (m/s)", "Wind along Y axis (m/s)", "Air pressure (Pa)",
1780 "Friction coefficient", "Drift along X (m)", "Drift along Y (m)", "Courant number ", "Supplementary variable N ",
1781 "Supplementary variable O ", "Supplementary variable R ", "Supplementary variable Z ", "Maximum elevation",
1782 "Time of maximum elevation ", "Maximum velocity", "Time of maximum velocity", "Friction velocity "],),
1784 # ------------------------------------
1785 Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
1786 # ------------------------------------
1787 fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\
1788 dans le FICHIER DES RESULTATS.',
1789 ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,),
1791 # ------------------------------------
1792 Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1,
1793 # ------------------------------------
1794 fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.',
1795 ang = 'Determines the number of time steps after which the results are first written into the listing.'),
1798 # ------------------------------------
1799 Results_File = SIMP( statut = 'o',
1800 # ------------------------------------
1801 typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
1802 fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee PERIODE POUR LES SORTIES GRAPHIQUES.',
1803 ang = 'Name of the file into which the computation results shall be written, the periodicity being given by GRAPHIC PRINTOUT PERIOD.',),
1805 # ------------------------------------
1806 Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin',
1807 # ------------------------------------
1808 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
1809 - SERAFIN : format standard simple precision pour Telemac; \n\
1810 - SERAFIND: format standard double precision pour Telemac; \n\
1811 - MED : format MED base sur HDF5' ,
1812 ang = 'Results file format. Possible values are:\n \
1813 - SERAFIN : classical single precision format in Telemac;\n\
1814 - SERAFIND: classical double precision format in Telemac; \n\
1815 - MED : MED format based on HDF5' ,
1818 # ------------------------------------
1819 Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
1820 # ------------------------------------
1821 fr = 'Determine la periode en nombre de pas de temps d''impression des variables',
1822 ang = 'Determines, in number of time steps, the printout period for the variables',),
1824 # ------------------------------------
1825 Listing_Printout = SIMP( statut='o',typ=bool, defaut=True ,
1826 # ------------------------------------
1827 fr = 'Sortie des resultats sur support papier. Si on met False, le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME : La Valeur False est a eviter',
1828 ang= 'Result printout on hard copy. When NO is selected, the listing only includes the heading and the phrase "NORMAL END OF PROGRAM" In addition, the options MASS BALANCE and VALIDATION are inhibited. Value False Not recommended for use.',
1831 # ------------------------------------
1832 Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM',
1833 # ------------------------------------
1834 into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)",
1835 "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)",
1836 "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)",
1837 "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)",
1838 "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)",
1839 "Friction coefficient", "Drift along x (m)", "Drift along y (m)", "Courant number",
1840 "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"]
1841 ,homo="SansOrdreNiDoublon"),
1843 ),# fin Listing_Graphic_Printouts
1845 # ------------------------------------
1846 Formatted_Results_File = SIMP( statut = 'f',
1847 # ------------------------------------
1848 typ = ('Fichier','All Files (*)',),
1849 fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \
1850 Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.',
1851 ang = 'Formatted file of results made available to the user. \
1852 The results to be entered into this file shall be written on channel 29.',),
1855 # ------------------------------------
1856 Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o',
1857 # ------------------------------------
1859 fr = 'Si Vrai, impression des conditions initiales dans les resultats',
1860 ang = 'If True, output of initial conditions in the results'),
1862 # ------------------------------------
1863 Number_Of_Private_Arrays = SIMP( statut='o',typ='I',
1864 # ------------------------------------
1866 fr = 'Nombre de tableaux mis a disposition de l utilisateur',
1867 ang= 'Number of arrays for own user programming',
1871 # ------------------------------------
1872 Information_About_Solver = SIMP(typ = bool, statut = 'f',
1873 # ------------------------------------
1875 fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.",
1876 ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",),
1878 # ------------------------------------
1879 Mass_Balance = SIMP( statut='o',typ=bool,
1880 # ------------------------------------
1882 fr = 'Determine si l on effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : \n\
1883 - les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) \n\
1884 - l erreur relative sur la masse pour ce pas de temps.\n\
1885 En fin de listing, on trouve l erreur relative sur la masse pour l ensemble du calcul.\n\
1886 Il ne sagit que dun calcul indicatif car il nexiste pas dexpression compatible du debit en formulation c,u,v.',
1888 ang= 'Determines whether a check of the mass-balance over the domain is mader or not.\n\
1889 This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries,\n\
1890 the relative error in the mass for that time step. The relative error in the mass over the whole computation can be found at the end of the listing.',
1894 # ------------------------------------
1895 Binary_Results_File = SIMP( statut = 'f',
1896 # ------------------------------------
1897 typ = ('Fichier', ';;All Files (*)',),
1898 fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\
1899 Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.",
1900 ang = "Additional binary-coded result file made available to the user. \n\
1901 The results to be entered into this file shall be written on channel 28.",),
1903 # ------------------------------------
1904 Controls = FACT( statut='f',
1905 # ------------------------------------
1906 # ------------------------------------
1907 Control_Sections = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')),
1908 # ------------------------------------
1909 fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.',
1910 ang = 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given',),
1912 # ------------------------------------
1913 Printing_Cumulated_Flowrates = SIMP( statut = 'o',typ = bool, defaut = False ,
1914 # ------------------------------------
1915 fr = 'impression du flux cumule a travers les sections de controle',
1916 ang = 'printing the cumulated flowrates through control sections',),
1918 # ------------------------------------
1919 Compatible_Computation_Of_Fluxes = SIMP( statut = 'o',typ = bool, defaut = False ,
1920 # ------------------------------------
1921 fr = 'flux a travers les sections de controle, calcul compatible avec l impermeabilite sous forme faible',
1922 ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',),
1924 # ------------------------------------
1925 Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
1926 # ------------------------------------
1927 fr = 'sections input file, partitioned',
1928 ang = 'sections input file, partitioned',),
1930 # ------------------------------------
1931 Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
1932 # ------------------------------------
1933 fr = 'sections output file, written by the master',
1934 ang = 'sections output file, written by the master',),
1937 # ------------------------------------
1938 Fourier = FACT(statut = 'f',
1939 # ------------------------------------
1940 # ------------------------------------
1941 Fourier_Analysis_Periods = SIMP( statut='o',
1942 # ------------------------------------
1943 typ = Tuple(2), validators = VerifTypeTuple(('R','R')),
1944 fr = 'Liste des periodes que lon veut analyser',
1945 ang= 'List of periods to be analysed',),
1947 # ------------------------------------
1948 Time_Range_For_Fourier_Analysis = SIMP( statut='o',
1949 # ------------------------------------
1950 typ = Tuple(2), validators = VerifTypeTuple(('R','R')),
1952 fr = 'Pour le calcul du marnage et de la phase de la maree',
1953 ang= 'For computing tidal range and phase of tide',
1956 # ------------------------------------
1957 List_Of_Points = SIMP( statut='o',
1958 # ------------------------------------
1959 typ = Tuple(2), validators = VerifTypeTuple(('I','I')),
1960 fr = 'Liste de points remarquables pour les impressions',
1961 ang= 'List of remarkable points for printouts',),
1963 # ------------------------------------
1964 Names_Of_Points = SIMP( statut='o',typ='TXM',
1965 # ------------------------------------
1967 fr = 'Noms des points remarquables pour les impressions',
1968 ang= 'Names of remarkable points for printouts',
1972 ) # FIN OUTPUT_FILES
1975 # -----------------------------------------------------------------------
1976 CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None,
1977 # -----------------------------------------------------------------------
1979 # Attention calculer le logique BREACH
1981 # ------------------------------------
1982 Number_Of_Culverts = SIMP( statut = 'o',typ = 'I',
1983 # ------------------------------------
1985 fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \
1986 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)',
1987 ang = 'Number of culverts treated as source terms. They must be described as sources in the domain\
1988 and their features are given in the culvert data file (see written documentation)',),
1989 # ------------------------------------
1990 culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0",
1991 # ------------------------------------
1992 # ------------------------------------
1993 Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
1994 # ------------------------------------
1995 fr = 'Fichier de description des siphons presents dans le modele',
1996 ang = 'Description of culvert existing in the model',),
1997 ), # fin bloc culvert_exists
1999 # ------------------------------------
2000 Number_Of_Tubes = SIMP( statut = 'o',typ = 'I',
2001 # ------------------------------------
2003 fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\
2004 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)',
2005 ang = 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain \n\
2006 and their features are given in the tubes data file (see written documentation)',),
2007 # ------------------------------------
2008 b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0",
2009 # ------------------------------------
2010 # ------------------------------------
2011 Tubes_Data_File = SIMP( statut = 'o',
2012 # ------------------------------------
2013 typ = ('Fichier', 'All Files (*)',),
2014 fr = 'Fichier de description des buses/ponts presents dans le modele',
2015 ang = 'Description of tubes/bridges existing in the model',),
2016 ), # in bloc b_Tubes
2018 # ------------------------------------
2019 Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0,
2020 # ------------------------------------
2021 fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\
2022 Ces seuils doivent etre decrits comme des frontieres du domaine de calcul',
2023 ang = 'Number of weirs that will be treated by boundary conditions.',
2025 # ------------------------------------
2026 b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0",
2027 # ------------------------------------
2028 # ------------------------------------
2029 Weirs_Data_File = SIMP( statut = 'o',
2030 # ------------------------------------
2031 typ = ('Fichier', 'All Files (*)',),
2032 fr = 'Fichier de description des seuils presents dans le modele',
2033 ang = 'Description of weirs existing in the model',),
2035 # ------------------------------------
2036 Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM',
2037 # ------------------------------------
2038 into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
2039 "General (New solution with sources points)"],
2040 defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
2041 fr = 'MĂ©thode de traitement des seuils ',
2042 ang = 'Method for treatment of weirs',),
2045 # ------------------------------------
2046 Breach = SIMP(statut = 'o',typ = bool,defaut = False,
2047 # ------------------------------------
2048 fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.',
2049 ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',),
2051 # ------------------------------------
2052 b_Breaches = BLOC (condition = 'Breach == True',
2053 # ------------------------------------
2054 # ------------------------------------
2055 Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
2056 # ------------------------------------
2057 fr = 'Fichier de description des breches',
2058 ang = 'Description of breaches',),
2062 ) # Fin CONSTRUCTION_WORKS_MODELLING
2065 # -----------------------------------------------------------------------
2066 GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None,
2067 # -----------------------------------------------------------------------
2068 # ------------------------------------
2069 Origin_Coordinates = SIMP( statut='o',
2070 # ------------------------------------
2071 typ = Tuple(2),validators = VerifTypeTuple(('I','I')),defaut = (0,0),
2072 fr = 'Valeur en metres, utilise pour eviter les trop grands nombres, transmis dans le format Selafin mais pas d autre traitement pour l instant',
2073 ang= 'Value in metres, used to avoid large real numbers, added in Selafin format, but so far no other treatment',),
2076 # ------------------------------------
2077 Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False,
2078 # ------------------------------------
2079 fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).',
2080 ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'),
2082 # ------------------------------------
2083 b_Spher = BLOC(condition = 'Spherical_Coordinates == True',
2084 # ------------------------------------
2085 # ------------------------------------
2086 Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48.,
2087 # ------------------------------------
2088 fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.',
2089 ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\
2090 is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'),
2092 # ------------------------------------
2093 Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
2094 # ------------------------------------
2095 into = ["Mercator","Latitude longitude"]),
2098 # ------------------------------------
2099 b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False',
2100 # ------------------------------------
2101 # ------------------------------------
2102 Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
2103 # ------------------------------------
2104 into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"],
2105 defaut = "Cartesian, not georeferenced",),
2106 ), # fin b_Spher_faux
2108 # Attention il faut recalculer en sortie : il faut 0 ou 1 et non un boolean
2109 # ------------------------------------
2110 Debugger = SIMP(typ = bool , statut = 'o',
2111 # ------------------------------------
2113 fr= 'Pour imprimer la sequence des appels, mettre 1',
2114 ang = 'If 1, calls of subroutines will be printed in the listing',),
2116 ) # Fin GENERAL_PARAMETERS
2119 # -----------------------------------------------------------------------
2120 TURBULENCE = PROC(nom = "TURBULENCE",op = None,
2121 # -----------------------------------------------------------------------
2123 # -----------------------------------------------------------------------
2124 Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity",
2125 # -----------------------------------------------------------------------
2126 into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"),
2127 fr = 'Pour Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\
2128 Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence',
2129 ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\
2130 When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',),
2132 # ------------------------------------
2133 b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"',
2134 # ------------------------------------
2135 # ------------------------------------
2136 Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R',
2137 # ------------------------------------
2139 fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\
2140 Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.',
2141 ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\
2142 this value may have a significant effect both on the shapes and sizes of recirculation zones.',),
2143 ), # fin b_turbu_const
2145 # ------------------------------------
2146 b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"',
2147 # ------------------------------------
2148 # ------------------------------------
2149 Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o',
2150 # ------------------------------------
2151 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6),
2152 fr = 'coefficients longitudinal et transversal dans la formule de Elder.',
2153 ang = 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2',),
2154 ), # fin bloc b_turbu_elder
2156 # -----------------------------------------------------------------------
2157 Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
2158 # -----------------------------------------------------------------------
2159 fr = 'Fixe la precision demandee sur k pour le test d arret dans letape de diffusion et termes sources du modele k-epsilon.',
2160 ang = 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.',),
2162 # -----------------------------------------------------------------------
2163 Accuracy_Of_Epsilon = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
2164 # -----------------------------------------------------------------------
2165 fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.',
2166 ang = 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.',),
2168 # -----------------------------------------------------------------------
2169 Time_Step_Reduction_For_K_Epsilon_Model = SIMP( statut = 'f',typ = 'R', defaut = 1.0 ,
2170 # -----------------------------------------------------------------------
2171 fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique).\n\
2172 Utilisation deconseillee',
2173 ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\
2174 Not recommended for use.',),
2176 # -----------------------------------------------------------------------
2177 Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut = 'o',typ = 'I',
2178 # -----------------------------------------------------------------------
2180 fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.',
2181 ang = 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.',),
2183 # -----------------------------------------------------------------------
2184 Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM',
2185 # -----------------------------------------------------------------------
2187 into = ('Smooth', 'Rough'),
2188 fr = 'Permet de choisir le regime de turbulence aux parois ',
2189 ang = 'Provided for selecting the type of friction on the walls',),
2191 # -----------------------------------------------------------------------
2192 Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
2193 # -----------------------------------------------------------------------
2194 defaut = "Conjugate gradient" ,
2195 into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation",
2196 "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)",
2198 fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon',
2199 ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',),
2201 # -----------------------------------------------------------------------
2202 b_gmres = BLOC(condition = 'Solver_For_K_Epsilon_Model == "GMRES"',
2203 # -----------------------------------------------------------------------
2204 # -----------------------------------------------------------------------
2205 Option_For_The_Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'I',
2206 # -----------------------------------------------------------------------
2207 defaut = 2 ,val_min = 2,val_max = 15,
2208 fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)',
2209 ang = 'dimension of the krylov space try values between 2 and 7',),
2210 ), # fin bloc b_gmres
2212 # -----------------------------------------------------------------------
2213 Preconditioning_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
2214 # -----------------------------------------------------------------------
2215 defaut = 'Diagonal' ,
2216 into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"),
2217 fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon',
2218 ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.',
2220 # -----------------------------------------------------------------------
2221 Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True,
2222 # -----------------------------------------------------------------------
2223 fr = 'Donne le nombre d iterations du solveur de l etape de diffusion et termes sources du modele k-epsilon.',
2224 ang = 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.',
2228 # -----------------------------------------------------------------------
2229 SECONDARY_CURRENTS_SETTINGS = PROC(nom = "SECONDARY_CURRENTS_SETTINGS",op = None,
2230 # -----------------------------------------------------------------------
2232 # -----------------------------------------------------------------------
2233 Secondary_Currents = SIMP( statut='o',typ=bool,
2234 # -----------------------------------------------------------------------
2236 fr = 'Pour prendre en compte les courants secondaires',
2237 ang= 'Using the parametrisation for secondary currents',
2240 # -----------------------------------------------------------------------
2241 b_currents_exists = BLOC(condition = "Secondary_Currents == True",
2242 # -----------------------------------------------------------------------
2243 # -----------------------------------------------------------------------
2244 Production_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R',
2245 # -----------------------------------------------------------------------
2247 fr = 'Une constante dans les termes de creation de Omega',
2248 ang= 'A constant in the production terms of Omega',),
2250 # -----------------------------------------------------------------------
2251 Dissipation_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R',
2252 # -----------------------------------------------------------------------
2254 fr = 'Coefficient de dissipation de Omega',
2255 ang= 'Coefficient of dissipation term of Omega',),
2257 ), # fin b_currents_exists
2260 )# Fin SECONDARY_CURRENTS_SETTINGS
2261 # -----------------------------------------------------------------------
2262 PARTICULE = PROC(nom = "PARTICULE",op = None,
2263 # -----------------------------------------------------------------------
2264 # -----------------------------------------------------------------------
2265 Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0,
2266 # -----------------------------------------------------------------------
2267 fr = 'Permet d''effectuer un suivi de flotteurs',
2268 ang = 'Number of drogues in the computation.',),
2270 # -----------------------------------------------------------------------
2271 Algae_Transport_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
2272 # -----------------------------------------------------------------------
2273 fr = 'Si oui, les flotteurs seront des algues',
2274 ang = 'If yes, the floats or particles will be algae',),
2276 # -----------------------------------------------------------------------
2277 algae_exists = BLOC(condition = "Algae_Transport_Model == True",
2278 # -----------------------------------------------------------------------
2279 # -----------------------------------------------------------------------
2280 Algae_Type = SIMP( statut = 'o',typ = 'TXM',
2281 # -----------------------------------------------------------------------
2282 into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"],
2284 fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)',
2285 ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',),
2287 # -----------------------------------------------------------------------
2288 Diametre_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.1 ,
2289 # -----------------------------------------------------------------------
2290 fr = 'Diametre des algues en m',
2291 ang = 'Diametre of algae in m',),
2293 # -----------------------------------------------------------------------
2294 Density_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 1050.0 ,
2295 # -----------------------------------------------------------------------
2296 fr = 'Masse volumique des algues en kg/m3',
2297 ang = 'Density of algae in kg/m3',),
2299 # -----------------------------------------------------------------------
2300 Thickness_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.01 ,
2301 # -----------------------------------------------------------------------
2302 fr = 'Epaisseur des algues en m',
2303 ang = 'Thickness of algae in m',),
2307 # -----------------------------------------------------------------------
2308 Oil_Spill_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
2309 # -----------------------------------------------------------------------
2310 fr = 'pour declencher le modele de derive de nappes, dans ce cas le fichier de commandes migrhycar est necessaire',
2311 ang = 'will trigger the oil spill model, in this case the migrhycar steering file is needed',),
2313 # -----------------------------------------------------------------------
2314 oil_exists = BLOC(condition = "Oil_Spill_Model == True",
2315 # -----------------------------------------------------------------------
2316 # -----------------------------------------------------------------------
2317 Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
2318 # -----------------------------------------------------------------------
2319 fr = 'Contient les donnees pour le modele de derive de nappes',
2320 ang = 'Contains data for the oil spill model',),
2323 # -----------------------------------------------------------------------
2324 drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True",
2325 # -----------------------------------------------------------------------
2326 # -----------------------------------------------------------------------
2327 Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
2328 # -----------------------------------------------------------------------
2329 fr = 'Fichier de resultat avec les positions des flotteurs',
2330 ang = 'Results file with positions of drogues',),
2332 # -----------------------------------------------------------------------
2333 Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1,
2334 # -----------------------------------------------------------------------
2335 fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\
2336 N affecte pas la qualite du calcul de la trajectoire',
2337 ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',),
2338 ),#fin drogues ou algae
2341 # -----------------------------------------------------------------------
2342 Stochastic_Diffusion_Model = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
2343 # -----------------------------------------------------------------------
2344 fr = 'Pour les particules : flotteurs, algues, hydrocarbures',
2345 ang = 'Meant for particles: drogues, algae, oil spills',),
2347 # -----------------------------------------------------------------------
2348 Number_Of_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
2349 # -----------------------------------------------------------------------
2350 fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents',
2351 ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',),
2353 # -----------------------------------------------------------------------
2354 b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0",
2355 # -----------------------------------------------------------------------
2356 # -----------------------------------------------------------------------
2357 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
2358 # -----------------------------------------------------------------------
2359 defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"),
2363 # -----------------------------------------------------------------------
2364 TRACERS = PROC(nom = "TRACERS",op = None,
2365 # -----------------------------------------------------------------------
2367 # -----------------------------------------------------------------------
2368 Tracers_Setting = FACT(statut = 'o',
2369 # -----------------------------------------------------------------------
2371 # -----------------------------------------------------------------------
2372 Number_Of_Tracers = SIMP( statut='o',typ='I',
2373 # -----------------------------------------------------------------------
2375 fr = 'Definit le nombre de traceurs.',
2376 ang= 'Defines the number of tracers',),
2377 #PNPNPN Recalculer Names_Of_Tracers et Initial_Values_Of_Tracers comme des listes
2378 # pour Names_Of_Tracers = Names_Of_Tracers+Names_Of_Unit
2379 # il faut faire un validateur (la chaine doit faire 16 caracteres evtuellement complete par des blancs)
2381 # ------------------------------------
2382 Tracer = FACT(statut = 'o', max="**",
2383 # ------------------------------------
2384 # -----------------------------------------------------------------------
2385 Name_Of_Tracer = SIMP( statut='o',typ='TXM',
2386 # -----------------------------------------------------------------------
2387 fr = 'Noms des traceurs en 16 caracteres',
2388 ang= 'Name of tracers in 32 characters',),
2390 # -----------------------------------------------------------------------
2391 Name_Of_Unit = SIMP( statut='o',typ='TXM',
2392 # -----------------------------------------------------------------------
2393 fr = 'Noms de l unité en 16 caracteres',
2394 ang= 'Name of unit in 16 characters',),
2396 b_Computation_Continued = BLOC(condition = 'Computation_Continued == True',
2397 #PNPNPN Attention: global_jdc ne fonctionne pas bien : pas de propagation si chgt de valeur de Computation_Continued
2398 # -----------------------------------------------------------------------
2399 Initial_Values_Of_Tracers = SIMP( statut='o',
2400 # -----------------------------------------------------------------------
2401 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
2403 fr = 'Fixe la valeur initiale du traceur.',
2404 ang= 'Sets the initial value of the tracer.',),
2406 ), # fin b_Computation_Continued
2407 # ------------------------------------
2408 Boundary_Conditions = FACT( statut = 'f',
2409 # ------------------------------------
2410 # -----------------------------------------------------------------------
2411 Prescribed_Tracers_Values = SIMP( statut='o',
2412 # -----------------------------------------------------------------------
2413 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
2414 fr = 'Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la partie du manuel consacree aux conditions aux limites',
2415 ang= 'Tracer values prescribed at the inflow boundaries. Read the manual section dealing with the boundary conditions',),
2416 ), # fin Boundary_Conditions
2419 # -----------------------------------------------------------------------
2420 Density_Effects = SIMP( statut='o',typ=bool,
2421 # -----------------------------------------------------------------------
2423 fr = 'prise en compte du gradient horizontal de densite le traceur est alors la salinite',
2424 ang= 'the horizontal gradient of density is taken into account the tracer is then the salinity',),
2426 # -----------------------------------------------------------------------
2427 b_Density_Effects = BLOC(condition = 'Density_Effects == True',
2428 # -----------------------------------------------------------------------
2429 # ------------------------------------
2430 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
2431 # ------------------------------------
2432 defaut='the first Tracer must be the salinity expressed in kg/m3'),
2434 # -----------------------------------------------------------------------
2435 Mean_Temperature = SIMP( statut='o',typ='R',
2436 # -----------------------------------------------------------------------
2438 fr = 'temperature de reference pour le calcul des effets de densite ',
2439 ang= 'reference temperature for density effects',),
2441 ), # fin b_Density_Effects
2443 ), # fin b_Tracers_Settings
2444 # -----------------------------------------------------------------------
2445 Solving = FACT( statut='o',
2446 # -----------------------------------------------------------------------
2447 # -----------------------------------------------------------------------
2448 Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM',
2449 # -----------------------------------------------------------------------
2450 defaut='1="conjugate gradient"' ,
2451 into =('1="conjugate gradient"', '2="conjugate residual"', '3="conjugate gradient on a normal equation"',
2452 '4="minimum error"', '5="squared conjugate gradient"', '6="cgstab"', '7="gmres "', '8="direct"'),),
2454 # -----------------------------------------------------------------------
2455 Solver_Option_For_Tracers_Diffusion = SIMP( statut='o',typ='I',
2456 # -----------------------------------------------------------------------
2458 fr = 'si le solveur est GMRES (7) le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 15)',
2459 ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15',),
2461 # -----------------------------------------------------------------------
2462 Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM',
2463 # -----------------------------------------------------------------------
2464 defaut='2="diagonal"' ,
2465 into =('2="diagonal"', '0="no preconditioning "', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'),
2466 fr = 'Permet de preconditionner le systeme relatif au traceur. Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT.',
2467 ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING',
2471 # -----------------------------------------------------------------------
2472 Accuracy = FACT( statut='o',
2473 # -----------------------------------------------------------------------
2474 # -----------------------------------------------------------------------
2475 Accuracy_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', defaut=1e-06 ,
2476 # -----------------------------------------------------------------------
2477 fr = 'Fixe la precision demandee pour le calcul de la diffusion du traceur.',
2478 ang= 'Sets the required accuracy for computing the tracer diffusion.',),
2480 # -----------------------------------------------------------------------
2481 Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', defaut=60 ,
2482 # -----------------------------------------------------------------------
2483 fr = 'Limite le nombre diterations du solveur a chaque pas de temps pour le calcul de la diffusion du traceur.',
2484 ang= 'Limits the number of solver iterations at each time step for the diffusion of tracer.',),
2487 # -----------------------------------------------------------------------
2488 Sources = FACT( statut='o',
2489 # -----------------------------------------------------------------------
2490 # -----------------------------------------------------------------------
2491 Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', max='**' ,
2492 # -----------------------------------------------------------------------
2493 # en fait, c'est une liste de Tuple de 2. Il faudrait caluler la taille en fonction du Nombre de sources
2494 fr = 'Valeurs des traceurs a chacune des sources',
2495 ang= 'Values of the tracers at the sources',),
2498 # -----------------------------------------------------------------------
2499 Metereology = FACT( statut='o',
2500 # -----------------------------------------------------------------------
2501 # en fait, c'est une liste de Tuple de 2. Il faudrait caluler la taille en fonction du Nombre de sources
2502 # -----------------------------------------------------------------------
2503 Values_Of_Tracers_In_The_Rain = SIMP(
2504 # -----------------------------------------------------------------------
2505 statut='o',typ='R',defaut=0, max=2 , fr = '', ang= '',),
2506 ), # fin Metereology
2508 # -----------------------------------------------------------------------
2509 Numerical = FACT( statut='o',
2510 # -----------------------------------------------------------------------
2512 # -----------------------------------------------------------------------
2513 Implicitation_Coefficient_Of_Tracers = SIMP( statut='o',typ='R',
2514 # -----------------------------------------------------------------------
2516 fr = 'Fixe la valeur du coefficient dimplicitation du traceur',
2517 ang= 'Sets the value of the implicitation coefficient for the tracer',),
2519 # -----------------------------------------------------------------------
2520 Diffusion_Of_Tracers = SIMP( statut='o',typ=bool,
2521 # -----------------------------------------------------------------------
2523 fr = 'Prise en compte ou non de la diffusion du traceur passif.',
2524 ang= 'The diffusion of the passive tracer is taken into account or ignored.',),
2526 # ------------------------------------
2527 b_Diffusion_Of_Tracers = BLOC(condition = 'Diffusion_Of_Tracers == True',
2528 # ------------------------------------
2529 # ------------------------------------
2530 Coefficient_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R',
2531 # ------------------------------------
2533 fr = 'Fixe la valeur du coefficient de diffusion du traceur. Linfluence de ce parametre sur levolution du traceur dans le temps est importante.',
2534 ang= 'Sets the value of the tracer diffusivity.',),
2536 # ------------------------------------
2537 Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM',
2538 # ------------------------------------
2539 defaut='Diffusion in the form div( nu grad(T))' ,
2540 into=[ 'Diffusion in the form div( nu grad(T))', 'Diffusion in the form 1/h div ( h nu grad(T))',],),
2541 ), # fin b_Diffusion_Of_Tracers
2543 # ------------------------------------
2544 Scheme_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM',
2545 # ------------------------------------
2546 defaut="CHARACTERISTICS" ,
2547 into =("NO ADVECTION", "CHARACTERISTICS", "EXPLICIT + SUPG", "EXPLICIT LEO POSTMA", "EXPLICIT + MURD SCHEME N",
2548 "EXPLICIT + MURD SCHEME PSI", "LEO POSTMA FOR TIDAL FLATS", "N-SCHEME FOR TIDAL FLATS"),
2549 fr = 'Choix du schema de convection pour les traceurs, remplace FORME DE LA CONVECTION',
2550 ang= 'Choice of the advection scheme for the tracers, replaces TYPE OF ADVECTION',),
2552 # ------------------------------------
2553 Scheme_Option_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM',
2554 # ------------------------------------
2556 into=['explicit','predictor-corrector for tracers'],
2557 fr = 'Si present remplace et a priorite sur : OPTION POUR LES CARACTERISTIQUES OPTION DE SUPG Si schema PSI : 1=explicite 2=predicteur-correcteur pour les traceurs',
2558 ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for tracers',),
2560 # ------------------------------------
2561 Mass_Lumping_On_Tracers = SIMP ( statut='o',typ='R',
2562 # ------------------------------------
2564 fr = 'Fixe le taux de mass-lumping effectue sur le traceur.',
2565 ang = 'Sets the amount of mass-lumping that is performed on the tracer.',),
2568 # -----------------------------------------------------------------------
2569 Degradation = FACT( statut='o',
2570 # -----------------------------------------------------------------------
2572 # PN Attention, il faut recalculer Law_Of_Tracers_Degradation
2573 # et les coefficients.
2574 # Question : pourquoi 2 et pas selon le nb de tracer
2575 # Est ce que ce $ va sous tracer ?
2576 # -----------------------------------------------------------------------
2577 Law1_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM',
2578 # -----------------------------------------------------------------------
2579 into=["NO DEGRADATION","F(T90) LAW"],
2580 defaut="NO DEGRADATION",
2581 fr = 'Prise en compte dune loi de decroissance des traceurs',
2582 ang= 'Take in account a law for tracers decrease',),
2584 # -----------------------------------------------------------------------
2585 b_Law1 = BLOC(condition = 'Law1_Of_Tracers_Degradation == "F(T90) LAW"',
2586 # -----------------------------------------------------------------------
2587 # -----------------------------------------------------------------------
2588 Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R',
2589 # -----------------------------------------------------------------------
2590 fr = 'Coefficient 1 de la loi de decroissance des traceurs',
2591 ang= 'Coefficient 1 of law for tracers decrease',),
2594 # -----------------------------------------------------------------------
2595 Law2_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM',
2596 # -----------------------------------------------------------------------
2597 into=["NO DEGRADATION","F(T90) LAW"],
2598 defaut="NO DEGRADATION",
2599 fr = 'Prise en compte dune loi de decroissance des traceurs',
2600 ang= 'Take in account a law for tracers decrease',),
2602 # -----------------------------------------------------------------------
2603 b_Law2 = BLOC(condition = 'Law2_Of_Tracers_Degradation == "F(T90) LAW"',
2604 # -----------------------------------------------------------------------
2605 # -----------------------------------------------------------------------
2606 Coefficient_2_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R',
2607 # -----------------------------------------------------------------------
2608 fr = 'Coefficient 2 de la loi de decroissance des traceurs',
2609 ang= 'Coefficient 2 of law for tracers decrease',),
2611 ), # fin Degradation
2616 Ordre_Des_Commandes = ( 'INITIALIZATION', 'GENERAL_PARAMETERS','INITIAL_STATE', 'BOUNDARY_CONDITIONS', 'NUMERICAL_PARAMETERS',
2617 'PHYSICAL_PARAMETERS', 'CONSTRUCTION_WORKS_MODELLING', 'TRACERS', 'TIDE_PARAMETERS',
2618 'TURBULENCE', 'SECONDARY_CURRENTS_SETTINGS', 'PARTICULE', 'OUTPUT_FILES')