wolfhece 2.2.20__py3-none-any.whl → 2.2.24__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 (62) hide show
  1. wolfhece/Coordinates_operations.py +3 -1
  2. wolfhece/PyDraw.py +247 -3
  3. wolfhece/Results2DGPU.py +157 -39
  4. wolfhece/__init__.py +1 -0
  5. wolfhece/_add_path.py +9 -0
  6. wolfhece/apps/check_install.py +134 -1
  7. wolfhece/apps/splashscreen.py +1 -1
  8. wolfhece/apps/version.py +1 -1
  9. wolfhece/cli.py +96 -1
  10. wolfhece/hydrology/Optimisation.py +30 -25
  11. wolfhece/irm_qdf.py +67 -1
  12. wolfhece/mesh2d/wolf2dprev.py +4 -2
  13. wolfhece/report/pdf.py +55 -0
  14. wolfhece/report/simplesimgpu.py +1409 -0
  15. wolfhece/tools2d_dll.py +7 -2
  16. wolfhece/wolf_array.py +51 -5
  17. wolfhece/wolf_hist.py +21 -16
  18. wolfhece/wolfresults_2D.py +124 -25
  19. {wolfhece-2.2.20.dist-info → wolfhece-2.2.24.dist-info}/METADATA +3 -1
  20. {wolfhece-2.2.20.dist-info → wolfhece-2.2.24.dist-info}/RECORD +23 -60
  21. {wolfhece-2.2.20.dist-info → wolfhece-2.2.24.dist-info}/entry_points.txt +3 -0
  22. wolfhece/libs/GL/gl.h +0 -1044
  23. wolfhece/libs/GL/glaux.h +0 -272
  24. wolfhece/libs/GL/glcorearb.h +0 -3597
  25. wolfhece/libs/GL/glext.h +0 -11771
  26. wolfhece/libs/GL/glu.h +0 -255
  27. wolfhece/libs/GL/glxext.h +0 -926
  28. wolfhece/libs/GL/wglext.h +0 -840
  29. wolfhece/libs/MSVCP140.dll +0 -0
  30. wolfhece/libs/WolfDll.dll +0 -0
  31. wolfhece/libs/Wolf_tools.dll +0 -0
  32. wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  33. wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll +0 -0
  34. wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  35. wolfhece/libs/fribidi-0.dll +0 -0
  36. wolfhece/libs/get_infos.cp310-win_amd64.pyd +0 -0
  37. wolfhece/libs/get_infos.cp311-win_amd64.pyd +0 -0
  38. wolfhece/libs/get_infos.cp312-win_amd64.pyd +0 -0
  39. wolfhece/libs/get_infos.cp313-win_amd64.pyd +0 -0
  40. wolfhece/libs/glu32.dll +0 -0
  41. wolfhece/libs/hdf5.dll +0 -0
  42. wolfhece/libs/hdf5_hl.dll +0 -0
  43. wolfhece/libs/libcurl.dll +0 -0
  44. wolfhece/libs/libpardiso600-WIN-X86-64.dll +0 -0
  45. wolfhece/libs/libraqm.dll +0 -0
  46. wolfhece/libs/msvcr100.dll +0 -0
  47. wolfhece/libs/netcdf.dll +0 -0
  48. wolfhece/libs/paho-mqtt3cs.dll +0 -0
  49. wolfhece/libs/vcomp100.dll +0 -0
  50. wolfhece/libs/vcruntime140.dll +0 -0
  51. wolfhece/libs/vcruntime140_1.dll +0 -0
  52. wolfhece/libs/verify_wolf.cp310-win_amd64.pyd +0 -0
  53. wolfhece/libs/verify_wolf.cp311-win_amd64.pyd +0 -0
  54. wolfhece/libs/verify_wolf.cp312-win_amd64.pyd +0 -0
  55. wolfhece/libs/verify_wolf.cp313-win_amd64.pyd +0 -0
  56. wolfhece/libs/wolfogl.cp310-win_amd64.pyd +0 -0
  57. wolfhece/libs/wolfogl.cp311-win_amd64.pyd +0 -0
  58. wolfhece/libs/wolfogl.cp312-win_amd64.pyd +0 -0
  59. wolfhece/libs/wolfogl.cp313-win_amd64.pyd +0 -0
  60. wolfhece/libs/zlib1.dll +0 -0
  61. {wolfhece-2.2.20.dist-info → wolfhece-2.2.24.dist-info}/WHEEL +0 -0
  62. {wolfhece-2.2.20.dist-info → wolfhece-2.2.24.dist-info}/top_level.txt +0 -0
wolfhece/tools2d_dll.py CHANGED
@@ -3,6 +3,7 @@ import numpy as np
3
3
  import ctypes as ct
4
4
  import logging
5
5
 
6
+ import wolf_libs
6
7
  from .wolf_array import header_wolf, getkeyblock
7
8
 
8
9
  from .os_check import isWindows
@@ -29,12 +30,16 @@ class Tools2DFortran:
29
30
 
30
31
  if debugmode:
31
32
  if path_to_dll is None:
32
- self.dll_file = Path(__file__).parent / "libs" / "Wolf_tools_debug.dll"
33
+ # wolflibs directory
34
+ self.dll_file = Path(wolf_libs.__path__[0]) / "Wolf_tools_debug.dll"
35
+ # self.dll_file = Path(__file__).parent / "libs" / "Wolf_tools_debug.dll"
33
36
  else:
34
37
  self.dll_file = path_to_dll / "Wolf_tools_debug.dll"
35
38
  else:
36
39
  if path_to_dll is None:
37
- self.dll_file = Path(__file__).parent / "libs" / "Wolf_tools.dll"
40
+ # wolflibs directory
41
+ self.dll_file = Path(wolf_libs.__path__[0]) / "Wolf_tools.dll"
42
+ # self.dll_file = Path(__file__).parent / "libs" / "Wolf_tools.dll"
38
43
  else:
39
44
  self.dll_file = path_to_dll / "Wolf_tools.dll"
40
45
 
