wolfhece 2.2.40__py3-none-any.whl → 2.2.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/PyDraw.py +373 -102
- wolfhece/apps/version.py +1 -1
- wolfhece/eva/pyseries.py +24 -1
- wolfhece/hydrometry/kiwis.py +5 -3
- wolfhece/hydrometry/kiwis_gui.py +2 -1
- wolfhece/math_parser/calculator.py +1 -1
- wolfhece/mesh2d/wolf2dprev.py +45 -17
- wolfhece/models/walous_ocs.pal +49 -0
- wolfhece/pydownloader.py +140 -13
- wolfhece/pywalous.py +200 -139
- wolfhece/scenario/config_manager.py +9 -1
- wolfhece/wolf_array.py +190 -83
- wolfhece/wolfresults_2D.py +4 -4
- {wolfhece-2.2.40.dist-info → wolfhece-2.2.42.dist-info}/METADATA +1 -1
- {wolfhece-2.2.40.dist-info → wolfhece-2.2.42.dist-info}/RECORD +18 -17
- {wolfhece-2.2.40.dist-info → wolfhece-2.2.42.dist-info}/WHEEL +0 -0
- {wolfhece-2.2.40.dist-info → wolfhece-2.2.42.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.2.40.dist-info → wolfhece-2.2.42.dist-info}/top_level.txt +0 -0
wolfhece/wolf_array.py
CHANGED
@@ -116,6 +116,30 @@ try:
|
|
116
116
|
except ImportError as e:
|
117
117
|
raise Exception(_('Error importing pydownloader module'))
|
118
118
|
|
119
|
+
|
120
|
+
import math
|
121
|
+
from fractions import Fraction
|
122
|
+
|
123
|
+
def pgcd_decimal(a, b):
|
124
|
+
# Convertir les décimaux en fractions exactes
|
125
|
+
fa = Fraction(a).limit_denominator()
|
126
|
+
fb = Fraction(b).limit_denominator()
|
127
|
+
|
128
|
+
# Extraire les numérateurs et dénominateurs
|
129
|
+
num_a, den_a = fa.numerator, fa.denominator
|
130
|
+
num_b, den_b = fb.numerator, fb.denominator
|
131
|
+
|
132
|
+
# Mettre au même dénominateur
|
133
|
+
lcm_den = math.lcm(den_a, den_b)
|
134
|
+
a_int = num_a * (lcm_den // den_a)
|
135
|
+
b_int = num_b * (lcm_den // den_b)
|
136
|
+
|
137
|
+
# PGCD des entiers
|
138
|
+
pgcd_int = math.gcd(a_int, b_int)
|
139
|
+
|
140
|
+
# Revenir à l’échelle décimale
|
141
|
+
return pgcd_int / lcm_den
|
142
|
+
|
119
143
|
WOLF_ARRAY_HILLSHAPE = -1
|
120
144
|
WOLF_ARRAY_FULL_SINGLE = 1
|
121
145
|
WOLF_ARRAY_FULL_DOUBLE = 2
|
@@ -7288,6 +7312,8 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7288
7312
|
else:
|
7289
7313
|
return
|
7290
7314
|
|
7315
|
+
need_wx = False
|
7316
|
+
|
7291
7317
|
raster:gdal.Dataset
|
7292
7318
|
if crop is not None :
|
7293
7319
|
if not os.path.exists(fn):
|
@@ -7297,44 +7323,47 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7297
7323
|
tmpdx = self.dx
|
7298
7324
|
|
7299
7325
|
fn_crop = fn + '_crop.tif'
|
7300
|
-
if type(crop) is np.ndarray:
|
7301
|
-
pass
|
7302
|
-
elif type(crop) is list:
|
7303
|
-
pass
|
7304
|
-
else:
|
7305
|
-
if not self.wx_exists:
|
7306
|
-
logging.error(_('Crop must be a list or a numpy array with 4 values - xmin, xmax, ymin, ymax'))
|
7307
|
-
return
|
7308
7326
|
|
7309
|
-
|
7310
|
-
|
7327
|
+
raster_in:gdal.Dataset
|
7328
|
+
raster_in = gdal.Open(fn)
|
7311
7329
|
|
7312
|
-
|
7313
|
-
|
7314
|
-
|
7315
|
-
|
7330
|
+
proj = raster_in.GetProjection()
|
7331
|
+
# check if proj is epsg:31370
|
7332
|
+
if 'Lambert 72' not in proj and "31370" not in proj:
|
7333
|
+
logging.error(_('{} projection is not Lambert 72 - EPSG:31370').format(fn))
|
7316
7334
|
|
7317
|
-
|
7318
|
-
|
7335
|
+
raster_in2 = gdal.Dataset()
|
7336
|
+
gdal.Warp(raster_in2, raster_in, dstSRS='EPSG:31370')
|
7319
7337
|
|
7320
|
-
|
7321
|
-
|
7322
|
-
|
7338
|
+
# Close the raster_in
|
7339
|
+
raster_in.FlushCache()
|
7340
|
+
raster_in = None
|
7323
7341
|
|
7324
|
-
|
7342
|
+
raster_in = raster_in2
|
7325
7343
|
|
7326
|
-
|
7327
|
-
|
7328
|
-
|
7344
|
+
if raster_in is None:
|
7345
|
+
logging.error(_('Could not reproject the file {fn}'))
|
7346
|
+
return
|
7347
|
+
|
7348
|
+
geotr = raster_in.GetGeoTransform()
|
7349
|
+
self.dx = geotr[1]
|
7350
|
+
self.dy = abs(geotr[5])
|
7351
|
+
|
7352
|
+
ulx = geotr[0]
|
7353
|
+
uly = geotr[3]
|
7354
|
+
llx = ulx + geotr[1] * raster_in.RasterXSize
|
7355
|
+
lly = uly + geotr[5] * raster_in.RasterYSize
|
7329
7356
|
|
7330
|
-
|
7331
|
-
|
7332
|
-
|
7357
|
+
if type(crop) is np.ndarray:
|
7358
|
+
pass
|
7359
|
+
elif type(crop) in [list, tuple]:
|
7360
|
+
pass
|
7361
|
+
else:
|
7362
|
+
if not self.wx_exists:
|
7363
|
+
logging.error(_('Crop must be a list or a numpy array with 4 values - xmin, xmax, ymin, ymax'))
|
7364
|
+
return
|
7333
7365
|
|
7334
|
-
|
7335
|
-
uly = geotr[3]
|
7336
|
-
llx = ulx + geotr[1] * raster_in.RasterXSize
|
7337
|
-
lly = uly + geotr[5] * raster_in.RasterYSize
|
7366
|
+
need_wx = True
|
7338
7367
|
|
7339
7368
|
newcrop = CropDialog(None, self.get_mapviewer())
|
7340
7369
|
|
@@ -7375,7 +7404,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7375
7404
|
|
7376
7405
|
xmin, xmax, ymin, ymax = crop
|
7377
7406
|
|
7378
|
-
if
|
7407
|
+
if need_wx:
|
7379
7408
|
|
7380
7409
|
with wx.FileDialog(None, _('Save the cropped file for later'), wildcard="Tiff files (*.tif)|*.tif",
|
7381
7410
|
style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) as fileDialog:
|
@@ -7393,15 +7422,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7393
7422
|
|
7394
7423
|
fn = fn_crop
|
7395
7424
|
else:
|
7396
|
-
|
7397
|
-
tmpfile = NamedTemporaryFile(suffix='.tif')
|
7425
|
+
fn_tmp = '__tmp_wolf.tif'
|
7398
7426
|
|
7399
7427
|
if uly > lly:
|
7400
|
-
raster = gdal.Translate(
|
7428
|
+
raster = gdal.Translate(fn_tmp, fn, projWin=[xmin, ymax, xmax, ymin])
|
7401
7429
|
else:
|
7402
|
-
raster = gdal.Translate(
|
7403
|
-
|
7404
|
-
fn = str(tmpfile.name)
|
7430
|
+
raster = gdal.Translate(fn_tmp, fn, projWin=[xmin, ymin, xmax, ymax])
|
7431
|
+
fn = fn_tmp
|
7405
7432
|
else:
|
7406
7433
|
raster = gdal.Open(fn)
|
7407
7434
|
|
@@ -7501,6 +7528,12 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7501
7528
|
raster.FlushCache()
|
7502
7529
|
raster = None
|
7503
7530
|
|
7531
|
+
try:
|
7532
|
+
if fn_tmp == '__tmp_wolf.tif':
|
7533
|
+
os.remove(fn_tmp)
|
7534
|
+
except:
|
7535
|
+
pass
|
7536
|
+
|
7504
7537
|
def add_ops_sel(self):
|
7505
7538
|
"""
|
7506
7539
|
Adding selection manager and operations array
|
@@ -9235,7 +9268,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9235
9268
|
newArray.origz = self.origz
|
9236
9269
|
newArray.translz = self.translz
|
9237
9270
|
|
9238
|
-
if type(other)
|
9271
|
+
if type(other) in [float, int]:
|
9272
|
+
|
9273
|
+
if type(other) == int and self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_FULL_SINGLE]:
|
9274
|
+
other = float(other)
|
9275
|
+
elif type(other) == float and self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_FULL_UINTEGER8]:
|
9276
|
+
other = int(other)
|
9277
|
+
|
9239
9278
|
if other != 0.:
|
9240
9279
|
newArray.array = np.ma.masked_array(self.array + other, self.array.mask, dtype=self.array.dtype)
|
9241
9280
|
else:
|
@@ -9264,7 +9303,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9264
9303
|
newArray.origz = self.origz
|
9265
9304
|
newArray.translz = self.translz
|
9266
9305
|
|
9267
|
-
if type(other)
|
9306
|
+
if type(other) in [float, int]:
|
9307
|
+
|
9308
|
+
if type(other) == int and self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_FULL_SINGLE]:
|
9309
|
+
other = float(other)
|
9310
|
+
elif type(other) == float and self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_FULL_UINTEGER8]:
|
9311
|
+
other = int(other)
|
9312
|
+
|
9268
9313
|
if other != 0.:
|
9269
9314
|
newArray.array = np.ma.masked_array(self.array * other, self.array.mask, dtype=self.array.dtype)
|
9270
9315
|
else:
|
@@ -9296,7 +9341,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9296
9341
|
newArray.origz = self.origz
|
9297
9342
|
newArray.translz = self.translz
|
9298
9343
|
|
9299
|
-
if type(other)
|
9344
|
+
if type(other) in [float, int]:
|
9345
|
+
|
9346
|
+
if type(other) == int and self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_FULL_SINGLE]:
|
9347
|
+
other = float(other)
|
9348
|
+
elif type(other) == float and self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_FULL_UINTEGER8]:
|
9349
|
+
other = int(other)
|
9350
|
+
|
9300
9351
|
if other != 0.:
|
9301
9352
|
newArray.array = np.ma.masked_array(self.array - other, self.array.mask, dtype=self.array.dtype)
|
9302
9353
|
else:
|
@@ -9325,7 +9376,18 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9325
9376
|
newArray.origz = self.origz
|
9326
9377
|
newArray.translz = self.translz
|
9327
9378
|
|
9328
|
-
|
9379
|
+
if type(other) in [float, int]:
|
9380
|
+
|
9381
|
+
if type(other) == int and self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_FULL_SINGLE]:
|
9382
|
+
other = float(other)
|
9383
|
+
elif type(other) == float and self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_FULL_UINTEGER8]:
|
9384
|
+
other = int(other)
|
9385
|
+
|
9386
|
+
newArray.array = np.ma.masked_array(self.array ** other, self.array.mask, dtype=self.array.dtype)
|
9387
|
+
else:
|
9388
|
+
logging.error(_('Power operator only implemented for scalars'))
|
9389
|
+
newArray.array[:,:] = 0
|
9390
|
+
|
9329
9391
|
newArray.count()
|
9330
9392
|
|
9331
9393
|
assert newArray.array.dtype == self.array.dtype, _('Bad dtype')
|
@@ -9350,9 +9412,17 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
9350
9412
|
newArray.origz = self.origz
|
9351
9413
|
newArray.translz = self.translz
|
9352
9414
|
|
9353
|
-
if type(other)
|
9415
|
+
if type(other) in [float, int]:
|
9416
|
+
|
9417
|
+
if type(other) == int and self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_FULL_SINGLE]:
|
9418
|
+
other = float(other)
|
9419
|
+
elif type(other) == float and self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_FULL_UINTEGER8]:
|
9420
|
+
other = int(other)
|
9421
|
+
|
9354
9422
|
if other != 0.:
|
9355
9423
|
newArray.array = np.ma.masked_array(self.array / other, self.array.mask, dtype=self.array.dtype)
|
9424
|
+
else:
|
9425
|
+
logging.error(_('Division by 0 -- Nothing to do !'))
|
9356
9426
|
else:
|
9357
9427
|
newArray.array = np.ma.masked_array(np.where(other == 0., 0., self.array / other.array), self.array.mask, dtype=self.array.dtype)
|
9358
9428
|
newArray.count()
|
@@ -10217,7 +10287,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10217
10287
|
self.write_txt_header()
|
10218
10288
|
self.write_array()
|
10219
10289
|
|
10220
|
-
def get_rebin_shape_size(self, factor:float) -> tuple[tuple[int, int], tuple[float, float]]:
|
10290
|
+
def get_rebin_shape_size(self, factor:float, reshape_array_if_necessary:bool = False) -> tuple[tuple[int, int], tuple[float, float]]:
|
10221
10291
|
"""
|
10222
10292
|
Return the new shape after rebinning.
|
10223
10293
|
|
@@ -10237,13 +10307,44 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10237
10307
|
|
10238
10308
|
newnbx = self.nbx
|
10239
10309
|
newnby = self.nby
|
10240
|
-
|
10241
|
-
|
10242
|
-
|
10243
|
-
|
10244
|
-
|
10245
|
-
|
10246
|
-
newnby = self.nby
|
10310
|
+
|
10311
|
+
if factor >=1.0:
|
10312
|
+
# Decrease resolution
|
10313
|
+
to_reshape = False
|
10314
|
+
if np.mod(self.nbx,factor) != 0 or np.mod(self.nby,factor) != 0 :
|
10315
|
+
newnbx = self.nbx
|
10316
|
+
newnby = self.nby
|
10317
|
+
if np.mod(self.nbx,factor) !=0:
|
10318
|
+
newnbx = int(self.nbx + factor - np.mod(self.nbx,factor))
|
10319
|
+
to_reshape = True
|
10320
|
+
if np.mod(self.nby,factor) !=0:
|
10321
|
+
newnby = int(self.nby + factor - np.mod(self.nby,factor))
|
10322
|
+
to_reshape = True
|
10323
|
+
|
10324
|
+
if to_reshape and reshape_array_if_necessary:
|
10325
|
+
logging.warning(f"The shape ({self.nbx}, {self.nby}) is not a multiple of the factor {factor}")
|
10326
|
+
new_array = ma.masked_array(np.ones((newnbx, newnby), dtype= self.dtype) * self.nullvalue, dtype= self.dtype)
|
10327
|
+
new_array[:self.nbx, :self.nby] = self.array
|
10328
|
+
self.array = new_array
|
10329
|
+
else:
|
10330
|
+
# Increase resolution
|
10331
|
+
if abs(int(1/factor) - 1/factor) > 1e-6:
|
10332
|
+
# find the greatest common divisor of between self.dx and old_dx
|
10333
|
+
gcd = pgcd_decimal(self.dx, self.dx * factor)
|
10334
|
+
intermediate_factor = gcd / self.dx
|
10335
|
+
|
10336
|
+
[newnbx,newnby], [dx,dy] = self.get_rebin_shape_size(intermediate_factor)
|
10337
|
+
|
10338
|
+
factor = factor / intermediate_factor
|
10339
|
+
|
10340
|
+
if np.mod(newnbx,factor) != 0 or np.mod(newnby,factor) != 0 :
|
10341
|
+
if np.mod(newnbx,factor) !=0:
|
10342
|
+
newnbx = int(newnbx + factor - np.mod(newnbx,factor))
|
10343
|
+
if np.mod(newnby,factor) !=0:
|
10344
|
+
newnby = int(newnby + factor - np.mod(newnby,factor))
|
10345
|
+
|
10346
|
+
newdx = dx * factor
|
10347
|
+
newdy = dy * factor
|
10247
10348
|
|
10248
10349
|
newnbx = int(newnbx / factor)
|
10249
10350
|
newnby = int(newnby / factor)
|
@@ -10290,6 +10391,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10290
10391
|
|
10291
10392
|
"""
|
10292
10393
|
|
10394
|
+
op_str = operation
|
10395
|
+
(testnbx, testnby), __ = self.get_rebin_shape_size(factor)
|
10396
|
+
|
10293
10397
|
if operation_matrix is not None:
|
10294
10398
|
tmp_header = self.get_rebin_header(factor)
|
10295
10399
|
if not operation_matrix.is_like(tmp_header):
|
@@ -10311,36 +10415,11 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10311
10415
|
logging.error(_("Operator not supported -- Must be a string in ['sum', 'mean', 'min', 'max', 'median'] or a Rebin_Ops Enum"))
|
10312
10416
|
|
10313
10417
|
|
10314
|
-
|
10315
|
-
|
10316
|
-
|
10317
|
-
|
10318
|
-
|
10319
|
-
if np.mod(self.nbx,factor) !=0:
|
10320
|
-
newnbx = int(self.nbx + factor - np.mod(self.nbx,factor))
|
10321
|
-
if np.mod(self.nby,factor) !=0:
|
10322
|
-
newnby = int(self.nby + factor - np.mod(self.nby,factor))
|
10323
|
-
|
10324
|
-
# We ensure that the null_value is converted to the type of the array.
|
10325
|
-
# Not doing so leads to a change in the array type because
|
10326
|
-
# of numpy2 type promotion.
|
10327
|
-
newarray = np.ma.masked_array( np.full((newnbx,newnby), self.nullvalue, dtype = self.dtype) )
|
10328
|
-
#newarray = np.ma.ones((newnbx,newnby), dtype = self.dtype) * self.nullvalue
|
10329
|
-
newarray[:self.nbx,:self.nby] = self.array
|
10330
|
-
newarray.mask[:self.nbx,:self.nby] = self.array.mask
|
10331
|
-
self.array = newarray
|
10332
|
-
|
10333
|
-
self.nbx = newnbx
|
10334
|
-
self.nby = newnby
|
10335
|
-
|
10336
|
-
self.nbx = int(self.nbx / factor)
|
10337
|
-
self.nby = int(self.nby / factor)
|
10338
|
-
|
10339
|
-
self.dx = self.dx * float(factor)
|
10340
|
-
self.dy = self.dy * float(factor)
|
10341
|
-
new_shape = (self.nbx, self.nby)
|
10342
|
-
|
10343
|
-
if factor>1.:
|
10418
|
+
new_shape, (dx, dy) = self.get_rebin_shape_size(factor, reshape_array_if_necessary= True)
|
10419
|
+
|
10420
|
+
if factor >=1.0:
|
10421
|
+
# Decrease resolution
|
10422
|
+
|
10344
10423
|
if operation_matrix is not None:
|
10345
10424
|
# Reshape the input array to split it into blocks of size f x f
|
10346
10425
|
reshaped_a = self.array.reshape(new_shape[0], int(factor), new_shape[1], int(factor))
|
@@ -10370,15 +10449,43 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10370
10449
|
self.set_nullvalue_in_mask()
|
10371
10450
|
else:
|
10372
10451
|
|
10373
|
-
|
10452
|
+
# Increase resolution
|
10453
|
+
|
10454
|
+
if abs(int(1/factor) - 1/factor) > 1e-6:
|
10374
10455
|
logging.warning(f"The factor {factor} doesn't lead to an integer dimension for the Kronecker product")
|
10456
|
+
logging.warning("The array will be rebinned firstly using the most common factor and then using the operation")
|
10457
|
+
|
10458
|
+
# find the greatest common divisor of between self.dx and old_dx
|
10459
|
+
gcd = pgcd_decimal(self.dx, self.dx * factor)
|
10460
|
+
intermediate_factor = gcd / self.dx
|
10461
|
+
|
10462
|
+
logging.warning(f"The greatest common divisor is {gcd}")
|
10375
10463
|
|
10376
|
-
|
10377
|
-
|
10464
|
+
tmp = WolfArray(mold=self, whichtype=self.wolftype)
|
10465
|
+
tmp.rebin(intermediate_factor)
|
10378
10466
|
|
10467
|
+
if op_str is None:
|
10468
|
+
op_str = 'min'
|
10469
|
+
|
10470
|
+
tmp.rebin(factor / intermediate_factor, operation= op_str)
|
10471
|
+
self.array = tmp.array
|
10472
|
+
tmp.array = None
|
10473
|
+
del tmp
|
10474
|
+
else:
|
10475
|
+
|
10476
|
+
ones = np.ones( (int(1/factor), int(1/factor)), dtype=int)
|
10477
|
+
self.array = np.kron(self.array, ones).astype(self.array.dtype)
|
10379
10478
|
|
10380
10479
|
self.mask_data(self.nullvalue)
|
10381
10480
|
|
10481
|
+
self.nbx = new_shape[0]
|
10482
|
+
self.nby = new_shape[1]
|
10483
|
+
self.dx = dx
|
10484
|
+
self.dy = dy
|
10485
|
+
|
10486
|
+
assert isinstance(self.array, ma.MaskedArray), _('The array must be a masked array')
|
10487
|
+
assert self.array.shape == (testnbx, testnby), _(f'Bad shape: {self.array.shape} != {(testnbx, testnby)}')
|
10488
|
+
|
10382
10489
|
self.count()
|
10383
10490
|
|
10384
10491
|
# rebin must not change the type of the array
|
wolfhece/wolfresults_2D.py
CHANGED
@@ -5431,7 +5431,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
5431
5431
|
head[ij]= z[ij] + v[ij]**2./2/9.81
|
5432
5432
|
|
5433
5433
|
# Fill the time of arrival
|
5434
|
-
danger_map_matrix_toa[curblock].array[(danger_map_matrix_toa.array == DEFAULT_TOA) & (wd.array > hmin)] = cur_time
|
5434
|
+
danger_map_matrix_toa[curblock].array[(danger_map_matrix_toa.array == DEFAULT_TOA) & (wd.array > hmin) & (~wd.array.mask)] = cur_time
|
5435
5435
|
|
5436
5436
|
# Fill the time of maximum
|
5437
5437
|
# Searching where wd > h_max
|
@@ -5466,7 +5466,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
5466
5466
|
head[ij]= z[ij] + v[ij]**2./2/9.81
|
5467
5467
|
|
5468
5468
|
# Fill the time of arrival
|
5469
|
-
danger_map_matrix_toa.array[(danger_map_matrix_toa.array == DEFAULT_TOA) & (wd.array > hmin)] = cur_time
|
5469
|
+
danger_map_matrix_toa.array[(danger_map_matrix_toa.array == DEFAULT_TOA) & (wd.array > hmin) & (~wd.array.mask)] = cur_time
|
5470
5470
|
|
5471
5471
|
# Fill the time of maximum
|
5472
5472
|
# Searching where wd > h_max
|
@@ -5616,7 +5616,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
5616
5616
|
danger_toa = danger_map_matrix_toa[i].array
|
5617
5617
|
res_toa = result[5][i].array
|
5618
5618
|
|
5619
|
-
ij = np.where((danger_toa.data == DEFAULT_TOA) & (res_toa.data > 0.))
|
5619
|
+
ij = np.where(((danger_toa.data == DEFAULT_TOA) & (res_toa.data > 0.) & (~res_toa.mask)) | (danger_toa.data > res_toa.data))
|
5620
5620
|
danger_toa.data[ij] = res_toa.data[ij]
|
5621
5621
|
danger_toa.mask[ij] = False
|
5622
5622
|
|
@@ -5657,7 +5657,7 @@ class Wolfresults_2D(Element_To_Draw):
|
|
5657
5657
|
danger_toa = danger_map_matrix_toa.array
|
5658
5658
|
res_toa = result[5].array
|
5659
5659
|
|
5660
|
-
ij = np.where((danger_toa.data == DEFAULT_TOA) & (res_toa.data >
|
5660
|
+
ij = np.where(((danger_toa.data == DEFAULT_TOA) & (res_toa.data > DEFAULT_TOA) & (~res_toa.mask)) | (danger_toa.data > res_toa.data))
|
5661
5661
|
danger_toa.data[ij] = res_toa.data[ij]
|
5662
5662
|
danger_toa.mask[ij] = False
|
5663
5663
|
|
@@ -9,7 +9,7 @@ wolfhece/MulticriteriAnalysis.py,sha256=vGmkzYagZohNe0XjwGJ6VUXcDPjOt80lNFthXpzx
|
|
9
9
|
wolfhece/PandasGrid.py,sha256=etfVhIHzja4Z1EUY6BcDOKX-w7V-Xou1yaf0NMqmclo,4599
|
10
10
|
wolfhece/PyConfig.py,sha256=13DDWjJdohYHwn1uRVHB0s8Jcwq_b9pwcwbAr8NlZyc,19667
|
11
11
|
wolfhece/PyCrosssections.py,sha256=6K9xhupnIVXzLdsLTPN9e1v0xck9BdWZd0-EgpWg9us,133277
|
12
|
-
wolfhece/PyDraw.py,sha256=
|
12
|
+
wolfhece/PyDraw.py,sha256=jCXBonWGmqTQD9AXsii-yalFpUFLKTrfPP2wzh-57NE,741859
|
13
13
|
wolfhece/PyGui.py,sha256=GpVRxNpR8WNDFyHnDvhtHFFsq_cZZlyVgSkFiS-ARYI,185342
|
14
14
|
wolfhece/PyGuiHydrology.py,sha256=dmBlRO8AljsvCPH6eVt0l9ZLx7g5j7Ubl9Srk7ECwyA,34693
|
15
15
|
wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
|
@@ -56,24 +56,24 @@ wolfhece/pyGui1D.py,sha256=9g7OS3YiKsqy--6y0cBD7x2gaqTTYFXWkxImpgnTA20,121937
|
|
56
56
|
wolfhece/pyLandUseFlanders.py,sha256=4R4J4BgP1-W0sebnb-TBreStZx3DKOh1zYj_dg23Ac4,8657
|
57
57
|
wolfhece/pybridges.py,sha256=bFAqjL4ColeJtwvyCPGQ8VllWoq1RbVWXxFrdfrvqm8,65954
|
58
58
|
wolfhece/pydike.py,sha256=dRb6qGkqoTXjf107KcajcIk1F_FuMPaOZLSwixT3dgA,11196
|
59
|
-
wolfhece/pydownloader.py,sha256=
|
59
|
+
wolfhece/pydownloader.py,sha256=jdyOpIZPGgHlo6MakklLHIqsTmDMrbDVeKchSpij_K4,16245
|
60
60
|
wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
|
61
61
|
wolfhece/pypolygons_scen.py,sha256=NWaNeK0RSUeOkgukeogK9FLmQiDjGZ9yhqs9208fojM,46237
|
62
62
|
wolfhece/pyshields.py,sha256=KMtUO5kD0lisKnJD1NsDz-qaY5DpFcmS4O3WkXtUSmo,27898
|
63
63
|
wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
|
64
|
-
wolfhece/pywalous.py,sha256=
|
64
|
+
wolfhece/pywalous.py,sha256=Vl0WH0OZLOguV4JWhfJNwo0CgGneyD3DznFbyfAME-w,32221
|
65
65
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
66
66
|
wolfhece/textpillow.py,sha256=7hgfsLYAaE_rNKD-g8xsON8sdWvoV8vbqnGGxIayShE,14137
|
67
67
|
wolfhece/tools2d_dll.py,sha256=TfvvmyZUqEZIH0uHwUCJf0bdmCks_AiidDt23Unsp5w,13550
|
68
68
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
69
69
|
wolfhece/toolshydrology_dll.py,sha256=cIGyhxV8H5f7GXhDqAamM7uC0W0hQTou3eTkqZdnqBE,5656
|
70
|
-
wolfhece/wolf_array.py,sha256=
|
70
|
+
wolfhece/wolf_array.py,sha256=39O7kYjksEbCC2yn0mu6AfabmVrBWrmoybbfjw4gfIQ,578890
|
71
71
|
wolfhece/wolf_hist.py,sha256=fTEb60Q4TEwobdZsRU4CFXAId1eOKdWAqF8lnF1xEWc,3590
|
72
72
|
wolfhece/wolf_texture.py,sha256=Pt1j_lX74p70Fj3y3qYxYMuN8gghVd8_ih1vFhTIdkA,23884
|
73
73
|
wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
|
74
74
|
wolfhece/wolf_vrt.py,sha256=wbxXVN7TL9zgdyF79S-4e3pje6wJEAgBEfF_Y8kkzxs,14271
|
75
75
|
wolfhece/wolf_zi_db.py,sha256=kz1TofsPfuBQqwYEM32wZl4b-jqgAygorZSm2JnGJ_k,42450
|
76
|
-
wolfhece/wolfresults_2D.py,sha256=
|
76
|
+
wolfhece/wolfresults_2D.py,sha256=BTewbH0zX55iLLbY3KuHVMAOCsvif2FMvF1SQMJFgf0,245893
|
77
77
|
wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
|
78
78
|
wolfhece/acceptability/Parallels.py,sha256=2wVkfJYor4yl7VYiAZiGGTFwtAab2z66ZfRtBliVweE,4088
|
79
79
|
wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
|
@@ -95,7 +95,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
|
|
95
95
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
96
96
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
97
97
|
wolfhece/apps/splashscreen.py,sha256=EdGDN9NhudIiP7c3gVqj7dp4MWFB8ySizM_tpMnsgpE,3091
|
98
|
-
wolfhece/apps/version.py,sha256=
|
98
|
+
wolfhece/apps/version.py,sha256=aOHEtZqRpvSjcC4VtpzMUp8extpQ1AUSw4MRuICsvz0,388
|
99
99
|
wolfhece/apps/wolf.py,sha256=mRnjYsUu4KIsRuamdQWAINFMuwN4eJgMo9erG-hkZ70,729
|
100
100
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
101
101
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -131,7 +131,7 @@ wolfhece/eva/bootstrap.py,sha256=Ys4xTDIvG_QtxCKWLYzb3_XAZU441jGX7fHIbd9Mvr0,840
|
|
131
131
|
wolfhece/eva/hydrogramme_mono.py,sha256=uZFIgJJ-JogMFzt7D7OnyVaHvgxCQJPZz9W9FgnuthA,8138
|
132
132
|
wolfhece/eva/joint_models.py,sha256=RqPLb0g775zJIe3X3nwaf1g1dqnEIUbJjPMae_J_nmM,5863
|
133
133
|
wolfhece/eva/mixture_models.py,sha256=Eq9fU7GjbSLHqCE5mdkIC5oAJhv6aNxY9kwnqlcOmc8,16221
|
134
|
-
wolfhece/eva/pyseries.py,sha256=
|
134
|
+
wolfhece/eva/pyseries.py,sha256=iUTM31qZefT-iKRvMEmVfWXEZMr3_h0ypPqwFQ1Zm9E,119590
|
135
135
|
wolfhece/fonts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
136
|
wolfhece/fonts/arial.ttf,sha256=lXZrWPfYabD6LPbm_rJsGyHN8mMfHFhj_JvSBtXG6O4,915212
|
137
137
|
wolfhece/fonts/helvetica.ttf,sha256=X4Zd3zdUmuRGMLE6UB-BMIbirpdK3Ia5czfNnuSx5P8,317968
|
@@ -161,8 +161,8 @@ wolfhece/hydrology/read.py,sha256=H-sK4hU23snrZC3BDLUHJqUTUBwvQ48ZFgxE-6PxDYg,11
|
|
161
161
|
wolfhece/hydrology/slope_manager.py,sha256=vlek0z8qcqB61eleiksyOe3QR1vpbtwfeowy6ms7_Fg,5580
|
162
162
|
wolfhece/hydrology/wolfMap_treatment.py,sha256=eAxr24zJGwmDof1aZpcxewVvv_bWDvoO8t9Wwf99Mlo,10606
|
163
163
|
wolfhece/hydrometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
-
wolfhece/hydrometry/kiwis.py,sha256=
|
165
|
-
wolfhece/hydrometry/kiwis_gui.py,sha256=
|
164
|
+
wolfhece/hydrometry/kiwis.py,sha256=aXf9QpbDld2K3jWOYLVcGj5Y_GBs2wFCUv7HGVHTK3w,65557
|
165
|
+
wolfhece/hydrometry/kiwis_gui.py,sha256=bXUfIRlP0Cmcoe-sw-0KaFLoAUfQ8yCVPBX-xLSfuBs,25113
|
166
166
|
wolfhece/hydrometry/kiwis_wolfgui.py,sha256=GPa5YNp2V2ZlxYQjPiCXERgPuWB_zij4ec2yHpRvoFA,4027
|
167
167
|
wolfhece/icons/folder_open.png,sha256=ykBlU2FtGcpjAu1YO4_eGlDg2svgs_IAs-4d5O2e3AM,2329
|
168
168
|
wolfhece/icons/folder_plus.png,sha256=Z1Jcs87Z6pNcudxGDTNhC_hgolSSaXe6_fmQE_n-ero,1963
|
@@ -235,7 +235,7 @@ wolfhece/mar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
235
235
|
wolfhece/mar/commontools.py,sha256=SiSxpv5BFYEBCEydsE4ZmBuot3KTy0UYMx2aa-4fbuQ,52549
|
236
236
|
wolfhece/mar/interface_MAR_WOLF.py,sha256=MWeXaHLDT4Eo9jZOAvz013lmpgGYT1v9VUYGAgBgSRU,21454
|
237
237
|
wolfhece/math_parser/__init__.py,sha256=Mi7YTrlJtcflyrRdZHHgE-uNPUFfOWmsf8FsOwKBRPI,27961
|
238
|
-
wolfhece/math_parser/calculator.py,sha256=
|
238
|
+
wolfhece/math_parser/calculator.py,sha256=NYPcNWMBhbnYTK3tqEnbn1vyAcyw_ogNDki1SN7Do_4,7497
|
239
239
|
wolfhece/mesh2d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
240
240
|
wolfhece/mesh2d/bc_manager.py,sha256=BmNT-M0uWe5--AhxiS4EWziHad4RL-D7wUySqXTICsY,54237
|
241
241
|
wolfhece/mesh2d/cell_tracker.py,sha256=mPmnD5lEf3gLPuLqtAIo-Gp-ipAwQdPxzjWOGt0b7jM,8958
|
@@ -243,7 +243,7 @@ wolfhece/mesh2d/config_manager.py,sha256=DcdxCIIs_dyC6ayJOBULeY364LONogL9PBaqBtC
|
|
243
243
|
wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=r43pHHdCtmNp5R2zh1Ckb7EzwQDf6C4YMLwRFTl4KMc,5006
|
244
244
|
wolfhece/mesh2d/gpu_2d.py,sha256=xyZst3ZSYmRp9G0kxlUvTahAiMC9sNEH0MRUlEjqFZI,25999
|
245
245
|
wolfhece/mesh2d/simple_2d.py,sha256=wqENJwpUPxKQcpGIcymQXUj2KgkGWCVH6cs4Os9h9Gs,112581
|
246
|
-
wolfhece/mesh2d/wolf2dprev.py,sha256=
|
246
|
+
wolfhece/mesh2d/wolf2dprev.py,sha256=823RckzGGCQ00h0uti-nL7JoVsAZ_Hv9C02lnvizDIg,495518
|
247
247
|
wolfhece/models/5_coul.pal,sha256=OI1UqcNIDBpJn2k_VDel__r-hKjjvdob0eqinGCI3QY,160
|
248
248
|
wolfhece/models/6_coul.pal,sha256=z7NK2dg0tAQBUweRQV54dIwJbPM1U5y1AR2LLw19Idw,148
|
249
249
|
wolfhece/models/7_coul.pal,sha256=XTnnUyCE8ONokScB2YzYDnSTft7E6sppmr7P-XwMsCE,205
|
@@ -265,6 +265,7 @@ wolfhece/models/shields_cst.pal,sha256=zUGFI6HiL0bsHeOzcWNih3F9cxXKXLLZYA5rtqRbz
|
|
265
265
|
wolfhece/models/vulnerability.pal,sha256=Fevrc_9owywLhbPMBunXDcrGXPJhARo9iSV1eOq3roA,106
|
266
266
|
wolfhece/models/walous_niv1.pal,sha256=mHMjCB-ja47mV3ZsvDOhS2CEK8YN6ewOkf1W7l7JQ8k,138
|
267
267
|
wolfhece/models/walous_niv2.pal,sha256=B5wt5-O88dpaiA6yR4uriOy0tfDVU_cms0Xr6Dw9ZGg,377
|
268
|
+
wolfhece/models/walous_ocs.pal,sha256=DlicMO2qlH3_WPm_bwVBK6lTuUn2MXRcfIpkjl8D2oo,227
|
268
269
|
wolfhece/models/waterdepths.pal,sha256=8rcQfuZOeLKzYv5sARPkhpvZYc1OToj3ZukcbuRUgIY,136
|
269
270
|
wolfhece/models/white_black.pal,sha256=BKjVN1kuk1OtJB9S3uM5fxteWbggI3Pb8p9WdDptT4c,51
|
270
271
|
wolfhece/opengl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -290,7 +291,7 @@ wolfhece/report/tools.py,sha256=ZA4PfHQXgvDtTnrSZh-oSwhQT_cQtb49LuZB8VI7nyI,9685
|
|
290
291
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
291
292
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
292
293
|
wolfhece/scenario/check_scenario.py,sha256=d-LWa_FxmPxTSc_H1lDHwqLB6TCqj1IUrRJhatfPMMA,5623
|
293
|
-
wolfhece/scenario/config_manager.py,sha256=
|
294
|
+
wolfhece/scenario/config_manager.py,sha256=K4KLL2ZFhlZl88uxFL4A4t_W6qan2zeBehlnjvi709w,126969
|
294
295
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
295
296
|
wolfhece/scenario/update_void.py,sha256=Yb7TMIUx9Gzm9_6qRMJnF39Uqi17dIkMmscSXo2WaTs,10033
|
296
297
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -319,8 +320,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=u4C7CXe_bUyGKx7c_Bi0x9
|
|
319
320
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
320
321
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
321
322
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
322
|
-
wolfhece-2.2.
|
323
|
-
wolfhece-2.2.
|
324
|
-
wolfhece-2.2.
|
325
|
-
wolfhece-2.2.
|
326
|
-
wolfhece-2.2.
|
323
|
+
wolfhece-2.2.42.dist-info/METADATA,sha256=qjWwy3fkLflM8KkQ6xXqvlK-GY598fnWupRva1TyNPM,2785
|
324
|
+
wolfhece-2.2.42.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
325
|
+
wolfhece-2.2.42.dist-info/entry_points.txt,sha256=Jr187pyvA3EeJiQLjZK9yo6mJX7IAn6ygZU9T8qF_gQ,658
|
326
|
+
wolfhece-2.2.42.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
327
|
+
wolfhece-2.2.42.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|