1
Fork 0

Bathymetry processing (combining low-res and high-res)

This commit is contained in:
Edgar P. Burkhart 2022-03-02 11:13:06 +01:00
parent ca4fb473ea
commit 86acc6ff5b
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
2 changed files with 61 additions and 0 deletions

10
swash/config.ini Normal file
View file

@ -0,0 +1,10 @@
[proc]
plot=True
[data]
root=data
hires=bathyhires.dat
bathy=buoyarthabathy.dat
hstru=Hstru.dat
poro=Poro.dat
psize=Psize.dat

51
swash/processing/bathy.py Normal file
View file

@ -0,0 +1,51 @@
import pathlib
import configparser
import logging
import sys
import numpy as np
import pandas as pd
try:
import matplotlib.pyplot as plt
except ImportError:
plt = None
logging.basicConfig(level="INFO")
log = logging.getLogger("bathy")
config = configparser.ConfigParser()
config.read("config.ini")
root = pathlib.Path(config.get("data", "root"))
bathy_hires = np.loadtxt(root.joinpath(config.get("data", "hires")))
bathy_lores = np.loadtxt(root.joinpath(config.get("data", "bathy")))
hstru = np.loadtxt(root.joinpath(config.get("data", "hstru")))
x_hires = np.arange(-0.5 * bathy_hires.size, 0, 0.5)
x_lores = np.arange(-1 * bathy_lores.size, 0, 1)
#x_hstru = np.arange(-1 * hstru.size, 0, 1)
bathy_hires_pd = pd.Series(bathy_hires.copy(), index=x_hires)
bathy_lores_pd = pd.Series(bathy_lores.copy(), index=x_lores)
bathy = bathy_lores_pd
inter = bathy_lores_pd.index.intersection(bathy_hires_pd.index)
bathy[inter] = bathy_hires_pd[inter]
if config.getboolean("proc", "plot", fallback=False):
if plt is None:
log.error("Could not import PyPlot")
sys.exit(1)
fig, ax = plt.subplots()
ax.plot(x_hires, bathy_hires, label="High-res")
ax.plot(x_lores, bathy_lores, label="Low-res")
#ax.plot(x_hstru, hstru, label="H stru")
ax.plot(bathy.index, bathy, ls="-.", c="k", label="Combined")
ax.grid()
ax.legend()
plt.show(block=True)