wolfhece 2.1.114__py3-none-any.whl → 2.1.116__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/PyConfig.py +29 -2
- wolfhece/PyDraw.py +814 -470
- wolfhece/PyGui.py +14 -4
- wolfhece/PyPalette.py +22 -3
- wolfhece/PyVertexvectors.py +235 -141
- wolfhece/Results2DGPU.py +38 -5
- wolfhece/apps/version.py +1 -1
- wolfhece/pybridges.py +81 -24
- wolfhece/scenario/config_manager.py +7 -0
- wolfhece/wolf_array.py +69 -2
- {wolfhece-2.1.114.dist-info → wolfhece-2.1.116.dist-info}/METADATA +1 -1
- {wolfhece-2.1.114.dist-info → wolfhece-2.1.116.dist-info}/RECORD +15 -15
- {wolfhece-2.1.114.dist-info → wolfhece-2.1.116.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.114.dist-info → wolfhece-2.1.116.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.114.dist-info → wolfhece-2.1.116.dist-info}/top_level.txt +0 -0
wolfhece/Results2DGPU.py
CHANGED
@@ -156,6 +156,7 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
156
156
|
store = None):
|
157
157
|
|
158
158
|
fname = Path(fname)
|
159
|
+
self._nap = None
|
159
160
|
|
160
161
|
if not fname.name.lower() == 'simul_gpu_results':
|
161
162
|
for curdir in fname.iterdir():
|
@@ -234,6 +235,7 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
234
235
|
curblock.qx = WolfArray(path.join(sim_path, 'simul.qxbin'))
|
235
236
|
curblock.qy = WolfArray(path.join(sim_path, 'simul.qybin'))
|
236
237
|
curblock.rough_n = WolfArray(path.join(sim_path, 'simul.frot'))
|
238
|
+
self._nap = WolfArray(path.join(sim_path, 'simul.napbin'))
|
237
239
|
|
238
240
|
else:
|
239
241
|
|
@@ -304,6 +306,13 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
304
306
|
logging.error(_('No manning file found in the simulation directory -- Results will not be shown in viewer'))
|
305
307
|
return -8
|
306
308
|
|
309
|
+
pathnap = sim_path / params['maps']['NAP']
|
310
|
+
if pathnap.exists():
|
311
|
+
self._nap = WolfArray(pathnap)
|
312
|
+
else:
|
313
|
+
logging.error(_('No nap file found in the simulation directory -- Results will not be shown in viewer'))
|
314
|
+
return -9
|
315
|
+
|
307
316
|
# Force nullvalue to zero because it will influence the size of the arrow in vector field views
|
308
317
|
curblock.qx.nullvalue = 0.
|
309
318
|
curblock.qy.nullvalue = 0.
|
@@ -312,7 +321,7 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
312
321
|
|
313
322
|
self.head_blocks[getkeyblock(0)] = curblock.top.get_header()
|
314
323
|
|
315
|
-
to_check =[curblock.waterdepth, curblock.qx, curblock.qy, curblock.rough_n]
|
324
|
+
to_check =[curblock.waterdepth, curblock.qx, curblock.qy, curblock.rough_n, self._nap]
|
316
325
|
check = False
|
317
326
|
for curarray in to_check:
|
318
327
|
check |= curarray.dx != curblock.top.dx
|
@@ -324,7 +333,7 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
324
333
|
|
325
334
|
if check:
|
326
335
|
if (sim_path / 'simul.top').exists():
|
327
|
-
logging.error(_("Inconsistent header file in .top, .qxbin, .qybin or .frot files"))
|
336
|
+
logging.error(_("Inconsistent header file in .top, .qxbin, .qybin, .napbin or .frot files"))
|
328
337
|
logging.error(_("Forcing information into memory from the .top file -- May corrupt spatial positionning -- Please check your data !"))
|
329
338
|
elif pathbathy.exists():
|
330
339
|
logging.error(_("Inconsistent header file"))
|
@@ -639,17 +648,40 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
639
648
|
logging.error(_('Bad index for initial conditions'))
|
640
649
|
return
|
641
650
|
|
651
|
+
nap = self._nap
|
652
|
+
|
642
653
|
self.set_currentview(views_2D.WATERDEPTH)
|
643
654
|
|
644
655
|
hini = self.as_WolfArray()
|
656
|
+
hini.nullvalue = 0.
|
657
|
+
hini.set_nullvalue_in_mask()
|
658
|
+
|
659
|
+
if hini[nap == 1].max() > 0.:
|
660
|
+
logging.warning(_('Some cells are not dry in the initial conditions outside the NAP areas'))
|
661
|
+
logging.warning(_('Setting the water depth to zero in these cells'))
|
662
|
+
hini[nap == 0] = 0.
|
645
663
|
|
646
664
|
self.set_currentview(views_2D.QX)
|
647
665
|
|
648
666
|
qxini = self.as_WolfArray()
|
667
|
+
qxini.nullvalue = 0.
|
668
|
+
qxini.set_nullvalue_in_mask()
|
649
669
|
|
650
670
|
self.set_currentview(views_2D.QY)
|
651
671
|
|
652
672
|
qyini = self.as_WolfArray()
|
673
|
+
qyini.nullvalue = 0.
|
674
|
+
qyini.set_nullvalue_in_mask()
|
675
|
+
|
676
|
+
if qxini[nap == 1].max() > 0.:
|
677
|
+
logging.warning(_('Some cells are not dry in the initial conditions outside the NAP areas'))
|
678
|
+
logging.warning(_('Setting the water depth to zero in these cells'))
|
679
|
+
qxini[nap == 0] = 0.
|
680
|
+
|
681
|
+
if qyini[nap == 1].max() > 0.:
|
682
|
+
logging.warning(_('Some cells are not dry in the initial conditions outside the NAP areas'))
|
683
|
+
logging.warning(_('Setting the water depth to zero in these cells'))
|
684
|
+
qyini[nap == 0] = 0.
|
653
685
|
|
654
686
|
if (hini is not None) and (qxini is not None) and (qyini is not None):
|
655
687
|
|
@@ -657,9 +689,10 @@ class wolfres2DGPU(Wolfresults_2D):
|
|
657
689
|
# qxini = qxini.as_WolfArray()
|
658
690
|
# qyini = qyini.as_WolfArray()
|
659
691
|
|
660
|
-
|
661
|
-
|
662
|
-
|
692
|
+
dir = Path(self.filename).parent
|
693
|
+
hini.write_all(dir / 'h.npy')
|
694
|
+
qxini.write_all(dir / 'qx.npy')
|
695
|
+
qyini.write_all(dir / 'qy.npy')
|
663
696
|
|
664
697
|
logging.info(_('Initial conditions saved as Numpy files'))
|
665
698
|
else:
|
wolfhece/apps/version.py
CHANGED
wolfhece/pybridges.py
CHANGED
@@ -17,6 +17,7 @@ from typing import Literal, Union
|
|
17
17
|
import matplotlib.pyplot as plt
|
18
18
|
from enum import Enum
|
19
19
|
import logging
|
20
|
+
from pathlib import Path
|
20
21
|
|
21
22
|
from .PyTranslate import _
|
22
23
|
from .PyVertexvectors import Zones, zone, vector, vectorproperties, getIfromRGB
|
@@ -130,9 +131,10 @@ class Bridge(Zones):
|
|
130
131
|
"""
|
131
132
|
new_bridge = cls()
|
132
133
|
new_bridge.myname = name
|
134
|
+
new_bridge.idx = name
|
133
135
|
|
134
|
-
position = zone(name = zones_in_file.PARTS.value
|
135
|
-
new_bridge.add_zone(position)
|
136
|
+
position = zone(name = zones_in_file.PARTS.value)
|
137
|
+
new_bridge.add_zone(position, forceparent=True)
|
136
138
|
|
137
139
|
new_bridge.centralpart = vector(name = parts_values.CENTRAL.value)
|
138
140
|
position.add_vector(new_bridge.centralpart, forceparent=True)
|
@@ -143,8 +145,8 @@ class Bridge(Zones):
|
|
143
145
|
new_bridge.downstream = vector(name = parts_values.DOWNSTREAM.value)
|
144
146
|
position.add_vector(new_bridge.downstream, forceparent=True)
|
145
147
|
|
146
|
-
river = zone(name = zones_in_file.RIVER.value
|
147
|
-
new_bridge.add_zone(river)
|
148
|
+
river = zone(name = zones_in_file.RIVER.value)
|
149
|
+
new_bridge.add_zone(river, forceparent=True)
|
148
150
|
|
149
151
|
new_bridge.leftbank = vector(name = rivers_values.LEFTBANK.value)
|
150
152
|
new_bridge.riverbed = vector(name = rivers_values.RIVERBED.value)
|
@@ -154,16 +156,26 @@ class Bridge(Zones):
|
|
154
156
|
river.add_vector(new_bridge.riverbed, forceparent=True)
|
155
157
|
river.add_vector(new_bridge.rightbank, forceparent=True)
|
156
158
|
|
157
|
-
new_bridge.add_zone(zone(name = zones_in_file.DECK.value,
|
158
|
-
new_bridge.add_zone(zone(name = zones_in_file.ROOF.value,
|
159
|
-
new_bridge.add_zone(zone(name = zones_in_file.PIER.value,
|
160
|
-
new_bridge.add_zone(zone(name = zones_in_file.CROSS_SECTIONS.value,
|
161
|
-
new_bridge.add_zone(zone(name = zones_in_file.EXTRACTION.value,
|
159
|
+
new_bridge.add_zone(zone(name = zones_in_file.DECK.value), forceparent=True)
|
160
|
+
new_bridge.add_zone(zone(name = zones_in_file.ROOF.value), forceparent=True)
|
161
|
+
new_bridge.add_zone(zone(name = zones_in_file.PIER.value), forceparent=True)
|
162
|
+
new_bridge.add_zone(zone(name = zones_in_file.CROSS_SECTIONS.value), forceparent=True)
|
163
|
+
new_bridge.add_zone(zone(name = zones_in_file.EXTRACTION.value), forceparent=True)
|
164
|
+
|
165
|
+
new_bridge.fill_structure()
|
162
166
|
|
163
167
|
return new_bridge
|
164
168
|
|
165
|
-
def __init__(self, myfile='', ds:float=5.,
|
166
|
-
|
169
|
+
def __init__(self, myfile='', ds:float=5.,
|
170
|
+
ox: float = 0, oy: float = 0,
|
171
|
+
tx: float = 0, ty: float = 0,
|
172
|
+
parent=None, is2D=True,
|
173
|
+
idx: str = '',
|
174
|
+
wx_exists:bool = False,
|
175
|
+
mapviewer=None
|
176
|
+
):
|
177
|
+
|
178
|
+
super().__init__(myfile, ox, oy, tx, ty, parent, is2D, idx=idx, plotted= wx_exists, mapviewer= mapviewer)
|
167
179
|
self.init_ui()
|
168
180
|
|
169
181
|
self.centralpart = None
|
@@ -176,6 +188,10 @@ class Bridge(Zones):
|
|
176
188
|
|
177
189
|
self.polygons_zone = None
|
178
190
|
|
191
|
+
self.mapviewer = mapviewer
|
192
|
+
|
193
|
+
self.parent = parent
|
194
|
+
|
179
195
|
if myfile != '':
|
180
196
|
self.myname = splitext(basename(myfile))[0]
|
181
197
|
extension = splitext(basename(myfile))[1]
|
@@ -376,14 +392,17 @@ class Bridge(Zones):
|
|
376
392
|
centery = np.sum(np.asarray([cur.y for cur in curvert.myvertices[:4]]))/4.
|
377
393
|
self.polygons_curvi[curvert.myname] = poly.project(Point([centerx,centery]))
|
378
394
|
|
379
|
-
def plot(self):
|
395
|
+
def plot(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
|
380
396
|
"""Plot into GUI"""
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
self.
|
385
|
-
self.
|
386
|
-
self.
|
397
|
+
|
398
|
+
super().plot(sx, sy, xmin, ymin, xmax, ymax, size)
|
399
|
+
|
400
|
+
# self.centralpart.plot()
|
401
|
+
# self.upstream.plot()
|
402
|
+
# self.downstream.plot()
|
403
|
+
# self.leftbank.plot()
|
404
|
+
# self.rightbank.plot()
|
405
|
+
# self.riverbed.plot()
|
387
406
|
|
388
407
|
def find_values_inside_parts(self, linked_arrays):
|
389
408
|
"""
|
@@ -875,7 +894,8 @@ class Bridge(Zones):
|
|
875
894
|
|
876
895
|
class Bridges(Element_To_Draw):
|
877
896
|
|
878
|
-
def __init__(self, directory:str, idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False) -> None:
|
897
|
+
def __init__(self, directory:str, idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False, TypeObj = Bridge) -> None:
|
898
|
+
|
879
899
|
super().__init__(idx, plotted, mapviewer, need_for_wx)
|
880
900
|
|
881
901
|
self.myelts = {}
|
@@ -886,15 +906,42 @@ class Bridges(Element_To_Draw):
|
|
886
906
|
|
887
907
|
self.keys_values = None
|
888
908
|
|
909
|
+
self._directory = directory
|
910
|
+
|
911
|
+
self.xmin = 0.
|
912
|
+
self.xmax = 0.
|
913
|
+
self.ymin = 0.
|
914
|
+
self.ymax = 0.
|
915
|
+
|
889
916
|
if exists(directory):
|
890
917
|
for filename in scandir(directory):
|
891
918
|
# checking if it is a file
|
892
919
|
if filename.is_file():
|
893
920
|
if filename.path.endswith('.vec') or filename.path.endswith('.vecz'):
|
894
|
-
self.myelts[filename] =
|
921
|
+
self.myelts[filename] = TypeObj(filename.path, idx=Path(filename).stem, parent=mapviewer)
|
895
922
|
|
896
923
|
self.find_minmax(True)
|
897
924
|
|
925
|
+
def addnew(self, idx: str = ''):
|
926
|
+
"""
|
927
|
+
Add a new bridge
|
928
|
+
"""
|
929
|
+
|
930
|
+
if idx in self.myelts.keys():
|
931
|
+
logging.warning(_('Bridge {} already exists'.format(idx)))
|
932
|
+
logging.warning(_('Please choose another name'))
|
933
|
+
return
|
934
|
+
|
935
|
+
newbridge = Bridge.new_bridge(idx)
|
936
|
+
|
937
|
+
newbridge.filename = self._directory + '/' + idx + '.vecz'
|
938
|
+
|
939
|
+
self.myelts[idx] = newbridge
|
940
|
+
|
941
|
+
self.find_minmax(True)
|
942
|
+
|
943
|
+
return newbridge
|
944
|
+
|
898
945
|
def plot(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
|
899
946
|
"""
|
900
947
|
Plot elements inside PyDraw
|
@@ -1449,8 +1496,14 @@ class Bridges(Element_To_Draw):
|
|
1449
1496
|
|
1450
1497
|
class Weir(Bridge):
|
1451
1498
|
|
1452
|
-
def __init__(self, myfile='', ds: float = 5,
|
1453
|
-
|
1499
|
+
def __init__(self, myfile='', ds: float = 5,
|
1500
|
+
ox: float = 0, oy: float = 0,
|
1501
|
+
tx: float = 0, ty: float = 0,
|
1502
|
+
parent=None, is2D=True,
|
1503
|
+
idx='',
|
1504
|
+
wx_exists: bool = False):
|
1505
|
+
|
1506
|
+
super().__init__(myfile, ds, ox, oy, tx, ty, parent, is2D, idx, wx_exists)
|
1454
1507
|
|
1455
1508
|
def colorize(self):
|
1456
1509
|
self.centralpart.myprop.color = getIfromRGB((102,102,255))
|
@@ -1459,8 +1512,12 @@ class Weir(Bridge):
|
|
1459
1512
|
|
1460
1513
|
class Weirs(Bridges):
|
1461
1514
|
|
1462
|
-
def __init__(self, directory: str,
|
1463
|
-
|
1515
|
+
def __init__(self, directory: str,
|
1516
|
+
idx:str='', plotted:bool=True,
|
1517
|
+
mapviewer=None, need_for_wx: bool = False,
|
1518
|
+
TypeObj = Weir) -> None:
|
1519
|
+
|
1520
|
+
super().__init__(directory, idx, plotted, mapviewer, need_for_wx= need_for_wx, TypeObj=TypeObj)
|
1464
1521
|
|
1465
1522
|
def _get_list(self, site) -> list[Weir]:
|
1466
1523
|
if site is None:
|
@@ -1275,6 +1275,12 @@ class Config_Manager_2D_GPU:
|
|
1275
1275
|
# check for infiltration
|
1276
1276
|
if exists(dir / '__infiltration.tif'):
|
1277
1277
|
infiltration = WolfArray(str(dir / '__infiltration.tif'))
|
1278
|
+
|
1279
|
+
if infiltration.nullvalue != 0:
|
1280
|
+
infiltration.nullvalue = 0
|
1281
|
+
infiltration.set_nullvalue_in_mask()
|
1282
|
+
logging.warning(_('Bad null value for infiltration ! -- Set to 0 !'))
|
1283
|
+
|
1278
1284
|
if infiltration.wolftype != WOLF_ARRAY_FULL_INTEGER:
|
1279
1285
|
logging.error(_('Infiltration .tif must be a full integer array ! -- The array will be ignored !'))
|
1280
1286
|
infiltration = WolfArray(srcheader=bat.get_header(), whichtype= WOLF_ARRAY_FULL_INTEGER)
|
@@ -1282,6 +1288,7 @@ class Config_Manager_2D_GPU:
|
|
1282
1288
|
else:
|
1283
1289
|
infiltration = WolfArray(srcheader=bat.get_header(), whichtype= WOLF_ARRAY_FULL_INTEGER)
|
1284
1290
|
infiltration.array.data[:,:] = 0
|
1291
|
+
infiltration.nullvalue = 0
|
1285
1292
|
|
1286
1293
|
# check for roof
|
1287
1294
|
if exists(dir / '__roof.tif'):
|
wolfhece/wolf_array.py
CHANGED
@@ -2623,8 +2623,13 @@ class Ops_Array(wx.Frame):
|
|
2623
2623
|
def OnContourList(self, event:wx.MouseEvent):
|
2624
2624
|
""" Create contour - list of values """
|
2625
2625
|
|
2626
|
+
if self.parentarray is None:
|
2627
|
+
logging.error('No parent array')
|
2628
|
+
logging.info('Nothing to do ! -- Check the routine OnContourList if needed !')
|
2629
|
+
return
|
2630
|
+
|
2626
2631
|
with wx.TextEntryDialog(None, 'List of specific values separated by comma or tuple (min;max;step)\n\nValues in tuples must be separated by ";"',
|
2627
|
-
'List of values', f'{self.parentarray.
|
2632
|
+
'List of values', f'{self.parentarray.zmin}, {self.parentarray.zmax}') as dlg:
|
2628
2633
|
|
2629
2634
|
if dlg.ShowModal() == wx.ID_OK:
|
2630
2635
|
txt = dlg.GetValue()
|
@@ -5483,6 +5488,30 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
5483
5488
|
|
5484
5489
|
return dtype
|
5485
5490
|
|
5491
|
+
@property
|
5492
|
+
def zmin(self):
|
5493
|
+
""" Return the minimum value of the masked array """
|
5494
|
+
|
5495
|
+
return np.ma.min(self.array)
|
5496
|
+
|
5497
|
+
@property
|
5498
|
+
def zmax(self):
|
5499
|
+
""" Return the maximum value of the masked array """
|
5500
|
+
|
5501
|
+
return np.ma.max(self.array)
|
5502
|
+
|
5503
|
+
@property
|
5504
|
+
def zmin_global(self):
|
5505
|
+
""" Return the minimum value of the array -- all data (masked or not) """
|
5506
|
+
|
5507
|
+
return np.min(self.array.data)
|
5508
|
+
|
5509
|
+
@property
|
5510
|
+
def zmax_global(self):
|
5511
|
+
""" Return the maximum value of the array -- all data (masked or not) """
|
5512
|
+
|
5513
|
+
return np.max(self.array.data)
|
5514
|
+
|
5486
5515
|
def loadnap_and_apply(self):
|
5487
5516
|
"""
|
5488
5517
|
Load a mask file (aka nap) and apply it to the array;
|
@@ -9498,6 +9527,45 @@ class WolfArrayMB(WolfArray):
|
|
9498
9527
|
if self.myblocks is None:
|
9499
9528
|
self.myblocks = {}
|
9500
9529
|
|
9530
|
+
@property
|
9531
|
+
def zmin(self) -> float:
|
9532
|
+
""" Return the minimum value of the array """
|
9533
|
+
|
9534
|
+
zmin = np.min([curblock.zmin for curblock in self.myblocks.values()])
|
9535
|
+
|
9536
|
+
return zmin
|
9537
|
+
|
9538
|
+
@property
|
9539
|
+
def zmax(self) -> float:
|
9540
|
+
""" Return the maximum value of the array """
|
9541
|
+
|
9542
|
+
zmax = np.max([curblock.zmax for curblock in self.myblocks.values()])
|
9543
|
+
|
9544
|
+
return zmax
|
9545
|
+
|
9546
|
+
@property
|
9547
|
+
def zmin_global(self) -> float:
|
9548
|
+
""" Return the minimum value of the array """
|
9549
|
+
|
9550
|
+
zmin = np.min([curblock.zmin_global for curblock in self.myblocks.values()])
|
9551
|
+
|
9552
|
+
return zmin
|
9553
|
+
|
9554
|
+
@property
|
9555
|
+
def zmax_global(self) -> float:
|
9556
|
+
""" Return the maximum value of the array """
|
9557
|
+
|
9558
|
+
zmax = np.max([curblock.zmax_global for curblock in self.myblocks.values()])
|
9559
|
+
|
9560
|
+
return zmax
|
9561
|
+
|
9562
|
+
|
9563
|
+
def contour(self, levels:Union[int, list[float]] = 10) -> Zones:
|
9564
|
+
""" Compute contour lines """
|
9565
|
+
|
9566
|
+
tmp = self.as_WolfArray()
|
9567
|
+
return tmp.contour(levels)
|
9568
|
+
|
9501
9569
|
def extract_selection(self):
|
9502
9570
|
""" Extract the current selection """
|
9503
9571
|
|
@@ -9522,7 +9590,6 @@ class WolfArrayMB(WolfArray):
|
|
9522
9590
|
if mapviewer is not None:
|
9523
9591
|
mapviewer.add_object('array', newobj = newarray, ToCheck = True, id = self.idx + '_extracted')
|
9524
9592
|
|
9525
|
-
|
9526
9593
|
@property
|
9527
9594
|
def nullvalue(self) -> float:
|
9528
9595
|
""" Return the null value """
|
@@ -5,24 +5,24 @@ wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,6965
|
|
5
5
|
wolfhece/Lidar2002.py,sha256=bX-nIzdpjD7rOfEgJpTeaW6rIdAXwDp_z4YTM9CgANY,6068
|
6
6
|
wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
|
7
7
|
wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
|
8
|
-
wolfhece/PyConfig.py,sha256=
|
8
|
+
wolfhece/PyConfig.py,sha256=gyl1MesSJZaVpC1XtvD78PpnE1VD3hGM3HPQXTJ3eJg,12963
|
9
9
|
wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
|
10
|
-
wolfhece/PyDraw.py,sha256=
|
11
|
-
wolfhece/PyGui.py,sha256=
|
10
|
+
wolfhece/PyDraw.py,sha256=_pPWREAVVWb7pU7SyeZBzWelTcZtCI5L0TtSPBcoMQw,509977
|
11
|
+
wolfhece/PyGui.py,sha256=RlrLoCBdbiMnR4FSUD1yuy8fs--hxUl_zPu7zuduCLE,144706
|
12
12
|
wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
|
13
13
|
wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
|
14
|
-
wolfhece/PyPalette.py,sha256
|
14
|
+
wolfhece/PyPalette.py,sha256=Ayz0lqOPfUgjPpqvxragBSd7v47Z79roEy7thwVlH7M,32370
|
15
15
|
wolfhece/PyParams.py,sha256=GRp1zZDUJIjs8PtjwScDdov-E9orr1JWOntDazN5AOw,98577
|
16
16
|
wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
|
17
17
|
wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
|
18
18
|
wolfhece/PyVertex.py,sha256=qFf8UPvkbwumRRfjpBcgZmqpHtcEtIEoUh30rWFF-lQ,45205
|
19
|
-
wolfhece/PyVertexvectors.py,sha256=
|
19
|
+
wolfhece/PyVertexvectors.py,sha256=NILb6FUMQLIiA-tdMCnW2RXmqToBQ5Y0DiXf5Od5Fy4,287908
|
20
20
|
wolfhece/PyWMS.py,sha256=WmOzHP02wVcB5RGJAlENL_NzF9rYfvLxslRFyxaEt1Q,6615
|
21
21
|
wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
|
22
22
|
wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
|
23
23
|
wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
|
24
24
|
wolfhece/ReadDataDCENN.py,sha256=vm-I4YMryvRldjXTvRYEUCxZsjb_tM7U9yj6OaPyD0k,1538
|
25
|
-
wolfhece/Results2DGPU.py,sha256=
|
25
|
+
wolfhece/Results2DGPU.py,sha256=WC-nerHaKVmR6XXst5RClp6M3heQ0yjTu5VupF-vXew,25896
|
26
26
|
wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
|
27
27
|
wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
|
28
28
|
wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
|
@@ -42,7 +42,7 @@ wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,215
|
|
42
42
|
wolfhece/picc.py,sha256=0X_pzhSBoVxgtTfJ37pkOQO3Vbr9yurPaD1nVeurx8k,8531
|
43
43
|
wolfhece/pidcontroller.py,sha256=PHYenOdzfyPK2pXAhyRolCxMSMRd2AFza0eVMafpPHk,5205
|
44
44
|
wolfhece/pyGui1D.py,sha256=9g7OS3YiKsqy--6y0cBD7x2gaqTTYFXWkxImpgnTA20,121937
|
45
|
-
wolfhece/pybridges.py,sha256=
|
45
|
+
wolfhece/pybridges.py,sha256=FI17lGHzd3DGhkOAXgvJEOyvj4vBeGBTBO6RJRc4f7o,65761
|
46
46
|
wolfhece/pydike.py,sha256=hPBQsmSTW4QAp1wcOzb-TL3L7eet2WT1sJx2q-WNQ-Q,2241
|
47
47
|
wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
|
48
48
|
wolfhece/pypolygons_scen.py,sha256=vMfAKXKrW6vKR7l9Fl2hEt-jihLwIiMur7qNTNfwRg4,46101
|
@@ -52,7 +52,7 @@ wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
|
|
52
52
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
53
53
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
54
54
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
55
|
-
wolfhece/wolf_array.py,sha256=
|
55
|
+
wolfhece/wolf_array.py,sha256=tmNeSS0MgZCxoxqHWb3ZW-HdeZCbWYDTq4C80WG7nWs,427777
|
56
56
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
57
57
|
wolfhece/wolf_texture.py,sha256=ecoXXmmcLuyG1oPqU2dB_k03qMTCLTVQoSq1xi1EalU,17359
|
58
58
|
wolfhece/wolf_tiles.py,sha256=-YfTelZjpfgqZXd1yMsGFajz_oDISXkC0zB5fW-8MBY,10486
|
@@ -80,7 +80,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
|
|
80
80
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
81
81
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
82
82
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
83
|
-
wolfhece/apps/version.py,sha256=
|
83
|
+
wolfhece/apps/version.py,sha256=ftLcojZwQEigCIBvMIO3EoocbdCG04g8wDxbBkyoCvI,389
|
84
84
|
wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
|
85
85
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
86
86
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -270,7 +270,7 @@ wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,
|
|
270
270
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
271
271
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
272
272
|
wolfhece/scenario/check_scenario.py,sha256=d-LWa_FxmPxTSc_H1lDHwqLB6TCqj1IUrRJhatfPMMA,5623
|
273
|
-
wolfhece/scenario/config_manager.py,sha256=
|
273
|
+
wolfhece/scenario/config_manager.py,sha256=pB6ofxjdWu06ASeJbK7GKpcq-wwjaGbrpIsQ0ZITMaI,107010
|
274
274
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
275
275
|
wolfhece/scenario/update_void.py,sha256=zb4LBX7uQCJykZWOKPQMTDtzoWkPRJqlx2qWMPvCnw8,8755
|
276
276
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -293,8 +293,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
293
293
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
294
294
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
295
295
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
296
|
-
wolfhece-2.1.
|
297
|
-
wolfhece-2.1.
|
298
|
-
wolfhece-2.1.
|
299
|
-
wolfhece-2.1.
|
300
|
-
wolfhece-2.1.
|
296
|
+
wolfhece-2.1.116.dist-info/METADATA,sha256=x8r9B3T67NwRMVy1TAKiyCVP2e-oDsISGVdL2CmJO3I,2587
|
297
|
+
wolfhece-2.1.116.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
298
|
+
wolfhece-2.1.116.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
299
|
+
wolfhece-2.1.116.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
300
|
+
wolfhece-2.1.116.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|