NEDAS.core.assimilator module
- class NEDAS.core.assimilator.Assimilator(c: Context)[source]
Bases:
ABC- assim_mode: str
- partition_grid(c: Context) None[source]
Partition the analysis grid into several parts and distribute the workload over the mpi ranks.
- abstractmethod init_partitions(c: Context) list[source]
Generate spatial partitioning of the domain
- abstractmethod assign_obs(c: Context) dict[Annotated[int, 'obs record id'], dict[Annotated[int, 'partition id'], ndarray]][source]
Assign the observation sequence to each partition par_id
- Parameters:
c (Context) – the runtime context object
- Returns:
Indices in the full obs_seq for the subset of obs that belongs to partition par_id
- Return type:
dict[ObsRecordID, dict[PartitionID, np.ndarray]]
- abstractmethod distribute_partitions(c: Context) dict[Annotated[int, 'process id in comm_mem'], list[Annotated[int, 'partition id']]][source]
Distribute partitions across processors
- transpose_to_ensemble_complete(c: Context) None[source]
Communicate among mpi ranks and transpose the locally-stored state/obs chunks to ensemble-complete