wolfhece/wolf_array.py CHANGED
@@ -89,7 +89,8 @@ except ImportError as e:
89
89
  raise Exception(_('Error importing modules'))
90
90
 
91
91
  try:
92
- from .libs import wolfogl
92
+ from wolf_libs import wolfogl
93
+
93
94
  except ImportError as e:
94
95
  msg=_('Error importing wolfogl.pyd')
95
96
  msg+=_(' Python version : ' + sys.version)
@@ -1383,6 +1384,34 @@ class header_wolf():
1383
1384
 
1384
1385
  return newvector
1385
1386
 
1387
+ def rasterize_zone_along_grid(self, zone2raster:zone, outformat:Union[np.ndarray, vector]=zone) -> Union[np.ndarray,zone]:
1388
+ """ Rasterize a zone according to the grid
1389
+
1390
+ :param zone2raster: zone to rasterize
1391
+ :param outformat: output format (np.ndarray or zone)
1392
+ """
1393
+
1394
+ assert outformat in [np.ndarray, zone], _('outformat must be np.ndarray or zone')
1395
+
1396
+ if outformat is zone:
1397
+ out_vec = vector
1398
+ else:
1399
+ out_vec = np.ndarray
1400
+ new_vecs = []
1401
+ for vec in zone2raster.myvectors:
1402
+ new_vecs.append(self.rasterize_vector_along_grid(vec, outformat=out_vec))
1403
+
1404
+ if outformat is np.ndarray:
1405
+ return np.vstack(new_vecs)
1406
+ elif outformat is zone:
1407
+ # create new zone
1408
+ newzone = zone()
1409
+ for vec, oldvec in zip(new_vecs, zone2raster.myvectors):
1410
+ vec.myname = oldvec.myname # keep the original name
1411
+ newzone.add_vector(vec, forceparent=True)
1412
+ return newzone
1413
+
1414
+
1386
1415
  def rasterize_vector(self, vector2raster:vector, outformat:Union[np.ndarray, vector]=vector) -> Union[np.ndarray,vector]:
1387
1416
  """ DEPRECATED since 2.2.8 -- use rasterize_vector_along_grid instead.
1388
1417
 
@@ -10482,11 +10511,26 @@ class WolfArray(Element_To_Draw, header_wolf):
10482
10511
  from PIL import Image
10483
10512
 
10484
10513
  try:
10485
- IO_image = getWalonmap(cat, self.origx, self.origy, self.origx + self.nbx * self.dx, self.origy +self.nby * self.dy, w=1000, tofile=False) # w=self.nbx, h=self.nby
10514
+ bounds = self.get_bounds()
10515
+
10516
+ scale_xovery = (bounds[0][1] - bounds[0][0]) / (bounds[1][1] - bounds[1][0])
10517
+
10518
+ if scale_xovery > 1.:
10519
+ # x is larger than y
10520
+ w = 2000
10521
+ h = int(2000 / scale_xovery)
10522
+ else:
10523
+ # y is larger than x
10524
+ h = 2000
10525
+ w = int(2000 * scale_xovery)
10526
+
10527
+ IO_image = getWalonmap(cat, bounds[0][0], bounds[1][0],
10528
+ bounds[0][1], bounds[1][1],
10529
+ w=w, h=h, tofile=False) # w=self.nbx, h=self.nby
10486
10530
 
10487
10531
  image = Image.open(IO_image)
10488
10532
 
10489
- ax.imshow(image.transpose(Image.Transpose.FLIP_TOP_BOTTOM), extent=(self.origx, self.origx + self.dx * self.nbx, self.origy, self.origy + self.dy * self.nby), alpha=1, origin='lower')
10533
+ ax.imshow(image.transpose(Image.Transpose.FLIP_TOP_BOTTOM), extent=(bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]), alpha=1, origin='lower')
10490
10534
  except Exception as e:
10491
10535
  logging.error(_('Error while fetching the map image from WalOnMap'))
10492
10536
  logging.error(e)
@@ -10518,7 +10562,10 @@ class WolfArray(Element_To_Draw, header_wolf):
10518
10562
  from matplotlib import colors
10519
10563
  cbar = ColorbarBase(ax_leg, cmap=self.mypal.cmap, norm=self.mypal.norm, orientation='vertical')
10520
10564
  cbar.set_ticks(self.mypal.values)
10521
- cbar.set_ticklabels(self.mypal.values)
10565
+
10566
+ # ticks labels with 3 decimal places
10567
+ labels = [f"{val:.3f}" for val in self.mypal.values]
10568
+ cbar.set_ticklabels(labels)
10522
10569
  cbar.ax.tick_params(labelsize=8)
10523
10570
  cbar.ax.yaxis.set_label_position('left')
10524
10571
  cbar.ax.yaxis.set_ticks_position('right')
@@ -10556,7 +10603,6 @@ class WolfArray(Element_To_Draw, header_wolf):
10556
10603
  cbar.ax.yaxis.set_tick_params(width=0.5, size=2, direction='in', color='black')
10557
10604
 
10558
10605
  ax.set_aspect('equal')
10559
- fig.tight_layout()
10560
10606
 
10561
10607
  if getdata_im:
10562
10608
  return fig, ax, im
wolfhece/wolf_hist.py CHANGED
@@ -20,7 +20,7 @@ except:
20
20
  from wolfhece.PyTranslate import _
21
21
 
22
22
  try:
23
- from .libs import wolfpy
23
+ from .tools2d_dll import Tools2DFortran
24
24
  except Exception as ex:
25
25
  pass
26
26
 
@@ -30,10 +30,13 @@ class Hist_file():
30
30
 
31
31
  self._times = np.void(0)
32
32
  self._q = np.void(0)
33
+ self._toolsDll = None
33
34
 
34
35
  if fn is None:
35
36
  return
36
-
37
+ else:
38
+ self.readfile(fn)
39
+
37
40
  def readfile(self, fn):
38
41
  if not exists(fn):
39
42
  logging.warning(_('File {} does not exist'.format(fn)))
@@ -45,11 +48,11 @@ class Hist_file():
45
48
  array = array.reshape(nblines, int(len(array)/nblines))
46
49
  self._times = array[:,0]
47
50
  self._q = array[:,1:]
48
-
49
- def create_from_sim(self, sim:str='', vec:str='',
50
- simtype:int=0, res:str='',
51
+
52
+ def create_from_sim(self, sim:str='', vec:str='',
53
+ simtype:int=0, res:str='',
51
54
  cutcell:str=''):
52
-
55
+
53
56
  if not(exists(sim) and exists(vec)):
54
57
  logging.warning(_('Check your files'))
55
58
  return
@@ -58,12 +61,14 @@ class Hist_file():
58
61
  if not exists(cutcell):
59
62
  logging.warning(_('Check your cutcell file'))
60
63
  return
61
-
62
- wolfpy.get_conv_border(sim.ljust(255).encode('ansi'),
63
- vec.ljust(255).encode('ansi'),
64
- simtype,
65
- res.ljust(255).encode('ansi'),
66
- cutcell.ljust(255).encode('ansi'))
64
+
65
+ try:
66
+ self._toolsDll = Tools2DFortran(fn_simul=sim)
67
+ except Exception as ex:
68
+ logging.error(_('Error loading tools2d_dll: {}').format(ex))
69
+ return
70
+
71
+ self._toolsDll.r2D_create_convergence_border(vec, simtype, res, cutcell)
67
72
 
68
73
  self.readfile(res)
69
74
 
@@ -71,10 +76,10 @@ class Hist_file():
71
76
  @property
72
77
  def nb(self):
73
78
  return self._q.shape[1]
74
-
79
+
75
80
  def __getitem__(self,id)-> np.ndarray:
76
81
  return self._times, self._q[:,id]
77
-
82
+
78
83
  def plot(self, id=None, absolute=True, figax=None, toshow=False):
79
84
  if figax is None:
80
85
  fig,ax = plt.subplots()
@@ -112,9 +117,9 @@ class Hist_file():
112
117
  if __name__=='__main__':
113
118
 
114
119
  wdir = r'data\sim_example\wolf_sim_ke'
115
-
120
+
116
121
  myhist = Hist_file(join(wdir,"out.hist"))
117
-
122
+
118
123
  myhist.plot()
119
124
  myhist.plot([1,3,5])
120
125
  myhist.plot(0)
@@ -54,30 +54,6 @@ except ImportError as ex:
54
54
  msg += _(" The actual error was: {}").format(str(ex))
55
55
  logging.error(msg)
56
56
 
57
- # try:
58
- # from .libs import wolfpy
59
- # except Exception as ex:
60
- # # This convoluted error handling is here to catch an issue
61
- # # which was difficult to track down: wolfpy was there
62
- # # but its DLL were not available.
63
-
64
- # from importlib.util import find_spec
65
- # s = find_spec('wolfhece.libs.wolfpy')
66
-
67
- # # Not too sure about this find_spec. If the root
68
- # # directory is not the good one, the import search may
69
- # # end up in the site packages, loading the wrong wolfpy.
70
-
71
- # base = Path(__file__).parent.parts
72
- # package = Path(s.origin).parent.parts
73
- # is_submodule = (len(base) <= len(package)) and all(i==j for i, j in zip(base, package))
74
-
75
- # if is_submodule:
76
- # msg = _("wolfpy was found but we were not able to load it. It may be an issue with its DLL dependencies")
77
- # msg += _("The actual error was: {}").format(str(ex))
78
-
79
- # raise Exception(msg)
80
-
81
57
  from .wolf_array import WolfArray, getkeyblock, header_wolf, WolfArrayMB, WolfArrayMNAP, header_wolf, SelectionData, SelectionDataMB, VERSION_RGB
82
58
  from .mesh2d import wolf2dprev
83
59
  from .PyVertexvectors import vector, zone, Zones
@@ -4179,6 +4155,10 @@ class Wolfresults_2D(Element_To_Draw):
4179
4155
  :param to_rasterize : pour rasteriser le vecteur selon la grille de calcul
4180
4156
  """
