wolfhece 2.2.38__py3-none-any.whl → 2.2.39__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.
Files changed (49) hide show
  1. wolfhece/Coordinates_operations.py +5 -0
  2. wolfhece/GraphNotebook.py +72 -1
  3. wolfhece/GraphProfile.py +1 -1
  4. wolfhece/MulticriteriAnalysis.py +1579 -0
  5. wolfhece/PandasGrid.py +62 -1
  6. wolfhece/PyCrosssections.py +194 -43
  7. wolfhece/PyDraw.py +891 -73
  8. wolfhece/PyGui.py +913 -72
  9. wolfhece/PyGuiHydrology.py +528 -74
  10. wolfhece/PyPalette.py +26 -4
  11. wolfhece/PyParams.py +33 -0
  12. wolfhece/PyPictures.py +2 -2
  13. wolfhece/PyVertex.py +25 -0
  14. wolfhece/PyVertexvectors.py +94 -28
  15. wolfhece/PyWMS.py +52 -36
  16. wolfhece/acceptability/acceptability.py +15 -8
  17. wolfhece/acceptability/acceptability_gui.py +507 -360
  18. wolfhece/acceptability/func.py +80 -183
  19. wolfhece/apps/version.py +1 -1
  20. wolfhece/compare_series.py +480 -0
  21. wolfhece/drawing_obj.py +12 -1
  22. wolfhece/hydrology/Catchment.py +228 -162
  23. wolfhece/hydrology/Internal_variables.py +43 -2
  24. wolfhece/hydrology/Models_characteristics.py +69 -67
  25. wolfhece/hydrology/Optimisation.py +893 -182
  26. wolfhece/hydrology/PyWatershed.py +267 -165
  27. wolfhece/hydrology/SubBasin.py +185 -140
  28. wolfhece/hydrology/cst_exchanges.py +76 -1
  29. wolfhece/hydrology/forcedexchanges.py +413 -49
  30. wolfhece/hydrology/read.py +65 -5
  31. wolfhece/hydrometry/kiwis.py +14 -7
  32. wolfhece/insyde_be/INBE_func.py +746 -0
  33. wolfhece/insyde_be/INBE_gui.py +1776 -0
  34. wolfhece/insyde_be/__init__.py +3 -0
  35. wolfhece/interpolating_raster.py +366 -0
  36. wolfhece/irm_alaro.py +1457 -0
  37. wolfhece/irm_qdf.py +889 -57
  38. wolfhece/lifewatch.py +6 -3
  39. wolfhece/picc.py +124 -8
  40. wolfhece/pyLandUseFlanders.py +146 -0
  41. wolfhece/pydownloader.py +2 -1
  42. wolfhece/pywalous.py +225 -31
  43. wolfhece/toolshydrology_dll.py +149 -0
  44. wolfhece/wolf_array.py +63 -25
  45. {wolfhece-2.2.38.dist-info → wolfhece-2.2.39.dist-info}/METADATA +3 -1
  46. {wolfhece-2.2.38.dist-info → wolfhece-2.2.39.dist-info}/RECORD +49 -40
  47. {wolfhece-2.2.38.dist-info → wolfhece-2.2.39.dist-info}/WHEEL +0 -0
  48. {wolfhece-2.2.38.dist-info → wolfhece-2.2.39.dist-info}/entry_points.txt +0 -0
  49. {wolfhece-2.2.38.dist-info → wolfhece-2.2.39.dist-info}/top_level.txt +0 -0
wolfhece/wolf_array.py CHANGED
@@ -1079,6 +1079,9 @@ class header_wolf():
1079
1079
  tmp = curline.split(' ')
1080
1080
  self.nullvalue = float(tmp[-1])
1081
1081
 
1082
+ self.origx -= self.dx*0.5
1083
+ self.origy += self.dy*0.5
1084
+
1082
1085
  if self.flipupd:
1083
1086
  self.origy -= self.dy*float(self.nby)
1084
1087
 
@@ -1151,6 +1154,8 @@ class header_wolf():
1151
1154
  def read_header(cls, filename:str) -> "header_wolf":
1152
1155
  """
1153
1156
  alias for read_txt_header
1157
+
1158
+ :param filename: path and filename of the basefile
1154
1159
  """
1155
1160
  newhead = cls()
1156
1161
  newhead.read_txt_header(filename)
@@ -6160,7 +6165,7 @@ class WolfArray(Element_To_Draw, header_wolf):
6160
6165
  Constructor of the WolfArray class
6161
6166
 
6162
6167
  :param fname: filename/filepath - if provided, the file will be read on disk
6163
- :param mold: initialize from a copy a the mold object --> must be a WolArray if not None
6168
+ :param mold: initialize from a copy a the mold object --> must be a WolfArray if not None - Do not impose the type of the array. The source array will be converted if necessary. Change "whichtype" to impose a type.
6164
6169
  :param masknull: mask data based on the nullvalue
6165
6170
  :param crop: crop data based on the spatial extent [[xmin, xmax], [ymin,ymax]]
