wolfhece 2.0.4__py3-none-any.whl → 2.0.6__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 (42) hide show
  1. wolfhece/GraphNotebook.py +0 -1
  2. wolfhece/GraphProfile.py +5 -14
  3. wolfhece/Lidar2002.py +0 -1
  4. wolfhece/PyCrosssections.py +21 -26
  5. wolfhece/PyDraw.py +219 -58
  6. wolfhece/PyGui.py +6 -3
  7. wolfhece/PyPalette.py +2 -2
  8. wolfhece/PyParams.py +48 -48
  9. wolfhece/PyVertex.py +1 -1
  10. wolfhece/PyVertexvectors.py +40 -4
  11. wolfhece/Results2DGPU.py +7 -6
  12. wolfhece/apps/WolfPython.png +0 -0
  13. wolfhece/bernoulli/NetworkOpenGL.py +1 -1
  14. wolfhece/cli.py +7 -0
  15. wolfhece/flow_SPWMI.py +1 -1
  16. wolfhece/friction_law.py +6 -6
  17. wolfhece/gpuview.py +1 -1
  18. wolfhece/hydrology/PyWatershed.py +9 -10
  19. wolfhece/lagrangian/emitter.py +1 -1
  20. wolfhece/lagrangian/example_domain.py +1 -1
  21. wolfhece/lagrangian/velocity_field.py +4 -4
  22. wolfhece/libs/WolfDll.dll +0 -0
  23. wolfhece/libs/WolfDll_CD.dll +0 -0
  24. wolfhece/libs/WolfOGL.c +28187 -28187
  25. wolfhece/mar/Interface_MAR_WOLF_objet.py +1004 -0
  26. wolfhece/mar/commontools.py +1289 -59
  27. wolfhece/mesh2d/bc_manager.py +89 -13
  28. wolfhece/mesh2d/cst_2D_boundary_conditions.py +12 -0
  29. wolfhece/mesh2d/wolf2dprev.py +1 -2
  30. wolfhece/pydike.py +1 -1
  31. wolfhece/pyshields.py +43 -43
  32. wolfhece/pywalous.py +2 -2
  33. wolfhece/scenario/config_manager.py +3 -1
  34. wolfhece/ui/wolf_multiselection_collapsiblepane.py +10 -10
  35. wolfhece/wolf_array.py +1298 -418
  36. wolfhece/wolf_texture.py +1 -1
  37. wolfhece/wolfresults_2D.py +124 -19
  38. {wolfhece-2.0.4.dist-info → wolfhece-2.0.6.dist-info}/METADATA +5 -1
  39. {wolfhece-2.0.4.dist-info → wolfhece-2.0.6.dist-info}/RECORD +42 -39
  40. {wolfhece-2.0.4.dist-info → wolfhece-2.0.6.dist-info}/WHEEL +0 -0
  41. {wolfhece-2.0.4.dist-info → wolfhece-2.0.6.dist-info}/entry_points.txt +0 -0
  42. {wolfhece-2.0.4.dist-info → wolfhece-2.0.6.dist-info}/top_level.txt +0 -0
wolfhece/wolf_texture.py CHANGED
@@ -7,7 +7,7 @@ try:
7
7
  except:
8
8
  msg=_('Error importing OpenGL library')
9
9
  msg+=_(' Python version : ' + sys.version)
10
- msg+=_(' Please check your version of opengl32.dll -- conflict may exist between different fils present on your desktop')
10
+ msg+=_(' Please check your version of opengl32.dll -- conflict may exist between different files present on your desktop')
11
11
  raise Exception(msg)
12
12
 
13
13
  from os.path import exists
@@ -18,7 +18,7 @@ try:
18
18
  except:
19
19
  msg=_('Error importing OpenGL library')
20
20
  msg+=_(' Python version : ' + sys.version)
21
- msg+=_(' Please check your version of opengl32.dll -- conflict may exist between different fils present on your desktop')
21
+ msg+=_(' Please check your version of opengl32.dll -- conflict may exist between different files present on your desktop')
22
22
  raise Exception(msg)
23
23
 
24
24
  from .drawing_obj import Element_To_Draw
@@ -67,6 +67,60 @@ from .wolf_array import WolfArray, getkeyblock, header_wolf, WolfArrayMB, WolfAr
67
67
  from .mesh2d import wolf2dprev
68
68
  from .PyVertexvectors import vector, zone, Zones
69
69
 
70
+
71
+ def outside_domain(val):
72
+ """ Test if a value is outside the calculated domain """
73
+ return val[0][0] is np.ma.masked or val[1][0] =='-'
74
+
75
+ def q_splitting(q_left, q_right):
76
+ """ Splitting of the normal flow between two nodes """
77
+ prod_q = q_left * q_right
78
+ sum_q = q_left + q_right
79
+ if prod_q > 0.:
80
+ if q_left > 0.:
81
+ return q_left
82
+ else:
83
+ return q_right
84
+ elif prod_q < 0.:
85
+ if sum_q > 0.:
86
+ return q_left
87
+ elif sum_q < 0.:
88
+ return q_right
89
+ else:
90
+ return 0.
91
+ else:
92
+ if q_left<0.:
93
+ return 0.
94
+ elif q_right<0.:
95
+ return 0.
96
+ else:
97
+ return sum_q / 2.
98
+
99
+ def u_splitting(q_left, q_right, h_left, h_right):
100
+ """ Splitting of the normal flow velocity between two nodes """
101
+ prod_q = q_left * q_right
102
+ sum_q = q_left + q_right
103
+ if prod_q > 0.:
104
+ if q_left > 0.:
105
+ return q_left/h_left
106
+ else:
107
+ return q_right/h_right
108
+ elif prod_q < 0.:
109
+ if sum_q > 0.:
110
+ return q_left/h_left
111
+ elif sum_q < 0.:
112
+ return q_right/h_right
113
+ else:
114
+ return 0.
115
+ else:
116
+ if q_left<0.:
117
+ return 0.
118
+ elif q_right<0.:
119
+ return 0.
120
+ else:
121
+ return (q_left/h_left + q_right/h_right) / 2.
122
+
123
+
70
124
  class Props_Res_2D(wx.Frame):
