2022-03-02 11:13:06 +01:00
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 )
2022-03-02 11:24:09 +01:00
x_hstru = np . arange ( - 0.5 * hstru . size , 0 , 0.5 )
2022-03-02 11:13:06 +01:00
bathy_hires_pd = pd . Series ( bathy_hires . copy ( ) , index = x_hires )
bathy_lores_pd = pd . Series ( bathy_lores . copy ( ) , index = x_lores )
2022-03-02 11:24:09 +01:00
bathy = bathy_lores_pd . reindex (
bathy_lores_pd . index . union ( bathy_hires_pd . index )
)
bathy [ bathy_hires_pd . index ] = bathy_hires_pd
2022-03-02 11:13:06 +01:00
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 " )
2022-03-02 11:24:09 +01:00
ax . plot ( x_hstru , bathy [ x_hstru ] + hstru , label = " H stru " )
2022-03-02 11:13:06 +01:00
ax . plot ( bathy . index , bathy , ls = " -. " , c = " k " , label = " Combined " )
ax . grid ( )
ax . legend ( )
plt . show ( block = True )