atlas
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
atlas::grid::detail::grid::CubedSphere Class Reference
Inheritance diagram for atlas::grid::detail::grid::CubedSphere:
Inheritance graph
[legend]
Collaboration diagram for atlas::grid::detail::grid::CubedSphere:
Collaboration graph
[legend]

Classes

class  IteratorTIJ_Base
 

Public Types

using IteratorXY = CubedSphereIterator< Grid::IteratorXY, ComputePointXY >
 
using IteratorLonLat = CubedSphereIterator< Grid::IteratorLonLat, ComputePointLonLat >
 
using IteratorTIJ = CubedSphereIterator< IteratorTIJ_Base, ComputePointTIJ >
 
- Public Types inherited from atlas::grid::detail::grid::Grid
using Projection = atlas::Projection
 
using Domain = atlas::Domain
 
using Config = atlas::util::Config
 
using Spec = atlas::util::Config
 
using uid_t = std::string
 
using hash_t = std::string
 

Public Member Functions

 CubedSphere (const std::string &, int, Projection, const std::string &stagger)
 
 CubedSphere (int, Projection, const std::string &stagger)
 
 CubedSphere (const CubedSphere &)
 
virtual idx_t size () const override
 
virtual Spec spec () const override
 
virtual std::string name () const override
 Human readable name (may not be unique)
 
virtual std::string type () const override
 
idx_t N () const
 
atlas::grid::CubedSphereTiles tiles () const
 
double xsPlusIndex (idx_t idx, idx_t t) const
 
double xsrMinusIndex (idx_t idx, idx_t t) const
 
double ysPlusIndex (idx_t idx, idx_t t) const
 
double ysrMinusIndex (idx_t idx, idx_t t) const
 
void xyt (idx_t i, idx_t j, idx_t t, double crd[]) const
 
PointXY xyt (idx_t i, idx_t j, idx_t t) const
 
void xy (idx_t i, idx_t j, idx_t t, double xy[]) const
 
PointXY xy (idx_t i, idx_t j, idx_t t) const
 
void lonlat (idx_t i, idx_t j, idx_t t, double lonlat[]) const
 
PointLonLat lonlat (idx_t i, idx_t j, idx_t t) const
 
bool inGrid (idx_t i, idx_t j, idx_t t) const
 
bool finalElement (idx_t i, idx_t j, idx_t t) const
 
std::unique_ptr< int[]> nextElement (const idx_t i, const idx_t j, const idx_t t) const
 
virtual std::unique_ptr< Grid::IteratorXY > xy_begin () const override
 
virtual std::unique_ptr< Grid::IteratorXY > xy_end () const override
 
virtual std::unique_ptr< Grid::IteratorLonLat > lonlat_begin () const override
 
virtual std::unique_ptr< Grid::IteratorLonLat > lonlat_end () const override
 
virtual std::unique_ptr< IteratorTIJ > tij_begin () const
 
virtual std::unique_ptr< IteratorTIJ > tij_end () const
 
Config meshgenerator () const override
 
Config partitioner () const override
 
const std::string & stagger () const
 
- Public Member Functions inherited from atlas::grid::detail::grid::Grid
 Grid ()
 ctor (default)
 
virtual ~Grid ()
 dtor
 
virtual uid_t uid () const
 Unique grid id Computed from the hash. More...
 
std::string hash () const
 
const Domaindomain () const
 
virtual size_t footprint () const
 
const Projectionprojection () const
 
void attachObserver (GridObserver &) const
 
void detachObserver (GridObserver &) const
 

Static Public Member Functions

static std::string static_type ()
 
- Static Public Member Functions inherited from atlas::grid::detail::grid::Grid
static const Gridcreate (const Config &)
 
static const Gridcreate (const std::string &name)
 
static const Gridcreate (const std::string &name, const Config &)
 
static const Gridcreate (const Grid &, const Domain &)
 

Public Attributes

std::vector< std::function< double(int, int, int)> > xtile
 
std::vector< std::function< double(int, int, int)> > ytile
 

Protected Member Functions

virtual void print (std::ostream &) const override
 Fill provided me.
 
virtual void hash (eckit::Hash &) const override
 Adds to the hash the information that makes this Grid unique.
 
virtual RectangularLonLatDomain lonlatBoundingBox () const override
 
Domain computeDomain () const
 

Protected Attributes

idx_t N_
 
double xs_ [nTiles_]
 
double ys_ [nTiles_]
 
double xsr_ [nTiles_]
 
double ysr_ [nTiles_]
 
std::vector< int > npts_
 
std::string tileType_
 
std::array< idx_t, 6 > jmin_
 
std::array< idx_t, 6 > jmax_
 
std::vector< std::vector< idx_t > > imin_
 
std::vector< std::vector< idx_t > > imax_
 
std::string stagger_
 
- Protected Attributes inherited from atlas::grid::detail::grid::Grid
Projection projection_
 
Domain domain_
 
std::vector< GridObserver * > grid_observers_
 

Static Protected Attributes

static const idx_t nTiles_ = 6
 

Member Function Documentation

◆ lonlatBoundingBox()

RectangularLonLatDomain atlas::grid::detail::grid::CubedSphere::lonlatBoundingBox ( ) const
overrideprotectedvirtual
Returns
parallel/meridian limits containing the grid

Implements atlas::grid::detail::grid::Grid.

◆ size()

virtual idx_t atlas::grid::detail::grid::CubedSphere::size ( ) const
inlineoverridevirtual
Returns
number of grid points
Note
This methods should have constant access time, if necessary derived

Implements atlas::grid::detail::grid::Grid.


The documentation for this class was generated from the following files: