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)