template<typename BaseFunctionSpace>
atlas::functionspace::CubedSphereColumns class

Extend NodeColumns and CellColumns so that they can exploit CubedSphere structure.

Base classes

class BaseFunctionSpace

Constructors, destructors, conversion operators

CubedSphereColumns()
Constructors.
CubedSphereColumns(const FunctionSpace& functionSpace)
CubedSphereColumns(const Mesh& mesh, const eckit::Configuration& configuration)
CubedSphereColumns(const Mesh& mesh)

Public functions

auto invalid_index() const -> idx_t
Invalid index.
auto sizeOwned() const -> idx_t
Get number of owned elements.
auto i_begin(idx_t t) const -> idx_t
i lower bound for tile t (including halo)
auto i_end(idx_t t) const -> idx_t
i lower bound for tile t (including halo)
auto j_begin(idx_t t) const -> idx_t
j lower bound for tile t (including halo)
auto j_end(idx_t t) const -> idx_t
j lower bound for tile t (including halo)
auto index(idx_t t, idx_t i, idx_t j) const -> idx_t
Return array_view index for (t, i, j).
auto is_valid_index(idx_t t, idx_t i, idx_t j) const -> bool
Return true if (t, i, j) is a valid index.
auto tij() const -> Field
Return tij field.
template<typename Functor>
void parallel_for(const Functor& f) const
template<typename Functor>
void parallel_for(const util::Config& config, const Functor& f) const

Function documentation

template<typename BaseFunctionSpace _1> template<typename Functor>
void atlas::functionspace::CubedSphereColumns<_1>::parallel_for(const Functor& f) const

Visit each element index and apply functor with signature: f(index, t, i, j, k), f(index t, i, j), f(index, k) or f(index).

template<typename BaseFunctionSpace _1> template<typename Functor>
void atlas::functionspace::CubedSphereColumns<_1>::parallel_for(const util::Config& config, const Functor& f) const

Visit each element index and apply functor with signature: f(index, t, i, j, k), f(index t, i, j), f(index, k) or f(index). Can also specify "idx_t levels" and "bool include_halo".