wolfhece 2.1.110__py3-none-any.whl → 2.1.111__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 CHANGED
@@ -7065,49 +7065,59 @@ class WolfMapViewer(wx.Frame):
7065
7065
 
7066
7066
  if loadfromfile :
7067
7067
  newpal.readfile()
7068
- else:
7069
- with wx.lib.busy.BusyInfo(_('Compute unique colormap from all arrays')):
7070
- wait = wx.BusyCursor()
7071
-
7072
- curarray:WolfArray
7073
- curres2d:Wolfresults_2D
7074
-
7075
- for curarray in self.myarrays:
7076
- if curarray.plotted:
7077
- workingarray.append(curarray.get_working_array())
7078
- nbnotnull+=curarray.nbnotnull
7079
-
7080
- for curres2d in self.myres2D:
7081
- if curres2d.plotted:
7082
- workingarray.append(curres2d.get_working_array())
7083
- nbnotnull+=curres2d.nbnotnull
7084
7068
 
7085
- workingarray = np.concatenate(workingarray)
7069
+ if not newpal.is_valid():
7070
+ logging.warning(_('Palette not valid !'))
7071
+ return
7072
+ else:
7073
+ nb = len(self.myarrays) + len(self.myres2D)
7074
+ pgbar = wx.ProgressDialog(_('Compute unique colormap'), _('Compute unique colormap from all arrays'), maximum=nb, parent=self, style=wx.PD_APP_MODAL|wx.PD_AUTO_HIDE)
7086
7075
 
7087
- newpal.default16()
7088
- newpal.isopop(workingarray, nbnotnull)
7089
- del wait
7076
+ curarray:WolfArray
7077
+ curres2d:Wolfresults_2D
7090
7078
 
7091
- with wx.lib.busy.BusyInfo(_('Apply unique colormap to all arrays')):
7092
- wait = wx.BusyCursor()
7093
7079
  for curarray in self.myarrays:
7094
7080
  if curarray.plotted:
7095
- curarray.mypal.automatic = False
7096
- curarray.myops.palauto.SetValue(0)
7097
- curarray.mypal.values = newpal.values.copy()
7098
- curarray.mypal.colors = newpal.colors.copy()
7099
- curarray.mypal.fill_segmentdata()
7100
- curarray.reset_plot()
7081
+ workingarray.append(curarray.get_working_array())
7082
+ nbnotnull+=curarray.nbnotnull
7083
+ pgbar.Update(pgbar.GetValue() + 1, _('Compute unique colormap from array : ') + curarray.idx)
7101
7084
 
7102
7085
  for curres2d in self.myres2D:
7103
7086
  if curres2d.plotted:
7104
- curres2d.mypal.automatic = False
7105
- curres2d.mypal.nb = newpal.nb
7106
- curres2d.mypal.values = newpal.values.copy()
7107
- curres2d.mypal.colors = newpal.colors.copy()
7108
- curres2d.mypal.fill_segmentdata()
7109
- curres2d.reset_plot()
7110
- del wait
7087
+ workingarray.append(curres2d.get_working_array())
7088
+ nbnotnull+=curres2d.nbnotnull
7089
+ pgbar.Update(pgbar.GetValue() + 1, _('Compute unique colormap from 2D result : ') + curres2d.idx)
7090
+
7091
+ pgbar.Destroy()
7092
+
7093
+ workingarray = np.concatenate(workingarray)
7094
+
7095
+ newpal.default16()
7096
+ newpal.isopop(workingarray, nbnotnull)
7097
+
7098
+ nb = len(self.myarrays) + len(self.myres2D)
7099
+ pgbar = wx.ProgressDialog(_('Applying colormap'), _('Applying colormap to all arrays'), maximum=nb, parent=self, style=wx.PD_APP_MODAL|wx.PD_AUTO_HIDE)
7100
+ for curarray in self.myarrays:
7101
+ if curarray.plotted:
7102
+ curarray.mypal.automatic = False
7103
+ curarray.myops.palauto.SetValue(0)
7104
+ curarray.mypal.values = newpal.values.copy()
7105
+ curarray.mypal.colors = newpal.colors.copy()
7106
+ curarray.mypal.fill_segmentdata()
7107
+ curarray.reset_plot()
7108
+ pgbar.Update(pgbar.GetValue() + 1, _('Applying colormap to array : ') + curarray.idx)
7109
+
7110
+ for curres2d in self.myres2D:
7111
+ if curres2d.plotted:
7112
+ curres2d.mypal.automatic = False
7113
+ curres2d.mypal.nb = newpal.nb
7114
+ curres2d.mypal.values = newpal.values.copy()
7115
+ curres2d.mypal.colors = newpal.colors.copy()
7116
+ curres2d.mypal.fill_segmentdata()
7117
+ curres2d.reset_plot()
7118
+ pgbar.Update(pgbar.GetValue() + 1, _('Applying colormap to 2D result : ') + curres2d.idx)
7119
+
7120
+ pgbar.Destroy()
7111
7121
 
