wolfhece 2.1.16__py3-none-any.whl → 2.1.18__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.
@@ -2459,14 +2459,14 @@ class Wolfresults_2D(Element_To_Draw):
2459
2459
 
2460
2460
  if self.nb_blocks>1 or force_mb:
2461
2461
 
2462
- retarray = WolfArrayMB()
2462
+ retarray = WolfArrayMB(nullvalue=self[0].nullvalue)
2463
2463
  retarray.set_header(self.get_header())
2464
2464
  for i in range(self.nb_blocks):
2465
2465
  retarray.add_block(self[i], copyarray=copyarray)
2466
2466
 
2467
2467
  else:
2468
2468
  if copyarray :
2469
- retarray = WolfArray(mold=self[0])
2469
+ retarray = WolfArray(mold=self[0], nullvalue=self[0].nullvalue)
2470
2470
  else:
2471
2471
  retarray = self[0]
2472
2472
 
@@ -2824,6 +2824,24 @@ class Wolfresults_2D(Element_To_Draw):
2824
2824
  block.k.array, block.eps.array = wolfpy.r2d_getturbresults(which_step+1, nbx, nby, whichblock)
2825
2825
  block._force_update_shields = True
2826
2826
 
2827
+ def _read_oneblockresult_withoutmask_only_h(self, which_step:int=-1,whichblock:int=-1):
2828
+ """
2829
+ Lecture d'un résultat pour un bloc spécifique --> utilisation de la librairie Fortran
2830
+
2831
+ :param which_step : timestep ; 0-based; -1 == last one
2832
+ :param whichblock : block index
2833
+ """
2834
+ which_step = self._sanitize_result_step(which_step)
2835
+
2836
+ if whichblock!=-1:
2837
+ block = self.myblocks[getkeyblock(whichblock,False)]
2838
+ nbx = block.waterdepth.nbx
2839
+ nby = block.waterdepth.nby
2840
+
2841
+ # Fortran is 1-based --> which_step+1
2842
+ block.waterdepth.array, block.qx.array, block.qy.array = wolfpy.r2d_getresults(which_step+1, nbx, nby, whichblock)
2843
+ block._force_update_shields = True
2844
+
2827
2845
  def read_oneblockresult(self, which_step:int=-1, whichblock:int=-1):
2828
2846
  """
2829
2847
  Lecture d'un résultat pour un bloc spécifique et application d'un masque sur base d'nu epsilon de hauteur d'eau
@@ -2861,6 +2879,29 @@ class Wolfresults_2D(Element_To_Draw):
2861
2879
  self.myblocks[getkeyblock(whichblock,False)].k.set_nullvalue_in_mask()
2862
2880
  self.myblocks[getkeyblock(whichblock,False)].eps.set_nullvalue_in_mask()
2863
2881
 
2882
+ def _read_oneblockresult_only_h(self, which_step:int=-1, whichblock:int=-1):
2883
+ """
2884
+ Lecture d'un résultat pour un bloc spécifique et application d'un masque sur base d'nu epsilon de hauteur d'eau
2885
+
2886
+ which_step: result number to read ; 0-based; -1 == last one
2887
+ whichblock : block index ; 1-based
2888
+ """
2889
+
2890
+ which_step = self._sanitize_result_step(which_step)
2891
+
2892
+ if whichblock!=-1:
2893
+
2894
+ self._read_oneblockresult_withoutmask_only_h(which_step, whichblock)
2895
+
2896
+ if self.epsilon > 0.:
2897
+ self.myblocks[getkeyblock(whichblock,False)].waterdepth.array=ma.masked_less_equal(self.myblocks[getkeyblock(whichblock,False)].waterdepth.array,self.epsilon)
2898
+ else:
2899
+ self.myblocks[getkeyblock(whichblock,False)].waterdepth.array=ma.masked_equal(self.myblocks[getkeyblock(whichblock,False)].waterdepth.array,0.)
2900
+
2901
+ self.myblocks[getkeyblock(whichblock,False)].waterdepth.count()
2902
+
2903
+ self.myblocks[getkeyblock(whichblock,False)].waterdepth.set_nullvalue_in_mask()
2904
+
2864
2905
  def read_oneresult(self, which:int=-1):
2865
2906
  """
2866
2907
  Lecture d'un pas de sauvegarde
