acoused/Model/granulo_loader.py

42 lines
1.9 KiB
Python

import numpy as np
import pandas as pd
class GranuloLoader:
""" This class allows to load granulo data file """
def __init__(self, path_fine: str, path_sand: str):
# --- Load fine sediments data file ---
self.path_fine = path_fine
self._data_fine = pd.read_excel(self.path_fine, engine="odf", header=0)
self._y = np.array(self._data_fine.iloc[:, 0]) # distance from left bank (m)
self._z = np.array(self._data_fine.iloc[:, 1]) # depth (m)
self._r_grain = np.array(self._data_fine.columns.values)[4:] # grain radius (um)
self._Ctot_fine = np.array(self._data_fine.iloc[:, 2]) # Total concentration (g/L)
self._D50_fine = np.array(self._data_fine.iloc[:, 3]) # median diameter (um)
self._frac_vol_fine = np.array(self._data_fine.iloc[:, 4:]) # Volume fraction (%)
self._frac_vol_fine_cumul = np.cumsum(self._frac_vol_fine, axis=1) # Cumulated volume fraction (%)
# --- Load sand sediments data file ---
self.path_sand = path_sand
self._data_sand = pd.read_excel(self.path_sand, engine="odf", header=0)
self._Ctot_sand = np.array(self._data_sand.iloc[:, 2]) # Total concentration (g/L)
self._D50_sand = np.array(self._data_sand.iloc[:, 3]) # median diameter (um)
self._frac_vol_sand = np.array(self._data_sand.iloc[:, 4:]) # Volume fraction (%)
self._frac_vol_sand_cumul = np.cumsum(self._frac_vol_sand, axis=1) # Cumulated volume fraction (%)
if __name__ == "__main__":
GranuloLoader("/home/bmoudjed/Documents/3 SSC acoustic meas project/Graphical interface project/Data/Granulo_data/"
"fine_sample_file.ods",
"/home/bmoudjed/Documents/3 SSC acoustic meas project/Graphical interface project/Data/Granulo_data/"
"fine_sample_file.ods")