71
125
  """
72
126
  Fenêtre de propriétésd'un Wolfresults_2D
@@ -1813,6 +1867,8 @@ class Wolfresults_2D(Element_To_Draw):
1813
1867
  self.translx=0.
1814
1868
  self.transly=0.
1815
1869
 
1870
+ self.head_blocks={}
1871
+
1816
1872
  if fname is not None:
1817
1873
 
1818
1874
  if loader is not None:
@@ -1833,7 +1889,6 @@ class Wolfresults_2D(Element_To_Draw):
1833
1889
  self.transly=float(trl[2])
1834
1890
 
1835
1891
  self.myblocks={}
1836
- self.head_blocks={}
1837
1892
  self.read_param_simul()
1838
1893
 
1839
1894
  if exists(self.filename+'.head') or exists(join(dirname(self.filename),'bloc1.head')):
@@ -1919,6 +1974,8 @@ class Wolfresults_2D(Element_To_Draw):
1919
1974
  self.read_ini_mb()
1920
1975
 
1921
1976
  self.loaded_rough = False
1977
+ else:
1978
+ self.myblocks={}
1922
1979
 
1923
1980
  self.nbx = 1
1924
1981
  self.nby = 1
@@ -2028,8 +2085,6 @@ class Wolfresults_2D(Element_To_Draw):
2028
2085
 
2029
2086
  curhead.head_blocks = self.head_blocks.copy()
2030
2087
 
2031
- curhead.nbdims = 2
2032
-
2033
2088
  if abs:
2034
2089
  curhead.origx += curhead.translx
2035
2090
  curhead.origy += curhead.transly
@@ -2069,10 +2124,7 @@ class Wolfresults_2D(Element_To_Draw):
2069
2124
  retarray = WolfArrayMB()
2070
2125
  retarray.set_header(self.get_header())
2071
2126
  for i in range(self.nb_blocks):
2072
- if copyarray :
2073
- retarray.add_block(WolfArray(mold=self[i]))
2074
- else:
2075
- retarray.add_block(self[i])
2127
+ retarray.add_block(self[i], copyarray=copyarray)
2076
2128
  else:
2077
2129
  if copyarray :
2078
2130
  retarray = WolfArray(mold=self[0])
@@ -2498,12 +2550,11 @@ class Wolfresults_2D(Element_To_Draw):
2498
2550
  self.myblocks[getkeyblock(whichblock,False)].k.count()
2499
2551
  self.myblocks[getkeyblock(whichblock,False)].eps.count()
2500
2552
 
2501
- if self.epsilon > 0.:
2502
- self.myblocks[getkeyblock(whichblock,False)].waterdepth.set_nullvalue_in_mask()
2503
- self.myblocks[getkeyblock(whichblock,False)].qx.set_nullvalue_in_mask()
2504
- self.myblocks[getkeyblock(whichblock,False)].qy.set_nullvalue_in_mask()
2505
- self.myblocks[getkeyblock(whichblock,False)].k.set_nullvalue_in_mask()
2506
- self.myblocks[getkeyblock(whichblock,False)].eps.set_nullvalue_in_mask()
2553
+ self.myblocks[getkeyblock(whichblock,False)].waterdepth.set_nullvalue_in_mask()
2554
+ self.myblocks[getkeyblock(whichblock,False)].qx.set_nullvalue_in_mask()
2555
+ self.myblocks[getkeyblock(whichblock,False)].qy.set_nullvalue_in_mask()
2556
+ self.myblocks[getkeyblock(whichblock,False)].k.set_nullvalue_in_mask()
2557
+ self.myblocks[getkeyblock(whichblock,False)].eps.set_nullvalue_in_mask()
2507
2558
 
2508
2559
  def read_oneresult(self, which:int=-1):
2509
2560
  """
@@ -2934,6 +2985,42 @@ class Wolfresults_2D(Element_To_Draw):
2934
2985
  else:
2935
2986
  return q
2936
2987
 
