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 "
23 def __convert__(self,valeur):
24 if type(valeur) == types.StringType: return None
25 if len(valeur) != self.ntuple: return None
29 return "heure : hh/mm/ss "
35 JdC = JDC_CATA (code = 'MAP',
38 # ======================================================================
39 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
40 # ======================================================================
41 INITIALIZATION=PROC(nom="INITIALIZATION",op=None,
42 fr="Initialisation des fichiers d'entrée et de sortie",
43 ang="Input and Output files initialization",
45 Title = SIMP( statut='o',typ='TXM'),
46 Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
48 Files= FACT(statut='o',
49 Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), defaut='telemac2d.dico',
50 fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
51 Geometry_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
52 fr='Format du fichier de geometrie. Les valeurs possibles sont : - SERAFIN : format standard simple precision pour Telemac; - SERAFIND: format standard double precision pour Telemac; - MED : format MED base sur HDF5',
53 ang='Results file format. Possible values are: - SERAFIN : classical single precision format in Telemac; - SERAFIND: classical double precision format in Telemac; - MED : MED format based on HDF5',) ,
54 Geometry_File = SIMP( statut='o', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
55 fr='Nom du fichier contenant le maillage du calcul a realiser.',
56 ang='Name of the file containing the mesh. This file may also contain the topography and the friction coefficients.'),
57 #Steering_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
58 Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
59 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n- SERAFIN : format standard simple precision pour Telemac; - SERAFIND: format standard double precision pour Telemac; - MED : format MED base sur HDF5' ,
60 ang = 'Results file format. Possible values are:\n - SERAFIN : classical single precision format in Telemac;\n - SERAFIND: classical double precision format in Telemac; - MED : MED format based on HDF5' ,),
62 Results_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
63 fr='Nom du fichier dans lequel seront ecrits les resultats du calcul avec la periodicite donnee par le mot cle : PERIODE POUR LES SORTIES GRAPHIQUES.', ang='Name of the file into which the computation results shall be written, the periodicity being given by the key-word: GRAPHIC PRINTOUT PERIOD.',),
64 # Inexistant eventuellement
65 Fortran_File = SIMP(statut='f',typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
66 fr='Nom du fichier a soumettre',
67 ang='Name of FORTRAN file to be submitted',),
68 Boundary_Condition_File = SIMP( statut='o', typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),),
69 Reference_File = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',),
70 fr= 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
71 ang= 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
74 Formated_And_Binary_Files=FACT( statut='f',
75 Formated_File1 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),),
76 Formated_File2 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),),
77 Binary_Data_File1 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),),
78 Binary_Data_File2 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),),
80 Computation_Continued=FACT( statut='f',
81 Previous_Computation_File_Format=SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'],defaut='SERAFIN',),
82 Previous_Computation_File = SIMP( statut='o',
83 typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
84 fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.",
85 ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh. The last recorded time step will provid the initial conditions for the new computation.',
87 Previous_Computation_Comm = SIMP( statut='f', typ = ('Fichier', 'COMM(*.comm);;All Files (*)',),
88 fr = "Nom du fichier .comm décrivant le cas précédent",
89 ang = "Name of a file containing the earlier study" ,),
90 Initial_Time_Set = SIMP(typ=bool, statut='f',
91 fr = 'Remet le temps a zero en cas de suite de calcul',
92 ang = 'Initial time set to zero in case of restart',
94 Record_Number_For_Restart = SIMP(typ='I', statut='o', defaut=0,
95 fr = "numero de l'enregistrementde depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement",
96 ang ="record number to start from in the previous computation file, 0 for last record" ),
98 Computation=FACT(statut='o',
99 Machine=FACT( statut='o',
100 Number_of_Processors=SIMP(statut='o',typ='I',val_min=0,defaut=1),
101 Parallel_Computation=SIMP(statut='o',typ=bool,defaut=False),
103 Coupling=FACT( statut='o',
104 Sisyphe=SIMP(statut='o',typ=bool,defaut=False),
105 Tomawac=SIMP(statut='o',typ=bool,defaut=False),
106 Delwacq=SIMP(statut='o',typ=bool,defaut=False),
111 TIDE_PARAMETERS=PROC(nom="TIDE_PARAMETERS",op=None,
114 Time=FACT( statut='o',
115 #Original_Date_of_Time=SIMP(statut='f',typ=DateJJMMAAAA,validators=VerifTypeTuple(('R','R','R'))),
116 #Original_Hour_of_Time=SIMP(statut='f',typ=HeureHHMMSS,validators=VerifTypeTuple(('R','R','R'))),
117 Original_Date_of_Time=FACT( statut='o',
118 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.",
119 ang ='Give the date of the time origin of the model when taking into account the tide generating force.',
120 Year=SIMP(statut='o',typ='I',val_min=1900,defaut=1900),
121 Month=SIMP(statut='o',typ='I',val_min=1,val_max=12,defaut=1),
122 Day=SIMP(statut='o',typ='I',val_min=1,val_max=31,defaut=1),
124 Original_Hour_of_Time=FACT( statut='f',
125 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.",
126 ang ='Give the time of the time origin of the model when taking into account the tide generating force.',
127 Hour=SIMP(statut='o',typ='I',val_min=0,val_max=24,defaut=0),
128 Minute=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
129 Second=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
132 Location=FACT( statut='f',
133 #regles=( PRESENT_PRESENT('Longitude_of_origin','Latitute_of_origin', ),),
134 #Spatial_Projection=SIMP(statut='f',typ='I',into=[1,2,3]),
135 #Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,5]),
137 Geographic_System=SIMP(statut='f',typ='TXM',
138 into=["DEFINI PAR L'UTILISATEUR", "WGS84 LONGITUDE/LATITUDE EN DEGRES REELS","WGS84 NORD UTM",'WGS84 SUD UTM','LAMBERT', 'MERCATOR'],
139 defaut="DEFINI PAR L'UTILISATEUR",
140 fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
141 ang = 'Geographic coordinates system in which the numerical model is built.Indicate the corresponding zone with the keyword ',
143 b_geo_system = BLOC(condition = "Geographic_System in ('WGS84 LONGITUDE/LATITUDE EN DEGRES REELS','WGS84 NORD UTM','WGS84 SUD UTM','MERCATOR')",
144 Spatial_Projection=SIMP(statut='o',typ='TXM',into=["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"]),
145 ang = 'Option 2 or 3 mandatory for spherical coordinates Option 3: latitude and longitude in radians!',
146 b_lat = BLOC(condition = "Spatial_Projection == 'LATITUDE LONGITUDE' ",
147 Latitude_of_origin=SIMP(statut='o',typ='R',val_min=-90,val_max=90,fr="en radians", ang="in radians"),
148 Longitude_of_origin=SIMP(statut='o',typ='R',fr="en radians", ang="in radians"),
151 Zone_number_in_Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,22,30]),
155 INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None,
156 Initial_Conditions=SIMP(statut='o',typ='TXM',into=['ZERO ELEVATION', 'CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'],defaut='ZERO ELEVATION',
157 fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont : - COTE NULLE. Initialise la cote de surface libre a 0. Les hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. - 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.- HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur la base des donnees. satellite TPXO dont les 8 premiers constistuents ont ete extrait et sauves dans le fichier BASE DE DONNEES DE MAREE." ,
158 ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are as follows: - ZERO ELEVATION-. Initializes the free surface elevation to 0.The initial water depths are then found by computing the difference between the free surface and the bottom. - CONSTANT ELEVATION-. Initializes the water elevation to the value given by the keyword -INITIAL ELEVATION-. The initial water depths are computed as in the previous case. - ZERO DEPTH-. Initializes the water depths to 0. - CONSTANT DEPTH-. Initializes the water depths to the value givenby the key-word -INITIAL DEPTH-. - SPECIAL-. The initial conditions with the water depth should be stated in the CONDIN subroutine. - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface andvelocities are established from the TPXO satellite program data, the harmonicconstituents of which are stored in the TIDE DATA BASE file.', ),
160 b_initial_elevation = BLOC (condition = "Initial_Conditions == 'CONSTANT ELEVATION'",
161 Initial_Elevation = SIMP(statut='o',typ='R' ),
163 b_initial_depth = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'",
164 Initial_Depth = SIMP(statut='o',typ='R' ),
166 b_special = BLOC (condition = "Initial_Conditions == 'SPECIAL'",
167 special = SIMP(statut='o',typ='TXM',defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"),
169 b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'",
170 Base_Ascii_De_Donnees_De_Maree = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ),
171 fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
172 ang = 'Tide data base of harmonic constituents extracted from the tidal model file',
175 Boundary_Conditions=FACT(statut='f',
176 fr = 'On donne un ensemble de conditions par frontiere liquide',
177 ang = 'One condition set per liquid boundary is given',
178 # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
179 # en sortie il faut aller chercher le .cli qui va bien
180 #Liquid_Boundaries=FACT(statut='f',max='**',
181 # Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics'])
182 # Prescribed_Flowrates=SIMP(statut='f',typ='R'),
183 # Prescribed_Elevations=SIMP(statut='f',typ='R'),
184 # Prescribed_Velocity=SIMP(statut='f',typ='R'),
186 # Il va falloir une "traduction dans le langage du dico"
187 # Il faut seulement l un des 3
188 Liquid_Boundaries=FACT(statut='f',max='**',
190 Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics']),
192 Type_Condition=SIMP(statut='o',typ='TXM',into=['Flowrates','Elevations','Velocity'],),
193 b_Flowrates = BLOC (condition = "Type_Condition == 'Flowrates'",
194 Prescribed_Flowrates=SIMP(statut='o',typ='R'),
196 b_Elevations = BLOC (condition = "Type_Condition == 'Elevations'",
197 Prescribed_Elevations=SIMP(statut='o',typ='R'),
199 b_Velocity = BLOC (condition = "Type_Condition == 'Velocity'",
200 Prescribed_Velocity=SIMP(statut='o',typ='R'),
203 Stage_Discharge_Curves=SIMP(statut='f',typ='I',into=[0,1,2]),
204 Stage_Discharge_Curves_File = SIMP( statut='f', typ = ('Fichier', 'All Files (*)',),),
205 Treatment_of_Fluxes_at_the_Boundaries = SIMP( statut='f',typ='I',into=[1,2],sug=1),
206 Option_for_tidal_Boundary_Conditions = SIMP( statut='f',typ='I',into=[1,2],sug=1),
210 NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None,
211 Solver=FACT(statut='o',
212 Equations=SIMP(statut='o',typ='TXM',into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'],sug='SAINT-VENANT EF'),
213 Solver=SIMP(statut='o',typ='I',into=[1,2,3,4,6,7,8]),
214 Solver_Accuracy=SIMP(statut='o',typ='R'),
215 Maximum_Number_of_Iterations=SIMP(statut='o',typ='I'),
217 Time=FACT(statut='f',
218 regles=(AU_MOINS_UN('Number_of_time_Steps','Variable_Time_Step'),
219 PRESENT_PRESENT('Time_Step','Duration',),),
220 Number_of_Time_Steps=SIMP(statut='f',typ='I'),
221 Time_Step=SIMP(statut='f',typ='R'),
222 Duration=SIMP(statut='f',typ='R'),
223 Variable_Time_Step=SIMP(statut='f',typ=bool),
225 Linearity=FACT(statut='f',
226 Treatment_of_Fluxes_at_the_Boundaries =SIMP( statut='f',typ='I',into=[1,2],sug=1),
227 Continuity_Correction =SIMP(typ=bool, statut='f'),
228 Number_of_Sub_Iterations=SIMP(statut='f',typ='I'),
230 Precondionning=FACT(statut='f',
231 Preconditionning=SIMP(statut='f',typ='I',into=[0,2,3,7,11,14,21],sug=2),
232 C_U_Preconditionning =SIMP(typ=bool, statut='f',),
233 Matrix_Vector_Product =SIMP(statut='f',typ='I',into=[1,2]),
234 Matrix_Storage =SIMP(statut='f',typ='I',into=[1,3]),
235 Mass_Lumping_on_H =SIMP(statut='f',typ='R',sug=0),
236 Mass_Lumping_on_Velocity =SIMP(statut='f',typ='R',sug=0),
238 Advection_Propagation=FACT(statut='f',
239 Type_of_Advection=SIMP(statut='f',typ='I',min=4,max=4,into=[1,2,3,4,5,6,7,13,14],defaut=(1,5,1,1),),
240 Advection_of_U_and_V=SIMP(statut='f',typ=bool),
241 Advection_of_H=SIMP(statut='f',typ=bool),
242 Advection_of_Tracers=SIMP(statut='f',typ=bool),
243 Advection_of_K_and_Epsilon=SIMP(statut='f',typ=bool),
245 b_upwind =BLOC(condition = "2 in Type_of_Advection",
246 Upwind_Coefficients=SIMP(statut='o',typ='R',min=4,max=4,)
248 Linearized_Propoagation=SIMP(statut='f',typ=bool,sug=False),
249 Mean_Depth_For_Linearity=SIMP(statut='f',typ='R',sug=0.0),
251 Discretisation_Implicitation=FACT(statut='f',
252 Discretisation_in_Space=SIMP(statut='f',typ='I',min=4,max=4,into=[11,12,13],defaut=(11,11,11),),
253 Implicitation_for_Diffusion_of_velocity=SIMP(statut='f',typ='R',sug=0),
254 Implicitation_for_Depth=SIMP(statut='f',typ='R',sug=0.55),
255 Implicitation_for_Velocity=SIMP(statut='f',typ='R',sug=0.55),
256 Free_Surface_Gradient_Compatibility=SIMP(statut='f',typ='R',sug=1.),
258 Initial_Guess_for_H=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
259 Initial_Guess_for_U=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
262 PHYSICAL_PARAMETERS=PROC(nom="PHYSICAL_PARAMETERS",op=None,
263 Atmosphere=FACT(statut='f',
264 Wind=SIMP(statut='f',typ=bool,sug=False),
265 b_Wind =BLOC(condition = "Wind=='True'",
266 regles=( PRESENT_PRESENT('Wind_Velocity_along_X','Wind_Velocity_along_Y', ),),
267 Coefficient_of_Wind_Influence=SIMP(statut='f',typ='R',sug=0,),
268 Wind_Velocity_along_X=SIMP(statut='f',typ='R',sug=0,),
269 Wind_Velocity_along_Y=SIMP(statut='f',typ='R',sug=0,),
270 Threashold_Depth_for_Wind=SIMP(statut='f',typ='R',sug=0,),
271 Air_Pressure=SIMP(statut='f',typ=bool,sug=False),
273 Rain_or_Evaporation=SIMP(statut='f',typ=bool,sug=False),
274 b_Rain =BLOC(condition = "Rain_or_Evaporation=='True'",
275 Rain_or_Evaporation_in_mm_perday=SIMP(statut='f',typ='I',sug=0),
278 Tide_Generating_Force=SIMP(statut='f',typ=bool,sug=False),
279 b_Tide =BLOC(condition = "Tide_Generating_Force=='True'",
280 Tidal_Data_Base=SIMP(statut='f',typ='I',into=[-1,1,2,3,4]),
281 Coefficient_To_Calibrate_Tidal_Range=SIMP(statut='f',typ='R',sug=1.),
282 Coefficient_To_Calibrate_Tidal_Velocity=SIMP(statut='f',typ='R',sug=999999),
283 Coefficient_To_Calibrate_Sea_Level=SIMP(statut='f',typ='R',sug=0.),
284 Binary_Database_1_for_Tide = SIMP( statut='f', typ = ('Fichier', '(All Files (*)',),),
285 Binary_Database_2_for_Tide = SIMP( statut='f', typ = ('Fichier', '(All Files (*)',),),
287 Wave_Driver_Currents=SIMP(statut='f',typ=bool,sug=False),
288 b_Wave =BLOC(condition = "Wave_Driver_Currents=='True'",
289 Record_Number_in_Wave_File=SIMP(statut='f',typ='I',sug=1),
293 POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None,
294 Graphic_Printouts=FACT(statut='f',
295 Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
296 Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
297 Variables_For_Graphic_Printouts=SIMP(statut='f',max="**", typ='TXM'),
300 Listing__Printouts=FACT(statut='f',
301 Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
302 Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
303 Variables_to_be_printed=SIMP(statut='f',max="**", typ='TXM'),