wolfhece 2.1.85__py3-none-any.whl → 2.1.86__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/PyVertexvectors.py +317 -19
- wolfhece/apps/version.py +1 -1
- wolfhece/irm_qdf.py +314 -65
- wolfhece/pypolygons_scen.py +130 -46
- wolfhece/wolfresults_2D.py +1 -1
- {wolfhece-2.1.85.dist-info → wolfhece-2.1.86.dist-info}/METADATA +1 -1
- {wolfhece-2.1.85.dist-info → wolfhece-2.1.86.dist-info}/RECORD +10 -10
- {wolfhece-2.1.85.dist-info → wolfhece-2.1.86.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.85.dist-info → wolfhece-2.1.86.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.85.dist-info → wolfhece-2.1.86.dist-info}/top_level.txt +0 -0
wolfhece/pypolygons_scen.py
CHANGED
@@ -37,17 +37,17 @@ class ZipFileWrapper(ZipFile):
|
|
37
37
|
return super().read(name="data")
|
38
38
|
|
39
39
|
class Extracting_Zones(Zones):
|
40
|
-
"""
|
40
|
+
"""
|
41
41
|
Classe permettant de récupérer les valeurs à l'intérieur des polygones
|
42
42
|
définis dans plusieurs zones.
|
43
43
|
|
44
44
|
Ces polygones ne sont pas nécessairement ordonnés ou relatifs au lit mineur.
|
45
|
-
|
45
|
+
|
46
46
|
"""
|
47
47
|
|
48
48
|
def __init__(self, filename='', ox: float = 0, oy: float = 0, tx: float = 0, ty: float = 0, parent=None, is2D=True, idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False) -> None:
|
49
49
|
super().__init__(filename, ox, oy, tx, ty, parent, is2D, idx, plotted, mapviewer, need_for_wx)
|
50
|
-
|
50
|
+
|
51
51
|
self.parts:dict = None
|
52
52
|
self.linked:Union[dict, list] = None
|
53
53
|
|
@@ -67,7 +67,7 @@ class Extracting_Zones(Zones):
|
|
67
67
|
"""
|
68
68
|
Serialize the values in a file
|
69
69
|
"""
|
70
|
-
|
70
|
+
|
71
71
|
import json
|
72
72
|
from codecs import getwriter
|
73
73
|
from typing import IO
|
@@ -79,13 +79,13 @@ class Extracting_Zones(Zones):
|
|
79
79
|
elif isinstance(obj, np.floating):
|
80
80
|
return float(obj)
|
81
81
|
elif isinstance(obj, np.ndarray):
|
82
|
-
return obj.tolist()
|
82
|
+
return obj.tolist()
|
83
83
|
elif obj == Wolfresults_2D:
|
84
84
|
return 'CPU'
|
85
85
|
elif obj == wolfres2DGPU:
|
86
|
-
return 'GPU'
|
87
|
-
|
88
|
-
return json.JSONEncoder.default(self, obj)
|
86
|
+
return 'GPU'
|
87
|
+
|
88
|
+
return json.JSONEncoder.default(self, obj)
|
89
89
|
|
90
90
|
def _json_dump_bytes(fp: IO, obj):
|
91
91
|
StreamWriter = getwriter("utf-8")
|
@@ -106,7 +106,7 @@ class Extracting_Zones(Zones):
|
|
106
106
|
"""
|
107
107
|
Deserialize the values from a file
|
108
108
|
"""
|
109
|
-
|
109
|
+
|
110
110
|
import json
|
111
111
|
from codecs import getwriter
|
112
112
|
from typing import IO
|
@@ -141,10 +141,10 @@ class Extracting_Zones(Zones):
|
|
141
141
|
self.parts[cuzone][curproj][curpoly] = {}
|
142
142
|
for curgroup, curarray in curval.items():
|
143
143
|
locdict = self.parts[cuzone][curproj][curpoly][curgroup] = {}
|
144
|
-
|
144
|
+
|
145
145
|
for cursim, curnparray in curarray.items():
|
146
146
|
locdict[cursim] = np.array([np.array([ tuple(lst1), np.array(lst2, dtype= np.int32)], dtype=object ) for lst1, lst2 in curnparray], dtype=object)
|
147
|
-
|
147
|
+
|
148
148
|
elif isinstance(tmp_linked, list):
|
149
149
|
self.linked = [(curlink[0], Wolfresults_2D if curlink[1] == 'CPU' else wolfres2DGPU) for curlink in tmp_linked]
|
150
150
|
|
@@ -158,7 +158,7 @@ class Extracting_Zones(Zones):
|
|
158
158
|
self.parts[cuzone][curpoly] = {}
|
159
159
|
for curgroup, curarray in curval.items():
|
160
160
|
locdict = self.parts[cuzone][curpoly][curgroup] = {}
|
161
|
-
|
161
|
+
|
162
162
|
for cursim, curnparray in curarray.items():
|
163
163
|
locdict[cursim] = np.array([np.array([ tuple(lst1), np.array(lst2, dtype= np.int32)], dtype=object ) for lst1, lst2 in curnparray], dtype=object)
|
164
164
|
|
@@ -192,8 +192,8 @@ class Extracting_Zones(Zones):
|
|
192
192
|
locparts = self.parts[curzone.myname] = {}
|
193
193
|
for curkey, curgroup in linked_arrays.items():
|
194
194
|
locparts[curkey] = curzone.get_all_values_linked_polygon(curgroup, key_idx_names='name', getxy=True)
|
195
|
-
|
196
|
-
elif isinstance(linked_arrays, list):
|
195
|
+
|
196
|
+
elif isinstance(linked_arrays, list):
|
197
197
|
self.parts[curzone.myname] = curzone.get_all_values_linked_polygon(linked_arrays, key_idx_names='name', getxy=True)
|
198
198
|
|
199
199
|
def _get_heads(self,
|
@@ -373,14 +373,18 @@ class Polygons_Analyze(Zones):
|
|
373
373
|
Classe permettant de récupérer les valeurs à l'intérieur des polygones
|
374
374
|
définis dans la dernière zone d'une fichier .vecz.
|
375
375
|
|
376
|
-
Ce fichier est typiquement le résultat de la création de polygones
|
376
|
+
Ce fichier est typiquement le résultat de la création de polygones
|
377
377
|
sur base de parallèles via l'interface graphique.
|
378
378
|
|
379
379
|
Utile notamment dans l'analyse de modélisations 2D (CPU et/ou GPU).
|
380
380
|
|
381
381
|
"""
|
382
382
|
|
383
|
-
def __init__(self, myfile='', ds:float=5.,
|
383
|
+
def __init__(self, myfile='', ds:float=5.,
|
384
|
+
ox: float = 0, oy: float = 0,
|
385
|
+
tx: float = 0, ty: float = 0,
|
386
|
+
parent=None, is2D=True, wx_exists:bool = False):
|
387
|
+
|
384
388
|
super().__init__(myfile, ox, oy, tx, ty, parent, is2D, wx_exists)
|
385
389
|
|
386
390
|
self.myname = splitext(basename(myfile))[0]
|
@@ -393,7 +397,7 @@ class Polygons_Analyze(Zones):
|
|
393
397
|
|
394
398
|
self.polygons_zone:zone
|
395
399
|
self.polygons_zone = self.get_zone(-1)
|
396
|
-
|
400
|
+
|
397
401
|
self.polygons_curvi = {}
|
398
402
|
for curvert in self.polygons_zone.myvectors:
|
399
403
|
self.polygons_curvi[curvert.myname] = curvert.myvertices[0].z
|
@@ -419,7 +423,7 @@ class Polygons_Analyze(Zones):
|
|
419
423
|
"""
|
420
424
|
Serialize the values in a file
|
421
425
|
"""
|
422
|
-
|
426
|
+
|
423
427
|
import json
|
424
428
|
from codecs import getwriter
|
425
429
|
from typing import IO
|
@@ -431,13 +435,13 @@ class Polygons_Analyze(Zones):
|
|
431
435
|
elif isinstance(obj, np.floating):
|
432
436
|
return float(obj)
|
433
437
|
elif isinstance(obj, np.ndarray):
|
434
|
-
return obj.tolist()
|
438
|
+
return obj.tolist()
|
435
439
|
elif obj == Wolfresults_2D:
|
436
440
|
return 'CPU'
|
437
441
|
elif obj == wolfres2DGPU:
|
438
|
-
return 'GPU'
|
439
|
-
|
440
|
-
return json.JSONEncoder.default(self, obj)
|
442
|
+
return 'GPU'
|
443
|
+
|
444
|
+
return json.JSONEncoder.default(self, obj)
|
441
445
|
|
442
446
|
def _json_dump_bytes(fp: IO, obj):
|
443
447
|
StreamWriter = getwriter("utf-8")
|
@@ -458,7 +462,7 @@ class Polygons_Analyze(Zones):
|
|
458
462
|
"""
|
459
463
|
Deserialize the values from a file
|
460
464
|
"""
|
461
|
-
|
465
|
+
|
462
466
|
import json
|
463
467
|
from codecs import getwriter
|
464
468
|
from typing import IO
|
@@ -489,10 +493,10 @@ class Polygons_Analyze(Zones):
|
|
489
493
|
self.river_values[curproj][curpoly] = {}
|
490
494
|
for curgroup, curarray in curval.items():
|
491
495
|
locdict = self.river_values[curproj][curpoly][curgroup] = {}
|
492
|
-
|
496
|
+
|
493
497
|
for cursim, curnparray in curarray.items():
|
494
498
|
locdict[cursim] = np.array([np.array([ tuple(lst1), np.array(lst2, dtype= np.int32)], dtype=object ) for lst1, lst2 in curnparray], dtype=object)
|
495
|
-
|
499
|
+
|
496
500
|
elif isinstance(tmp_linked, list):
|
497
501
|
self.linked = [(curlink[0], Wolfresults_2D if curlink[1] == 'CPU' else wolfres2DGPU) for curlink in tmp_linked]
|
498
502
|
|
@@ -502,21 +506,26 @@ class Polygons_Analyze(Zones):
|
|
502
506
|
self.river_values[curpoly] = {}
|
503
507
|
for curgroup, curarray in curval.items():
|
504
508
|
locdict = self.river_values[curpoly][curgroup] = {}
|
505
|
-
|
509
|
+
|
506
510
|
for cursim, curnparray in curarray.items():
|
507
511
|
locdict[cursim] = np.array([np.array([ tuple(lst1), np.array(lst2, dtype= np.int32)], dtype=object ) for lst1, lst2 in curnparray], dtype=object)
|
508
512
|
|
509
513
|
|
510
|
-
def compute_distance(self, poly:LineString):
|
514
|
+
def compute_distance(self, poly:LineString | vector):
|
511
515
|
"""
|
512
516
|
Compute the curvilinear distance along a support polyline
|
517
|
+
|
518
|
+
:param poly: vector or LineString Shapely object
|
513
519
|
"""
|
514
520
|
|
521
|
+
if isinstance(poly, vector):
|
522
|
+
poly = poly.asshapely_ls()
|
523
|
+
|
515
524
|
for curvert in self.polygons_zone.myvectors:
|
516
525
|
# Centre du polygone
|
517
526
|
centerx = np.sum(np.asarray([cur.x for cur in curvert.myvertices[:4]]))/4.
|
518
527
|
centery = np.sum(np.asarray([cur.y for cur in curvert.myvertices[:4]]))/4.
|
519
|
-
|
528
|
+
|
520
529
|
self.polygons_curvi[curvert.myname] = poly.project(Point([centerx,centery]))
|
521
530
|
|
522
531
|
def find_values_inside_parts(self, linked_arrays:Union[dict,list]):
|
@@ -557,9 +566,11 @@ class Polygons_Analyze(Zones):
|
|
557
566
|
|
558
567
|
self.river_values = curzone.get_all_values_linked_polygon(linked_arrays, key_idx_names='name')
|
559
568
|
|
560
|
-
def _get_river_heads(self,
|
561
|
-
|
562
|
-
|
569
|
+
def _get_river_heads(self, which_group= None):
|
570
|
+
"""Compute Head
|
571
|
+
|
572
|
+
:param which_group: group to get
|
573
|
+
"""
|
563
574
|
|
564
575
|
head = {}
|
565
576
|
|
@@ -580,10 +591,19 @@ class Polygons_Analyze(Zones):
|
|
580
591
|
"""
|
581
592
|
Get values for the river polygons
|
582
593
|
|
583
|
-
La donnée retournée est un dictionnaire
|
594
|
+
La donnée retournée est un dictionnaire
|
595
|
+
--> dépend du typage de "self.linked" (cf "find_values_inside_parts)" pour plus d'infos)
|
584
596
|
|
585
|
-
Soit il n'y a qu'un projet à traiter
|
586
|
-
|
597
|
+
Soit il n'y a qu'un projet à traiter
|
598
|
+
--> le dictionnaire contient une entrée pour chaque polygone et
|
599
|
+
les différentes valeurs pour chaque matrice/simulation du projet dans chaque polygone
|
600
|
+
|
601
|
+
Soit il y a plusiuers projets à traiter
|
602
|
+
--> le dictionnaire contient autant d'entrées que de projet et
|
603
|
+
chaque sous-dictionnaire reprend les différentes valeurs comme ci-dessus
|
604
|
+
|
605
|
+
:param which_value: value to get
|
606
|
+
:param which_group: group to get
|
587
607
|
"""
|
588
608
|
|
589
609
|
if self.river_values is None:
|
@@ -653,10 +673,12 @@ class Polygons_Analyze(Zones):
|
|
653
673
|
which_value:Union[stored_values_unk,stored_values_pos],
|
654
674
|
which_group=None,
|
655
675
|
operator:operators=operators.MEDIAN) -> dict:
|
656
|
-
"""
|
657
|
-
Get values for the river polygons with an operator
|
658
|
-
|
659
|
-
|
676
|
+
"""
|
677
|
+
Get values for the river polygons with an operator
|
678
|
+
|
679
|
+
:param which_value: value to get
|
680
|
+
:param which_group: group to get
|
681
|
+
:param operator: MEDIAN, MIN, MAX, PERCENTILE95, PERCENTILE5, ALL
|
660
682
|
"""
|
661
683
|
|
662
684
|
def extract_info(vals):
|
@@ -695,12 +717,41 @@ class Polygons_Analyze(Zones):
|
|
695
717
|
|
696
718
|
return vals_ret
|
697
719
|
|
720
|
+
def list_groups(self):
|
721
|
+
""" List the groups of the river polygons """
|
722
|
+
|
723
|
+
return list(self.river_values.keys())
|
724
|
+
|
725
|
+
def list_sims(self, which_group=None):
|
726
|
+
""" List the sims for a specific group
|
727
|
+
or for all the groups of the river polygons """
|
728
|
+
|
729
|
+
if which_group is not None:
|
730
|
+
if which_group in self.river_values.keys():
|
731
|
+
return list(self.river_values[which_group].keys())
|
732
|
+
else:
|
733
|
+
logging.error(_('Group {0} not found').format(which_group))
|
734
|
+
return []
|
735
|
+
else:
|
736
|
+
ret = {}
|
737
|
+
for curgroup, curdict in self.river_values.items():
|
738
|
+
first_poly = curdict[list(curdict.keys())[0]]
|
739
|
+
values_dict = first_poly['values']
|
740
|
+
ret[curgroup] = list(values_dict.keys())
|
741
|
+
return ret
|
742
|
+
|
698
743
|
def get_s_values(self,
|
699
744
|
which_value:Union[stored_values_unk,stored_values_pos]=stored_values_unk.WATERLEVEL,
|
700
745
|
which_group:str=None,
|
701
746
|
which_sim:str=None,
|
702
747
|
operator:operators=operators.MEDIAN):
|
703
|
-
""" Get the values of the river polygons for a specific simulation
|
748
|
+
""" Get the values of the river polygons for a specific simulation
|
749
|
+
|
750
|
+
:param which_value: value to get
|
751
|
+
:param which_group: group to get
|
752
|
+
:param which_sim: simulation to get
|
753
|
+
:param operator: operator to use
|
754
|
+
"""
|
704
755
|
|
705
756
|
s=[]
|
706
757
|
val=[]
|
@@ -717,10 +768,10 @@ class Polygons_Analyze(Zones):
|
|
717
768
|
|
718
769
|
# Séparation des listes triées
|
719
770
|
s, val = zip(*ret)
|
720
|
-
|
771
|
+
|
721
772
|
return s, val
|
722
773
|
|
723
|
-
|
774
|
+
|
724
775
|
def plot_unk(self,
|
725
776
|
figax = None,
|
726
777
|
which_value:Union[stored_values_unk,stored_values_pos]=stored_values_unk.WATERLEVEL,
|
@@ -729,7 +780,16 @@ class Polygons_Analyze(Zones):
|
|
729
780
|
options:dict=None,
|
730
781
|
label=True,
|
731
782
|
show=False):
|
732
|
-
""" Plot the values of the river polygons
|
783
|
+
""" Plot the values of the river polygons
|
784
|
+
|
785
|
+
:param figax: tuple (fig, ax) for the plot
|
786
|
+
:param which_value: value to plot
|
787
|
+
:param which_group: group to plot
|
788
|
+
:param operator: operator to use
|
789
|
+
:param options: options for the plot
|
790
|
+
:param label: show the labels or not
|
791
|
+
:param show: show the plot or not
|
792
|
+
"""
|
733
793
|
|
734
794
|
if figax is None:
|
735
795
|
fig,ax = plt.subplots(1,1)
|
@@ -810,7 +870,13 @@ class Polygons_Analyze(Zones):
|
|
810
870
|
which_group=None,
|
811
871
|
operator:operators=operators.MEDIAN,
|
812
872
|
show=False):
|
813
|
-
""" Plot the waterline
|
873
|
+
""" Plot the waterline
|
874
|
+
|
875
|
+
:param figax: tuple (fig, ax) for the plot
|
876
|
+
:param which_group: group to plot
|
877
|
+
:param operator: operator to use
|
878
|
+
:param show: show the plot or not
|
879
|
+
"""
|
814
880
|
|
815
881
|
fig,ax = self.plot_unk(figax, stored_values_unk.TOPOGRAPHY, which_group, operator, options={'color':'black', 'linewidth':2}, label=False, show=False)
|
816
882
|
figax=(fig,ax)
|
@@ -830,7 +896,13 @@ class Polygons_Analyze(Zones):
|
|
830
896
|
which_group=None,
|
831
897
|
operator:operators=operators.MEDIAN,
|
832
898
|
show=False):
|
833
|
-
""" Plot the bed elevation
|
899
|
+
""" Plot the bed elevation
|
900
|
+
|
901
|
+
:param figax: tuple (fig, ax) for the plot
|
902
|
+
:param which_group: group to plot
|
903
|
+
:param operator: operator to use
|
904
|
+
:param show: show the plot or not
|
905
|
+
"""
|
834
906
|
|
835
907
|
fig,ax = self.plot_unk(figax, stored_values_unk.TOPOGRAPHY, which_group, operator, options={'color':'black', 'linewidth':2}, label=False, show=False)
|
836
908
|
|
@@ -847,7 +919,13 @@ class Polygons_Analyze(Zones):
|
|
847
919
|
which_group=None,
|
848
920
|
operator:operators=operators.MEDIAN,
|
849
921
|
show=False):
|
850
|
-
""" Plot the water stage /water level
|
922
|
+
""" Plot the water stage /water level
|
923
|
+
|
924
|
+
:param figax: tuple (fig, ax) for the plot
|
925
|
+
:param which_group: group to plot
|
926
|
+
:param operator: operator to use
|
927
|
+
:param show: show the plot or not
|
928
|
+
"""
|
851
929
|
|
852
930
|
fig,ax = self.plot_unk(figax, stored_values_unk.WATERLEVEL, which_group, operator, options={'color':'blue', 'linewidth':2}, show=False)
|
853
931
|
|
@@ -864,7 +942,13 @@ class Polygons_Analyze(Zones):
|
|
864
942
|
which_group=None,
|
865
943
|
operator:operators=operators.MEDIAN,
|
866
944
|
show=False):
|
867
|
-
""" Plot the water head
|
945
|
+
""" Plot the water head
|
946
|
+
|
947
|
+
:param figax: tuple (fig, ax) for the plot
|
948
|
+
:param which_group: group to plot
|
949
|
+
:param operator: operator to use
|
950
|
+
:param show: show the plot or not
|
951
|
+
"""
|
868
952
|
|
869
953
|
fig,ax = self.plot_unk(figax, stored_values_unk.HEAD, which_group, operator, options={'color':'blue', 'linewidth':2}, show=False)
|
870
954
|
|
wolfhece/wolfresults_2D.py
CHANGED
@@ -3648,7 +3648,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
3648
3648
|
#FIXME : rename 'x_or_y' to be more explicit
|
3649
3649
|
def plot_q(self,
|
3650
3650
|
vect:Union[vector, list[vector]],
|
3651
|
-
x_or_y:Union[str, list[str]] = '
|
3651
|
+
x_or_y:Union[str, list[str]] = 'border',
|
3652
3652
|
toshow=False,
|
3653
3653
|
absolute=True,
|
3654
3654
|
figax = None):
|
@@ -16,7 +16,7 @@ wolfhece/PyParams.py,sha256=LGt9uBFRVeS0F_kObJw8bPkWFqYSzf5pUTscxVU5Mxo,97725
|
|
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=MtZVjIWIi62QX_oqNosb56xPgjhOGVeGz-XsD82tsNg,40614
|
19
|
-
wolfhece/PyVertexvectors.py,sha256=
|
19
|
+
wolfhece/PyVertexvectors.py,sha256=T1MU1AHJgRISm-euZdFRyLU8u9citTA_PuuT8c6Ilug,248217
|
20
20
|
wolfhece/PyWMS.py,sha256=fyyzm2HFwq8aRwVYHKiBatcZOeKnFi6DWhv4nfscySQ,4602
|
21
21
|
wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
|
22
22
|
wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
|
@@ -33,7 +33,7 @@ wolfhece/friction_law.py,sha256=MtZJLo-pTj3-Fw-w12z1LSgSIDrH-JGR0iD9wer_fpQ,5498
|
|
33
33
|
wolfhece/gpuview.py,sha256=ggFoxBntUjHqsoxwTZQOE-UsbtC8YAIwZD1i3veAe-o,24204
|
34
34
|
wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4465
|
35
35
|
wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
|
36
|
-
wolfhece/irm_qdf.py,sha256=
|
36
|
+
wolfhece/irm_qdf.py,sha256=KyrIk0Gu50Q702EWxRpwKTWI2KGjtHA1l8CL-Y469O0,26394
|
37
37
|
wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
|
38
38
|
wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,21549
|
39
39
|
wolfhece/picc.py,sha256=ueujnw03BQz-nPxKGzfDzZbtruTzvnqd6Gm8lOvBYzw,8802
|
@@ -41,7 +41,7 @@ wolfhece/pyGui1D.py,sha256=9g7OS3YiKsqy--6y0cBD7x2gaqTTYFXWkxImpgnTA20,121937
|
|
41
41
|
wolfhece/pybridges.py,sha256=xbZPuX40c4EKqws4OKNbUVUBPKIzLTbSdYVyrNf_kIE,57418
|
42
42
|
wolfhece/pydike.py,sha256=hPBQsmSTW4QAp1wcOzb-TL3L7eet2WT1sJx2q-WNQ-Q,2241
|
43
43
|
wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
|
44
|
-
wolfhece/pypolygons_scen.py,sha256=
|
44
|
+
wolfhece/pypolygons_scen.py,sha256=C0qxVUsBHWZVkurZV-DI1GMN1J1B-ul93n2fs16UjoI,39718
|
45
45
|
wolfhece/pyshields.py,sha256=7k-qe2EJgr9fJE62jyPmlWQwRj8T0DK4iuMU844ZhYs,23281
|
46
46
|
wolfhece/pyviews.py,sha256=5Hqqo9MRw1eiomYkmc7QywNu1KmEkytLJG-wH_aG38Y,13748
|
47
47
|
wolfhece/pywalous.py,sha256=yRaWJjKckXef1d9D5devP0yFHC9uc6kRV4G5x9PNq9k,18972
|
@@ -54,7 +54,7 @@ wolfhece/wolf_texture.py,sha256=DS5eobLxrq9ljyebYfpMSQPn8shkUAZZVfqrOKN_QUU,1695
|
|
54
54
|
wolfhece/wolf_tiles.py,sha256=2Ho2I20rHRY81KXxjgLOYISdF4OkJ2d6omeY4shDoGI,10386
|
55
55
|
wolfhece/wolf_vrt.py,sha256=89XoDhCJMHiwPQUuOduxtTRKuIa8RDxgNqX65S4xp9M,10569
|
56
56
|
wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
|
57
|
-
wolfhece/wolfresults_2D.py,sha256=
|
57
|
+
wolfhece/wolfresults_2D.py,sha256=5RAvOfO0ua-5hMEdtXKZWznh4NN_q-PLfZdANm7W33M,168478
|
58
58
|
wolfhece/xyz_file.py,sha256=Se4nCPwYAYLSA5i0zsbnZUKoAMAD0mK1FJea5WSZUkk,5755
|
59
59
|
wolfhece/acceptability/Parallels.py,sha256=h4tu3SpC_hR5Hqa68aruxhtAyhs8u666YuZ40_fR5zg,3979
|
60
60
|
wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
|
@@ -74,7 +74,7 @@ wolfhece/apps/curvedigitizer.py,sha256=Yps4bcayzbsz0AoVc_dkSk35dEhhn_esIBy1Ziefg
|
|
74
74
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
75
75
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
76
76
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
77
|
-
wolfhece/apps/version.py,sha256=
|
77
|
+
wolfhece/apps/version.py,sha256=Arx6OoAjqWy_AcCfcpM6PlGGFut5JIMc0Mz3pV3n9Tk,388
|
78
78
|
wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
|
79
79
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
80
80
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -284,8 +284,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
284
284
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
285
285
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
286
286
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
287
|
-
wolfhece-2.1.
|
288
|
-
wolfhece-2.1.
|
289
|
-
wolfhece-2.1.
|
290
|
-
wolfhece-2.1.
|
291
|
-
wolfhece-2.1.
|
287
|
+
wolfhece-2.1.86.dist-info/METADATA,sha256=0_BloYphumWtR3mQkEDD1h8Qi4SHPWB8h9GLNit7ejg,2570
|
288
|
+
wolfhece-2.1.86.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
289
|
+
wolfhece-2.1.86.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
290
|
+
wolfhece-2.1.86.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
291
|
+
wolfhece-2.1.86.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|