2 # -*- coding: latin-1 -*-
9 def __convert__(self,valeur):
10 if type(valeur) == types.StringType: return None
11 if len(valeur) != self.ntuple: return None
15 return "Date : jj/mm/aaaa "
25 def __init__(self,ntuple):
28 def __convert__(self,valeur):
29 if type(valeur) == types.StringType:
31 if len(valeur) != self.ntuple:
36 return "Tuple de %s elements" % self.ntuple
40 JdC = JDC_CATA (code = 'POSTEL3D',
43 # =======================================================================
44 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
45 # =======================================================================
47 VERSION_CATALOGUE="TRUNK_20201028"
48 # -----------------------------------------------------------------------
49 COMPUTATION_ENVIRONMENT = PROC(nom= "COMPUTATION_ENVIRONMENT",op = None,
50 # -----------------------------------------------------------------------
51 # -----------------------------------
52 INPUT = FACT(statut='o',
53 # -----------------------------------
54 # -----------------------------------
55 DATA = FACT(statut='o',
56 # -----------------------------------
57 # -----------------------------------
58 RD_RESULT_FILE_FORMAT = SIMP(statut ='o',
59 # -----------------------------------
61 into = ['SERAFIN','SERAFIND','MED'],
63 fr = """Format du fichier de resultats.
64 Les valeurs possibles sont :
66 \item SERAFIN : format standard simple precision pour \tel ;
67 \item SERAFIND: format standard double precision pour \tel ;
68 \item MED : format MED base sur HDF5.
70 ang = """Results file format. Possible values are:
72 \item SERAFIN : classical single precision format in \tel,
73 \item SERAFIND: classical double precision format in \tel,
74 \item MED : MED format based on HDF5.
77 # -----------------------------------
78 RD_RESULT_FILE = SIMP(statut ='o',
79 # -----------------------------------
80 typ = ('Fichier','All Files (*)'),
82 fr = """Nom du fichier des resultats 3D obtenu par un calcul avec
84 ang = """Name of the 3D result file generated by a \telemac{3D} run.""",
86 # -----------------------------------
87 GEOMETRY_FILE_FORMAT = SIMP(statut ='o',
88 # -----------------------------------
90 into = ['SERAFIN','SERAFIND','MED'],
92 fr = """Format du fichier de geometrie.
93 Les valeurs possibles sont :
95 \item SERAFIN : format standard simple precision pour \tel ;
96 \item SERAFIND: format standard double precision pour \tel ;
97 \item MED : format MED base sur HDF5.
99 ang = """Geometry file format.
102 \item SERAFIN : classical single precision format in \tel,
103 \item SERAFIND: classical double precision format in \tel,
104 \item MED : MED format based on HDF5.
107 # -----------------------------------
108 GEOMETRY_FILE = SIMP(statut ='o',
109 # -----------------------------------
110 typ = ('Fichier','All Files (*)'),
112 fr = """Nom du fichier de geometrie.""",
113 ang = """Name of the geometry file.""",
115 # -----------------------------------
116 FORTRAN_FILE = SIMP(statut ='f',
117 # -----------------------------------
118 typ = ('Fichier','All Files (*)'),
120 fr = """Nom du fichier FORTRAN a soumettre.\\
121 Il ne sert a priori qu''a dimensionner les tableaux utilises par
122 \postel, mais peut contenir des sous-programmes modifies ou propres
123 a l''utilisateur.""",
124 ang = """Name of FORTRAN file to be submitted.\\
125 It is supposed to be used only to dimension the array used by \postel
126 but can also contain subroutines modified by the user.""",
130 # -----------------------------------
131 GLOBAL = FACT(statut='o',
132 # -----------------------------------
133 # -----------------------------------
134 PARALLEL_PROCESSORS = SIMP(statut ='f',
135 # -----------------------------------
138 fr = """Nombre de processeurs pour la decomposition en parallele:
140 \item 0 : 1 machine, compilation sans bibliotheque de parallelisme ;
141 \item 1 : 1 machine, compilation avec bibliotheque de parallelisme ;
142 \item 2 : 2 processeurs ou machines en parallele etc...
144 ang = """Number of processors for domain partition.
146 \item 0: 1 machine, compiling without parallel library,
147 \item 1: 1 machine, compiling with a parallel library,
148 \item 2: 2 processors or machines in parallel etc...
153 # -----------------------------------------------------------------------
154 GENERAL = PROC(nom= "GENERAL",op = None,
155 # -----------------------------------------------------------------------
156 # -----------------------------------
157 NUMBER_OF_FIRST_RECORD_FOR_CROSS_SECTIONS = SIMP(statut ='o',
158 # -----------------------------------
161 fr = """Seuls les enregistrements au-dela de ce numero seront traites
163 ang = """Only records after that time will be in the cross sections.""",
165 # -----------------------------------
166 PRINTOUT_PERIOD_FOR_CROSS_SECTIONS = SIMP(statut ='o',
167 # -----------------------------------
170 fr = """Periode en nombre d''enregistrements entre 2 coupes.""",
171 ang = """Period in number of records between two cross sections.""",
174 # -----------------------------------------------------------------------
175 HORIZONTAL_CROSS_SECTION = PROC(nom= "HORIZONTAL_CROSS_SECTION",op = None,
176 # -----------------------------------------------------------------------
177 # -----------------------------------
178 NUMBER_OF_HORIZONTAL_CROSS_SECTIONS = SIMP(statut ='o',
179 # -----------------------------------
182 fr = """Permet de definir simultanement plusieurs coupes horizontales.
183 La valeur maximale autorisee est 9.""",
184 ang = """Allow multiple horizontal sections. The maximum value is 9.""",
186 # -----------------------------------
187 b_NUMBER_OF_HORIZONTAL_CROSS_SECTIONSG = BLOC(condition="NUMBER_OF_HORIZONTAL_CROSS_SECTIONS > 0",
188 # -----------------------------------
189 # -----------------------------------
190 HORIZONTAL_CROSS_SECTION_FILE_FORMAT = SIMP(statut ='o',
191 # -----------------------------------
193 into = ['SERAFIN','SERAFIND','MED'],
195 fr = """Format du fichier de resultats.
196 Les valeurs possibles sont :
198 \item SERAFIN : format standard simple precision pour \tel ;
199 \item SERAFIND: format standard double precision pour \tel ;
200 \item MED : format MED base sur HDF5.
202 ang = """Results file format. Possible values are:
204 \item SERAFIN : classical single precision format in \tel,
205 \item SERAFIND: classical double precision format in \tel,
206 \item MED : MED format based on HDF5.
209 # -----------------------------------
210 HORIZONTAL_CROSS_SECTION_FILE = SIMP(statut ='o',
211 # -----------------------------------
212 typ = ('Fichier','All Files (*)','Sauvegarde'),
214 fr = """Nom generique des fichiers des coupes horizontales.
215 Le fichier contenant la coupe $i$ aura pour nom ce nom generique suivi
216 de l''extension .i.""",
217 ang = """Generic name for the horizontal cross sections file.
218 The file containing the cross section $i$ name will be the generic
219 followed by the extension .i.""",
221 # -----------------------------------
222 REFERENCE_LEVEL_FOR_EACH_HORIZONTAL_CROSS_SECTION = SIMP(statut ='o',
223 # -----------------------------------
224 typ = 'I', min=0, max='**',
225 defaut = [0,1,2,3,4,5,6,7,8],
226 fr = """Chaque coupe horizontale sera parallele a son plan de reference.
227 Ainsi il est possible de faire des coupes par exemple :
229 \item a telle distance au-dessus du fond ;
230 \item a telle distance sous la surface ;
231 \item suivant un plan intermediaire\ldots
233 Le plan 0 correspond au plan parfaitement horizontal a la cote 0.""",
234 ang = """Each horizontal cross section will be parallel to its reference
235 plane. It is then possible to make cross sections which are:
237 \item at a chosen distance above the bottom,
238 \item at a chosen distance below the surface,
239 \item referenced to an inbetween plane\ldots
241 Plane 0 corresponds to the plane perfecly horizontal to the height 0.""",
243 # -----------------------------------
244 ELEVATION_FROM_REFERENCE_LEVEL = SIMP(statut ='o',
245 # -----------------------------------
246 typ = 'R', min=0, max='**',
247 defaut = [0.,0.,0.,0.,0.,0.,0.,0.,0.],
248 fr = """Decalage entre la coupe et son plan de reference, ceci pour
249 chaque coupe horizontale.""",
250 ang = """Gap between the cross sections and its reference plane, this
251 must be defined for cross section.""",
255 # -----------------------------------------------------------------------
256 VERTICAL_CROSS_SECTION = PROC(nom= "VERTICAL_CROSS_SECTION",op = None,
257 # -----------------------------------------------------------------------
258 # -----------------------------------
259 NUMBER_OF_VERTICAL_CROSS_SECTIONS = SIMP(statut ='o',
260 # -----------------------------------
263 fr = """Permet de definir simultanement plusieurs coupes verticales.
264 La valeur maximale autorisee est 9.""",
265 ang = """Allow multiple vertical sections. The maximum value is 9.""",
267 # -----------------------------------
268 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSG = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 0",
269 # -----------------------------------
270 # -----------------------------------
271 VERTICAL_CROSS_SECTION_FILE_FORMAT = SIMP(statut ='o',
272 # -----------------------------------
274 into = ['SERAFIN','SERAFIND','MED'],
276 fr = """Format du fichier de resultats.
277 Les valeurs possibles sont :
279 \item SERAFIN : format standard simple precision pour \tel ;
280 \item SERAFIND: format standard double precision pour \tel ;
281 \item MED : format MED base sur HDF5.
283 ang = """Results file format. Possible values are:
285 \item SERAFIN : classical single precision format in \tel,
286 \item SERAFIND: classical double precision format in \tel,
287 \item MED : MED format based on HDF5.
290 # -----------------------------------
291 VERTICAL_CROSS_SECTION_FILE = SIMP(statut ='o',
292 # -----------------------------------
293 typ = ('Fichier','All Files (*)','Sauvegarde'),
295 fr = """Nom generique des fichiers des coupes verticales.
296 Le fichier contenant la coupe $i$ au $j$e pas de temps enregistre aura
297 pour nom ce nom generique suivi de l extension .i.j.""",
298 ang = """Generic name for the vertical cross sections file. The file
299 containing the cross section $i$ for the $j$ time step name will be the
300 generic followed by the extension .i.j.""",
302 # -----------------------------------
303 NUMBER_OF_NODES_FOR_VERTICAL_CROSS_SECTION_DISCRETIZATION = SIMP(statut ='o',
304 # -----------------------------------
307 fr = """Il s''agit du nombre de points suivant l''horizontale.""",
308 ang = """It is the number of points along the horizontal.""",
310 # -----------------------------------
311 DISTORSION_BETWEEN_VERTICAL_AND_HORIZONTAL = SIMP(statut ='o',
312 # -----------------------------------
313 typ = 'R', min=0, max='**',
314 defaut = [1.,1.,1.,1.,1.,1.,1.,1.,1.],
315 fr = """Rapport entre echelles verticale et horizontale pour chaque
317 ang = """Ratio between vertical and horizontal scales for each vertical
320 # -----------------------------------
321 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_1 = SIMP(statut ='o',
322 # -----------------------------------
323 typ = 'R', min=0, max='**',
324 fr = """Tout est dans le titre.""",
325 ang = """It is all said in the title.""",
327 # -----------------------------------
328 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_1 = SIMP(statut ='o',
329 # -----------------------------------
330 typ = 'R', min=0, max='**',
331 fr = """Tout est dans le titre.""",
332 ang = """It is all said in the title.""",
335 # -----------------------------------
336 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSH = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 1",
337 # -----------------------------------
338 # -----------------------------------
339 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_2 = SIMP(statut ='o',
340 # -----------------------------------
341 typ = 'R', min=0, max='**',
342 fr = """Tout est dans le titre.""",
343 ang = """It is all said in the title.""",
345 # -----------------------------------
346 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_2 = SIMP(statut ='o',
347 # -----------------------------------
348 typ = 'R', min=0, max='**',
349 fr = """Tout est dans le titre.""",
350 ang = """It is all said in the title.""",
353 # -----------------------------------
354 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSI = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 2",
355 # -----------------------------------
356 # -----------------------------------
357 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_3 = SIMP(statut ='o',
358 # -----------------------------------
359 typ = 'R', min=0, max='**',
360 fr = """Tout est dans le titre.""",
361 ang = """It is all said in the title.""",
363 # -----------------------------------
364 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_3 = SIMP(statut ='o',
365 # -----------------------------------
366 typ = 'R', min=0, max='**',
367 fr = """Tout est dans le titre.""",
368 ang = """It is all said in the title.""",
371 # -----------------------------------
372 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSJ = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 3",
373 # -----------------------------------
374 # -----------------------------------
375 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_4 = SIMP(statut ='o',
376 # -----------------------------------
377 typ = 'R', min=0, max='**',
378 fr = """Tout est dans le titre.""",
379 ang = """It is all said in the title.""",
381 # -----------------------------------
382 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_4 = SIMP(statut ='o',
383 # -----------------------------------
384 typ = 'R', min=0, max='**',
385 fr = """Tout est dans le titre.""",
386 ang = """It is all said in the title.""",
389 # -----------------------------------
390 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSK = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 4",
391 # -----------------------------------
392 # -----------------------------------
393 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_5 = SIMP(statut ='o',
394 # -----------------------------------
395 typ = 'R', min=0, max='**',
396 fr = """Tout est dans le titre.""",
397 ang = """It is all said in the title.""",
399 # -----------------------------------
400 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_5 = SIMP(statut ='o',
401 # -----------------------------------
402 typ = 'R', min=0, max='**',
403 fr = """Tout est dans le titre.""",
404 ang = """It is all said in the title.""",
407 # -----------------------------------
408 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSL = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 5",
409 # -----------------------------------
410 # -----------------------------------
411 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_6 = SIMP(statut ='o',
412 # -----------------------------------
413 typ = 'R', min=0, max='**',
414 fr = """Tout est dans le titre.""",
415 ang = """It is all said in the title.""",
417 # -----------------------------------
418 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_6 = SIMP(statut ='o',
419 # -----------------------------------
420 typ = 'R', min=0, max='**',
421 fr = """Tout est dans le titre.""",
422 ang = """It is all said in the title.""",
425 # -----------------------------------
426 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSM = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 6",
427 # -----------------------------------
428 # -----------------------------------
429 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_7 = SIMP(statut ='o',
430 # -----------------------------------
431 typ = 'R', min=0, max='**',
432 fr = """Tout est dans le titre.""",
433 ang = """It is all said in the title.""",
435 # -----------------------------------
436 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_7 = SIMP(statut ='o',
437 # -----------------------------------
438 typ = 'R', min=0, max='**',
439 fr = """Tout est dans le titre.""",
440 ang = """It is all said in the title.""",
443 # -----------------------------------
444 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSN = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 7",
445 # -----------------------------------
446 # -----------------------------------
447 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_8 = SIMP(statut ='o',
448 # -----------------------------------
449 typ = 'R', min=0, max='**',
450 fr = """Tout est dans le titre.""",
451 ang = """It is all said in the title.""",
453 # -----------------------------------
454 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_8 = SIMP(statut ='o',
455 # -----------------------------------
456 typ = 'R', min=0, max='**',
457 fr = """Tout est dans le titre.""",
458 ang = """It is all said in the title.""",
461 # -----------------------------------
462 b_NUMBER_OF_VERTICAL_CROSS_SECTIONSO = BLOC(condition="NUMBER_OF_VERTICAL_CROSS_SECTIONS > 8",
463 # -----------------------------------
464 # -----------------------------------
465 ABSCISSAE_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_9 = SIMP(statut ='o',
466 # -----------------------------------
467 typ = 'R', min=0, max='**',
468 fr = """Tout est dans le titre.""",
469 ang = """It is all said in the title.""",
471 # -----------------------------------
472 ORDINATES_OF_THE_VERTICES_OF_VERTICAL_CROSS_SECTION_9 = SIMP(statut ='o',
473 # -----------------------------------
474 typ = 'R', min=0, max='**',
475 fr = """Tout est dans le titre.""",
476 ang = """It is all said in the title.""",
480 # -----------------------------------------------------------------------
481 INTERNAL = PROC(nom= "INTERNAL",op = None,
482 # -----------------------------------------------------------------------
483 UIinfo = {"groupes": ("CACHE")},
484 # -----------------------------------
485 STEERING_FILE = SIMP(statut ='o',
486 # -----------------------------------
487 typ = ('Fichier','All Files (*)'),
489 fr = """Nom du fichier contenant les references des fichiers et
490 les options du calcul a realiser.""",
491 ang = """Name of the file containing the parameters of the computation.
492 Written by the user.""",
494 # -----------------------------------
495 DICTIONARY = SIMP(statut ='o',
496 # -----------------------------------
497 typ = ('Fichier','All Files (*)'),
498 defaut = 'postel3d.dico',
499 fr = """Dictionnaire des mots cles.""",
500 ang = """Key word dictionary.""",
504 COMPUTATION_ENVIRONMENT();\
506 HORIZONTAL_CROSS_SECTION();\
507 VERTICAL_CROSS_SECTION();\
509 Ordre_Des_Commandes = (
510 'COMPUTATION_ENVIRONMENT',
512 'HORIZONTAL_CROSS_SECTION',
513 'VERTICAL_CROSS_SECTION',
518 except Exception as excpt:
520 enum = source+'.postel3d_enum_auto'
521 dicoCasEn = source+'.postel3d_dicoCasEnToCata'
522 dicoCasFr = source+'.postel3d_dicoCasFrToCata'