Getting started¶
romda combines physical and data-driven forecast models with real-time data assimilation.
The shortest route is to install the package, run the Van der Pol example, and then choose a
model or tutorial from the navigation.
Install¶
From PyPI:
pip install romda
For a source checkout:
git clone https://github.com/andreanovoa/real-time-bias-aware-DA
cd real-time-bias-aware-DA
conda create -n romda python=3.12
conda activate romda
pip install -e ".[dev,notebooks]" --use-pep517
Quick example¶
import numpy as np
from romda.bias_estimators import ConstantBias
from romda.estimators import rBA_EnKF
from romda.models.physical import VdP
from romda.observations import Observations
truth = Observations(model=VdP, t_start=0.6, t_stop=0.8, Nt_obs=30,
add_noise=True, manual_bias='linear')
Cdd = np.diag((0.05 * np.max(abs(truth.y_obs), axis=0)) ** 2)
ensemble = rBA_EnKF(parent_model=VdP(dt=truth.dt), parent_bias=ConstantBias,
m=10, std_phi=0.1, std_alpha=dict(zeta=(40., 60.)))
for data, time in zip(truth.y_obs, truth.t_obs):
ensemble.forecast_step(t_end=time)
ensemble.analysis_step(d=data, Cdd=Cdd)
Run a physical experiment¶
Physical and thermoacoustic experiment configurations are documented on the Experiments page:
python -m romda.experiments configs/tai_da/rijke.yml --seed 1