From bda11c1064fa84c1d7bca9c90a38780cdaca5627 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 10 Mar 2015 13:54:01 +0100 Subject: [PATCH] PourLaurent --- Telemac/Telemac_Cata.py | 600 ++++++++++--- Telemac/Telemac_Cata_nouveau.py | 1442 +++++++++++++++++++++++++++++++ Telemac/prefs_TELEMAC.py | 3 +- generator/generator_TELEMAC.py | 109 +++ 4 files changed, 2046 insertions(+), 108 deletions(-) create mode 100644 Telemac/Telemac_Cata_nouveau.py create mode 100644 generator/generator_TELEMAC.py diff --git a/Telemac/Telemac_Cata.py b/Telemac/Telemac_Cata.py index e0d2a211..96258fd2 100644 --- a/Telemac/Telemac_Cata.py +++ b/Telemac/Telemac_Cata.py @@ -17,20 +17,21 @@ class DateJJMMAAAA: __repr__=info __str__=info -class HeureHHMMSS: - def __init__(self): - self.ntuple=3 +import types +class Tuple: + def __init__(self,ntuple): + self.ntuple=ntuple def __convert__(self,valeur): - if type(valeur) == types.StringType: return None - if len(valeur) != self.ntuple: return None + if type(valeur) == types.StringType: + return None + if len(valeur) != self.ntuple: + return None return valeur def info(self): - return "heure : hh/mm/ss " + return "Tuple de %s elements" % self.ntuple - __repr__=info - __str__=info JdC = JDC_CATA (code = 'MAP', @@ -43,48 +44,119 @@ INITIALIZATION=PROC(nom="INITIALIZATION",op=None, fr="Initialisation des fichiers d'entrée et de sortie", ang="Input and Output files initialization", - 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.'), - Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'), + 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.' + ), + #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'), + + Input_Files= FACT(statut='o', + Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), + defaut='telemac2d.dico', + fr='Dictionnaire des mots cles.', ang='Key word dictionary.',), - Files= FACT(statut='o', - Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), defaut='telemac2d.dico', - fr='Dictionnaire des mots cles.', ang='Key word dictionary.',), Geometry_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN', - 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', - 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',) , + fr='Format du fichier de geometrie. Les valeurs possibles sont : \n \ + - SERAFIN : format standard simple precision pour Telemac; \n \ + - SERAFIND: format standard double precision pour Telemac; \n \ + - MED : format MED base sur HDF5', + ang='Results file format. Possible values are: \n\ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac;\n\ + - MED : MED format based on HDF5',) , + Geometry_File = SIMP( statut='o', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), - fr='Nom du fichier contenant le maillage du calcul a realiser.', - ang='Name of the file containing the mesh. This file may also contain the topography and the friction coefficients.'), + fr='Nom du fichier contenant le maillage du calcul a realiser.', + ang='Name of the file containing the mesh. \n\ + This file may also contain the topography and the friction coefficients.'), + #Steering_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),), - Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN', - 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' , - 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' ,), - - Results_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',), - 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.',), -# Inexistant eventuellement + + Bottom_Topography_File = SIMP( statut='f', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), + fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \ +Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.", + ang = 'Name of the possible file containing the bathymetric data.\ +Where this keyword is used, these bathymetric data shall be used in the computation.', + ), + Fortran_File = SIMP(statut='f',typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'), fr='Nom du fichier a soumettre', ang='Name of FORTRAN file to be submitted',), + 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.',), - Reference_File = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), + + + Validation=FACT( statut='f', + + Reference_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN', + fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5' , + ang = 'Results file format. Possible values are:\n \ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5' ,), + + Reference_File = SIMP( statut='o', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), fr= 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.', ang= 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',), - ), + ), # Fin de Validation + + + Formatted_And_Binary_Files=FACT( statut='f', + + Formatted_File1 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), + fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 26.", + ang = 'Formatted data file made available to the user.\n\ +The data in this file shall be read on channel 26.', + ), + Formatted_File2 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), + fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 27.", + ang = "Formatted data file made available to the user.\n\ +The data in this file shall be read on channel 27.", + ), + Binary_Data_File1 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',), + fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\ +Les donnees de ce fichier seront a lire sur le canal 24.', + ang = 'Binary-coded data file made available to the user.\n\ +The data in this file shall be read on channel 24.', + ), + Binary_Data_File2 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',), + fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\ +Les donnees de ce fichier seront a lire sur le canal 25.', + ang = 'Binary-coded data file made available to the user. \n\ +The data in this file shall be read on channel 25.', + ), + ), # fin Formatted_And_Binary_Files + +), # Fin de InputFile + - Formated_And_Binary_Files=FACT( statut='f', - Formated_File1 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),), - Formated_File2 = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),), - Binary_Data_File1 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),), - Binary_Data_File2 = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),), - ), Computation_Continued=FACT( statut='f', - 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',), + + 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 : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5', + ang='Previous computation results file format. Possible values are: \n\ + - SERAFIN : classical single precision format in Telemac; \n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5', + ), + Previous_Computation_File = SIMP( statut='o', typ = ('Fichier', 'Computation File (*.res);;All Files (*)',), - 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.", - 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.', - ), + fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\ + et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.", + ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\ + The last recorded time step will provid the initial conditions for the new computation.', + ), Previous_Computation_Comm = SIMP( statut='f', typ = ('Fichier', 'COMM(*.comm);;All Files (*)',), fr = "Nom du fichier .comm décrivant le cas précédent", ang = "Name of a file containing the earlier study" ,), @@ -93,19 +165,28 @@ INITIALIZATION=PROC(nom="INITIALIZATION",op=None, ang = 'Initial time set to zero in case of restart', defaut="False"), Record_Number_For_Restart = SIMP(typ='I', statut='o', defaut=0, - fr = "numero de l'enregistrementde depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", + fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", ang ="record number to start from in the previous computation file, 0 for last record" ), ), + Computation=FACT(statut='o', Machine=FACT( statut='o', +# A voir plus tar Obsolete ? Number_of_Processors=SIMP(statut='o',typ='I',val_min=0,defaut=1), - Parallel_Computation=SIMP(statut='o',typ=bool,defaut=False), + #Parallel_Computation=SIMP(statut='o',typ=bool,defaut=False), ), Coupling=FACT( statut='o', Sisyphe=SIMP(statut='o',typ=bool,defaut=False), Tomawac=SIMP(statut='o',typ=bool,defaut=False), Delwacq=SIMP(statut='o',typ=bool,defaut=False), - 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', + fr='Liste des codes avec lesquels on couple Telemac-2D\n\ + SISYPHE : couplage interne avec Sisyphe\n\ + TOMAWAC : couplage interne avec Tomawac\n\ + DELWAQ : sortie de fichiers de resultats pour Delwaq', + ang='List of codes to be coupled with Telemac-2D\n\ + SISYPHE : internal coupling with Sisyphe\n\ + TOMAWAC : internal coupling with Tomawac\n\ + DELWAQ: will yield results file for Delwaq', ), ), ) @@ -150,29 +231,63 @@ TIDE_PARAMETERS=PROC(nom="TIDE_PARAMETERS",op=None, Longitude_of_origin=SIMP(statut='o',typ='R',fr="en radians", ang="in radians"), ), # fin bloc b_lat ), # fin bloc b_geo - 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'), - ), -) + + Zone_number_in_Geographic_System=SIMP(statut='f',typ='I', + #into=[-1,0,1,2,3,4,22,30], + into=[ 'LAMBERT 1 NORD', 'LAMBERT 2 CENTRE', 'LAMBERT 3 SUD', 'LAMBERT 4 CORSE', 'LAMBERT 2 ETENDU', 'ZONE UTM, PAR EXEMPLE'], + fr="Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE", + ang='Number of zone when using a plane projection. \nIndicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'), + ), +) # Fin TIDE_PARAMETERS INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None, - Initial_Conditions=SIMP(statut='o',typ='TXM',into=['ZERO ELEVATION', 'CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'],defaut='ZERO ELEVATION', - 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." , - 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.', ), + + Initial_Conditions=SIMP(statut='o',typ='TXM', + into=['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'], + defaut='ZERO ELEVATION', + fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\ + - 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\ + - 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\ + - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\ + - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\ + - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\ + - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\ + la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\ + BASE DE DONNEES DE MAREE." , + ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\ + - 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\ + - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\ + - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\ + - ZERO DEPTH. Initializes the water depths to 0. \n\ + - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\ + - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\ + - 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.', ), b_initial_elevation = BLOC (condition = "Initial_Conditions == 'CONSTANT ELEVATION'", - 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' ), - ), - b_initial_depth = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'", - 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-' ), - ), - b_special = BLOC (condition = "Initial_Conditions == 'SPECIAL'", - special = SIMP(statut='o',typ='TXM',defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"), - ), - b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'", - Base_Ascii_De_Donnees_De_Maree = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ), + 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' + ), + ) , # fin b_initial_elevation + + b_initial_depth = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'", + 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-' ), + ),# fin b_initial_depth + + b_special= BLOC (condition = "Initial_Conditions == 'SPECIAL'", + # Ce mot clef est juste informatif + special = SIMP(statut='o',typ='TXM', + defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"), + ), # fin b_special + + + b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'", + Base_Ascii_De_Donnees_De_Maree = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ), fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree', ang = 'Tide data base of harmonic constituents extracted from the tidal model file', - ), + ), # fin b_initial_TPXO Boundary_Conditions=FACT(statut='f', fr = 'On donne un ensemble de conditions par frontiere liquide', @@ -185,70 +300,295 @@ INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None, # Prescribed_Elevations=SIMP(statut='f',typ='R'), # Prescribed_Velocity=SIMP(statut='f',typ='R'), # ), + # Il va falloir une "traduction dans le langage du dico" # Il faut seulement l un des 3 + Liquid_Boundaries=FACT(statut='f',max='**', - 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'), + Options=SIMP(statut='f',typ='I', + into=['classical boundary conditions','Thompson method based on characteristics'], + fr='On donne 1 entier par frontiere liquide', + ang='One integer per liquid boundary is given', + ), + + Type_Condition=SIMP(statut='o',typ='TXM',into=['Flowrates','Elevations','Velocity'],), +#????? - Type_Condition=SIMP(statut='o',typ='TXM',into=['Flowrates','Elevations','Velocity'],), - b_Flowrates = BLOC (condition = "Type_Condition == 'Flowrates'", - 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'), + b_Flowrates = BLOC (condition = "Type_Condition == 'Flowrates'", + Prescribed_Flowrates=SIMP(statut='o',typ='R', + fr=' Valeurs des debits imposes aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang='Values of prescribed flowrates at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'), ), - b_Elevations = BLOC (condition = "Type_Condition == 'Elevations'", - 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'), + + b_Elevations = BLOC (condition = "Type_Condition == 'Elevations'", + Prescribed_Elevations=SIMP(statut='o',typ='R', + fr='Valeurs des cotes imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang='Values of prescribed elevations at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'), ), - b_Velocity = BLOC (condition = "Type_Condition == 'Velocity'", - 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'), + + b_Velocity = BLOC (condition = "Type_Condition == 'Velocity'", + Prescribed_Velocity=SIMP(statut='o',typ='R', + fr='Valeurs des vitesses imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites', + ang='Values of prescribed velocities at the liquid inflow boundaries.\n Refer to the section dealing with the boundary conditions'), ), + + ), # fin des Liquid_Boundaries + + Stage_Discharge_Curves = SIMP(statut='f',typ='I', + #into=[0,1,2], + into=["no","Z(Q)","not programmed"], + fr='Indique si une courbe de tarage doit etre utilisee pour une frontiere', + ang='Says if a discharge-elevation curve must be used for a given boundary', + ), + b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves == 'Z(Q)'", + 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', + ), + ), + + Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut='f',typ='TXM', + into=["Priority to prescribed values","Priority to fluxes"], + fr='Utilise pour les schemas SUPG, PSI et N, \n\ +si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct', + ang='Used so far only with the SUPG, PSI and N schemes.\n\ +if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct' + ), + +#???? into no coherent avec dico +# Ira dans la marée + Option_For_Tidal_Boundary_Conditions = SIMP( statut='f',typ='I', + #into=[1,2],sug=1), + into=['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', 'Mean spring tide', 'Mean tide',\ + 'Mean neap tide', 'Astronomical neap tide', 'Real tide (methodology before 2010)'], ), - 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)'), - 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',), - 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'), - Option_for_tidal_Boundary_Conditions = SIMP( statut='f',typ='I',into=[1,2],sug=1), - ), -) + + + ), # fin Boundary_Conditions + +) # fin INITIAL_STATE NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None, + Solver=FACT(statut='o', - Equations=SIMP(statut='o',typ='TXM',into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'],sug='SAINT-VENANT EF'), - Solver=SIMP(statut='o',typ='I',into=[1,2,3,4,6,7,8]), - Solver_Accuracy=SIMP(statut='o',typ='R'), - Maximum_Number_of_Iterations=SIMP(statut='o',typ='I'), - ), + + Equations=SIMP(statut='o',typ='TXM', + into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'], + defaut='SAINT-VENANT EF', + fr='Choix des equations a resoudre', + ang= 'Choice of equations to solve', + ), + + Solver=SIMP(statut='o',typ='TXM', + into = ["conjugate gradient", "conjugate residual", "minimum error", "cgstab", "gmres", "direct",], + fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\ +Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\ + 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\ + 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\ + 7 : gmres (voir aussi option du solveur) 8 : direct', +ang = 'Makes it possible to select the solver used for solving the propagation step.\n\ +All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\ +1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\ +4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\ +7: gmres (see option for solver) 8: direct', + ), + + b_gmres = BLOC (condition = "Solver == 'gmres'", + Solver_Option = SIMP(statut='o',typ='I', defaut=2, val_min=2,val_max=15, + fr = 'la dimension de l''espace de KRILOV', + ang = 'dimension of the KRYLOV space', + ), + ), + + Solver_Accuracy = SIMP(statut='o',typ='R', defaut=1e-4, + fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).', + ang = 'Required accuracy for solving the propagation step (refer to Principle note).', + ), + + Maximum_Number_of_Iterations_For_Solver=SIMP(statut='o',typ='I', defaut=40, + fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\ +il est necessaire de limiter le nombre d''iterations autorisees.\n\ +Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.', + ang = 'Since the algorithms used for solving the propagation step are iterative, \ +the allowed number of iterations should be limited.\n\ +Note: a maximum number of 40 iterations per time step seems to be reasonable.', + ), + ), # fin Solver + Time=FACT(statut='f', - regles=(AU_MOINS_UN('Number_of_time_Steps','Variable_Time_Step'), - PRESENT_PRESENT('Time_Step','Duration',),), - Number_of_Time_Steps=SIMP(statut='f',typ='I'), + regles=(UN_PARMI('Number_of_Time_Steps','Duration'),), + Time_Step=SIMP(statut='f',typ='R'), + Number_of_Time_Steps=SIMP(statut='f',typ='I', + fr='Definit le nombre de pas de temps effectues lors de l''execution du code.', + ang='Specifies the number of time steps performed when running the code.'), Duration=SIMP(statut='f',typ='R'), Variable_Time_Step=SIMP(statut='f',typ=bool), - ), - Linearity=FACT(statut='f', + b_var_time = BLOC(condition = "Variable_Time_Step==True" , + Desired_Courant_Number=SIMP(statut='o',typ='R'), + ), + + Stop_If_A_Steady_State_Is_Reached=SIMP(statut='f',typ=bool,defaut='False'), + b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached==True" , + + Stop_Criteria=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R')), + fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\ + 1- U et V 2- H 3- T ", + ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\ + 1- U and V 2- H 3- T ',), + ), + + Control_Of_Limit=SIMP(statut='f',typ=bool,defaut='False', +fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees', +ang = 'The program is stopped if the limits on u,v,h, or t are trespassed', + ), + + b_limit = BLOC(condition = "Control_Of_Limit==True" , + + Limit_Values=FACT(statut='o', + fr = 'valeurs mini et maxi acceptables min puis max', + ang= 'min and max acceptable values ', + Limit_Values_H=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,9000)), + Limit_Values_U=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)), + Limit_Values_V=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)), + Limit_Values_T=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)), + ), + ), + ), # Fin de Time + + Linearity=FACT(statut='f', Treatment_of_Fluxes_at_the_Boundaries =SIMP( statut='f',typ='I',into=[1,2],sug=1), Continuity_Correction =SIMP(typ=bool, statut='f'), Number_of_Sub_Iterations=SIMP(statut='f',typ='I'), - ), - Precondionning=FACT(statut='f', - Preconditionning=SIMP(statut='f',typ='I',into=[0,2,3,7,11,14,21],sug=2), - C_U_Preconditionning =SIMP(typ=bool, statut='f',), - Matrix_Vector_Product =SIMP(statut='f',typ='I',into=[1,2]), - Matrix_Storage =SIMP(statut='f',typ='I',into=[1,3]), - Mass_Lumping_on_H =SIMP(statut='f',typ='R',sug=0), - Mass_Lumping_on_Velocity =SIMP(statut='f',typ='R',sug=0), - ), + ), + Precondionning=FACT(statut='f', + + Preconditionning=SIMP(statut='f',typ='I', + into=[ "diagonal", "no preconditioning", "diagonal condensee", "crout", \ + "gauss-seidel", "diagonal and crout", "diagonal condensed and crout"], + ), + C_U_Preconditionning =SIMP(typ=bool, statut='f', + fr = 'Changement de variable de H en C dans le systeme lineaire final', + ang = 'Change of variable from H to C in the final linear system' + ), + ),# fin Preconditionnement + + + Matrix_Informations=FACT(statut='f', + Matrix_Vector_Product =SIMP(statut='f',typ='TXM', + into=["classic", "frontal"], + fr='attention, si frontal, il faut une numerotation speciale des points', + ang='beware, with option 2, a special numbering of points is required', + ), + Matrix_Storage =SIMP(statut='f',typ='TXM', + into=["EBE classique","Stockage par segments",] + ), + ),# fin Matrix_Informations + + Advection=FACT(statut='f', + + Mass_Lumping_on_H =SIMP(statut='f',typ='R',defaut=0, + fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\ +Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\ +et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\ +importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\ +Ce parametre fixe le taux de mass-lumping effectue sur h.', + ang = 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. \n\ +This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\ +Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\ +more stable. The resulting solutions, however, become artificially smoothed. \n\ +This parameter sets the extent of mass-lumping that is performed on h.'), + + Mass_Lumping_on_Velocity =SIMP(statut='f',typ='R',defaut=0, + fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.', + ang = 'Sets the amount of mass-lumping that is performed on the velocity.' +), + + +#PNPNPNPN +# +# Attention a recalculer +# Il faut recalculer des listes de 4 en sortie +# Advection_Propagation=FACT(statut='f', - 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),), - Advection_of_U_and_V=SIMP(statut='f',typ=bool), - Advection_of_H=SIMP(statut='f',typ=bool), - Advection_of_Tracers=SIMP(statut='f',typ=bool), - Advection_of_K_and_Epsilon=SIMP(statut='f',typ=bool), - - b_upwind =BLOC(condition = "2 in Type_of_Advection", - Upwind_Coefficients=SIMP(statut='o',typ='R',min=4,max=4,) + Advection_Of_U_and_V=SIMP(statut='o',typ=bool,defaut=False, + fr = 'Prise en compte ou non de la convection de U et V.', + ang= 'The advection of U and V is taken into account or ignored.' + ), + + b_u_v = BLOC( condition = "Advection_Of_U_and_V==True", + + Type_of_Advection_U_and_V=SIMP(statut='o',typ='TXM', + into=["CARACTERISTIQUES", "SUPG", "SCHEMA VOLUME FINI EXPLICIT", "SCHEMA DISTRIBUTIF N CONSERVATIF",\ + "SCHEMA PSI CONSERVATIF", "SCHEMA PSI NON CONSERVATIF", "SCHEMA N IMPLICITE NON CONSERVATIF",\ + "SCHEMA N PAR SEGMENTS SCHEMA 3", "SCHEMA N PAR SEGMENTS SCHEMA 4"], + ), + b_upwind =BLOC(condition = "Type_of_Advection_U_and_V== 'SUPG'", + Upwind_Coefficients_of_U_and_V=SIMP(statut='o',typ='R',) + ), ), - Linearized_Propoagation=SIMP(statut='f',typ=bool,sug=False), - Mean_Depth_For_Linearity=SIMP(statut='f',typ='R',sug=0.0), + + Advection_Of_H=SIMP(statut='o',typ=bool,defaut=False, + fr = 'Prise en compte ou non de la convection de H.', + ang= 'The advection of H is taken into account or ignored.' + ), + + b_h = BLOC( condition = "Advection_Of_H==True", + + Type_of_Advection_H=SIMP(statut='o',typ='TXM', + into=["CARACTERISTIQUES", "SUPG", "SCHEMA VOLUME FINI EXPLICIT", "SCHEMA DISTRIBUTIF N CONSERVATIF",\ + "SCHEMA PSI CONSERVATIF", "SCHEMA PSI NON CONSERVATIF", "SCHEMA N IMPLICITE NON CONSERVATIF",\ + "SCHEMA N PAR SEGMENTS SCHEMA 3", "SCHEMA N PAR SEGMENTS SCHEMA 4"], + ), + b_upwind_H = BLOC(condition = "Type_of_Advection_H== 'SUPG'", + Upwind_Coefficients_of_H=SIMP(statut='o',typ='R',) + ), + ), + + Advection_Of_Tracers=SIMP(statut='o',typ=bool,defaut=False, + fr = 'Prise en compte ou non de la convection de Tracer.', + ang= 'The advection of Tracer is taken into account or ignored.' + ), + + b_tracers = BLOC( condition = "Advection_Of_Travers==True", + + Type_of_Advection_Tracers=SIMP(statut='o',typ='TXM', + into=["CARACTERISTIQUES", "SUPG", "SCHEMA VOLUME FINI EXPLICIT", "SCHEMA DISTRIBUTIF N CONSERVATIF",\ + "SCHEMA PSI CONSERVATIF", "SCHEMA PSI NON CONSERVATIF", "SCHEMA N IMPLICITE NON CONSERVATIF",\ + "SCHEMA N PAR SEGMENTS SCHEMA 3", "SCHEMA N PAR SEGMENTS SCHEMA 4"], + ), + b_upwind_Tracers =BLOC(condition = "Type_of_Advection_Tracers== 'SUPG'", + Upwind_Coefficients_of_Tracers=SIMP(statut='o',typ='R',) + ), + ), + + + Advection_of_K_and_Epsilon=SIMP(statut='f',typ=bool,defaut=False, + fr = 'Prise en compte ou non de la convection de Tracer.', + ang= 'The advection of Tracer is taken into account or ignored.' + ), + + b_k = BLOC( condition = "Advection_Of_K_and_Epsilon==True", + + Type_of_Advection_K_and_Epsilon=SIMP(statut='o',typ='TXM', + into=["CARACTERISTIQUES", "SUPG", "SCHEMA VOLUME FINI EXPLICIT", "SCHEMA DISTRIBUTIF N CONSERVATIF",\ + "SCHEMA PSI CONSERVATIF", "SCHEMA PSI NON CONSERVATIF", "SCHEMA N IMPLICITE NON CONSERVATIF",\ + "SCHEMA N PAR SEGMENTS SCHEMA 3", "SCHEMA N PAR SEGMENTS SCHEMA 4"], + ), + b_upwind_k =BLOC(condition = "Type_of_Advection_K_and_Epsilon== 'SUPG'", + Upwind_Coefficients_of_K_and_Epsilon=SIMP(statut='o',typ='R',) + ), + ), + + ), + ), # fin Advection + + Propagation=FACT(statut='f', + Linearized_Propagation=SIMP(statut='o',typ=bool,defaut=False), + b_linear =BLOC(condition = "Linearized_Propagation==True ", + Mean_Depth_For_Linearity=SIMP(statut='o',typ='R',defaut=0.0,val_min=0), + ), ), Discretisation_Implicitation=FACT(statut='f', Discretisation_in_Space=SIMP(statut='f',typ='I',min=4,max=4,into=[11,12,13],defaut=(11,11,11),), @@ -259,7 +599,7 @@ NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None, ), Initial_Guess_for_H=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',), Initial_Guess_for_U=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',), -) +)# fin NUMERICAL_PARAMETERS PHYSICAL_PARAMETERS=PROC(nom="PHYSICAL_PARAMETERS",op=None, Atmosphere=FACT(statut='f', @@ -296,13 +636,59 @@ POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None, Graphic_Printouts=FACT(statut='f', Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1), Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1), - Variables_For_Graphic_Printouts=SIMP(statut='f',max="**", typ='TXM'), + Variables_For_Graphic_Printouts=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c'],), # ajouter le into ), - Listing__Printouts=FACT(statut='f', - Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1), - Number_of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1), - Variables_to_be_printed=SIMP(statut='f',max="**", typ='TXM'), - # ajouter le into + Listing_Printouts=FACT(statut='f', + + Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN', + fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ + - SERAFIN : format standard simple precision pour Telemac; \n\ + - SERAFIND: format standard double precision pour Telemac; \n\ + - MED : format MED base sur HDF5' , + ang = 'Results file format. Possible values are:\n \ + - SERAFIN : classical single precision format in Telemac;\n\ + - SERAFIND: classical double precision format in Telemac; \n\ + - MED : MED format based on HDF5' , + ), + + Results_File = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',), + 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.', + ), + Listing_Printout_Period = SIMP(statut='o', typ='I',defaut=1, + fr = 'Determine la periode en nombre de pas de temps d''impression des variables', + ang = 'Determines, in number of time steps, the printout period for the variables', + ), + + Number_Of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1), + Variables_To_Be_Printed=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c']), + ),#Listing_Printouts + + Debugger = SIMP(typ=bool, statut='o', defaut=False), + Output_Of_Initial_Conditions = SIMP(typ=bool, statut='o', defaut=True, + fr = 'Si Vrai, impression des conditions initiales dans les resultats', + ang = 'If True, output of initial conditions in the results' ), -) + + Binary_Results_File = SIMP( statut='f', typ = ('Fichier', ';;All Files (*)',), + fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\ +Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.", + ang = "Additional binary-coded result file made available to the user. \n\ +The results to be entered into this file shall be written on channel 28.", + ), + +Information_About_Solver = SIMP(typ=bool, statut='f',defaut=False, + fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.", + ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.", +), + + + +PRECONDITIONING = SIMP( statut='o',typ='I', + defaut=2 , + fr = 'Permet de preconditionner le systeme de letape de propagation afin daccelerer la convergence lors de sa resolution. - 0 : pas de preconditionnement; - 2 : preconditionnement diagonal. - 3 : preconditionnement diagonal-bloc - 7 : preconditionnement de Crout par element ou segment -11 : preconditionnement de Gauss-Seidel par element ou segment Certains preconditionnements sont cumulables (les diagonaux 2 ou 3 avec les autres) Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si lon souhaite en cumuler plusieurs on formera le produit des options correspondantes.', + ang= 'Choice of the preconditioning in the propagation step linear system that the convergence is speeded up when it is being solved. 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element or segment 11: Gauss-Seidels preconditioning per element or segment Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others. Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently, the product of relevant options shall be made.', + ), + +) # FIN POST-PRO diff --git a/Telemac/Telemac_Cata_nouveau.py b/Telemac/Telemac_Cata_nouveau.py new file mode 100644 index 00000000..03a2ab0e --- /dev/null +++ b/Telemac/Telemac_Cata_nouveau.py @@ -0,0 +1,1442 @@ +# coding: utf-8 +# PNPNPNPN + +from Accas import * +import types +class Tuple: + def __init__(self,ntuple): + self.ntuple=ntuple + + def __convert__(self,valeur): + if type(valeur) == types.StringType: + return None + if len(valeur) != self.ntuple: + return None + return valeur + + def info(self): + return "Tuple de %s elements" % self.ntuple + + + +JdC = JDC_CATA (code = 'MAP', + execmodul = None, + ) +# ====================================================================== +# Catalog entry for the MAP function : c_pre_interfaceBody_mesh +# ====================================================================== +INITIALIZATION=PROC(nom="INITIALIZATION",op=None, +Control_Of_Limits = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME SARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES', + ang= 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF THE LIMITS ON U,V,H, OR T ARE TRESPASSED', + ), + +Limit_Values = SIMP( statut='o',typ='R', + defaut=(-1000.0, 9000.0, -1000.0, 1000.0, -1000.0, 1000.0, -1000.0, 1000.0) , + max=8 , + fr = 'Utilise avec le mot-cle CONTROLE DES LIMITES valeurs mini et maxi acceptables pour H,U,V et T dans lordre suivant : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', + ang= 'To be used with the key-word CONTROL OF LIMITS min and max acceptable values for H,U,V et T in the following order : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', + ), + +Number_Of_Time_Steps = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Definit le nombre de pas de temps effectues lors de lexecution du code.', + ang= 'Specifies the number of time steps performed when running the code.', + ), + +Psi_Scheme_Option = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1: explicite 2: predicteur-correcteur', + ang= '1: explicit 2: predictor-corrector', + ), + +Type_Of_Advection = SIMP( statut='o',typ='I', + defaut=(1, 5, 1, 1) , + max=4 , + into =('1="CHARACTERISTICS"', '2="SUPG"', '3="CONSERVATIVE N-SCHEME"', '4="CONSERVATIVE N-SCHEME"', '5="CONSERVATIVE PSI-SCHEME"', '6="NON CONSERVATIVE PSI SCHEME"', '7="IMPLICIT NON CONSERVATIVE N SCHEME"', '13="EDGE-BASED N-SCHEME"', '14="EDGE-BASED N-SCHEME"'), + fr = 'Choix du schema de convection pour chaque variable ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON 1 : caracteristiques sur h 2 : SUPG 3 : Schema N conservatif 4 : Schema N conservatif 5 : Schema PSI conservatif 6 : Schema PSI non conservatif 7 : schema N implicite non conservatif 13 : Schema N par segment 14 : Schema N par segment Second integer must be 5', + ang= 'Choice of advection schemes for every variable These coefficients are applied respectively to 1) U et V 2) H 3) T 4) K and EPSILON 1: characteristics 2: SUPG 3: Conservative N-scheme 4: Conservative N-scheme 5: Conservative PSI-scheme 6 : Non conservative PSI scheme 7 : Implicit non conservative N scheme 13 : Edge-based N-scheme 14 : Edge-based N-scheme Second integer must be 5', + ), + +Preconditioning = SIMP( statut='o',typ='I', + defaut=2 , + into =('2="diagonal"', '0="no preconditioning"', '3="diagonal condensee"', '7="crout"', '11="gauss-seidel"', '14="diagonal and crout"', '21="diagonal condensed and crout"'), + fr = 'Permet de preconditionner le systeme de letape de propagation afin daccelerer la convergence lors de sa resolution. - 0 : pas de preconditionnement, - 2 : preconditionnement diagonal. - 3 : preconditionnement diagonal-bloc - 7 : preconditionnement de Crout par element ou segment -11 : preconditionnement de Gauss-Seidel par element ou segment Certains preconditionnements sont cumulables (les diagonaux 2 ou 3 avec les autres) Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si lon souhaite en cumuler plusieurs on formera le produit des options correspondantes.', + ang= 'Choice of the preconditioning in the propagation step linear system that the convergence is speeded up when it is being solved. 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element or segment 11: Gauss-Seidels preconditioning per element or segment Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others. Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently, the product of relevant options shall be made.', + ), + +Maximum_Number_Of_Iterations_For_Solver = SIMP( statut='o',typ='I', + defaut=100 , + fr = 'Les algorithmes utilises pour la resolution de letape de propagation etant iteratifs, il est necessaire de limiter le nombre diterations autorisees. Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.', + ang= 'Since the algorithms used for solving the propagation step are iterative, the allowed number of iterations should be limited. NOTE: a maximum number of 40 iterations per time step seems to be reasonable.', + ), + +Initial_Guess_For_H = SIMP( statut='o',typ='I', + defaut=1 , + into =('1=previous', '0=zero', '2=extrapolation'), + fr = 'Tir initial du solveur de letape de propagation. Offre la possibilite de modifier la valeur initiale de DH, accroissement de H, a chaque iteration, dans letape de propagation en utilisant les valeurs finales de cette variable aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme. Trois possibilites sont offertes : 0 : DH = 0. 1 : DH = DHn (valeur finale de DH au pas de temps precedent), 2 : DH = 2DHn - DHn-1 (extrapolation).', + ang= 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of C, upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps. Thus, the convergence can be speeded up when the system is being solved. 3 options are available: 0: DH = 0 1: DH = DHn (ultimate DH value in the next previous time step) 2: DH = 2DHn - DHn-1 (extrapolation)', + ), + +Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut='o',typ='I', + defaut=50 , + fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.', + ang= 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.', + ), + +Law_Of_Bottom_Friction = SIMP( statut='o',typ='I', + defaut=0 , + into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"'), + fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond. Les lois possibles sont les suivantes (cf. Note de principe) : - 0 : pas de frottement sur le fond, 1 : formule de Haaland 2 : formule de Chezy 3 : formule de STRICKLER 4 : formule de MANNING 5 : formule de NIKURADSE ', + ang= 'Selects the type of formulation used for the bottom friction. The possible laws are as follows (refer to the Principle note): 0: no friction against bottom, 1: Haalands formula 2: CHEZYs formula 3: STRICKLERs formula 4: MANNINGs formula 5: NIKURADSEs formula ', + ), + +Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', + defaut=60 , + fr = 'Limite le nombre diterations du solveur a chaque pas de temps pour le calcul de la diffusion du traceur.', + ang= 'Limits the number of solver iterations at each time step for the diffusion of tracer.', + ), + +Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="conjugate gradient"', '2="conjugate residual"', '3="conjugate gradient on a normal equation"', '4="minimum error"', '5="squared conjugate gradient"', '6="cgstab"', '7="gmres (see option for the solver for tracer diffusion)"', '8="direct"'), + fr = '1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale 4 : erreur minimale 5 : gradient conjugue carre', + ang= '1 : conjugate gradient 2 : conjugate gradient 3 : conjugate gradient on a normal equation 4 : minimum error 5 : squared conjugate gradient 6 : cgstab 7 : gmres (see option for the solver for tracer diffusion) 8 : direct', + ), + +Propagation_Option = SIMP( statut='o',typ='I', + defaut=3 , + fr = 'Non active pour linstant.', + ang= 'Not yet implemented.', + ), + +Free_Integer_17 = SIMP( statut='o',typ='I', + defaut=3 , + fr = ' ', + ang= ' ', + ), + +Free_Integer_18 = SIMP( statut='o',typ='I', + defaut=3 , + fr = ' ', + ang= ' ', + ), + +Free_Integer_20 = SIMP( statut='o',typ='I', + defaut=3 , + fr = ' ', + ang= ' ', + ), + +Number_Of_Sub_iterations_For_Non_linearities = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur au cours de plusieurs sous-iterations. A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent. Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. Cette technique permet dameliorer la prise en compte des non linearites.', + ang= 'Used for updating, within one time step, the advection and propagation field. upon the first sub-iteration, these fields are given by C and the velocity field in the previous time step. At subsequent iterations, the results of the previous sub-iteration is used to update the advection and propagation field. The non-linearities can be taken into account through this technique.', + ), + +Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Determine le nombre de pas de temps a partir duquel debute lecriture des resultats dans le FICHIER DES RESULTATS.', + ang= 'Determines the number of time steps after which the results are first written into the RESULTS FILE.', + ), + +Number_Of_First_Time_Step_For_Listing_Printouts = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Determine le nombre de pas de temps a partir duquel debute lecriture des resultats dans le listing.', + ang= 'Determines the number of time steps after which the results are first written into the listing.', + ), + +Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', + defaut=2 , + into =('2="diagonal"', '0="no preconditioning "', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'), + fr = 'Permet de preconditionner le systeme relatif au traceur. Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT. 0 : pas de preconditionnement, 2 : preconditionnement diagonal. 3 : preconditionnement diagonal avec la matrice conde', + ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element.', + ), + +Solver_For_K_epsilon_Model = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="conjugate gradient"', '2="conjugate residuals"', '3="conjugate gradient on normal equation"', '4="minimum error"', '5="conjugate gradient squared"', '6="conjugate gradient squared stabilised (cgstab)"', '7="gmres (see option for the solver for k-epsilon model)"', '8="direct"'), + fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon : 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale 4 : erreur minimale 5 : gradient conjugue carre 6 : gradient conjugue carre stabilise (cgstab) 7 : gmres (voir aussi option du solveur pour le modele k-epsilon) 8 : direct', + ang= 'Makes it possible to select the solver used for solving the system of the k-epsilon model. 1: conjugate gradient 2: conjugate residuals 3: conjugate gradient on normal equation 4: minimum error 5: conjugate gradient squared 6: conjugate gradient squared stabilised (cgstab) 7: gmres (see option for the solver for k-epsilon model) 8: direct', + ), + +Preconditioning_For_K_epsilon_Model = SIMP( statut='o',typ='I', + defaut=2 , + into =('2="diagonal"', '0="no preconditioning"', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'), + fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon 0 : pas de preconditionnement, 2 : preconditionnement diagonal. 3 : preconditionnement diagonal avec la matrice condensee. 7 : preconditionnement de Crout par element.', + ang= 'Preconditioning of the linear system in the diffusion step of the k-epsilon model. 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element', + ), + +Turbulence_Model_For_Solid_Boundaries = SIMP( statut='o',typ='I', + defaut=2 , + into =('1=smooth', '2=rough'), + fr = 'Permet de choisir le regime de turbulence aux parois 1 : regime turbulent lisse. 2 : regime turbulent rugueux.', + ang= 'Provided for selecting the type of friction on the walls 1: smooth 2: rough', + ), + +Number_Of_Drogues = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Permet deffectuer un suivi de flotteurs', + ang= 'Number of drogues in the computation. The user must then fill the subroutine FLOT specifying the coordinates of the starting points, their departure and arrival times. The trajectory of drogues is recorded in the BINARY RESULTS FILE that must be given in the steering file', + ), + +Printout_Period_For_Drogues = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire N affecte pas la qualite du calcul de la trajectoire', + ang= 'Number of time steps between 2 outputs of drogues positions in the binary file', + ), + +Number_Of_Lagrangian_Drifts = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents', + ang= 'Provided for performing several computations of lagrangian drifts starting at different times. Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word', + ), + +Bottom_Smoothings = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a laide dune matrice de masse, est conservatif. Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.', + ang= 'Number of smoothings on bottom topography. each smoothing is mass conservative. to be used when interpolation of bathymetry on the mesh gives very rough results.', + ), + +Solver_Option_For_Tracers_Diffusion = SIMP( statut='o',typ='I', + defaut=2 , + fr = 'si le solveur est GMRES (7) le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 15)', + ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15', + ), + +Option_For_The_Solver_For_K_epsilon_Model = SIMP( statut='o',typ='I', + defaut=2 , + fr = 'si le solveur est GMRES (7) le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 15)', + ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15', + ), + +Zero = SIMP( statut='o',typ='R', + defaut=1e-12 , + fr = 'Non active pour linstant.', + ang= 'Not yet implemented', + ), + +Friction_Coefficient = SIMP( statut='o',typ='R', + defaut=50.0 , + fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. Attention, la signification de ce chiffre varie suivant la formule choisie : 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse', + ang= 'Sets the value of the friction coefficient for the selected formulation. It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : 1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size', + ), + +Coefficient_Of_Wind_Influence = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe la valeur du coefficient dentrainement du vent (cf. Note de principe).', + ang= 'Sets the value of the wind driving coefficient. Refer to principle note.', + ), + +Wind_Velocity_Along_X = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Composante de la vitesse du vent suivant laxe des x (m/s).', + ang= 'Wind velocity, component along x axis (m/s).', + ), + +Wind_Velocity_Along_Y = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Composante de la vitesse du vent suivant laxe des y (m/s).', + ang= 'Wind velocity, component along y axis (m/s).', + ), + +Initial_Values_Of_Tracers = SIMP( statut='o',typ='R', + defaut=(0.0, 0.0) , + max=2 , + fr = 'Fixe la valeur initiale du traceur.', + ang= 'Sets the initial value of the tracer.', + ), + +Coefficient_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', + defaut=1e-06 , + fr = 'Fixe la valeur du coefficient de diffusion du traceur. Linfluence de ce parametre sur levolution du traceur dans le temps est importante.', + ang= 'Sets the value of the tracer diffusivity.', + ), + +Accuracy_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', + defaut=1e-06 , + fr = 'Fixe la precision demandee pour le calcul de la diffusion du traceur.', + ang= 'Sets the required accuracy for computing the tracer diffusion.', + ), + +Implicitation_Coefficient_Of_Tracers = SIMP( statut='o',typ='R', + defaut=0.6 , + fr = 'Fixe la valeur du coefficient dimplicitation du traceur', + ang= 'Sets the value of the implicitation coefficient for the tracer', + ), + +Velocity_Diffusivity = SIMP( statut='o',typ='R', + defaut=1e-06 , + fr = 'Fixe de facon uniforme pour lensemble du domaine, la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente). Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.', + ang= 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. this value may have a significant effect both on the shapes and sizes of recirculation zones.', + ), + +Turbulence_Model = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="CONSTANT VISCOSITY"', '2="ELDER"', '3="K-EPSILON MODEL"', '4="SMAGORINSKI"'), + fr = '3 choix sont possibles actuellement : viscosite constante (1) modele de Elder (2) ou modele k-epsilon (3). Attention : si on choisit loption 1 il ne faut pas oublier dajuster la valeur du mot-cle COEFFICIENT DE DIFFUSION DES VITESSES. si on choisit loption 2 il ne faut pas oublier dajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION Si on choisit loption 3, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence', + ang= 'The current alternatives are as follows: constant viscosity (1) elders model (2) or k-epsilon model (3). NOTE: when option 1 is chosen, it should be kept in mind that the value of the keyword VELOCITY DIFFUSIVITY has to be ajusted. When option 2 is chosen, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used When option 3 is chosen, this parameter should recover its true physical value, since it is used as such in the turbulence model.', + ), + +Threshold_Depth_For_Receding_Procedure = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees', + ang= 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ', + ), + +Implicitation_For_Depth = SIMP( statut='o',typ='R', + defaut=0.55 , + fr = 'Fixe la valeur du coefficient dimplicitation sur C dans letape de propagation (cf. Note de principe). Les valeurs inferieures a 0.5 donnent un schema instable.', + ang= 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note). Values below 0.5 result in an unstable scheme.', + ), + +Implicitation_For_Velocity = SIMP( statut='o',typ='R', + defaut=0.55 , + fr = 'Fixe la valeur du coefficient dimplicitation sur la vitesse dans letape de propagation (cf. Note de principe). Les valeurs inferieures a 0.5 donnent un schema instable.', + ang= 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note). Values below 0.5 result in an unstable condition.', + ), + +Implicitation_For_Diffusion_Of_Velocity = SIMP( statut='o',typ='R', + defaut=1.0 , + fr = 'Fixe la valeur du coefficient dimplicitation sur les termes de diffusion des vitesses', + ang= 'Sets the value of the implicitation coefficient for the diffusion of velocity', + ), + +Mass_lumping_On_H = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'TELEMAC offre la possibilite deffectuer du mass-lumping sur H ou U. Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) et AM3 (V) sur leur diagonale. Cette technique permet daccelerer le code dans des proportions tres importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees. Ce parametre fixe le taux de mass-lumping effectue sur h.', + ang= 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. This is equivalent to bringing the matrices AM1 (h) or AM2 (U) and AM3 (V) wholly or partly, back onto their diagonal. Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much more stable. The resulting solutions, however, become artificially smoothed. This parameter sets the extent of mass-lumping that is performed on h.', + ), + +Mass_lumping_On_Velocity = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.', + ang= 'Sets the amount of mass-lumping that is performed on the velocity.', + ), + +Minimum_Value_Of_Depth = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.', + ang= 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.', + ), + +Time_Step_Reduction_For_K_epsilon_Model = SIMP( statut='o',typ='R', + defaut=1.0 , + fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique). Utilisation deconseillee', + ang= 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system) Not recommended for use.', + ), + +Accuracy_Of_K = SIMP( statut='o',typ='R', + defaut=1e-09 , + fr = 'Fixe la precision demandee sur k pour le test darret dans letape de diffusion et termes sources du modele k-epsilon.', + ang= 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.', + ), + +Accuracy_Of_Epsilon = SIMP( statut='o',typ='R', + defaut=1e-09 , + fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.', + ang= 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.', + ), + +Mean_Depth_For_Linearization = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe la hauteur deau autour de laquelle seffectue la linearisation lorsque loption PROPAGATION LINEARISEE est choisie.', + ang= 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.', + ), + +Roughness_Coefficient_Of_Boundaries = SIMP( statut='o',typ='R', + defaut=100.0 , + fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux sur les bords du domaine. meme convention que pour le coefficient de frottement: 1 : non programme 2 : coefficient de Chezy 3 : coefficient de Strickler 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse', + ang= 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient', + ), + +Prescribed_Velocities = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes. Lire la partie du mode demploi consacree aux conditions aux limites', + ang= 'Values of prescribed velocities at the liquid inflow boundaries. Refer to the section dealing with the boundary conditions', + ), + +Prescribed_Tracers_Values = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la partie du mode demploi consacree aux conditions aux limites', + ang= 'Tracer values prescribed at the inflow boundaries. Read the usermanual section dealing with the boundary conditions', + ), + +Abscissae_Of_Sources = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs des abscisses des sources de debit et de traceur.', + ang= 'abscissae of sources of flowrate and/or tracer', + ), + +Ordinates_Of_Sources = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs des ordonnees des sources de debit et de traceur.', + ang= 'ordinates of sources of flowrate and/or tracer', + ), + +Water_Discharge_Of_Sources = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs des debits des sources.', + ang= 'values of water discharge of sources', + ), + +Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', + max=2 , + fr = 'Valeurs des traceurs a chacune des sources', + ang= 'Values of the tracers at the sources', + ), + +Velocities_Of_The_Sources_Along_X = SIMP( statut='o',typ='R', + max=2 , + fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant', + ang= 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken', + ), + +Velocities_Of_The_Sources_Along_Y = SIMP( statut='o',typ='R', + max=2 , + fr = 'Vitesses du courant a chacune des sources', + ang= 'Velocities at the sources', + ), + +Upwind_Coefficients = SIMP( statut='o',typ='R', + defaut=(1.0, 1.0, 1.0, 1) , + max=4 , + fr = 'Coefficients utilises par la methode S.U.P.G. ces coefficients sont respectivement appliques a 1) U et V 2) H ou C 3) T 4) K ET EPSILON ', + ang= 'Upwind coefficients used by the S.U.P.G. method These coefficients are applied respectively to 1) U and V 2) H or C 3) T 4) K and epsilon ', + ), + +North = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Direction du nord en degres, par rapport a laxe des y dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres et trente minutes.', + ang= 'Angle of the North with the y axis, in degrees. 10.5 means 10 degrees and 30 minutes.', + ), + +Steering_File = SIMP( statut='o',typ='TXM', + fr = 'Nom du fichier contenant les parametres du calcul a realiser.', + ang= 'Name of the file containing the parameters of the computation Written by the user.', + ), + +Boundary_Conditions_File = SIMP( statut='o',typ='TXM', + 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.', + ), + +Release = SIMP( statut='o',typ='TXM', + defaut='V7P0' , + fr = 'Numero de version des bibliotheques utilisees par TELEMAC. SUR UNE STATION DE TRAVAIL 5 versions sont donnees correspondant a : TELEMAC,DAMO,UTILE,BIEF,HP', + ang= 'version number of the libraries used by TELEMAC. ON A WORKSTATION 5 numbers are given, corresponding to the libraries called: TELEMAC,DAMO,UTILE,BIEF,HP', + ), + +Account_Number = SIMP( statut='o',typ='TXM', + fr = 'Numero du compte calcul sur lequel sera impute le cout du calcul.', + ang= 'Account number to which the cost of computation shall be charged.', + ), + +Binary_Data_File_1 = SIMP( statut='o',typ='TXM', + fr = 'Fichier de donnees code en binaire mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 24.', + ang= 'Binary-coded data file made available to the user. The data in this file shall be read on channel 24.', + ), + +Binary_Data_File_2 = SIMP( statut='o',typ='TXM', + fr = 'Fichier de donnees code en binaire mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 25.', + ang= 'Binary-coded data file made available to the user. The data in this file shall be read on channel 25.', + ), + +Formatted_Data_File_1 = SIMP( statut='o',typ='TXM', + fr = 'Fichier de donnees formate mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 26.', + ang= 'Formatted data file made available to the user. The data in this file shall be read on channel 26.', + ), + +Formatted_Data_File_2 = SIMP( statut='o',typ='TXM', + fr = 'Fichier de donnees formate mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 27.', + ang= 'Formatted data file made available to the user. The data in this file shall be read on channel 27.', + ), + +Destination = SIMP( statut='o',typ='TXM', + defaut='CHE43A' , + fr = 'Nom eventuel dune station de travail sur laquelle lutilisateur desire rediriger le fichier des resultats du calcul.', + ang= 'Possible name of a workstation to which the user wants to reroute the result file.', + ), + +User_On_Destination = SIMP( statut='o',typ='TXM', + defaut='JMH' , + fr = 'Nom de lUSER de lutilisateur sur la station de travail ou lon desire rediriger le fichier de resultts.', + ang= 'Users name of USER at the workstation onto which the results file shall desirebly be rerouted.', + ), + +Names_Of_Clandestine_Variables = SIMP( statut='o',typ='TXM', + max=2 , + fr = 'Noms de variables qui ne sont pas utilisees par TELEMAC, mais qui doivent etre conservees lors de son execution. Ceci peut etre utilise entre autres lors du couplage de TELEMAC avec un autre code. Les variables clandestines sont alors des variables propres a lautre code et sont rendues dans le fichier de resultats.', + ang= 'Names of variables that are not used by TELEMAC, but should be preserved when it is being run. This keyword may be used, for instance when it if TELEMAC is coupled with another code. Thus, the clandestine variables belong to the other code and are given back in the results file.', + ), + +Formatted_Results_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats formate mis a la disposition de lutilisateur. Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.', + ang= 'Formatted file of results made available to the user. The results to be entered into this file shall be written on channel 29.', + ), + +Priority = SIMP( statut='o',typ='TXM', + defaut='JOUR' , + fr = 'Utilise par la procedure de lancement sur station de travail', + ang= 'Utilise par la procedure de lancement sur station de travail', + ), + +Computation_Continued = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Determine si le calcul en cours est independant de tout autre resultat ou est une reprise effectuee a partir du resultat dun calcul precedent. NON : Il sagit du premier passage pour ce calcul et il est necessaire de definir un jeu complet de conditions initiales OUI : Il sagit dune reprise de calcul : les conditions initiales sont constituees par le dernier pas de temps du FICHIER DU CALCUL PRECEDENT du fichier des parametres utilise pour soumettre le calcul. Par contre, lensemble des donnees du fichier des parametres peuvent etre redefinies , ce qui offre la possibilite de changer par exemple, le pas de temps, le modele de turbulence, le frottement, dajouter ou retirer un traceur ... De meme, il est necessaire de definir des conditions aux limites (sous-programme BORD ou valeurs placees dans le fichier des parametres), qui peuvent egalement etre modifiees.', + ang= 'Determines whether the computation under way is independent result or is following an earlier result. NO: It is the first run for this computation and a whole set of initial conditions should be defined. YES: It follows a former computation: the initial conditions consist in the last time step of the PREVIOUS COMPUTATION FILE in the steering file used for submitting the computation. All the data from the steering file may be defined once again, which provides an opportunity to change, for example, the time step, the turbulence model, the friction, to add or remove a tracer... It is also possible to define new boundary conditions.', + ), + +Diffusion_Of_Tracers = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Prise en compte ou non de la diffusion du traceur passif.', + ang= 'The diffusion of the passive tracer is taken into account or ignored.', + ), + +Listing_Printout = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Sortie des resultats sur support papier. Si lon met NON le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME Commande a eviter', + 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. Not recommended for use.', + ), + +Diffusion_Of_Velocity = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Permet de decider si lon prend ou non en compte la diffusion des vitesses.', + ang= 'Makes it possible to decide whether the diffusion of velocity (i.e. viscosity) is taken into account or not.', + ), + +Advection = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Prise en compte ou non des termes de convection. En cas de reponse positive, on peut encore supprimer certains termes de convection avec les mots-cles CONVECTION DE ...', + ang= 'Are the advection terms taken into account or not? If YES, some advection terms can still be deleted using the keywords -ADVECTION OF ..-', + ), + +Advection_Of_U_And_V = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Prise en compte ou non de la convection de U et V.', + ang= 'The advection of U and V is taken into account or ignored.', + ), + +Advection_Of_K_And_Epsilon = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Prise en compte ou non de la convection de k et epsilon.', + ang= 'The k and epsilon advection is taken into account or ignored.', + ), + +Propagation = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Prise en compte ou non de la propagation de la vitesse et de la hauteur deau. La diffusion etant contenue dans cette etape sera supprimee aussi.', + ang= 'Determines whether the propagation step is taken into account or not. The diffusion being included in that step will be deleted as well.', + ), + +Coriolis = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Prise en compte ou non de la force de Coriolis.', + ang= 'The Coriolis force is taken into account or ignored.', + ), + +Mass_balance = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Determine si lon effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : - les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) - lerreur relative sur la masse pour ce pas de temps. En fin de listing, on trouve lerreur relative sur la masse pour lensemble du calcul. Il ne sagit que dun calcul indicatif car il nexiste pas dexpression compatible du debit en formulation c,u,v.', + ang= 'Determines whether a check of the mass-balance over the domain is mader or not. This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries, 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.', + ), + +H_Clipping = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Determine si lon desire ou non limiter par valeur inferieure la hauteur deau H (dans le cas des bancs decouvrants par exemple).', + ang= 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats) This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.', + ), + +Spherical_Coordinates = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul). Attention : cette option est etroitement liee au maillage qui doit avoir ete saisi sur une carte marine en projection de Mercator. Il faut de plus relever sur la carte la LATITUDE DU POINT ORIGINE (autre mot-cle) qui correspond dans le maillage a lordonnee y = 0.', + ang= 'Selection of spherical coordinates to perform the computation (for large computation domains). Warning: this option is closely related to the mesh that should have been entered onto a nautical chart drawn as per Mercator projection The LATITUDE OF ORIGIN POINT (another keyword), which corresponds to ordinate y=0 in the mesh, must moreover be given.', + ), + +Validation = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Option utilisee principalement pour le dossier de validation. Le fichier des resultats du calcul precedent est alors considere comme une reference a laquelle on va comparer le calcul. La comparaison est effectuee par le sous-programme VALIDA qui peut etre une comparaison avec une solution exacte par exemple.', + ang= 'This option is primarily used for the validation documents. The PREVIOUS COMPUTATION FILE is then considered as a reference which the computation is going to be compared with. The comparison is made by the subroutine VALIDA, which can be modified as to so as to include, for example,a comparison with an exact solution.', + ), + +Information_About_K_epsilon_Model = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Donne le nombre diterations du solveur de letape de diffusion et termes sources du modele k-epsilon.', + ang= 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.', + ), + +Tidal_Flats = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'permet de supprimer les tests sur les bancs decouvrants, dans les cas ou lon est certain quil ny en aura pas. En cas de doute : oui', + 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', + ), + +Elements_Masked_By_User = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB', + ang= 'IF YES REWRITE SUBROUTINE MASKOB', + ), + +Density_Effects = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE LE TRACEUR EST ALORS LA SALINITE', + ang= 'THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT THE TRACER IS THEN THE SALINITY', + ), + +Option_For_The_Treatment_Of_Tidal_Flats = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Utilise si BANCS DECOUVRANTS est vrai 1 : EQUATIONS RESOLUES PARTOUT AVEC CORRECTION SUR LES BANCS DECOUVRANTS 2 : GEL DES ELEMENTS DECOUVRANTS 3 : COMME 1 MAIS AVEC POROSITE (METHODE DEFINA)', + ang= 'Used if TIDAL FLATS is true 1 : EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS 2 : DRY ELEMENTS FROZEN 3 : LIKE 1 BUT WITH POROSITY (DEFINA METHOD)', + ), + +Supg_Option = SIMP( statut='o',typ='I', + defaut=(2, 2, 2, 2) , + max=4 , + fr = '0:pas de decentrement SUPG 1:SUPG classique 2:SUPG modifiee ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON ', + ang= '0:no upwinding 1: classical SUPG 2:modified SUPG These coefficients are applied respectively to 1) U et V 2) H 3) T 4) K and EPSILON ', + ), + +Initial_Guess_For_U = SIMP( statut='o',typ='I', + defaut=1 , + into =('0=zero', '1=previous', '2=extrapolation'), + fr = 'Tir initial du solveur de letape de propagation. Offre la possibilite de modifier la valeur initiale de U, a chaque iteration, dans letape de propagation en utilisant les valeurs finales de cette variable aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme. Trois possibilites sont offertes : 0 : U = 0 1 : U = U(n) 2 : U = 2 U(n)- U(n-1) (extrapolation)', + ang= 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps. Thus, the convergence can be speeded up when the system is being solved. 3 options are available: 0 : U = 0 1 : U = U(n) 2 : U = 2 U(n)- U(n-1) (extrapolation)', + ), + +Water_Density = SIMP( statut='o',typ='R', + defaut=1000.0 , + fr = 'Fixe la valeur de la masse volumique de leau.', + ang= 'set the value of water density', + ), + +Latitude_Of_Origin_Point = SIMP( statut='o',typ='R', + defaut=48.0 , + fr = 'Determine lorigine utilisee pour le calcul de latitudes lorsque lon effectue un calcul en coordonnees spheriques.', + ang= 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates. this latitude is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.', + ), + +Mean_Temperature = SIMP( statut='o',typ='R', + defaut=20.0 , + fr = 'TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE A UTILISER AVEC LE MOT-CLE "EFFETS DE DENSITE"', + ang= 'REFERENCE TEMPERATURE FOR DENSITY EFFECTS TO BE USED WITH THE KEY-WORD "DENSITY EFFECTS"', + ), + +Gravity_Acceleration = SIMP( statut='o',typ='R', + defaut=9.81 , + fr = 'Fixe la valeur de lacceleration de la pesanteur.', + ang= 'Set the value of the acceleration due to gravity.', + ), + +Coriolis_Coefficient = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe la valeur du coefficient de la force de Coriolis. Celui-ci doit etre calcule en fonction de la latitude l par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s Les composantes de la force de Coriolis sont alors : FU = FCOR x V FV = - FCOR x U', + ang= 'Sets the value of the Coriolis force coefficient, in cartesian coordinates. This coefficient, 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. 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', + ), + +Discretizations_In_Space = SIMP( statut='o',typ='I', + defaut=(11, 11, 11, 11) , + max=4 , + fr = 'Choix de la discretisation pour chaque variable ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON (NON PROGRAMME) 11 : lineaire 12 : quasi-bulle 13 : quadratique', + ang= 'Choice of space discretisation for every variable These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON (NOT IMPLEMENTED) 11: linear 12: quasi-bubble 13: quadratic', + ), + +Non_dimensional_Dispersion_Coefficients = SIMP( statut='o',typ='R', + defaut=(6.0, 0.6) , + max=2 , + fr = 'coefficients longitudinal et transversal dans la formule de Elder. Utilises uniquement avec le modele de turbulence 2', + ang= 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2', + ), + +Original_Date_Of_Time = SIMP( statut='o',typ='I', + defaut=(1900, 1, 1) , + max=3 , + fr = 'Permet de fixer la date dorigine des temps du modele lors de la prise en compte de la force generatrice de la maree.', + ang= 'Give the date of the time origin of the model when taking into account the tide generating force.', + ), + +Original_Hour_Of_Time = SIMP( statut='o',typ='I', + defaut=(0, 0, 0) , + max=3 , + fr = 'Permet de fixer lheure dorigine des temps du modele lors de la prise en compte de la force generatrice de la maree.', + ang= 'Give the time of the time origin of the model when taking into account of the tide generator force.', + ), + +Longitude_Of_Origin_Point = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe la valeur de la longitude du point origine du modele, lors de lutilisation de la force generatrice de la maree.', + ang= 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.', + ), + +Mass_lumping_On_Tracers = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Fixe le taux de mass-lumping effectue sur le traceur.', + ang= 'Sets the amount of mass-lumping that is performed on the tracer.', + ), + +Initial_Time_Set_To_Zero = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Remet le temps a zero en cas de suite de calcul', + ang= 'Initial time set to zero in case of restart', + ), + +Matrix_vector_Product = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1 : classique 2 : frontal attention, avec 2, il faut une numerotation speciale des points', + ang= '1 : classic 2 : frontal beware, with option 2, a special numbering of points is required', + ), + +Control_Sections = SIMP( statut='o',typ='I', + max=2 , + fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.', + ang= 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given', + ), + +Number_Of_Weirs = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Nombre de seuils qui seront traites par des conditions aux limites. Ces seuils doivent etre decrits comme des frontieres du domaine de calcul, et leurs caracteristiques sont donnees dans le fichier de donnees des seuils (voir la documentation ecrite)', + ang= 'Number of weirs that will be treated by boundary conditions. They must be described as boundaries of the domain and their features are given in the weir data file (see written documentation)', + ), + +Number_Of_Culverts = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)', + ang= 'Number of culverts treated as source terms. They must be described as sources in the domain and their features are given in the culvert data file (see written documentation)', + ), + +Option_For_Liquid_Boundaries = SIMP( statut='o',typ='I', + max=2 , + 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', + ), + +C_u_Preconditioning = SIMP( statut='o',typ='bool', + defaut=True , + fr = 'Changement de variable de H en C dans le systeme lineaire final', + ang= 'Change of variable from H to C in the final linear system', + ), + +Variable_Time_step = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Pas de temps variable pour avoir un nombre de courant souhaite', + ang= 'Variable time-step to get a given Courant number', + ), + +Treatment_Of_The_Linear_System = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="coupled"', '2="Wave equation"'), + fr = '1 : Traitement couple 2 : equation d onde', + ang= '1 : Coupled 2 : wave equation', + ), + +Parallel_Processors = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE 0 : 1 machine, compilation sans bibliotheque de parallelisme 1 : 1 machine, compilation avec bibliotheque de parallelisme 2 : 2 processeurs ou machines en parallele etc... ', + ang= 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING 0 : 1 machine, compiling without parallel library 1 : 1 machine, compiling with a parallel library 2 : 2 processors or machines in parallel etc....', + ), + +Velocity_Profiles = SIMP( statut='o',typ='I', + max=2 , + fr = '1:profil normal constant 2:u et v donnes dans le fichier conlim 3:vitesse normale donnee dans ubor dans le fichier conlim 4:profil en racine de la profondeur 5:profil en racine de la profondeur, variante', + ang= '1:constant normal profile 2:u and v given in the conlim file 3:normal velocity given in ubor in the conlim file 4:sqrt(depth) profile 5:sqrt(depth) profile, variant', + ), + +Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1: Diffusion de la forme div( nu grad(T) ) 2: Diffusion de la forme 1/h div ( h nu grad(T) )', + ang= '1: Diffusion in the form div( nu grad(T) ) 2: Diffusion in the form 1/h div ( h nu grad(T) )', + ), + +Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1: Diffusion de la forme div( nu grad(U) ) 2: Diffusion de la forme 1/h div ( h nu grad(U) )', + ang= '1: Diffusion in the form div( nu grad(U) ) 2: Diffusion in the form 1/h div ( h nu grad(U) )', + ), + +Type_Of_Sources = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1: Source portee par une base elements finis 2: Source portee par une fonction de Dirac', + ang= '1: Source term multiplied by a finite element basis 2: Source term multiplied by a Dirac function', + ), + +Number_Of_Private_Arrays = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Nombre de tableaux mis a disposition de l utilisateur', + ang= 'Number of arrays for own user programming', + ), + +Language = SIMP( statut='o',typ='I', + defaut=2 , + into =('1="FRANCAIS"', '2="ANGLAIS"'), + fr = '1 : FRANCAIS 2 : ANGLAIS', + ang= '1: FRENCH 2: ENGLISH', + ), + +Liquid_Boundaries_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de variations en temps des conditions aux limites. Les donnees de ce fichier seront a lire sur le canal 12.', + ang= 'Variations in time of boundary conditions. Data of this file are read on channel 12.', + ), + +Wave_Driven_Currents = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Active la prise en compte des courants de houle', + ang= 'Wave driven currents are taken into account. ', + ), + +Wave_Enhanced_Friction_Factor = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Active la prise en compte des interactions non-lineaires entre la houle et les courant pour le calcul du courant de houle (cf OConnor and Yoo, 1988, Coast Eng.12.) ', + ang= 'Wave friction enhancement for the calculation of the wave generated longshore current (cf OConnor and Yoo, 1988, Coast Eng.12.)', + ), + +Record_Number_In_Wave_File = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Numero d enregistrement dans le fichier des courants de houle', + ang= 'Record number to read in the wave driven currents file', + ), + +Vertical_Structures = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Prise en compte de la force de trainee de structures verticales (il faut alors remplir la subroutine DRAGFO)', + ang= 'drag forces from vertical structures are taken into account. (subroutine DRAGFO must then be implemented) ', + ), + +Coupling_Directory = SIMP( statut='o',typ='TXM', + fr = 'Nom complet du dossier d echange des fichiers pour couplage de codes', + ang= 'Name with full path of the directory where the files will be exchanged for coupling', + ), + +Coupling_With = SIMP( statut='o',typ='TXM', + into =('"SISYPHE"', '"TOMAWAC"', '"DELWAQ"'), + 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', + ), + +Parameter_Estimation = SIMP( statut='o',typ='TXM', + into =('"FRICTION"', '"FROTTEMENT, STEADY"'), + fr = 'Liste des parametres a estimer, choix : FROTTEMENT ou FROTTEMENT, PERMANENT', + ang= 'List of parameter to be estimated, choice : FRICTION or FRICTION, STEADY', + ), + +Definition_Of_Zones = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Declenche lappel a def_zones, pour donner un numero de zone a chaque point', + ang= 'Triggers the call to def_zones to give a zone number to every point', + ), + +Identification_Method = SIMP( statut='o',typ='I', + defaut=1 , + into =('0="list of tests"', '1="gradient simple"', '2="conj gradient"', '3="Lagrange interp."'), + fr = '0 : plan dexperience 1 : gradient simple 2 : gradient conj. 3 : interp. de Lagrange', + ang= '0 : list of tests 1: gradient 2 : conj. gradient 3 : lagrange interp.', + ), + +Fourier_Analysis_Periods = SIMP( statut='o',typ='R', + max=2 , + fr = 'Liste des periodes que lon veut analyser', + ang= 'List of periods to be analysed', + ), + +List_Of_Points = SIMP( statut='o',typ='I', + max=2 , + fr = 'Liste de points remarquables pour les impressions', + ang= 'List of remarkable points for printouts', + ), + +Names_Of_Points = SIMP( statut='o',typ='TXM', + max=2 , + fr = 'Noms des points remarquables pour les impressions', + ang= 'Names of remarkable points for printouts', + ), + +Cost_Function = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1 : calculee sur h, u , v 2 : calculee avec c, u , v', + ang= '1: computed with h, u , v 2: computed with c, u , v', + ), + +Maximum_Number_Of_Iterations_For_Identification = SIMP( statut='o',typ='I', + defaut=20 , + fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint', + ang= 'every iteration implies at least a direct and an adjoint computation', + ), + +Coupling_Period_For_Sisyphe = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'pour eviter de faire le couplage a chaque pas de temps', + ang= 'to avoid coupling at every time-step', + ), + +Tolerances_For_Identification = SIMP( statut='o',typ='R', + defaut=(0.001, 0.001, 0.001, 0.0001) , + max=4 , + fr = '4 nombres : precision absolue sur H, U, V, et precision relative sur la fonction cout', + ang= '4 numbers: absolute precision on H, U V, and relative precision on the cost function', + ), + +Finite_Volume_Scheme = SIMP( statut='o',typ='I', + defaut=1 , + into =('0="Roe scheme"', '1="kinetic order 1"', '2="kinetic order 2"', '3="Zokagoa scheme order 1"', '4="Tchamen scheme order 1"', '5="HLLC scheme order 1"', '6="WAF scheme order 2"'), + fr = '0 : schema de Roe 1 : cinetique ordre 1 2 : cinetique ordre 2 3 : schema de Zokagoa 4 : schema de Tchamen 5 : HLLC ordre 1 6 : WAF ordre 2', + ang= '0: Roe scheme 1: kinetic order 1 2: kinetic order 2 3 : Zokagoa scheme 4 : Tchamen scheme 5 : HLLC order 1 6 : WAF order 2', + ), + +Sisyphe_Steering_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier des parametres de Sisyphe en cas de couplage interne', + ang= 'Sisyphe parameter file in case of internal coupling', + ), + +Friction_Data = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Lois de frottements definies par zone', + ang= 'Friction law defined by area', + ), + +Maximum_Number_Of_Friction_Domains = SIMP( statut='o',typ='I', + defaut=10 , + fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire', + ang= 'maximal number of zones defined for the friction. Could be increased if needed', + ), + +Friction_Data_File = SIMP( statut='o',typ='TXM', + fr = 'fichier de donnees pour le frottement', + ang= 'friction data file', + ), + +Manning_Default_Value_For_Colebrook_white_Law = SIMP( statut='o',typ='R', + defaut=0.02 , + fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White (loi numero 7)', + ang= 'Manning default value for the friction law of Colebrook-White (law number 7)', + ), + +Non_submerged_Vegetation_Friction = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'calcul du frottement du a la vegetation non submergee', + ang= 'friction calculation of the non-submerged vegetation', + ), + +Diameter_Of_Roughness_Elements = SIMP( statut='o',typ='R', + defaut=0.006 , + fr = 'diametre des elements de frottements', + ang= 'diameter of roughness element', + ), + +Spacing_Of_Roughness_Elements = SIMP( statut='o',typ='R', + defaut=0.14 , + fr = 'espacement des elements de frottement', + ang= 'spacing of rouhness element', + ), + +Printing_Cumulated_Flowrates = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE', + ang= 'PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS', + ), + +Compatible_Computation_Of_Fluxes = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE AVEC LIMPERMEABILITE SOUS FORME FAIBLE', + ang= 'FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION', + ), + +Threshold_Depth_For_Wind = SIMP( statut='o',typ='R', + defaut=1.0 , + fr = 'Retire la force due au vent dans les petites profondeurs', + ang= 'Wind is not taken into account for small depths', + ), + +Threshold_For_Negative_Depths = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'En dessous du seuil, les hauteurs negatives sont lissees', + ang= 'Below the threshold the negative depths are smoothed', + ), + +Origin_Coordinates = SIMP( statut='o',typ='I', + defaut=(0, 0) , + max=2 , + fr = 'Valeur en metres, utilise pour eviter les trops grands nombres, transmis dans le format Selafin mais pas dautre traitement pour linstant', + ang= 'Value in metres, used to avoid large real numbers, added in Selafin format, but so far no other treatment', + ), + +Delwaq_Printout_Period = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Periode de sortie des resultats pour Delwaq', + ang= 'Printout period for Delwaq file', + ), + +Volumes_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Exchange_Areas_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Vertical_Fluxes_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Salinity_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Bottom_Surfaces_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Exchanges_Between_Nodes_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Nodes_Distances_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Temperature_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Velocity_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Diffusivity_Delwaq_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Delwaq_Steering_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultats pour le couplage avec Delwaq', + ang= 'Results file for coupling with Delwaq', + ), + +Time_Range_For_Fourier_Analysis = SIMP( statut='o',typ='R', + defaut=(0.0, 0.0) , + max=2 , + fr = 'Pour le calcul du marnage et de la phase de la maree', + ang= 'For computing tidal range and phase of tide', + ), + +Number_Of_Tracers = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Definit le nombre de traceurs.', + ang= 'Defines the number of tracers', + ), + +Names_Of_Tracers = SIMP( statut='o',typ='TXM', + max=2 , + fr = 'Noms des traceurs en 32 caracteres, 16 pour le nom 16 pour lunite', + ang= 'Name of tracers in 32 characters, 16 for the name, 16 for the unit.', + ), + +Salinity_For_Delwaq = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Decide de la sortie de la salinite pour Delwaq', + ang= 'Triggers output of salinity for Delwaq', + ), + +Temperature_For_Delwaq = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Decide de la sortie de la temperature pour Delwaq', + ang= 'Triggers output of temperature for Delwaq', + ), + +Velocity_For_Delwaq = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Decide de la sortie de la vitesse pour Delwaq', + ang= 'Triggers output of velocity for Delwaq', + ), + +Diffusivity_For_Delwaq = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Decide de la sortie du coefficient de diffusion pour Delwaq', + ang= 'Triggers output of diffusion for Delwaq', + ), + +Stage_discharge_Curves = SIMP( statut='o',typ='I', + max=2 , + into =('0="no"', '1="Z(Q)"', 'not programmed 2="Q(Z)"'), + 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)', + ), + +Stage_discharge_Curves_File = SIMP( statut='o',typ='TXM', + fr = 'Nom du fichier contenant les courbes de tarage', + ang= 'Name of the file containing stage-discharge curves', + ), + +Sources_File = SIMP( statut='o',typ='TXM', + fr = 'Nom du fichier contenant les informations variables en temps des sources', + ang= 'Name of the file containing time-dependent information on sources', + ), + +Treatment_Of_Negative_Depths = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1 0 : pas de traitement 1 : lissage 2 : limitation des flux', + ang= 'Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1 0: no treatment 1:smoothing 2:flux control', + ), + +Depth_In_Friction_Terms = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="nodal"', '2="average"'), + fr = '1 : nodale 2 : moyenne', + ang= '1: nodal 2: average', + ), + +Sections_Input_File = SIMP( statut='o',typ='TXM', + fr = 'sections input file, partitioned', + ang= 'sections input file, partitioned', + ), + +Sections_Output_File = SIMP( statut='o',typ='TXM', + fr = 'sections output file, written by the master', + ang= 'sections output file, written by the master', + ), + +Oil_Spill_Steering_File = SIMP( statut='o',typ='TXM', + fr = 'Contient les donnees pour le modele de derive de nappes', + ang= 'Contains data for the oil spill model', + ), + +Oil_Spill_Model = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS CE CAS LE FICHIER DE COMMANDES MIGRHYCAR EST NECESSAIRE', + ang= 'WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE THE MIGRHYCAR STEERING FILE IS NEEDED', + ), + +Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut='o',typ='I', + defaut=0 , + into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"', '6="LOG LAW"', '7="COLEBROOK-WHITE"'), + fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales. Les lois possibles sont les suivantes (cf. Note de principe) : 0 : pas de frottement 1 : lineaire 2 : Chezy 3 : Strickler 4 : Manning 5 : formule de NIKURADSE 6 : loi en log 7 : Colebrook-White', + ang= 'Selects the type of formulation used for the friction on lateral boundaries. The possible laws are as follows (refer to the Principle note): 0: no friction 1: linear 2: Chezy 3: Strickler 4: Manning 5: NIKURADSEs formula 6 : law log 7 : Colebrook-White', + ), + +Tomawac_Steering_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier des parametres de Tomawac en cas de couplage interne', + ang= 'Tomawac parameter file in case of internal coupling', + ), + +Coupling_Period_For_Tomawac = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'pour eviter de faire le couplage a chaque pas de temps', + ang= 'to avoid coupling at every time-step', + ), + +Newmark_Time_Integration_Coefficient = SIMP( statut='o',typ='R', + defaut=1.0 , + fr = '1. : Euler explicite 0.5 : ordre 2 en temps', + ang= '1. : Euler explicit 0.5 : order 2 in time', + ), + +Harmonic_Constants_File = SIMP( statut='o',typ='TXM', + fr = 'Constantes harmoniques extraites du fichier du modele de maree', + ang= 'Harmonic constants extracted from the tidalmodel file', + ), + +Tidal_Model_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques', + ang= 'Geometry file of the model from which harmonic constituents are extracted', + ), + +Ascii_Database_For_Tide = SIMP( statut='o',typ='TXM', + fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree. Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE', + ang= 'Tide data base of harmonic constituents extracted from the tidal model file. Old name in 6.1 version: TIDE DATA BASE', + ), + +Rain_Or_Evaporation = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Pour ajouter un apport ou une perte deau en surface. Voir le mot-cle PLUIE OU EVAPORATION EN MM PAR JOUR', + ang= 'to add or remove water at the free surface. See the key-word RAIN OR EVAPORATION IN MM PER DAY', + ), + +Rain_Or_Evaporation_In_Mm_Per_Day = SIMP( statut='o',typ='R', + defaut=0 , + fr = 'Pour ajouter un apport ou une perte deau en surface', + ang= 'to add or remove water at the free surface', + ), + +Binary_Database_1_For_Tide = SIMP( statut='o',typ='TXM', + fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree. Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau deau, par exemple h_tpxo7.2', + ang= 'Binary database 1 extracted from the tidal model file. In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2', + ), + +Binary_Database_2_For_Tide = SIMP( statut='o',typ='TXM', + fr = 'Base de donnees binaire 2 tiree du fichier du modele de maree. Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2', + ang= 'Binary database 2 extracted from the tidal model file. In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2', + ), + +Option_For_Tsunami_Generation = SIMP( statut='o',typ='I', + defaut=0 , + fr = '', + ang= '', + ), + +Physical_Characteristics_Of_The_Tsunami = SIMP( statut='o',typ='R', + defaut=(100.0, 210000.0, 75000.0, 13.6, 81.0, 41.0, 110.0, 0.0, 0.0, 3.0) , + max=10 , + fr = '', + ang= '', + ), + +Values_Of_Tracers_In_The_Rain = SIMP( statut='o',typ='R', + max=2 , + fr = '', + ang= '', + ), + +Number_Of_Tubes = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)', + ang= 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain and their features are given in the tubes data file (see written documentation)', + ), + +Weirs_Data_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de description des seuils presents dans le modele', + ang= 'Description of weirs existing in the model', + ), + +Culvert_Data_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de description des siphons presents dans le modele', + ang= 'Description of culvert existing in the model', + ), + +Tubes_Data_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de description des buses/ponts presents dans le modele', + ang= 'Description of tubes/bridges existing in the model', + ), + +Coefficient_To_Calibrate_Tidal_Velocities = SIMP( statut='o',typ='R', + defaut=999999.0 , + fr = 'Coefficient pour ajuster les composantes de vitesse de londe de maree aux frontieres maritimes. La valeur par defaut 999999. signifie que cest la racine carree du COEFFICIENT DE CALAGE DU MARNAGE qui est prise', + ang= 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions. Default value 999999. means that the square root of COEFFICIENT TO CALIBRATE TIDAL RANGE is taken', + ), + +Zone_Number_In_Geographic_System = SIMP( statut='o',typ='I', + defaut=-1 , + fr = 'Numero de zone (fuseau ou type de projection) lors de lutilisation dune 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', + ), + +Minor_Constituents_Inference = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Pour la base de donnees TPXO uniquement. Interpolation de composantes harmoniques mineures a partir de celles lues dans les fichiers dentree lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE', + ang= 'For TPXO tidal data base only. Inference of minor constituents from the one read in input files linked to keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE', + ), + +Law_Of_Tracers_Degradation = SIMP( statut='o',typ='I', + defaut=(0, 0) , + max=2 , + fr = 'Prise en compte dune loi de decroissance des traceurs', + ang= 'Take in account a law for tracers decrease', + ), + +Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', + max=2 , + fr = 'Coefficient 1 de la loi de decroissance des traceurs', + ang= 'Coefficient 1 of law for tracers decrease', + ), + +Breach = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage. La description des breches se fait avec le fichier de donnees des breches.', + ang= 'Take in account some breaches during the computation by modifying the bottom level of the mesh. Brech description is done with the breaches data file.', + ), + +Breaches_Data_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de description des breches', + ang= 'Description of breaches', + ), + +Drogues_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier de resultat avec les positions des flotteurs', + ang= 'Results file with positions of drogues', + ), + +Spatial_Projection_Type = SIMP( statut='o',typ='I', + defaut=1 , + into =('1="CARTESIAN, NOT GEOREFERENCED"', '2="MERCATOR"', '3="LATITUDE LONGITUDE"'), + fr = 'Option 2 ou 3 obligatoire pour les coordonnees spheriques Option 3 : latitude et longitude en degres !', + ang= 'Option 2 or 3 mandatory for spherical coordinates Option 3: latitude and longitude in degrees!', + ), + +Algae_Transport_Model = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Si oui, les flotteurs seront des algues', + ang= 'If yes, the floats or particles will be algae', + ), + +Diametre_Of_Algae = SIMP( statut='o',typ='R', + defaut=0.1 , + fr = 'Diametre des algues en m', + ang= 'Diametre of algae in m', + ), + +Density_Of_Algae = SIMP( statut='o',typ='R', + defaut=1050.0 , + fr = 'Masse volumique des algues en kg/m3', + ang= 'Density of algae in kg/m3', + ), + +Thickness_Of_Algae = SIMP( statut='o',typ='R', + defaut=0.01 , + fr = 'Epaisseur des algues en m', + ang= 'Thickness of algae in m', + ), + +Algae_Type = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Type des algues. Pour le choix 1 les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al. (1994).', + ang= 'Algae type. For choice 1 the algae particles will be modeled as spheres, and for the other choices see Gaylord et al. (1994)', + ), + +Option_For_Characteristics = SIMP( statut='o',typ='I', + defaut=1 , + fr = '1: forme forte 2: forme faible', + ang= '1: strong form 2: weak form', + ), + +Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut='o',typ='I', + defaut=10 , + fr = 'Seulement pour schemes 13 et 14', + ang= 'Only for schemes 13 and 14', + ), + +Stochastic_Diffusion_Model = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'Pour les particules : flotteurs, algues, hydrocarbures', + ang= 'Meant for particles: drogues, algae, oil spills', + ), + +Number_Of_Gauss_Points_For_Weak_Characteristics = SIMP( statut='o',typ='I', + defaut=3 , + fr = 'Voir les release notes 6.3', + ang= 'See release notes 6.3', + ), + +Mass_lumping_For_Weak_Characteristics = SIMP( statut='o',typ='R', + defaut=0.0 , + fr = 'Applique a la matrice de masse', + ang= 'To be applied to the mass matrix', + ), + +Type_Of_Weirs = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Méthode de traitement des seuils', + ang= 'Method for treatment of weirs', + ), + +Zones_File = SIMP( statut='o',typ='TXM', + fr = 'Fichier des zones avec sur chaque ligne numero de point numero de zone', + ang= 'Zones file, with on every line: point number zone number', + ), + +Waq_Steering_File = SIMP( statut='o',typ='TXM', + fr = 'fichier des parametres physiques pour les processus de qualite d eau (internes non ceux de DELWAQ)', + ang= 'file for physical parameters of waq processes (local ones of Telemac-tracer not those of DELWAQ)', + ), + +Waq_Dictionary = SIMP( statut='o',typ='TXM', + fr = 'fichier des parametres physiques pour les processus de qualite d eau (internes non ceux de DELWAQ)', + ang= 'file for physical parameters of waq processes (local ones of Telemac-tracer not those of DELWAQ)', + ), + +Scheme_For_Advection_Of_Velocities = SIMP( statut='o',typ='I', + defaut=1 , + into =('0="NO ADVECTION"', '1="CHARACTERISTICS"', '2="EXPLICIT + SUPG"', '3="EXPLICIT LEO POSTMA"', '4="EXPLICIT + MURD SCHEME N"', '5="EXPLICIT + MURD SCHEME PSI"', '13="N-SCHEME FOR TIDAL FLATS"', '14="N-SCHEME FOR TIDAL FLATS"'), + fr = 'Choix du schema de convection pour les vitesses, remplace FORME DE LA CONVECTION', + ang= 'Choice of the advection scheme for the velocities, replaces TYPE OF ADVECTION', + ), + +Scheme_For_Advection_Of_Tracers = SIMP( statut='o',typ='I', + defaut=1 , + into =('0="NO ADVECTION"', '1="CHARACTERISTICS"', '2="EXPLICIT + SUPG"', '3="EXPLICIT LEO POSTMA"', '4="EXPLICIT + MURD SCHEME N"', '5="EXPLICIT + MURD SCHEME PSI"', '13="LEO POSTMA FOR TIDAL FLATS"', '14="N-SCHEME FOR TIDAL FLATS"'), + fr = 'Choix du schema de convection pour les traceurs, remplace FORME DE LA CONVECTION', + ang= 'Choice of the advection scheme for the tracers, replaces TYPE OF ADVECTION', + ), + +Scheme_For_Advection_Of_K_epsilon = SIMP( statut='o',typ='I', + defaut=1 , + into =('0="NO ADVECTION"', '1="CHARACTERISTICS"', '2="EXPLICIT + SUPG"', '3="EXPLICIT LEO POSTMA"', '4="EXPLICIT + MURD SCHEME N"', '5="EXPLICIT + MURD SCHEME PSI"', '13="LEO POSTMA FOR TIDAL FLATS"', '14="N-SCHEME FOR TIDAL FLATS"'), + fr = 'Choix du schema de convection pour k et epsilon, remplace FORME DE LA CONVECTION', + ang= 'Choice of the advection scheme for k and epsilon, replaces TYPE OF ADVECTION', + ), + +Scheme_Option_For_Advection_Of_Tracers = SIMP( statut='o',typ='I', + defaut=1 , + 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', + ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for tracers', + ), + +Scheme_Option_For_Advection_Of_Velocities = SIMP( statut='o',typ='I', + defaut=1 , + 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', + ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for velocities', + ), + +Scheme_Option_For_Advection_Of_K_epsilon = SIMP( statut='o',typ='I', + defaut=1 , + fr = 'Si present remplace et a priorite sur : OPTION POUR LES CARACTERISTIQUES OPTION DE SUPG Si schema PSI : 1=explicite 2=predicteur-correcteur pour k et epsilon', + ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for k and epsilon', + ), + +Secondary_Currents = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Pour prendre en compte les courants secondaires', + ang= 'Using the parametrisation for secondary currents', + ), + +Production_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', + defaut=7.071 , + fr = 'Une constante dans les termes de creation de Omega', + ang= 'A constant in the production terms of Omega', + ), + +Dissipation_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', + defaut=0.5 , + fr = 'Coefficient de dissipation de Omega', + ang= 'Coefficient of dissipation term of Omega', + ), + +Water_Quality = SIMP( statut='o',typ='bool', + defaut=False , + fr = 'Prise en compte ou non de qualite d eau', + ang= 'waq effects are to be taken into account or not.', + ), + +Option_For_Wind = SIMP( statut='o',typ='I', + defaut=0 , + fr = 'donne les options pour introduire le vent: 0: pas de vent (enleve le mot cle VENT (logique)) 1: constant en temps et en espace (donne par le mot cle VITESSE ET DIRECTION DU VENT) 2: variable en temps donne par fichier formate 3: variable en temps et en espace donne par fichier formate', + ang= 'gives option for managing the wind: 0: no wind (we can remove keyword WIND (boolean)) 1: constant in time and space, given by keyword SPPED AND DIRECTION OF WIND 2: variable in time and (constant in space), given by formated file 3: variable in time and space', + ), + +Speed_And_Direction_Of_Wind = SIMP( statut='o',typ='R', + defaut=(0.0, 0.0) , + max=2 , + fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y=0 et x=+inf) du vent lorsqu ils sont consant en temps et en espace (mot cle OPTION DU VENT = 1)', + ang= 'gives the speed and direction (degre (from 0 to 360), 0 given y=0 anx x=+infinity) when they are constant in time and space (keyword OPTION FOR WIND = 1)', + ), + +Value_Of_Atmospheric_Pressure = SIMP( statut='o',typ='R', + defaut=100000.0 , + fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace', + ang= 'gives the value of atmospheric pressure when it is contant in time and space', + ), + +List_Of_Files = SIMP( statut='o',typ='TXM', + defaut=('STEERING FILE',) , + max=46 , + fr = 'Noms des fichiers exploites par le code', + ang= 'File names of the used files', + ), + + +) diff --git a/Telemac/prefs_TELEMAC.py b/Telemac/prefs_TELEMAC.py index 7f539909..92636e22 100644 --- a/Telemac/prefs_TELEMAC.py +++ b/Telemac/prefs_TELEMAC.py @@ -28,7 +28,7 @@ sys.path[:0]=[INSTALLDIR] # lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' +lang='ang' # Codage des strings qui accepte les accents (en remplacement de 'ascii') encoding='iso-8859-1' @@ -36,5 +36,6 @@ docPath=repIni # catalogues=( + #('TELEMAC','default',os.path.join(repIni,'Telemac_Cata_nouveau.py'),'TELEMAC','python'), ('TELEMAC','default',os.path.join(repIni,'Telemac_Cata.py'),'TELEMAC','python'), ) diff --git a/generator/generator_TELEMAC.py b/generator/generator_TELEMAC.py new file mode 100644 index 00000000..cd70db2b --- /dev/null +++ b/generator/generator_TELEMAC.py @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +"""Ce module contient le plugin generateur de fichier au format Code_Carmel3D pour EFICAS. +""" + +import traceback +import types,string,re,os +from Extensions.i18n import tr +from generator_python import PythonGenerator + +extensions=('.comm',) +listeSupprime=('Jour','Mois','An','Heure','Minute','Seconde') +DicoTransforme= {'MASS LUMPING':'MASS-LUMPING','MATRIX VECTOR' : 'MATRIX-VECTOR' , + 'C U PRECON':'C-U PRECON','STAGE DISCHARGE' : 'STAGE-DISCHARGE'} + +def entryPoint(): + """ + Retourne les informations necessaires pour le chargeur de plugins + Ces informations sont retournees dans un dictionnaire + """ + return { + # Le nom du plugin + 'name' : 'TELEMAC', + # La factory pour creer une instance du plugin + 'factory' : TELEMACGenerator, + } + + +class TELEMACGenerator(PythonGenerator): + """ + Ce generateur parcourt un objet de type JDC et produit + un texte au format eficas et + un texte au format dictionnaire + + """ + +#---------------------------------------------------------------------------------------- + def gener(self,obj,format='brut',config=None): + + self.initDico() + + # Cette instruction genere le contenu du fichier de commandes (persistance) + self.text=PythonGenerator.gener(self,obj,format) + return self.text + + +#---------------------------------------------------------------------------------------- +# initialisations +#---------------------------------------------------------------------------------------- + + def initDico(self) : + + self.texteDico = "" + + +#---------------------------------------------------------------------------------------- +# ecriture +#---------------------------------------------------------------------------------------- + + def writeDefault(self,fn) : + print "kkkkkkkkkkkkkkkkkkkkk" + fileDico = fn[:fn.rfind(".")] + '.py' + f = open( str(fileDico), 'wb') + f.write( self.texteDico ) + print self.texteDico + f.close() + +#---------------------------------------------------------------------------------------- +# analyse de chaque noeud de l'arbre +#---------------------------------------------------------------------------------------- + + def generMCSIMP(self,obj) : + """recuperation de l objet MCSIMP""" + s=PythonGenerator.generMCSIMP(self,obj) + nomMajuscule=obj.nom.upper() + nom=nomMajuscule.replace('_',' ') + if nom in listeSupprime : return s + nomNouveau=nom + for k in DicoTransforme.keys() : + if k in nom : + nomNouveau=nom.replace(k,DicoTransforme[k]) + self.texteDico+=nomNouveau+ "=" + s[0:-1]+ "\n" + return s + + def generMCFACT(self,obj): + """ + Recalule les jours et les heures + """ + s=PythonGenerator.generMCFACT(self,obj) + return s + + -- 2.39.2