6166
6171
  :param whichtype: type of the numpy array (float32 as default)
@@ -6252,9 +6257,9 @@ class WolfArray(Element_To_Draw, header_wolf):
6252
6257
  self.dy = header.dy
6253
6258
  self.dz = header.dz
6254
6259
 
6255
- self.nbx = header.nbx
6256
- self.nby = header.nby
6257
- self.nbz = header.nbz
6260
+ self.nbx = int(header.nbx)
6261
+ self.nby = int(header.nby)
6262
+ self.nbz = int(header.nbz)
6258
6263
 
6259
6264
  self.head_blocks = header.head_blocks.copy()
6260
6265
 
@@ -6286,17 +6291,17 @@ class WolfArray(Element_To_Draw, header_wolf):
6286
6291
  return
6287
6292
 
6288
6293
  self.filename = str(fname)
6289
- logging.info(_('Loading file : %s') % self.filename)
6294
+ logging.debug(_('Loading file : %s') % self.filename)
6290
6295
  self.read_all()
6291
6296
 
6292
6297
  if mask_source is not None:
6293
- logging.info(_('Applying mask from source'))
6298
+ logging.debug(_('Applying mask from source'))
6294
6299
  self.copy_mask_log(mask_source)
6295
- logging.info(_('Data masked'))
6300
+ logging.debug(_('Data masked'))
6296
6301
  elif masknull and (self.preload or self.loaded):
6297
- logging.info(_('Masking data with nullvalue'))
6302
+ logging.debug(_('Masking data with nullvalue'))
6298
6303
  self.mask_data(self.nullvalue)
6299
- logging.info(_('Data masked'))
6304
+ logging.debug(_('Data masked'))
6300
6305
 
6301
6306
  elif mold is not None:
6302
6307
  if self.cropini is None:
@@ -6455,9 +6460,11 @@ class WolfArray(Element_To_Draw, header_wolf):
6455
6460
  del self.mypal
6456
6461
  if hasattr(self, 'shaded'):
6457
6462
  del self.shaded
6458
- # Perform garbage collection if gc is available
6459
- import gc
6460
- gc.collect()
6463
+
6464
+ if sys.meta_path is not None:
6465
+ # Perform garbage collection if gc is available
6466
+ import gc
6467
+ gc.collect()
6461
6468
  except Exception as e:
6462
6469
  print(f"Exception in WolfArray destructor: {e} -- Please report this issue")
6463
6470
 
@@ -6700,7 +6707,7 @@ class WolfArray(Element_To_Draw, header_wolf):
6700
6707
  """
6701
6708
 
6702
6709
  if self.wolftype in [WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_SYM_DOUBLE, WOLF_ARRAY_CSR_DOUBLE]:
6703
- dtype = _('float64 - 8 bytes poer values')
6710
+ dtype = _('float64 - 8 bytes per values')
6704
6711
  elif self.wolftype in [WOLF_ARRAY_FULL_SINGLE, WOLF_ARRAY_FULL_SINGLE_3D, WOLF_ARRAY_MB_SINGLE]:
6705
6712
  dtype = _('float32 - 4 bytes per values')
6706
6713
  elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_MB_INTEGER, WOLF_ARRAY_MNAP_INTEGER]:
@@ -9913,7 +9920,7 @@ class WolfArray(Element_To_Draw, header_wolf):
9913
9920
 
9914
9921
  ret = {}
9915
9922
  if isinstance(zones, Zones):
9916
- out = ret[myzones.myname] = {}
9923
+ out = ret[zones.idx] = {}
9917
9924
  myzones = zones.myzones
9918
9925
  elif isinstance(zones, list):
9919
9926
  myzones = zones
@@ -10086,8 +10093,12 @@ class WolfArray(Element_To_Draw, header_wolf):
10086
10093
  THRESHOLD = 100_000_000
10087
10094
 
10088
10095
  if not os.path.exists(self.filename):
10096
+ logging.error(_('No data file : ')+self.filename)
10089
10097
  if self.wx_exists:
10090
- logging.warning(_('No data file : ')+self.filename)
10098
+ dlg = wx.MessageDialog(None, _('No data file : ')+self.filename,
10099
+ _('Wolf array'), wx.OK | wx.ICON_ERROR)
10100
+ dlg.ShowModal()
10101
+ dlg.Destroy()
10091
10102
  return
10092
10103
 
10093
10104
  def check_threshold(nbx, nby, THRESHOLD) -> bool:
@@ -10310,7 +10321,11 @@ class WolfArray(Element_To_Draw, header_wolf):
10310
10321
  if np.mod(self.nby,factor) !=0:
10311
10322
  newnby = int(self.nby + factor - np.mod(self.nby,factor))
10312
10323
 
10313
- newarray = np.ma.ones((newnbx,newnby), dtype = self.dtype) * self.nullvalue
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
10314
10329
  newarray[:self.nbx,:self.nby] = self.array
10315
10330
  newarray.mask[:self.nbx,:self.nby] = self.array.mask
10316
10331
  self.array = newarray
@@ -10354,14 +10369,20 @@ class WolfArray(Element_To_Draw, header_wolf):
10354
10369
 
10355
10370
  self.set_nullvalue_in_mask()
10356
10371
  else:
10357
- self.array = np.kron(self.array, np.ones((int(1/factor), int(1/factor)), dtype=self.array.dtype))
10372
+
10373
+ if (int(1/factor) - 1/factor) > 1e-6:
10374
+ logging.warning(f"The factor {factor} doesn't lead to an integer dimension for the Kronecker product")
10375
+
10376
+ ones = np.ones( (int(1/factor), int(1/factor)), dtype=int)
10377
+ self.array = np.kron(self.array, ones).astype(self.array.dtype)
10378
+
10358
10379
 
10359
10380
  self.mask_data(self.nullvalue)
10360
10381
 
10361
10382
  self.count()
10362
10383
 
10363
10384
  # rebin must not change the type of the array
10364
- assert self.array.dtype == self.dtype, _('Bad dtype')
10385
+ assert self.array.dtype == self.dtype, _(f'Bad dtype: {self.array.dtype} != {self.dtype}')
10365
10386
 
10366
10387
  def read_txt_header(self):
10367
10388
  """
