Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for JFM-2024-1227.
Download
3482 views
unlisted
ubuntu2204
Kernel: Python 3 (system-wide)

import os import numpy as np import matplotlib.pyplot as plt plt.style.use('../jfm.mplstyle')
!find ../Experimental_Dataset -type f -name "elevation.csv.gz" | xargs dirname | sort | grep "undular" | tee "data_directories.txt" > /dev/null
def find_idx_nearest(x,v): return np.argmin(np.abs(x-v)) with open("data_directories.txt","r") as data_directories_file: data_directories = data_directories_file.read().splitlines() data_directories = sorted([data_dir for data_dir in data_directories if 'x=-100.0cm' in data_dir]) h0, a0, g = 50, 5, 9810 c0 = np.sqrt(g*h0) t0 = h0/c0 data_dir = data_directories[-1] fig, ax = plt.subplots(figsize=(5.0/2,2.0),layout='constrained',dpi=600) linestyles = ['-','--','-.'] yvalues = [0, 8, 12] for yval, linestyle in zip(yvalues,linestyles): time = np.loadtxt(f"{data_dir}/time.csv",delimiter=',',dtype=int) space = np.loadtxt(f"{data_dir}/space.csv",delimiter=',',dtype=int) elev = np.loadtxt(f"{data_dir}/elevation.csv",delimiter=',') y = (space*0.3)/h0 t = (time/125)/t0 eta = elev/h0 y_idx = find_idx_nearest(y,yval) ax.plot(t,eta[:,y_idx],color='k',linestyle=linestyle,label=f"{yval}") ax.set_xlim(45,80) ax.set_ylim(0,0.2) ax.set_xlabel(r'$t$') ax.set_ylabel(r'$\eta$') plt.savefig('Fig_19b.pdf',dpi=600) plt.show()
Image in a Jupyter notebook