2988
+ def get_q_alongpoly_raster_splitting(self, myvect:vector, to_sum=True):
2989
+ """
2990
+ Récupération du débit sous un vecteur après avoir rasterisé selon les bords et appliqué le splitting WOLF aux flux
2991
+
2992
+ Forcage préalable du vecteur slon la grille de calcul
2993
+
2994
+ to_sum pour sommer les valeurs et multiplier par la taille de maille
2995
+ """
2996
+
2997
+ myhead = self.get_header_block(1)
2998
+ myvect = myhead.rasterize_vector(myvect)
2999
+ mynormals = myvect.get_normal_segments()
3000
+ xy_center = myvect.get_center_segments()
3001
+
3002
+ norm_neigh = mynormals.copy()
3003
+ norm_neigh[:,0] = norm_neigh[:,0] * myhead.dx / 2.
3004
+ norm_neigh[:,1] = norm_neigh[:,1] * myhead.dy / 2.
3005
+ xy_left = xy_center + norm_neigh
3006
+ xy_right = xy_center - norm_neigh
3007
+ values_left = [self.get_values_from_xy(x, y, integrate_q=True) for x,y in xy_left]
3008
+ values_right = [self.get_values_from_xy(x, y, integrate_q=True) for x,y in xy_right]
3009
+
3010
+ q=[]
3011
+ for curnorm, val_left, val_right in zip(mynormals, values_left, values_right):
3012
+ if not(outside_domain(val_left) or outside_domain(val_right)):
3013
+ if curnorm[0] != 0.:
3014
+ q.append(q_splitting(val_left[0][1], val_left[0][1]) * curnorm[0])
3015
+ else:
3016
+ q.append(q_splitting(val_left[0][2], val_left[0][2]) * curnorm[1])
3017
+
3018
+ q = np.asarray(q)
3019
+ if to_sum:
3020
+ return q.sum()
3021
+ else:
3022
+ return q
3023
+
2937
3024
  def _plot_one_q(self, vect:vector, x_or_y:str = 'x', absolute=True) -> float:
2938
3025
 
2939
3026
  qloc = self.get_q_alongpoly_with_neighbor(vect,x_or_y,True)
@@ -2942,14 +3029,25 @@ class Wolfresults_2D(Element_To_Draw):
2942
3029
 
2943
3030
  return qloc
2944
3031
 
3032
+ def _plot_one_q_raster_splitting(self, vect:vector, absolute=True) -> float:
3033
+
3034
+ qloc = self.get_q_alongpoly_raster_splitting(vect,True)
3035
+ if absolute:
3036
+ qloc = abs(qloc)
3037
+
3038
+ return qloc
3039
+
3040
+ #FIXME : rename 'x_or_y' to be more explicit
2945
3041
  def plot_q(self, vect:Union[vector, list[vector]], x_or_y:Union[str, list[str]] = 'x', toshow=False, absolute=True, figax = None):
2946
3042
  """
2947
3043
  Plot discharge along vector
2948
3044
 
2949
- vector : wolf polyline -- will be splitted according to spatial step size
2950
- x_or_y : 'x' for qx, 'y' for qy - integration axis
3045
+ :param vector : wolf polyline -- will be splitted according to spatial step size
3046
+ :param x_or_y : 'x' for qx, 'y' for qy - integration axis or 'border' for q along border
2951
3047
 
2952
3048
  """
3049
+ assert x_or_y in ['x', 'y', 'border'], 'x_or_y must be "x", "y" or "border"'
3050
+
2953
3051
  nb = self.get_nbresults()
2954
3052
  times, steps = self.times, self.steps
2955
3053
 
@@ -2962,13 +3060,16 @@ class Wolfresults_2D(Element_To_Draw):
2962
3060
  q=[]
2963
3061
  for i in range(nb):
2964
3062
  self.read_oneresult(i)
2965
- q.append(self._plot_one_q(vect, x_or_y, absolute))
3063
+ if x_or_y in ['x', 'y']:
3064
+ q.append(self._plot_one_q(vect, x_or_y, absolute))
3065
+ elif x_or_y == 'border':
3066
+ q.append(self._plot_one_q_raster_splitting(vect, absolute))
2966
3067
 
2967
3068
  ax.plot(times,q, c='blue', label=_('Q vs Time'))
2968
3069
 
2969
3070
  else:
2970
3071
  assert len(vect) == len(x_or_y), 'Exepected same length for vect and x_or_y'
2971
- q={}
3072
+ q={int:list}
2972
3073
  for i in range(len(vect)):
2973
3074
  q[i]= []
2974
3075
 
@@ -2976,7 +3077,11 @@ class Wolfresults_2D(Element_To_Draw):
2976
3077
  self.read_oneresult(i)
2977
3078
 
2978
3079
  for idx, (curvec, orient) in enumerate(zip(vect, x_or_y)):
2979
- q[idx].append(self._plot_one_q(curvec, orient, absolute))
3080
+
3081
+ if orient in ['x', 'y']:
3082
+ q[idx].append(self._plot_one_q(curvec, orient, absolute))
3083
+ elif orient == 'border':
3084
+ q[idx].append(self._plot_one_q_raster_splitting(curvec, absolute))
2980
3085
 
2981
3086
  for i in range(len(vect)):
2982
3087
  ax.plot(times,q[i], label=_('Q vs Time - vector {}'.format(i)))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolfhece
3
- Version: 2.0.4
3
+ Version: 2.0.6
4
4
  Author-email: Stéphane Champailler <stephane.champailler@uliege.be>, 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
@@ -47,6 +47,10 @@ Requires-Dist: tifffile
47
47
  Requires-Dist: numba
48
48
  Requires-Dist: xmltodict
49
49
  Requires-Dist: opencv-python
50
+ Requires-Dist: xarray
51
+ Requires-Dist: rasterio
52
+ Requires-Dist: h5py
53
+ Requires-Dist: basemap
50
54
 
51
55
  Ce paquet contient l'interface graphique Python du logiciel WOLF (HECE - ULiège) de même que plusieurs outils de traitements topographique, hydraulique et hydrologique.
52
56
 
