import configparser import pathlib import numpy as np import pandas as pd import matplotlib.pyplot as plt import scipy.signal as sgl from .read_swash import * config = configparser.ConfigParser() config.read("config.ini") cache = pathlib.Path(config.get("out", "root")) root = pathlib.Path(config.get("swash", "out")) bathy = pd.read_hdf(cache.joinpath("bathy.h5"), "bathy") n = bathy.index.size botl = read_nohead_scalar(root.joinpath("botl.dat"), n) dep = np.maximum(0, read_nohead_scalar(root.joinpath("dep.dat"), n)) vel = read_nohead_vect(root.joinpath("vel.dat"), n) n_t = botl.shape[0] # Cospectral calculations pos_x = n//10 eta = (dep - botl)[n_t//2:, pos_x] u = vel[n_t//2:, 0, pos_x] phi_eta = np.abs(sgl.csd(eta, eta)[1]) phi_u = np.abs(sgl.csd(u, u)[1]) phi_eta_u = np.abs(sgl.csd(eta, u)[1]) R = np.sqrt((phi_eta + phi_u - 2*phi_eta_u)/(phi_eta + phi_u + 2*phi_eta_u)) # Plotting fig, (ax_dep, ax_vel) = plt.subplots(2) ax_dep.plot((dep - botl)[:, pos_x], label="dep", color="#0066ff") ax_dep.set(xlabel="t (s)", ylabel="z (m)") ax_vel.plot(vel[:, 0, pos_x], label="vel") ax_vel.set(xlabel="t (s)", ylabel="U (m/s)") fig.tight_layout() fig_r, ax_r = plt.subplots() ax_r.plot(R) ax_r.set(ylim=(0,1)) ax_r.grid() plt.show(block=True)