@@ -10379,6 +10400,11 @@ class WolfArray(Element_To_Draw, header_wolf):
10379
10400
 
10380
10401
  super().write_txt_header(self.filename+'.txt', self.wolftype, forceupdate=True)
10381
10402
 
10403
+ def _reload(self):
10404
+ """ Reload the data from the file """
10405
+ self.read_all()
10406
+ self.mask_force_null()
10407
+
10382
10408
  def read_data(self):
10383
10409
  """Opération de lecture des données depuis le fichier connu"""
10384
10410
  if not os.path.exists(self.filename):
@@ -10631,23 +10657,35 @@ class WolfArray(Element_To_Draw, header_wolf):
10631
10657
  return Array
10632
10658
 
10633
10659
  def fillin_from_xyz(self, xyz:np.ndarray):
10634
- """ Remplissage du tableau à partir d'un tableau xyz """
10660
+ """ Remplissage du tableau à partir d'un tableau xyz.
10661
+
10662
+ :param xyz: Numpy array - shape (n, 3)
10663
+ """
10664
+
10665
+ ij = self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])
10666
+ # filter points outside the array
10667
+ filter = (ij[0] >= 0) & (ij[0] < self.nbx) & (ij[1] >= 0) & (ij[1] < self.nby)
10668
+ xyz = xyz[filter]
10669
+ ij = (ij[0][filter], ij[1][filter])
10635
10670
 
10636
10671
  if self.dtype == np.float32:
10637
- self.array.data[self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])] = np.float32(xyz[:, 2])
10672
+ self.array.data[ij] = np.float32(xyz[:, 2])
10638
10673
  elif self.dtype == np.float64:
10639
- self.array.data[self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])] = np.float64(xyz[:, 2])
10674
+ self.array.data[ij] = np.float64(xyz[:, 2])
10640
10675
  elif self.dtype == np.int32:
10641
- self.array.data[self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])] = np.int32(xyz[:, 2])
10676
+ self.array.data[ij] = np.int32(xyz[:, 2])
10642
10677
  elif self.dtype == np.int16:
10643
- self.array.data[self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])] = np.int16(xyz[:, 2])
10678
+ self.array.data[ij] = np.int16(xyz[:, 2])
10644
10679
  elif self.dtype == np.int8:
10645
- self.array.data[self.get_ij_from_xy(xyz[:, 0], xyz[:, 1])] = np.int8(xyz[:, 2])
10680
+ self.array.data[ij] = np.int8(xyz[:, 2])
10646
10681
  else:
10647
10682
  logging.warning(_('Type not supported : ')+str(self.dtype))
10648
10683
 
10649
10684
  def fillin_from_ijz(self, ijz:np.ndarray):
10650
- """ Remplissage du tableau à partir d'un tableau ijz """
10685
+ """ Remplissage du tableau à partir d'un tableau ijz
10686
+
10687
+ :param ijz: Numpy array - shape (n, 3)
10688
+ """
10651
10689
 
10652
10690
  try:
10653
10691
  i = ijz[:, 0].astype(int)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wolfhece
3
- Version: 2.2.38
3
+ Version: 2.2.39
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
@@ -75,6 +75,8 @@ Requires-Dist: contextily
75
75
  Requires-Dist: pefile
76
76
  Requires-Dist: wolfpydike
77
77
  Requires-Dist: PyMuPDF
78
+ Requires-Dist: eccodes
79
+ Requires-Dist: dataframe_image
78
80
 
79
81
  This package contains the Python graphical interface for the WOLF software (HECE - ULiège), along with several tools for topographic, hydraulic, and hydrological processing.
80
82
 
