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 "sol3rd" | tee "data_directories.txt" > /dev/null
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=-50.00cm' in data_dir]) def find_idx_nearest(x,v): return np.argmin(np.abs(x-v))
data_dir = [d for d in data_directories if 'a1.5cm' in d][0] dx,dt,h,g = 0.3,1/125,50,9810 t0 = np.sqrt(h/g) fig, ax = plt.subplots(figsize=(5.0/2,2.0),layout='constrained',dpi=600) ax.axhline(0,color='k',linewidth=.5) time = np.loadtxt(f"{data_dir}/time.csv",delimiter=',',dtype=int) t_off = np.loadtxt(f"{data_dir}/time_offset.csv") space = np.loadtxt(f"{data_dir}/space.csv",delimiter=',',dtype=int) elev = np.loadtxt(f"{data_dir}/elevation.csv",delimiter=',') space = space*dx/h time = (time*dt - t_off)/t0 elev = elev/h linestyles = ['-','--'] yvalues = [0, 12.6] for yval, linestyle in zip(yvalues,linestyles): y_idx = find_idx_nearest(space,yval) ax.plot(time,elev[:,y_idx],color='k',linestyle=linestyle) ax.set_xlim(48,68) ax.set_ylim(-0.1,0.4) ax.set_xlabel(r'$t$') ax.set_ylabel(r'$\eta$') plt.savefig('Fig_06b.pdf') plt.show()
Image in a Jupyter notebook