wolfhece 2.2.14__py3-none-any.whl → 2.2.16__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/Model1D.py +12 -12
- wolfhece/PyDraw.py +200 -3
- wolfhece/PyGui.py +9 -1
- wolfhece/PyVertexvectors.py +6 -4
- wolfhece/PyWMS.py +633 -2
- wolfhece/__init__.py +1 -1
- wolfhece/apps/version.py +1 -1
- wolfhece/apps/wolf.py +1 -1
- wolfhece/assets/__init__.py +0 -1
- wolfhece/assets/mesh.py +685 -0
- wolfhece/friction_law.py +3 -3
- wolfhece/hydrology/SubBasin.py +154 -154
- wolfhece/hydrometry/kiwis.py +55 -16
- wolfhece/hydrometry/kiwis_wolfgui.py +8 -7
- wolfhece/lazviewer/laz_viewer.py +4 -4
- wolfhece/mesh2d/wolf2dprev.py +23 -0
- wolfhece/pyshields.py +38 -2
- wolfhece/wolf_array.py +19 -16
- wolfhece/wolf_texture.py +74 -13
- wolfhece/wolfresults_2D.py +220 -74
- {wolfhece-2.2.14.dist-info → wolfhece-2.2.16.dist-info}/METADATA +2 -3
- {wolfhece-2.2.14.dist-info → wolfhece-2.2.16.dist-info}/RECORD +25 -24
- {wolfhece-2.2.14.dist-info → wolfhece-2.2.16.dist-info}/WHEEL +1 -1
- {wolfhece-2.2.14.dist-info → wolfhece-2.2.16.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.2.14.dist-info → wolfhece-2.2.16.dist-info}/top_level.txt +0 -0
wolfhece/wolfresults_2D.py
CHANGED
@@ -39,7 +39,7 @@ from .drawing_obj import Element_To_Draw
|
|
39
39
|
from .PyPalette import wolfpalette
|
40
40
|
from .PyTranslate import _
|
41
41
|
from .gpuview import GRID_N, Rectangle, VectorField
|
42
|
-
from .pyshields import get_d_cr, get_d_cr_susp, izbach_d_cr, get_Shields_2D_Manning, get_friction_slope_2D_Manning, get_shear_velocity_2D_Manning
|
42
|
+
from .pyshields import get_d_cr, get_d_cr_susp, izbach_d_cr, get_Shields_2D_Manning, get_friction_slope_2D_Manning, get_shear_velocity_2D_Manning, get_shear_velocity_2D_Colebrook
|
43
43
|
from .pyviews import WolfViews
|
44
44
|
from .mesh2d.wolf2dprev import prev_parameters_simul, blocks_file
|
45
45
|
from .GraphNotebook import PlotPanel
|
@@ -76,58 +76,126 @@ from .wolf_array import WolfArray, getkeyblock, header_wolf, WolfArrayMB, WolfAr
|
|
76
76
|
from .mesh2d import wolf2dprev
|
77
77
|
from .PyVertexvectors import vector, zone, Zones
|
78
78
|
|
79
|
+
from numba import jit, njit
|
79
80
|
|
80
81
|
def outside_domain(val):
|
81
82
|
""" Test if a value is outside the calculated domain """
|
82
83
|
return val[0][0] is np.ma.masked or val[1][0] =='-'
|
83
84
|
|
84
|
-
|
85
|
-
|
85
|
+
@jit(nopython=True, nogil=True, cache=True)
|
86
|
+
def splitting_rule(q_left:float, q_right:float) -> float:
|
87
|
+
""" Ponderation factor - Splitting at border between two nodes
|
88
|
+
|
89
|
+
:return: factor of the left node (0.5 = equal splitting)
|
90
|
+
"""
|
91
|
+
epsilon = 1.e-100
|
92
|
+
prod_q = q_left * q_right # product of the two flows
|
93
|
+
sum_q = q_left + q_right # sum of the two flows
|
94
|
+
if prod_q > 0.:
|
95
|
+
# The 2 flows are in the same direction
|
96
|
+
if q_left > 0.:
|
97
|
+
# left is the upstream node
|
98
|
+
return 1.
|
99
|
+
else:
|
100
|
+
# right is the upstream node
|
101
|
+
return 0.
|
102
|
+
elif prod_q < 0.:
|
103
|
+
# The 2 flows are in opposite direction
|
104
|
+
if q_left > 0.:
|
105
|
+
if sum_q > 0.:
|
106
|
+
# The sum is positive, the left node is the upstream node
|
107
|
+
return 1.
|
108
|
+
elif sum_q < 0.:
|
109
|
+
# The sum is negative, the right node is the upstream node
|
110
|
+
return 0.
|
111
|
+
else:
|
112
|
+
# The sum is null, the flow is centered between the two nodes
|
113
|
+
return 0.5
|
114
|
+
elif q_left < 0.:
|
115
|
+
# CONFLICTING FLOWS
|
116
|
+
return 0.5
|
117
|
+
else:
|
118
|
+
# should not be possible
|
119
|
+
raise ValueError("Splitting rule: q_left is null but product is negative")
|
120
|
+
else:
|
121
|
+
# One flow is null or the product is so small that it is considered as null.
|
122
|
+
# FYI, in the GPU code, we compare to espilon.
|
123
|
+
if q_left>epsilon:
|
124
|
+
# left is the upstream node
|
125
|
+
return 1.
|
126
|
+
elif q_right<-epsilon:
|
127
|
+
# right is the upstream node
|
128
|
+
return 0.
|
129
|
+
else:
|
130
|
+
# The flow is centered between the two nodes
|
131
|
+
return .5
|
86
132
|
|
133
|
+
@jit(nopython=True, nogil=True, cache=True)
|
134
|
+
def q_splitting(q_left:float, q_right:float) -> float:
|
135
|
+
""" Splitting of the normal flow between two nodes """
|
136
|
+
#FIXME : use splitting_rule ?
|
137
|
+
epsilon = 1.e-100
|
87
138
|
prod_q = q_left * q_right
|
88
|
-
sum_q
|
139
|
+
sum_q = q_left + q_right
|
89
140
|
if prod_q > 0.:
|
90
141
|
if q_left > 0.:
|
91
142
|
return q_left
|
92
143
|
else:
|
93
144
|
return q_right
|
94
145
|
elif prod_q < 0.:
|
95
|
-
if
|
96
|
-
|
97
|
-
|
98
|
-
|
146
|
+
if q_left > 0.:
|
147
|
+
if sum_q > 0.:
|
148
|
+
return q_left
|
149
|
+
elif sum_q < 0.:
|
150
|
+
return q_right
|
151
|
+
else:
|
152
|
+
return 0.
|
153
|
+
elif q_left < 0.:
|
154
|
+
# CONFLICTING FLOWS
|
155
|
+
return sum_q / 2.
|
99
156
|
else:
|
100
|
-
|
157
|
+
# should not be possible
|
158
|
+
raise ValueError("Splitting rule: q_left is null but product is negative")
|
101
159
|
else:
|
102
|
-
if q_left
|
103
|
-
|
104
|
-
|
105
|
-
|
160
|
+
if q_left>epsilon:
|
161
|
+
# Left is the upstream node
|
162
|
+
return q_left
|
163
|
+
elif q_right<-epsilon:
|
164
|
+
# right is the upstream node
|
165
|
+
return q_right
|
106
166
|
else:
|
107
167
|
return sum_q / 2.
|
108
168
|
|
109
|
-
|
169
|
+
@jit(nopython=True, nogil=True, cache=True)
|
170
|
+
def u_splitting(q_left:float, q_right:float, h_left:float, h_right:float) -> float:
|
110
171
|
""" Splitting of the normal flow velocity between two nodes """
|
111
|
-
|
172
|
+
#FIXME : use splitting_rule ?
|
173
|
+
epsilon = 1.e-100
|
112
174
|
prod_q = q_left * q_right
|
113
|
-
sum_q
|
175
|
+
sum_q = q_left + q_right
|
114
176
|
if prod_q > 0.:
|
115
177
|
if q_left > 0.:
|
116
178
|
return q_left/h_left
|
117
179
|
else:
|
118
180
|
return q_right/h_right
|
119
181
|
elif prod_q < 0.:
|
120
|
-
if
|
121
|
-
|
122
|
-
|
123
|
-
|
182
|
+
if q_left > 0.:
|
183
|
+
if sum_q > 0.:
|
184
|
+
return q_left/h_left
|
185
|
+
elif sum_q < 0.:
|
186
|
+
return q_right/h_right
|
187
|
+
else:
|
188
|
+
return 0.
|
189
|
+
elif q_left < 0.:
|
190
|
+
return (q_left/h_left + q_right/h_right) / 2.
|
124
191
|
else:
|
125
|
-
|
192
|
+
# should not be possible
|
193
|
+
raise ValueError("Splitting rule: q_left is null but product is negative")
|
126
194
|
else:
|
127
|
-
if q_left
|
128
|
-
return
|
129
|
-
elif q_right
|
130
|
-
return
|
195
|
+
if q_left>epsilon:
|
196
|
+
return q_left / h_left
|
197
|
+
elif q_right<-epsilon:
|
198
|
+
return q_right / h_right
|
131
199
|
else:
|
132
200
|
return (q_left/h_left + q_right/h_right) / 2.
|
133
201
|
|
@@ -1507,6 +1575,7 @@ class OneWolfResult:
|
|
1507
1575
|
"""
|
1508
1576
|
def __init__(self, idx:int=0, parent = None):
|
1509
1577
|
|
1578
|
+
self.parent:"Wolfresults_2D"
|
1510
1579
|
self.parent = parent
|
1511
1580
|
|
1512
1581
|
self.wx_exists = wx.GetApp() is not None
|
@@ -1539,6 +1608,13 @@ class OneWolfResult:
|
|
1539
1608
|
self._sedimentdensity = 2.65
|
1540
1609
|
self._force_update_shields = True # Force la MAJ du Shields si le diametre ou la densité change
|
1541
1610
|
|
1611
|
+
self._is_manning_strickler = True
|
1612
|
+
self._is_colebrook = False
|
1613
|
+
|
1614
|
+
self._has_turbulence_model = False
|
1615
|
+
self._cmu = 0.09
|
1616
|
+
self._cnu = 0.08
|
1617
|
+
|
1542
1618
|
# self.mngselection = SelectionData(self.current)
|
1543
1619
|
|
1544
1620
|
@property
|
@@ -1658,12 +1734,24 @@ class OneWolfResult:
|
|
1658
1734
|
elif which==views_2D.HEAD:
|
1659
1735
|
self._current=(self.qx**2.+self.qy**2.)**.5/self.waterdepth/(2.*9.81)+self.waterdepth+self.top
|
1660
1736
|
nullvalue = self.qx.nullvalue
|
1737
|
+
|
1661
1738
|
elif which==views_2D.KINETIC_ENERGY:
|
1662
1739
|
self._current=self.k
|
1663
1740
|
nullvalue = self.k.nullvalue
|
1664
1741
|
elif which==views_2D.EPSILON:
|
1665
1742
|
self._current=self.eps
|
1666
1743
|
nullvalue = self.eps.nullvalue
|
1744
|
+
|
1745
|
+
elif which==views_2D.TURB_VISC_2D:
|
1746
|
+
|
1747
|
+
self._current = self.k**2./self.eps * self._cmu
|
1748
|
+
nullvalue = self.k.nullvalue
|
1749
|
+
|
1750
|
+
elif which==views_2D.TURB_VISC_3D:
|
1751
|
+
self.U_Shear = self.get_u_shear()
|
1752
|
+
self._current = self.U_Shear * self.waterdepth * self._cnu
|
1753
|
+
nullvalue = self.waterdepth.nullvalue
|
1754
|
+
|
1667
1755
|
elif which==views_2D.VECTOR_FIELD_Q:
|
1668
1756
|
self._current=(self.qx**2.+self.qy**2.)**.5
|
1669
1757
|
nullvalue = self.qx.nullvalue
|
@@ -1966,7 +2054,12 @@ class OneWolfResult:
|
|
1966
2054
|
qnorm = (self.qx**2.+self.qy**2.)**.5
|
1967
2055
|
qnorm.array.mask=self.waterdepth.array.mask
|
1968
2056
|
|
1969
|
-
|
2057
|
+
if self._is_manning_strickler:
|
2058
|
+
_u_shear = np.asarray([get_shear_velocity_2D_Manning(qnorm.array[i,j],
|
2059
|
+
self.waterdepth.array[i,j],
|
2060
|
+
self.rough_n.array.data[i,j]) for i,j in ij])
|
2061
|
+
elif self._is_colebrook:
|
2062
|
+
_u_shear = np.asarray([get_shear_velocity_2D_Colebrook(qnorm.array[i,j],
|
1970
2063
|
self.waterdepth.array[i,j],
|
1971
2064
|
self.rough_n.array.data[i,j]) for i,j in ij])
|
1972
2065
|
|
@@ -1974,9 +2067,16 @@ class OneWolfResult:
|
|
1974
2067
|
|
1975
2068
|
return u_shear
|
1976
2069
|
|
2070
|
+
if not (self._is_manning_strickler or self._is_colebrook):
|
2071
|
+
logging.error(_('Surface friction is not Manning-Strickler or Colebrook.'))
|
2072
|
+
logging.error(_('Cannot compute shear velocity or Program it... in get_u_shear'))
|
2073
|
+
ret = WolfArray(mold=self.waterdepth)
|
2074
|
+
ret.array.fill(0.)
|
2075
|
+
return ret
|
2076
|
+
|
1977
2077
|
logging.info(_('Computing shear velocity'))
|
1978
2078
|
u_shear = compute()
|
1979
|
-
logging.info(_('End of computing shear velocity'))
|
2079
|
+
# logging.info(_('End of computing shear velocity'))
|
1980
2080
|
|
1981
2081
|
return u_shear
|
1982
2082
|
|
@@ -2207,12 +2307,14 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2207
2307
|
if fname is not None:
|
2208
2308
|
|
2209
2309
|
if loader is not None:
|
2310
|
+
# Used for GPU results
|
2210
2311
|
if loader(fname) <0:
|
2211
2312
|
self.loaded = False
|
2212
2313
|
logging.error(_('Error while loading results - Abort !'))
|
2213
2314
|
return
|
2214
2315
|
|
2215
2316
|
else:
|
2317
|
+
# We are here for "classic" CPU results
|
2216
2318
|
parts=splitext(fname)
|
2217
2319
|
if len(parts)>1:
|
2218
2320
|
self.filename = parts[0]
|
@@ -2253,50 +2355,78 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2253
2355
|
curhead.translx = self.translx
|
2254
2356
|
curhead.transly = self.transly
|
2255
2357
|
|
2256
|
-
|
2257
|
-
|
2258
|
-
|
2259
|
-
|
2260
|
-
|
2261
|
-
|
2262
|
-
|
2263
|
-
|
2264
|
-
|
2265
|
-
|
2266
|
-
|
2267
|
-
|
2268
|
-
|
2269
|
-
|
2270
|
-
|
2271
|
-
|
2272
|
-
|
2273
|
-
|
2274
|
-
|
2275
|
-
|
2276
|
-
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
|
2281
|
-
|
2282
|
-
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2286
|
-
|
2287
|
-
|
2288
|
-
|
2289
|
-
|
2290
|
-
|
2291
|
-
|
2292
|
-
|
2293
|
-
|
2294
|
-
|
2295
|
-
|
2296
|
-
|
2297
|
-
|
2298
|
-
|
2299
|
-
|
2358
|
+
curblock.waterdepth.dx = dx
|
2359
|
+
curblock.waterdepth.dy = dy
|
2360
|
+
curblock.waterdepth.nbx = nbx
|
2361
|
+
curblock.waterdepth.nby = nby
|
2362
|
+
curblock.waterdepth.origx = ox
|
2363
|
+
curblock.waterdepth.origy = oy
|
2364
|
+
curblock.waterdepth.translx = self.translx
|
2365
|
+
curblock.waterdepth.transly = self.transly
|
2366
|
+
|
2367
|
+
curblock.top.dx = dx
|
2368
|
+
curblock.top.dy = dy
|
2369
|
+
curblock.top.nbx = nbx
|
2370
|
+
curblock.top.nby = nby
|
2371
|
+
curblock.top.origx = ox
|
2372
|
+
curblock.top.origy = oy
|
2373
|
+
curblock.top.translx = self.translx
|
2374
|
+
curblock.top.transly = self.transly
|
2375
|
+
|
2376
|
+
curblock.qx.dx = dx
|
2377
|
+
curblock.qx.dy = dy
|
2378
|
+
curblock.qx.nbx = nbx
|
2379
|
+
curblock.qx.nby = nby
|
2380
|
+
curblock.qx.origx = ox
|
2381
|
+
curblock.qx.origy = oy
|
2382
|
+
curblock.qx.translx = self.translx
|
2383
|
+
curblock.qx.transly = self.transly
|
2384
|
+
|
2385
|
+
curblock.qy.dx = dx
|
2386
|
+
curblock.qy.dy = dy
|
2387
|
+
curblock.qy.nbx = nbx
|
2388
|
+
curblock.qy.nby = nby
|
2389
|
+
curblock.qy.origx = ox
|
2390
|
+
curblock.qy.origy = oy
|
2391
|
+
curblock.qy.translx = self.translx
|
2392
|
+
curblock.qy.transly = self.transly
|
2393
|
+
|
2394
|
+
curblock.rough_n.dx = dx
|
2395
|
+
curblock.rough_n.dy = dy
|
2396
|
+
curblock.rough_n.nbx = nbx
|
2397
|
+
curblock.rough_n.nby = nby
|
2398
|
+
curblock.rough_n.origx = ox
|
2399
|
+
curblock.rough_n.origy = oy
|
2400
|
+
curblock.rough_n.translx = self.translx
|
2401
|
+
curblock.rough_n.transly = self.transly
|
2402
|
+
|
2403
|
+
curblock.eps.dx = dx
|
2404
|
+
curblock.eps.dy = dy
|
2405
|
+
curblock.eps.nbx = nbx
|
2406
|
+
curblock.eps.nby = nby
|
2407
|
+
curblock.eps.origx = ox
|
2408
|
+
curblock.eps.origy = oy
|
2409
|
+
curblock.eps.translx = self.translx
|
2410
|
+
curblock.eps.transly = self.transly
|
2411
|
+
|
2412
|
+
curblock.k.dx = dx
|
2413
|
+
curblock.k.dy = dy
|
2414
|
+
curblock.k.nbx = nbx
|
2415
|
+
curblock.k.nby = nby
|
2416
|
+
curblock.k.origx = ox
|
2417
|
+
curblock.k.origy = oy
|
2418
|
+
curblock.k.translx = self.translx
|
2419
|
+
curblock.k.transly = self.transly
|
2420
|
+
|
2421
|
+
curblock._is_manning_strickler = self.myparam.blocks[i].is_Manning_surface_friction
|
2422
|
+
curblock._is_colebrook = self.myparam.blocks[i].is_Colebrook_surface_friction
|
2423
|
+
curblock._has_turbulence_model = self.myparam.blocks[i].has_turbulence
|
2424
|
+
|
2425
|
+
_param_turb = self.myparam.blocks[i].get_params_turbulence()
|
2426
|
+
if 'cmu' in _param_turb:
|
2427
|
+
curblock._cmu = _param_turb['cmu']
|
2428
|
+
if 'cnu' in _param_turb:
|
2429
|
+
curblock._cnu = _param_turb['cnu']
|
2300
2430
|
|
2301
2431
|
else:
|
2302
2432
|
nb_blocks = self.myblocfile.nb_blocks
|
@@ -2310,6 +2440,18 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2310
2440
|
curblock.qx.set_header(self.mymnap.head_blocks[getkeyblock(i)])
|
2311
2441
|
curblock.qy.set_header(self.mymnap.head_blocks[getkeyblock(i)])
|
2312
2442
|
curblock.rough_n.set_header(self.mymnap.head_blocks[getkeyblock(i)])
|
2443
|
+
curblock.eps.set_header(self.mymnap.head_blocks[getkeyblock(i)])
|
2444
|
+
curblock.k.set_header(self.mymnap.head_blocks[getkeyblock(i)])
|
2445
|
+
|
2446
|
+
curblock._is_manning_strickler = self.myparam.blocks[i].is_Manning_surface_friction
|
2447
|
+
curblock._is_colebrook = self.myparam.blocks[i].is_Colebrook_surface_friction
|
2448
|
+
curblock._has_turbulence_model = self.myparam.blocks[i].has_turbulence
|
2449
|
+
|
2450
|
+
_param_turb = self.myparam.blocks[i].get_params_turbulence()
|
2451
|
+
if 'cmu' in _param_turb:
|
2452
|
+
curblock._cmu = _param_turb['cmu']
|
2453
|
+
if 'cnu' in _param_turb:
|
2454
|
+
curblock._cnu = _param_turb['cnu']
|
2313
2455
|
|
2314
2456
|
self.allocate_ressources()
|
2315
2457
|
self.read_topography()
|
@@ -2832,7 +2974,6 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2832
2974
|
self.myparam.read_file(self.filename)
|
2833
2975
|
|
2834
2976
|
self.myblocfile = blocks_file(self)
|
2835
|
-
# self.myblocfile.read_file()
|
2836
2977
|
|
2837
2978
|
self.mymnap = WolfArrayMNAP(self.filename)
|
2838
2979
|
|
@@ -2864,7 +3005,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2864
3005
|
for curblock in self.myblocks.values():
|
2865
3006
|
curblock.filter_independent_zones(n_largest)
|
2866
3007
|
|
2867
|
-
def set_currentview(self, which=None, force_wx=False, force_updatepal:bool=False):
|
3008
|
+
def set_currentview(self, which:views_2D = None, force_wx:bool = False, force_updatepal:bool=False):
|
2868
3009
|
"""
|
2869
3010
|
Set the current view --> see 'views_2D' for supported values
|
2870
3011
|
|
@@ -2895,11 +3036,14 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2895
3036
|
self.plotting=True
|
2896
3037
|
self.mimic_plotdata()
|
2897
3038
|
|
2898
|
-
if which in VIEWS_SEDIMENTARY:
|
3039
|
+
if which in VIEWS_SEDIMENTARY + [views_2D.TURB_VISC_3D, views_2D.U_SHEAR]:
|
2899
3040
|
|
2900
3041
|
if not self.loaded_rough:
|
2901
3042
|
self.read_roughness_param()
|
2902
3043
|
|
3044
|
+
if which in [views_2D.KINETIC_ENERGY, views_2D.TURB_VISC_2D, views_2D.TURB_VISC_3D, views_2D.EPSILON]:
|
3045
|
+
self.read_oneresult(self.current_result)
|
3046
|
+
|
2903
3047
|
for curblock in self.myblocks.values():
|
2904
3048
|
curblock.set_current(which)
|
2905
3049
|
|
@@ -2933,6 +3077,8 @@ class Wolfresults_2D(Element_To_Draw):
|
|
2933
3077
|
if self.mapviewer is not None:
|
2934
3078
|
self.reset_plot()
|
2935
3079
|
self.mapviewer.Refresh()
|
3080
|
+
else:
|
3081
|
+
logging.error(_('Unknown view - {}'.format(which)))
|
2936
3082
|
|
2937
3083
|
def allocate_ressources(self):
|
2938
3084
|
"""Allocation de l'espace mémoire utile pour le stockage des résultats de chaque bloc"""
|
@@ -1,18 +1,17 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wolfhece
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.16
|
4
4
|
Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
|
5
5
|
Project-URL: Homepage, https://uee.uliege.be/hece
|
6
6
|
Project-URL: Issues, https://uee.uliege.be/hece
|
7
7
|
Classifier: Programming Language :: Python :: 3.10
|
8
8
|
Classifier: Programming Language :: Python :: 3.11
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
10
|
-
Classifier: Programming Language :: Python :: 3.13
|
11
10
|
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
12
11
|
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
|
13
12
|
Classifier: Operating System :: POSIX :: Linux
|
14
13
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
15
|
-
Requires-Python: <3.
|
14
|
+
Requires-Python: <3.13,>=3.10
|
16
15
|
Description-Content-Type: text/markdown
|
17
16
|
Requires-Dist: wxpython==4.2.*
|
18
17
|
Requires-Dist: pyogrio
|
@@ -4,12 +4,12 @@ wolfhece/GraphNotebook.py,sha256=2TR8qjEwpMtl34QWgYNVe_PgTnuwhUxT5f9Y2zrmN2U,282
|
|
4
4
|
wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,69656
|
5
5
|
wolfhece/Lidar2002.py,sha256=bX-nIzdpjD7rOfEgJpTeaW6rIdAXwDp_z4YTM9CgANY,6068
|
6
6
|
wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
|
7
|
-
wolfhece/Model1D.py,sha256=
|
7
|
+
wolfhece/Model1D.py,sha256=snEmu8Uj2YGcp1ybPnly-4A389XRnuOujGduqInNcgw,477001
|
8
8
|
wolfhece/PandasGrid.py,sha256=YIleVkUkoP2MjtQBZ9Xgwk61zbgMj4Pmjj-clVTfPRs,2353
|
9
9
|
wolfhece/PyConfig.py,sha256=Y0wtSIFpAMYa7IByh7hbW-WEOVjNsQEduq7vhIYdZQw,16716
|
10
10
|
wolfhece/PyCrosssections.py,sha256=igU_ELrg5VrHU6RNbF5tHxPyVImpR3xdpfopJYc7haw,114711
|
11
|
-
wolfhece/PyDraw.py,sha256=
|
12
|
-
wolfhece/PyGui.py,sha256=
|
11
|
+
wolfhece/PyDraw.py,sha256=JtBWSceBWlP7oFT6hvPoQ3Oa-4KVZMvq20Ktroae7rY,645008
|
12
|
+
wolfhece/PyGui.py,sha256=rOAjxcVuRJ7M76pf5g4o65yxJugVgu9NzWPV3LCn2Ts,145668
|
13
13
|
wolfhece/PyGuiHydrology.py,sha256=sKafpOopBg50L5llZCI_fZtbebVTDtxvoRI6-osUwhg,14745
|
14
14
|
wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
|
15
15
|
wolfhece/PyPalette.py,sha256=k9b_95GYD0USQ8DS5zGXeZ577712U6772kmhEbJtlXw,35406
|
@@ -17,14 +17,14 @@ wolfhece/PyParams.py,sha256=Dh9C_WYICMjo3m9roRySsu8ZgFzzYhSr6RpbaXZni0M,99423
|
|
17
17
|
wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
|
18
18
|
wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
|
19
19
|
wolfhece/PyVertex.py,sha256=WT2UprotBUEA6rvs8kXfPRscKrhIL4_pya2UylzoBJE,50385
|
20
|
-
wolfhece/PyVertexvectors.py,sha256=
|
21
|
-
wolfhece/PyWMS.py,sha256
|
20
|
+
wolfhece/PyVertexvectors.py,sha256=D-7aLqxAcJ39xDx1fwA1zzP1uFR28IiZUjFwpQEcv8E,328102
|
21
|
+
wolfhece/PyWMS.py,sha256=-wU-oWS5il1z702gYd90xHx5O7PvGNr9nb693oue_cI,31412
|
22
22
|
wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
|
23
23
|
wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
|
24
24
|
wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
|
25
25
|
wolfhece/ReadDataDCENN.py,sha256=vm-I4YMryvRldjXTvRYEUCxZsjb_tM7U9yj6OaPyD0k,1538
|
26
26
|
wolfhece/Results2DGPU.py,sha256=45bLAkWvqHcw60QIP7qXyizbmS7buoDC7ndzOVfiWXg,26302
|
27
|
-
wolfhece/__init__.py,sha256=
|
27
|
+
wolfhece/__init__.py,sha256=ZansIsawdQSEC-xoOW33zVZEWjdljGsIIVVAMJSus08,504
|
28
28
|
wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
|
29
29
|
wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
|
30
30
|
wolfhece/cli.py,sha256=U8D7e_OezfrRfgMsa4TyQ7rI4voLKSY3RK-c8fb6rrw,3156
|
@@ -33,7 +33,7 @@ wolfhece/dike.py,sha256=eG9EDCRk46Nlzpg5OycUeOag_T8joyJ2wzTkQgAT5F0,30710
|
|
33
33
|
wolfhece/drawing_obj.py,sha256=7vY04B6r08nurTTFmBXHyR5tVIF1YzAEw_uz4pqTDIw,4233
|
34
34
|
wolfhece/eikonal.py,sha256=iDeDs571sVXGe4IsPSJ1Sa4hX8Ri2jWE7u83xzvA2K8,23189
|
35
35
|
wolfhece/flow_SPWMI.py,sha256=XDAelwAY-3rYOR0WKW3fgYJ_r8DU4IP6Y5xULW421tk,20956
|
36
|
-
wolfhece/friction_law.py,sha256=
|
36
|
+
wolfhece/friction_law.py,sha256=_VrcFm2E--RfOvGjsazL5Zve_p5fIhzsT62AElI5E04,5501
|
37
37
|
wolfhece/gpuview.py,sha256=Jql8pLZ0PpvZ_ScT-U4jsXANZ9j4-m_RWhsLA2HISuQ,24544
|
38
38
|
wolfhece/images_tiles.py,sha256=w5BX6kRqA0wW9TWyKrJUIRl-XyqHclq_kp5ET2VA0Sg,3227
|
39
39
|
wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4465
|
@@ -51,20 +51,20 @@ wolfhece/pybridges.py,sha256=bFAqjL4ColeJtwvyCPGQ8VllWoq1RbVWXxFrdfrvqm8,65954
|
|
51
51
|
wolfhece/pydike.py,sha256=bKUwVvFMtAI4np4JJAkIa4xBDLw9l4py3l-Mjlfr_rM,2242
|
52
52
|
wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
|
53
53
|
wolfhece/pypolygons_scen.py,sha256=WubNPQEk4fC--4qIHZK6mJqQnRs4mAWUpmjRL8q33Sw,46069
|
54
|
-
wolfhece/pyshields.py,sha256=
|
54
|
+
wolfhece/pyshields.py,sha256=ymH393EQys2aZmh41ccJnWmmlF7dVa-eTY32jFgwK08,25269
|
55
55
|
wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
|
56
56
|
wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
|
57
57
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
58
58
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
59
59
|
wolfhece/tools2d_dll.py,sha256=oU0m9XYAf4CZsMoB68IuKeE6SQh-AqY7O5NVED8r9uw,13125
|
60
60
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
61
|
-
wolfhece/wolf_array.py,sha256=
|
61
|
+
wolfhece/wolf_array.py,sha256=COkhCvihqI3OyK_cKWC_NNu9NKjErEbDsC85A1hXQ-8,497389
|
62
62
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
63
|
-
wolfhece/wolf_texture.py,sha256=
|
63
|
+
wolfhece/wolf_texture.py,sha256=_YMMz3w1re70rrpO_AcFlb7QC4R3_631Hgnl5BRNH1o,20832
|
64
64
|
wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
|
65
65
|
wolfhece/wolf_vrt.py,sha256=wbxXVN7TL9zgdyF79S-4e3pje6wJEAgBEfF_Y8kkzxs,14271
|
66
66
|
wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
|
67
|
-
wolfhece/wolfresults_2D.py,sha256=
|
67
|
+
wolfhece/wolfresults_2D.py,sha256=33IQUs98-S19aJhWy7TXEFcaNGlKpe4ZqlxOouVOC1Q,224101
|
68
68
|
wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
|
69
69
|
wolfhece/acceptability/Parallels.py,sha256=2wVkfJYor4yl7VYiAZiGGTFwtAab2z66ZfRtBliVweE,4088
|
70
70
|
wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
|
@@ -86,8 +86,8 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
|
|
86
86
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
87
87
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
88
88
|
wolfhece/apps/splashscreen.py,sha256=eCPAUYscZPWDYKBHDBWum_VIcE7WXOCBe1GLHL3KUmU,3088
|
89
|
-
wolfhece/apps/version.py,sha256=
|
90
|
-
wolfhece/apps/wolf.py,sha256=
|
89
|
+
wolfhece/apps/version.py,sha256=ZAjn9R9bjXTgmckSMMojvuK1YxDl0a8--udGIHG3sTk,388
|
90
|
+
wolfhece/apps/wolf.py,sha256=mRnjYsUu4KIsRuamdQWAINFMuwN4eJgMo9erG-hkZ70,729
|
91
91
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
92
92
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
93
93
|
wolfhece/apps/wolf_logo2.bmp,sha256=pCJFVDn_-rHru6fumazVNM4BqAaobM0Xg0zI0DFWMSQ,5830
|
@@ -95,7 +95,8 @@ wolfhece/apps/wolf_logo3.bmp,sha256=AxRvS_uc2MJn_ksMExPhFEDJ0_PmlR3xU13gzfc28xk,
|
|
95
95
|
wolfhece/apps/wolf_logo4.bmp,sha256=N6d_NZ3V2M-qtSdTM0LP3PhU2TtltB_UNW6Z2WiLrvM,5830
|
96
96
|
wolfhece/apps/wolfcompare2Darrays.py,sha256=AfEJjku_oSWWqyCIDOqId0quZrS_NpTIFN4fHcVDWb4,4179
|
97
97
|
wolfhece/apps/wolfhydro.py,sha256=EsXTtXhnsQV1j-tiFYcyfMrJpjFv1MrWiftwODdi_8I,817
|
98
|
-
wolfhece/assets/__init__.py,sha256=
|
98
|
+
wolfhece/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
99
|
+
wolfhece/assets/mesh.py,sha256=aO3BWg7f_73bV5yryDdhoIoyWqEQ1UTq2SkQ3y8aZnE,27384
|
99
100
|
wolfhece/assets/speedometer.py,sha256=Oqttbw-AB9niaQRNDd0bmyu-ozyOHoYRQd1dApywwdU,5877
|
100
101
|
wolfhece/bernoulli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
102
|
wolfhece/bernoulli/chamber.py,sha256=ZWNjTAmTaH8u8J00n8uEib7dy84mUfHWN43805W_Qsw,2354
|
@@ -137,7 +138,7 @@ wolfhece/hydrology/Outlet.py,sha256=jdjYN2gIolQJ5prf1wVfxm7cp_YguwQ0JMRsC9ks-Tg,
|
|
137
138
|
wolfhece/hydrology/PostProcessHydrology.py,sha256=GS2dm9ahDb856apXvTM-oyusTn0xj-ySNpKbHa_jQdw,7419
|
138
139
|
wolfhece/hydrology/PyWatershed.py,sha256=a26M6tVe4hrQ-a8FyAx7H9-RZcVCU5BBzFff4_YT0UU,97665
|
139
140
|
wolfhece/hydrology/RetentionBasin.py,sha256=vFvpnomo5h8ZWq3Hq-YlxRnyqyQqHrojABMKzu3RP6E,83358
|
140
|
-
wolfhece/hydrology/SubBasin.py,sha256=
|
141
|
+
wolfhece/hydrology/SubBasin.py,sha256=ORK1VmvBOfyDjfOTxFQ9bcHe78pAoVcRWwu5Vm-CDHo,181790
|
141
142
|
wolfhece/hydrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
142
143
|
wolfhece/hydrology/constant.py,sha256=0o6l8zwLESlW6G9vYNFlUJV4YhcDq6_jnCN28DNchmU,1634
|
143
144
|
wolfhece/hydrology/cst_exchanges.py,sha256=yT2cSIXjlfshPkSAdhyBxYwCPZ5L9s75BYM24tEO6_4,39699
|
@@ -148,9 +149,9 @@ wolfhece/hydrology/read.py,sha256=BaaIp1x44wPQz2LkWtzu7ZNKx3Gw_WDtAw-B4y_C2IU,95
|
|
148
149
|
wolfhece/hydrology/slope_manager.py,sha256=vlek0z8qcqB61eleiksyOe3QR1vpbtwfeowy6ms7_Fg,5580
|
149
150
|
wolfhece/hydrology/wolfMap_treatment.py,sha256=eAxr24zJGwmDof1aZpcxewVvv_bWDvoO8t9Wwf99Mlo,10606
|
150
151
|
wolfhece/hydrometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
151
|
-
wolfhece/hydrometry/kiwis.py,sha256=
|
152
|
+
wolfhece/hydrometry/kiwis.py,sha256=HDsTZenqG5La4t0Rv9iJeScH_j07w2k3J5fMlj74jI8,64491
|
152
153
|
wolfhece/hydrometry/kiwis_gui.py,sha256=xubayI3ijq87l47pcVtP-D9mOGurOSu9rKz511oa7n0,24898
|
153
|
-
wolfhece/hydrometry/kiwis_wolfgui.py,sha256=
|
154
|
+
wolfhece/hydrometry/kiwis_wolfgui.py,sha256=uEHArUN_XKs-eX4VLUOBZCJdiFJ3G9qBVs34zqdpH20,4072
|
154
155
|
wolfhece/icons/folder_open.png,sha256=ykBlU2FtGcpjAu1YO4_eGlDg2svgs_IAs-4d5O2e3AM,2329
|
155
156
|
wolfhece/icons/folder_plus.png,sha256=Z1Jcs87Z6pNcudxGDTNhC_hgolSSaXe6_fmQE_n-ero,1963
|
156
157
|
wolfhece/icons/image.png,sha256=jomOPNO4HBArBZe8Ya189Iar5nzhO8c0S9JW-6iaErk,2684
|
@@ -167,7 +168,7 @@ wolfhece/lagrangian/particles.py,sha256=sqp-_gfsIt8s3GNcI1eKaeOBMSo2C-wPrL7FpjkE
|
|
167
168
|
wolfhece/lagrangian/velocity_field.py,sha256=oGVjNm98gEpawreFIrC1lDyC5bEhkk2CsyYAlF1Kq50,10574
|
168
169
|
wolfhece/lazviewer/__init__.py,sha256=lz60EpQOBZ-zjvYzff6Y11jzAmC7mjOaxRYAfoqizQs,473
|
169
170
|
wolfhece/lazviewer/_add_path.py,sha256=XgMEXRhFhx9-B1hUsP7Zr199zNljYwT5dGMYSB9jRa4,639
|
170
|
-
wolfhece/lazviewer/laz_viewer.py,sha256=
|
171
|
+
wolfhece/lazviewer/laz_viewer.py,sha256=QECvVMSshgO4C7ulBTBcB4oPwLCU8WP8x6W026RWf5w,81621
|
171
172
|
wolfhece/lazviewer/libs/Qt5Core.dll,sha256=sTJ_ctYFY9KHMNytF-lzH_078zIvnKTjN-71FDkOWPw,4924928
|
172
173
|
wolfhece/lazviewer/libs/Qt5Gui.dll,sha256=07BeaOeYByraGkKYeDiSDYLawHM8tyd55pVJlKbZ4Y0,5436416
|
173
174
|
wolfhece/lazviewer/libs/Qt5Network.dll,sha256=U-9FiLE9LUKru8r8EQxTnwwlMpwS8JzUtenhkKTCox0,1038336
|
@@ -262,7 +263,7 @@ wolfhece/mesh2d/config_manager.py,sha256=DcdxCIIs_dyC6ayJOBULeY364LONogL9PBaqBtC
|
|
262
263
|
wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=Y4DF68uAklF3fXJgf05nb_JvJk2pvzcu_wu5nFXpWJo,5008
|
263
264
|
wolfhece/mesh2d/gpu_2d.py,sha256=XeQIYMqdwFsLw-wDE5jbyphhCgta5QfZhE_7lVtNiCE,24260
|
264
265
|
wolfhece/mesh2d/simple_2d.py,sha256=mVFbTTG2Ah1idz2aYrxI44mi-Z24nC9Vxw1qP2Oib3Y,111350
|
265
|
-
wolfhece/mesh2d/wolf2dprev.py,sha256=
|
266
|
+
wolfhece/mesh2d/wolf2dprev.py,sha256=5ZEl0Dm7CcncVJlF4N0E96MaSa6O8B_nvwUQs8kdoA4,492452
|
266
267
|
wolfhece/models/5_coul.pal,sha256=OI1UqcNIDBpJn2k_VDel__r-hKjjvdob0eqinGCI3QY,160
|
267
268
|
wolfhece/models/6_coul.pal,sha256=z7NK2dg0tAQBUweRQV54dIwJbPM1U5y1AR2LLw19Idw,148
|
268
269
|
wolfhece/models/7_coul.pal,sha256=XTnnUyCE8ONokScB2YzYDnSTft7E6sppmr7P-XwMsCE,205
|
@@ -333,8 +334,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
333
334
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
334
335
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
335
336
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
336
|
-
wolfhece-2.2.
|
337
|
-
wolfhece-2.2.
|
338
|
-
wolfhece-2.2.
|
339
|
-
wolfhece-2.2.
|
340
|
-
wolfhece-2.2.
|
337
|
+
wolfhece-2.2.16.dist-info/METADATA,sha256=1WRiJ8lFWgUL9HhzwiCI7GNSeQWMjO-1Q_b9m7xF8x8,2679
|
338
|
+
wolfhece-2.2.16.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
339
|
+
wolfhece-2.2.16.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
340
|
+
wolfhece-2.2.16.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
341
|
+
wolfhece-2.2.16.dist-info/RECORD,,
|
File without changes
|
File without changes
|