@@ -1,24 +1,25 @@
1
- wolfhece/Coordinates_operations.py,sha256=KaIcP1b0IpKSLaynZgfvwkD6wsMKLmZo-kxeLfv9-8c,8101
1
+ wolfhece/Coordinates_operations.py,sha256=DSkzJ1Rm4y89I9tuyyAA9mp-EHp9vl5w2qGpNJ-e9qs,8215
2
2
  wolfhece/CpGrid.py,sha256=_piG1u-ua7NzWh_PHJYTmxuPJ43ZfeYKNEQgZIJwDJ8,10660
3
- wolfhece/GraphNotebook.py,sha256=2TR8qjEwpMtl34QWgYNVe_PgTnuwhUxT5f9Y2zrmN2U,28257
4
- wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,69656
3
+ wolfhece/GraphNotebook.py,sha256=_VZfakR5eXBZE-4Ztv2n12ZDO8zESoeDfCz_9k__T20,31509
4
+ wolfhece/GraphProfile.py,sha256=PhdgRIt7jHWEM_msnVysk18-JpS1f55tnfJzq7fDTfM,69676
5
5
  wolfhece/Lidar2002.py,sha256=bX-nIzdpjD7rOfEgJpTeaW6rIdAXwDp_z4YTM9CgANY,6068
6
6
  wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
7
7
  wolfhece/Model1D.py,sha256=snEmu8Uj2YGcp1ybPnly-4A389XRnuOujGduqInNcgw,477001
8
- wolfhece/PandasGrid.py,sha256=YIleVkUkoP2MjtQBZ9Xgwk61zbgMj4Pmjj-clVTfPRs,2353
8
+ wolfhece/MulticriteriAnalysis.py,sha256=vGmkzYagZohNe0XjwGJ6VUXcDPjOt80lNFthXpzxCF0,59572
9
+ wolfhece/PandasGrid.py,sha256=etfVhIHzja4Z1EUY6BcDOKX-w7V-Xou1yaf0NMqmclo,4599
9
10
  wolfhece/PyConfig.py,sha256=13DDWjJdohYHwn1uRVHB0s8Jcwq_b9pwcwbAr8NlZyc,19667
10
- wolfhece/PyCrosssections.py,sha256=2m372NSriH41AcIk723y2i44mwUXodbIMIzqkuVMjUY,127365
11
- wolfhece/PyDraw.py,sha256=F2zS8Mf8H44JDsV-ZaXaMIGx3lSFDUIyCeoLDQYRAiU,690532
12
- wolfhece/PyGui.py,sha256=mcLuHT_pGjW1ltJ-kjNFstVXyeBoZRCvM3vHWv5srB8,148594
13
- wolfhece/PyGuiHydrology.py,sha256=sKafpOopBg50L5llZCI_fZtbebVTDtxvoRI6-osUwhg,14745
11
+ wolfhece/PyCrosssections.py,sha256=6K9xhupnIVXzLdsLTPN9e1v0xck9BdWZd0-EgpWg9us,133277
12
+ wolfhece/PyDraw.py,sha256=XjIi5yDcl56C5fFHQUFdJvyU7r8jJ9z7aRVPOZijQcI,727297
13
+ wolfhece/PyGui.py,sha256=GpVRxNpR8WNDFyHnDvhtHFFsq_cZZlyVgSkFiS-ARYI,185342
14
+ wolfhece/PyGuiHydrology.py,sha256=dmBlRO8AljsvCPH6eVt0l9ZLx7g5j7Ubl9Srk7ECwyA,34693
14
15
  wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
15
- wolfhece/PyPalette.py,sha256=SiRngKml2EXsq1jwQvqh5pBZiV1yS0CY7QrRJGSZD1s,36281
16
- wolfhece/PyParams.py,sha256=BgTAwxxq831rYEq_KLcFBX_upjiSUpVtfoQnCxCNWUI,100443
17
- wolfhece/PyPictures.py,sha256=5X2HBkZG1gTaMKMu6UoU-cOY8SRkFyPScJ8bhdoNY7g,18930
16
+ wolfhece/PyPalette.py,sha256=OQHyMSr5XXj_NgxABfhdW20IvAsLsdnmsdtW4rvq5Fo,37218
17
+ wolfhece/PyParams.py,sha256=900BIaS7hzFwddsrpowWshf5kjQJKYVhnFykMVTlRSM,102063
18
+ wolfhece/PyPictures.py,sha256=qcKwyCmZA0V7Kcr1FiLmcMlVhX0BgIZsJawAIKt8qt4,18932
18
19
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
19
- wolfhece/PyVertex.py,sha256=dg6pqYRBlveodKhpg9YQv3zBPq2TS986HhyTtlZIXGU,51274
20
- wolfhece/PyVertexvectors.py,sha256=1-XhaaLa8dmwM0524vaUqyEIBzzd4313oRFnWYCXCUo,375606
21
- wolfhece/PyWMS.py,sha256=XcSlav5icct2UwV7K2r7vpxa5rKZWiHkp732lI94HFI,31534
20
+ wolfhece/PyVertex.py,sha256=0KUzHc4ozuiZKuej6Xx4lyzE7vFOKeBO5dGk-K5LtHo,51893
21
+ wolfhece/PyVertexvectors.py,sha256=HaOCora21-foEP0qYQbK-GqirYgiql8qd719xL-oilw,378066
22
+ wolfhece/PyWMS.py,sha256=MOOikPo-jZv1oPUruGv6XR_Pn_W3h-eNBeRgi_pRNOc,32031
22
23
  wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
