atlas::RegularGrid class

Specialization of StructuredGrid, where all rows have the same number of grid points.

Base classes

class StructuredGrid
Specialization of Grid, where the grid can be represented by rows with uniform distribution.

Derived classes

template<class Grid>
class Gaussian
class RegularLonLatGrid
Specialization of RegularGrid, assuming a global domain.

Public types

using grid_t = grid::detail::grid::Structured
using XSpace = grid_t::XSpace
using YSpace = grid_t::YSpace
using Config = util::Config
using Spec = util::Config
using Domain = atlas::Domain
using Projection = atlas::Projection
using PointXY = atlas::PointXY
using PointLonLat = atlas::PointLonLat
using IterateXY = grid::IterateXY
using IterateLonLat = grid::IterateLonLat

Constructors, destructors, conversion operators

operator bool() const
StructuredGrid()
StructuredGrid(const Grid&)
StructuredGrid(const Grid::Implementation*)
StructuredGrid(const std::string& name, const Domain& = Domain())
StructuredGrid(const std::string& name, const Projection&, const Domain& = Domain())
StructuredGrid(const Config&)
StructuredGrid(const XSpace&, const YSpace&, const Projection& = Projection(), const Domain& = Domain())
StructuredGrid(const Grid&, const Domain&)

Public functions

auto valid() const -> bool
auto nx() const -> idx_t
auto dx() const -> double
auto x(idx_t i) const -> double
auto xy(idx_t i, idx_t j) const -> PointXY
auto dx(idx_t j) const -> double
increment in x for a given grid row {j}
auto x(idx_t i, idx_t j) const -> double
x coordinate for given grid point {i,j}
void xy(idx_t i, idx_t j, double xy[]) const
auto xy(idx_t i, idx_t j) const -> PointXY
auto xy() const -> IterateXY
auto ny() const -> idx_t
auto nx(idx_t j) const -> idx_t
auto nxmax() const -> idx_t
auto y() const -> const std::vector<double>&
auto y(idx_t j) const -> double
y coordinate for given grid row {j}
auto x(idx_t i, idx_t j) const -> double
x coordinate for given grid point {i,j}
auto dx(idx_t j) const -> double
increment in x for a given grid row {j}
auto xmin(idx_t j) const -> double
x coordinate of beginning of a given grid row {j}
void xy(idx_t i, idx_t j, double xy[]) const
auto xy() const -> IterateXY
void lonlat(idx_t i, idx_t j, double lonlat[]) const
auto lonlat(idx_t i, idx_t j) const -> PointLonLat
auto lonlat() const -> IterateLonLat
auto lonlat() const -> IterateLonLat
auto reduced() const -> bool
auto regular() const -> bool
auto periodic() const -> bool
auto xspace() const -> const XSpace&
auto yspace() const -> const YSpace&
auto index(idx_t i, idx_t j) const -> gidx_t
void index2ij(gidx_t gidx, idx_t& i, idx_t& j) const
auto operator==(const Grid& other) const -> bool
auto operator!=(const Grid& other) const -> bool
auto size() const -> idx_t
auto projection() const -> const Projection&
auto domain() const -> const Domain&
auto lonlatBoundingBox() const -> RectangularLonLatDomain
auto name() const -> std::string
auto type() const -> std::string
auto uid() const -> std::string
void hash(eckit::Hash& h) const
Adds to the hash the information that makes this Grid unique.
auto footprint() const -> size_t
auto spec() const -> Spec
auto meshgenerator() const -> Config
auto partitioner() const -> Config

Typedef documentation

using atlas::RegularGrid::Config = util::Config

using atlas::RegularGrid::Spec = util::Config

using atlas::RegularGrid::Domain = atlas::Domain

using atlas::RegularGrid::Projection = atlas::Projection

using atlas::RegularGrid::PointXY = atlas::PointXY

using atlas::RegularGrid::PointLonLat = atlas::PointLonLat

using atlas::RegularGrid::IterateXY = grid::IterateXY

using atlas::RegularGrid::IterateLonLat = grid::IterateLonLat

Function documentation

IterateXY atlas::RegularGrid::xy() const

IterateLonLat atlas::RegularGrid::lonlat() const

bool atlas::RegularGrid::operator==(const Grid& other) const

bool atlas::RegularGrid::operator!=(const Grid& other) const

idx_t atlas::RegularGrid::size() const

const Projection& atlas::RegularGrid::projection() const

const Domain& atlas::RegularGrid::domain() const

RectangularLonLatDomain atlas::RegularGrid::lonlatBoundingBox() const

std::string atlas::RegularGrid::name() const

std::string atlas::RegularGrid::type() const

std::string atlas::RegularGrid::uid() const

void atlas::RegularGrid::hash(eckit::Hash& h) const

Adds to the hash the information that makes this Grid unique.

size_t atlas::RegularGrid::footprint() const

Spec atlas::RegularGrid::spec() const

Config atlas::RegularGrid::meshgenerator() const

Config atlas::RegularGrid::partitioner() const