Single object for spatial/time info
Feature request
Having separate spatial and turbulence dataframes is not stellar. Leaves room for mistakes/issues. Would be nice if this was a combined object that had the spatial and turbulence dataframes beneath.
Summary
Prevent mismatches between the spatial and turbulence dataframes.
Pseudocode
Unconstrained:
import numpy as np
from pyconturb import TurbBox
y, z = np.linspace(-50, 50, 11), np.linspace(50, 150, 11)
comps = [0]
kwargs = {'T': 60, 'dt': 1, 'u_ref': 10, 'z_ref': 100}
tb = TurbBox(y, z, comps=comps) # gen_spat_grid on init
tb.simulate(**kwargs) # simulate turbulence
tb.filter(regex='u').describe() # pandas commands default to turb_df
Constrained:
import numpy as np
from pyconturb import Constraints
from pyconturb import TurbBox
con = Constraints(file_path) # load constraint from file
con.filter(regex='u') # filter all longitudinal constraints
con.get_spat_df()[['k', 'p_id', 'y', 'z']] # get the component, point ID, and spatial location
y, z = np.linspace(-50, 50, 11), np.linspace(50, 150, 11)
comps = [0]
kwargs = {'T': 60, 'dt': 1, 'u_ref': 10, 'z_ref': 100}
tb = TurbBox(y, z, comps=comps)
tb.simulate(constraints=con, **kwargs)
tb.filter(regex='u').describe()
Suggested implementation
Objects defined in...simulation.py? Maybe? Hmm...dunno.