23
24
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
24
25
  wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
@@ -30,8 +31,9 @@ wolfhece/analyze_poly.py,sha256=LewmoMSCAr_5zTeqKR0C1eWwjWh7zPjsSdsDyAV-yuk,6087
30
31
  wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
31
32
  wolfhece/cli.py,sha256=h1tSMHALiftktreyugKcjbASXfpJUm9UYMeVxR-MtG4,6424
32
33
  wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,37121
34
+ wolfhece/compare_series.py,sha256=M8Xce8vexq3KyVoN-de7pcgCVW0A16vrvlYZegfbwBM,17674
33
35
  wolfhece/dike.py,sha256=eG9EDCRk46Nlzpg5OycUeOag_T8joyJ2wzTkQgAT5F0,30710
34
- wolfhece/drawing_obj.py,sha256=7vY04B6r08nurTTFmBXHyR5tVIF1YzAEw_uz4pqTDIw,4233
36
+ wolfhece/drawing_obj.py,sha256=O_K9xlsiPn305YS_2oWTlv3-rBuGiCkwWEcYAwlJRGs,4514
35
37
  wolfhece/eikonal.py,sha256=iDeDs571sVXGe4IsPSJ1Sa4hX8Ri2jWE7u83xzvA2K8,23189
36
38
  wolfhece/flow_SPWMI.py,sha256=XDAelwAY-3rYOR0WKW3fgYJ_r8DU4IP6Y5xULW421tk,20956
37
39
  wolfhece/friction_law.py,sha256=_VrcFm2E--RfOvGjsazL5Zve_p5fIhzsT62AElI5E04,5501
@@ -39,29 +41,33 @@ wolfhece/gpuview.py,sha256=Jql8pLZ0PpvZ_ScT-U4jsXANZ9j4-m_RWhsLA2HISuQ,24544
39
41
  wolfhece/images_tiles.py,sha256=w5BX6kRqA0wW9TWyKrJUIRl-XyqHclq_kp5ET2VA0Sg,3227
40
42
  wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4465
41
43
  wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
42
- wolfhece/irm_qdf.py,sha256=doG2Q6PZEXkPVaN9-233qfd4FRCmdRKnrgvxounhasQ,32728
44
+ wolfhece/interpolating_raster.py,sha256=nfDMypEE5uDfdLtTabCw7suPTfDwMZESQNgBLe38mVY,16177
45
+ wolfhece/irm_alaro.py,sha256=_QWdd4zQsXyhYQtidzwPNoKCjNVJ-dsQn-zn0w0H1Is,56555
46
+ wolfhece/irm_qdf.py,sha256=K7zUgK91OqbrxfIBLh4ZTgFwDqRGdQZZt5eJSyi70JU,68457
43
47
  wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
44
48
  wolfhece/lagrange_multiplier.py,sha256=0G-M7b2tGzLx9v0oNYYq4_tLAiHcs_39B4o4W3TUVWM,6567
45
- wolfhece/lifewatch.py,sha256=Q_Wy6VGkrD-xxY0fv3PKpT8U8oXxNMgiLlrAE3bMheo,16340
49
+ wolfhece/lifewatch.py,sha256=F_Vw5X2Nh0GB9WpAsyRdts3EJ6syaX4vexXN9ePBTqo,16637
46
50
  wolfhece/matplotlib_fig.py,sha256=vnFI6sghw9N9jKhR8X1Z4aWli_5fPNylZQtFuujFJDY,84075
47
51
  wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,21549
48
52
  wolfhece/os_check.py,sha256=SUHyUZ_tuRDvL995LFoJ6ncE91HcYpd9xN8Tfcg4RUA,316
49
- wolfhece/picc.py,sha256=2haBqyY7tMphyifIPafPjC7ZnxZRcD585DDkgEFLATw,9988
53
+ wolfhece/picc.py,sha256=7_Q2N7rlfkoCW6wPljItSRtANL2suhptTW3xz-DjceU,15612
50
54
  wolfhece/pidcontroller.py,sha256=PHYenOdzfyPK2pXAhyRolCxMSMRd2AFza0eVMafpPHk,5205
51
55
  wolfhece/pyGui1D.py,sha256=9g7OS3YiKsqy--6y0cBD7x2gaqTTYFXWkxImpgnTA20,121937
56
+ wolfhece/pyLandUseFlanders.py,sha256=4R4J4BgP1-W0sebnb-TBreStZx3DKOh1zYj_dg23Ac4,8657
52
57
  wolfhece/pybridges.py,sha256=bFAqjL4ColeJtwvyCPGQ8VllWoq1RbVWXxFrdfrvqm8,65954
