NEDAS.assim_tools.assimilators.batch module

class NEDAS.assim_tools.assimilators.batch.BatchAssimilator(c: Context)[source]

Bases: Assimilator

assim_mode: str = 'batch'
init_partitions(c: Context) list[source]

Generate spatial partitioning of the domain partitions: dict[par_id, tuple(istart, iend, di, jstart, jend, dj)] for each partition indexed by par_id, the tuple contains indices for slicing the domain Using regular slicing is more efficient than fancy indexing (used in irregular grid)

assign_obs(c: Context) dict[source]

Assign the observation sequence to each partition par_id

assign_obs_to_tiles(c, state, obs, obs_rec_id)[source]
distribute_partitions(c: Context)[source]

Distribute partitions across processors

assimilation_algorithm(c: Context)[source]

batch assimilation solves the matrix version EnKF analysis for each local state, the local states in each partition are processed in parallel

abstractmethod local_analysis(c, loc_id, ind, hlfactor, state_data, obs_data)[source]

Local analysis scheme for each model state variable (grid point) to be implemented by derived classes