Salome HOME
Merge remote branch 'origin/nouvelEficas' into nouvelEficas
[tools/eficas.git] / Telemac / Telemac_Cata.py
1 # coding: utf-8
2 # PNPNPNPN
3
4 from Accas import *
5 class DateJJMMAAAA:
6   def __init__(self):
7     self.ntuple=3
8
9   def __convert__(self,valeur):
10     if type(valeur) == types.StringType: return None
11     if len(valeur) != self.ntuple: return None
12     return valeur
13
14   def info(self):
15     return "Date : jj/mm/aaaa "
16
17   __repr__=info
18   __str__=info
19
20 class HeureHHMMSS:
21   def __init__(self):
22     self.ntuple=3
23
24   def __convert__(self,valeur):
25     if type(valeur) == types.StringType: return None
26     if len(valeur) != self.ntuple: return None
27     return valeur
28
29   def info(self):
30     return "heure : hh/mm/ss "
31
32   __repr__=info
33   __str__=info
34
35
36 JdC = JDC_CATA (code = 'MAP',
37                 execmodul = None,
38                 )
39 # ======================================================================
40 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
41 # ======================================================================
42 INITIALIZATION=PROC(nom="INITIALIZATION",op=None,
43      fr="Initialisation des fichiers d'entrée et de sortie",
44      ang="Input and Output files initialization",
45
46      Title = SIMP( statut='o',typ='TXM',fr='Titre du cas etudie. Ce titre figurera sur les dessins.',ang='Title of the case being considered. This title shall be marked on the drawings.'),
47      Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
48
49      Files= FACT(statut='o',
50           Dictionary     = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), defaut='telemac2d.dico', 
51           fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
52           Geometry_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
53           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',
54           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',) ,
55           Geometry_File  = SIMP( statut='o', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
56                 fr='Nom du fichier contenant le maillage du calcul a realiser.',
57                 ang='Name of the file containing the mesh. This file may also contain the topography and the friction coefficients.'),
58           #Steering_File     = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
59           Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
60                     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' ,
61                     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  
63           Results_File     = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
64                                    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.',),
65 # Inexistant eventuellement
66           Fortran_File = SIMP(statut='f',typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
67                               fr='Nom du fichier a soumettre',
68                               ang='Name of FORTRAN file to be submitted',),
69           Boundary_Condition_File = SIMP( statut='o', typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),fr='Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',ang='Name of the file containing the types of boundary conditions. This file is filled automatically by the mesh generator through through colours that are assigned to the boundary nodes.',),
70           Reference_File     = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), 
71           fr= 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
72           ang= 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
73      ),
74
75      Formated_And_Binary_Files=FACT( statut='f',
76           Formated_File1     = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),),
77           Formated_File2     = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),),
78           Binary_Data_File1  = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),),
79           Binary_Data_File2  = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),),
80      ),
81      Computation_Continued=FACT( statut='f',
82           Previous_Computation_File_Format=SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'],defaut='SERAFIN',fr='Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : - SERAFIN : format standard simple precision pour Telemac;  - SERAFIND: format standard double precision pour Telemac; - MED     : format MED base sur HDF5',ang='Previous computation 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',),
83           Previous_Computation_File  = SIMP( statut='o', 
84               typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
85               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.",
86                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                                          ),
88           Previous_Computation_Comm  = SIMP( statut='f', typ = ('Fichier', 'COMM(*.comm);;All Files (*)',),
89               fr  = "Nom du fichier .comm décrivant le cas précédent",
90               ang = "Name of a file containing the earlier study" ,),
91           Initial_Time_Set     = SIMP(typ=bool, statut='f',
92              fr = 'Remet le temps a zero en cas de suite de calcul',
93              ang = 'Initial time set to zero in case of restart',
94              defaut="False"),
95           Record_Number_For_Restart = SIMP(typ='I', statut='o', defaut=0,
96               fr = "numero de l'enregistrementde depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", 
97               ang ="record number to start from in the previous computation file, 0 for last record" ),
98      ),
99      Computation=FACT(statut='o',
100         Machine=FACT( statut='o',
101            Number_of_Processors=SIMP(statut='o',typ='I',val_min=0,defaut=1),
102            Parallel_Computation=SIMP(statut='o',typ=bool,defaut=False),
103          ),
104         Coupling=FACT( statut='o',
105            Sisyphe=SIMP(statut='o',typ=bool,defaut=False),
106            Tomawac=SIMP(statut='o',typ=bool,defaut=False),
107           Delwacq=SIMP(statut='o',typ=bool,defaut=False),
108         fr='Liste des codes avec lesquels on couple Telemac-2D         SISYPHE : couplage interne avec Sisyphe         TOMAWAC : couplage interne avec Tomawac         DELWAQ : sortie de fichiers de resultats pour Delwaq',ang='List of codes to be coupled with Telemac-2D         SISYPHE : internal coupling with Sisyphe         TOMAWAC : internal coupling with Tomawac         DELWAQ: will yield results file for Delwaq',
109         ),
110      ),
111 )
112
113 TIDE_PARAMETERS=PROC(nom="TIDE_PARAMETERS",op=None,
114      fr="",
115      ang="",
116      Time=FACT( statut='o',
117        #Original_Date_of_Time=SIMP(statut='f',typ=DateJJMMAAAA,validators=VerifTypeTuple(('R','R','R'))),
118        #Original_Hour_of_Time=SIMP(statut='f',typ=HeureHHMMSS,validators=VerifTypeTuple(('R','R','R'))),
119        Original_Date_of_Time=FACT( statut='o',
120          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.",
121          ang ='Give the date of the time origin of the model when taking into account the tide generating force.', 
122          Year=SIMP(statut='o',typ='I',val_min=1900,defaut=1900),
123          Month=SIMP(statut='o',typ='I',val_min=1,val_max=12,defaut=1),
124          Day=SIMP(statut='o',typ='I',val_min=1,val_max=31,defaut=1),
125           ),
126        Original_Hour_of_Time=FACT( statut='f',
127          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.",
128          ang ='Give the time of the time origin of the model when taking into account the tide generating force.', 
129          Hour=SIMP(statut='o',typ='I',val_min=0,val_max=24,defaut=0),
130          Minute=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
131          Second=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
132          ),
133       ),
134      Location=FACT( statut='f',
135         #regles=( PRESENT_PRESENT('Longitude_of_origin','Latitute_of_origin', ),),
136         #Spatial_Projection=SIMP(statut='f',typ='I',into=[1,2,3]),
137         #Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,5]),
138
139         Geographic_System=SIMP(statut='f',typ='TXM',
140               into=["DEFINI PAR L'UTILISATEUR", "WGS84 LONGITUDE/LATITUDE EN DEGRES REELS","WGS84 NORD UTM",'WGS84 SUD UTM','LAMBERT', 'MERCATOR'],
141               defaut="DEFINI PAR L'UTILISATEUR",
142               fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
143               ang = 'Geographic coordinates system in which the numerical model is built.Indicate the corresponding zone with the keyword ',
144         ),
145              b_geo_system  = BLOC(condition = "Geographic_System in ('WGS84 LONGITUDE/LATITUDE EN DEGRES REELS','WGS84 NORD UTM','WGS84 SUD UTM','MERCATOR')",
146              Spatial_Projection=SIMP(statut='o',typ='TXM',into=["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"]),
147              ang = 'Option 2 or 3 mandatory for spherical coordinates Option 3: latitude and longitude in radians!',
148              b_lat     = BLOC(condition = "Spatial_Projection == 'LATITUDE LONGITUDE' ",
149                  Latitude_of_origin=SIMP(statut='o',typ='R',val_min=-90,val_max=90,fr="en radians", ang="in radians"),
150                  Longitude_of_origin=SIMP(statut='o',typ='R',fr="en radians", ang="in radians"),
151                          ), # fin bloc b_lat
152              ), # fin bloc b_geo
153         Zone_number_in_Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,22,30],fr="Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane. Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",ang='Number of zone when using a plane projection. Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
154      ),
155 )
156
157 INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None,
158         Initial_Conditions=SIMP(statut='o',typ='TXM',into=['ZERO ELEVATION', 'CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'],defaut='ZERO ELEVATION',
159          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." ,
160           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.', ),
161  
162          b_initial_elevation = BLOC (condition = "Initial_Conditions == 'CONSTANT ELEVATION'",
163            Initial_Elevation       = SIMP(statut='o',typ='R',fr='Valeur utilisee avec l''option :      CONDITIONS INITIALES - COTE CONSTANTE',ang='Value to be used with the option : INITIAL CONDITIONS  -CONSTANT ELEVATION' ),
164          ),
165          b_initial_depth     = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'",
166            Initial_Depth       = SIMP(statut='o',typ='R',fr='Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',ang='Value to be used along with the option:          INITIAL CONDITIONS -CONSTANT DEPTH-' ),
167          ),
168          b_special     = BLOC (condition = "Initial_Conditions == 'SPECIAL'",
169            special    = SIMP(statut='o',typ='TXM',defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"),
170          ),
171          b_initial_TPXO      = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'",
172           Base_Ascii_De_Donnees_De_Maree     = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ),
173            fr  = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
174            ang = 'Tide data base of harmonic constituents extracted from the tidal model file',
175          ),
176
177     Boundary_Conditions=FACT(statut='f', 
178             fr  = 'On donne un ensemble de conditions par frontiere liquide',
179             ang = 'One condition set per liquid boundary is given',
180  # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
181  # en sortie il faut aller chercher le .cli qui va bien 
182             #Liquid_Boundaries=FACT(statut='f',max='**',
183             #    Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics'])
184             #    Prescribed_Flowrates=SIMP(statut='f',typ='R'),
185             #    Prescribed_Elevations=SIMP(statut='f',typ='R'),
186             #    Prescribed_Velocity=SIMP(statut='f',typ='R'),
187       # ),
188 # Il va falloir une "traduction dans le langage du dico"
189 # Il faut seulement l un des 3
190         Liquid_Boundaries=FACT(statut='f',max='**',
191                 
192             Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics'],fr='On donne 1 entier par frontiere liquide      1 : conditions aux limites classiques      2 : methode de Thompson avec calcul de caracteristiques',ang='One integer per liquid boundary is given      1 : classical boundary conditions      2 : Thompson method based on characteristics'),
193
194             Type_Condition=SIMP(statut='o',typ='TXM',into=['Flowrates','Elevations','Velocity'],),
195              b_Flowrates     = BLOC (condition = "Type_Condition == 'Flowrates'",
196                 Prescribed_Flowrates=SIMP(statut='o',typ='R',fr=' Valeurs des debits imposes aux frontieres liquides entrantes. Lire la partie du mode d''emploi consacree aux conditions aux limites',ang='Values of prescribed flowrates at the inflow boundaries. The section about boundary conditions is to be read in the manual'),
197              ),
198              b_Elevations   = BLOC (condition = "Type_Condition == 'Elevations'",
199                 Prescribed_Elevations=SIMP(statut='o',typ='R',fr='Valeurs des cotes imposees aux frontieres liquides entrantes. Lire la partie du mode d''emploi consacree aux conditions aux limites',ang='Values of prescribed elevations at the inflow boundaries. The section about boundary conditions is to be read in the manual'),
200              ),
201              b_Velocity   = BLOC (condition = "Type_Condition == 'Velocity'",
202                 Prescribed_Velocity=SIMP(statut='o',typ='R',fr='Valeurs des vitesses imposees aux frontieres liquides entrantes. Lire la partie du mode d''emploi consacree aux conditions aux limites',ang='Values of prescribed velocities at the liquid inflow boundaries. Refer to the section dealing with the boundary conditions'),
203          ),
204        ),
205        Stage_Discharge_Curves=SIMP(statut='f',typ='I',into=[0,1,2],fr='Indique si une courbe de tarage doit etre utilisee pour une frontiere 0:non 1:Z(Q) 2: Q(Z) (2 non programme)',ang='Says if a discharge-elevation curve must be used for a given boundary :NO 1:Z(Q) 2: Q(Z) (2 not programmed)'),
206        Stage_Discharge_Curves_File   = SIMP( statut='f', typ = ('Fichier', 'All Files (*)',),fr='Nom du fichier contenant les courbes de tarage',ang='Name of the file containing stage-discharge curves',),
207        Treatment_of_Fluxes_at_the_Boundaries   = SIMP( statut='f',typ='I',into=[1,2],sug=1,fr='Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouvepas exactement les valeurs imposees des traceurs,mais le flux est correct',ang='Used so far only with the SUPG, PSI and N schemes.With option 2, Dirichlet prescribed values are not obeyed,but the fluxes are correct'),
208        Option_for_tidal_Boundary_Conditions   = SIMP( statut='f',typ='I',into=[1,2],sug=1),
209    ),
210 )
211
212 NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None,
213         Solver=FACT(statut='o',
214           Equations=SIMP(statut='o',typ='TXM',into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'],sug='SAINT-VENANT EF'),
215           Solver=SIMP(statut='o',typ='I',into=[1,2,3,4,6,7,8]),
216           Solver_Accuracy=SIMP(statut='o',typ='R'),
217           Maximum_Number_of_Iterations=SIMP(statut='o',typ='I'),
218         ),
219         Time=FACT(statut='f',
220         regles=(AU_MOINS_UN('Number_of_time_Steps','Variable_Time_Step'),
221                 PRESENT_PRESENT('Time_Step','Duration',),),
222            Number_of_Time_Steps=SIMP(statut='f',typ='I'),
223            Time_Step=SIMP(statut='f',typ='R'),
224            Duration=SIMP(statut='f',typ='R'),
225            Variable_Time_Step=SIMP(statut='f',typ=bool),
226         ),
227         Linearity=FACT(statut='f',
228            Treatment_of_Fluxes_at_the_Boundaries =SIMP( statut='f',typ='I',into=[1,2],sug=1),
229            Continuity_Correction  =SIMP(typ=bool, statut='f'),
230            Number_of_Sub_Iterations=SIMP(statut='f',typ='I'),
231         ),
232         Precondionning=FACT(statut='f',
233           Preconditionning=SIMP(statut='f',typ='I',into=[0,2,3,7,11,14,21],sug=2),
234           C_U_Preconditionning  =SIMP(typ=bool, statut='f',),
235           Matrix_Vector_Product =SIMP(statut='f',typ='I',into=[1,2]),
236           Matrix_Storage =SIMP(statut='f',typ='I',into=[1,3]),
237           Mass_Lumping_on_H =SIMP(statut='f',typ='R',sug=0),
238           Mass_Lumping_on_Velocity =SIMP(statut='f',typ='R',sug=0),
239         ),
240         Advection_Propagation=FACT(statut='f',
241           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),),
242           Advection_of_U_and_V=SIMP(statut='f',typ=bool),
243           Advection_of_H=SIMP(statut='f',typ=bool),
244           Advection_of_Tracers=SIMP(statut='f',typ=bool),
245           Advection_of_K_and_Epsilon=SIMP(statut='f',typ=bool),
246
247          b_upwind     =BLOC(condition = "2 in Type_of_Advection",
248             Upwind_Coefficients=SIMP(statut='o',typ='R',min=4,max=4,)
249            ),
250           Linearized_Propoagation=SIMP(statut='f',typ=bool,sug=False),
251           Mean_Depth_For_Linearity=SIMP(statut='f',typ='R',sug=0.0),
252         ),
253         Discretisation_Implicitation=FACT(statut='f',
254           Discretisation_in_Space=SIMP(statut='f',typ='I',min=4,max=4,into=[11,12,13],defaut=(11,11,11),),
255           Implicitation_for_Diffusion_of_velocity=SIMP(statut='f',typ='R',sug=0),
256           Implicitation_for_Depth=SIMP(statut='f',typ='R',sug=0.55),
257           Implicitation_for_Velocity=SIMP(statut='f',typ='R',sug=0.55),
258           Free_Surface_Gradient_Compatibility=SIMP(statut='f',typ='R',sug=1.),
259         ),
260         Initial_Guess_for_H=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
261         Initial_Guess_for_U=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',),
262 )
263
264 PHYSICAL_PARAMETERS=PROC(nom="PHYSICAL_PARAMETERS",op=None,
265         Atmosphere=FACT(statut='f',
266           Wind=SIMP(statut='f',typ=bool,sug=False),
267           b_Wind     =BLOC(condition = "Wind=='True'",
268             regles=( PRESENT_PRESENT('Wind_Velocity_along_X','Wind_Velocity_along_Y', ),),
269             Coefficient_of_Wind_Influence=SIMP(statut='f',typ='R',sug=0,),
270             Wind_Velocity_along_X=SIMP(statut='f',typ='R',sug=0,),
271             Wind_Velocity_along_Y=SIMP(statut='f',typ='R',sug=0,),
272             Threashold_Depth_for_Wind=SIMP(statut='f',typ='R',sug=0,),
273             Air_Pressure=SIMP(statut='f',typ=bool,sug=False),
274          ),
275           Rain_or_Evaporation=SIMP(statut='f',typ=bool,sug=False),
276           b_Rain     =BLOC(condition = "Rain_or_Evaporation=='True'",
277             Rain_or_Evaporation_in_mm_perday=SIMP(statut='f',typ='I',sug=0),
278                          ),
279          ),
280           Tide_Generating_Force=SIMP(statut='f',typ=bool,sug=False),
281           b_Tide     =BLOC(condition = "Tide_Generating_Force=='True'",
282               Tidal_Data_Base=SIMP(statut='f',typ='I',into=[-1,1,2,3,4]),
283               Coefficient_To_Calibrate_Tidal_Range=SIMP(statut='f',typ='R',sug=1.),
284               Coefficient_To_Calibrate_Tidal_Velocity=SIMP(statut='f',typ='R',sug=999999),
285               Coefficient_To_Calibrate_Sea_Level=SIMP(statut='f',typ='R',sug=0.),
286               Binary_Database_1_for_Tide  = SIMP( statut='f', typ = ('Fichier', '(All Files (*)',),),
287               Binary_Database_2_for_Tide  = SIMP( statut='f', typ = ('Fichier', '(All Files (*)',),),
288          ),
289           Wave_Driver_Currents=SIMP(statut='f',typ=bool,sug=False),
290           b_Wave     =BLOC(condition = "Wave_Driver_Currents=='True'",
291               Record_Number_in_Wave_File=SIMP(statut='f',typ='I',sug=1),
292          ),
293 )
294
295 POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None,
296    Graphic_Printouts=FACT(statut='f',
297         Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
298         Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
299         Variables_For_Graphic_Printouts=SIMP(statut='f',max="**", typ='TXM'),
300         # ajouter le into
301    ),
302   Listing__Printouts=FACT(statut='f',
303         Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
304         Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
305         Variables_to_be_printed=SIMP(statut='f',max="**", typ='TXM'),
306         # ajouter le into
307    ),
308 )