NEDAS.core.scheme module

class NEDAS.core.scheme.Scheme(config: Config | None = None, config_file: str | None = None, parse_args: bool = False, **kwargs)[source]

Bases: ABC

Runtime scheme base class.

The Scheme coordinates all runtime generation and manipulation of objects.

steps_need_mpi: dict[str, bool] = {}
scheduler: OfflineScheduler | None = None
config: Config
online_mode: bool
use_synthetic_obs: bool = False
property c

The runtime context, with lazy initialization

abstractmethod run_all()[source]

A schemem must implement a run_all method to describe the workflow.

external_call(step: str | None = None, **kwargs)[source]

Run the scheme from an external call. Saving the current context to a temporary config file, then run a subprocess to

run_step(step: str) None[source]

Manages how to run a specified step in the workflow.

run_ensemble_tasks(strategy: Literal['scheduler', 'batch'], tag: Literal['current', 'prior', 'prior_mean', 'post', 'post_mean', 'truth', 'raw', 'z', 'z_mean'], task_name: str, func: Callable, **opts) None[source]