wolfhece 2.0.46__py3-none-any.whl → 2.0.48__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/PyGui.py +206 -18
- wolfhece/apps/version.py +1 -1
- wolfhece/eva/pyseries.py +37 -25
- wolfhece/mesh2d/wolf2dprev.py +19 -0
- wolfhece/wolf_array.py +15 -7
- {wolfhece-2.0.46.dist-info → wolfhece-2.0.48.dist-info}/METADATA +4 -3
- {wolfhece-2.0.46.dist-info → wolfhece-2.0.48.dist-info}/RECORD +10 -12
- wolfhece/libs/WolfDll_CD.dll +0 -0
- wolfhece/libs/WolfDll_debug.dll +0 -0
- {wolfhece-2.0.46.dist-info → wolfhece-2.0.48.dist-info}/WHEEL +0 -0
- {wolfhece-2.0.46.dist-info → wolfhece-2.0.48.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.0.46.dist-info → wolfhece-2.0.48.dist-info}/top_level.txt +0 -0
wolfhece/PyGui.py
CHANGED
@@ -8,7 +8,7 @@ import logging
|
|
8
8
|
from pathlib import Path
|
9
9
|
|
10
10
|
from .apps.splashscreen import WolfLauncher
|
11
|
-
from .wolf_array import WOLF_ARRAY_FULL_LOGICAL, WOLF_ARRAY_MB_SINGLE, WolfArray,getkeyblock, WolfArray_Sim2D
|
11
|
+
from .wolf_array import WOLF_ARRAY_FULL_LOGICAL, WOLF_ARRAY_MB_SINGLE, WolfArray, getkeyblock, WolfArray_Sim2D, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_MB_INTEGER
|
12
12
|
from .PyTranslate import _
|
13
13
|
from .PyDraw import WolfMapViewer,imagetexture
|
14
14
|
|
@@ -409,7 +409,7 @@ class Wolf2DModel(GenMapManager):
|
|
409
409
|
self.myparam = myparam
|
410
410
|
self.myparam.parent = self
|
411
411
|
|
412
|
-
self.mynap= np.ones([self.myparam.nxfin, self.myparam.nyfin], order='F')
|
412
|
+
self.mynap= np.ones([self.myparam.nxfin, self.myparam.nyfin], order='F', dtype=np.int16)
|
413
413
|
|
414
414
|
self.mysuxy = prev_suxsuy(self)
|
415
415
|
self.xyfile = xy_file(self)
|
@@ -643,7 +643,7 @@ class Wolf2DModel(GenMapManager):
|
|
643
643
|
('.top','Bed Elevation [m]',WOLF_ARRAY_FULL_SINGLE),
|
644
644
|
('.topini_fine','Bed Elevation - computed [m]',WOLF_ARRAY_FULL_SINGLE),
|
645
645
|
('.frot','Roughness coefficient [law dependent]',WOLF_ARRAY_FULL_SINGLE),
|
646
|
-
('.inf','Infiltration zone [-]',
|
646
|
+
('.inf','Infiltration zone [-]', WOLF_ARRAY_FULL_INTEGER),
|
647
647
|
('.hbin','Initial water depth [m]',WOLF_ARRAY_FULL_SINGLE),
|
648
648
|
('.qxbin','Initial discharge along X [m^2/s]',WOLF_ARRAY_FULL_SINGLE),
|
649
649
|
('.qybin','Initial discharge along Y [m^2/s]',WOLF_ARRAY_FULL_SINGLE)
|
@@ -1146,7 +1146,7 @@ class Wolf2DModel(GenMapManager):
|
|
1146
1146
|
self.myblocfile.my_vec_blocks.find_minmax(True)
|
1147
1147
|
self.myblocfile.write_file()
|
1148
1148
|
|
1149
|
-
def get_header_MB(self,abs=False):
|
1149
|
+
def get_header_MB(self, abs=False):
|
1150
1150
|
"""#> Renvoit un header avec les infos multi-blocs"""
|
1151
1151
|
myheader:header_wolf
|
1152
1152
|
myheader = self.mymnap.get_header(abs=abs)
|
@@ -1154,8 +1154,15 @@ class Wolf2DModel(GenMapManager):
|
|
1154
1154
|
myheader.head_blocks[getkeyblock(curblock.blockindex)] = curblock.get_header(abs=abs)
|
1155
1155
|
return myheader
|
1156
1156
|
|
1157
|
-
def get_header(self,abs=
|
1158
|
-
"""
|
1157
|
+
def get_header(self, abs=False):
|
1158
|
+
"""
|
1159
|
+
Renvoi d'un header de matrice "fine" non MB
|
1160
|
+
|
1161
|
+
@param abs: If True, the header will be absolute, if False, it will be relative
|
1162
|
+
@type abs: bool
|
1163
|
+
|
1164
|
+
@return: header_wolf
|
1165
|
+
"""
|
1159
1166
|
|
1160
1167
|
curhead = header_wolf()
|
1161
1168
|
|
@@ -1165,26 +1172,51 @@ class Wolf2DModel(GenMapManager):
|
|
1165
1172
|
curhead.dx = self.myparam.dxfin
|
1166
1173
|
curhead.dy = self.myparam.dyfin
|
1167
1174
|
|
1168
|
-
|
1169
|
-
|
1175
|
+
if abs:
|
1176
|
+
curhead.origx = self.myparam.xminfin + self.myparam.translx
|
1177
|
+
curhead.origy = self.myparam.yminfin + self.myparam.transly
|
1170
1178
|
|
1171
|
-
|
1172
|
-
|
1179
|
+
curhead.translx = 0.
|
1180
|
+
curhead.transly = 0.
|
1181
|
+
|
1182
|
+
else:
|
1183
|
+
|
1184
|
+
curhead.origx = self.myparam.xminfin
|
1185
|
+
curhead.origy = self.myparam.yminfin
|
1186
|
+
|
1187
|
+
curhead.translx = self.myparam.translx
|
1188
|
+
curhead.transly = self.myparam.transly
|
1173
1189
|
|
1174
1190
|
return curhead
|
1175
1191
|
|
1176
|
-
def read_fine_array(self,which=''):
|
1177
|
-
"""
|
1192
|
+
def read_fine_array(self, which:str=''):
|
1193
|
+
"""
|
1194
|
+
Lecture d'une matrice fine
|
1195
|
+
|
1196
|
+
@param which: suffixe du fichier
|
1197
|
+
@type which: str
|
1198
|
+
"""
|
1178
1199
|
|
1179
|
-
|
1180
|
-
|
1181
|
-
|
1182
|
-
|
1200
|
+
if Path(self.filenamegen + which).exists():
|
1201
|
+
myarray = WolfArray(fname = self.filenamegen + which)
|
1202
|
+
|
1203
|
+
else:
|
1204
|
+
logging.error(f"File {self.filenamegen + which} does not exist")
|
1205
|
+
myarray = None
|
1206
|
+
|
1207
|
+
# myarray.set_header(self.get_header())
|
1208
|
+
# myarray.filename = self.filenamegen+which
|
1209
|
+
# myarray.read_data()
|
1183
1210
|
|
1184
1211
|
return myarray
|
1185
1212
|
|
1186
|
-
def read_MB_array(self,which=''):
|
1187
|
-
"""
|
1213
|
+
def read_MB_array(self, which:str=''):
|
1214
|
+
"""
|
1215
|
+
Lecture d'une matrice MB
|
1216
|
+
|
1217
|
+
@param which: suffixe du fichier
|
1218
|
+
@type which: str
|
1219
|
+
"""
|
1188
1220
|
|
1189
1221
|
myarray =WolfArrayMB()
|
1190
1222
|
myarray.set_header(self.get_header_MB())
|
@@ -1252,3 +1284,159 @@ class Wolf2DModel(GenMapManager):
|
|
1252
1284
|
logging.info(_('Finished !'))
|
1253
1285
|
|
1254
1286
|
pass
|
1287
|
+
|
1288
|
+
@property
|
1289
|
+
def is_multiblock(self):
|
1290
|
+
return self.myblocfile.nb_blocks>1
|
1291
|
+
|
1292
|
+
@property
|
1293
|
+
def nb_blocks(self):
|
1294
|
+
return self.myblocfile.nb_blocks
|
1295
|
+
|
1296
|
+
def help_files(self):
|
1297
|
+
|
1298
|
+
ret= _('Text files\n')
|
1299
|
+
ret+= ('----------\n')
|
1300
|
+
|
1301
|
+
for key, val in self.files_others['Charachteristics']:
|
1302
|
+
ret += f"{val} : {key}\n"
|
1303
|
+
|
1304
|
+
ret +='\n\n'
|
1305
|
+
|
1306
|
+
ret += _('Fine array - monoblock\n')
|
1307
|
+
ret += ('----------------------\n')
|
1308
|
+
|
1309
|
+
for key, val, dtype in self.files_fine_array['Characteristics']:
|
1310
|
+
|
1311
|
+
if dtype == WOLF_ARRAY_FULL_LOGICAL:
|
1312
|
+
ret += f"{val} : {key} [int16]\n"
|
1313
|
+
elif dtype == WOLF_ARRAY_FULL_INTEGER:
|
1314
|
+
ret += f"{val} : {key} [int32]\n"
|
1315
|
+
elif dtype == WOLF_ARRAY_FULL_SINGLE:
|
1316
|
+
ret += f"{val} : {key} [float32]\n"
|
1317
|
+
else:
|
1318
|
+
ret += f"{val} : {key} error - check code\n"
|
1319
|
+
|
1320
|
+
ret +='\n\n'
|
1321
|
+
|
1322
|
+
ret += _('Multiblock arrays\n')
|
1323
|
+
ret += ('-----------------\n')
|
1324
|
+
|
1325
|
+
for key, val, dtype in self.files_MB_array['Initial Conditions']:
|
1326
|
+
|
1327
|
+
if dtype == WOLF_ARRAY_MB_INTEGER:
|
1328
|
+
ret += f"{val} : {key} [int32]\n"
|
1329
|
+
elif dtype == WOLF_ARRAY_MB_SINGLE:
|
1330
|
+
ret += f"{val} : {key} [float32]\n"
|
1331
|
+
else:
|
1332
|
+
ret += f"{val} : {key} error - check code\n"
|
1333
|
+
|
1334
|
+
return ret
|
1335
|
+
|
1336
|
+
def check_infiltration(self):
|
1337
|
+
|
1338
|
+
ret = _('inside .inf binary file') + '\n'
|
1339
|
+
ret += ('-----------------------') + '\n'
|
1340
|
+
|
1341
|
+
inf = self.read_fine_array('.inf')
|
1342
|
+
|
1343
|
+
maxinf = inf.array.data.max()
|
1344
|
+
ret += _('Maximum infiltration zone : ') + str(maxinf) + '\n'
|
1345
|
+
for i in range(1,maxinf+1):
|
1346
|
+
|
1347
|
+
nb = np.sum(inf.array.data == i)
|
1348
|
+
if nb>0:
|
1349
|
+
indices = np.where(inf.array.data == i)
|
1350
|
+
ret += f"Zone {i} : {nb} cells -- Indices (i,j) of the zone's first cell ({indices[0][0]+1} ; {indices[1][0]+1}) (1-based)\n"
|
1351
|
+
else:
|
1352
|
+
ret += f"Zone {i} : 0 cells\n"
|
1353
|
+
|
1354
|
+
ret += '\n'
|
1355
|
+
|
1356
|
+
ret += _('inside .fil text file') + '\n'
|
1357
|
+
ret += ('----------------------') + '\n'
|
1358
|
+
|
1359
|
+
ret += f"Zones {self.myinfil.nb_zones}" + '\n'
|
1360
|
+
ret += f"Time steps {self.myinfil.nb_steps}" + '\n'
|
1361
|
+
|
1362
|
+
if maxinf != self.myinfil.nb_zones:
|
1363
|
+
ret += _('Warning : number of zones in .inf and .fil files are different') + '\n'
|
1364
|
+
|
1365
|
+
return ret
|
1366
|
+
|
1367
|
+
|
1368
|
+
def copy2gpu(self, dirout:str=''):
|
1369
|
+
"""
|
1370
|
+
Copie des matrices pour le code GPU
|
1371
|
+
"""
|
1372
|
+
|
1373
|
+
def to_absolute(array:WolfArray):
|
1374
|
+
array.origx += array.translx
|
1375
|
+
array.origy += array.transly
|
1376
|
+
array.translx = 0.
|
1377
|
+
array.transly = 0.
|
1378
|
+
|
1379
|
+
ret = ''
|
1380
|
+
|
1381
|
+
dirout = Path(dirout)
|
1382
|
+
makedirs(dirout, exist_ok=True)
|
1383
|
+
|
1384
|
+
inf = self.read_fine_array('.inf')
|
1385
|
+
to_absolute(inf)
|
1386
|
+
inf.write_all(dirout / 'infiltration_zones.npy')
|
1387
|
+
del(inf)
|
1388
|
+
|
1389
|
+
ret += '.inf --> infiltration_zones.npy [np.int32]\n'
|
1390
|
+
|
1391
|
+
frot = self.read_fine_array('.frot')
|
1392
|
+
to_absolute(frot)
|
1393
|
+
frot.write_all(dirout / 'manning.npy')
|
1394
|
+
del(frot)
|
1395
|
+
|
1396
|
+
ret += '.frot --> manning.npy [np.float32]\n'
|
1397
|
+
|
1398
|
+
hbin = self.read_fine_array('.hbin')
|
1399
|
+
to_absolute(hbin)
|
1400
|
+
hbin.write_all(dirout / 'h.npy')
|
1401
|
+
del(hbin)
|
1402
|
+
|
1403
|
+
ret += '.hbin --> h.npy [np.float32]\n'
|
1404
|
+
|
1405
|
+
qxbin = self.read_fine_array('.qxbin')
|
1406
|
+
to_absolute(qxbin)
|
1407
|
+
qxbin.write_all(dirout / 'qx.npy')
|
1408
|
+
del(qxbin)
|
1409
|
+
|
1410
|
+
ret += '.qxbin --> qx.npy [np.float32]\n'
|
1411
|
+
|
1412
|
+
qybin = self.read_fine_array('.qybin')
|
1413
|
+
to_absolute(qybin)
|
1414
|
+
qybin.write_all(dirout / 'qy.npy')
|
1415
|
+
del(qybin)
|
1416
|
+
|
1417
|
+
ret += '.qybin --> qy.npy [np.float32]\n'
|
1418
|
+
|
1419
|
+
nap = self.read_fine_array('.napbin')
|
1420
|
+
napgpu = np.zeros_like(nap.array.data, dtype = np.uint8)
|
1421
|
+
napgpu[np.where(nap.array.data != 0)] = 1
|
1422
|
+
np.save(dirout / 'nap.npy', napgpu)
|
1423
|
+
|
1424
|
+
ret += '.napbin --> nap.npy [np.uint8]\n'
|
1425
|
+
|
1426
|
+
top = self.read_fine_array('.top')
|
1427
|
+
to_absolute(top)
|
1428
|
+
top.array.data[np.where(napgpu != 1)] = 99999.
|
1429
|
+
top.nullvalue = 99999.
|
1430
|
+
top.write_all(dirout / 'bathymetry.npy')
|
1431
|
+
|
1432
|
+
ret += '.top --> bathymetry.npy [np.float32]\n'
|
1433
|
+
ret += _('Force a value 99999. outside nap')
|
1434
|
+
|
1435
|
+
nb = np.sum(top.array.data != 99999.)
|
1436
|
+
assert nb == np.sum(napgpu == 1), 'Error in couting active cells'
|
1437
|
+
|
1438
|
+
ret += f'\n{nb} active cells in bathymetry.npy'
|
1439
|
+
|
1440
|
+
del(top)
|
1441
|
+
|
1442
|
+
return ret
|
wolfhece/apps/version.py
CHANGED
wolfhece/eva/pyseries.py
CHANGED
@@ -298,6 +298,8 @@ class EVA_Serie:
|
|
298
298
|
else:
|
299
299
|
raise Exception('Format non supported -- Please code your importing filter')
|
300
300
|
|
301
|
+
self.check_dupliactes()
|
302
|
+
|
301
303
|
self.nb = self.data.shape[0]
|
302
304
|
|
303
305
|
self.index_isnan = np.where(np.isnan(self.data))[0]
|
@@ -341,6 +343,17 @@ class EVA_Serie:
|
|
341
343
|
|
342
344
|
self.tz_info = self.data.index[0].tz
|
343
345
|
|
346
|
+
def check_dupliactes(self):
|
347
|
+
"""
|
348
|
+
Check if there are duplicates in the data
|
349
|
+
"""
|
350
|
+
if not self.data.index.is_unique:
|
351
|
+
print('****\n')
|
352
|
+
print('Non unique index detected - removing duplicates - keep first value\n')
|
353
|
+
print(self.data.index[self.data.index.duplicated()])
|
354
|
+
print('****\n\n')
|
355
|
+
self.data = self.data[~self.data.index.duplicated(keep='first')]
|
356
|
+
|
344
357
|
def filter(self):
|
345
358
|
"""
|
346
359
|
Set zero, negative, NaN, Nat to np.nan
|
@@ -349,7 +362,7 @@ class EVA_Serie:
|
|
349
362
|
if len(curindex)>0:
|
350
363
|
self.data.iloc[curindex]=np.nan
|
351
364
|
|
352
|
-
def get_date_max(self, year, seasons=None) -> list
|
365
|
+
def get_date_max(self, year, seasons=None) -> list:
|
353
366
|
"""
|
354
367
|
Récupère la date du maximum de l'année "year"
|
355
368
|
Possibilité de traiter plusieurs saisons
|
@@ -365,7 +378,7 @@ class EVA_Serie:
|
|
365
378
|
resdates.append((self.maxima[curseason]['date'][idx], curseason))
|
366
379
|
return resdates
|
367
380
|
|
368
|
-
def get_one_maxevent(self, year, seasons=None) -> list
|
381
|
+
def get_one_maxevent(self, year, seasons=None) -> list:
|
369
382
|
"""
|
370
383
|
Récupération de l'événement max pour une année spécifique
|
371
384
|
Possibilité de traiter plusieurs saisons
|
@@ -431,7 +444,6 @@ class EVA_Serie:
|
|
431
444
|
def save_max_events(self, filename, years_bounds:list=None, seasons=None):
|
432
445
|
"""
|
433
446
|
Enregistrement des crues maximales dans un fichier CSV
|
434
|
-
Un onglet par saison
|
435
447
|
"""
|
436
448
|
seasons = sanitize_seasons(seasons)
|
437
449
|
|
@@ -1238,7 +1250,7 @@ class EVA_Serie:
|
|
1238
1250
|
fig:Figure=None,
|
1239
1251
|
ax:Axes=None,
|
1240
1252
|
color:str='red',
|
1241
|
-
alpha=1.) -> tuple
|
1253
|
+
alpha=1.) -> tuple[Figure,Axes]:
|
1242
1254
|
"""
|
1243
1255
|
Plot median hydrograph scale by constant
|
1244
1256
|
"""
|
@@ -1265,7 +1277,7 @@ class EVA_Serie:
|
|
1265
1277
|
k+=1
|
1266
1278
|
|
1267
1279
|
|
1268
|
-
def plot_classified_flowrate_curve(self, fig:Figure=None, ax:Axes=None, label='', textvalues=True, show=False) -> tuple
|
1280
|
+
def plot_classified_flowrate_curve(self, fig:Figure=None, ax:Axes=None, label='', textvalues=True, show=False) -> tuple[Figure,Axes]:
|
1269
1281
|
|
1270
1282
|
if ax is None:
|
1271
1283
|
fig,ax = plt.subplots(1,1)
|
@@ -1367,7 +1379,7 @@ class EVA_Serie:
|
|
1367
1379
|
if show:
|
1368
1380
|
plt.show()
|
1369
1381
|
|
1370
|
-
def plot_ci(self, seasons=None, laws=['GEV'], methods=['MLE'], fig:Figure=None, ax:Axes=None, show=False, alpha=.1) -> tuple
|
1382
|
+
def plot_ci(self, seasons=None, laws=['GEV'], methods=['MLE'], fig:Figure=None, ax:Axes=None, show=False, alpha=.1) -> tuple[Figure,Axes]:
|
1371
1383
|
"""
|
1372
1384
|
Plotting confidence interval
|
1373
1385
|
"""
|
@@ -1419,7 +1431,7 @@ class EVA_Serie:
|
|
1419
1431
|
|
1420
1432
|
return (fig,ax)
|
1421
1433
|
|
1422
|
-
def plot_annual(self, years=None, hydrol=True, fig:Figure=None, ax:Axes=None, show=False, withdatemax=True) -> tuple
|
1434
|
+
def plot_annual(self, years=None, hydrol=True, fig:Figure=None, ax:Axes=None, show=False, withdatemax=True) -> tuple[Figure,Axes]:
|
1423
1435
|
"""
|
1424
1436
|
Tracé en superposition des différentes années sur l'emprise d'une année civile ou hydrologique
|
1425
1437
|
"""
|
@@ -1483,7 +1495,7 @@ class EVA_Serie:
|
|
1483
1495
|
|
1484
1496
|
return (fig,ax)
|
1485
1497
|
|
1486
|
-
def plot_serie(self, fig:Figure=None, ax:Axes=None, show=False, background=True, backcolor='lemonchiffon') -> tuple
|
1498
|
+
def plot_serie(self, fig:Figure=None, ax:Axes=None, show=False, background=True, backcolor='lemonchiffon') -> tuple[Figure,Axes]:
|
1487
1499
|
"""Tracé de l'ensemble de la série pour toutes les années"""
|
1488
1500
|
if fig is None and ax is None:
|
1489
1501
|
fig,ax = plt.subplots(1,1)
|
@@ -1510,7 +1522,7 @@ class EVA_Serie:
|
|
1510
1522
|
|
1511
1523
|
return (fig,ax)
|
1512
1524
|
|
1513
|
-
def plot_cdf(self, seasons=None, fig:Figure=None, ax:Axes=None, show=False, n_bins=100) -> tuple
|
1525
|
+
def plot_cdf(self, seasons=None, fig:Figure=None, ax:Axes=None, show=False, n_bins=100) -> tuple[Figure,Axes]:
|
1514
1526
|
"""
|
1515
1527
|
Plotting empirical cdf
|
1516
1528
|
"""
|
@@ -1537,7 +1549,7 @@ class EVA_Serie:
|
|
1537
1549
|
|
1538
1550
|
return (fig,ax)
|
1539
1551
|
|
1540
|
-
def plot_T_Qmaxima(self, seasons=None, empirical_func='Cunnane', fig:Figure=None, ax:Axes=None, show=False, alpha=1., color_marker_label=None) -> tuple
|
1552
|
+
def plot_T_Qmaxima(self, seasons=None, empirical_func='Cunnane', fig:Figure=None, ax:Axes=None, show=False, alpha=1., color_marker_label=None) -> tuple[Figure,Axes]:
|
1541
1553
|
"""
|
1542
1554
|
Plotting Q vs return period
|
1543
1555
|
"""
|
@@ -1600,7 +1612,7 @@ class EVA_Serie:
|
|
1600
1612
|
|
1601
1613
|
return (fig,ax)
|
1602
1614
|
|
1603
|
-
def plot_maxevents(self, seasons=None, before=1, after=2, adim=True, fig:Figure=None, ax:Axes=None, show=False, alpha=.2, nbevents=None) -> tuple
|
1615
|
+
def plot_maxevents(self, seasons=None, before=1, after=2, adim=True, fig:Figure=None, ax:Axes=None, show=False, alpha=.2, nbevents=None) -> tuple[Figure,Axes]:
|
1604
1616
|
"""
|
1605
1617
|
Tracé des événements/hydrogrammes associés aux maxima identifiés
|
1606
1618
|
Les ordonnées sont adimensionnaliées sur base de la valeur maximale
|
@@ -1692,7 +1704,7 @@ class EVA_Serie:
|
|
1692
1704
|
|
1693
1705
|
return (fig,ax)
|
1694
1706
|
|
1695
|
-
def plot_comp_maxevents(self, seasons=None, before=1, after=2, fig:Figure=None, ax:Axes=None, show=False, alpha=.2, nbevents=None) -> tuple
|
1707
|
+
def plot_comp_maxevents(self, seasons=None, before=1, after=2, fig:Figure=None, ax:Axes=None, show=False, alpha=.2, nbevents=None) -> tuple[Figure,Axes]:
|
1696
1708
|
"""
|
1697
1709
|
Tracé des événements médians
|
1698
1710
|
Les ordonnées sont adimensionnaliées sur base de la valeur maximale
|
@@ -1781,7 +1793,7 @@ class EVA_Serie:
|
|
1781
1793
|
fig:Figure=None,
|
1782
1794
|
ax:Axes=None,
|
1783
1795
|
show=False,
|
1784
|
-
alpha=.2) -> tuple
|
1796
|
+
alpha=.2) -> tuple[Figure,Axes]:
|
1785
1797
|
"""
|
1786
1798
|
Tracé d'un événement quelconque autour d'une date
|
1787
1799
|
"""
|
@@ -1825,7 +1837,7 @@ class EVA_Serie:
|
|
1825
1837
|
fig:Figure=None,
|
1826
1838
|
ax:Axes=None,
|
1827
1839
|
show=False,
|
1828
|
-
alpha=.2) -> tuple
|
1840
|
+
alpha=.2) -> tuple[Figure,Axes]:
|
1829
1841
|
"""
|
1830
1842
|
Tracé d'un événement spécifique associés au maxima identifié
|
1831
1843
|
Les ordonnées sont adimensionnaliées sur base de la valeur maximale
|
@@ -1875,7 +1887,7 @@ class EVA_Serie:
|
|
1875
1887
|
ax:Axes=None,
|
1876
1888
|
show=False,
|
1877
1889
|
alpha=1.,
|
1878
|
-
styles:dict=None) -> tuple
|
1890
|
+
styles:dict=None) -> tuple[Figure,Axes]:
|
1879
1891
|
"""
|
1880
1892
|
Plotting fitted models
|
1881
1893
|
"""
|
@@ -1969,7 +1981,7 @@ class EVA_Serie:
|
|
1969
1981
|
|
1970
1982
|
return (fig,ax)
|
1971
1983
|
|
1972
|
-
def plot_qq(self, seasons=None, laws=['GEV'], methods=['MLE'], fig:Figure=None, ax:Axes=None) -> tuple
|
1984
|
+
def plot_qq(self, seasons=None, laws=['GEV'], methods=['MLE'], fig:Figure=None, ax:Axes=None) -> tuple[Figure,Axes]:
|
1973
1985
|
"""
|
1974
1986
|
Q-Q Plot
|
1975
1987
|
|
@@ -2011,7 +2023,7 @@ class EVA_Serie:
|
|
2011
2023
|
ax.legend()
|
2012
2024
|
return(fig, ax)
|
2013
2025
|
|
2014
|
-
def plot_summary(self, seasons=None, nb_laws=None, forced_laws=[], sort:typing.Literal['RSS', 'AICc', 'AIC', 'BIC']='RSS', fig:Figure=None, ax:Axes=None, show=False) -> tuple
|
2026
|
+
def plot_summary(self, seasons=None, nb_laws=None, forced_laws=[], sort:typing.Literal['RSS', 'AICc', 'AIC', 'BIC']='RSS', fig:Figure=None, ax:Axes=None, show=False) -> tuple[Figure,Axes]:
|
2015
2027
|
"""Plot summary results.
|
2016
2028
|
|
2017
2029
|
Parameters
|
@@ -2202,7 +2214,7 @@ class EVA_Series:
|
|
2202
2214
|
ax:Axes=None,
|
2203
2215
|
show=False,
|
2204
2216
|
alpha=1.,
|
2205
|
-
color_marker_label=None) -> tuple
|
2217
|
+
color_marker_label=None) -> tuple[Figure,Axes]:
|
2206
2218
|
|
2207
2219
|
return self._current_serie.plot_T_Qmaxima(seasons, empirical_func, fig, ax, show, alpha, color_marker_label)
|
2208
2220
|
|
@@ -2214,7 +2226,7 @@ class EVA_Series:
|
|
2214
2226
|
ax:Axes=None,
|
2215
2227
|
show=False,
|
2216
2228
|
alpha=1.,
|
2217
|
-
styles:dict=None) -> tuple
|
2229
|
+
styles:dict=None) -> tuple[Figure,Axes]:
|
2218
2230
|
|
2219
2231
|
return self._current_serie.plot_fit(seasons, laws, methods, fig, ax, show, alpha, styles)
|
2220
2232
|
|
@@ -2437,7 +2449,7 @@ class EVA_Series:
|
|
2437
2449
|
|
2438
2450
|
return plots
|
2439
2451
|
|
2440
|
-
def evaluate_ci(self, seasons=None, durations=[1], laws=['GEV'], nboot=100, show=False) -> dict
|
2452
|
+
def evaluate_ci(self, seasons=None, durations=[1], laws=['GEV'], nboot=100, show=False) -> dict:
|
2441
2453
|
"""
|
2442
2454
|
Intervalles de confiance
|
2443
2455
|
|
@@ -2468,7 +2480,7 @@ class EVA_Series:
|
|
2468
2480
|
|
2469
2481
|
return figax
|
2470
2482
|
|
2471
|
-
def evaluate_ic(self, seasons=None, durations=[1], laws=['GEV'], nboot=100, show=False) -> dict
|
2483
|
+
def evaluate_ic(self, seasons=None, durations=[1], laws=['GEV'], nboot=100, show=False) -> dict:
|
2472
2484
|
""" alias evaluate_ci """
|
2473
2485
|
return self.evaluate_ci(seasons, durations, laws, nboot, show)
|
2474
2486
|
|
@@ -2561,7 +2573,7 @@ class EVA_Series:
|
|
2561
2573
|
ylim=None,
|
2562
2574
|
before = 1,
|
2563
2575
|
after = 3,
|
2564
|
-
show=False) -> tuple
|
2576
|
+
show=False) -> tuple[Figure, Axes, Axes]:
|
2565
2577
|
"""
|
2566
2578
|
################
|
2567
2579
|
## GRAPHIQUES ##
|
@@ -2600,7 +2612,7 @@ class EVA_Series:
|
|
2600
2612
|
ylim=None,
|
2601
2613
|
before = 1,
|
2602
2614
|
after=2,
|
2603
|
-
show=False) -> tuple
|
2615
|
+
show=False) -> tuple[Figure, Axes]:
|
2604
2616
|
"""
|
2605
2617
|
################
|
2606
2618
|
## GRAPHIQUES ##
|
@@ -2661,7 +2673,7 @@ class EVA_Series:
|
|
2661
2673
|
|
2662
2674
|
def plot_one_fit(self, seasons=None, durations=None, laws='popular',
|
2663
2675
|
split_duration=True, split_season=True, xbounds=None,
|
2664
|
-
ybounds=None, show=False) -> tuple
|
2676
|
+
ybounds=None, show=False) -> tuple[Figure, Axes]:
|
2665
2677
|
|
2666
2678
|
seasons = sanitize_seasons(seasons)
|
2667
2679
|
|
@@ -2752,7 +2764,7 @@ class EVA_Series:
|
|
2752
2764
|
return summary
|
2753
2765
|
|
2754
2766
|
def plot_selected_max(self, seasons=None, durations=None,
|
2755
|
-
split_seasons = False, scaling=False, show=False)-> tuple
|
2767
|
+
split_seasons = False, scaling=False, show=False)-> tuple[Figure, Axes]:
|
2756
2768
|
"""
|
2757
2769
|
Graphique des dates des événements sélectionnés pour chaque durée (par défaut, toutes les durées)
|
2758
2770
|
"""
|
wolfhece/mesh2d/wolf2dprev.py
CHANGED
@@ -3029,6 +3029,25 @@ class prev_sim2D():
|
|
3029
3029
|
('.qybin','Initial discharge along Y [m^2/s]',WOLF_ARRAY_FULL_SINGLE)
|
3030
3030
|
]}
|
3031
3031
|
|
3032
|
+
self.files_others={'Generic file':[
|
3033
|
+
('','First parametric file - historical'),
|
3034
|
+
('.par','Parametric file - multiblocks')],
|
3035
|
+
'Charachteristics':[
|
3036
|
+
('.fil','Infiltration hydrographs [m³/s]'),
|
3037
|
+
('.mnap','Resulting mesh [-]'),
|
3038
|
+
('.trl','Translation to real world [m]')
|
3039
|
+
]}
|
3040
|
+
|
3041
|
+
self.files_vectors={'Block file':[
|
3042
|
+
('.bloc','Blocks geometry')],
|
3043
|
+
'Borders':[
|
3044
|
+
('.sux','X borders'),
|
3045
|
+
('.suy','Y borders')],
|
3046
|
+
'Contour':[
|
3047
|
+
('.xy','General perimeter')
|
3048
|
+
]}
|
3049
|
+
|
3050
|
+
|
3032
3051
|
def get_header(self):
|
3033
3052
|
curhead = header_wolf()
|
3034
3053
|
|
wolfhece/wolf_array.py
CHANGED
@@ -71,6 +71,7 @@ WOLF_ARRAY_FULL_INTEGER8 = 8
|
|
71
71
|
WOLF_ARRAY_MB_SINGLE = 3
|
72
72
|
WOLF_ARRAY_MB_INTEGER = 9
|
73
73
|
|
74
|
+
WOLF_ARRAY_FULL_INTEGER16_2 = 0
|
74
75
|
WOLF_ARRAY_FULL_INTEGER16 = 11
|
75
76
|
WOLF_ARRAY_MNAP_INTEGER = 20
|
76
77
|
|
@@ -156,7 +157,14 @@ class header_wolf():
|
|
156
157
|
ret += _(' - Origin : ({} ; {}) \n').format(self.origx, self.origy)
|
157
158
|
ret += _(' - End : ({} ; {}) \n').format(self.origx + self.nbx * self.dx, self.origy +self.nby * self.dy)
|
158
159
|
ret += _(' - Widht x Height : {} x {} \n').format(self.nbx * self.dx, self.nby * self.dy)
|
159
|
-
ret += _('
|
160
|
+
ret += _(' - Translation : ({} ; {})\n').format(self.translx, self.transly)
|
161
|
+
ret += _('Null value : {}\n\n'.format(self.nullvalue))
|
162
|
+
|
163
|
+
if len(self.head_blocks) > 0:
|
164
|
+
ret += _('Number of blocks : {}\n\n').format(len(self.head_blocks))
|
165
|
+
for key, value in self.head_blocks.items():
|
166
|
+
ret += _('Block {} : \n\n').format(key)
|
167
|
+
ret += str(value)
|
160
168
|
|
161
169
|
return ret
|
162
170
|
|
@@ -697,7 +705,7 @@ class header_wolf():
|
|
697
705
|
:param forceupdate : if True, the file is rewritten even if it already exists
|
698
706
|
"""
|
699
707
|
|
700
|
-
assert wolftype in [WOLF_ARRAY_CSR_DOUBLE, WOLF_ARRAY_FULL_SINGLE, WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_SYM_DOUBLE, WOLF_ARRAY_FULL_LOGICAL, WOLF_ARRAY_CSR_DOUBLE, WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_SINGLE_3D, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_MB_SINGLE, WOLF_ARRAY_MB_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_MNAP_INTEGER]
|
708
|
+
assert wolftype in [WOLF_ARRAY_CSR_DOUBLE, WOLF_ARRAY_FULL_SINGLE, WOLF_ARRAY_FULL_DOUBLE, WOLF_ARRAY_SYM_DOUBLE, WOLF_ARRAY_FULL_LOGICAL, WOLF_ARRAY_CSR_DOUBLE, WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_SINGLE_3D, WOLF_ARRAY_FULL_INTEGER8, WOLF_ARRAY_MB_SINGLE, WOLF_ARRAY_MB_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_MNAP_INTEGER, WOLF_ARRAY_FULL_INTEGER16_2], _('The type of array is not correct')
|
701
709
|
|
702
710
|
if not os.path.exists(filename) or forceupdate:
|
703
711
|
with open(filename,'w') as f:
|
@@ -3608,7 +3616,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
3608
3616
|
dtype = np.float32
|
3609
3617
|
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_MB_INTEGER, WOLF_ARRAY_MNAP_INTEGER]:
|
3610
3618
|
dtype = np.int32
|
3611
|
-
elif self.wolftype
|
3619
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
3612
3620
|
dtype = np.int16
|
3613
3621
|
elif self.wolftype == WOLF_ARRAY_FULL_INTEGER8:
|
3614
3622
|
dtype = np.int8
|
@@ -4618,7 +4626,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
4618
4626
|
dtype = np.float32
|
4619
4627
|
elif self.wolftype == WOLF_ARRAY_FULL_INTEGER:
|
4620
4628
|
dtype = np.int32
|
4621
|
-
elif self.wolftype
|
4629
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
4622
4630
|
dtype = np.int16
|
4623
4631
|
|
4624
4632
|
self.dx = myhead.dx
|
@@ -5435,7 +5443,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
5435
5443
|
elif self.wolftype == WOLF_ARRAY_FULL_INTEGER:
|
5436
5444
|
locarray = np.frombuffer(f.read(self.nbx * self.nby * 4), dtype=np.int32)
|
5437
5445
|
self.array = ma.masked_array(locarray.copy(), dtype=np.int32)
|
5438
|
-
elif self.wolftype
|
5446
|
+
elif self.wolftype in [WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
5439
5447
|
locarray = np.frombuffer(f.read(self.nbx * self.nby * 2), dtype=np.int16)
|
5440
5448
|
self.array = ma.masked_array(locarray.copy(), dtype=np.int16)
|
5441
5449
|
|
@@ -5565,7 +5573,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
5565
5573
|
if self.array is None:
|
5566
5574
|
return
|
5567
5575
|
|
5568
|
-
if self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16]:
|
5576
|
+
if self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
5569
5577
|
value=int(value)
|
5570
5578
|
|
5571
5579
|
if value is not None:
|
@@ -6423,7 +6431,7 @@ class WolfArrayMB(WolfArray):
|
|
6423
6431
|
def mask_data(self, value):
|
6424
6432
|
""" Mask cells where values are equal to `value`"""
|
6425
6433
|
|
6426
|
-
if self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16]:
|
6434
|
+
if self.wolftype in [WOLF_ARRAY_FULL_INTEGER, WOLF_ARRAY_FULL_INTEGER16, WOLF_ARRAY_FULL_INTEGER16_2]:
|
6427
6435
|
value=int(value)
|
6428
6436
|
|
6429
6437
|
if value is not None:
|
@@ -1,10 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: wolfhece
|
3
|
-
Version: 2.0.
|
4
|
-
Author-email:
|
3
|
+
Version: 2.0.48
|
4
|
+
Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
|
5
|
+
License: AGPL-v3 License
|
5
6
|
Project-URL: Homepage, https://uee.uliege.be/hece
|
6
7
|
Project-URL: Issues, https://uee.uliege.be/hece
|
7
|
-
Classifier: Programming Language :: Python :: 3.
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
8
9
|
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
9
10
|
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
|
10
11
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
@@ -7,7 +7,7 @@ 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
9
|
wolfhece/PyDraw.py,sha256=Zz2pcBUGA7s3FURP-4CPdoBqENtSrf-RLH1o-xZ6qrA,343578
|
10
|
-
wolfhece/PyGui.py,sha256=
|
10
|
+
wolfhece/PyGui.py,sha256=Dv8i0aMXXGUcTVuav-jedqH4IHVMFnUC_ndeZydETRg,59795
|
11
11
|
wolfhece/PyGuiHydrology.py,sha256=wKhR-KthPRyzJ887NmsozmUpm2CIQIwO3IbYORCYjrE,7290
|
12
12
|
wolfhece/PyHydrographs.py,sha256=GKK8U0byI45H9O_e4LAOOi7Aw0Tg7Q0Lx322stPg5IQ,3453
|
13
13
|
wolfhece/PyPalette.py,sha256=Yjivc_Z3i6zpyTBM3U1Gd00bOqqM4D3CVkjs-oW3K3Q,22230
|
@@ -48,7 +48,7 @@ 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=
|
51
|
+
wolfhece/wolf_array.py,sha256=yklT2lQaBBgnPCh-e3qFBSpKcOSsSPwkG-ECFCLBzXw,288267
|
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
|
@@ -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=m9hMTqzhSUcTudApyNNjoAK9e2u5vgEkJVV79xmfM1s,2118
|
69
|
-
wolfhece/apps/version.py,sha256=
|
69
|
+
wolfhece/apps/version.py,sha256=zx6pHDczskz0pAlVKXX5izabGKi7jpL-tk87LMvinSA,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
|
@@ -83,7 +83,7 @@ wolfhece/eva/bootstrap.py,sha256=xHbIAZzFuaKLwiRpgvsLi5OZYqwaxYACqsAU-FnB6Pc,605
|
|
83
83
|
wolfhece/eva/hydrogramme_mono.py,sha256=uZFIgJJ-JogMFzt7D7OnyVaHvgxCQJPZz9W9FgnuthA,8138
|
84
84
|
wolfhece/eva/joint_models.py,sha256=KTal-jVJmeEWXPQ5mKyT032q186Drz3IFdc60daz-t0,5565
|
85
85
|
wolfhece/eva/mixture_models.py,sha256=WRzGxE2rQ-RkQUskL6IlSeUqEWlAeezJrNhkr0QpeOI,15923
|
86
|
-
wolfhece/eva/pyseries.py,sha256=
|
86
|
+
wolfhece/eva/pyseries.py,sha256=Oz2QCPGrbebAwQL1Vl-kc4t1OkzS-pCuj5rZwDGEJ-I,118536
|
87
87
|
wolfhece/fonts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
88
88
|
wolfhece/fonts/arial.ttf,sha256=uwYWwXEZKaG6axcVPiDDM0MXLgf40xAQmMwR8BSShSY,37496
|
89
89
|
wolfhece/fonts/helvetica.ttf,sha256=X4Zd3zdUmuRGMLE6UB-BMIbirpdK3Ia5czfNnuSx5P8,317968
|
@@ -158,8 +158,6 @@ wolfhece/lazviewer/viewer/viewer.exe,sha256=pF5nwE8vMWlEzkk-SOekae9zpOsPhTWhZbqa
|
|
158
158
|
wolfhece/lazviewer/viewer/viewer.py,sha256=8_MQCaQOS0Z_oRPiGoRy1lq-aCirReX3hWEBjQID0ig,24665
|
159
159
|
wolfhece/libs/MSVCP140.dll,sha256=2GrBWBI6JFuSdZLIDMAg_qKcjErdwURGbEYloAypx3o,565640
|
160
160
|
wolfhece/libs/WolfDll.dll,sha256=3--r0CVWTsb_st6oMf0AyP6OyTNPj9b4kl0g_-cAwi0,132934144
|
161
|
-
wolfhece/libs/WolfDll_CD.dll,sha256=kC1svCwD1qSmppsiVfHwDkIvoJO_1l6TG1GfIxgiqQQ,131415040
|
162
|
-
wolfhece/libs/WolfDll_debug.dll,sha256=-vrycGENtxj_GxX1n1vWBoamAfVCicPETKovk1LrIbU,74528256
|
163
161
|
wolfhece/libs/WolfOGL.c,sha256=tBWGfpFFe8gfRjImUUlqdxhcRpQ6ytEWU7Z6PC0v9as,1085242
|
164
162
|
wolfhece/libs/WolfOGL.pyx,sha256=kc1uxbO2wQx0Qoe7BVQnqTJgUWYx_Vtf1wzXMxzf8bI,65911
|
165
163
|
wolfhece/libs/api-ms-win-crt-heap-l1-1-0.dll,sha256=r0euvgZa8vBFoZ8g7H5Upuc8DD6aUQimMJWnIyt1OBo,19720
|
@@ -213,7 +211,7 @@ wolfhece/mesh2d/bc_manager.py,sha256=vSVogXy1x3A6fZKWA6mPZSGX2e3EAUVmEjD9Bgww_hU
|
|
213
211
|
wolfhece/mesh2d/cell_tracker.py,sha256=AR-Bty-QnrY1ni8Lwak2kU2UWMAJSBCF2ugl2YpfsB4,8660
|
214
212
|
wolfhece/mesh2d/config_manager.py,sha256=vrxLku4isZJTxbHOACEEIEEjQB9pkLpaVPteJz9GhnE,14417
|
215
213
|
wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=BaJeKHyJiKEFWBkTQeYsDBW86703ooj65MFVpPMgjLg,2810
|
216
|
-
wolfhece/mesh2d/wolf2dprev.py,sha256=
|
214
|
+
wolfhece/mesh2d/wolf2dprev.py,sha256=q-5dwegcBjNy2IAn511Uuktnl8zt3cTtSowardpml2g,137113
|
217
215
|
wolfhece/models/HECE_169.pptx,sha256=OWJtsWz504A-REFaaxw8lwStHyQU2l7KEeiE7IZvtbk,3396930
|
218
216
|
wolfhece/models/blue.pal,sha256=NnjJnjnYVdQkG54RyPXvo4Tl9ytB0cN7zpiHtj1N6bw,33
|
219
217
|
wolfhece/models/diff16.pal,sha256=Pkp9kQ1GvmAKz3lgwohsw8eQySjVVKHbjhoWw-gZ6Nc,303
|
@@ -258,8 +256,8 @@ wolfhece/sounds/sonsw2.wav,sha256=pFLVt6By0_EPQNt_3KfEZ9a1uSuYTgQSX1I_Zurv9Rc,11
|
|
258
256
|
wolfhece/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
259
257
|
wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yGbU_JsF56jsmms0gh7mxa7tbNQ_SxqhpAZxhm-mTy4,14860
|
260
258
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=wCxGRnE3kzEkWlWA6-3X8ADOFux_B0a5QWJ2GnXTgJw,4709
|
261
|
-
wolfhece-2.0.
|
262
|
-
wolfhece-2.0.
|
263
|
-
wolfhece-2.0.
|
264
|
-
wolfhece-2.0.
|
265
|
-
wolfhece-2.0.
|
259
|
+
wolfhece-2.0.48.dist-info/METADATA,sha256=lKkb-xiticGSdZUyiECndzvwo3_x_X9KoVVfGEFSbXQ,2233
|
260
|
+
wolfhece-2.0.48.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
261
|
+
wolfhece-2.0.48.dist-info/entry_points.txt,sha256=AIu1KMswrdsqNq_2jPtrRIU4tLjuTnj2dCY-pxIlshw,276
|
262
|
+
wolfhece-2.0.48.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
263
|
+
wolfhece-2.0.48.dist-info/RECORD,,
|
wolfhece/libs/WolfDll_CD.dll
DELETED
Binary file
|
wolfhece/libs/WolfDll_debug.dll
DELETED
Binary file
|
File without changes
|
File without changes
|
File without changes
|