53
58
  wolfhece/pydike.py,sha256=dRb6qGkqoTXjf107KcajcIk1F_FuMPaOZLSwixT3dgA,11196
54
- wolfhece/pydownloader.py,sha256=5XzkmakblUmYr025NNZ8Ss7yeWCeNbrRJj1-YoAO10M,10376
59
+ wolfhece/pydownloader.py,sha256=DvWkOWIaIg-qsyzyx-SwP0xc6epUZ-gv2khTJZN8d3U,10393
55
60
  wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
56
61
  wolfhece/pypolygons_scen.py,sha256=NWaNeK0RSUeOkgukeogK9FLmQiDjGZ9yhqs9208fojM,46237
57
62
  wolfhece/pyshields.py,sha256=KMtUO5kD0lisKnJD1NsDz-qaY5DpFcmS4O3WkXtUSmo,27898
58
63
  wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
59
- wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
64
+ wolfhece/pywalous.py,sha256=6FTDh0dzKg7H6F7_YXEKT2gmE0OM_a8hvOLhEu4kRpY,26729
60
65
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
61
66
  wolfhece/textpillow.py,sha256=7hgfsLYAaE_rNKD-g8xsON8sdWvoV8vbqnGGxIayShE,14137
62
67
  wolfhece/tools2d_dll.py,sha256=TfvvmyZUqEZIH0uHwUCJf0bdmCks_AiidDt23Unsp5w,13550
63
68
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
64
- wolfhece/wolf_array.py,sha256=8f1cVLe5kTAlFfsWbpNXJXS04FXK0kVxT-YCbvkD2Ow,572989
69
+ wolfhece/toolshydrology_dll.py,sha256=cIGyhxV8H5f7GXhDqAamM7uC0W0hQTou3eTkqZdnqBE,5656
70
+ wolfhece/wolf_array.py,sha256=vhsxF79jcdK1tY1GFjCWx8YupC8D9r-C7nZ9Is2pMO4,574421
65
71
  wolfhece/wolf_hist.py,sha256=fTEb60Q4TEwobdZsRU4CFXAId1eOKdWAqF8lnF1xEWc,3590
66
72
  wolfhece/wolf_texture.py,sha256=Pt1j_lX74p70Fj3y3qYxYMuN8gghVd8_ih1vFhTIdkA,23884
67
73
  wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
@@ -72,10 +78,10 @@ wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
72
78
  wolfhece/acceptability/Parallels.py,sha256=2wVkfJYor4yl7VYiAZiGGTFwtAab2z66ZfRtBliVweE,4088
73
79
  wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
74
80
  wolfhece/acceptability/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
75
- wolfhece/acceptability/acceptability.py,sha256=pw99h5oanVXIRTWtTcEkW3PcvasuPfpR1rkcGBrLaFI,28120
76
- wolfhece/acceptability/acceptability_gui.py,sha256=HSNpYnCCP9g4rBzn1rGMjKw1vYxIcdxu-EfzAjDdtGU,75518
81
+ wolfhece/acceptability/acceptability.py,sha256=_A5QOzYb2hPo0QvVZlkD5aoSmuN5ie1peBEVadjuqJE,28505
82
+ wolfhece/acceptability/acceptability_gui.py,sha256=cn_5U4DCH4AgSErDrCDEa7CET7YxRHfTiNQAh-g2_iE,84458
77
83
  wolfhece/acceptability/cli.py,sha256=ul_GmDnSgKSgA7z5ZIzeA_MlS2uqo-Xi48bqmWUS-Qk,19141
78
- wolfhece/acceptability/func.py,sha256=zW87no63HM2ruo3xJtYZxI5_4VjJExmyihH9e5_Z9cw,75772
84
+ wolfhece/acceptability/func.py,sha256=6FCnwDU333T3xcAkDpIsYFsLmuFsTa0152T6lYiMm8E,71866
79
85
  wolfhece/apps/ManageParams.py,sha256=9okXHGHKEayA9iKTnv8jsVYCP2up5kr6hDaKO_fMCaQ,748
80
86
  wolfhece/apps/Optimisation_hydro.py,sha256=ySIaVsFNEx4PaHFLlT2QW9BiwChVcTNd2TBnW1aICsI,810
81
87
  wolfhece/apps/WolfPython.png,sha256=K3dcbeZUiJCFNwOAAlGMaRGLJ56yM8WD2I_0bk0xT1g,104622
@@ -89,7 +95,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
89
95
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
90
96
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
91
97
  wolfhece/apps/splashscreen.py,sha256=EdGDN9NhudIiP7c3gVqj7dp4MWFB8ySizM_tpMnsgpE,3091
92
- wolfhece/apps/version.py,sha256=zSOtAk-adGkIXfloe0DaNJen1MYZBxqVeiHCM9qL5Gc,388
98
+ wolfhece/apps/version.py,sha256=K0KiOex_hrmAhFyclrpkhVQPRpY51D6WWi2IXhErAlc,388
93
99
  wolfhece/apps/wolf.py,sha256=mRnjYsUu4KIsRuamdQWAINFMuwN4eJgMo9erG-hkZ70,729