7112
7122
  def loadnap_and_apply(self):
7113
7123
 
@@ -9775,7 +9785,7 @@ class WolfMapViewer(wx.Frame):
9775
9785
 
9776
9786
  i, j, curbloc = locarray.get_blockij_from_xy(x, y)
9777
9787
 
9778
- if i != '-':
9788
+ if i != '-' and i != -1:
9779
9789
  curpar = 'Indices (i;j;bloc) (1-based)'
9780
9790
 
9781
9791
  self.mytooltip.add_param(groupname = curgroup,
@@ -9897,8 +9907,10 @@ class WolfMapViewer(wx.Frame):
9897
9907
  if self.linked:
9898
9908
  for curFrame in self.linkedList:
9899
9909
  if not curFrame is self:
9910
+ title = curFrame.GetTitle() if curFrame.GetTitle() != 'Wolf - main data manager' else 'Main'
9911
+
9900
9912
  for locarray in curFrame.myarrays:
9901
- curgroup = locarray.idx
9913
+ curgroup = title + ' -' + locarray.idx
9902
9914
  if locarray.plotted:
9903
9915
 
9904
9916
  try:
@@ -9909,7 +9921,7 @@ class WolfMapViewer(wx.Frame):
9909
9921
  i, j, curbloc = locarray.get_blockij_from_xy(x, y)
9910
9922
  curpar = 'Indices (i;j;bloc) (1-based)'
9911
9923
 
9912
- self.mytooltip.add_param(groupname = locarray.idx,
9924
+ self.mytooltip.add_param(groupname = curgroup,
9913
9925
  name = curpar,
9914
9926
  value = '(' + str(i+1) + ';' + str(j+1) + ';' + str(curbloc) + ')',
9915
9927
  type = Type_Param.String,
@@ -9919,7 +9931,7 @@ class WolfMapViewer(wx.Frame):
9919
9931
  i, j = locarray.get_ij_from_xy(x, y)
9920
9932
  curpar = 'Indices (i;j) (1-based)'
9921
9933
 
9922
- self.mytooltip.add_param(groupname = locarray.idx,
9934
+ self.mytooltip.add_param(groupname = curgroup,
9923
9935
  name = curpar,
9924
9936
  value = '(' + str(i+1) + ';' + str(j+1) + ')',
9925
9937
  type = Type_Param.String,
@@ -9928,7 +9940,7 @@ class WolfMapViewer(wx.Frame):
9928
9940
  curpar = 'Value'
9929
9941
 
9930
9942
  if val is np.nan:
9931
- self.mytooltip.add_param(groupname = locarray.idx,
9943
+ self.mytooltip.add_param(groupname = curgroup,
9932
9944
  name = 'Value',
9933
9945
  value = "Nan",
9934
9946
  type = Type_Param.String,
@@ -9936,32 +9948,91 @@ class WolfMapViewer(wx.Frame):
9936
9948
 
9937
9949
  elif np.ma.is_masked(val):
9938
9950
 
9939
- self.mytooltip.add_param(groupname = locarray.idx,
9951
+ self.mytooltip.add_param(groupname = curgroup,
9940
9952
  name = 'Value',
9941
9953
  value = "Masked",
9942
9954
  type = Type_Param.String,
9943
9955
  comment = '')
9944
9956
 
9945
9957
  elif isinstance(val, str):
9946
- self.mytooltip.add_param(groupname = locarray.idx,
9958
+ self.mytooltip.add_param(groupname = curgroup,
9947
9959
  name = curpar,
9948
9960
  value = val,
9949
9961
  type = Type_Param.String,
9950
9962
  comment = '')
9951
9963
  elif isinstance(val, int):
9952
- self.mytooltip.add_param(groupname = locarray.idx,
9964
+ self.mytooltip.add_param(groupname = curgroup,
9953
9965
  name = curpar,
9954
9966
  value = int(val),
9955
9967
  type = Type_Param.Integer,
9956
9968
  comment = '')
9957
9969
  else:
9958
- self.mytooltip.add_param(groupname = locarray.idx,
9970
+ self.mytooltip.add_param(groupname = curgroup,
9959
9971
  name = curpar,
9960
9972
  value = float(val),
9961
9973
  type = Type_Param.Float,
9962
9974
  comment = '')
9963
9975
  except:
9964
- logging.warning(_('Error in linked frame -- Please check !'))
9976
+ logging.warning(_('Error in linked frame Arrays -- Please check !'))
9977
+
9978
+ for locarray in curFrame.myres2D:
9979
+ locarray:Wolfresults_2D
9980
+ curgroup = title + ' - ' + locarray.idx
9981
+ if locarray.checked:
9982
+ try:
9983
+ vals,labs = locarray.get_values_labels(x,y)
9984
+
9985
+ i, j, curbloc = locarray.get_blockij_from_xy(x, y)
9986
+
9987
+ if i != '-' and i != -1:
9988
+ curpar = 'Indices (i;j;bloc) (1-based)'
9989
+
9990
+ self.mytooltip.add_param(groupname = curgroup,
9991
+ name = curpar,
9992
+ value = '(' + str(i) + ';' + str(j) + ';' + str(curbloc) + ')',
9993
+ type = Type_Param.String,
9994
+ comment = '')
9995
+
9996
+ for val,curpar in zip(vals,labs):
9997
+
9998
+ if val is np.nan:
9999
+ self.mytooltip.add_param(groupname = curgroup,
10000
+ name = 'Value',
10001
+ value = "Nan",
10002
+ type = Type_Param.String,
10003
+ comment = '')
10004
+
10005
+ elif np.ma.is_masked(val):
10006
+
10007
+ self.mytooltip.add_param(groupname = curgroup,
10008
+ name = 'Value',
10009
+ value = "Masked",
10010
+ type = Type_Param.String,
10011
+ comment = '')
10012
+
10013
+ elif isinstance(val, str):
10014
+ self.mytooltip.add_param(groupname = curgroup,
10015
+ name = curpar,
10016
+ value = val,
10017
+ type = Type_Param.String,
10018
+ comment = '')
10019
+
10020
+ elif isinstance(val, int):
10021
+ self.mytooltip.add_param(groupname = curgroup,
10022
+ name = curpar,
10023
+ value = int(val),
10024
+ type = Type_Param.Integer,
10025
+ comment = '')
10026
+
10027
+ else:
10028
+ self.mytooltip.add_param(groupname = curgroup,
10029
+ name = curpar,
10030
+ value = float(val),
10031
+ type = Type_Param.Float,
10032
+ comment = '')
10033
+
10034
+ except:
10035
+ logging.warning(_('Error in linked frame Results2D -- Please check !'))
9965
10036
 
9966
10037
  for loc_ps in self.mypartsystems:
9967
10038
  if loc_ps.checked:
wolfhece/PyPalette.py CHANGED
@@ -671,6 +671,21 @@ class wolfpalette(wx.Frame, LinearSegmentedColormap):
671
671
 
672
672
  self.fill_segmentdata()
673
673
 
674
+ def is_valid(self):
675
+ """Vérification de la validité de la palette"""
676
+
677
+ if self.nb < 2:
678
+ return False
679
+
680
+ if self.values[0] >= self.values[-1]:
681
+ return False
682
+
683
+ for i in range(1, self.nb):
684
+ if self.values[i] <= self.values[i-1]:
685
+ return False
686
+
687
+ return True
688
+
674
689
  def savefile(self, *args):
675
690
  """Lecture de la palette sur base d'un fichier WOLF .pal"""
676
691
  if len(args) > 0:
@@ -1811,7 +1811,8 @@ class vector:
1811
1811
 
1812
1812
  :param only_firstlast: si True, on ne recherche que les coordonnées du premier et du dernier vertex
1813
1813
  """
1814
- if len(self.myvertices)>0:
1814
+
1815
+ if self.nbvertices > 0:
1815
1816
 
1816
1817
  if only_firstlast:
1817
1818
  self.xmin=min(self.myvertices[0].x, self.myvertices[-1].x)
@@ -1823,6 +1824,11 @@ class vector:
1823
1824
  self.ymin=min(vert.y for vert in self.myvertices)
1824
1825
  self.xmax=max(vert.x for vert in self.myvertices)
1825
1826
  self.ymax=max(vert.y for vert in self.myvertices)
1827
+ else:
1828
+ self.xmin=-99999.
1829
+ self.ymin=-99999.
1830
+ self.xmax=-99999.
1831
+ self.ymax=-99999.
1826
1832
 
1827
1833
  @property
1828
1834
  def has_interior(self):
@@ -3020,10 +3026,10 @@ class zone:
3020
3026
  self.active_vector=None # current active vector
3021
3027
  self.parent=parent # parent object - type(Zones)
3022
3028
 
3023
- self.xmin = 0.
3024
- self.ymin = 0.
3025
- self.xmax = 0.
3026
- self.ymax = 0.
3029
+ self.xmin = -99999.
3030
+ self.ymin = -99999.
3031
+ self.xmax = -99999.
3032
+ self.ymax = -99999.
3027
3033
 
3028
3034
  self.has_legend = False # indicate if at least one vector in the zone has a legend
3029
3035
  self.has_image = False # indicate if at least one vector in the zone has an image
@@ -3350,22 +3356,21 @@ class zone:
3350
3356
  self.xmax=-99999.
3351
3357
  self.ymax=-99999.
3352
3358
  else:
3353
- minsx=np.asarray([vect.xmin for vect in self.myvectors])
3354
- minsy=np.asarray([vect.ymin for vect in self.myvectors])
3355
- maxsx=np.asarray([vect.xmax for vect in self.myvectors])
3356
- maxsy=np.asarray([vect.ymax for vect in self.myvectors])
3357
-
3358
- # if len(minsx)>1: # FIXME what if more than one vector is empty.
3359
- if max(max(minsx),max(minsy), max(maxsx), max(maxsy)) != -99999.:
3360
- self.xmin=np.min(minsx[np.where(minsx!=-99999.)])
3361
- self.xmax=np.max(maxsx[np.where(maxsx!=-99999.)])
3362
- self.ymin=np.min(minsy[np.where(minsy!=-99999.)])
3363
- self.ymax=np.max(maxsy[np.where(maxsy!=-99999.)])
3359
+ minsx=np.asarray([vect.xmin for vect in self.myvectors if vect.xmin!=-99999.])
3360
+ minsy=np.asarray([vect.ymin for vect in self.myvectors if vect.ymin!=-99999.])
3361
+ maxsx=np.asarray([vect.xmax for vect in self.myvectors if vect.xmax!=-99999.])
3362
+ maxsy=np.asarray([vect.ymax for vect in self.myvectors if vect.ymax!=-99999.])
3363
+
3364
+ if minsx.size == 0:
3365
+ self.xmin=-99999.
3366
+ self.ymin=-99999.
3367
+ self.xmax=-99999.
3368
+ self.ymax=-99999.
3364
3369
  else:
3365
- self.xmin=minsx[0]
3366
- self.xmax=maxsx[0]
3367
- self.ymin=minsy[0]
3368
- self.ymax=maxsy[0]
3370
+ self.xmin = minsx.min()
3371
+ self.xmax = maxsx.max()
3372
+ self.ymin = minsy.min()
3373
+ self.ymax = maxsy.max()
3369
3374
 
3370
3375
  def prep_listogl(self):
3371
3376
  """
@@ -4920,6 +4925,9 @@ class Zones(wx.Frame, Element_To_Draw):
4920
4925
 
4921
4926
  self.xmin=ox
4922
4927
  self.ymin=oy
4928
+
4929
+ self._first_find_minmax:bool = True
4930
+
4923
4931
  self.tx=tx
4924
4932
  self.ty=ty
4925
4933
  self.myzones=[]
@@ -5570,32 +5578,29 @@ class Zones(wx.Frame, Element_To_Draw):
5570
5578
  :param update : si True, force la MAJ des minmax dans chaque zone; si False, compile les minmax déjà présents
5571
5579
  :param only_firstlast : si True, ne prend en compte que le premier et le dernier vertex de chaque vecteur
5572
5580
  """
5573
- if update:
5581
+
5582
+ if update or self._first_find_minmax:
5574
5583
  for zone in self.myzones:
5575
- zone.find_minmax(update, only_firstlast)
5584
+ zone.find_minmax(update or self._first_find_minmax, only_firstlast)
5585
+ self._first_find_minmax = False
5576
5586
 
5577
- if len(self.myzones)>0:
5587
+ if self.nbzones > 0:
5578
5588
 
5579
- minsx=np.asarray([zone.xmin for zone in self.myzones])
5580
- minsy=np.asarray([zone.ymin for zone in self.myzones])
5581
- maxsx=np.asarray([zone.xmax for zone in self.myzones])
5582
- maxsy=np.asarray([zone.ymax for zone in self.myzones])
5589
+ minsx = np.asarray([zone.xmin for zone in self.myzones if zone.xmin!=-99999.])
5590
+ minsy = np.asarray([zone.ymin for zone in self.myzones if zone.ymin!=-99999.])
5591
+ maxsx = np.asarray([zone.xmax for zone in self.myzones if zone.xmax!=-99999.])
5592
+ maxsy = np.asarray([zone.ymax for zone in self.myzones if zone.ymax!=-99999.])
5583
5593
 
5584
- if len(minsx)>1:
5585
- self.xmin=np.min(minsx[np.where(minsx!=-99999.)])
5586
- self.xmax=np.max(maxsx[np.where(maxsx!=-99999.)])
5587
- self.ymin=np.min(minsy[np.where(minsy!=-99999.)])
5588
- self.ymax=np.max(maxsy[np.where(maxsy!=-99999.)])
5594
+ if minsx.size == 0:
5595
+ self.xmin = 0.
5596
+ self.ymin = 0.
5597
+ self.xmax = 1.
5598
+ self.ymax = 1.
5589
5599
  else:
5590
- self.xmin=minsx[0]
5591
- self.xmax=maxsx[0]
5592
- self.ymin=minsy[0]
5593
- self.ymax=maxsy[0]
5594
- else:
5595
- self.xmin=0.
5596
- self.ymin=0.
5597
- self.xmax=1.
5598
- self.ymax=1.
5600
+ self.xmin = minsx.min()
5601
+ self.xmax = maxsx.max()
5602
+ self.ymin = minsy.min()
5603
+ self.ymax = maxsy.max()
5599
5604
 
5600
5605
  def plot(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
5601
5606
  """
wolfhece/apps/version.py CHANGED
@@ -5,7 +5,7 @@ class WolfVersion():
5
5
 
6
6
  self.major = 2
7
7
  self.minor = 1
8
- self.patch = 110
8
+ self.patch = 111
9
9
 
10
10
  def __str__(self):
11
11
 
@@ -106,8 +106,8 @@ class Matplotlib_ax_properties():
106
106
  self.gridy_minor = False
107
107
 
108
108
  aspect = ax.get_aspect()
109
- self._equal_axis = 0 if aspect == 'auto' else 1 if aspect == 1. else 2
110
- self.scaling_factor = aspect
109
+ self._equal_axis = 0 if aspect == 'auto' else 1 if aspect in [1., 'equal'] else 2
110
+ self.scaling_factor = 0 if aspect == 'auto' else 1 if aspect in [1., 'equal'] else aspect
111
111
 
112
112
  self.ticks_x = ax.get_xticks()
113
113
  self.ticks_y = ax.get_yticks
wolfhece/wolf_array.py CHANGED
@@ -9410,15 +9410,31 @@ class WolfArray(Element_To_Draw, header_wolf):
9410
9410
  cs = plt.contour(x, y, self.array, levels=levels)
9411
9411
 
9412
9412
  zones = Zones(idx = self.idx + '_contour', mapviewer = self.get_mapviewer())
9413
- for collection, level in zip(cs.collections, cs.levels):
9414
- zone_level = zone(name=f'Contour {level}')
9415
- for idx, path in enumerate(collection.get_paths()):
9416
- vector_level = vector(name=f'Contour {level} - {idx}')
9417
- for vertices in path.to_polygons(closed_only=False):
9413
+
9414
+ if hasattr(cs, 'collections'):
9415
+ # MATPLOTLIB <=3.8
9416
+ logging.debug('MATPLOTLIB <=3.8')
9417
+ logging.info(_('DEPRECATED: MATPLOTLIB <=3.8 -- You should consider upgrading to a more recent version of Matplotlib'))
9418
+ for collection, level in zip(cs.collections, cs.levels):
9419
+ zone_level = zone(name=f'Contour {level}')
9420
+ for idx, path in enumerate(collection.get_paths()):
9421
+ vector_level = vector(name=f'Contour {level} - {idx}')
9422
+ for vertices in path.to_polygons(closed_only=False):
9423
+ for vertex in vertices:
9424
+ vector_level.add_vertex(wolfvertex(vertex[0], vertex[1]))
9425
+ zone_level.add_vector(vector_level, forceparent=True)
9426
+ zones.add_zone(zone_level, forceparent=True)
9427
+ else:
9428
+ # MATPLOTLIB >3.8
9429
+ logging.debug('MATPLOTLIB >3.8')
9430
+ for path, level in zip(cs.get_paths(), cs.levels):
9431
+ zone_level = zone(name=f'Contour {level}')
9432
+ for idx, vertices in enumerate(path.to_polygons(closed_only=False)):
9433
+ vector_level = vector(name=f'Contour {level} - {idx}')
9418
9434
  for vertex in vertices:
9419
9435
  vector_level.add_vertex(wolfvertex(vertex[0], vertex[1]))
9420
9436
  zone_level.add_vector(vector_level, forceparent=True)
9421
- zones.add_zone(zone_level, forceparent=True)
9437
+ zones.add_zone(zone_level, forceparent=True)
9422
9438
 
9423
9439
  return zones
9424
9440
 
@@ -4096,7 +4096,7 @@ class Wolfresults_2D(Element_To_Draw):
4096
4096
 
4097
4097
  return vals,labs
4098
4098
  else:
4099
- return -1
4099
+ return [-1],['-']
4100
4100
 
4101
4101
  def get_value_elevation(self, x:float, y:float, nullvalue=-1):
4102
4102
  """Return the value of the bed elevation at (X,Y) position"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: wolfhece
3
- Version: 2.1.110
3
+ Version: 2.1.111
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  License: Copyright (c) 2024 University of Liege. All rights reserved.
6
6
  Project-URL: Homepage, https://uee.uliege.be/hece
@@ -37,7 +37,7 @@ Requires-Dist: owslib
37
37
  Requires-Dist: beautifulsoup4
38
38
  Requires-Dist: requests
39
39
  Requires-Dist: notebook
40
- Requires-Dist: matplotlib==3.6.*
40
+ Requires-Dist: matplotlib==3.10.*
41
41
  Requires-Dist: mkl
42
42
  Requires-Dist: python-gettext
43
43
  Requires-Dist: shapely
@@ -7,16 +7,16 @@ wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
7
7
  wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
8
8
  wolfhece/PyConfig.py,sha256=Bb1T8qjgKMChadJYDrHO9uo6CwItiAXScZpYkDXqZF8,11387
9
9
  wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
10
- wolfhece/PyDraw.py,sha256=wMiD3KR-IYKkaDI_WTMICH8gDEhy00jpaVxeJUwlI-U,492633
10
+ wolfhece/PyDraw.py,sha256=upQGIk2ZZXot6jyPjfbIrommg1AHRvb24q-Rz1dySg0,497162
11
11
  wolfhece/PyGui.py,sha256=Ceaby7kyTFf-eZQy4b6sI_b6y2ssN37bSGWBqOcb5VM,144145
12
12
  wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
13
13
  wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
14
- wolfhece/PyPalette.py,sha256=81n1P-olOe4wElTLv-miSDhqvJU_RHcxgfpHt794dSw,31436
14
+ wolfhece/PyPalette.py,sha256=-D2sC7wzGGW8yBtiwXc1CsxHpCj-olxGohZrsdzmaCM,31794
15
15
  wolfhece/PyParams.py,sha256=GRp1zZDUJIjs8PtjwScDdov-E9orr1JWOntDazN5AOw,98577
16
16
  wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
17
17
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
18
18
  wolfhece/PyVertex.py,sha256=qFf8UPvkbwumRRfjpBcgZmqpHtcEtIEoUh30rWFF-lQ,45205
19
- wolfhece/PyVertexvectors.py,sha256=DiJfZrTj5Iy65O_z902-Hg7WzCGaKcguUgMw6moPy_c,283030
19
+ wolfhece/PyVertexvectors.py,sha256=_-F8qHtWKGJgMbRebk5TbQ7LeLUl9r6nRDjgTxt9IJQ,283050
20
20
  wolfhece/PyWMS.py,sha256=WmOzHP02wVcB5RGJAlENL_NzF9rYfvLxslRFyxaEt1Q,6615
21
21
  wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
22
22
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
@@ -37,7 +37,7 @@ wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4
37
37
  wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
38
38
  wolfhece/irm_qdf.py,sha256=KyrIk0Gu50Q702EWxRpwKTWI2KGjtHA1l8CL-Y469O0,26394
39
39
  wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
40
- wolfhece/matplotlib_fig.py,sha256=2_Jgh45t1QfMwH7RhDV007-uBMtQvM_tVPkPEocG3tI,81047
40
+ wolfhece/matplotlib_fig.py,sha256=nWhac23K6eQJGXhDFiakmT52j-QUzlMHQmZ2je56GVE,81119
41
41
  wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,21549
42
42
  wolfhece/picc.py,sha256=0X_pzhSBoVxgtTfJ37pkOQO3Vbr9yurPaD1nVeurx8k,8531
43
43
  wolfhece/pidcontroller.py,sha256=PHYenOdzfyPK2pXAhyRolCxMSMRd2AFza0eVMafpPHk,5205
@@ -52,13 +52,13 @@ wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
52
52
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
53
53
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
54
54
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
55
- wolfhece/wolf_array.py,sha256=B7q_eS0SDcoO3erW362UOus3ApiOy4_jWrpUtUNSL3E,423223
55
+ wolfhece/wolf_array.py,sha256=8CzabYInhFmOjr-Wwfse5L0Ylx3SsjkUylitOSOm4Oo,424148
56
56
  wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
57
57
  wolfhece/wolf_texture.py,sha256=ecoXXmmcLuyG1oPqU2dB_k03qMTCLTVQoSq1xi1EalU,17359
58
58
  wolfhece/wolf_tiles.py,sha256=-YfTelZjpfgqZXd1yMsGFajz_oDISXkC0zB5fW-8MBY,10486
59
59
  wolfhece/wolf_vrt.py,sha256=NcPZYW4bu06IpqQuiutoAhCvDkeZ3TzOVb8z4wTQ1h8,14319
60
60
  wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
61
- wolfhece/wolfresults_2D.py,sha256=Z-SKkipwbChyf9V4777nacKNd5p0aimORjC6evg5zeI,184819
61
+ wolfhece/wolfresults_2D.py,sha256=GbuYSN1haTctY9AqUyAt1xQCOVpoUgSURD9d2XIqRXw,184827
62
62
  wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
63
63
  wolfhece/acceptability/Parallels.py,sha256=njrJFH_tTdQUg2px-QqQR6VdhImP1TEujLhpM3JEKNo,4001
64
64
  wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
@@ -80,7 +80,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
80
80
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
81
81
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
82
82
  wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
83
- wolfhece/apps/version.py,sha256=c8lUQbXJcDVHJjFBNDZvtl4JrQsc4JqOzcDAfm1UYVs,389
83
+ wolfhece/apps/version.py,sha256=_E5zp4InRVxGzGtcse3-ynBytT7LFkwOrTupyZusKys,389
84
84
  wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
85
85
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
86
86
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -293,8 +293,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
293
293
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
294
294
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
296
- wolfhece-2.1.110.dist-info/METADATA,sha256=2II_IjksPPQB_4OyVus6GWhpup0SU4T-n_CPFYENPqE,2618
297
- wolfhece-2.1.110.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
298
- wolfhece-2.1.110.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
299
- wolfhece-2.1.110.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
300
- wolfhece-2.1.110.dist-info/RECORD,,
296
+ wolfhece-2.1.111.dist-info/METADATA,sha256=2qEAB6gzSOu-t6WAFWuvDKlIbcjK-CghDSUnaL7E5sA,2619
297
+ wolfhece-2.1.111.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
298
+ wolfhece-2.1.111.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
299
+ wolfhece-2.1.111.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
300
+ wolfhece-2.1.111.dist-info/RECORD,,