Add swash compatible spectrum generation

This commit is contained in:
Edgar P. Burkhart 2022-04-05 10:38:05 +02:00
parent e5d6f9f711
commit 98426a1ab7
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
3 changed files with 44 additions and 1 deletions

View file

@ -6,6 +6,7 @@ hstru=Hstru.dat
poro=Poro.dat
psize=Psize.dat
raw_ts=cerema/raw/201702281700.raw,cerema/raw/201702281730.raw
raw_spec=cerema/spt/201702281715.spt
hires_step=0.5
[out]

42
data/processing/spec.py Normal file
View file

@ -0,0 +1,42 @@
import argparse
import configparser
import logging
import pathlib
import matplotlib.pyplot as plt
import numpy as np
parser = argparse.ArgumentParser(description="Pre-process time-series")
parser.add_argument("-v", "--verbose", action="count", default=0)
parser.add_argument("-c", "--config", default="config.ini")
args = parser.parse_args()
logging.basicConfig(level=max((10, 20 - 10 * args.verbose)))
log = logging.getLogger("bathy")
log.info("Starting time-series pre-processing")
config = configparser.ConfigParser()
config.read(args.config)
inp_root = pathlib.Path(config.get("inp", "root"))
out_root = pathlib.Path(config.get("out", "root"))
inp_spec = inp_root.joinpath(config.get("inp", "raw_spec"))
out_spec = out_root.joinpath("spec.dat")
inp = np.loadtxt(
inp_spec,
dtype=[("f", float), ("S", float)],
delimiter=",",
skiprows=12,
usecols=(0, 6),
max_rows=64,
)
with out_spec.open("w") as out:
out.write("SPEC1D\n")
np.savetxt(out, inp)
df = np.diff(inp['f']).min()
log.info(f"Minimum frequency delta: {df:.4f}Hz")
log.info(f"Maximum modelled time: {1/df:.0f}s")