atlas::grid::Distribution class

Public types

using Config = DistributionImpl::Config
using partition_t = atlas::vector<int>

Constructors, destructors, conversion operators

Distribution() defaulted
Distribution(const Grid&)
Create a serial distribution.
Distribution(const Grid&, const Config&)
Create a distribution specified by a configuration.
Distribution(const Grid&, const Partitioner&)
Create a distribution using a given partitioner.
Distribution(int nb_partitions, idx_t npts, int partition[], int part0 = 0)
Create a distribution by given array, and make internal copy.
Distribution(int nb_partitions, partition_t&& partition)
Create a distribution by given array, and take ownership (move)
~Distribution()

Public functions

auto partition(gidx_t index) const -> int
template<typename PartitionContainer>
void partition(gidx_t begin, gidx_t end, PartitionContainer& partitions) const
auto footprint() const -> size_t
auto nb_partitions() const -> idx_t
auto size() const -> gidx_t
auto nb_pts() const -> const std::vector<idx_t>&
auto max_pts() const -> idx_t
auto min_pts() const -> idx_t
auto type() const -> const std::string&
auto hash() const -> std::string
void hash(eckit::Hash&) const

Friends

auto operator<<(std::ostream& os, const Distribution& distribution) -> std::ostream&