dartobsgen.generate_obs_sequences#

dartobsgen.generate_obs_sequences(config, source, max_workers=None)[source]#

Generate one DART obs_seq file per assimilation cycle.

Analysis times run from config.first_analysis through config.end inclusive; each gets the window (T - freq/2, T + freq/2] and a file named for T, following DART’s convention. Calls source.write_obs_seq for each and returns the paths of every file that was written. Windows that contain no observations are silently skipped.

Before running any window, source.check_coverage is given the full list of windows so the source can report β€” or reject β€” a mismatch between the windows and the data it can actually serve. Most sources take the default no-op; PerfectModelSource uses it to catch analysis times that do not line up with the model output times.

Parameters:
  • config (ObsGenConfig) – Run configuration (analysis times, bbox, obs types, window width, output path and naming settings).

  • source (DataSource) – Observation data source (e.g. CrocLakeSource).

  • max_workers (int or None) – Number of parallel worker processes. None uses all available CPUs; 1 runs sequentially.

Returns:

Paths of obs_seq files written to disk (empty windows omitted), in chronological order.

Return type:

list[str]