Salome HOME
Updates for Telemac
[tools/eficas.git] / Telemac / waqtel_cata_auto.py
1
2 # -*- coding: latin-1 -*-
3
4 from Accas import *
5 class DateJJMMAAAA:
6   def __init__(self):
7     self.ntuple=3
8
9   def __convert__(self,valeur):
10     if type(valeur) == types.StringType: return None
11     if len(valeur) != self.ntuple: return None
12     return valeur
13
14   def info(self):
15     return "Date : jj/mm/aaaa "
16
17   __repr__=info
18   __str__=info
19
20 class grma(GEOM):
21   pass
22
23 import types
24 class Tuple:
25   def __init__(self,ntuple):
26     self.ntuple=ntuple
27
28   def __convert__(self,valeur):
29     if type(valeur) == types.StringType:
30       return None
31     if len(valeur) != self.ntuple:
32       return None
33     return valeur
34
35   def info(self):
36     return "Tuple de %s elements" % self.ntuple
37
38
39
40 JdC = JDC_CATA (code = 'WAQTEL',
41                 execmodul = None,
42                 )
43 # =======================================================================
44 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
45 # =======================================================================
46
47 VERSION_CATALOGUE="TRUNK_20210323"
48 # -----------------------------------------------------------------------
49 COMPUTATION_ENVIRONMENT = PROC(nom= "COMPUTATION_ENVIRONMENT",op = None,
50 # -----------------------------------------------------------------------
51 #   -----------------------------------
52     GLOBAL = FACT(statut='o',
53 #   -----------------------------------
54 #       -----------------------------------
55         WAQ_CASE_TITLE = SIMP(statut ='f',
56 #       -----------------------------------
57             typ = 'TXM',
58             defaut = '',
59             fr = """Titre du cas etudie. Ce titre sera inscrit dans les sorties.""",
60             ang = """Title of the case being considered.
61 This title will be marked on the printouts.""",
62         ),
63 #       -----------------------------------
64         PARALLEL_PROCESSORS = SIMP(statut ='f',
65 #       -----------------------------------
66             typ = 'I',
67             defaut = 0,
68             fr = """Nombre de processeurs en calcul parallele :
69 \begin{itemize}
70 \item 0 : 1 machine, compilation sans bibliotheque de parallelisme ;
71 \item 1 : 1 machine, compilation avec bibliotheque de parallelisme ;
72 \item 2 : 2 processeurs ou machines en parallele etc.
73 \end{itemize}""",
74             ang = """Number of processors for parallel processing:
75 \begin{itemize}
76 \item 0: 1 machine, compiling without parallel library,
77 \item 1: 1 machine, compiling with a parallel library,
78 \item 2: 2 processors or machines in parallel etc.
79 \end{itemize}""",
80         ),
81     ),
82 #   -----------------------------------
83     INPUT = FACT(statut='o',
84 #   -----------------------------------
85 #       -----------------------------------
86         DATA = FACT(statut='o',
87 #       -----------------------------------
88 #           -----------------------------------
89             GEOMETRY_FILE = SIMP(statut ='f',
90 #           -----------------------------------
91                 typ = ('Fichier','All Files (*)'), max='**',
92                 defaut = '',
93                 fr = """Fichier de geometrie, pareil que celui de TELEMAC.""",
94                 ang = """Geometry file same as the TELEMAC one.""",
95             ),
96 #           -----------------------------------
97             GEOMETRY_FILE_FORMAT = SIMP(statut ='f',
98 #           -----------------------------------
99                 typ = 'TXM',
100                 into = ['SERAFIN','SERAFIND','MED'],
101                 defaut = 'SERAFIN',
102                 fr = """Format du fichier de geometrie.
103 Les valeurs possibles sont :
104 \begin{itemize}
105 \item SERAFIN : format standard simple precision pour \tel ;
106 \item SERAFIND: format standard double precision pour \tel ;
107 \item MED     : format MED double precision base sur HDF5.
108 \end{itemize}""",
109                 ang = """Geometry file format.
110 Possible choices are:
111 \begin{itemize}
112 \item SERAFIN : classical single precision format in \tel,
113 \item SERAFIND: classical double precision format in \tel,
114 \item MED     : MED double precision format based on HDF5.
115 \end{itemize}""",
116             ),
117 #           -----------------------------------
118             BOUNDARY_CONDITIONS_FILE = SIMP(statut ='f',
119 #           -----------------------------------
120                 typ = ('Fichier','All Files (*)'), max='**',
121                 fr = """Nom du fichier contenant les types de conditions aux limites.
122 Ce fichier est rempli de facon automatique par le mailleur au moyen de
123 couleurs affectees aux noeuds des frontieres du domaine de calcul.""",
124                 ang = """Name of the file containing the types of boundary conditions.
125 This file is filled automatically by the mesh generator through
126 colours that are assigned to the boundary nodes.""",
127             ),
128 #           -----------------------------------
129             FORTRAN_FILE = SIMP(statut ='f',
130 #           -----------------------------------
131                 typ = ('Fichier','All Files (*)'), max='**',
132                 defaut = '',
133                 fr = """Nom du fichier FORTRAN a soumettre.""",
134                 ang = """Name of FORTRAN file to be submitted.""",
135             ),
136 #           -----------------------------------
137             HYDRODYNAMIC_FILE = SIMP(statut ='f',
138 #           -----------------------------------
139                 typ = ('Fichier','All Files (*)'), max='**',
140                 defaut = '',
141                 fr = """Fichier des donnees hydrodynamiques provenant de TELEMAC.
142 Lu mais pas utilise pour le moment.""",
143                 ang = """Hydrodynamic data file coming from TELEMAC.
144 Read but not used at the moment.""",
145             ),
146 #           -----------------------------------
147             HYDRODYNAMIC_FILE_FORMAT = SIMP(statut ='f',
148 #           -----------------------------------
149                 typ = 'TXM',
150                 into = ['SERAFIN','SERAFIND','MED'],
151                 defaut = 'SERAFIN',
152                 fr = """Format du fichier hydrodynamique.
153 Les valeurs possibles sont :
154 \begin{itemize}
155 \item SERAFIN : format standard simple precision pour \tel ;
156 \item SERAFIND: format standard double precision pour \tel ;
157 \item MED     : format MED double precision base sur HDF5.
158 \end{itemize}""",
159                 ang = """Hydrodynamic file format.
160 Possible choices are:
161 \begin{itemize}
162 \item SERAFIN : classical single precision format in \tel,
163 \item SERAFIND: classical double precision format in \tel,
164 \item MED     : MED double precision format based on HDF5.
165 \end{itemize}""",
166             ),
167 #           -----------------------------------
168             VALIDATION = SIMP(statut ='f',
169 #           -----------------------------------
170                 typ = bool,
171                 defaut = False,
172                 fr = """Option utilisee principalement pour le dossier de validation.
173 Si ce mot-cle vaut OUI, les resultats du calcul vont alors etre
174 compares aux valeurs du fichier de reference.
175 Lu mais pas utilise pour le moment.""",
176                 ang = """This option is primarily used for the validation
177 documents. If this keyword is equal to YES, the REFERENCE FILE
178 is then considered as a reference which the computation is
179 going to be compared with.
180 Read but not used at the moment.""",
181             ),
182 #           -----------------------------------
183             b_VALIDATIONG = BLOC(condition="VALIDATION == True",
184 #           -----------------------------------
185 #               -----------------------------------
186                 REFERENCE_FILE_FORMAT = SIMP(statut ='f',
187 #               -----------------------------------
188                     typ = 'TXM',
189                     into = ['SERAFIN','SERAFIND','MED'],
190                     defaut = 'SERAFIN',
191                     fr = """Format du fichier hydrodynamique.
192 Les valeurs possibles sont :
193 \begin{itemize}
194 \item SERAFIN : format standard simple precision pour \tel ;
195 \item SERAFIND: format standard double precision pour \tel ;
196 \item MED     : format MED double precision base sur HDF5.
197 \end{itemize}""",
198                     ang = """Hydrodynamic file format.
199 Possible choices are:
200 \begin{itemize}
201 \item SERAFIN : classical single precision format in \tel,
202 \item SERAFIND: classical double precision format in \tel,
203 \item MED     : MED double precision format based on HDF5.
204 \end{itemize}""",
205                 ),
206 #               -----------------------------------
207                 REFERENCE_FILE = SIMP(statut ='f',
208 #               -----------------------------------
209                     typ = ('Fichier','All Files (*)'), max='**',
210                     defaut = '',
211                     fr = """Nom du fichier servant a valider le calcul.
212 Si \telkey{VALIDATION} = OUI, les resultats du calcul vont etre
213 comparees aux valeurs contenues dans ce fichier.
214 La comparaison est effectuee par le sous-programme VALIDA.
215 a implementer.""",
216                     ang = """Name of the file used to validate the computation.
217 If \telkey{VALIDATION} = YES, the results of the computation will
218 be compared with the values of this file. The comparison is
219 made by the subroutine BIEF\_VALIDA. (not implemented yet).""",
220                 ),
221             ),
222         ),
223 #       -----------------------------------
224         AED2 = FACT(statut='o',
225 #       -----------------------------------
226 #           -----------------------------------
227             AED2_STEERING_FILE = SIMP(statut ='f',
228 #           -----------------------------------
229                 typ = ('Fichier','All Files (*)'),
230                 defaut = '',
231                 fr = """Nom du fichier contenant les parametres AED2 du calcul
232 QE a realiser.""",
233                 ang = """Name of the file containing AED2 parameters of the WAQ
234 computation.""",
235             ),
236 #           -----------------------------------
237             AED2_PHYTOPLANKTON_STEERING_FILE = SIMP(statut ='f',
238 #           -----------------------------------
239                 typ = ('Fichier','All Files (*)'),
240                 defaut = '',
241                 fr = """Nom du fichier contenant les parametres phytoplancton AED2 du
242 calcul QE a realiser.""",
243                 ang = """Name of the file containing AED2 phytoplankton parameters of
244 the WAQ computation.""",
245             ),
246 #           -----------------------------------
247             AED2_ZOOPLANKTON_STEERING_FILE = SIMP(statut ='f',
248 #           -----------------------------------
249                 typ = ('Fichier','All Files (*)'),
250                 defaut = '',
251                 fr = """Nom du fichier contenant les parametres zooplancton AED2 du
252 calcul QE a realiser.""",
253                 ang = """Name of the file containing AED2 zooplankton parameters of the
254 WAQ computation.""",
255             ),
256 #           -----------------------------------
257             AED2_PATHOGEN_STEERING_FILE = SIMP(statut ='f',
258 #           -----------------------------------
259                 typ = ('Fichier','All Files (*)'),
260                 defaut = '',
261                 fr = """Nom du fichier contenant les parametres pathogenes AED2 du
262 calcul QE a realiser.""",
263                 ang = """Name of the file containing AED2 pathogen parameters of the
264 WAQ computation.""",
265             ),
266 #           -----------------------------------
267             AED2_BIVALVE_STEERING_FILE = SIMP(statut ='f',
268 #           -----------------------------------
269                 typ = ('Fichier','All Files (*)'),
270                 defaut = '',
271                 fr = """Nom du fichier contenant les parametres bivalves AED2 du
272 calcul QE a realiser.""",
273                 ang = """Name of the file containing AED2 bivalve parameters of the
274 WAQ computation.""",
275             ),
276         ),
277     ),
278 #   -----------------------------------
279     OUTPUT = FACT(statut='o',
280 #   -----------------------------------
281 #       -----------------------------------
282         RESULTS = FACT(statut='o',
283 #       -----------------------------------
284 #           -----------------------------------
285             RESULTS_FILE = SIMP(statut ='f',
286 #           -----------------------------------
287                 typ = ('Fichier','All Files (*)','Sauvegarde'), max='**',
288                 fr = """Nom du fichier dans lequel seront ecrits les resultats avec
289 une periodicite donnee par le mot cle
290 \telkey{PERIODE POUR LES SORTIES QUALITE D EAU}.""",
291                 ang = """Name of the file into which the computation results will be
292 written, the periodicity being given by the keyword
293 \telkey{WATER QUALITY PRINTOUT PERIOD}.""",
294             ),
295 #           -----------------------------------
296             RESULTS_FILE_FORMAT = SIMP(statut ='f',
297 #           -----------------------------------
298                 typ = 'TXM',
299                 into = ['SERAFIN','SERAFIND','MED'],
300                 defaut = 'SERAFIN',
301                 fr = """Format du fichier des resultats.
302 Les valeurs possibles sont :
303 \begin{itemize}
304 \item SERAFIN : format standard simple precision pour \tel ;
305 \item SERAFIND: format standard double precision pour \tel ;
306 \item MED     : format MED double precision base sur HDF5.
307 \end{itemize}""",
308                 ang = """Results file format.
309 Possible choices are:
310 \begin{itemize}
311 \item SERAFIN : classical single precision format in \tel,
312 \item SERAFIND: classical double precision format in \tel,
313 \item MED     : MED double precision format based on HDF5.
314 \end{itemize}""",
315             ),
316 #           -----------------------------------
317             WATER_QUALITY_PRINTOUT_PERIOD = SIMP(statut ='o',
318 #           -----------------------------------
319                 typ = 'I',
320                 defaut = 1,
321                 fr = """Periode pour les sorties graphiques QE.
322 Lu mais pas utilise pour le moment.""",
323                 ang = """Graphic outputs period for WAQ.
324 Read but not used at the moment.""",
325             ),
326 #           -----------------------------------
327             VARIABLES_FOR_WAQ_PRINTOUTS = SIMP(statut ='f',
328 #           -----------------------------------
329                 typ = 'TXM', max='**',
330                 into = ['','to edit !!!'],
331                 defaut = '',
332                 fr = """Noms des variables que l''utilisateur veut ecrire dans
333 le fichier des resultats QE.
334 Chaque variable est representee par une lettre.
335 Ne semble pas utilise pour le moment.""",
336                 ang = """Names of variables the user wants to write
337 into the graphic results file.
338 Does not seem to be used at the moment.""",
339             ),
340         ),
341 #       -----------------------------------
342         LISTING = FACT(statut='o',
343 #       -----------------------------------
344 #           -----------------------------------
345             MASS_BALANCE = SIMP(statut ='f',
346 #           -----------------------------------
347                 typ = bool,
348                 defaut = False,
349                 fr = """Determine si oui ou non le bilan de masse est realise.
350 Lu mais pas utilise pour le moment.""",
351                 ang = """Determines whether a check of the mass-balance over the domain
352 is made or not.
353 Read but not used at the moment.""",
354             ),
355 #           -----------------------------------
356             WAQ_VARIABLES_TO_BE_PRINTED = SIMP(statut ='f',
357 #           -----------------------------------
358                 typ = 'TXM', max='**',
359                 defaut = '',
360                 fr = """Nom des variables que l''utilisateur desire ecrire sur
361 le listing. Memes possibilites que pour les sorties graphiques.
362 Ne semble pas utilise pour le moment.""",
363                 ang = """Names of variables the user wants to write on the listing.
364 Each variable is represented by a letter in the same manner as
365 it is done in the graphic results file.
366 Does not seem to be used at the moment.""",
367             ),
368         ),
369     ),
370 )
371 # -----------------------------------------------------------------------
372 GENERAL_PARAMETERS = PROC(nom= "GENERAL_PARAMETERS",op = None,
373 # -----------------------------------------------------------------------
374 #   -----------------------------------
375     DEBUGGER = SIMP(statut ='f',
376 #   -----------------------------------
377         typ = 'I',
378         defaut = [0],
379         fr = """Pour imprimer la sequence des appels, mettre 1.""",
380         ang = """If 1, calls of subroutines will be printed in the listing.""",
381     ),
382 )
383 # -----------------------------------------------------------------------
384 HYDRODYNAMICS = PROC(nom= "HYDRODYNAMICS",op = None,
385 # -----------------------------------------------------------------------
386 #   -----------------------------------
387     PHYSICAL_PARAMETERS = FACT(statut='o',
388 #   -----------------------------------
389 #       -----------------------------------
390         WATER_DENSITY = SIMP(statut ='f',
391 #       -----------------------------------
392             typ = 'R',
393             defaut = 999.972,
394             fr = """Fixe la valeur de la masse volumique de l''eau.""",
395             ang = """Sets the value of water density.""",
396         ),
397 #       -----------------------------------
398         KINEMATIC_WATER_VISCOSITY = SIMP(statut ='f',
399 #       -----------------------------------
400             typ = 'R',
401             defaut = 1.E-6,
402             fr = """Definit la viscosite cinematique de l''eau.
403 En m/s$^2$. Lu mais pas utilise pour le moment.""",
404             ang = """Specifies the water kinematic viscosity.
405 En m/s$^2$. Read but not used at the moment.""",
406         ),
407     ),
408 #   -----------------------------------
409     SUSPENSION = FACT(statut='o',
410 #   -----------------------------------
411 #       -----------------------------------
412         DISPERSION_ALONG_THE_FLOW = SIMP(statut ='f',
413 #       -----------------------------------
414             typ = 'R',
415             defaut = [1.E-2],
416             fr = """Lu mais pas utilise pour le moment.""",
417             ang = """Read but not used at the moment.""",
418         ),
419 #       -----------------------------------
420         DISPERSION_ACROSS_THE_FLOW = SIMP(statut ='f',
421 #       -----------------------------------
422             typ = 'R',
423             defaut = [1.E-2],
424             fr = """Lu mais pas utilise pour le moment.""",
425             ang = """Read but not used at the moment.""",
426         ),
427     ),
428 )
429 # -----------------------------------------------------------------------
430 PHYSICAL_PARAMETERS = PROC(nom= "PHYSICAL_PARAMETERS",op = None,
431 # -----------------------------------------------------------------------
432 #   -----------------------------------
433     EVAPORATION_RATE = SIMP(statut ='f',
434 #   -----------------------------------
435         typ = 'R',
436         defaut = [0.],
437         fr = """Taux d evaporation - meme unite que la pluie en m$^3$/s/m$^2$.""",
438         ang = """Rate of evaporation - same unit as rainfall in m$^3$/s/m$^2$.""",
439     ),
440 )
441 # -----------------------------------------------------------------------
442 WAQ_PARAMETERS = PROC(nom= "WAQ_PARAMETERS",op = None,
443 # -----------------------------------------------------------------------
444 #   -----------------------------------
445     METHOD_OF_COMPUTATION_OF_RAY_EXTINCTION_COEFFICIENT = SIMP(statut ='o',
446 #   -----------------------------------
447         typ = 'TXM',
448         into = ["ATKINS FORMULA","MOSS FORMULA","GIVEN CONSTANT"],
449         defaut = "ATKINS FORMULA",
450         fr = """Choix de la methode de calcul du coefficient d extinction
451 du rayonnement solaire dans l eau $k_e$ en m$^{-1}$. Les choix sont:
452 \begin{itemize}
453 \item 1 : formule d Atkins (1.7/Secchi) ;
454 \item 2 : formule de Moss si la profondeur de Secchi est inconnue ;
455 \item 3 : constante fournie par l utilisateur.
456 \end{itemize}
457 Pour EUTRO+BIOMASS et THERMIC en 3D.""",
458         ang = """Choice of the method of calculation of the extinction of
459 sun ray in water $k_e$ in m$^{-1}$. The choices are :
460 \begin{itemize}
461 \item 1: Atkins formula (1.7/Secchi),
462 \item 2: Moss formula if Secchi depth is unknown,
463 \item 3: constant provided by the user with the keyword
464 \telkey{LIGHT EXTINCTION COEFFICIENT}.
465 \end{itemize}
466 For EUTRO+BIOMASS and THERMIC in 3D.""",
467     ),
468 #   -----------------------------------
469     SECCHI_DEPTH = SIMP(statut ='f',
470 #   -----------------------------------
471         typ = 'R',
472         defaut = 0.9,
473         fr = """En m. Utilise pour EUTRO+BIOMAS et THERMIC en 3D.""",
474         ang = """In m. Used for EUTRO+BIOMAS, and THERMIC in 3D.""",
475     ),
476 #   -----------------------------------
477     LIGHT_EXTINCTION_COEFFICIENT = SIMP(statut ='f',
478 #   -----------------------------------
479         typ = 'R',
480         defaut = 0.2,
481         fr = """En m$^{-1}$. Utilise pour EUTRO+BIOMAS et THERMIC en 3D.""",
482         ang = """In m$^{-1}$. Used for EUTRO+BIOMAS, and THERMIC in 3D.""",
483     ),
484 #   -----------------------------------
485     EUTROPHICATION = FACT(statut='o',
486 #   -----------------------------------
487 #       -----------------------------------
488         WATER_TEMPERATURE = SIMP(statut ='f',
489 #       -----------------------------------
490             typ = 'R',
491             defaut = [7.],
492             fr = """En $^{\circ}$C, temperature moyenne de l eau
493 necessaire pour calculer les valeurs de $C_s$.""",
494             ang = """In $^{\circ}$C, mean temperature necessary for
495 computing different values of $C_s$.""",
496         ),
497 #       -----------------------------------
498         O2 = FACT(statut='o',
499 #       -----------------------------------
500 #           -----------------------------------
501             VEGETAL_RESPIRATION_R = SIMP(statut ='f',
502 #           -----------------------------------
503                 typ = 'R',
504                 defaut = [0.06],
505                 fr = """En mgO$_2$/j/l. Variable $R$ dans la documentation.
506 Pour O2 seulement.""",
507                 ang = """In mgO$_2$/d/l. Variable $R$ in the documentation.
508 For O2 only.""",
509             ),
510 #           -----------------------------------
511             CONSTANT_OF_DEGRADATION_OF_ORGANIC_LOAD_K1 = SIMP(statut ='f',
512 #           -----------------------------------
513                 typ = 'R',
514                 defaut = [0.25],
515                 fr = """En j$^{-1}$. Pour O2 seulement.""",
516                 ang = """In d$^{-1}$. For O2 only.""",
517             ),
518 #           -----------------------------------
519             CONSTANT_OF_NITRIFICATION_KINETIC_K4 = SIMP(statut ='f',
520 #           -----------------------------------
521                 typ = 'R',
522                 defaut = [0.35],
523                 fr = """En j$^{-1}$. Pour O2 seulement.""",
524                 ang = """In d$^{-1}$. For O2 only.""",
525             ),
526         ),
527 #       -----------------------------------
528         EUTRO_AND_O2 = FACT(statut='o',
529 #       -----------------------------------
530 #           -----------------------------------
531             BENTHIC_DEMAND = SIMP(statut ='f',
532 #           -----------------------------------
533                 typ = 'R',
534                 defaut = [0.1],
535                 fr = """En gO$_2$/m$^2$/j. Variable $BEN$ dans la documentation.
536 Pour EUTRO+O2.""",
537                 ang = """In gO$_2$/m$^2$/d. Variable $BEN$ in the documentation.
538 For EUTRO+O2.""",
539             ),
540 #           -----------------------------------
541             PHOTOSYNTHESIS_P = SIMP(statut ='f',
542 #           -----------------------------------
543                 typ = 'R',
544                 defaut = [1.],
545                 fr = """En mgO$_2$/j/l. Variable $P$ dans la documentation.
546 Son ordre de grandeur est compris entre 0.3 et 9~mgO$_2$/j/l
547 selon la nature du cours d eau.
548 Pour EUTRO+O2.""",
549                 ang = """In mgO$_2$/d/l. Variable $P$ in the documentation.
550 Between 0.3 and 9~mgO$_2$/d/l depending on the type of river.
551 For EUTRO+O2.""",
552             ),
553 #           -----------------------------------
554             O2_SATURATION_DENSITY_OF_WATER__CS_ = SIMP(statut ='f',
555 #           -----------------------------------
556                 typ = 'R',
557                 defaut = [11.],
558                 fr = """En mgO$_2$/l. Variable $C_s$ = 9~mgO$_2$/l at 20$^{\circ}$C.
559 Pour EUTRO+O2.""",
560                 ang = """In mgO$_2$/l. Variable $C_s$ = 9~mgO$_2$/l at 20$^{\circ}$C.
561 For EUTRO+O2.""",
562             ),
563 #           -----------------------------------
564             FORMULA_FOR_COMPUTING_K2 = SIMP(statut ='f',
565 #           -----------------------------------
566                 typ = 'I',
567                 defaut = [1],
568                 fr = """Donne le choix de calcul de la formule de $k_2$ de la
569 reaeration naturelle, les options sont les suivantes :
570 \begin{itemize}
571 \item 0 : $k_2$ constant, valeur de $k_2$ = 0.9 ;
572 \item 1 : formule de Tenessee Valley Authority ;
573 \item 2 : formule de Owens et al. ;
574 \item 3 : formule de Churchill et al. ;
575 \item 4 : formule de O Connor \& Dobbins ;
576 \item 5 : formule combinant les formules 2, 3 et 4.
577 \end{itemize}
578 Pour EUTRO+O2.""",
579                 ang = """Gives how to compute the reaeration coefficient $k_2$
580 options are:
581 \begin{itemize}
582 \item 0: $k_2$ constant, in this case $k_2$ = 0.9,
583 \item 1: formula of The Tenessee Valley Authority,
584 \item 2: formula of Owens et al.,
585 \item 3: formula of Churchill et al.,
586 \item 4: formula of O Connor \& Dobbins,
587 \item 5: formula combining the formulae 2, 3 et 4.
588 \end{itemize}
589 For EUTRO+O2.""",
590             ),
591 #           -----------------------------------
592             K2_REAERATION_COEFFICIENT = SIMP(statut ='f',
593 #           -----------------------------------
594                 typ = 'R',
595                 defaut = [0.9],
596                 fr = """Ou coefficient d echange gazeux eau-atmosphere a 20$^{\circ}$C
597 En j$^{-1}$. Valeur comprise entre 0.1 et > 1.15~j$^{-1}$.
598 Variable $k_2$ dans la documentation. Pour EUTRO+O2.""",
599                 ang = """In d$^{-1}$. Value between 0.1 and > 1.15~d$^{-1}$.
600 Variable $k_2$ in the documentation. For EUTRO+O2.""",
601             ),
602 #           -----------------------------------
603             FORMULA_FOR_COMPUTING_CS = SIMP(statut ='f',
604 #           -----------------------------------
605                 typ = 'I',
606                 defaut = [0],
607                 fr = """En j$^{-1}$, les options sont les suivantes :
608 \begin{itemize}
609 \item 0 : constante ;
610 \item 1 : formule de Elmore \& Hayes ;
611 \item 2 : formule de Montgomery.
612 \end{itemize}
613 Pour EUTRO+O2.""",
614                 ang = """In d$^{-1}$, here are the available options:
615 \begin{itemize}
616 \item 0: constant,
617 \item 1: Elmore \& Hayes formula,
618 \item 2: Montgomery formula.
619 \end{itemize}
620 For EUTRO+O2.""",
621             ),
622         ),
623 #       -----------------------------------
624         EUTRO_AND_BIOMASS = FACT(statut='o',
625 #       -----------------------------------
626 #           -----------------------------------
627             MAXIMUM_ALGAL_GROWTH_RATE_AT_20C = SIMP(statut ='f',
628 #           -----------------------------------
629                 typ = 'R',
630                 defaut = 2.,
631                 fr = """Taux de croissance algale maximale a 20$^{\circ}$C.
632 Pour EUTRO+BIOMASS.""",
633                 ang = """Maximum algal growth rate at 20$^{\circ}$C.
634 For EUTRO+BIOMASS.""",
635             ),
636 #           -----------------------------------
637             ALGAL_TOXICITY_COEFFICIENTS = SIMP(statut ='f',
638 #           -----------------------------------
639                 typ = 'R', min= 2, max= 2,
640                 defaut = [1.,0.],
641                 fr = """$\alpha_1$ et $\alpha_2$ dans la documentation.
642 $\alpha_i = 1$ signifie absence de toxicite. Pour EUTRO+BIOMASS.""",
643                 ang = """$\alpha_1$ and $\alpha_2$ in the documentation.
644 $\alpha_i = 1$ means no toxicity. For EUTRO+BIOMASS.""",
645             ),
646 #           -----------------------------------
647             VEGETAL_TURBIDITY_COEFFICIENT_WITHOUT_PHYTO = SIMP(statut ='f',
648 #           -----------------------------------
649                 typ = 'R',
650                 defaut = [0.],
651                 fr = """En m$^{-1}$. Pour EUTRO+BIOMASS.""",
652                 ang = """In m$^{-1}$. For EUTRO+BIOMASS.""",
653             ),
654 #           -----------------------------------
655             PARAMETER_OF_CALIBRATION_OF_SMITH_FORMULA = SIMP(statut ='f',
656 #           -----------------------------------
657                 typ = 'R',
658                 defaut = [120.],
659                 fr = """En W/m$^2$. Ordre de grandeur = 100~W/m$^2$.
660 Pour EUTRO+BIOMASS.""",
661                 ang = """In W/m$^2$. Around 100~W/m$^2$. For EUTRO+BIOMASS.""",
662             ),
663 #           -----------------------------------
664             SUNSHINE_FLUX_DENSITY_ON_WATER_SURFACE = SIMP(statut ='f',
665 #           -----------------------------------
666                 typ = 'R',
667                 defaut = 0.,
668                 fr = """Densite de flux du rayonnement solaire a la surface de l eau
669 en W/m$^2$. Pour EUTRO+BIOMASS.""",
670                 ang = """Density of sunshine flux on the water surface
671 in W/m$^2$. For EUTRO+BIOMASS.""",
672             ),
673 #           -----------------------------------
674             CONSTANT_OF_HALF_SATURATION_WITH_PHOSPHATE = SIMP(statut ='f',
675 #           -----------------------------------
676                 typ = 'R',
677                 defaut = [0.005],
678                 fr = """En mgP/l. Environ 0.005~mgP/l. Pour EUTRO+BIOMASS.""",
679                 ang = """In mgP/l. Around 0.005~mgP/l. For EUTRO+BIOMASS.""",
680             ),
681 #           -----------------------------------
682             CONSTANT_OF_HALF_SATURATION_WITH_NITROGEN = SIMP(statut ='f',
683 #           -----------------------------------
684                 typ = 'R',
685                 defaut = [0.03],
686                 fr = """En mgN/l. Environ 0.03~mgN/l. Pour EUTRO+BIOMASS.""",
687                 ang = """In mgN/l. Around 0.03~mgN/l. For EUTRO+BIOMASS.""",
688             ),
689 #           -----------------------------------
690             RESPIRATION_RATE_OF_ALGAL_BIOMASS = SIMP(statut ='f',
691 #           -----------------------------------
692                 typ = 'R',
693                 defaut = [0.05],
694                 fr = """En j$^{-1}$, a 20$^{\circ}$C. Variable $RP$ dans la
695 documentation. Pour EUTRO+BIOMASS.""",
696                 ang = """In d$^{-1}$, at 20$^{\circ}$C. Variable $RP$ in
697 the documentation. For EUTRO+BIOMASS.""",
698             ),
699 #           -----------------------------------
700             COEFFICIENTS_OF_ALGAL_MORTALITY_AT_20C = SIMP(statut ='f',
701 #           -----------------------------------
702                 typ = 'R', min= 2, max= 2,
703                 defaut = [0.1,0.003],
704                 fr = """Variables $M_1$ et $M_2$ dans la documentation.
705 Pour EUTRO+BIOMASS.""",
706                 ang = """Variables $M_1$ and $M_2$ in the documentation.
707 For EUTRO+BIOMASS.""",
708             ),
709 #           -----------------------------------
710             PROPORTION_OF_PHOSPHORUS_WITHIN_PHYTO_CELLS = SIMP(statut ='f',
711 #           -----------------------------------
712                 typ = 'R',
713                 defaut = [0.0025],
714                 fr = """En mgP/$\mu$gChlA. Variable $fp$ dans la documentation.
715 Pour EUTRO+BIOMASS.""",
716                 ang = """In mgP/$\mu$gChlA. Variable $fp$ in the documentation.
717 For EUTRO+BIOMASS.""",
718             ),
719 #           -----------------------------------
720             PERCENTAGE_OF_PHOSPHORUS_ASSIMILABLE_IN_DEAD_PHYTO = SIMP(statut ='f',
721 #           -----------------------------------
722                 typ = 'R',
723                 defaut = [0.5],
724                 fr = """En $\%$. Pour EUTRO+BIOMASS.""",
725                 ang = """In $\%$. For EUTRO+BIOMASS.""",
726             ),
727 #           -----------------------------------
728             RATE_OF_TRANSFORMATION_OF_POR_TO_PO4 = SIMP(statut ='f',
729 #           -----------------------------------
730                 typ = 'R',
731                 defaut = [0.03],
732                 fr = """Taux de transformation du phosphore degradable non assimilable
733 par le phytoplancton (POR) en phosphore mineral dissous assimilable par
734 le phyto (PO4) par le biais de la mineralisation bacterienne
735 en j$^{-1}$.
736 Variables $k_1$ pour BIOMAS et $k_{320}$ pour EUTRO (a 20$^{\circ}$C)
737 dans la documentation. Pour EUTRO+BIOMASS.""",
738                 ang = """Rate of transformation of degradable and non assimilable
739 phosphorus (POR) to mineral dissolved assimilable phosphorus (PO4)
740 by means of bacteria mineralization in d$^{-1}$.
741 Variables $k_1$ for BIOMAS and $k_{320}$ for EUTRO (at 20$^{\circ}$C)
742 in the documentation. For EUTRO+BIOMASS.""",
743             ),
744 #           -----------------------------------
745             RATE_OF_TRANSFORMATION_OF_NOR_TO_NO3 = SIMP(statut ='f',
746 #           -----------------------------------
747                 typ = 'R',
748                 defaut = [0.],
749                 fr = """Taux de transformation de l azote degradable
750 non assimilable par le phytoplancton (NOR) en azote mineral dissous
751 assimilable par le phytoplancton NO3 par le biais de la
752 mineralisation bacterienne en j$^{-1}$.
753 Variables $k_2$ pour BIOMAS et $k_{620}$ pour EUTRO (a 20$^{\circ}$C)
754 dans la documentation. Pour EUTRO+BIOMASS.""",
755                 ang = """Rate of transformation of degradable and non assimilable
756 nitrogen (NOR) to mineral dissolved assimilable nitrogen (NO3)
757 by bacteria mineralization in d$^{-1}$.
758 Variables $k_2$ for BIOMAS and $k_{620}$ for EUTRO (at 20$^{\circ}$C)
759 in the documentation. For EUTRO+BIOMASS.""",
760             ),
761 #           -----------------------------------
762             PROPORTION_OF_NITROGEN_WITHIN_PHYTO_CELLS = SIMP(statut ='f',
763 #           -----------------------------------
764                 typ = 'R',
765                 defaut = [0.0035],
766                 fr = """En mgN/$\mu$gChlA. Variable $fn$ dans la documentation.
767 Pour EUTRO+BIOMASS.""",
768                 ang = """In mgN/$\mu$gChlA. Variable $fn$ in the documentation.
769 For EUTRO+BIOMASS.""",
770             ),
771 #           -----------------------------------
772             PERCENTAGE_OF_NITROGEN_ASSIMILABLE_IN_DEAD_PHYTO = SIMP(statut ='f',
773 #           -----------------------------------
774                 typ = 'R',
775                 defaut = [0.5],
776                 fr = """En $\%$. Variable $dtn$ dans la documentation.
777 Pour EUTRO+BIOMASS.""",
778                 ang = """In $\%$. Variable $dtn$ in the documentation.
779 For EUTRO+BIOMASS.""",
780             ),
781 #           -----------------------------------
782             SEDIMENTATION_VELOCITY_OF_ORGANIC_PHOSPHORUS = SIMP(statut ='f',
783 #           -----------------------------------
784                 typ = 'R',
785                 defaut = [0.],
786                 fr = """Vitesse de sedimentation du phosphore organique non algal
787 en m/s. Pour EUTRO+BIOMASS.""",
788                 ang = """Sedimentation velocity of non algal organic phosphorus
789 in m/s. For EUTRO+BIOMASS.""",
790             ),
791 #           -----------------------------------
792             SEDIMENTATION_VELOCITY_OF_NON_ALGAL_NITROGEN = SIMP(statut ='f',
793 #           -----------------------------------
794                 typ = 'R',
795                 defaut = [0.],
796                 fr = """Vitesse de sedimentation de l azote organique non algal
797 en m/s. Pour EUTRO+BIOMASS.""",
798                 ang = """Sedimentation velocity of non algal organic nitrogen
799 in m/s. For EUTRO+BIOMASS.""",
800             ),
801         ),
802 #       -----------------------------------
803         EUTRO = FACT(statut='o',
804 #       -----------------------------------
805 #           -----------------------------------
806             CONSUMED_OXYGEN_BY_NITRIFICATION = SIMP(statut ='f',
807 #           -----------------------------------
808                 typ = 'R',
809                 defaut = [5.2],
810                 fr = """En mgO$_2$/mgNH$_4$. Variable $n$ in the documentation.
811 Pour EUTRO seulement.""",
812                 ang = """In mgO$_2$/mgNH$_4$. Variable $n$ in the documentation.
813 For EUTRO only.""",
814             ),
815 #           -----------------------------------
816             CONSTANT_FOR_THE_NITRIFICATION_KINETIC_K520 = SIMP(statut ='f',
817 #           -----------------------------------
818                 typ = 'R',
819                 defaut = [0.35],
820                 fr = """Constante de la cinetique de nitrification a 20$^{\circ}$C.
821 En j$^{-1}$. Pour EUTRO seulement.""",
822                 ang = """Constant for the nitrification kinetic at 20$^{\circ}$C.
823 In d$^{-1}$. For EUTRO only.""",
824             ),
825 #           -----------------------------------
826             CONSTANT_OF_DEGRADATION_OF_ORGANIC_LOAD_K120 = SIMP(statut ='f',
827 #           -----------------------------------
828                 typ = 'R',
829                 defaut = [0.35],
830                 fr = """Constante de cinetique de degradation de la charge organique
831 a 20$^{\circ}$C. En j$^{-1}$. Pour EUTRO seulement.""",
832                 ang = """Constant of degradation kinetic of organic load
833 at 20$^{\circ}$C. In d$^{-1}$. For EUTRO only.""",
834             ),
835 #           -----------------------------------
836             SEDIMENTATION_VELOCITY_OF_ORGANIC_LOAD = SIMP(statut ='f',
837 #           -----------------------------------
838                 typ = 'R',
839                 defaut = [0.],
840                 fr = """En m/s. Pour EUTRO seulement.""",
841                 ang = """In m/s. For EUTRO only.""",
842             ),
843 #           -----------------------------------
844             OXYGEN_PRODUCED_BY_PHOTOSYNTHESIS = SIMP(statut ='f',
845 #           -----------------------------------
846                 typ = 'R',
847                 defaut = [0.15],
848                 fr = """En mgO$_2$/$\mu$gChlA. Variable $f$ dans la documentation.
849 Pour EUTRO seulement.""",
850                 ang = """In mgO$_2$/$\mu$gChlA. Variable $f$ in the documentation.
851 For EUTRO only.""",
852             ),
853         ),
854 #       -----------------------------------
855         SOURCES = FACT(statut='o',
856 #       -----------------------------------
857 #           -----------------------------------
858             FORMULA_FOR_COMPUTING_RS = SIMP(statut ='f',
859 #           -----------------------------------
860                 typ = 'I',
861                 defaut = [0],
862                 fr = """Donne le choix de calcul de la formule de RS de la
863 reaeration naturelle au niveau des seuils,
864 les options sont les suivantes :
865 \begin{itemize}
866 \item 0 : RS constant, valeur de RS = 1.0 ;
867 \item 1 : formule de Gameson 1 ;
868 \item 2 : formule de Gameson 2 ;
869 \item 3 : formule de WRL1 ;
870 \item 4 : formule de WRL2.
871 \end{itemize}
872 Lu mais pas utilise pour le moment.""",
873                 ang = """Gives how to cumpute the weir reaeration coefficient RS
874 options are:
875 \begin{itemize}
876 \item 0: RS constant, in this case RS = 1.0,
877 \item 1: formula of Gameson 1,
878 \item 2: formula of Gameson 2,
879 \item 3: formula of WRL1,
880 \item 4: formula of WRL2.
881 \end{itemize}
882 Read but not used at the moment.""",
883             ),
884 #           -----------------------------------
885             WEIR_REAERATION_COEFFICIENT_RS = SIMP(statut ='f',
886 #           -----------------------------------
887                 typ = 'R',
888                 defaut = [1.0],
889                 fr = """En j$^{-1}$. Lu mais pas utilise pour le moment.""",
890                 ang = """In d$^{-1}$. Read but not used at the moment.""",
891             ),
892 #           -----------------------------------
893             COEFFICIENTS_A_AND_B_FOR_RS_FORMULA = SIMP(statut ='f',
894 #           -----------------------------------
895                 typ = 'R', min= 2, max= 2,
896                 defaut = [1.2,0.7],
897                 fr = """Coefficients intervenant dans le calcul de RS :
898 $a$ est entre 0.65 (eau tres polluee) et 1.8 (eau tres claire)
899 et $b$ varie beaucoup (voir tableau dans la documentation).
900 Lu mais pas utilise pour le moment.""",
901                 ang = """Coefficients needed for the calculation of RS:
902 $a$ is between 0.65 (very polluted water and 1.8 (very clear water)
903 and $b$ varies a lot (see array in the documentation).
904 Read but not used at the moment.""",
905             ),
906         ),
907     ),
908 #   -----------------------------------
909     MICROPOL = FACT(statut='o',
910 #   -----------------------------------
911 #       -----------------------------------
912         SEDIMENTATION_CRITICAL_STRESS = SIMP(statut ='f',
913 #       -----------------------------------
914             typ = 'R',
915             defaut = [5.],
916             fr = """Tension de cisaillement critique de sedimentation
917 en Pa. Pour MICROPOL seulement.""",
918             ang = """Sedimentation critical shear stress
919 in Pa. For MICROPOL only.""",
920         ),
921 #       -----------------------------------
922         SEDIMENT_SETTLING_VELOCITY = SIMP(statut ='f',
923 #       -----------------------------------
924             typ = 'R',
925             defaut = [6.E-6],
926             fr = """Vitesse de sedimentation en m/s. Variable $w$ dans la
927 documentation. Pour MICROPOL seulement.""",
928             ang = """Sediment velocity in m/s. Variable $w$ in the documentation.
929 For MICROPOL only.""",
930         ),
931 #       -----------------------------------
932         CRITICAL_STRESS_OF_RESUSPENSION = SIMP(statut ='f',
933 #       -----------------------------------
934             typ = 'R',
935             defaut = [1000.],
936             fr = """Tension de cisaillement critique de remise en
937 suspension en Pa. Variable $\tau_r$ dans la documentation.
938 Pour MICROPOL seulement.""",
939             ang = """Sedimentation critical shear stress
940 in Pa.  Variable $\tau_r$ in the documentation. For MICROPOL only.""",
941         ),
942 #       -----------------------------------
943         EROSION_RATE = SIMP(statut ='f',
944 #       -----------------------------------
945             typ = 'R',
946             defaut = [0.],
947             fr = """Taux d erosion caracteristique des MES deposees
948 ou encore appele constante de Partheniades.
949 Variable $e$ dans la documentation.
950 Pour MICROPOL seulement.""",
951             ang = """ Characteristic erosion rate  of deposited SPM
952 or also called Partheniades s constant.
953 Variable $e$ in the documentation.
954 For MICROPOL only.""",
955         ),
956 #       -----------------------------------
957         CONSTANT_OF_DESORPTION_KINETIC = SIMP(statut ='f',
958 #       -----------------------------------
959             typ = 'R',
960             defaut = [2.5E-7],
961             fr = """En s$^{-1}$. Variable $k_{-1}$ dans la documentation.
962 Pour MICROPOL seulement.""",
963             ang = """In s$^{-1}$. Variable $k_{-1}$ in the documentation.
964 For MICROPOL only.""",
965         ),
966 #       -----------------------------------
967         COEFFICIENT_OF_DISTRIBUTION = SIMP(statut ='f',
968 #       -----------------------------------
969             typ = 'R',
970             defaut = [1775.],
971             fr = """En m$^3$/kg ou l/g. Variable $K_d$ dans la documentation.
972 Pour MICROPOL seulement.""",
973             ang = """In m$^3$/kg or l/g. Variable $K_d$ in the documentation.
974 For MICROPOL only.""",
975         ),
976 #       -----------------------------------
977         EXPONENTIAL_DESINTEGRATION_CONSTANT = SIMP(statut ='f',
978 #       -----------------------------------
979             typ = 'R',
980             defaut = [1.13E-7],
981             fr = """En s$^{-1}$, loi de decroissance exponentielle comme celle de
982 la radioactivite. Variable $L$ dans la documentation.
983 Pour MICROPOL seulement.""",
984             ang = """In s$^{-1}$, exponential decrease law like the one of
985 radioactivity. Variable $L$ in the documentation. For MICROPOL only.""",
986         ),
987     ),
988 #   -----------------------------------
989     THERMIC = FACT(statut='o',
990 #   -----------------------------------
991 #       -----------------------------------
992         WATER_SPECIFIC_HEAT = SIMP(statut ='f',
993 #       -----------------------------------
994             typ = 'R',
995             defaut = [4180.],
996             fr = """En J/kg/$^{\circ}$C. Pour THERMIC seulement.""",
997             ang = """In J/kg/$^{\circ}$C. For THERMIC only.""",
998         ),
999 #       -----------------------------------
1000         COEFFICIENTS_FOR_CALIBRATING_ATMOSPHERIC_RADIATION = SIMP(statut ='f',
1001 #       -----------------------------------
1002             typ = 'R',
1003             defaut = 0.97,
1004             fr = """Variable $e_{\rm{air}}$ dans la documentation.
1005 Pour THERMIC seulement.""",
1006             ang = """Variable $e_{\rm{air}}$ in the documentation.
1007 For THERMIC only.""",
1008         ),
1009 #       -----------------------------------
1010         COEFFICIENT_OF_CLOUDING_RATE = SIMP(statut ='f',
1011 #       -----------------------------------
1012             typ = 'R',
1013             defaut = 0.17,
1014             fr = """Coefficient qui depend du type de nuages :
1015 \begin{itemize}
1016 \item Cirrus = 0.04 ;
1017 \item Cirro stratus = 0.08 ;
1018 \item Alto cumulus = 0.17 ;
1019 \item Alto stratus = 0.2 ;
1020 \item Stratus = 0.24
1021 \end{itemize}
1022 Alto Cumulus (valeur moyenne) est utilise habituellement
1023 (T.V.A. 1972), valeur par defaut en 3D.
1024 En 3D, uniquement utilise avec la formule de Swinbank (1963)
1025 pour le calcul du rayonnement atmospherique.
1026 Variable $k$ dans la documentation. Pour THERMIC seulement.
1027 Ancienne valeur par defaut = 0.2 jusqu a la version V8P1.""",
1028             ang = """Coefficient depending on the type of clouds:
1029 \begin{itemize}
1030 \item Cirrus = 0.04,
1031 \item Cirro stratus = 0.08,
1032 \item Alto cumulus = 0.17,
1033 \item Alto stratus = 0.2,
1034 \item Stratus = 0.24.
1035 \end{itemize}
1036 Alto Cumulus (mean value) is usually used (T.V.A. 1972),
1037 default value in 3D.
1038 In 3D, only used with Swinbank formula (1963)
1039 for the computation of the atmospheric radiation.
1040 Variable $k$ in the documentation.
1041 For THERMIC only.
1042 Old default value = 0.2 until release V8P1.""",
1043         ),
1044 #       -----------------------------------
1045         COEFFICIENTS_FOR_CALIBRATING_SURFACE_WATER_RADIATION = SIMP(statut ='f',
1046 #       -----------------------------------
1047             typ = 'R',
1048             defaut = 0.97,
1049             fr = """Il depend du site et des obstacles entourant le plan d eau.
1050 Pour une riviere etroite bordee d arbres, ca serait voisin de 0.97
1051 et pour un terrain largement decouvert, ca serait voisin de 0.92.
1052 Variable $e_{\rm{eau}}$ dans la documentation.
1053 Pour THERMIC seulement.""",
1054             ang = """It depends on the location and the obstacles around the
1055 water. For a narrow river bordered with trees, it would be around
1056 0.97 and for a widely oopen field, it would be around 0.92.
1057 Variable $e_{\rm{eau}}$ in the documentation.
1058 For THERMIC only.""",
1059         ),
1060 #       -----------------------------------
1061         AIR_SPECIFIC_HEAT = SIMP(statut ='f',
1062 #       -----------------------------------
1063             typ = 'R',
1064             defaut = [1005.],
1065             fr = """En J/kg/$^{\circ}$C. Pour THERMIC seulement.""",
1066             ang = """In J/kg/$^{\circ}$C. For THERMIC only.""",
1067         ),
1068 #       -----------------------------------
1069         COEFFICIENTS_OF_AERATION_FORMULA = SIMP(statut ='f',
1070 #       -----------------------------------
1071             typ = 'R', min= 2, max= 2,
1072             defaut = [0.002,0.0012],
1073             fr = """Couple de coefficients de calage pour la fonction de vent
1074 dans les modeles d echanges eau-atmosphere.
1075 Leurs valeurs tres proches valent environ 0.0025.""",
1076             ang = """Couple of calibration coefficients for the wind function
1077 of the atmosphere-water exchange models.
1078 Their close values are around 0.0025.""",
1079         ),
1080 #       -----------------------------------
1081         ATMOSPHERE_WATER_EXCHANGE_MODEL = SIMP(statut ='f',
1082 #       -----------------------------------
1083             typ = 'TXM',
1084             into = ["NO MODEL","LINEARISED FORMULA AT THE FREE SURFACE","MODEL WITH COMPLETE BALANCE"],
1085             defaut = ["NO MODEL"],
1086             fr = """Choix du modele d echanges entre l eau et l atmosphere.
1087 \begin{itemize}
1088 \item 0 : pas de mode d echanges eau-atmosphere (defaut) ;
1089 \item formule linearisee a la surface (3D seulement) ;
1090 \item modele a bilan complet.
1091 \end{itemize}
1092 En 2D, si autre processus que THERMIC, laisser obligatoirement
1093 a 0.""",
1094             ang = """Choice of the atmosphere-water exchange model.
1095 \begin{itemize}
1096 \item 0: no model (default),
1097 \item 1: linearised formula at the free surface,
1098 \item 2: model with complete balance.
1099 \end{itemize}
1100 In 2D, if another processus than THERMIC, mandatory to let to 0.""",
1101         ),
1102 #       -----------------------------------
1103         COEFFICIENT_TO_CALIBRATE_THE_ATMOSPHERE_WATER_EXCHANGE_MODEL = SIMP(statut ='f',
1104 #       -----------------------------------
1105             typ = 'R',
1106             defaut = [0.0025],
1107             fr = """Valeur du coefficient de calage pour la fonction de vent
1108 dans les modeles d echanges eau-atmosphere
1109 (formule linearisee a la surface ou bilan complet).
1110 Une valeur comprise entre 0.0017 et 0.0035 est conseillee.
1111 Seulement pour le THERMIC 3D.""",
1112             ang = """Value of the calibration coefficient for the wind function
1113 of the atmosphere-water exchange models
1114 (linearised formula at the free surface or complete balance).
1115 A value between 0.0017 and 0.0035 is advised.
1116 Only for THERMIC 3D.""",
1117         ),
1118 #       -----------------------------------
1119         FORMULA_OF_ATMOSPHERIC_RADIATION = SIMP(statut ='f',
1120 #       -----------------------------------
1121             typ = 'TXM',
1122             into = ["IDSO AND JACKSON (1969)","SWINBANK (1963)","BRUTSAERT (1975)","YAJIMA TONO DAM (2014)"],
1123             defaut = "SWINBANK (1963)",
1124             fr = """Formule au choix pour le calcul du rayonnement atmospherique.
1125 Voir GLM.
1126 \begin{itemize}
1127 \item 1 : Idso et Jackson (1969) ;
1128 \item 2 : Swibank (1963), defaut ;
1129 \item 3 : Brutsaert (1975) ;
1130 \item 4 : Yajima Tono Dam (2014).
1131 \end{itemize}
1132 Seulement pour le THERMIC 3D.""",
1133             ang = """Formula to be chosen to compute the atmospheric radiation.
1134 See GLM.
1135 \begin{itemize}
1136 \item 1: Idso and Jackson (1969),
1137 \item 2: Swibank (1963), default,
1138 \item 3: Brutsaert (1975),
1139 \item 4: Yajima Tono Dam (2014).
1140 \end{itemize}
1141 Only for THERMIC 3D.""",
1142         ),
1143 #       -----------------------------------
1144         LIGHTNESS_OF_THE_SKY = SIMP(statut ='f',
1145 #       -----------------------------------
1146             typ = 'TXM',
1147             into = ["VERY BRIGHT, PURE SKY","MODERATELY BRIGHT SKY","FOGGY LIKE THE SKY OF INDUSTRIAL AREA "],
1148             defaut = "MODERATELY BRIGHT SKY",
1149             fr = """Degre de clarte (purete) du ciel.
1150 Les choix possibles sont :
1151 \begin{itemize}
1152 \item ciel tres clair, tres pur ;
1153 \item ciel moyennement clair ;
1154 \item ciel d une zone industrielle, opaque.
1155 \end{itemize}
1156 Pour THERMIC en 3D seulement.""",
1157             ang = """How the sky is bright (pure).
1158 Possible choices are:
1159 \begin{itemize}
1160 \item very bright, pure sky,
1161 \item moderately bright sky,
1162 \item foggy like the sky of industrial area.
1163 \end{itemize}
1164 For THERMIC in 3D only.""",
1165         ),
1166 #       -----------------------------------
1167         SOLAR_RADIATION_READ_IN_METEO_FILE = SIMP(statut ='f',
1168 #       -----------------------------------
1169             typ = bool,
1170             defaut = False,
1171             fr = """Si la donnee meteo de rayonnement solaire est disponible,
1172 elle peut etre lue dans le
1173 \telkey{FICHIER ASCII DE DONNEES ATMOSPHERIQUES} de \telemac{2d} ou
1174 \telemac{3d} au lieu d etre calculee par le module d echanges
1175 eau-atmosphere en activant ce mot cle a OUI.
1176 Pour THERMIC en 3D seulement. This is mandatory in 2D.""",
1177             ang = """If solar radiation data is available, it can be read in the
1178 \telkey{ASCII ATMOSPHERIC DATA FILE} of \telemac{2d} or \telemac{3d}
1179 instead of been computed by the heat exchange with atmosphere module
1180 by activating this keyword to YES.
1181 For THERMIC in 3D only. This is mandatory in 2D.""",
1182         ),
1183     ),
1184 #   -----------------------------------
1185     DEGRADATION = FACT(statut='o',
1186 #   -----------------------------------
1187 #       -----------------------------------
1188         LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='o',
1189 #       -----------------------------------
1190             typ = 'TXM', min=0, max='**',
1191             into = ["NO DEGRADATION","F(T90) LAW","FIRST ORDER KINETIC LAW, CONSTANT OF DEGRADATION IN HOURS","FIRST ORDER KINETIC LAW, CONSTANT OF DEGRADATION IN DAYS","LAW IMPLEMENTED BY USER"],
1192             defaut = ["NO DEGRADATION","NO DEGRADATION"],
1193             fr = """Prise en compte d''une loi de decroissance des traceurs. Valeur 0 si
1194 pas de prise en compte, 1 si loi 1... Pour chaque valeur entree, un
1195 nom de traceur correspondant doit etre present dans
1196 \telkey{NOMS DES TRACEURS}, auquel sera appliquee la loi.
1197 Les choix possibles sont :
1198 \begin{itemize}
1199 \item 0 : pas de degradation ;
1200 \item 1 : loi de degradation bacteriologique avec coefficient $T_{90}$ ;
1201 \item 2 : loi de degradation d ordre 1, constante de degradation
1202 en h$^{-1}$ ;
1203 \item 3 : loi de degradation d ordre 1, constante de degradation
1204 en jours$^{-1}$ ;
1205 \item 4 : loi programmee par l utilisateur.
1206 \end{itemize}""",
1207             ang = """Take in account a law for tracers decrease. Value 0 if not taken into
1208 account, 1 if law 1... For each value entered, a corresponding name
1209 should be present in the keyword \telkey{NAMES OF TRACERS}, so that the
1210 decrease law is applied to the correct tracer(s).
1211 Possible choices are:
1212 \begin{itemize}
1213 \item 0: no degradation,
1214 \item 1: law for bacterial degradation with $T_{90}$ coefficient,
1215 \item 2: degradation law of first order, constant of tracer kinetic
1216 degradation in h$^{-1}$,
1217 \item 3: degradation law of first order, constant of tracer kinetic
1218 degradation in d$^{-1}$,
1219 \item 4: law implemented by user.
1220 \end{itemize}""",
1221         ),
1222 #       -----------------------------------
1223         COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='f',
1224 #       -----------------------------------
1225             typ = 'R', min=0, max='**',
1226             fr = """Coefficient 1 de la loi de decroissance des traceurs. Voir aussi la
1227 correspondance avec \telkey{NOMS DES TRACEURS} et l''aide du mot cle
1228 \telkey{LOI DE DEGRADATION DES TRACEURS}.""",
1229             ang = """Coefficient 1 of law for tracers decrease. Check also the relation
1230 between the keywords \telkey{NAMES OF TRACERS} and
1231 \telkey{LAW OF TRACERS DEGRADATION}.""",
1232         ),
1233     ),
1234 )
1235 # -----------------------------------------------------------------------
1236 INTERNAL = PROC(nom= "INTERNAL",op = None,
1237 # -----------------------------------------------------------------------
1238     UIinfo = {"groupes": ("CACHE")},
1239 #   -----------------------------------
1240     STEERING_FILE = SIMP(statut ='f',
1241 #   -----------------------------------
1242         typ = ('Fichier','All Files (*)'),
1243         defaut = '',
1244         fr = """Nom du fichier contenant les parametres du calcul
1245 QE a realiser.""",
1246         ang = """Name of the file containing parameters of the WAQ
1247 computation Written by the user.""",
1248     ),
1249 #   -----------------------------------
1250     DICTIONARY = SIMP(statut ='f',
1251 #   -----------------------------------
1252         typ = ('Fichier','All Files (*)'),
1253         defaut = 'waqtel.dico',
1254         fr = """Dictionnaire des mots cles.""",
1255         ang = """Key word dictionary.""",
1256     ),
1257 )
1258 TEXTE_NEW_JDC = "\
1259 COMPUTATION_ENVIRONMENT();\
1260 GENERAL_PARAMETERS();\
1261 HYDRODYNAMICS();\
1262 PHYSICAL_PARAMETERS();\
1263 WAQ_PARAMETERS();\
1264 "
1265 Ordre_Des_Commandes = (
1266 'COMPUTATION_ENVIRONMENT',
1267 'GENERAL_PARAMETERS',
1268 'HYDRODYNAMICS',
1269 'PHYSICAL_PARAMETERS',
1270 'WAQ_PARAMETERS',
1271 'INTERNAL')
1272 try:
1273     import TelApy
1274     source = "eficas"
1275 except Exception as excpt:
1276     source = "Telemac"
1277 enum = source+'.waqtel_enum_auto'
1278 dicoCasEn = source+'.waqtel_dicoCasEnToCata'
1279 dicoCasFr = source+'.waqtel_dicoCasFrToCata'