@@ -1,59 +1,60 @@
1
1
  wolfhece/CpGrid.py,sha256=TB4nAd7Dmwz6EQHtNTbKeBoLKXeYqt1f4YZgnYszT80,10685
2
- wolfhece/GraphNotebook.py,sha256=Y_qVPQjuvJo1xXTf17PfphzUburf4-oPNhDhKE3Voro,27687
3
- wolfhece/GraphProfile.py,sha256=eXgSuUCitORZP7XkKWNkAZ6dLnACd15B_DqNmU8fR7k,69263
4
- wolfhece/Lidar2002.py,sha256=XnnfV8M3MkAlLq9flF2xQQqW--qiF8iRfI0SMUBVXKU,5793
2
+ wolfhece/GraphNotebook.py,sha256=06u2oiTAfLtwK_mlmyEAKusTdK9jE_LcMrHhUe_YrrE,27658
3
+ wolfhece/GraphProfile.py,sha256=nP8xnwUBw2EIxfI7YysuWbwA7-sTZeONUMPkIVimOyg,68909
4
+ wolfhece/Lidar2002.py,sha256=sXZ6p8_EKI5l8fJswIMAABT6dqHKVexU52Tjl1uuisU,5770
5
5
  wolfhece/ManageParams.py,sha256=Wgt5Zh7QBtyiwTAltPHunSLqt4XuVuRH76GTUrXabS4,219
6
6
  wolfhece/PyConfig.py,sha256=kas6TqHT64g-Cn4-5QqsYHbumwfZtBQ9lo7BUl1C1Ts,7547
7
- wolfhece/PyCrosssections.py,sha256=782aCKe0ZGMhm6dK-6w_Kr0Eyud5GBQJb-9Y06ytDNo,111142
8
- wolfhece/PyDraw.py,sha256=XElArpTuPWMuCy9J7aSYeMNrxLVb9jrDS1US-Oo21HE,289229
9
- wolfhece/PyGui.py,sha256=DtP2JNhHeopSHSFreKoM7UC5WEjovQpHgRGRkVtnR2w,52070
7
+ wolfhece/PyCrosssections.py,sha256=HtvhSracK8Yz6RCNQCfjzflvend_DtybI9mTb9gnTrs,111048
8
+ wolfhece/PyDraw.py,sha256=Tpszynd8zeRPczhVsTZcDh7vkHF58z7FLLmVQj2ZLaY,297378
9
+ wolfhece/PyGui.py,sha256=WWu4CJrmwsih5c6YLoXnxGdtrCi77cefecMaqr_bVzc,52313
10
10
  wolfhece/PyGuiHydrology.py,sha256=t7EqOMyA1mkVg_aATMaduR-aqs04V-uRCifyHVmPqRs,7133
11
11
  wolfhece/PyHydrographs.py,sha256=2BqsvZSb8WuH22SYxU_BcakfA43yV_qA0ujWQE4uwQo,3407
12
- wolfhece/PyPalette.py,sha256=3xMUZLLLZ16EyBKZnLxgq695mYhfJKpFShq7V2SQvf8,21544
13
- wolfhece/PyParams.py,sha256=djTIM6u3GDHuxLnAA1IsVi0ikW4TXUc_s9_VloVF60s,77473
12
+ wolfhece/PyPalette.py,sha256=Y3GHvP-J56IsBeNsgn_bJR3tQwAISMZ9r-tcGIJ55wk,21544
13
+ wolfhece/PyParams.py,sha256=PzGnWzlo7dyw9yaDZ90eS3HrXrPEukN1BOEtTPsthEU,77473
14
14
  wolfhece/PyPictures.py,sha256=wI6t38rmRiNG1pGWTXVW-nWQO2mg8SH7Gf-X2HIi02A,2023
15
15
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
16
- wolfhece/PyVertex.py,sha256=aodT6FW3yhSjDHigG9HslXzXPVlRzzSJoPNS_u4lKoE,30511
17
- wolfhece/PyVertexvectors.py,sha256=0gh24TG24pwvNFttjBrjfNU-JSiGTEEqaaGYHL3H6Es,188482
16
+ wolfhece/PyVertex.py,sha256=nqQhfg4RFn4iGenJf6BMsnPB-fNFjnXqVeUi39BhEWc,30512
17
+ wolfhece/PyVertexvectors.py,sha256=FBTyMzEsQYwI6sk2HVnJKNMFJpyg810sfXSztOVBfJk,189414
18
18
  wolfhece/PyWMS.py,sha256=t6jVZpTxTNSLJxABk8A79cEMWTKoRM_S_SXRipsHLzw,4493
19
19
  wolfhece/RatingCurve.py,sha256=Psw4OknvqVXOjIomJxCW4hGd_q2HZ4DmcwV-wJXehds,21420
20
20
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
21
21
  wolfhece/RatingCurve_xml.py,sha256=iP6hanwG6EzddcWF2zvsuU9JLfrPtq7-AOFwcz2HO8k,24469
22
22
  wolfhece/ReadDataDCENN.py,sha256=4OMDBgkZ_v7OWmVhyQ-reab7MPxGhFEDY2qS8yThhdM,1240
23
- wolfhece/Results2DGPU.py,sha256=knrIFMOl9rh2ZYiEKiKqNirde3psTTxcl_XVBhHkJsM,15985
23
+ wolfhece/Results2DGPU.py,sha256=JC-bCtBine4i-j9Ab3Hd_xuinuapgxGWRNGU-pchtsI,16016
24
24
  wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
