wolfhece 2.1.40__py3-none-any.whl → 2.1.42__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/apps/version.py +1 -1
- wolfhece/gpuview.py +18 -6
- wolfhece/libs/MSVCP140.dll +0 -0
- wolfhece/libs/WolfDll.dll +0 -0
- wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll +0 -0
- wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll +0 -0
- wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
- wolfhece/libs/fribidi-0.dll +0 -0
- wolfhece/libs/glu32.dll +0 -0
- wolfhece/libs/hdf5.dll +0 -0
- wolfhece/libs/hdf5_hl.dll +0 -0
- wolfhece/libs/libcurl.dll +0 -0
- wolfhece/libs/libpardiso600-WIN-X86-64.dll +0 -0
- wolfhece/libs/libraqm.dll +0 -0
- wolfhece/libs/msvcr100.dll +0 -0
- wolfhece/libs/netcdf.dll +0 -0
- wolfhece/libs/paho-mqtt3cs.dll +0 -0
- wolfhece/libs/vcomp100.dll +0 -0
- wolfhece/libs/vcruntime140.dll +0 -0
- wolfhece/libs/vcruntime140_1.dll +0 -0
- wolfhece/libs/zlib1.dll +0 -0
- wolfhece/models/5_coul.pal +21 -0
- wolfhece/models/6_coul.pal +25 -0
- wolfhece/models/7_coul.pal +29 -0
- wolfhece/models/Froude.pal +33 -0
- wolfhece/models/Risque_TAF.pal +31 -0
- wolfhece/models/classes.pal +66 -0
- wolfhece/models/haut_coul.pal +65 -0
- wolfhece/models/reg_20cm.pal +65 -0
- wolfhece/scenario/config_manager.py +135 -24
- wolfhece/wolf_array.py +15 -4
- wolfhece/wolfresults_2D.py +11 -11
- {wolfhece-2.1.40.dist-info → wolfhece-2.1.42.dist-info}/METADATA +1 -1
- {wolfhece-2.1.40.dist-info → wolfhece-2.1.42.dist-info}/RECORD +37 -10
- {wolfhece-2.1.40.dist-info → wolfhece-2.1.42.dist-info}/WHEEL +1 -1
- {wolfhece-2.1.40.dist-info → wolfhece-2.1.42.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.40.dist-info → wolfhece-2.1.42.dist-info}/top_level.txt +0 -0
wolfhece/apps/version.py
CHANGED
wolfhece/gpuview.py
CHANGED
@@ -24,7 +24,6 @@ from math import sqrt,floor
|
|
24
24
|
from .drawing_obj import Element_To_Draw
|
25
25
|
import logging
|
26
26
|
|
27
|
-
GPU_SHADER_PROGRAM_REF = 1
|
28
27
|
_global_gpu_state = dict()
|
29
28
|
|
30
29
|
GRID_N=100
|
@@ -278,8 +277,14 @@ class VectorField(Element_To_Draw):
|
|
278
277
|
|
279
278
|
super().__init__(idx, plotted, mapviewer, need_for_wx)
|
280
279
|
|
281
|
-
|
282
|
-
|
280
|
+
self.mapviewer.SetCurrentContext()
|
281
|
+
|
282
|
+
self._gpu_program_ref = 1
|
283
|
+
while self._gpu_program_ref in _global_gpu_state:
|
284
|
+
self._gpu_program_ref +=1
|
285
|
+
|
286
|
+
if self._gpu_program_ref not in _global_gpu_state:
|
287
|
+
_global_gpu_state[self._gpu_program_ref] = _load_program(
|
283
288
|
VECFIELD_VTX_SHADER,
|
284
289
|
VECFIELD_GEOM_SHADER,
|
285
290
|
VECFIELD_FRAG_SHADER)
|
@@ -314,9 +319,15 @@ class VectorField(Element_To_Draw):
|
|
314
319
|
self._set_data(x_extent, y_extent)
|
315
320
|
|
316
321
|
def __del__(self):
|
322
|
+
|
323
|
+
self.mapviewer.SetCurrentContext()
|
324
|
+
|
317
325
|
if self._gl_texture is not None:
|
318
326
|
glDeleteTextures(1,[self._gl_texture])
|
319
327
|
|
328
|
+
if self._gpu_program_ref in _global_gpu_state:
|
329
|
+
glDeleteProgram(_global_gpu_state[self._gpu_program_ref])
|
330
|
+
|
320
331
|
|
321
332
|
def update_zoom_factor(self, newfactor):
|
322
333
|
|
@@ -417,7 +428,7 @@ class VectorField(Element_To_Draw):
|
|
417
428
|
# We clear the projection matrix because we will handle
|
418
429
|
# the transformation ourselves.
|
419
430
|
glMatrixMode(GL_PROJECTION)
|
420
|
-
glPushMatrix()
|
431
|
+
# glPushMatrix()
|
421
432
|
|
422
433
|
glLoadIdentity()
|
423
434
|
zmin, zmax = -99999, 99999
|
@@ -510,17 +521,18 @@ class VectorField(Element_To_Draw):
|
|
510
521
|
# Restore the matrix so that next OpenGL programming in the caller is not
|
511
522
|
# broken.
|
512
523
|
glMatrixMode(GL_PROJECTION)
|
513
|
-
glPopMatrix()
|
524
|
+
# glPopMatrix()
|
514
525
|
|
515
526
|
def _plot(self, projection_matrix):
|
516
527
|
assert self._gl_texture is not None, "Did you set the data ?"
|
517
528
|
if self._gl_buffer == []:
|
518
529
|
return
|
519
530
|
|
531
|
+
self.mapviewer.SetCurrentContext()
|
520
532
|
# We reuse the current model transformation matrix
|
521
533
|
# as well the current viewport.
|
522
534
|
|
523
|
-
program = _global_gpu_state[
|
535
|
+
program = _global_gpu_state[self._gpu_program_ref]
|
524
536
|
glUseProgram(program)
|
525
537
|
glBindTexture(GL_TEXTURE_2D, self._gl_texture)
|
526
538
|
glActiveTexture(GL_TEXTURE0)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
wolfhece/libs/glu32.dll
ADDED
Binary file
|
wolfhece/libs/hdf5.dll
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
wolfhece/libs/netcdf.dll
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
wolfhece/libs/zlib1.dll
ADDED
Binary file
|
@@ -0,0 +1,29 @@
|
|
1
|
+
7
|
2
|
+
4.75767580792308E-03
|
3
|
+
0
|
4
|
+
255
|
5
|
+
255
|
6
|
+
2.6706313965066
|
7
|
+
0
|
8
|
+
0
|
9
|
+
255
|
10
|
+
5.33650511720528
|
11
|
+
255
|
12
|
+
255
|
13
|
+
255
|
14
|
+
8.00237883790396
|
15
|
+
0
|
16
|
+
255
|
17
|
+
0
|
18
|
+
10.6682525586026
|
19
|
+
255
|
20
|
+
255
|
21
|
+
0
|
22
|
+
13.3341262793013
|
23
|
+
255
|
24
|
+
128
|
25
|
+
0
|
26
|
+
16
|
27
|
+
255
|
28
|
+
0
|
29
|
+
0
|
@@ -0,0 +1,66 @@
|
|
1
|
+
13
|
2
|
+
0
|
3
|
+
128
|
4
|
+
255
|
5
|
+
255
|
6
|
+
.1
|
7
|
+
89
|
8
|
+
172
|
9
|
+
255
|
10
|
+
.2
|
11
|
+
72
|
12
|
+
72
|
13
|
+
255
|
14
|
+
.3
|
15
|
+
0
|
16
|
+
0
|
17
|
+
255
|
18
|
+
.4
|
19
|
+
0
|
20
|
+
128
|
21
|
+
0
|
22
|
+
.5
|
23
|
+
0
|
24
|
+
221
|
25
|
+
55
|
26
|
+
.6
|
27
|
+
128
|
28
|
+
255
|
29
|
+
128
|
30
|
+
.7
|
31
|
+
255
|
32
|
+
255
|
33
|
+
0
|
34
|
+
.8
|
35
|
+
255
|
36
|
+
128
|
37
|
+
0
|
38
|
+
.9
|
39
|
+
255
|
40
|
+
0
|
41
|
+
0
|
42
|
+
1
|
43
|
+
128
|
44
|
+
0
|
45
|
+
0
|
46
|
+
1.5
|
47
|
+
192
|
48
|
+
192
|
49
|
+
192
|
50
|
+
3
|
51
|
+
143
|
52
|
+
143
|
53
|
+
143
|
54
|
+
0
|
55
|
+
.1
|
56
|
+
.2
|
57
|
+
.3
|
58
|
+
.4
|
59
|
+
.5
|
60
|
+
.6
|
61
|
+
.7
|
62
|
+
.8
|
63
|
+
.9
|
64
|
+
1
|
65
|
+
1.5
|
66
|
+
3
|
@@ -0,0 +1,65 @@
|
|
1
|
+
16
|
2
|
+
218.289993286133
|
3
|
+
128
|
4
|
+
255
|
5
|
+
255
|
6
|
+
220.168574888374
|
7
|
+
89
|
8
|
+
172
|
9
|
+
255
|
10
|
+
220.23739486608
|
11
|
+
72
|
12
|
+
72
|
13
|
+
255
|
14
|
+
220.283471411618
|
15
|
+
0
|
16
|
+
0
|
17
|
+
255
|
18
|
+
220.328414957446
|
19
|
+
0
|
20
|
+
128
|
21
|
+
0
|
22
|
+
220.415893035239
|
23
|
+
0
|
24
|
+
221
|
25
|
+
55
|
26
|
+
220.491201809562
|
27
|
+
128
|
28
|
+
255
|
29
|
+
128
|
30
|
+
220.569688769798
|
31
|
+
255
|
32
|
+
255
|
33
|
+
0
|
34
|
+
220.858442290845
|
35
|
+
255
|
36
|
+
128
|
37
|
+
0
|
38
|
+
221.012174740145
|
39
|
+
255
|
40
|
+
128
|
41
|
+
0
|
42
|
+
221.23051386826
|
43
|
+
255
|
44
|
+
0
|
45
|
+
0
|
46
|
+
221.659336829079
|
47
|
+
209
|
48
|
+
71
|
49
|
+
12
|
50
|
+
222.780627152613
|
51
|
+
128
|
52
|
+
0
|
53
|
+
0
|
54
|
+
224.601654811244
|
55
|
+
128
|
56
|
+
0
|
57
|
+
0
|
58
|
+
228.620829812251
|
59
|
+
111
|
60
|
+
111
|
61
|
+
111
|
62
|
+
244.470001220703
|
63
|
+
143
|
64
|
+
143
|
65
|
+
143
|
@@ -0,0 +1,65 @@
|
|
1
|
+
16
|
2
|
+
0.0
|
3
|
+
128
|
4
|
+
255
|
5
|
+
255
|
6
|
+
0.2
|
7
|
+
89
|
8
|
+
172
|
9
|
+
255
|
10
|
+
0.4
|
11
|
+
72
|
12
|
+
72
|
13
|
+
255
|
14
|
+
0.6000000000000001
|
15
|
+
0
|
16
|
+
0
|
17
|
+
255
|
18
|
+
0.8
|
19
|
+
0
|
20
|
+
128
|
21
|
+
0
|
22
|
+
1.0
|
23
|
+
0
|
24
|
+
221
|
25
|
+
55
|
26
|
+
1.2000000000000002
|
27
|
+
128
|
28
|
+
255
|
29
|
+
128
|
30
|
+
1.4000000000000001
|
31
|
+
255
|
32
|
+
255
|
33
|
+
0
|
34
|
+
1.6
|
35
|
+
255
|
36
|
+
128
|
37
|
+
0
|
38
|
+
1.8
|
39
|
+
235
|
40
|
+
174
|
41
|
+
63
|
42
|
+
2.0
|
43
|
+
255
|
44
|
+
0
|
45
|
+
0
|
46
|
+
2.2
|
47
|
+
209
|
48
|
+
71
|
49
|
+
12
|
50
|
+
2.4000000000000004
|
51
|
+
128
|
52
|
+
0
|
53
|
+
0
|
54
|
+
2.6
|
55
|
+
185
|
56
|
+
0
|
57
|
+
0
|
58
|
+
2.8000000000000003
|
59
|
+
111
|
60
|
+
111
|
61
|
+
111
|
62
|
+
3.0
|
63
|
+
192
|
64
|
+
192
|
65
|
+
192
|
@@ -72,6 +72,7 @@ class IC_scenario(Enum):
|
|
72
72
|
WATERDEPTH = "h.npy"
|
73
73
|
DISCHARGE_X = 'qx.npy'
|
74
74
|
DISCHARGE_Y = 'qy.npy'
|
75
|
+
BATHYMETRY = 'bathymetry.npy'
|
75
76
|
|
76
77
|
ALL_EXTENSIONS = [cur.value for cur in GPU_2D_file_extensions]
|
77
78
|
|
@@ -134,11 +135,13 @@ class Hydrograph_scenario():
|
|
134
135
|
|
135
136
|
class InitialConditions_scenario():
|
136
137
|
""" Initial conditions for a scenario """
|
138
|
+
|
137
139
|
def __init__(self, dir:Path) -> None:
|
138
140
|
|
139
|
-
self.h = None
|
140
|
-
self.qx = None
|
141
|
-
self.qy = None
|
141
|
+
self.h: np.ndarray = None
|
142
|
+
self.qx: np.ndarray = None
|
143
|
+
self.qy: np.ndarray = None
|
144
|
+
self.bathy: np.ndarray = None
|
142
145
|
|
143
146
|
if (dir / IC_scenario.WATERDEPTH.value).exists():
|
144
147
|
self.h = np.load(dir / IC_scenario.WATERDEPTH.value)
|
@@ -146,7 +149,37 @@ class InitialConditions_scenario():
|
|
146
149
|
self.qx = np.load(dir / IC_scenario.DISCHARGE_X.value)
|
147
150
|
if (dir / IC_scenario.DISCHARGE_Y.value).exists():
|
148
151
|
self.qy = np.load(dir / IC_scenario.DISCHARGE_Y.value)
|
152
|
+
if (dir /IC_scenario.BATHYMETRY.value).exists():
|
153
|
+
self.bathy = np.load(dir / IC_scenario.BATHYMETRY.value)
|
154
|
+
|
155
|
+
@property
|
156
|
+
def z_elevation(self) -> np.ndarray:
|
157
|
+
""" Return the elevation of the water surface """
|
158
|
+
|
159
|
+
return self.bathy + self.h
|
160
|
+
|
161
|
+
def set_h_from_z(self, z: np.ndarray):
|
162
|
+
""" Set the water depth from the elevation of the water surface """
|
163
|
+
|
164
|
+
assert z.shape == self.bathy.shape, _('Bad shape for z !')
|
149
165
|
|
166
|
+
self.h = z - self.bathy
|
167
|
+
|
168
|
+
self.h[self.h < 0.] = 0.
|
169
|
+
self.qx[self.h < 0.] = 0.
|
170
|
+
self.qy[self.h < 0.] = 0.
|
171
|
+
|
172
|
+
def save(self, dir:Path):
|
173
|
+
""" Save the initial conditions """
|
174
|
+
|
175
|
+
if self.h is not None:
|
176
|
+
np.save(dir / IC_scenario.WATERDEPTH.value, self.h)
|
177
|
+
if self.qx is not None:
|
178
|
+
np.save(dir / IC_scenario.DISCHARGE_X.value, self.qx)
|
179
|
+
if self.qy is not None:
|
180
|
+
np.save(dir / IC_scenario.DISCHARGE_Y.value, self.qy)
|
181
|
+
if self.bathy is not None:
|
182
|
+
np.save(dir / IC_scenario.BATHYMETRY.value, self.bathy)
|
150
183
|
|
151
184
|
class Config_Manager_2D_GPU:
|
152
185
|
"""
|
@@ -814,6 +847,7 @@ class Config_Manager_2D_GPU:
|
|
814
847
|
|
815
848
|
def load_ic(self, path:Path) -> InitialConditions_scenario:
|
816
849
|
""" Load initial conditions from a path """
|
850
|
+
|
817
851
|
low_keys = [Path(curkey).name.lower() for curkey in self.configs.keys()]
|
818
852
|
if INITIAL_CONDITIONS in low_keys:
|
819
853
|
return InitialConditions_scenario(self.workingdir / INITIAL_CONDITIONS / path)
|
@@ -878,10 +912,10 @@ class Config_Manager_2D_GPU:
|
|
878
912
|
else:
|
879
913
|
logging.error(_("No 'bathymetry.tif' file found in the root directory !"))
|
880
914
|
|
881
|
-
def create_simulation(self,
|
882
|
-
dir:Path,
|
883
|
-
idx_hydros:list[int] = [-1],
|
884
|
-
delete_existing:bool = False,
|
915
|
+
def create_simulation(self,
|
916
|
+
dir:Path,
|
917
|
+
idx_hydros:list[int] = [-1],
|
918
|
+
delete_existing:bool = False,
|
885
919
|
preserve_ic:bool=False) -> list[Path]:
|
886
920
|
""" Create a simulation from different hydrographs """
|
887
921
|
|
@@ -1139,6 +1173,31 @@ class Config_Manager_2D_GPU:
|
|
1139
1173
|
|
1140
1174
|
return self.mapviewer
|
1141
1175
|
|
1176
|
+
def transfer_ic(self, dir1: Path, dir2: Path):
|
1177
|
+
""" Transfer IC from one sim to another """
|
1178
|
+
|
1179
|
+
ic1 = self.load_ic(dir1)
|
1180
|
+
ic2 = self.load_ic(dir2)
|
1181
|
+
|
1182
|
+
ic2.qx = ic1.qx
|
1183
|
+
ic2.qy = ic1.qy
|
1184
|
+
ic2.set_h_from_z(ic1.z_elevation)
|
1185
|
+
|
1186
|
+
ic2.save(dir2)
|
1187
|
+
|
1188
|
+
def extract_tif(self, from_path:Path, to_path:Path):
|
1189
|
+
""" Extract tif files from IC """
|
1190
|
+
|
1191
|
+
from_path = Path(from_path)
|
1192
|
+
to_path = Path(to_path)
|
1193
|
+
|
1194
|
+
prefix = from_path.parent.parent.parent.name + '_' + from_path.parent.parent.name + '_' + from_path.name
|
1195
|
+
|
1196
|
+
ext = ['h.npy', 'qx.npy', 'qy.npy', 'bathymetry.npy']
|
1197
|
+
|
1198
|
+
for curext in ext:
|
1199
|
+
tmp_array = WolfArray(from_path / curext)
|
1200
|
+
tmp_array.write_all((to_path / (prefix + '_' + curext)).with_suffix('.tif'))
|
1142
1201
|
|
1143
1202
|
class UI_Manager_2D_GPU():
|
1144
1203
|
""" User Interface for scenario 2D GPU """
|
@@ -1247,17 +1306,25 @@ class UI_Manager_2D_GPU():
|
|
1247
1306
|
self._create_vec.Bind(wx.EVT_BUTTON,self.oncreatevec)
|
1248
1307
|
self._create_vec.SetToolTip(_('Create a .vecz file (with contour and global bounds) from all bathymetry and manning .tif files\nBe sure that all files are right named !\n\n - bathymetry must contain "bath"\n - manning must contain "mann"\n - infiltration must contain "infil"'))
|
1249
1308
|
|
1250
|
-
self.
|
1251
|
-
self.
|
1252
|
-
self.
|
1309
|
+
self._checkconsistency = wx.Button(self._frame,label = _('Check consistency'))
|
1310
|
+
self._checkconsistency.Bind(wx.EVT_BUTTON,self.oncheck_consistency)
|
1311
|
+
self._checkconsistency.SetToolTip(_('Check consistency of the scenario\n\n - bathymetry.tif\n - manning.tif\n - infiltration.tif\n - hydrographs\n - initial conditions\n - boundary conditions\n - scripts'))
|
1312
|
+
|
1313
|
+
self._createsim = wx.Button(self._frame,label = _('Create simulation(s)'))
|
1314
|
+
self._createsim.Bind(wx.EVT_BUTTON,self.oncreate_simulation)
|
1315
|
+
self._createsim.SetToolTip(_('Create simulation(s) from selected hydrographs'))
|
1316
|
+
|
1317
|
+
self._transfer_ic = wx.Button(self._frame,label = _('Transfer initial conditions'))
|
1318
|
+
self._transfer_ic.Bind(wx.EVT_BUTTON,self.ontransfer_ic)
|
1319
|
+
self._transfer_ic.SetToolTip(_('Transfer initial conditions from a simulation to another'))
|
1253
1320
|
|
1254
|
-
self.
|
1255
|
-
self.
|
1256
|
-
self.
|
1321
|
+
self._extract_tif = wx.Button(self._frame,label = _('Extract .tif files for all selected scenarios'))
|
1322
|
+
self._extract_tif.Bind(wx.EVT_BUTTON,self.onextract_tif)
|
1323
|
+
self._extract_tif.SetToolTip(_('Extract .tif files for all selected scenarios'))
|
1257
1324
|
|
1258
|
-
self.
|
1259
|
-
self.
|
1260
|
-
self.
|
1325
|
+
self._runbatch = wx.Button(self._frame,label = _('Run batch file !'))
|
1326
|
+
self._runbatch.Bind(wx.EVT_BUTTON,self.onrun_batch)
|
1327
|
+
self._runbatch.SetToolTip(_('Run the batch file on local machine\n\n - The batch file must be created before\n - The batch file must be a .bat file'))
|
1261
1328
|
|
1262
1329
|
self.listsims = wx.Button(self._frame,label = _('List simulation(s)'))
|
1263
1330
|
self.listsims.Bind(wx.EVT_BUTTON,self.onlist_simulation)
|
@@ -1290,11 +1357,13 @@ class UI_Manager_2D_GPU():
|
|
1290
1357
|
sizer_buttons.Add(self._create_void_scripts,1,wx.EXPAND)
|
1291
1358
|
sizer_buttons.Add(self._create_vrt,1,wx.EXPAND)
|
1292
1359
|
sizer_buttons.Add(self._translate_vrt,1,wx.EXPAND)
|
1293
|
-
sizer_buttons.Add(self.
|
1360
|
+
sizer_buttons.Add(self._checkconsistency,1,wx.EXPAND)
|
1294
1361
|
sizer_buttons.Add(self._create_vec,1,wx.EXPAND)
|
1295
1362
|
sizer_buttons.Add(self.listsims,1,wx.EXPAND)
|
1296
|
-
sizer_buttons.Add(self.
|
1297
|
-
sizer_buttons.Add(self.
|
1363
|
+
sizer_buttons.Add(self._createsim,1,wx.EXPAND)
|
1364
|
+
sizer_buttons.Add(self._runbatch,1,wx.EXPAND)
|
1365
|
+
sizer_buttons.Add(self._transfer_ic,1,wx.EXPAND)
|
1366
|
+
sizer_buttons.Add(self._extract_tif,1,wx.EXPAND)
|
1298
1367
|
sizer_buttons.Add(sizer_txt_ckd,1,wx.EXPAND)
|
1299
1368
|
|
1300
1369
|
# tree, buttons -> horizontal sizer
|
@@ -1467,7 +1536,48 @@ class UI_Manager_2D_GPU():
|
|
1467
1536
|
|
1468
1537
|
return idx
|
1469
1538
|
|
1470
|
-
def
|
1539
|
+
def onextract_tif(self, e:wx.MouseEvent):
|
1540
|
+
""" Extraction des fichiers tif """
|
1541
|
+
|
1542
|
+
logging.info(_('Extracting tif files ...'))
|
1543
|
+
|
1544
|
+
sims = self.get_sims_only()
|
1545
|
+
|
1546
|
+
with wx.DirDialog(None, _('Choose a directory to store tif files'), style = wx.DD_DIR_MUST_EXIST) as dlg:
|
1547
|
+
ret = dlg.ShowModal()
|
1548
|
+
if ret != wx.ID_OK:
|
1549
|
+
return
|
1550
|
+
|
1551
|
+
wdir = dlg.GetPath()
|
1552
|
+
|
1553
|
+
for cursim in sims:
|
1554
|
+
self._parent.extract_tif(cursim['path'], wdir)
|
1555
|
+
|
1556
|
+
logging.info(_('... done !'))
|
1557
|
+
|
1558
|
+
def ontransfer_ic(self, e:wx.MouseEvent):
|
1559
|
+
""" Transfert des conditions initiales """
|
1560
|
+
|
1561
|
+
logging.info(_('Transferring initial conditions ...'))
|
1562
|
+
|
1563
|
+
with wx.DirDialog(None, _('Choose the source scenario directory'), style = wx.DD_DIR_MUST_EXIST) as dlg:
|
1564
|
+
ret = dlg.ShowModal()
|
1565
|
+
if ret != wx.ID_OK:
|
1566
|
+
return
|
1567
|
+
|
1568
|
+
wdir = dlg.GetPath()
|
1569
|
+
|
1570
|
+
with wx.DirDialog(None, _('Choose the destination scenario directory'), style = wx.DD_DIR_MUST_EXIST) as dlg:
|
1571
|
+
ret = dlg.ShowModal()
|
1572
|
+
if ret != wx.ID_OK:
|
1573
|
+
return
|
1574
|
+
|
1575
|
+
wdir2 = dlg.GetPath()
|
1576
|
+
|
1577
|
+
self._parent.transfer_ic(Path(wdir), Path(wdir2))
|
1578
|
+
|
1579
|
+
|
1580
|
+
def oncreate_simulation(self, e:wx.MouseEvent):
|
1471
1581
|
""" Creation d'une simulation """
|
1472
1582
|
|
1473
1583
|
logging.info(_('Creating simulation ...'))
|
@@ -1584,9 +1694,10 @@ class UI_Manager_2D_GPU():
|
|
1584
1694
|
checked = self._treelist.GetCheckedState(curitem) == wx.CHK_CHECKED
|
1585
1695
|
|
1586
1696
|
if isinstance(mydata, dict):
|
1587
|
-
if mydata
|
1588
|
-
if
|
1589
|
-
|
1697
|
+
if IS_SIMUL in mydata:
|
1698
|
+
if mydata[IS_SIMUL]:
|
1699
|
+
if checked or force:
|
1700
|
+
sims += [mydata]
|
1590
1701
|
|
1591
1702
|
curitem = self._treelist.GetNextItem(curitem)
|
1592
1703
|
# curitem = self._treelist.GetItemParent(curitem)
|
@@ -1867,7 +1978,7 @@ class UI_Manager_2D_GPU():
|
|
1867
1978
|
newid = str(mydata.name)
|
1868
1979
|
while newid in ids:
|
1869
1980
|
newid = newid + '_'
|
1870
|
-
|
1981
|
+
|
1871
1982
|
self._parent.mapviewer.add_object('array', newobj=myarray, id=newid)
|
1872
1983
|
|
1873
1984
|
elif mydata.name.endswith(GPU_2D_file_extensions.TXT.value):
|
wolfhece/wolf_array.py
CHANGED
@@ -4010,25 +4010,36 @@ class SelectionDataMB(SelectionData):
|
|
4010
4010
|
curblock.SelectionData.select_underpoly(myvect)
|
4011
4011
|
|
4012
4012
|
def update_nb_nodes_selection(self):
|
4013
|
+
""" Update the number of nodes selected """
|
4013
4014
|
|
4015
|
+
# Get infos from all blocks
|
4014
4016
|
ret = []
|
4015
4017
|
for curblock in self.parent.active_blocks:
|
4016
4018
|
ret.append(curblock.SelectionData.update_nb_nodes_selection())
|
4017
4019
|
|
4020
|
+
# sum all the nodes
|
4018
4021
|
nb = np.sum([cur[0] for cur in ret])
|
4019
|
-
|
4020
|
-
|
4021
|
-
|
4022
|
-
|
4022
|
+
|
4023
|
+
if nb > 0 :
|
4024
|
+
xmin = np.min([cur[1] for cur in ret if cur[1] != -99999.])
|
4025
|
+
ymin = np.min([cur[3] for cur in ret if cur[3] != -99999.])
|
4026
|
+
xmax = np.max([cur[2] for cur in ret if cur[2] != -99999.])
|
4027
|
+
ymax = np.max([cur[4] for cur in ret if cur[4] != -99999.])
|
4023
4028
|
|
4024
4029
|
if self.parent.myops is not None:
|
4025
4030
|
|
4026
4031
|
self.parent.myops.nbselect.SetLabelText(str(nb))
|
4032
|
+
|
4027
4033
|
if nb>0:
|
4028
4034
|
self.parent.myops.minx.SetLabelText('{:.3f}'.format(xmin))
|
4029
4035
|
self.parent.myops.miny.SetLabelText('{:.3f}'.format(ymin))
|
4030
4036
|
self.parent.myops.maxx.SetLabelText('{:.3f}'.format(xmax))
|
4031
4037
|
self.parent.myops.maxy.SetLabelText('{:.3f}'.format(ymax))
|
4038
|
+
else:
|
4039
|
+
self.parent.myops.minx.SetLabelText('')
|
4040
|
+
self.parent.myops.miny.SetLabelText('')
|
4041
|
+
self.parent.myops.maxx.SetLabelText('')
|
4042
|
+
self.parent.myops.maxy.SetLabelText('')
|
4032
4043
|
|
4033
4044
|
|
4034
4045
|
def condition_select(self, cond, condval, condval2=0, usemask=False):
|
wolfhece/wolfresults_2D.py
CHANGED
@@ -1566,12 +1566,12 @@ class OneWolfResult:
|
|
1566
1566
|
elif which==views_2D.VECTOR_FIELD_Q:
|
1567
1567
|
self._current=(self.qx**2.+self.qy**2.)**.5
|
1568
1568
|
nullvalue = self.qx.nullvalue
|
1569
|
-
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1569
|
+
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1570
1570
|
elif which==views_2D.VECTOR_FIELD_U:
|
1571
1571
|
ux = self.qx/self.waterdepth
|
1572
1572
|
uy = self.qy/self.waterdepth
|
1573
1573
|
self._current=(ux**2.+uy**2.)**.5
|
1574
|
-
self._vec_field = VectorField(ux.array, uy.array, ux.get_bounds(), ux.dx, ux.dy, minsize=self._min_field_size)
|
1574
|
+
self._vec_field = VectorField(ux.array, uy.array, ux.get_bounds(), ux.dx, ux.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1575
1575
|
|
1576
1576
|
nullvalue = self.qx.nullvalue
|
1577
1577
|
|
@@ -1580,7 +1580,7 @@ class OneWolfResult:
|
|
1580
1580
|
self._current = (self.qx**2.+self.qy**2.)**.5
|
1581
1581
|
self._view = WolfViews()
|
1582
1582
|
|
1583
|
-
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1583
|
+
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1584
1584
|
self._view.add_elemts([self._current, self._vec_field])
|
1585
1585
|
|
1586
1586
|
nullvalue = self.qx.nullvalue
|
@@ -1593,7 +1593,7 @@ class OneWolfResult:
|
|
1593
1593
|
ux = self.qx/self.waterdepth
|
1594
1594
|
uy = self.qy/self.waterdepth
|
1595
1595
|
|
1596
|
-
self._vec_field = VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1596
|
+
self._vec_field = VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1597
1597
|
self._view.add_elemts([self._current, self._vec_field])
|
1598
1598
|
|
1599
1599
|
nullvalue = self.qx.nullvalue
|
@@ -1606,7 +1606,7 @@ class OneWolfResult:
|
|
1606
1606
|
ux = self.qx/self.waterdepth
|
1607
1607
|
uy = self.qy/self.waterdepth
|
1608
1608
|
|
1609
|
-
self._vec_field = VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1609
|
+
self._vec_field = VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1610
1610
|
self._view.add_elemts([self._current, self._vec_field])
|
1611
1611
|
|
1612
1612
|
nullvalue = self.waterdepth.nullvalue
|
@@ -1616,7 +1616,7 @@ class OneWolfResult:
|
|
1616
1616
|
self._current = self.waterdepth+self.top
|
1617
1617
|
self._view = WolfViews()
|
1618
1618
|
|
1619
|
-
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1619
|
+
self._vec_field = VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1620
1620
|
|
1621
1621
|
self._view.add_elemts([self._current, self._vec_field])
|
1622
1622
|
|
@@ -1626,7 +1626,7 @@ class OneWolfResult:
|
|
1626
1626
|
|
1627
1627
|
self._current = self.waterdepth
|
1628
1628
|
self._view = WolfViews()
|
1629
|
-
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1629
|
+
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1630
1630
|
self._view.add_elemts([self._current, self._vec_field])
|
1631
1631
|
|
1632
1632
|
nullvalue = self.waterdepth.nullvalue
|
@@ -1639,7 +1639,7 @@ class OneWolfResult:
|
|
1639
1639
|
ux = self.qx/self.waterdepth
|
1640
1640
|
uy = self.qy/self.waterdepth
|
1641
1641
|
|
1642
|
-
self._vec_field =VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1642
|
+
self._vec_field =VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1643
1643
|
self._view.add_elemts([self._current, self._vec_field])
|
1644
1644
|
|
1645
1645
|
nullvalue = self.waterdepth.nullvalue
|
@@ -1649,7 +1649,7 @@ class OneWolfResult:
|
|
1649
1649
|
self._current = self.waterdepth+self.top
|
1650
1650
|
self._view = WolfViews()
|
1651
1651
|
|
1652
|
-
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1652
|
+
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1653
1653
|
self._view.add_elemts([self.top, self._current, self._vec_field])
|
1654
1654
|
|
1655
1655
|
nullvalue = self.waterdepth.nullvalue
|
@@ -1660,7 +1660,7 @@ class OneWolfResult:
|
|
1660
1660
|
self.waterdepth.mypal.defaultblue_minmax(self.waterdepth.array)
|
1661
1661
|
self._view = WolfViews()
|
1662
1662
|
|
1663
|
-
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1663
|
+
self._vec_field =VectorField(self.qx.array, self.qy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1664
1664
|
self._view.add_elemts([self.top, self._current, self._vec_field])
|
1665
1665
|
|
1666
1666
|
nullvalue = self.waterdepth.nullvalue
|
@@ -1674,7 +1674,7 @@ class OneWolfResult:
|
|
1674
1674
|
ux = self.qx/self.waterdepth
|
1675
1675
|
uy = self.qy/self.waterdepth
|
1676
1676
|
|
1677
|
-
self._vec_field =VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size)
|
1677
|
+
self._vec_field =VectorField(ux.array, uy.array, self.qx.get_bounds(), self.qx.dx, self.qy.dy, minsize=self._min_field_size, mapviewer=self.parent.mapviewer)
|
1678
1678
|
self._view.add_elemts([self.top, self._current, self._vec_field ])
|
1679
1679
|
|
1680
1680
|
nullvalue = self.waterdepth.nullvalue
|
@@ -29,7 +29,7 @@ wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,3
|
|
29
29
|
wolfhece/drawing_obj.py,sha256=znIQY8dkYhnmoq3mEsVkVzd-hSKDbFY6i8TV-Tf37jM,4040
|
30
30
|
wolfhece/flow_SPWMI.py,sha256=XDAelwAY-3rYOR0WKW3fgYJ_r8DU4IP6Y5xULW421tk,20956
|
31
31
|
wolfhece/friction_law.py,sha256=MtZJLo-pTj3-Fw-w12z1LSgSIDrH-JGR0iD9wer_fpQ,5498
|
32
|
-
wolfhece/gpuview.py,sha256=
|
32
|
+
wolfhece/gpuview.py,sha256=0Ld8glEijx5OhMEfcwqvUFEQ5ryRXLnzey3Dff_sn-k,24110
|
33
33
|
wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4465
|
34
34
|
wolfhece/ins.py,sha256=0aU1mo4tYbw64Gwzrqbh-NCTH1tukmk0mpPHjRPHZXU,12661
|
35
35
|
wolfhece/irm_qdf.py,sha256=gDuM9sEowQndLTL8vzbZW879M1go2xiKeE4EAJD2bA4,16532
|
@@ -47,13 +47,13 @@ wolfhece/pywalous.py,sha256=yRaWJjKckXef1d9D5devP0yFHC9uc6kRV4G5x9PNq9k,18972
|
|
47
47
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
48
48
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
49
49
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
50
|
-
wolfhece/wolf_array.py,sha256=
|
50
|
+
wolfhece/wolf_array.py,sha256=AUSGolqu-YfyQ2SJp5WCMVD1gppvddHULJ3GrUpBjB4,357128
|
51
51
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
52
52
|
wolfhece/wolf_texture.py,sha256=EqZI6qCR6ouT3wEtnG_NkVLdvUhfY65JVTj5b6o4lXI,16576
|
53
53
|
wolfhece/wolf_tiles.py,sha256=2Ho2I20rHRY81KXxjgLOYISdF4OkJ2d6omeY4shDoGI,10386
|
54
54
|
wolfhece/wolf_vrt.py,sha256=89XoDhCJMHiwPQUuOduxtTRKuIa8RDxgNqX65S4xp9M,10569
|
55
55
|
wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
|
56
|
-
wolfhece/wolfresults_2D.py,sha256=
|
56
|
+
wolfhece/wolfresults_2D.py,sha256=f6ezVnKw9LFjh1ynYkga-llDIsDF3BPpR-GYX38-YfE,166127
|
57
57
|
wolfhece/xyz_file.py,sha256=Se4nCPwYAYLSA5i0zsbnZUKoAMAD0mK1FJea5WSZUkk,5755
|
58
58
|
wolfhece/acceptability/Parallels.py,sha256=h4tu3SpC_hR5Hqa68aruxhtAyhs8u666YuZ40_fR5zg,3979
|
59
59
|
wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
|
@@ -71,7 +71,7 @@ wolfhece/apps/check_install.py,sha256=icFpkjfwNGDX-0NZVa-ijrCrqmGHEKDiFphjN8uTyh
|
|
71
71
|
wolfhece/apps/curvedigitizer.py,sha256=_hRR2PWow7PU7rTHIbc6ykZ08tCXcK9uy7RFrb4EKkE,5196
|
72
72
|
wolfhece/apps/isocurrent.py,sha256=MuwTodHxdc6PrqNpphR2ntYf1NLL2n9klTPndGrOHDQ,4109
|
73
73
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
74
|
-
wolfhece/apps/version.py,sha256=
|
74
|
+
wolfhece/apps/version.py,sha256=5tAn4TD3B3ZvMTbRidl5mbAMwtVox0WQcCeb4SeaUG4,388
|
75
75
|
wolfhece/apps/wolf.py,sha256=mM6Tyi4DlKQILmO49cDUCip9fYVy-hLXkY3YhZgIeUQ,591
|
76
76
|
wolfhece/apps/wolf2D.py,sha256=yPQGee7fsegoQ8GfWKrWEjX1Az_ApL-UWlBiqPvaIyY,565
|
77
77
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -169,10 +169,29 @@ wolfhece/lazviewer/vfuncsdir/vfuncs.cp39-win_amd64.pyd,sha256=MzAEyrgnqja-FjHGtL
|
|
169
169
|
wolfhece/lazviewer/viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
170
|
wolfhece/lazviewer/viewer/viewer.exe,sha256=pF5nwE8vMWlEzkk-SOekae9zpOsPhTWhZbqaJntumJc,202240
|
171
171
|
wolfhece/lazviewer/viewer/viewer.py,sha256=8_MQCaQOS0Z_oRPiGoRy1lq-aCirReX3hWEBjQID0ig,24665
|
172
|
+
wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
|
173
|
+
wolfhece/libs/WolfDll.dll,sha256=E8SeV0AHVXW5ikAQuVtijqIvaYx7UIMeqvnnsmTMCT8,132934144
|
174
|
+
wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
|
175
|
+
wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll,sha256=ol0GVN6wzqGu8Ym6IXTQ8TvfUvCY06nsNtFeS_swxJk,27912
|
176
|
+
wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll,sha256=NxpEq5FhSowm0Vm-uHKntD9WnLX6yK2pms6Y8mSjtQM,23304
|
177
|
+
wolfhece/libs/fribidi-0.dll,sha256=MCLSH_tGJXcJdcnUXilGNTVMH6KU8OumYyJX8yN08bQ,111616
|
172
178
|
wolfhece/libs/get_infos.cp310-win_amd64.pyd,sha256=45b6uo0r2zPD4KbpHR8QZC0TwQHDb9S0It7-kv0GWTA,77824
|
179
|
+
wolfhece/libs/glu32.dll,sha256=gLubeeL9b_RDYTQ2JL0iHzpRMg8uapKCOEpZ15k1SUQ,164352
|
180
|
+
wolfhece/libs/hdf5.dll,sha256=quTNP4GZtVNJ6Ptx__ltuGTN0gQ96rvkGL5yBLuUcF4,3129856
|
181
|
+
wolfhece/libs/hdf5_hl.dll,sha256=alZLhLXbReBtwbwsariWWRPAlrwzrePr-Mbdgiy922Y,112128
|
182
|
+
wolfhece/libs/libcurl.dll,sha256=xYNKOWwPynyHNEwgN61GRHHMqjFyBxu4GWemFe89Ipc,311296
|
183
|
+
wolfhece/libs/libpardiso600-WIN-X86-64.dll,sha256=4UsSdj3TWf0IR4Peac05mLXCuZvzazix5_KGfurTRKE,16288256
|
184
|
+
wolfhece/libs/libraqm.dll,sha256=p48j-ZNSQJRqrh8NHez7wdxZCKItW4DNSmWd082o60Y,1304064
|
185
|
+
wolfhece/libs/msvcr100.dll,sha256=rjy2xq-6mkqlyF9mAjw1M4ylebMDJt0CkY-dVSWVA9U,829264
|
186
|
+
wolfhece/libs/netcdf.dll,sha256=6u6oyapv6lRB1KlDeEB1For0JjMYHtVYUYkH_ht_ICY,958976
|
187
|
+
wolfhece/libs/paho-mqtt3cs.dll,sha256=i1v0CSIWEGPIlJrEEcmXDLXO2D1bCOQNIDPiWzIpMbI,134656
|
188
|
+
wolfhece/libs/vcomp100.dll,sha256=NKvXc8hc4MrFa9k8ErALA6OmldGfR3zidaZPCZhMVJI,57168
|
189
|
+
wolfhece/libs/vcruntime140.dll,sha256=gPBsB0DzEBn3b7E5ihESs-AtG4Cu59OnONR1QI17TGA,98720
|
190
|
+
wolfhece/libs/vcruntime140_1.dll,sha256=KZJoe26L6i76Krqne_OribgfhN6LxJQEcs0Xn_01hP8,38304
|
173
191
|
wolfhece/libs/verify_wolf.cp310-win_amd64.pyd,sha256=ceWkovmTDfQcIzlxOBjUUDoHu6ZglOlUFADaRuAe3WM,127488
|
174
192
|
wolfhece/libs/wolfogl.cp310-win_amd64.pyd,sha256=e27Epa44wBSrXiwzeUpl2ud8oCPJpFbfWd_5P5l6sAo,294912
|
175
193
|
wolfhece/libs/wolfpy.cp310-win_amd64.pyd,sha256=6omqEaxmQll-Gg24e90wVomAB9rO_tyyOES2FewXn58,36457472
|
194
|
+
wolfhece/libs/zlib1.dll,sha256=E9a0e62VgmG1A8ohZzhVCmmfGtbyXxXu4aFeADTNJ30,77824
|
176
195
|
wolfhece/libs/GL/gl.h,sha256=IhsS_fOLa8GW9MpiLZebe9QYRy6uIB_qK_uQMWMOoeg,46345
|
177
196
|
wolfhece/libs/GL/glaux.h,sha256=I3vxXdrzVH05TmjEeAOgKn3egbPt34WMjbeKq5LaBvE,7130
|
178
197
|
wolfhece/libs/GL/glcorearb.h,sha256=wfbeOYhbDpIowerrO50sOT2ZKRy5TIhiw6CbNw77m8c,243226
|
@@ -196,11 +215,19 @@ wolfhece/mesh2d/cell_tracker.py,sha256=mPmnD5lEf3gLPuLqtAIo-Gp-ipAwQdPxzjWOGt0b7
|
|
196
215
|
wolfhece/mesh2d/config_manager.py,sha256=DcdxCIIs_dyC6ayJOBULeY364LONogL9PBaqBtC9eQ4,14736
|
197
216
|
wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=Y4DF68uAklF3fXJgf05nb_JvJk2pvzcu_wu5nFXpWJo,5008
|
198
217
|
wolfhece/mesh2d/wolf2dprev.py,sha256=9TUFcxWWbzQB4TbZgevMW6UF167r_cnT8AHwQIQeB6s,491489
|
218
|
+
wolfhece/models/5_coul.pal,sha256=OI1UqcNIDBpJn2k_VDel__r-hKjjvdob0eqinGCI3QY,160
|
219
|
+
wolfhece/models/6_coul.pal,sha256=z7NK2dg0tAQBUweRQV54dIwJbPM1U5y1AR2LLw19Idw,148
|
220
|
+
wolfhece/models/7_coul.pal,sha256=XTnnUyCE8ONokScB2YzYDnSTft7E6sppmr7P-XwMsCE,205
|
221
|
+
wolfhece/models/Froude.pal,sha256=FmrvUI01fv4k0ygqDJEYdC1M9Fn72Sr6Sn2IlZAm0KA,138
|
199
222
|
wolfhece/models/HECE_169.pptx,sha256=OWJtsWz504A-REFaaxw8lwStHyQU2l7KEeiE7IZvtbk,3396930
|
223
|
+
wolfhece/models/Risque_TAF.pal,sha256=Tnbx-_gIyCszzwmwo0I9vvFfVVKmATjFXS89AoZwTOs,135
|
200
224
|
wolfhece/models/blue.pal,sha256=s9-wEPzSiKMMHuKofUB2FPjmyO7HfGM2xWaUJwsKAY8,39
|
225
|
+
wolfhece/models/classes.pal,sha256=3gbCVboKhCYJZYOZVHeIco1kJJuSg0VE8BvX5JK6fTU,273
|
201
226
|
wolfhece/models/diff16.pal,sha256=Pkp9kQ1GvmAKz3lgwohsw8eQySjVVKHbjhoWw-gZ6Nc,303
|
202
227
|
wolfhece/models/diff3.pal,sha256=qk-yGgJr_FHdW7p7i93GFsH9ClT0dl5nqa9G1lLh7Z0,50
|
228
|
+
wolfhece/models/haut_coul.pal,sha256=eEwfZ-noqp09YvH3uvElLRgf4xcgaZIfyk4ntqlVTss,496
|
203
229
|
wolfhece/models/red.pal,sha256=W6oeIjDCoGCsJDZPH2K4jfyfPmCMlH9rfRi4PTs-n28,33
|
230
|
+
wolfhece/models/reg_20cm.pal,sha256=S_lFMUkc_L9ih0k0XnOG7W9_PCg9J2Lm9ZMS-nloJ1E,366
|
204
231
|
wolfhece/models/shields.pal,sha256=TwPhfaly2j3ZRM5ahlz7xH19NArZlalxYNy1L_UnJoA,166
|
205
232
|
wolfhece/models/shields_cst.pal,sha256=zUGFI6HiL0bsHeOzcWNih3F9cxXKXLLZYA5rtqRbzcs,90
|
206
233
|
wolfhece/models/vulnerability.pal,sha256=Fevrc_9owywLhbPMBunXDcrGXPJhARo9iSV1eOq3roA,106
|
@@ -226,7 +253,7 @@ wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,
|
|
226
253
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
227
254
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
228
255
|
wolfhece/scenario/check_scenario.py,sha256=w7_SST4n_uec-MUBK36gbJzz2KC8qT_bVJ_VNyp7cMo,4917
|
229
|
-
wolfhece/scenario/config_manager.py,sha256=
|
256
|
+
wolfhece/scenario/config_manager.py,sha256=hw9NfD75sttg-BJfyclXqZUsJwzlqUwE0bQUnzX7IiM,85258
|
230
257
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
231
258
|
wolfhece/scenario/update_void.py,sha256=ay8C_FxfXN627Hx46waaAO6F3ovYmOCTxseUumKAY7c,7474
|
232
259
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -249,8 +276,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
249
276
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
250
277
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
278
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
252
|
-
wolfhece-2.1.
|
253
|
-
wolfhece-2.1.
|
254
|
-
wolfhece-2.1.
|
255
|
-
wolfhece-2.1.
|
256
|
-
wolfhece-2.1.
|
279
|
+
wolfhece-2.1.42.dist-info/METADATA,sha256=V--NZVlOcEtf7kFxAX0Lfeu2RqN4BYyCZGmnd12pKnA,2463
|
280
|
+
wolfhece-2.1.42.dist-info/WHEEL,sha256=Rp8gFpivVLXx-k3U95ozHnQw8yDcPxmhOpn_Gx8d5nc,91
|
281
|
+
wolfhece-2.1.42.dist-info/entry_points.txt,sha256=yggeO1Fa80pi2BrOd9k5dTkiFlefGPwG6HztZhY0-qw,366
|
282
|
+
wolfhece-2.1.42.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
283
|
+
wolfhece-2.1.42.dist-info/RECORD,,
|
File without changes
|
File without changes
|