@@ -2884,6 +2925,29 @@ class Wolfresults_2D(Element_To_Draw):
2884
2925
  self.current_result = which
2885
2926
  self.loaded=True
2886
2927
 
2928
+ def _read_oneresult_only_h(self, which:int=-1):
2929
+ """
2930
+ Lecture d'un pas de sauvegarde
2931
+
2932
+ :param which: result number to read; 0-based; -1 == last one
2933
+ """
2934
+
2935
+ which = self._sanitize_result_step(which)
2936
+
2937
+ if exists(self.filename+'.head'):
2938
+ logging.info(_('Reading from results - step :{}'.format(which+1)))
2939
+ wolfpy.r2d_init(self.filename.ljust(255).encode('ansi'))
2940
+ for i in range(self.nb_blocks):
2941
+ self._read_oneblockresult_only_h(which, i+1)
2942
+ else:
2943
+ logging.info(_('No ".head" file --> Initial Conditions'))
2944
+
2945
+ if self.to_filter_independent:
2946
+ self.filter_independent_zones()
2947
+
2948
+ self.current_result = which
2949
+ self.loaded=True
2950
+
2887
2951
  def read_next(self):
2888
2952
  """
2889
2953
  Lecture du pas suivant
@@ -4055,6 +4119,12 @@ class Wolfresults_2D(Element_To_Draw):
4055
4119
  def danger_map(self, start:int=0, end:int=-1, every:int=1) -> Union[tuple[WolfArray, WolfArray, WolfArray], tuple[WolfArrayMB, WolfArrayMB, WolfArrayMB]]:
4056
4120
  """
4057
4121
  Create Danger Maps