25
25
  wolfhece/_add_path.py,sha256=GDwPnzHuGRXGriDNcu1SQ6HetFDGIApeAQZEzYArGvI,605
26
- wolfhece/cli.py,sha256=wAR9DvLK_pzeCDN3m-jh1eyVvgjLHFPd2lVaRRo078A,1468
26
+ wolfhece/cli.py,sha256=Xj0yfgs7MnvNCk5Td_Qp_oz4DMI66eBHu2bkVrGW3OU,1828
27
27
  wolfhece/color_constants.py,sha256=Snc5RX11Ydi756EkBp_83C7DiAQ_Z1aHD9jFIBsosAU,37121
28
28
  wolfhece/debug.py,sha256=Q6uXHer1fxrVf0UYWUmYmxNt1QRppEHyAEeCO1syhDw,122
29
29
  wolfhece/drawing_obj.py,sha256=rHMGdiihIv68WZnWFNdgiA51QhSm8EX-pykdyTSOdoo,3136
30
- wolfhece/flow_SPWMI.py,sha256=ECpyjpbS9L9royNxDjkbHj7hHVYhPiaLaZa4GNYtrE0,20658
31
- wolfhece/friction_law.py,sha256=rk6OK1E-ULjMeIRf15-6UuDqwDJXzY7QKgC2_L2lu5U,5419
32
- wolfhece/gpuview.py,sha256=sKT9AOczcd9tJE03IHhp8z8hXMrAxLVWtBc26M3J2gs,23285
30
+ wolfhece/flow_SPWMI.py,sha256=mdiupyOem6_FZ0OSKn8Vq5Nmr9Av-j83d2YyRPLZFlQ,20658
31
+ wolfhece/friction_law.py,sha256=SiEWSKKR_nhTLGIzrW1hRf2bhoxHdIB2tZIg6RQhfnM,5419
32
+ wolfhece/gpuview.py,sha256=y3xPNWiIxYY01O8W0MAkivPzhnTbfSnXQGg5JI6e3M8,23286
33
33
  wolfhece/import_ascfiles.py,sha256=jg4urcLdSgFS1Knvh7AVGJqM44qc_uYDNrR568tMh-A,4167
34
34
  wolfhece/ins.py,sha256=0aU1mo4tYbw64Gwzrqbh-NCTH1tukmk0mpPHjRPHZXU,12661
35
35
  wolfhece/irm_qdf.py,sha256=Gi2nIb-lR0_8acLi3bHDupZsoV_5aRysYYST07FiYoQ,15388
36
36
  wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
37
37
  wolfhece/multiprojects.py,sha256=fnv19sDntJFt3fNMre18-Io14MsRazbFIML4MIxuDgU,13895
38
38
  wolfhece/pybridges.py,sha256=BVUESKoTdL1i_rdoe_jEsItgjKS0oqLohwrHj8snjxQ,57190
39
- wolfhece/pydike.py,sha256=h-QdH_tkwPDjw_x875BNUuICIWaU3u-2HDCyX5Epz6M,1941
39
+ wolfhece/pydike.py,sha256=G4jfSZaAHHr4VWEJqnXSvEswXvlOz1yhbhQ6uu3AqyM,1943
40
40
  wolfhece/pylogging.py,sha256=i9Zugx3t9dPc7nBwcP20L_R4_k_WawpAQsvbZU8l9Hg,4230
41
41
  wolfhece/pypolygons_scen.py,sha256=lrUty990vT1iiILiIuTY8pNStiaZOi2dXWJuL9C-4Ps,26211
42
- wolfhece/pyshields.py,sha256=___LP3nK_bxpTwYrNvH29IWFuIH2vIkKhaplmZk-V0Y,22201
42
+ wolfhece/pyshields.py,sha256=OP92McHXqNLJ4CWdj-RA2TGoIgJIO2KDbjF9dCwxtTk,22201
43
43
  wolfhece/pyviews.py,sha256=hYdyrEvWF48dGBDOLIwmC28C0L8I28U4ohXk9nltF94,9666
44
- wolfhece/pywalous.py,sha256=XTqZI-adfw01n71ZtJMTmQZOyXIHi_7A2ar0Ftt9jAk,4474
44
+ wolfhece/pywalous.py,sha256=jwp251AzGBc0VmMzOqA0IJiRRa6yQIfccRM8lVGszIY,4474
45
45
  wolfhece/rain_SPWMI.py,sha256=YqsF-yFro3y_a6MfVRFfr-Rxi7NR1gl_i8VX7scmzes,13548
46
46
  wolfhece/textpillow.py,sha256=YJxF4JzPv3G1oqenJgWVYq3OPZx9iFtrmeIfvBwbJVU,8735
47
47
  wolfhece/tools_mpl.py,sha256=q8Yc4aukPPiUcEzREvZRM_em67XqXaahdoaNt0DETfE,266
48
- wolfhece/wolf_array.py,sha256=a7n3-GX_z8hJBk8iA-qt-owIUlkREHTxbi96-KcCqSw,232696
48
+ wolfhece/wolf_array.py,sha256=c2ut1Y2vPGsGXS7BeHit-iUeOk6nUAp4gJlgGXu7isE,267478
49
49
  wolfhece/wolf_hist.py,sha256=JpRXvzJLUP-RkSkvth3DQWglgTMFI2ZEUDb4RYOfeeI,3284