94
100
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
95
101
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -132,30 +138,30 @@ wolfhece/fonts/helvetica.ttf,sha256=X4Zd3zdUmuRGMLE6UB-BMIbirpdK3Ia5czfNnuSx5P8,
132
138
  wolfhece/fonts/sanserif.ttf,sha256=Nvv5eMgTl5-bWgV37B7E1-vZpAZPNJwjtJSzMNDrl9A,42696
133
139
  wolfhece/ftp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
140
  wolfhece/ftp/downloader.py,sha256=NANzxSzdcp25dFMYin5QA9UnFexNe6-W2AqqTzUE4f4,5223
135
- wolfhece/hydrology/Catchment.py,sha256=AKMIkGyMUK1TC_lKNZxFYwPt9bYtLOf0vLXILmZuTas,144465
141
+ wolfhece/hydrology/Catchment.py,sha256=3pna7h2zhNLaShG6AdKB-WcfEQidgq88YAQXScCBUFw,147729
136
142
  wolfhece/hydrology/Comparison.py,sha256=5uHQlKZgNUzpUM0xmLZUePuhq38x7w_hsIPO5Lm8lTE,84244
137
143
  wolfhece/hydrology/Dumping.py,sha256=SHGYXr30nMOGPSLArMvAzVxGyLywLf4i267166oUHhQ,2403
138
- wolfhece/hydrology/Internal_variables.py,sha256=F-eLtV3pjzkPkp12qxSDYJsiInvGx-IPqIouTmaQMjg,10141
139
- wolfhece/hydrology/Models_characteristics.py,sha256=qBvmyjpND_hPybR8M5s-FckUViwGdjxr3vv6PvtdQ-s,12614
140
- wolfhece/hydrology/Optimisation.py,sha256=AVEii9E7Lo84LFaAanrFzOB8pqQ-lTE_tu_svoahHZ8,166915
144
+ wolfhece/hydrology/Internal_variables.py,sha256=SpzA1xGlfRTZRHrdbZtjEn219uk6ulPlkkQu69LDn4E,12094
145
+ wolfhece/hydrology/Models_characteristics.py,sha256=WxrYmVFS8bZgCYL5-tQIn7grGcDDzvetK0w1_PNYhYk,14006
146
+ wolfhece/hydrology/Optimisation.py,sha256=pPq-A4XicueIz31lFtNGk6OKggfkuZnJI7xdhh6yllM,207527
141
147
  wolfhece/hydrology/Outlet.py,sha256=jdjYN2gIolQJ5prf1wVfxm7cp_YguwQ0JMRsC9ks-Tg,10519
142
148
  wolfhece/hydrology/PostProcessHydrology.py,sha256=GS2dm9ahDb856apXvTM-oyusTn0xj-ySNpKbHa_jQdw,7419
143
- wolfhece/hydrology/PyWatershed.py,sha256=a26M6tVe4hrQ-a8FyAx7H9-RZcVCU5BBzFff4_YT0UU,97665
149
+ wolfhece/hydrology/PyWatershed.py,sha256=Q0MTpaU5rkZu3erHPwZTIlsvGrVm8yMvoNh-3ayoesU,102665
144
150
  wolfhece/hydrology/RetentionBasin.py,sha256=vFvpnomo5h8ZWq3Hq-YlxRnyqyQqHrojABMKzu3RP6E,83358
145
- wolfhece/hydrology/SubBasin.py,sha256=ORK1VmvBOfyDjfOTxFQ9bcHe78pAoVcRWwu5Vm-CDHo,181790
151
+ wolfhece/hydrology/SubBasin.py,sha256=WPs6Q_Zza4w9dTMe1UpF3I7SxebW9WOpzUEJyJ-Q96E,184868
146
152
  wolfhece/hydrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
153
  wolfhece/hydrology/climate_data.py,sha256=CYCs0ViP389-lbYKeOFSYjPdwvKlHWdMs0RePsl6c2w,13418
148
154
  wolfhece/hydrology/constant.py,sha256=tP-AHRzXNKLtVI3VuqG8Q_tQ0-P5mrX_zFlznB6OeHo,2526
149
- wolfhece/hydrology/cst_exchanges.py,sha256=yT2cSIXjlfshPkSAdhyBxYwCPZ5L9s75BYM24tEO6_4,39699
155
+ wolfhece/hydrology/cst_exchanges.py,sha256=L6VUdxfbMwui93AmMHnyugODjSym8y1p7GZzUKs8WfY,43126
150
156
  wolfhece/hydrology/data_treatment.py,sha256=vHNtEvXHJOdGHjaNjbTTvVoFQjVee-AdspJEesxVNuQ,34967