4122
+
4123
+ :param start: start time step - 0-based
4124
+ :param end: end time step - 0-based
4125
+ :param every: step interval
4126
+
4127
+ :return : tuple of WolfArray or WolfArrayMB - H, U_norm, Q_norm
4058
4128
  """
4059
4129
 
4060
4130
  # Number of time steps
@@ -4069,38 +4139,38 @@ class Wolfresults_2D(Element_To_Draw):
4069
4139
  danger_map_matrix_v = self.as_WolfArray(copyarray=True)
4070
4140
  danger_map_matrix_mom = self.as_WolfArray(copyarray=True)
4071
4141
 
4072
- # Reset data -> Set null values
4073
- danger_map_matrix_h.reset()
4074
- danger_map_matrix_v.reset()
4075
- danger_map_matrix_mom.reset()
4076
-
4077
- danger_map_matrix_h.mask_reset()
4078
- danger_map_matrix_v.mask_reset()
4079
- danger_map_matrix_mom.mask_reset()
4080
-
4081
4142
  danger = [danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom]
4082
4143
 
4144
+ for curdanger in danger:
4145
+ curdanger.nullvalue = 0.
4146
+ curdanger.reset()
4147
+ curdanger.mask_reset()
4148
+
4083
4149
  for time_step in tqdm(range(start, end, every)):
4084
4150
 
4085
4151
  self.read_oneresult(time_step+1)
4086
4152
 
4087
4153
  if self.nb_blocks>1:
4088
4154
  for curblock in self.myblocks.keys():
4155
+
4089
4156
  # Get WolfArray
4090
4157
  wd = self.get_h_for_block(curblock)
4091
4158
  qx = self.get_qx_for_block(curblock)
4092
4159
  qy = self.get_qy_for_block(curblock)
4093
4160
 
4094
- # Math operations are overloaded
4095
- v = (qx**2.+qy**2.)**.5/wd
4096
- mom = v*wd
4161
+ ij = np.where(~wd.array.mask)
4097
4162
 
4098
- comp = [wd, v, mom]
4163
+ #
4164
+ mom = np.zeros_like(wd.array)
4165
+ v = np.zeros_like(wd.array)
4166
+ mom[ij] = (qx.array[ij]**2.+qy.array[ij]**2.)**.5
4167
+ v[ij] = mom[ij]/wd.array[ij]
4099
4168
 
4100
4169
  # Comparison
4101
- for curdanger, curcomp in zip(danger, comp):
4102
- i,j = np.where(curdanger.myblocks[curblock].array < curcomp.array)
4103
- curdanger.myblocks[curblock].array.data[i,j] = curcomp.array.data[i,j]
4170
+ for curdanger, curcomp in zip(danger, [wd.array, v, mom]):
4171
+ ij = np.where((curdanger.array < curcomp) & (~wd.array.mask))
4172
+ curdanger.array.data[ij] = curcomp[ij]
4173
+ curdanger.array.mask[ij] = False
4104
4174
 
4105
4175
  else:
4106
4176
  curblock = getkeyblock(0)
@@ -4108,25 +4178,84 @@ class Wolfresults_2D(Element_To_Draw):
4108
4178
  qx = self.get_qx_for_block(curblock)
4109
4179
  qy = self.get_qy_for_block(curblock)
4110
4180
 
4111
- v = (qx**2.+qy**2.)**.5/wd
4112
-
4113
- mom = v*wd
4181
+ ij = np.where(~wd.array.mask)
4114
4182
 
4115
- comp = [wd, v, mom]
4183
+ #
4184
+ mom = np.zeros_like(wd.array)
4185
+ v = np.zeros_like(wd.array)
4186
+ mom[ij] = (qx.array[ij]**2.+qy.array[ij]**2.)**.5
4187
+ v[ij] = mom[ij]/wd.array[ij]
4116
4188
 
4117
4189
  # Comparison
4118
- for curdanger, curcomp in zip(danger, comp):
4119
- i,j = np.where(curdanger.array < curcomp.array)
4120
- curdanger.array.data[i,j] = curcomp.array.data[i,j]
4190
+ for curdanger, curcomp in zip(danger, [wd.array, v, mom]):
4191
+ ij = np.where((curdanger.array < curcomp) & (~wd.array.mask))
4192
+ curdanger.array.data[ij] = curcomp[ij]
4193
+ curdanger.array.mask[ij] = False
4121
4194
 
4122
4195
  danger_map_matrix_h.mask_lower(self.epsilon)
4196
+
4123
4197
  if self.nb_blocks>1:
4124
4198
  for i in range(self.nb_blocks):
4125
- danger_map_matrix_v[i].array.mask = danger_map_matrix_h[i].array.mask.copy()
4126
- danger_map_matrix_mom[i].array.mask = danger_map_matrix_h[i].array.mask.copy()
4199
+ danger_map_matrix_v[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4200
+ danger_map_matrix_mom[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
4127
4201
  else:
4128
- danger_map_matrix_v.array.mask = danger_map_matrix_h.array.mask.copy()
4129
- danger_map_matrix_mom.array.mask = danger_map_matrix_h.array.mask.copy()
4202
+ danger_map_matrix_v.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4203
+ danger_map_matrix_mom.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
4130
4204
 
4131
4205
 
4132
4206
  return (danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_mom)
4207
+
4208
+ def danger_map_only_h(self, start:int=0, end:int=-1, every:int=1) -> WolfArray:
4209
+ """
4210
+ Create Danger Maps
4211
+
4212
+ :param start: start time step - 0-based
4213
+ :param end: end time step - 0-based
4214
+ :param every: step interval
4215
+
4216
+ :return : tuple of WolfArray or WolfArrayMB - H, U_norm, Q_norm
4217
+ """
4218
+
4219
+ # Number of time steps
4220
+ number_of_time_steps = self.get_nbresults()
4221
+ if end ==-1:
4222
+ end = number_of_time_steps
4223
+
4224
+ # Init Danger Maps basde on results type
4225
+ # If only one block --> WolfArray
4226
+ # If only multiple blocks --> WolfArrayMB
4227
+ danger_map_matrix_h = self.as_WolfArray(copyarray=True)
4228
+
4229
+ danger_map_matrix_h.nullvalue = 0.
4230
+ danger_map_matrix_h.reset()
4231
+ danger_map_matrix_h.mask_reset()
4232
+
4233
+ for time_step in tqdm(range(start, end, every)):
4234
+
4235
+ self._read_oneresult_only_h(time_step+1)
4236
+
4237
+ if self.nb_blocks>1:
4238
+ for curblock in self.myblocks.keys():
4239
+
4240
+ # Get WolfArray
4241
+ wd = self.get_h_for_block(curblock)
4242
+
4243
+ # Comparison
4244
+ ij = np.where((danger_map_matrix_h.array < wd.array.data) & (~wd.array.mask))
4245
+ danger_map_matrix_h.array.data[ij] = wd.array[ij]
4246
+ danger_map_matrix_h.array.mask[ij] = False
4247
+
4248
+ else:
4249
+ curblock = getkeyblock(0)
4250
+
4251
+ # Get WolfArray
4252
+ wd = self.get_h_for_block(curblock)
4253
+
4254
+ # Comparison
4255
+ ij = np.where((danger_map_matrix_h.array < wd.array.data) & (~wd.array.mask))
4256
+ danger_map_matrix_h.array.data[ij] = wd.array[ij]
4257
+ danger_map_matrix_h.array.mask[ij] = False
4258
+
4259
+ danger_map_matrix_h.mask_lower(self.epsilon)
4260
+
4261
+ return danger_map_matrix_h
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolfhece
3
- Version: 2.1.16
3
+ Version: 2.1.18
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  License: AGPL-v3 License
6
6
  Project-URL: Homepage, https://uee.uliege.be/hece
@@ -6,22 +6,22 @@ wolfhece/ManageParams.py,sha256=Wgt5Zh7QBtyiwTAltPHunSLqt4XuVuRH76GTUrXabS4,219
6
6
  wolfhece/Model1D.py,sha256=-cMz-ePSYzrKVVDidiDOz6cojEZ3y6u9gIb7RPwT6Y8,476593
7
7
  wolfhece/PyConfig.py,sha256=oGSL1WsLM9uinlNP4zGBLK3uHPmBfduUi7R-VtWuRFA,8034
8
8
  wolfhece/PyCrosssections.py,sha256=f4dNYRUGZKePruaaBiTcn5vlrw8TFTj9XwTDrdiF_uU,112450
9
- wolfhece/PyDraw.py,sha256=Kfu3uoxwP6ZK9LqE5Br-GBex_bSS6k4F3tfsK-qIZvU,379565
9
+ wolfhece/PyDraw.py,sha256=x-67Ya_kbNyxW_Umv8sZfnDW75-D9-NytO7PfbCqWpY,383809
10
10
  wolfhece/PyGui.py,sha256=fqy8f3tLt7myJskVvspTQ_ZO7kaiSNKmcfFLrfr4w7M,103174
11
- wolfhece/PyGuiHydrology.py,sha256=wKhR-KthPRyzJ887NmsozmUpm2CIQIwO3IbYORCYjrE,7290
11
+ wolfhece/PyGuiHydrology.py,sha256=r8kcY2eGAQzSwVtLpyMUiBL5xBpMBsi7ovs0PgStGWw,14648
12
12
  wolfhece/PyHydrographs.py,sha256=GKK8U0byI45H9O_e4LAOOi7Aw0Tg7Q0Lx322stPg5IQ,3453
13
13
  wolfhece/PyPalette.py,sha256=Vl5RrBIC_a5-mZKUtBd5kG0mif946B7OtS3fnehkmOc,25012
14
- wolfhece/PyParams.py,sha256=V1Pe4rsBpWBA5kI5rRG7B5ijPHAdpM1i2uyxhnrwX94,96896
14
+ wolfhece/PyParams.py,sha256=Aj8kcT044abwBYU_OiEcJWcyNVqxYithNfbzdHyI-QA,97072
15
15
  wolfhece/PyPictures.py,sha256=-mJB0JL2YYiEK3D7_ssDkvYiMWK4ve9kXhozQXNeSx8,2216
16
16
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
17
17
  wolfhece/PyVertex.py,sha256=dHTjyYYTn0F_NWerlAOBKHV79RUzEEtMJMldQtVc1Cs,40092
18
- wolfhece/PyVertexvectors.py,sha256=C0uB7MTUeNB3XNxf1R98epvcqoLJIlExvI1zwom48jA,223945
19
- wolfhece/PyWMS.py,sha256=t6jVZpTxTNSLJxABk8A79cEMWTKoRM_S_SXRipsHLzw,4493
20
- wolfhece/RatingCurve.py,sha256=YSQvSvdMHE6hSlWVBF5Oe0-Fh3waNMpOdmcymaCCTis,21706
18
+ wolfhece/PyVertexvectors.py,sha256=4K0T74MUH-ycX79hFa2618vKVTu9qOSh49hlbKrydMg,224123
19
+ wolfhece/PyWMS.py,sha256=pV7JdzbreQGXCg3E6PwllchEUYu2YiPZEIua2ppJorA,4304
20
+ wolfhece/RatingCurve.py,sha256=f6IGLS5aJBJD_t_k903m_yRZ60MzKNKanzD6njXZxa8,22200
21
21
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
22
22
  wolfhece/RatingCurve_xml.py,sha256=vbLxSWwHPsCAsR13KaG5WVmVn_cha7-6cF4zj7Diiz8,33593
23
23
  wolfhece/ReadDataDCENN.py,sha256=4OMDBgkZ_v7OWmVhyQ-reab7MPxGhFEDY2qS8yThhdM,1240
24
- wolfhece/Results2DGPU.py,sha256=pC7jHQhzSJPmGiboNNLG619yVYaOUT_O5_yhKMzslxA,20563
24
+ wolfhece/Results2DGPU.py,sha256=-EGeWQcg_XsDh3XOqnuEnFgPSoAD4q0YUjM7u8ESRD8,23038
25
25
  wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
26
26
  wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
27
27
  wolfhece/cli.py,sha256=rHxZGgs_R776VCWhs36pYFoiuiQycwgGTVOLK-JNzjE,1937
@@ -48,13 +48,13 @@ wolfhece/rain_SPWMI.py,sha256=YqsF-yFro3y_a6MfVRFfr-Rxi7NR1gl_i8VX7scmzes,13548
48
48
  wolfhece/test_Results2DGPU.py,sha256=NOJ_hFXrcLSQXS1dtsqXRQltqIZtDSHMz_EgAJ2_FHU,307
49
49
  wolfhece/textpillow.py,sha256=zEfLrKhfCDyMaVuQOUjHqz6MGKeQ4aewMxOsWi5-wKI,13832
50
50
  wolfhece/tools_mpl.py,sha256=q8Yc4aukPPiUcEzREvZRM_em67XqXaahdoaNt0DETfE,266
51
- wolfhece/wolf_array.py,sha256=vf3S7vIdN0ziYtpHSyQRCjwneQCKlGOdCYpZE3xQcLk,335853
51
+ wolfhece/wolf_array.py,sha256=F8dUmJfiuAF1wFzDm13spgm3OoyAJKMIBlFdHf8PobY,342827
52
52
  wolfhece/wolf_hist.py,sha256=JpRXvzJLUP-RkSkvth3DQWglgTMFI2ZEUDb4RYOfeeI,3284
53
53
  wolfhece/wolf_texture.py,sha256=llQ7aV8scWXIkhpri9XjaPejzoBJsGfsln2ZnlRbFkU,16270
54
54
  wolfhece/wolf_tiles.py,sha256=F2JsJHdAP8fIffNJdG_J26bonCIRtIwMmxKFqdSCRDA,10088
55
55
  wolfhece/wolf_vrt.py,sha256=un5CKzAUmzSsjLXK7YLnQEWz8FLoafXJs8oqUvS_-h0,10271
56
56
  wolfhece/wolf_zi_db.py,sha256=Ok0MxQYZMMLRJN1QY-HSplLhUzzb6gkXgBQ3ihhLQHk,12669
57
- wolfhece/wolfresults_2D.py,sha256=6VbONzD2lMFCnZ2-gyBk7pW9LcBmSWkZxiVLTMKVPIQ,159403
57
+ wolfhece/wolfresults_2D.py,sha256=6CkXD_X4pOBFce0nFZjR6VjKzLKSYqqY4UhXKzzrKuM,164515
58
58
  wolfhece/xyz_file.py,sha256=aQOcTHkHRhXHxL_WxTHwzygp6e47San7SHSpxKQU0dw,5457
59
59
  wolfhece/apps/ManageParams.py,sha256=heg5L4fMn0ettR7Bad_Q680o_JWnTbe3WFkL_9IziAk,312
60
60
  wolfhece/apps/Optimisation_hydro.py,sha256=mHazBazTUGyxPbHPXhaQim8vqIeOOuKPjH0B48VWduA,374
@@ -66,7 +66,7 @@ wolfhece/apps/check_install.py,sha256=jrKR-njqnpIh6ZJqvP6KbDUPVCfwTNQj4glQhcyzs9
66
66
  wolfhece/apps/curvedigitizer.py,sha256=avWERHuVxPnJBOD_ibczwW_XG4vAenqWS8W1zjhBox8,4898
67
67
  wolfhece/apps/isocurrent.py,sha256=4XnNWPa8mYUK7V4zdDRFrHFIXNG2AN2og3TqWKKcqjY,3811
68
68
  wolfhece/apps/splashscreen.py,sha256=LkEVMK0eCc84NeCWD3CGja7fuQ_k1PrZdyqD3GQk_8c,2118
69
- wolfhece/apps/version.py,sha256=Au2GSzDykgzYPAppTSSnywndJOLWVYMTR2cNQ5pYAeU,388
69
+ wolfhece/apps/version.py,sha256=_JWrWOrXqm8jB7QRCP1WPFfuVGVCeeUbG1Sn4qROsPs,388
70
70
  wolfhece/apps/wolf.py,sha256=gqfm-ZaUJqNsfCzmdtemSeqLw-GVdSVix-evg5WArJI,293
71
71
  wolfhece/apps/wolf2D.py,sha256=gWD9ee2-1pw_nUxjgRaJMuSe4kUT-RWhOeoTt_Lh1mM,267
72
72
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -102,7 +102,7 @@ wolfhece/hydrology/Dumping.py,sha256=GKYvkKgCfJQT1XEF1ceh7evdhlpZRPcuf6VlBdH-TaM
102
102
  wolfhece/hydrology/Optimisation.py,sha256=JD72GXAWL6fwagCrCVb0qMEFuYvUlO1vDigteV4EIuA,142220
103
103
  wolfhece/hydrology/Outlet.py,sha256=fpetH2ZKnTKIBNuVclxrncc5OAxWUGI5_ed9gXh6fD4,10201
104
104
  wolfhece/hydrology/PostProcessHydrology.py,sha256=SiW5FIf8FeQL9ItWG8ODt612k5m59aogSLgpsXinr8I,6944
105
- wolfhece/hydrology/PyWatershed.py,sha256=NO2f4XVA8JxW06ysUhlAN4VYVlv3oCqhhyQ8BeTC7d4,92823
105
+ wolfhece/hydrology/PyWatershed.py,sha256=VC38Cglf23yD9lz5u5xy5lxYI9c1FW8ZLd2tmKF_d1Y,97928
106
106
  wolfhece/hydrology/RetentionBasin.py,sha256=cV-Rn-Ya7vWHnkl6pHcQ8GFx5HX-wM7uHI4_Zry-kks,82605
107
107
  wolfhece/hydrology/SubBasin.py,sha256=b5RawgPmfVWUJhkv-nEVSbdN3ytIxpov7kjBSvMrd1c,171159
108
108
  wolfhece/hydrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -267,8 +267,8 @@ wolfhece/sounds/sonsw2.wav,sha256=pFLVt6By0_EPQNt_3KfEZ9a1uSuYTgQSX1I_Zurv9Rc,11
267
267
  wolfhece/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
268
  wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yGbU_JsF56jsmms0gh7mxa7tbNQ_SxqhpAZxhm-mTy4,14860
269
269
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=wCxGRnE3kzEkWlWA6-3X8ADOFux_B0a5QWJ2GnXTgJw,4709
270
- wolfhece-2.1.16.dist-info/METADATA,sha256=vRdgkIGgAYvpxLhBEtKJH3C_oax5iHhWg1ryYEr1tC4,2282
271
- wolfhece-2.1.16.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
272
- wolfhece-2.1.16.dist-info/entry_points.txt,sha256=AIu1KMswrdsqNq_2jPtrRIU4tLjuTnj2dCY-pxIlshw,276
273
- wolfhece-2.1.16.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
274
- wolfhece-2.1.16.dist-info/RECORD,,
270
+ wolfhece-2.1.18.dist-info/METADATA,sha256=uhKpuFpAos-6qos1yKSRasR1NjD072Y84u9kTVLFxA0,2282
271
+ wolfhece-2.1.18.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
272
+ wolfhece-2.1.18.dist-info/entry_points.txt,sha256=AIu1KMswrdsqNq_2jPtrRIU4tLjuTnj2dCY-pxIlshw,276
273
+ wolfhece-2.1.18.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
274
+ wolfhece-2.1.18.dist-info/RECORD,,