50
- wolfhece/wolf_texture.py,sha256=hHXyftBStFoxtFDQbImSfSvAyE9D_MqDwFCMk5-57m4,14766
50
+ wolfhece/wolf_texture.py,sha256=1E_dI4Y_wyubRQo0y1_zuEH4HFsiFkKRlo04Gs8YSMI,14767
51
51
  wolfhece/wolf_tiles.py,sha256=F2JsJHdAP8fIffNJdG_J26bonCIRtIwMmxKFqdSCRDA,10088
52
52
  wolfhece/wolf_vrt.py,sha256=wuMPAXNYTByNGNtvWhwW1fQelPstAPTQZECgXHZ0oTM,5180
53
- wolfhece/wolfresults_2D.py,sha256=b4iCXAaAcSXhY3QMegTx0T833DeVM2CQNIE_I5uFKAE,138559
53
+ wolfhece/wolfresults_2D.py,sha256=wiHpAQ8W6X3lyE3XkJBMEB198Pbp3i96WslCUXZjI2I,142147
54
54
  wolfhece/xyz_file.py,sha256=aQOcTHkHRhXHxL_WxTHwzygp6e47San7SHSpxKQU0dw,5457
55
55
  wolfhece/apps/ManageParams.py,sha256=its7JhceQiwzQVl95wA51GZs1zjtbpUNvbqvdvDTeyM,316
56
56
  wolfhece/apps/Optimisation_hydro.py,sha256=25H5PVN_Gh3mkDQ6BWbJjBqsGCNdGapZOqKECcOGJIQ,398
57
+ wolfhece/apps/WolfPython.png,sha256=K3dcbeZUiJCFNwOAAlGMaRGLJ56yM8WD2I_0bk0xT1g,104622
57
58
  wolfhece/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
59
  wolfhece/apps/curvedigitizer.py,sha256=MwHlcZLrgUtXEndKhxT3ZvJSBTkhp_dsizGpwoxuLOk,4944
59
60
  wolfhece/apps/isocurrent.py,sha256=AG29IGdH-MStdg25QbBrMSW_AHOQDEVGLRslOaxWnHM,3868
@@ -64,7 +65,7 @@ wolfhece/apps/wolfBernoulli.py,sha256=hXWcmlOhtBNCiJXTcUXqMV0Jm3HlftBffNHBPqMrsR
64
65
  wolfhece/apps/wolfcompare2Darrays.py,sha256=xkhjSFB6ZCeN5Ou0ILsXZa3oBOvwaBADOaOCpKOQTiw,3897
65
66
  wolfhece/apps/wolfhydro.py,sha256=XO4x_ieXv_VqOwRkF11greH68FTc8rx4IfFkRGBYiJE,402
66
67
  wolfhece/bernoulli/ModelJockgrim.py,sha256=VBxU1Y9w7MdT3puTWPq-cGM_frp-bdwHKiHcqbeDZJs,9547
67
- wolfhece/bernoulli/NetworkOpenGL.py,sha256=_FnOMQ9uKTNcAi5vBBXGXWxQ0hoWpt8ayOAuY54zJLI,290413
68
+ wolfhece/bernoulli/NetworkOpenGL.py,sha256=pdScrDkik2EKhfUTGjd9W6UU-TOXgDxmxzpw5Dhu-Q0,290414
68
69
  wolfhece/bernoulli/ReadNeupotzData.py,sha256=da0dDIVcLb44j4lP4IveueTl3KBQW8XJd83h8n_hObk,9455
69
70
  wolfhece/bernoulli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
71
  wolfhece/bernoulli/opti_results_interactive_plot.py,sha256=gWUF6iJYNp_aEXcAfGBQn4CcZPsRbiQN0HbPZDj68v8,6357
@@ -86,7 +87,7 @@ wolfhece/hydrology/Dumping.py,sha256=Vt5WwGW-5rv9j7kg6z-JdI3olO2LY019cAEYyrfey_k
86
87
  wolfhece/hydrology/Optimisation.py,sha256=GeIrezh7YxVmP9zqHcZIrSmbp-azmSKFmpp_oEJZZ_A,91096
87
88
  wolfhece/hydrology/Outlet.py,sha256=MDcrrRzpoCmReQxaPKjhkXnN01Bqmnm0Kmjf8fdkTFo,9992
88
89
  wolfhece/hydrology/PostProcessHydrology.py,sha256=SiW5FIf8FeQL9ItWG8ODt612k5m59aogSLgpsXinr8I,6944
89
- wolfhece/hydrology/PyWatershed.py,sha256=K35tekgMQknTTzX6jiSrBKNi53H4R_rIJyRAYcT7GWU,73927
90
+ wolfhece/hydrology/PyWatershed.py,sha256=G_6fqRkWe1KBuHvo7e7QHXpLkF-ORX6Sph1ws4B2UNg,73908
90
91
  wolfhece/hydrology/RetentionBasin.py,sha256=jw8xI5i5OmktJKGD9BLfQp_XV2s74j4s-SuehnvPkKE,64164
91
92
  wolfhece/hydrology/SubBasin.py,sha256=fht1KHzzs_1bd808PHcMiqph0UGJFUxlj64PGFpSDbY,142018
92
93
  wolfhece/hydrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -110,12 +111,12 @@ wolfhece/icons/python.png,sha256=nQiK5h92QC85148vFBx58lUmaSzEvwTCgDr-cumju_4,257
110
111
  wolfhece/icons/simulation.png,sha256=I48r_TOPqtUA4bsDGlji--9gJjiDaSl2NcVCMf8h9Gk,2094