4181
4157
 
4158
+ if self.nb_blocks > 1:
4159
+ logging.error(_('This method is not implemented for multi-block results - Need to be implemented !'))
4160
+ return []
4161
+
4182
4162
  myhead = self.get_header_block(1)
4183
4163
  if to_rasterize:
4184
4164
  myvect = myhead.rasterize_vector_along_grid(myvect)
@@ -6153,4 +6133,123 @@ class Wolfresults_2D(Element_To_Draw):
6153
6133
  qx_avg.array.mask[:,:] = h_avg.array.mask[:,:]
6154
6134
  qy_avg.array.mask[:,:] = h_avg.array.mask[:,:]
6155
6135
 
6156
- return h_avg, qx_avg, qy_avg
6136
+ return h_avg, qx_avg, qy_avg
6137
+
6138
+ def danger_map_velocity_with_directions(self, start:int=0, end:int=-1, every:int=1, callback=None) -> Union[tuple[WolfArray, WolfArray, WolfArray, WolfArray], tuple[WolfArrayMB, WolfArrayMB, WolfArrayMB, WolfArrayMB]]:
6139
+ """
6140
+ Create Danger Map of velocity magnitudes and also retain their directions
6141
+
6142
+ :param start: start time step - 0-based
6143
+ :param end: end time step - 0-based
6144
+ :param every: step interval
6145
+ :param callback: optional callback to update progress
6146
+
6147
+ :return : tuple of WolfArray or WolfArrayMB - H, U_norm, U_x, U_y
6148
+ """
6149
+
6150
+ # Number of time steps
6151
+ number_of_time_steps = self.get_nbresults()
6152
+ if end ==-1:
6153
+ end = number_of_time_steps
6154
+
6155
+ # Init Danger Maps basde on results type
6156
+ # If only one block --> WolfArray
6157
+ # If only multiple blocks --> WolfArrayMB
6158
+ danger_map_matrix_h = self.as_WolfArray(copyarray=True)
6159
+ danger_map_matrix_v = self.as_WolfArray(copyarray=True)
6160
+ danger_map_matrix_vx = self.as_WolfArray(copyarray=True)
6161
+ danger_map_matrix_vy = self.as_WolfArray(copyarray=True)
6162
+
6163
+ danger_init = [danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_vx, danger_map_matrix_vy]
6164
+
6165
+ for curdanger in danger_init:
6166
+ curdanger.nullvalue = 0.
6167
+ curdanger.reset()
6168
+ curdanger.mask_reset()
6169
+
6170
+ to_compute = np.arange(start, end, every)
6171
+ #add the end
6172
+ if end not in to_compute:
6173
+ to_compute = np.append(to_compute, end)
6174
+ for time_step in tqdm(to_compute):
6175
+
6176
+ if callback is not None:
6177
+ callback(time_step, "Step {} / {}".format(time_step+1, end))
6178
+
6179
+ self.read_oneresult(time_step+1)
6180
+
6181
+ if self.nb_blocks>1:
6182
+ for curblock in self.myblocks.keys():
6183
+
6184
+ # Get WolfArray
6185
+ wd = self.get_h_for_block(curblock)
6186
+ qx = self.get_qx_for_block(curblock)
6187
+ qy = self.get_qy_for_block(curblock)
6188
+
6189
+ ij = np.where(~wd.array.mask)
6190
+
6191
+ v = np.zeros_like(wd.array)
6192
+ vy = np.zeros_like(wd.array)
6193
+ vx = np.zeros_like(wd.array)
6194
+
6195
+ v[ij] = ((qx.array[ij]**2.+qy.array[ij]**2.)**.5)/wd.array[ij]
6196
+ vy[ij] = qy.array[ij]/wd.array[ij]
6197
+ vx[ij] = qx.array[ij]/wd.array[ij]
6198
+
6199
+ # Comparison
6200
+ ij = np.where((danger_map_matrix_h.array < wd.array.data) & (~wd.array.mask))
6201
+ danger_map_matrix_h.array.data[ij] = wd.array[ij]
6202
+ danger_map_matrix_h.array.mask[ij] = False
6203
+
6204
+ # Comparison
6205
+ ij = np.where((danger_map_matrix_v.array < v) & (~wd.array.mask))
6206
+ danger_map_matrix_v.array.data[ij] = v[ij]
6207
+ danger_map_matrix_vx.array.data[ij] = vx[ij]
6208
+ danger_map_matrix_vy.array.data[ij] = vy[ij]
6209
+ danger_map_matrix_v.array.mask[ij] = False
6210
+ danger_map_matrix_vx.array.mask[ij] = False
6211
+ danger_map_matrix_vy.array.mask[ij] = False
6212
+
6213
+ else:
6214
+ curblock = getkeyblock(0)
6215
+ wd = self.get_h_for_block(curblock)
6216
+ qx = self.get_qx_for_block(curblock)
6217
+ qy = self.get_qy_for_block(curblock)
6218
+
6219
+ ij = np.where(~wd.array.mask)
6220
+
6221
+ v = np.zeros_like(wd.array)
6222
+ vy = np.zeros_like(wd.array)
6223
+ vx = np.zeros_like(wd.array)
6224
+
6225
+ v[ij] = ((qx.array[ij]**2.+qy.array[ij]**2.)**.5)/wd.array[ij]
6226
+ vy[ij] = qy.array[ij]/wd.array[ij]
6227
+ vx[ij] = qx.array[ij]/wd.array[ij]
6228
+
6229
+ # Comparison
6230
+ ij = np.where((danger_map_matrix_h.array < wd.array.data) & (~wd.array.mask))
6231
+ danger_map_matrix_h.array.data[ij] = wd.array[ij]
6232
+ danger_map_matrix_h.array.mask[ij] = False
6233
+
6234
+ # Comparison
6235
+ ij = np.where((danger_map_matrix_v.array < v) & (~wd.array.mask))
6236
+ danger_map_matrix_v.array.data[ij] = v[ij]
6237
+ danger_map_matrix_vx.array.data[ij] = vx[ij]
6238
+ danger_map_matrix_vy.array.data[ij] = vy[ij]
6239
+ danger_map_matrix_v.array.mask[ij] = False
6240
+ danger_map_matrix_vx.array.mask[ij] = False
6241
+ danger_map_matrix_vy.array.mask[ij] = False
6242
+
6243
+ danger_map_matrix_h.mask_lower(self.epsilon)
6244
+
6245
+ if self.nb_blocks>1:
6246
+ for i in range(self.nb_blocks):
6247
+ danger_map_matrix_v[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
6248
+ danger_map_matrix_vx[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
6249
+ danger_map_matrix_vy[i].array.mask[:,:] = danger_map_matrix_h[i].array.mask[:,:]
6250
+ else:
6251
+ danger_map_matrix_v.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
6252
+ danger_map_matrix_vx.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
6253
+ danger_map_matrix_vy.array.mask[:,:] = danger_map_matrix_h.array.mask[:,:]
6254
+
6255
+ return (danger_map_matrix_h, danger_map_matrix_v, danger_map_matrix_vx, danger_map_matrix_vy)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wolfhece
3
- Version: 2.2.20
3
+ Version: 2.2.24
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
@@ -13,6 +13,7 @@ Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Topic :: Scientific/Engineering :: Physics
14
14
  Requires-Python: <3.13,>=3.10
15
15
  Description-Content-Type: text/markdown
16
+ Requires-Dist: wolf-libs
16
17
  Requires-Dist: wxpython==4.2.*
17
18
  Requires-Dist: pyogrio
18
19
  Requires-Dist: fiona
@@ -73,6 +74,7 @@ Requires-Dist: ipympl
73
74
  Requires-Dist: contextily
74
75
  Requires-Dist: pefile
75
76
  Requires-Dist: wolfpydike
77
+ Requires-Dist: PyMuPDF
76
78
 
77
79
  This package contains the Python graphical interface for the WOLF software (HECE - ULiège), along with several tools for topographic, hydraulic, and hydrological processing.
78
80
 
@@ -1,4 +1,4 @@
1
- wolfhece/Coordinates_operations.py,sha256=YyWlAwKManb-ReQrmP37rEXxehunUCihmkeDYX6qTAQ,8037
1
+ wolfhece/Coordinates_operations.py,sha256=KaIcP1b0IpKSLaynZgfvwkD6wsMKLmZo-kxeLfv9-8c,8101
2
2
  wolfhece/CpGrid.py,sha256=_piG1u-ua7NzWh_PHJYTmxuPJ43ZfeYKNEQgZIJwDJ8,10660
3
3
  wolfhece/GraphNotebook.py,sha256=2TR8qjEwpMtl34QWgYNVe_PgTnuwhUxT5f9Y2zrmN2U,28257
4
4
  wolfhece/GraphProfile.py,sha256=OCgJo0YFFBI6H1z-5egJsOOoWF_iziiza0-bbPejNMc,69656
@@ -8,7 +8,7 @@ wolfhece/Model1D.py,sha256=snEmu8Uj2YGcp1ybPnly-4A389XRnuOujGduqInNcgw,477001
8
8
  wolfhece/PandasGrid.py,sha256=YIleVkUkoP2MjtQBZ9Xgwk61zbgMj4Pmjj-clVTfPRs,2353
9
9
  wolfhece/PyConfig.py,sha256=Y0wtSIFpAMYa7IByh7hbW-WEOVjNsQEduq7vhIYdZQw,16716
10
10
  wolfhece/PyCrosssections.py,sha256=igU_ELrg5VrHU6RNbF5tHxPyVImpR3xdpfopJYc7haw,114711
11
- wolfhece/PyDraw.py,sha256=18K9kHFkXMgk3-NlXYgGHlClXoxtQuMV15uX81Aod50,649409
11
+ wolfhece/PyDraw.py,sha256=3ZKNrXhdHYNjuFKV47l7vHFMcqWElQUxDuM8XX1R5zk,662179
12
12
  wolfhece/PyGui.py,sha256=DqMTDsC9GthnMdYOXvkMKfl5pNciExVzxG4ogptWf6g,146010
13
13
  wolfhece/PyGuiHydrology.py,sha256=sKafpOopBg50L5llZCI_fZtbebVTDtxvoRI6-osUwhg,14745
14
14
  wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
@@ -23,12 +23,12 @@ wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
23
23
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
24
24
  wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
25
25
  wolfhece/ReadDataDCENN.py,sha256=vm-I4YMryvRldjXTvRYEUCxZsjb_tM7U9yj6OaPyD0k,1538
26
- wolfhece/Results2DGPU.py,sha256=kVEbP61PfcsMwyJT1pvXgUxpPfVVxlP_8saXWzsYAbg,27021
27
- wolfhece/__init__.py,sha256=GT0gFxmuieqEMUMpMH3ORcGRtKF-ZSVAk0jTkH8aXQM,925
28
- wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
26
+ wolfhece/Results2DGPU.py,sha256=GTu7PMuwfH-xH8J7sVr6zq2CTkGKF24fG1ujEW62PtM,31598
27
+ wolfhece/__init__.py,sha256=Gd96hBcXEFUUssyRgJAGC1vCmNR30S66m_80KjcXzGA,946
28
+ wolfhece/_add_path.py,sha256=mAyu85CQHk0KgUI6ZizweeQiw1Gdyea9OEjGLC6lLA4,916
29
29
  wolfhece/analyze_poly.py,sha256=jsCUsd0ZJtTwSk5hekcXj8i0tGhH-WCfNkrBtPRJpCc,12715
30
30
  wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
31
- wolfhece/cli.py,sha256=U8D7e_OezfrRfgMsa4TyQ7rI4voLKSY3RK-c8fb6rrw,3156
31
+ wolfhece/cli.py,sha256=h1tSMHALiftktreyugKcjbASXfpJUm9UYMeVxR-MtG4,6424
32
32
  wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,37121
33
33
  wolfhece/dike.py,sha256=eG9EDCRk46Nlzpg5OycUeOag_T8joyJ2wzTkQgAT5F0,30710
34
34
  wolfhece/drawing_obj.py,sha256=7vY04B6r08nurTTFmBXHyR5tVIF1YzAEw_uz4pqTDIw,4233
@@ -39,7 +39,7 @@ wolfhece/gpuview.py,sha256=Jql8pLZ0PpvZ_ScT-U4jsXANZ9j4-m_RWhsLA2HISuQ,24544
39
39
  wolfhece/images_tiles.py,sha256=w5BX6kRqA0wW9TWyKrJUIRl-XyqHclq_kp5ET2VA0Sg,3227
40
40
  wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4465
41
41
  wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
42
- wolfhece/irm_qdf.py,sha256=DMdDEAYbgYxApObm6w-dZbBmA8ec6PghBLXR2lUEZLc,27457
42
+ wolfhece/irm_qdf.py,sha256=MjDn6dCaJ6JgeH0RkMiHqWXLPeTZ_Fd7nH_7q5jvbQg,30269
43
43
  wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
44
44
  wolfhece/lagrange_multiplier.py,sha256=0G-M7b2tGzLx9v0oNYYq4_tLAiHcs_39B4o4W3TUVWM,6567
45
45
  wolfhece/lifewatch.py,sha256=Q_Wy6VGkrD-xxY0fv3PKpT8U8oXxNMgiLlrAE3bMheo,16340
@@ -58,15 +58,15 @@ wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
58
58
  wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
59
59
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
60
60
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
61
- wolfhece/tools2d_dll.py,sha256=PymIBKI2-nxNUHxjS44fG_n4zwY9puUA3LVI4-REWxU,13286
61
+ wolfhece/tools2d_dll.py,sha256=TfvvmyZUqEZIH0uHwUCJf0bdmCks_AiidDt23Unsp5w,13550
62
62
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
63
- wolfhece/wolf_array.py,sha256=wgPv8eVZHZTY9gPFmAzDzY16WpCRjBubeXQd9i_EEYo,517020
64
- wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
63
+ wolfhece/wolf_array.py,sha256=5TyRd6XEWDJHvXfPPgsFKbBFmZbQ-68wS57mHqymqrk,518644
64
+ wolfhece/wolf_hist.py,sha256=fTEb60Q4TEwobdZsRU4CFXAId1eOKdWAqF8lnF1xEWc,3590
65
65
  wolfhece/wolf_texture.py,sha256=8BcVSezLEogTHYmtA4yfSPzaw6UpAeYYySVaAowIKtQ,20858
66
66
  wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
67
67
  wolfhece/wolf_vrt.py,sha256=wbxXVN7TL9zgdyF79S-4e3pje6wJEAgBEfF_Y8kkzxs,14271
68
68
  wolfhece/wolf_zi_db.py,sha256=baE0niMCzybWGSvPJc5FNxo9ZxsGfU4p-FmfiavFHAs,12967
69
- wolfhece/wolfresults_2D.py,sha256=9dLgCifDFORPYJmdvkumAS1TmXmFduT-Ga9J6hb5HS8,241036
69
+ wolfhece/wolfresults_2D.py,sha256=0c3akPDFETE0Uq0JiZ0FZEx6Rxiy9JB5s9P6sDei0E0,245735
70
70
  wolfhece/xyz_file.py,sha256=1pzLFmmdHca4yBVR9Jitic6N82rY28mRytGC1zMbY28,6615
71
71
  wolfhece/acceptability/Parallels.py,sha256=2wVkfJYor4yl7VYiAZiGGTFwtAab2z66ZfRtBliVweE,4088
72
72
  wolfhece/acceptability/__init__.py,sha256=hfgoPKLDpX7drN1Vpvux-_5Lfyc_7feT2C2zQr5v-Os,258
@@ -82,13 +82,13 @@ wolfhece/apps/WolfPython2.png,sha256=VMPV-M-3BCOg8zOJss8bXwPmzRYZy8Fo-XtnVYNgbaw
82
82
  wolfhece/apps/WolfPython3.png,sha256=3G84zx14HnlB9YXMY4VUAO7IB3eu7JFvi4Kpmc_4zBE,403298
83
83
  wolfhece/apps/__init__.py,sha256=OzzKItATWV0mDkz_LC2L3w5sgT2rt8ExXXCbR_FwvlY,24
84
84
  wolfhece/apps/acceptability.py,sha256=hMIxTRNQARTTWJJaakb6kEK9udNh-w64VDgxxezVk3k,790
85
- wolfhece/apps/check_install.py,sha256=ULUN2frWsMK2a-aKu5an6qx7JBJ9JJWGK9sWWTqYpYA,4001
85
+ wolfhece/apps/check_install.py,sha256=DmyFC5Thz29UFQlokD7dbhlWPDeWstiukcBPuXofnsk,9753
86
86
  wolfhece/apps/check_version.py,sha256=Zze7ltzcM2ZzIGMwkcASIjapCG8CEzzW9kwNscA3NhM,1768
87
87
  wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVzzA,9106
88
88
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
89
89
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
90
- wolfhece/apps/splashscreen.py,sha256=eCPAUYscZPWDYKBHDBWum_VIcE7WXOCBe1GLHL3KUmU,3088
91
- wolfhece/apps/version.py,sha256=Hqcu9DE5YpkQkozqg4HDF7_oBRIQS8I7Yg-lhxj3V10,388
90
+ wolfhece/apps/splashscreen.py,sha256=EdGDN9NhudIiP7c3gVqj7dp4MWFB8ySizM_tpMnsgpE,3091
91
+ wolfhece/apps/version.py,sha256=3qfyNsaI-v1qzANbydpCOlZTJHZhiWyeJf0VzXFEr_Y,388
92
92
  wolfhece/apps/wolf.py,sha256=mRnjYsUu4KIsRuamdQWAINFMuwN4eJgMo9erG-hkZ70,729
93
93
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
94
94
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -136,7 +136,7 @@ wolfhece/hydrology/Comparison.py,sha256=5uHQlKZgNUzpUM0xmLZUePuhq38x7w_hsIPO5Lm8
136
136
  wolfhece/hydrology/Dumping.py,sha256=SHGYXr30nMOGPSLArMvAzVxGyLywLf4i267166oUHhQ,2403
137
137
  wolfhece/hydrology/Internal_variables.py,sha256=F-eLtV3pjzkPkp12qxSDYJsiInvGx-IPqIouTmaQMjg,10141
138
138
  wolfhece/hydrology/Models_characteristics.py,sha256=qBvmyjpND_hPybR8M5s-FckUViwGdjxr3vv6PvtdQ-s,12614
139
- wolfhece/hydrology/Optimisation.py,sha256=6UEeWmNfuuDUnyIVZAkSMy74PCl5nub8Pz4xvCoVDAQ,166919
139
+ wolfhece/hydrology/Optimisation.py,sha256=AVEii9E7Lo84LFaAanrFzOB8pqQ-lTE_tu_svoahHZ8,166915
140
140
  wolfhece/hydrology/Outlet.py,sha256=jdjYN2gIolQJ5prf1wVfxm7cp_YguwQ0JMRsC9ks-Tg,10519
141
141
  wolfhece/hydrology/PostProcessHydrology.py,sha256=GS2dm9ahDb856apXvTM-oyusTn0xj-ySNpKbHa_jQdw,7419
142
142
  wolfhece/hydrology/PyWatershed.py,sha256=a26M6tVe4hrQ-a8FyAx7H9-RZcVCU5BBzFff4_YT0UU,97665
@@ -209,46 +209,7 @@ wolfhece/lazviewer/viewer/viewer_310.exe,sha256=jRy4FhrTa7yN0Cp5dBvCGAL_oBOCqMYb
209
209
  wolfhece/lazviewer/viewer/viewer_311.exe,sha256=fzgBu38zzB_dGaGdD_GciICSEh6ZMZHjsE5VSm6se-A,179200
210
210
  wolfhece/lazviewer/viewer/viewer_312.exe,sha256=MlXllgQK4IyUc7Y7b0pecdy3tT0Rt9fGxfrDUTU4RN0,179200
211
211
  wolfhece/lazviewer/viewer/viewer_313.exe,sha256=6YqzRkqd_blMZeZe0ubzJJxHc3ueLjAoe2qHeCK4_F8,179200
212
- wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
213
- wolfhece/libs/WolfDll.dll,sha256=DlSlpFVicaGgBImvKSXHExgNNKphDwzCYW_w4EVrl8g,134153216
214
- wolfhece/libs/Wolf_tools.dll,sha256=HN4spQRt0f2hWm_4FsYdRuBo0hiCKFYnD0rOnJGJcAU,144569856
215
212
  wolfhece/libs/__init__.py,sha256=x7QvPd7hjL-Xl7RjlA8y6rcvKCkYu3JpFE3YnzUJeCY,3326
216
- wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
217
- wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll,sha256=ol0GVN6wzqGu8Ym6IXTQ8TvfUvCY06nsNtFeS_swxJk,27912
218
- wolfhece/libs/api-ms-win-crt-runtime-l1-1-0.dll,sha256=NxpEq5FhSowm0Vm-uHKntD9WnLX6yK2pms6Y8mSjtQM,23304
219
- wolfhece/libs/fribidi-0.dll,sha256=MCLSH_tGJXcJdcnUXilGNTVMH6KU8OumYyJX8yN08bQ,111616
220
- wolfhece/libs/get_infos.cp310-win_amd64.pyd,sha256=teptWpe0zs4P3TSk-FOleP3YqIxxplutuUltMcaFrEs,78336
221
- wolfhece/libs/get_infos.cp311-win_amd64.pyd,sha256=6-AJl8zY2K6UYsHTEshsKEC2-ggcdmwDRcNsfxzxZcU,78848
222
- wolfhece/libs/get_infos.cp312-win_amd64.pyd,sha256=NwGfQ38WtFFhIBrFQU8WYTWReaC6mcetd7cbLeCi6q0,78848
223
- wolfhece/libs/get_infos.cp313-win_amd64.pyd,sha256=EdpkHgJJPoUtnGiu_8NV7ALHhts9lKthFIgAPOG39wA,78848
224
- wolfhece/libs/glu32.dll,sha256=gLubeeL9b_RDYTQ2JL0iHzpRMg8uapKCOEpZ15k1SUQ,164352
225
- wolfhece/libs/hdf5.dll,sha256=quTNP4GZtVNJ6Ptx__ltuGTN0gQ96rvkGL5yBLuUcF4,3129856
226
- wolfhece/libs/hdf5_hl.dll,sha256=alZLhLXbReBtwbwsariWWRPAlrwzrePr-Mbdgiy922Y,112128
227
- wolfhece/libs/libcurl.dll,sha256=xYNKOWwPynyHNEwgN61GRHHMqjFyBxu4GWemFe89Ipc,311296
228
- wolfhece/libs/libpardiso600-WIN-X86-64.dll,sha256=4UsSdj3TWf0IR4Peac05mLXCuZvzazix5_KGfurTRKE,16288256
229
- wolfhece/libs/libraqm.dll,sha256=p48j-ZNSQJRqrh8NHez7wdxZCKItW4DNSmWd082o60Y,1304064
230
- wolfhece/libs/msvcr100.dll,sha256=rjy2xq-6mkqlyF9mAjw1M4ylebMDJt0CkY-dVSWVA9U,829264
231
- wolfhece/libs/netcdf.dll,sha256=6u6oyapv6lRB1KlDeEB1For0JjMYHtVYUYkH_ht_ICY,958976
232
- wolfhece/libs/paho-mqtt3cs.dll,sha256=i1v0CSIWEGPIlJrEEcmXDLXO2D1bCOQNIDPiWzIpMbI,134656
233
- wolfhece/libs/vcomp100.dll,sha256=NKvXc8hc4MrFa9k8ErALA6OmldGfR3zidaZPCZhMVJI,57168
234
- wolfhece/libs/vcruntime140.dll,sha256=gPBsB0DzEBn3b7E5ihESs-AtG4Cu59OnONR1QI17TGA,98720
235
- wolfhece/libs/vcruntime140_1.dll,sha256=KZJoe26L6i76Krqne_OribgfhN6LxJQEcs0Xn_01hP8,38304
236
- wolfhece/libs/verify_wolf.cp310-win_amd64.pyd,sha256=HJhG4oSq994IQ_8lg6WTVJmoryc6qUSl-nTXXdEtf0A,128512
237
- wolfhece/libs/verify_wolf.cp311-win_amd64.pyd,sha256=9WP-FUOKX5V0zuDyoro30rADB1Lbnc3R3a_h4p2GOS0,129536
238
- wolfhece/libs/verify_wolf.cp312-win_amd64.pyd,sha256=FvkBkU3P4lrype1zRqjw2Ncx119gPzpCwIeQaraOlTg,130048
239
- wolfhece/libs/verify_wolf.cp313-win_amd64.pyd,sha256=AGH_2hjbI44rKCFZh3MkR_KPOogChuHHF6f3CY98z0A,129536
240
- wolfhece/libs/wolfogl.cp310-win_amd64.pyd,sha256=8LNrIRLpoaHGjhQTIBDeklawTLCqIXsmgpOkAfCqsmM,458240
241
- wolfhece/libs/wolfogl.cp311-win_amd64.pyd,sha256=9Zrm_KU_OMy8dRU8w0QrPoxDuwfjtl0QxSCBbdinhaQ,458240
242
- wolfhece/libs/wolfogl.cp312-win_amd64.pyd,sha256=DdeSnOShl9xXWUkOivhzaldsKYujs_dHGmhi-cqxy74,470528
243
- wolfhece/libs/wolfogl.cp313-win_amd64.pyd,sha256=T1zWzsR5L-YdtYRp2Spkrsp9W5ekVtPzvCtRYBaLbCk,470016
244
- wolfhece/libs/zlib1.dll,sha256=E9a0e62VgmG1A8ohZzhVCmmfGtbyXxXu4aFeADTNJ30,77824
245
- wolfhece/libs/GL/gl.h,sha256=IhsS_fOLa8GW9MpiLZebe9QYRy6uIB_qK_uQMWMOoeg,46345
246
- wolfhece/libs/GL/glaux.h,sha256=I3vxXdrzVH05TmjEeAOgKn3egbPt34WMjbeKq5LaBvE,7130
247
- wolfhece/libs/GL/glcorearb.h,sha256=wfbeOYhbDpIowerrO50sOT2ZKRy5TIhiw6CbNw77m8c,243226
248
- wolfhece/libs/GL/glext.h,sha256=d1WQSbc0WUb_CUqSsqXv92kFcWkYyOoZyQoYV41R5Ok,791334
249
- wolfhece/libs/GL/glu.h,sha256=vnnMbXslQgCP__wXOUhln9xO3_IBgdk8VPXTLK6Un1Y,10565
250
- wolfhece/libs/GL/glxext.h,sha256=jnfGukPrzy_kgR0PakWcNDqpicdkKfA48-Y-CHSQPCE,48113
251
- wolfhece/libs/GL/wglext.h,sha256=x0o9xe6SUhC97ZucqIWTWdwu6UfBZGbCoCHOurXDPBU,44095
252
213
  wolfhece/links/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
214
  wolfhece/links/link.py,sha256=CoHcZK2wWKzO8QFqtdzw5-Z6_PhxvJ6JqlA3HsHHuf0,445
254
215
  wolfhece/locales/base.po,sha256=meU93yWX-AlU13FlIYnuXNnYsxVB9k4O_QoBQ_h2W1I,1026
@@ -266,7 +227,7 @@ wolfhece/mesh2d/config_manager.py,sha256=DcdxCIIs_dyC6ayJOBULeY364LONogL9PBaqBtC
266
227
  wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=r43pHHdCtmNp5R2zh1Ckb7EzwQDf6C4YMLwRFTl4KMc,5006
267
228
  wolfhece/mesh2d/gpu_2d.py,sha256=GGOAW3c3c2CKtDyxSJJdX_1A1QfMFC5CU4MjzhAbR5o,25551
268
229
  wolfhece/mesh2d/simple_2d.py,sha256=wqENJwpUPxKQcpGIcymQXUj2KgkGWCVH6cs4Os9h9Gs,112581
269
- wolfhece/mesh2d/wolf2dprev.py,sha256=N50tmed97OgNATEp9DPEXQlcbqy3fjWkvAvyhmTsWmI,493023
230
+ wolfhece/mesh2d/wolf2dprev.py,sha256=oK9r94CYJaeOBSv4s4mkuhLA8rCsnrkjG2sGW_zR1x0,493127
270
231
  wolfhece/models/5_coul.pal,sha256=OI1UqcNIDBpJn2k_VDel__r-hKjjvdob0eqinGCI3QY,160
271
232
  wolfhece/models/6_coul.pal,sha256=z7NK2dg0tAQBUweRQV54dIwJbPM1U5y1AR2LLw19Idw,148
272
233
  wolfhece/models/7_coul.pal,sha256=XTnnUyCE8ONokScB2YzYDnSTft7E6sppmr7P-XwMsCE,205
@@ -304,7 +265,9 @@ wolfhece/rem/REMMaker.py,sha256=zkiAo36MmusPhgv1qJmpDgtoTWbh_eJ6qJqtCfeC1M8,3148
304
265
  wolfhece/rem/RasterViz.py,sha256=fnyMfAJZDoS-rjagsNRGLndS-UYNUzMY4DgenjD3Y_4,29068
305
266
  wolfhece/rem/__init__.py,sha256=S2-J5uEGK_VaMFjRUYFIdSScJjZyuXH4RmMmnG3OG7I,19
306
267
  wolfhece/report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
+ wolfhece/report/pdf.py,sha256=zrSSY1JPk59FxK9pFWQfhVKIQAoc_wjeTrXO3tSiEHo,1959
307
269
  wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,19494
270
+ wolfhece/report/simplesimgpu.py,sha256=kx9IMCr9afPwv9B3G5ADQfaIuHXuqTkgSjg-5bXVuqo,60738
308
271
  wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
309
272
  wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
273
  wolfhece/scenario/check_scenario.py,sha256=d-LWa_FxmPxTSc_H1lDHwqLB6TCqj1IUrRJhatfPMMA,5623
@@ -337,8 +300,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
337
300
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
338
301
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
302
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
340
- wolfhece-2.2.20.dist-info/METADATA,sha256=s73JTzloNtnBw4o9MJ6k-Li2knZ8zCG9qrxfhGOwx6k,2679
341
- wolfhece-2.2.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
342
- wolfhece-2.2.20.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
343
- wolfhece-2.2.20.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
344
- wolfhece-2.2.20.dist-info/RECORD,,
303
+ wolfhece-2.2.24.dist-info/METADATA,sha256=JLouSaSwr1t-Z7Z5N97nSIHCJjjhAyKHUlToNAHGAAA,2729
304
+ wolfhece-2.2.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
305
+ wolfhece-2.2.24.dist-info/entry_points.txt,sha256=Jr187pyvA3EeJiQLjZK9yo6mJX7IAn6ygZU9T8qF_gQ,658
306
+ wolfhece-2.2.24.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
307
+ wolfhece-2.2.24.dist-info/RECORD,,
@@ -4,6 +4,9 @@ wolf_check = wolfhece.cli:check
4
4
  wolf_gui = wolfhece.cli:wolf
5
5
  wolf_hydrometry = wolfhece.cli:hydrometry
6
6
  wolf_license = wolfhece.cli:license
7
+ wolf_report_compare = wolfhece.cli:report_compare
8
+ wolf_report_gpu = wolfhece.cli:report_gpu
9
+ wolf_reports_gpu = wolfhece.cli:reports_gpu
7
10
 
8
11
  [gui_scripts]
9
12
  wolf = wolfhece.cli:wolf