wolfhece 2.1.128__py3-none-any.whl → 2.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wolfhece/PyDraw.py +109 -46
- wolfhece/PyGui.py +3 -0
- wolfhece/PyGuiHydrology.py +24 -24
- wolfhece/PyPalette.py +27 -11
- wolfhece/PyParams.py +5 -1
- wolfhece/PyVertexvectors.py +52 -7
- wolfhece/Results2DGPU.py +17 -0
- wolfhece/acceptability/acceptability_gui.py +29 -18
- wolfhece/acceptability/func.py +23 -21
- wolfhece/apps/version.py +2 -2
- wolfhece/eikonal.py +1 -1
- wolfhece/hydrology/Catchment.py +113 -12
- wolfhece/hydrology/Comparison.py +54 -52
- wolfhece/hydrology/Optimisation.py +309 -178
- wolfhece/hydrology/PostProcessHydrology.py +6 -3
- wolfhece/hydrology/RetentionBasin.py +21 -14
- wolfhece/hydrology/SubBasin.py +128 -12
- wolfhece/hydrology/constant.py +3 -0
- wolfhece/hydrology/cst_exchanges.py +364 -38
- wolfhece/hydrology/plot_hydrology.py +34 -18
- wolfhece/hydrology/read.py +16 -6
- wolfhece/lagrangian/particle_system_ui.py +1 -1
- wolfhece/lagrangian/particles.py +1 -1
- wolfhece/lazviewer/processing/estimate_normals/estimate_normals.cp310-win_amd64.pyd +0 -0
- wolfhece/lazviewer/vfuncsdir/vfuncs.cp310-win_amd64.pyd +0 -0
- wolfhece/lazviewer/viewer/viewer.exe +0 -0
- wolfhece/lazviewer/viewer/viewer_np1_23_5.exe +0 -0
- wolfhece/libs/WolfDll.dll +0 -0
- wolfhece/libs/Wolf_tools.dll +0 -0
- wolfhece/libs/get_infos.cp310-win_amd64.pyd +0 -0
- wolfhece/libs/verify_wolf.cp310-win_amd64.pyd +0 -0
- wolfhece/libs/wolfogl.cp310-win_amd64.pyd +0 -0
- wolfhece/radar/wolfradar.py +75 -22
- wolfhece/shapes/__init__.py +0 -0
- wolfhece/shapes/circle.py +335 -0
- wolfhece/tools2d_dll.py +359 -0
- wolfhece/wolf_array.py +3 -2
- wolfhece/wolfresults_2D.py +162 -33
- {wolfhece-2.1.128.dist-info → wolfhece-2.2.1.dist-info}/METADATA +15 -9
- {wolfhece-2.1.128.dist-info → wolfhece-2.2.1.dist-info}/RECORD +43 -39
- wolfhece/libs/wolfpy.cp310-win_amd64.pyd +0 -0
- {wolfhece-2.1.128.dist-info → wolfhece-2.2.1.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.128.dist-info → wolfhece-2.2.1.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.128.dist-info → wolfhece-2.2.1.dist-info}/top_level.txt +0 -0
@@ -9,49 +9,109 @@ copying or distribution of this file, via any medium, is strictly prohibited.
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
from . import constant as cst
|
12
|
+
from enum import Enum
|
12
13
|
# Constants representing the exchanges - Fortran
|
13
14
|
|
14
|
-
exchange_parameters_VHM_Umax
|
15
|
-
exchange_parameters_VHM_Uevap
|
16
|
-
exchange_parameters_VHM_au1
|
17
|
-
exchange_parameters_VHM_au2
|
18
|
-
exchange_parameters_VHM_au3
|
19
|
-
exchange_parameters_VHM_aof1
|
20
|
-
exchange_parameters_VHM_aof2
|
21
|
-
exchange_parameters_VHM_aif1
|
22
|
-
exchange_parameters_VHM_aif2
|
23
|
-
exchange_parameters_VHM_kof
|
24
|
-
exchange_parameters_VHM_kif
|
25
|
-
exchange_parameters_VHM_kbf
|
26
|
-
exchange_parameters_GR4_x1
|
27
|
-
exchange_parameters_GR4_x2
|
28
|
-
exchange_parameters_GR4_x3
|
29
|
-
exchange_parameters_GR4_x4
|
30
|
-
exchange_parameters_VHM_UH_kif
|
31
|
-
exchange_parameters_VHM_UH_kbf
|
32
|
-
exchange_parameters_Froude_min_riv = 101 #Paramètre modèle VHM_UH méthode de Froude
|
33
|
-
exchange_parameters_Froude_max_riv = 102 #Paramètre modèle VHM_UH méthode de Froude
|
34
|
-
exchange_parameters_Froude_min_bas = 103 #Paramètre modèle VHM_UH méthode de Froude
|
35
|
-
exchange_parameters_Froude_max_bas = 104 #Paramètre modèle VHM_UH méthode de Froude
|
36
|
-
exchange_parameters_Froude_discharge = 105 #Paramètre modèle VHM_UH méthode de Froude
|
37
|
-
exchange_parameters_Nash_pt = 106 #Paramètre modèle VHM_UH méthode de Nash (peak time)
|
38
|
-
exchange_parameters_Nash_nb = 107 #Paramètre modèle VHM_UH méthode de Nash (nb reservoirs)
|
39
|
-
exchange_parameters_AsymTri_totTime = 108 #Paramètre modèle VHM_UH méthode de HU triangulaire asymétrique (temps total)
|
40
|
-
exchange_parameters_AsymTri_pt = 109 #Paramètre modèle VHM_UH méthode de HU triangulaire asymétrique (peak time)
|
15
|
+
exchange_parameters_VHM_Umax = 20 #Paramètre modèle VHM
|
16
|
+
exchange_parameters_VHM_Uevap = 21 #Paramètre modèle VHM
|
17
|
+
exchange_parameters_VHM_au1 = 22 #Paramètre modèle VHM
|
18
|
+
exchange_parameters_VHM_au2 = 23 #Paramètre modèle VHM
|
19
|
+
exchange_parameters_VHM_au3 = 24 #Paramètre modèle VHM
|
20
|
+
exchange_parameters_VHM_aof1 = 25 #Paramètre modèle VHM
|
21
|
+
exchange_parameters_VHM_aof2 = 26 #Paramètre modèle VHM
|
22
|
+
exchange_parameters_VHM_aif1 = 27 #Paramètre modèle VHM
|
23
|
+
exchange_parameters_VHM_aif2 = 28 #Paramètre modèle VHM
|
24
|
+
exchange_parameters_VHM_kof = 29 #Paramètre modèle VHM
|
25
|
+
exchange_parameters_VHM_kif = 30 #Paramètre modèle VHM
|
26
|
+
exchange_parameters_VHM_kbf = 31 #Paramètre modèle VHM
|
27
|
+
exchange_parameters_GR4_x1 = 32 #Paramètre modèle GR4
|
28
|
+
exchange_parameters_GR4_x2 = 33 #Paramètre modèle GR4
|
29
|
+
exchange_parameters_GR4_x3 = 34 #Paramètre modèle GR4
|
30
|
+
exchange_parameters_GR4_x4 = 35 #Paramètre modèle GR4
|
31
|
+
exchange_parameters_VHM_UH_kif = 36 #Paramètre modèle VHM_UH
|
32
|
+
exchange_parameters_VHM_UH_kbf = 37 #Paramètre modèle VHM_UH
|
41
33
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
34
|
+
exchange_parameters_HBV_FC = 50 #Paramètre modèle HBV
|
35
|
+
exchange_parameters_HBV_beta = 51 #Paramètre modèle HBV
|
36
|
+
exchange_parameters_HBV_PWP = 52 #Paramètre modèle HBV
|
37
|
+
exchange_parameters_HBV_SUmax = 53 #Paramètre modèle HBV
|
38
|
+
exchange_parameters_HBV_kr = 54 #Paramètre modèle HBV
|
39
|
+
exchange_parameters_HBV_kif = 55 #Paramètre modèle HBV
|
40
|
+
exchange_parameters_HBV_kperc = 56 #Paramètre modèle HBV
|
41
|
+
exchange_parameters_HBV_kbf = 57 #Paramètre modèle HBV
|
42
|
+
exchange_parameters_HBV_CFLUX = 58 #Paramètre modèle HBV (HBV-96)
|
43
|
+
exchange_parameters_HBV_alpha = 59 #Paramètre modèle HBV (HBV-96)
|
44
|
+
|
45
|
+
exchange_parameters_SAC_M_UZ_TW = 60 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
46
|
+
exchange_parameters_SAC_M_UZ_FW = 61 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
47
|
+
exchange_parameters_SAC_M_LZ_TW = 62 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
48
|
+
exchange_parameters_SAC_M_LZ_FP = 63 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
49
|
+
exchange_parameters_SAC_M_LZ_FS = 64 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
50
|
+
exchange_parameters_SAC_kif = 65 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
51
|
+
exchange_parameters_SAC_kbf_fp = 66 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
52
|
+
exchange_parameters_SAC_kbf_fs = 67 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
53
|
+
exchange_parameters_SAC_zperc = 68 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
54
|
+
exchange_parameters_SAC_rexp = 69 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
55
|
+
exchange_parameters_SAC_rserv = 74 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
56
|
+
exchange_parameters_SAC_pfree = 75 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
57
|
+
exchange_parameters_SAC_side = 76 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
58
|
+
exchange_parameters_SAC_riva = 77 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
59
|
+
exchange_parameters_SAC_adimp = 78 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
60
|
+
exchange_parameters_SAC_impv = 79 #Paramètre modèle SAC-SMA (SACRAMENTO)
|
61
|
+
|
62
|
+
exchange_parameters_NAM_UMAX = 82 #Paramètre modèle NAM
|
63
|
+
exchange_parameters_NAM_TOF = 83 #Paramètre modèle NAM
|
64
|
+
exchange_parameters_NAM_TIF = 84 #Paramètre modèle NAM
|
65
|
+
exchange_parameters_NAM_CQOF = 85 #Paramètre modèle NAM
|
66
|
+
exchange_parameters_NAM_CKIF = 86 #Paramètre modèle NAM
|
67
|
+
exchange_parameters_NAM_LMAX = 87 #Paramètre modèle NAM
|
68
|
+
exchange_parameters_NAM_TG = 88 #Paramètre modèle NAM
|
69
|
+
exchange_parameters_NAM_CK12 = 89 #Paramètre modèle NAM
|
70
|
+
|
71
|
+
exchange_parameters_NAM_CAREA = 94 #Paramètre modèle NAM
|
72
|
+
exchange_parameters_NAM_CKBF = 95 #Paramètre modèle NAM
|
73
|
+
exchange_parameters_NAM_GWLFL1 = 96 #Paramètre modèle NAM
|
74
|
+
exchange_parameters_NAM_GWLBF0 = 97 #Paramètre modèle NAM
|
75
|
+
exchange_parameters_NAM_SSIGMA = 98 #Paramètre modèle NAM
|
76
|
+
|
77
|
+
exchange_parameters_Froude_min_riv = 101 #Paramètre modèle VHM_UH méthode de Froude
|
78
|
+
exchange_parameters_Froude_max_riv = 102 #Paramètre modèle VHM_UH méthode de Froude
|
79
|
+
exchange_parameters_Froude_min_bas = 103 #Paramètre modèle VHM_UH méthode de Froude
|
80
|
+
exchange_parameters_Froude_max_bas = 104 #Paramètre modèle VHM_UH méthode de Froude
|
81
|
+
exchange_parameters_Froude_discharge = 105 #Paramètre modèle VHM_UH méthode de Froude
|
82
|
+
exchange_parameters_Nash_pt = 106 #Paramètre modèle VHM_UH méthode de Nash (peak time)
|
83
|
+
exchange_parameters_Nash_nb = 107 #Paramètre modèle VHM_UH méthode de Nash (nb reservoirs)
|
84
|
+
exchange_parameters_AsymTri_totTime = 108 #Paramètre modèle VHM_UH méthode de HU triangulaire asymétrique (temps total)
|
85
|
+
exchange_parameters_AsymTri_pt = 109 #Paramètre modèle VHM_UH méthode de HU triangulaire asymétrique (peak time)
|
86
|
+
|
87
|
+
exchange_parameters_Dist_RS_Hs = 110 #Paramètre modèle distribué Réservoir de stockage
|
88
|
+
exchange_parameters_Dist_RS_TS = 111 #Paramètre modèle distribué Réservoir de stockage
|
89
|
+
exchange_parameters_Dist_Soil_Umax = 112 #Paramètre modèle distribué Soil
|
90
|
+
exchange_parameters_Dist_Soil_TSPAN = 113 #Paramètre modèle distribué Soil
|
91
|
+
exchange_parameters_Dist_Horton_F0 = 114 #Paramètre modèle distribué Horton
|
92
|
+
exchange_parameters_Dist_Horton_FC = 115 #Paramètre modèle distribué Horton
|
93
|
+
exchange_parameters_Dist_Horton_K = 116 #Paramètre modèle distribué Horton
|
94
|
+
exchange_parameters_Dist_kif = 117 #Paramètre modèle distribué pour réservoir linéaire couche épidermique (if)
|
95
|
+
exchange_parameters_Dist_qlif = 118 #Paramètre modèle distribué pour réservoir linéaire couche épidermique (if)
|
51
96
|
|
52
97
|
|
53
98
|
# Constants representing the exchanges - Python
|
54
|
-
exchange_parameters_py_timeDelay
|
99
|
+
exchange_parameters_py_timeDelay = -11
|
100
|
+
|
101
|
+
# All the keys of the param dictionary
|
102
|
+
class Type_Keys(Enum):
|
103
|
+
"""
|
104
|
+
Enum to define the type of a parameter
|
105
|
+
|
106
|
+
Strings are also used by Fortran Code -- modify with care
|
107
|
+
"""
|
108
|
+
Name = 'Integer_or_Float'
|
109
|
+
File = 'Integer'
|
110
|
+
Group = 'Logical'
|
111
|
+
Key = 'Float'
|
112
|
+
Unit = 'File'
|
113
|
+
Conv_factor = 'Convertion Factor'
|
114
|
+
Range = 'Range'
|
55
115
|
|
56
116
|
|
57
117
|
# %% All model dictionnaries
|
@@ -246,8 +306,272 @@ UHDIST_LINBF["Parameters"][exchange_parameters_Froude_discharge]["Group"] = "Fro
|
|
246
306
|
UHDIST_LINBF["Parameters"][exchange_parameters_Froude_discharge]["Key"] = "Discharge"
|
247
307
|
UHDIST_LINBF["Parameters"][exchange_parameters_Froude_discharge]["Unit"] = "[m^3/s]"
|
248
308
|
|
309
|
+
HBV = {}
|
310
|
+
HBV["Nb"] = 10
|
311
|
+
HBV["Parameters"] = {}
|
312
|
+
HBV["Parameters"][exchange_parameters_HBV_FC] = {}
|
313
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["Name"] = "Fc"
|
314
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["File"] = "simul_soil.param"
|
315
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["Group"] = "Parameters"
|
316
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["Key"] = "Fc"
|
317
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["Unit"] = "[mm]"
|
318
|
+
HBV["Parameters"][exchange_parameters_HBV_FC]["Range"] = (50.0, 650.0)
|
319
|
+
HBV["Parameters"][exchange_parameters_HBV_beta] = {}
|
320
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["Name"] = "Beta"
|
321
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["File"] = "simul_soil.param"
|
322
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["Group"] = "Parameters"
|
323
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["Key"] = "Beta"
|
324
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["Unit"] = "[-]"
|
325
|
+
HBV["Parameters"][exchange_parameters_HBV_beta]["Range"] = (1.0, 5.0)
|
326
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP] = {}
|
327
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["Name"] = "PWP"
|
328
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["File"] = "simul_soil.param"
|
329
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["Group"] = "Parameters"
|
330
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["Key"] = "PWP"
|
331
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["Unit"] = "[-]"
|
332
|
+
HBV["Parameters"][exchange_parameters_HBV_PWP]["Range"] = (0.03, 1.0)
|
333
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax] = {}
|
334
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["Name"] = "Su_max"
|
335
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["File"] = "simul_UZ.param"
|
336
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["Group"] = "Parameters"
|
337
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["Key"] = "Su max"
|
338
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["Unit"] = "[mm]"
|
339
|
+
HBV["Parameters"][exchange_parameters_HBV_SUmax]["Range"] = (0.0, 100.0)
|
340
|
+
HBV["Parameters"][exchange_parameters_HBV_kr] = {}
|
341
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["Name"] = "K_r"
|
342
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["File"] = "simul_UZ.param"
|
343
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["Group"] = "Parameters"
|
344
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["Key"] = "Kr"
|
345
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["Unit"] = "[1/h]"
|
346
|
+
HBV["Parameters"][exchange_parameters_HBV_kr]["Range"] = (0.05/24.0, 0.5/24.0)
|
347
|
+
HBV["Parameters"][exchange_parameters_HBV_kif] = {}
|
348
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["Name"] = "K_if"
|
349
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["File"] = "simul_UZ.param"
|
350
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["Group"] = "Parameters"
|
351
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["Key"] = "Kif"
|
352
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["Unit"] = "[1/h]"
|
353
|
+
HBV["Parameters"][exchange_parameters_HBV_kif]["Range"] = (0.01/24.0, 0.4/24.0)
|
354
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc] = {}
|
355
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["Name"] = "K_perc"
|
356
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["File"] = "simul_UZ.param"
|
357
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["Group"] = "Parameters"
|
358
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["Key"] = "Kperc"
|
359
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["Unit"] = "[1/h]"
|
360
|
+
HBV["Parameters"][exchange_parameters_HBV_kperc]["Range"] = (0.0, 0.8/24.0)
|
361
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf] = {}
|
362
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Name"] = "K_bf"
|
363
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["File"] = "simul_bf.param"
|
364
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Group"] = "Parameters"
|
365
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Key"] = "Lagtime"
|
366
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Unit"] = "[sec]"
|
367
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Convertion Factor"] = 1/3600.0 # [sec] -> [h]
|
368
|
+
HBV["Parameters"][exchange_parameters_HBV_kbf]["Range"] = (0.0, 0.15/24.0)
|
369
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX] = {}
|
370
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX]["Name"] = "CFLUX"
|
371
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX]["File"] = "simul_soil.param"
|
372
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX]["Group"] = "Parameters"
|
373
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX]["Key"] = "CFLUX"
|
374
|
+
HBV["Parameters"][exchange_parameters_HBV_CFLUX]["Unit"] = "[mm/h]"
|
375
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha] = {}
|
376
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha]["Name"] = "Alpha"
|
377
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha]["File"] = "simul_UZ.param"
|
378
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha]["Group"] = "Parameters"
|
379
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha]["Key"] = "Alpha"
|
380
|
+
HBV["Parameters"][exchange_parameters_HBV_alpha]["Unit"] = "[-]"
|
381
|
+
|
382
|
+
|
383
|
+
SAC_SMA = {}
|
384
|
+
SAC_SMA["Nb"] = 16
|
385
|
+
SAC_SMA["Parameters"] = {}
|
386
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW] = {}
|
387
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["Name"] = "UZ_TW Max"
|
388
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["File"] = "simul_UZ.param"
|
389
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["Group"] = "Parameters"
|
390
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["Key"] = "M_UZ_TW"
|
391
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["Unit"] = "[mm]"
|
392
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_TW]["Range"] = (10.0, 150.0)
|
393
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW] = {}
|
394
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["Name"] = "UZ_FW Max"
|
395
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["File"] = "simul_UZ.param"
|
396
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["Group"] = "Parameters"
|
397
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["Key"] = "M_UZ_FW"
|
398
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["Unit"] = "[mm]"
|
399
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_UZ_FW]["Range"] = (5.0, 100.0)
|
400
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW] = {}
|
401
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["Name"] = "LZ_TW Max"
|
402
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["File"] = "simul_LZ.param"
|
403
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["Group"] = "Parameters"
|
404
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["Key"] = "M_LZ_TW"
|
405
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["Unit"] = "[mm]"
|
406
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_TW]["Range"] = (50.0,400.0)
|
407
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP] = {}
|
408
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["Name"] = "LZ_FP Max"
|
409
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["File"] = "simul_LZ.param"
|
410
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["Group"] = "Parameters"
|
411
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["Key"] = "M_LZ_FP"
|
412
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["Unit"] = "[mm]"
|
413
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FP]["Range"] = (30.0, 800.0)
|
414
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS] = {}
|
415
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["Name"] = "LZ_FS Max"
|
416
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["File"] = "simul_LZ.param"
|
417
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["Group"] = "Parameters"
|
418
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["Key"] = "M_LZ_FS"
|
419
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["Unit"] = "[mm]"
|
420
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_M_LZ_FS]["Range"] = (30.0, 800.0)
|
421
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif] = {}
|
422
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["Name"] = "Kif"
|
423
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["File"] = "simul_UZ.param"
|
424
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["Group"] = "Parameters"
|
425
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["Key"] = "K_if"
|
426
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["Unit"] = "[1/h]"
|
427
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kif]["Range"] = (0.1/24, 0.75/24)
|
428
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp] = {}
|
429
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["Name"] = "Kbf_fp"
|
430
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["File"] = "simul_LZ.param"
|
431
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["Group"] = "Parameters"
|
432
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["Key"] = "K_fp"
|
433
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["Unit"] = "[1/h]"
|
434
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fp]["Range"] = (0.001/24, 0.03/24)
|
435
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs] = {}
|
436
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["Name"] = "Kbf_fs"
|
437
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["File"] = "simul_LZ.param"
|
438
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["Group"] = "Parameters"
|
439
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["Key"] = "K_fs"
|
440
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["Unit"] = "[1/h]"
|
441
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_kbf_fs]["Range"] = (0.02/24, 0.3/24)
|
442
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc] = {}
|
443
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["Name"] = "Z_perc"
|
444
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["File"] = "simul_UZ.param"
|
445
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["Group"] = "Parameters"
|
446
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["Key"] = "Z_perc"
|
447
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["Unit"] = "[-]"
|
448
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_zperc]["Range"] = (10.0, 350.0)
|
449
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp] = {}
|
450
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["Name"] = "R_exp"
|
451
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["File"] = "simul_UZ.param"
|
452
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["Group"] = "Parameters"
|
453
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["Key"] = "R_exp"
|
454
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["Unit"] = "[-]"
|
455
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rexp]["Range"] = (1.0, 4.0)
|
456
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv] = {}
|
457
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["Name"] = "R_serv"
|
458
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["File"] = "simul_LZ.param"
|
459
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["Group"] = "Parameters"
|
460
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["Key"] = "R_serv"
|
461
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["Unit"] = "[-]"
|
462
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_rserv]["Range"] = (0.0, 1.0)
|
463
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree] = {}
|
464
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["Name"] = "P_free"
|
465
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["File"] = "simul_LZ.param"
|
466
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["Group"] = "Parameters"
|
467
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["Key"] = "Pfree"
|
468
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["Unit"] = "[-]"
|
469
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_pfree]["Range"] = (0.0, 0.6)
|
470
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side] = {}
|
471
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["Name"] = "Side"
|
472
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["File"] = "simul_out.param"
|
473
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["Group"] = "Parameters"
|
474
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["Key"] = "Side"
|
475
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["Unit"] = "[-]"
|
476
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_side]["Range"] = (0.0, 0.5)
|
477
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva] = {}
|
478
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["Name"] = "Riva"
|
479
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["File"] = "simul_out.param"
|
480
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["Group"] = "Parameters"
|
481
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["Key"] = "Riva"
|
482
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["Unit"] = "[-]"
|
483
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_riva]["Range"] = (0.0, 0.2)
|
484
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp] = {}
|
485
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["Name"] = "S Adimp"
|
486
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["File"] = "simul_UZ.param"
|
487
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["Group"] = "Parameters"
|
488
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["Key"] = "S_adimp"
|
489
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["Unit"] = "[-]"
|
490
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_adimp]["Range"] = (0.0, 0.2)
|
491
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv] = {}
|
492
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["Name"] = "S Imperv"
|
493
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["File"] = "simul_UZ.param"
|
494
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["Group"] = "Parameters"
|
495
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["Key"] = "S_imperv"
|
496
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["Unit"] = "[-]"
|
497
|
+
SAC_SMA["Parameters"][exchange_parameters_SAC_impv]["Range"] = (0.0, 0.05)
|
249
498
|
|
250
499
|
|
500
|
+
NAM = {}
|
501
|
+
NAM["Nb"] = 10
|
502
|
+
NAM["Parameters"] = {}
|
503
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX] = {}
|
504
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["Name"] = "U_max"
|
505
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["File"] = "simul_SS.param"
|
506
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["Group"] = "Parameters"
|
507
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["Key"] = "Umax"
|
508
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["Unit"] = "[mm]"
|
509
|
+
NAM["Parameters"][exchange_parameters_NAM_UMAX]["Range"] = (10.0, 20.0)
|
510
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF] = {}
|
511
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["Name"] = "TOF"
|
512
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["File"] = "simul_SS.param"
|
513
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["Group"] = "Parameters"
|
514
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["Key"] = "TOF"
|
515
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["Unit"] = "[-]"
|
516
|
+
NAM["Parameters"][exchange_parameters_NAM_TOF]["Range"] = (0.0, 0.99)
|
517
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF] = {}
|
518
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["Name"] = "TIF"
|
519
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["File"] = "simul_SS.param"
|
520
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["Group"] = "Parameters"
|
521
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["Key"] = "TIF"
|
522
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["Unit"] = "[-]"
|
523
|
+
NAM["Parameters"][exchange_parameters_NAM_TIF]["Range"] = (0.0, 0.99)
|
524
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF] = {}
|
525
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["Name"] = "C_qof"
|
526
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["File"] = "simul_SS.param"
|
527
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["Group"] = "Parameters"
|
528
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["Key"] = "c_qof"
|
529
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["Unit"] = "[-]"
|
530
|
+
NAM["Parameters"][exchange_parameters_NAM_CQOF]["Range"] = (0.1, 1.0)
|
531
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF] = {}
|
532
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["Name"] = "C_kif"
|
533
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["File"] = "simul_SS.param"
|
534
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["Group"] = "Parameters"
|
535
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["Key"] = "c_kif"
|
536
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["Unit"] = "[h]"
|
537
|
+
NAM["Parameters"][exchange_parameters_NAM_CKIF]["Range"] = (200.0, 1_000.0)
|
538
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX] = {}
|
539
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["Name"] = "L_max"
|
540
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["File"] = "simul_RZ.param"
|
541
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["Group"] = "Parameters"
|
542
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["Key"] = "L_max"
|
543
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["Unit"] = "[mm]"
|
544
|
+
NAM["Parameters"][exchange_parameters_NAM_LMAX]["Range"] = (100.0, 300.0)
|
545
|
+
NAM["Parameters"][exchange_parameters_NAM_TG] = {}
|
546
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["Name"] = "TG"
|
547
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["File"] = "simul_RZ.param"
|
548
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["Group"] = "Parameters"
|
549
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["Key"] = "TG"
|
550
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["Unit"] = "[-]"
|
551
|
+
NAM["Parameters"][exchange_parameters_NAM_TG]["Range"] = (0.0 ,0.99)
|
552
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12] = {}
|
553
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["Name"] = "C_k 12"
|
554
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["File"] = ["simul_OF.param", "simul_IF.param"]
|
555
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["Group"] = ["Time Parameters", "NAM parameters"]
|
556
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["Key"] = ["Lagtime", "Lagtime"]
|
557
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["Unit"] = "[h]"
|
558
|
+
NAM["Parameters"][exchange_parameters_NAM_CK12]["Range"] = (10.0, 50.0)
|
559
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA] = {}
|
560
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["Name"] = "C_area"
|
561
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["File"] = "simul_RZ.param"
|
562
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["Group"] = "Parameters"
|
563
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["Key"] = "C_area"
|
564
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["Unit"] = "[-]"
|
565
|
+
NAM["Parameters"][exchange_parameters_NAM_CAREA]["Range"] = (0.5, 2.0)
|
566
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF] = {}
|
567
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Name"] = "C_kbf"
|
568
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["File"] = "simul_BF.param"
|
569
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Group"] = "Time Parameters"
|
570
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Key"] = "Lagtime"
|
571
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Unit"] = "[sec]"
|
572
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Convertion Factor"] = 1/3600.0 # [sec] -> [h]
|
573
|
+
NAM["Parameters"][exchange_parameters_NAM_CKBF]["Range"] = (1_000.0,4_000.0)
|
574
|
+
|
251
575
|
|
252
576
|
# General model dictionnary
|
253
577
|
modelParamsDict = {}
|
@@ -255,7 +579,9 @@ modelParamsDict[cst.tom_VHM] = VHM
|
|
255
579
|
modelParamsDict[cst.tom_GR4] = GR4
|
256
580
|
modelParamsDict[cst.tom_UH] = UH
|
257
581
|
modelParamsDict[cst.tom_2layers_linIF]= UHDIST_LINBF
|
258
|
-
|
582
|
+
modelParamsDict[cst.tom_HBV]= HBV
|
583
|
+
modelParamsDict[cst.tom_SAC_SMA]= SAC_SMA
|
584
|
+
modelParamsDict[cst.tom_NAM]= NAM
|
259
585
|
|
260
586
|
# %% Python-Fortran exchange constants
|
261
587
|
|
@@ -17,9 +17,9 @@ import math
|
|
17
17
|
import datetime
|
18
18
|
import sys
|
19
19
|
import logging
|
20
|
-
from numpy.core.arrayprint import set_string_function
|
20
|
+
# from numpy.core.arrayprint import set_string_function
|
21
21
|
|
22
|
-
from numpy.core.defchararray import index
|
22
|
+
# from numpy.core.defchararray import index
|
23
23
|
|
24
24
|
from ..PyTranslate import _
|
25
25
|
|
@@ -115,9 +115,9 @@ def compare_plot(nbElements, writeDir, x, y, x_title, y_titles, graph_title='',
|
|
115
115
|
# If y is an array : each element is by column [][here]
|
116
116
|
# elif y is a list : each element is located [here][]
|
117
117
|
# TO DO : Maybe change this rationale for y -> Too complicated
|
118
|
-
def plot_hydro(nbElements:int, y, rain=
|
118
|
+
def plot_hydro(nbElements:int, y, rain=None, x_title="Dates", y_titles=_("Discharge [m³/s]"), time=None, beginDate:datetime.datetime=None, endDate:datetime.datetime=None, dt:float=None, \
|
119
119
|
graph_title:str=None, y_labels:str=None, rangeData:list[datetime.datetime] = [], myColors:list=None, typeOfTraits:list=None, \
|
120
|
-
measures=
|
120
|
+
measures=None, beginDateMeasure=None, endDateMeasure=None, dtMeasure=None, surfaceMeasure=-1.0, addMeasfInTab:bool=False, \
|
121
121
|
upperPlot:bool=False, nbAddPlot:int=1, z=[], y_labelAddPlot=[], factor_RH:float=1.5, y_rain_range=[], y_data_range=[], figSize = [10.4,6.25],\
|
122
122
|
writeFile:str = '', deltaMajorTicks=-1, deltaMinorTicks=-1, \
|
123
123
|
y_envelop=[], envelopID=0, textInGraph={}, addTable=False, allSurfaces=[], figure=None):
|
@@ -137,7 +137,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
137
137
|
print("ERROR: the number of element and the dimension of 'y' does not coincide")
|
138
138
|
sys.exit()
|
139
139
|
elif(type(y)==list):
|
140
|
-
if
|
140
|
+
if nbElements!=len(y):
|
141
141
|
print("ERROR: the number of element and the dimension of 'y' does not coincide")
|
142
142
|
sys.exit()
|
143
143
|
|
@@ -200,7 +200,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
200
200
|
typeOfTraits.append('-')
|
201
201
|
|
202
202
|
|
203
|
-
if(measures
|
203
|
+
if(measures is not None):
|
204
204
|
time_delta_measure = datetime.timedelta(seconds=dtMeasure)
|
205
205
|
|
206
206
|
if(factor_RH!=1.5 and y_rain_range!=[]):
|
@@ -227,7 +227,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
227
227
|
x_date.append(drange(beginDate[i], endDate[i]+time_delta[i], time_delta[i]))
|
228
228
|
|
229
229
|
|
230
|
-
if(measures
|
230
|
+
if(measures is not None):
|
231
231
|
x_date_measure = drange(beginDateMeasure, endDateMeasure+time_delta_measure, time_delta_measure)
|
232
232
|
|
233
233
|
if figure is None:
|
@@ -401,7 +401,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
401
401
|
|
402
402
|
|
403
403
|
# Plot measures
|
404
|
-
if(measures
|
404
|
+
if(measures is not None):
|
405
405
|
y1 = measures
|
406
406
|
x_date_measure = check_drange_bug(x_date_measure,y1)
|
407
407
|
if(np.nanmax(y1)>max_):
|
@@ -467,7 +467,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
467
467
|
|
468
468
|
|
469
469
|
# b) Hyeto
|
470
|
-
if(rain
|
470
|
+
if(rain is not None):
|
471
471
|
y2 = rain[:] # CAUTION only if the rain is 1 element greater than hydro
|
472
472
|
ax2=ax1.twinx()
|
473
473
|
ax2.set_ylabel(_('Precipitations [mm/h]'),color='b')
|
@@ -494,7 +494,7 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
494
494
|
summaryTab[i][-1] = "%.3f"%(summaryTab[i][-1])
|
495
495
|
summaryTab[i][-2] = "%.3f"%(summaryTab[i][-2])
|
496
496
|
summaryTab[i][-3] = "%.3f"%(summaryTab[i][-3])
|
497
|
-
if(measures
|
497
|
+
if(measures is not None and allSurfaces!=[] and surfaceMeasure>0.0 and addMeasfInTab):
|
498
498
|
summaryTab[-1].append(np.sum(y2)*dt_Gen/3600.0)
|
499
499
|
summaryTab[-1][-2] = summaryTab[-1][-2]*10**(-3)/surfaceMeasure
|
500
500
|
tmpRatio = summaryTab[-1][-2]/summaryTab[-1][-1]
|
@@ -506,11 +506,18 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
506
506
|
summaryTab[-1][-1] = "%.3f"%(summaryTab[-1][-1])
|
507
507
|
summaryTab[-1][-2] = "%.3f"%(summaryTab[-1][-2])
|
508
508
|
summaryTab[-1][-3] = "%.3f"%(summaryTab[-1][-3])
|
509
|
-
elif(measures
|
509
|
+
elif(measures is not None and allSurfaces!=[] and addMeasfInTab):
|
510
510
|
summaryTab[-1].append("/")
|
511
511
|
summaryTab[-1][-2] = "/"
|
512
512
|
summaryTab[-1].append("/")
|
513
|
-
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
if(deltaMajorTicks>0):
|
517
|
+
etimateNbTicks = (rangeData[1]-rangeData[0]).total_seconds()/deltaMajorTicks
|
518
|
+
if(etimateNbTicks>10_000):
|
519
|
+
logging.warning("WARNING: Too many ticks to plot! The major ticks will be removed.")
|
520
|
+
deltaMajorTicks = -1
|
514
521
|
|
515
522
|
if(deltaMajorTicks>0):
|
516
523
|
majorTicks = HourLocator(interval=math.floor(deltaMajorTicks/3600))
|
@@ -555,9 +562,15 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
555
562
|
ax3[i].set_ylabel('Evapotranpiration [mm/h]',color='orange')
|
556
563
|
else:
|
557
564
|
ax3[i].set_ylabel(y_labelAddPlot[i],color='orange')
|
558
|
-
xdatePlotGen
|
559
|
-
|
560
|
-
|
565
|
+
if xdatePlotGen is None:
|
566
|
+
xdatePlot = x_date[i]
|
567
|
+
xdatePlot = check_drange_bug(xdatePlot,y1)
|
568
|
+
ax3[i].plot_date(xdatePlot,y1, '-', color='orange')
|
569
|
+
ax3[i].set_xlim(rangeData[0],rangeData[1]-time_delta[i])
|
570
|
+
else:
|
571
|
+
xdatePlotGen = check_drange_bug(xdatePlotGen,y1)
|
572
|
+
ax3[i].plot_date(xdatePlotGen,y1, '-', color='orange')
|
573
|
+
ax3[i].set_xlim(rangeData[0],rangeData[1]-time_deltaGen)
|
561
574
|
if(deltaMajorTicks>0):
|
562
575
|
majorTicks = HourLocator(interval=math.floor(deltaMajorTicks/3600))
|
563
576
|
ax3[i].xaxis.set_major_locator(majorTicks)
|
@@ -579,21 +592,24 @@ def plot_hydro(nbElements:int, y, rain=[], x_title="Dates", y_titles=_("Discharg
|
|
579
592
|
if(addTable):
|
580
593
|
ax4 = fig.add_subplot(gs[-3:,1:5])
|
581
594
|
columnLabels = ["Q peak [m³/s]", "t peak"+x_title.replace("Dates","")]
|
582
|
-
if(len(title)>1) and measures
|
595
|
+
if(len(title)>1) and measures is not None:
|
583
596
|
if(addMeasfInTab):
|
584
597
|
rowLabels = title[:]
|
585
598
|
else:
|
586
599
|
rowLabels = title[:-1]
|
587
|
-
elif len(title)>0 and measures
|
600
|
+
elif len(title)>0 and measures is None:
|
588
601
|
rowLabels = title[:]
|
589
602
|
else:
|
590
603
|
rowLabels = ["Hydrograph 1"]
|
591
604
|
|
592
|
-
if(rain
|
605
|
+
if(rain is not None):
|
593
606
|
if(allSurfaces!=[]):
|
594
607
|
columnLabels.append("Q cumul [mm]")
|
595
608
|
columnLabels.append("P cumul [mm]")
|
596
609
|
columnLabels.append("Ratio [-]")
|
610
|
+
else:
|
611
|
+
if(allSurfaces!=[]):
|
612
|
+
columnLabels.append("Q cumul [mm]")
|
597
613
|
|
598
614
|
ax4.axis('tight')
|
599
615
|
ax4.axis('off')
|