111
112
  wolfhece/lagrangian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
113
  wolfhece/lagrangian/advection.py,sha256=mWV7dYtFfS6Ff5J4gmXe2UsLt7TiSCej2sm_Ffxlwu4,8896
113
- wolfhece/lagrangian/emitter.py,sha256=l-FlOI49enrbHSlX3bpHm6leSIpAT-Yo1IG7l0BjZyM,11564
114
- wolfhece/lagrangian/example_domain.py,sha256=_IE4_utP_zhLiowI5jIXItwq6jj9G2yelbK92qP-YEA,4473
114
+ wolfhece/lagrangian/emitter.py,sha256=LZAKOYZhZmZ04WIEPimMEdvja0CLw2A9ki7tCCJ8ujA,11564
115
+ wolfhece/lagrangian/example_domain.py,sha256=beyMicWY38DSoxXJB3qVQKfgEEFLGBPP9xBgDWbCcPA,4473
115
116
  wolfhece/lagrangian/particle_system.py,sha256=YapBT36CU95xNjkDdUJ-Q8py2lvN-rEQ_L7cb23wyhc,23701
116
117
  wolfhece/lagrangian/particle_system_ui.py,sha256=b9g6DBdmZKhxl6AAb-8qWD4t_x3MU3TKml1w1vuFBXE,29304
117
118
  wolfhece/lagrangian/particles.py,sha256=ZPkyiNDygXj5TdMeAA6dr6uRj1bLIF4OdudSkCU9dc8,9590
118
- wolfhece/lagrangian/velocity_field.py,sha256=hbiiMff_fBMy2Gngin17fSbG6PYYYo2IkNG7ETidYpk,10276
119
+ wolfhece/lagrangian/velocity_field.py,sha256=vwGq7fEazib4Or7afVIFMfY_rRemQgKuSZ_4lHHx3wM,10276
119
120
  wolfhece/lazviewer/__init__.py,sha256=0SNDEKGad6e2AwxjalcPqb2bdW6crmXQFxWUY13PiVU,223
120
121
  wolfhece/lazviewer/_add_path.py,sha256=GDwPnzHuGRXGriDNcu1SQ6HetFDGIApeAQZEzYArGvI,605
121
122
  wolfhece/lazviewer/laz_viewer.py,sha256=7_IrV4smPxmIbhpq9zlX1Lorv-dyf5lwjRVhiSThqzc,42041
@@ -146,8 +147,9 @@ wolfhece/lazviewer/viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
146
147
  wolfhece/lazviewer/viewer/viewer.exe,sha256=pF5nwE8vMWlEzkk-SOekae9zpOsPhTWhZbqaJntumJc,202240
147
148
  wolfhece/lazviewer/viewer/viewer.py,sha256=8_MQCaQOS0Z_oRPiGoRy1lq-aCirReX3hWEBjQID0ig,24665
148
149
  wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
149
- wolfhece/libs/WolfDll.dll,sha256=s-Fwboq8EethHHmipZZjdniEQtyqZv6vS-bQRKNTVgs,132915712
150
- wolfhece/libs/WolfOGL.c,sha256=j8uzY7fxF7piki5Z7dvTFCeacbpeC0s24gBZ9oQ1NMo,1057055
150
+ wolfhece/libs/WolfDll.dll,sha256=QAkGhbfYRZVHy8SZfq1Hi42M_4bmDn3x2ATxYNlCPPU,19238400
151
+ wolfhece/libs/WolfDll_CD.dll,sha256=kC1svCwD1qSmppsiVfHwDkIvoJO_1l6TG1GfIxgiqQQ,131415040
152
+ wolfhece/libs/WolfOGL.c,sha256=tBWGfpFFe8gfRjImUUlqdxhcRpQ6ytEWU7Z6PC0v9as,1085242
151
153
  wolfhece/libs/WolfOGL.pyx,sha256=kc1uxbO2wQx0Qoe7BVQnqTJgUWYx_Vtf1wzXMxzf8bI,65911
152
154
  wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
153
155
  wolfhece/libs/api-ms-win-crt-math-l1-1-0.dll,sha256=ol0GVN6wzqGu8Ym6IXTQ8TvfUvCY06nsNtFeS_swxJk,27912
@@ -189,15 +191,16 @@ wolfhece/links/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
191
  wolfhece/links/link.py,sha256=CoHcZK2wWKzO8QFqtdzw5-Z6_PhxvJ6JqlA3HsHHuf0,445
190
192
  wolfhece/locales/base.po,sha256=meU93yWX-AlU13FlIYnuXNnYsxVB9k4O_QoBQ_h2W1I,1026
191
193
  wolfhece/locales/base.pot,sha256=laQ4oYGvdH5IaFtgx6TVjnr28_JX9bdSBZFcGndjuGk,1116
194
+ wolfhece/mar/Interface_MAR_WOLF_objet.py,sha256=5M_XFDe_JwLyvzW7uV4pssaya34e6AWX3_gEqQWLeD4,50138
192
195
  wolfhece/mar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
- wolfhece/mar/commontools.py,sha256=mJsNsN8aAUr6xINzbcw1W42XgAdJNb67CFJGEAK6sO0,6303
196
+ wolfhece/mar/commontools.py,sha256=vCmoNI2sMOco6Y4KPpKb7WORq45qFU_lSxbKGV9oZ8A,53824
194
197
  wolfhece/mar/interface_MAR_WOLF.py,sha256=MWeXaHLDT4Eo9jZOAvz013lmpgGYT1v9VUYGAgBgSRU,21454
