Bathymetry processing (subdomain + 1d interpolation)
This commit is contained in:
parent
d69a39f25b
commit
f42edfb8f8
4 changed files with 244 additions and 0 deletions
50
data/processing/subdomain.py
Normal file
50
data/processing/subdomain.py
Normal file
|
@ -0,0 +1,50 @@
|
|||
import argparse
|
||||
import configparser
|
||||
import logging
|
||||
import pathlib
|
||||
|
||||
import numpy as np
|
||||
|
||||
parser = argparse.ArgumentParser(description="Pre-process bathymetry")
|
||||
parser.add_argument("-v", "--verbose", action="count", default=0)
|
||||
args = parser.parse_args()
|
||||
|
||||
logging.basicConfig(level=max((10, 20 - 10 * args.verbose)))
|
||||
log = logging.getLogger("bathy")
|
||||
|
||||
log.info("Starting bathymetry pre-processing")
|
||||
config = configparser.ConfigParser()
|
||||
config.read("config.ini")
|
||||
|
||||
artha = np.array(
|
||||
(config.getfloat("artha", "lon"), config.getfloat("artha", "lat"))
|
||||
)
|
||||
buoy = np.array(
|
||||
(config.getfloat("buoy", "lon"), config.getfloat("buoy", "lat"))
|
||||
)
|
||||
log.debug(f"artha: {artha}")
|
||||
log.debug(f"buoy: {buoy}")
|
||||
|
||||
domain = np.stack((artha, buoy))
|
||||
domain.sort(axis=0)
|
||||
log.debug(f"domain: {domain}")
|
||||
|
||||
domain[0] -= 0.002
|
||||
domain[1] += 0.002
|
||||
log.debug(f"domain: {domain}")
|
||||
|
||||
bathy_inp = pathlib.Path(config.get("bathy", "inp"))
|
||||
bathy_out = pathlib.Path(config.get("bathy", "sub"))
|
||||
log.info(f"Reading bathymetry from '{bathy_inp}'")
|
||||
raw_bathy = np.genfromtxt(bathy_inp)
|
||||
log.debug(f"Initial size: {raw_bathy.shape}")
|
||||
|
||||
bathy = raw_bathy[
|
||||
((raw_bathy[:, :2] > domain[0]) & (raw_bathy[:, :2] < domain[1])).all(
|
||||
axis=1
|
||||
)
|
||||
]
|
||||
log.debug(f"Final size: {bathy.shape}")
|
||||
|
||||
log.info(f"Saving subdomain to 'bathy'")
|
||||
np.save(bathy_out, bathy)
|
Reference in a new issue