151
- wolfhece/hydrology/forcedexchanges.py,sha256=MrzMqKISX6G6t3XwkyFQa6tVFfTTC8ifm_nSvrOy5-8,2259
157
+ wolfhece/hydrology/forcedexchanges.py,sha256=rLapzmSyuibP40p4V7pfbrPgoX1KUw-TPn1WG-9TL24,15827
152
158
  wolfhece/hydrology/hyetograms.py,sha256=E24e3zDIfzBk0C-djI61pL6D7G3BVGtpXNTP4UqjIXw,83393
153
159
  wolfhece/hydrology/plot_hydrology.py,sha256=M1cujLxA03SG8P7CkIPVIsrbfsbCwZPpLHQHN2xxm4w,35708
154
- wolfhece/hydrology/read.py,sha256=BaaIp1x44wPQz2LkWtzu7ZNKx3Gw_WDtAw-B4y_C2IU,9553
160
+ wolfhece/hydrology/read.py,sha256=H-sK4hU23snrZC3BDLUHJqUTUBwvQ48ZFgxE-6PxDYg,11843
155
161
  wolfhece/hydrology/slope_manager.py,sha256=vlek0z8qcqB61eleiksyOe3QR1vpbtwfeowy6ms7_Fg,5580
156
162
  wolfhece/hydrology/wolfMap_treatment.py,sha256=eAxr24zJGwmDof1aZpcxewVvv_bWDvoO8t9Wwf99Mlo,10606
157
163
  wolfhece/hydrometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- wolfhece/hydrometry/kiwis.py,sha256=UEShGBMHMqxMj58304GFt_SAoaACZi4PhJVEC8MpZ-E,65130
164
+ wolfhece/hydrometry/kiwis.py,sha256=rhfvRKlKEKIDiwnGfHnT5oDa-I-RHU2ikPqD25urdHw,65463
159
165
  wolfhece/hydrometry/kiwis_gui.py,sha256=s4xCsqkKvI1YcIZ4X2A7hV11zyJFI8Q_4i82jOO6_ys,25060
160
166
  wolfhece/hydrometry/kiwis_wolfgui.py,sha256=GPa5YNp2V2ZlxYQjPiCXERgPuWB_zij4ec2yHpRvoFA,4027
161
167
  wolfhece/icons/folder_open.png,sha256=ykBlU2FtGcpjAu1YO4_eGlDg2svgs_IAs-4d5O2e3AM,2329
@@ -164,6 +170,9 @@ wolfhece/icons/image.png,sha256=jomOPNO4HBArBZe8Ya189Iar5nzhO8c0S9JW-6iaErk,2684
164
170
  wolfhece/icons/multiple_files.png,sha256=qQEZ5740dyYrMGWGop5h0e2Np_bjq3eqg6VC1-7bPm4,1455
165
171
  wolfhece/icons/python.png,sha256=nQiK5h92QC85148vFBx58lUmaSzEvwTCgDr-cumju_4,2573
166
172
  wolfhece/icons/simulation.png,sha256=I48r_TOPqtUA4bsDGlji--9gJjiDaSl2NcVCMf8h9Gk,2094
173
+ wolfhece/insyde_be/INBE_func.py,sha256=CyqwoPoNl82kU0xpbD_s-omOW7_EJURQ5w7JcbfvkCA,36847
174
+ wolfhece/insyde_be/INBE_gui.py,sha256=ICuv-EVXcb48HWSfLT4jEnezaKv0m3i-IvjX_FyWhMY,89115
175
+ wolfhece/insyde_be/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
167
176
  wolfhece/lagrangian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
177
  wolfhece/lagrangian/advection.py,sha256=_fuDx8AcOVWxY1dYq3no3lSCmLwrw49AAAEr6icE-6c,9243
169
178
  wolfhece/lagrangian/emitter.py,sha256=D-94Joy_bJmhwDIomEDVo1q0LsuzrwaSpzSLjCWXSmo,11862
@@ -310,8 +319,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=u4C7CXe_bUyGKx7c_Bi0x9
310
319
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
311
320
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
321
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
313
- wolfhece-2.2.38.dist-info/METADATA,sha256=-p1k0cf0vU1Z873clKqpbu4YwhoQTcXLhqqLXtyNz9M,2729
314
- wolfhece-2.2.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
315
- wolfhece-2.2.38.dist-info/entry_points.txt,sha256=Jr187pyvA3EeJiQLjZK9yo6mJX7IAn6ygZU9T8qF_gQ,658
316
- wolfhece-2.2.38.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
317
- wolfhece-2.2.38.dist-info/RECORD,,
322
+ wolfhece-2.2.39.dist-info/METADATA,sha256=PlUu_DvltuzTlOWhl76oPplEuXVSNZWszz1LIxnEPyQ,2785
323
+ wolfhece-2.2.39.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
324
+ wolfhece-2.2.39.dist-info/entry_points.txt,sha256=Jr187pyvA3EeJiQLjZK9yo6mJX7IAn6ygZU9T8qF_gQ,658
325
+ wolfhece-2.2.39.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
326
+ wolfhece-2.2.39.dist-info/RECORD,,