195
198
  wolfhece/mesh2d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
- wolfhece/mesh2d/bc_manager.py,sha256=YUmR5yOUdw1OSDgE-RF9nia-7oLy7dAA0b25XHGYoAA,38397
199
+ wolfhece/mesh2d/bc_manager.py,sha256=EMT43F-bjlpc_JBJUqV-Z0iWKT0ztXUK7nhZJIo9nP8,41225
197
200
  wolfhece/mesh2d/cell_tracker.py,sha256=AR-Bty-QnrY1ni8Lwak2kU2UWMAJSBCF2ugl2YpfsB4,8660
198
201
  wolfhece/mesh2d/config_manager.py,sha256=0zVoSD4DNsm_180d8ulDLy8EGFBhTUVApBvRpY730Zk,15284
199
- wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=hBRS37vvyNw2A5hEVyde8F4EdRLebLz3I_em5px395I,2350
200
- wolfhece/mesh2d/wolf2dprev.py,sha256=l_Fo56gsD0U6c8EjOfh-K1NcqYxWMovUYHbu0cF-4OQ,132671
202
+ wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=BaJeKHyJiKEFWBkTQeYsDBW86703ooj65MFVpPMgjLg,2810
203
+ wolfhece/mesh2d/wolf2dprev.py,sha256=AhLrTUwrZp6LA9-YFIy6qYoyiY0duCxPwG3FIe1O09U,132643
201
204
  wolfhece/models/HECE_169.pptx,sha256=OWJtsWz504A-REFaaxw8lwStHyQU2l7KEeiE7IZvtbk,3396930
202
205
  wolfhece/models/blue.pal,sha256=NnjJnjnYVdQkG54RyPXvo4Tl9ytB0cN7zpiHtj1N6bw,33
203
206
  wolfhece/models/diff16.pal,sha256=Pkp9kQ1GvmAKz3lgwohsw8eQySjVVKHbjhoWw-gZ6Nc,303
@@ -217,7 +220,7 @@ wolfhece/rem/RasterViz.py,sha256=TDhWyMppcYBL71HfhpZuMgYKhz7faZg-MEOQJo_3Ivo,291
217
220
  wolfhece/rem/__init__.py,sha256=S2-J5uEGK_VaMFjRUYFIdSScJjZyuXH4RmMmnG3OG7I,19
218
221
  wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
222
  wolfhece/scenario/check_scenario.py,sha256=Q0_jA3PYapcbCT881YojTwKoRi_RjZpevHXhtP9VoqE,4619
220
- wolfhece/scenario/config_manager.py,sha256=XcdxyWiZqNq8TVVpm-1YJRheMzu26QeJp3zQGSiruEk,55021
223
+ wolfhece/scenario/config_manager.py,sha256=mcad9PXsMVYDLCCAYWbun_oercmEpt7pABVW6dfYUCA,55123
221
224
  wolfhece/scenario/imposebc_void.py,sha256=59MFld_jJq1m0O8f4Dlh_1wtBlHKNTCEjbEK2A1EaUo,5163
222
225
  wolfhece/scenario/update_void.py,sha256=r9ztr9LlJbd6BgOK-KWpYvUAUakZCyze58-olucbVcI,7156
223
226
  wolfhece/sounds/son12.wav,sha256=iZJYSrKkE4HLXJwWzszVR07w_3d-WLO8npFlUcxQlrc,12664
@@ -225,9 +228,9 @@ wolfhece/sounds/son6.wav,sha256=v7CFE-PlGvVcRC3oAaWBBGngutCDS_MUiCIhNHkpv2Y,7884
225
228
  wolfhece/sounds/sonsw1.wav,sha256=HhuGeZ3iIyJdDALmM-jvGZDkKw3IZ3JXCuQZkN3Zjtc,212550
226
229
  wolfhece/sounds/sonsw2.wav,sha256=pFLVt6By0_EPQNt_3KfEZ9a1uSuYTgQSX1I_Zurv9Rc,110636
227
230
  wolfhece/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
- wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yOrpTWhjGIAw0_ANjTUX7ouzSRL7cp-cncUUp42tbj0,14860
229
- wolfhece-2.0.4.dist-info/METADATA,sha256=q003hZEdgT4x2faeszcJ10CEpXVFdBMD43IY7lMkMfk,1959
230
- wolfhece-2.0.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
231
- wolfhece-2.0.4.dist-info/entry_points.txt,sha256=IHhq-i2W9QpyXFHKe2Ld8j1R4hW5DmYqrZsuSsXkdEE,245
232
- wolfhece-2.0.4.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
233
- wolfhece-2.0.4.dist-info/RECORD,,
231
+ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yGbU_JsF56jsmms0gh7mxa7tbNQ_SxqhpAZxhm-mTy4,14860
232
+ wolfhece-2.0.6.dist-info/METADATA,sha256=xhi5W2F_5SyWbEapMbjTMiAz_9XBDIQKSvyHE3dencc,2052
233
+ wolfhece-2.0.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
234
+ wolfhece-2.0.6.dist-info/entry_points.txt,sha256=IHhq-i2W9QpyXFHKe2Ld8j1R4hW5DmYqrZsuSsXkdEE,245
235
+ wolfhece-2.0.6.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
236
+ wolfhece-2.0.6.dist-info/RECORD,,