atlas::util namespace

Namespaces

namespace function

Classes

class Bitflags
Convenience class to modify and interpret bitflags.
class CGALSphericalTriangulation
class Config
Configuration class used to construct various atlas components.
class NoConfig
struct Constants
Some useful constants.
class ConvexSphericalPolygon
struct DatumIFS
struct DatumGRIB1
struct DatumWGS84SemiMajorAxis
class FactoryRegistry
template<typename T>
struct FactoryRegistryT
class FactoryBase
template<typename T>
class Factory
template<typename Base>
struct GPUClonable
class GridPointsJSONWriter
template<typename PayloadT, typename PointT = Point3>
class KDTree
k-dimensional tree constructable both with 2D (lon,lat) points as with 3D (x,y,z) points
class LonLatMicroDeg
LonLatMicroDegrees.
class Metadata
class NormaliseLongitude
class PeriodicTransform
class Polygon
Polygon.
class PartitionPolygon
class ExplicitPartitionPolygon
class PartitionPolygons
class PolygonCoordinates
class PolygonLocator
Find polygon that contains a point.
class PolygonXY
Implement PolygonCoordinates::contains for a polygon defined in XY space.
class ListPolygonXY
Vector of all polygons with functionality to find partition using a KDTree.
class QhullSphericalTriangulation
template<typename T>
class Registry
class Rotation
class SphericalPolygon
class Topology
class UniqueLonLat
Compute unique positive index for a element This class is a functor initialised with the nodes.
template<typename BaseIterator>
class DereferenceIterator
template<typename Abstract>
class VectorOfAbstract

Typedefs

using checksum_t = unsigned long
using Earth = eckit::geometry::SphereT<DatumIFS>
using IndexKDTree2D = KDTree<idx_t, Point2>
using IndexKDTree3D = KDTree<idx_t, Point3>
using IndexKDTree = IndexKDTree3D

Functions

template<typename T>
void allocate_managedmem(T*& data, size_t N)
template<typename T>
void delete_managedmem(T*& data, size_t N)
template<typename T>
void allocate_devicemem(T*& data, size_t N)
template<typename T>
void delete_devicemem(T*& data, size_t N)
template<typename T>
void allocate_hostmem(T*& data, size_t N)
template<typename T>
void delete_hostmem(T*& data, size_t N)
void atlas__allocate_managedmem_double(double*& a, size_t N)
void atlas__allocate_managedmem_float(float*& a, size_t N)
void atlas__allocate_managedmem_int(int*& a, size_t N)
void atlas__allocate_managedmem_long(long*& a, size_t N)
void atlas__deallocate_managedmem_double(double*& a, size_t N)
void atlas__deallocate_managedmem_float(float*& a, size_t N)
void atlas__deallocate_managedmem_int(int*& a, size_t N)
void atlas__deallocate_managedmem_long(long*& a, size_t N)
auto checksum(const int values[], size_t size) -> checksum_t
auto checksum(const long values[], size_t size) -> checksum_t
auto checksum(const float values[], size_t size) -> checksum_t
auto checksum(const double values[], size_t size) -> checksum_t
auto checksum(const checksum_t values[], size_t size) -> checksum_t
auto atlas__Config__new() -> Config*
auto atlas__Config__new_from_json(const char* json) -> Config*
auto atlas__Config__new_from_file(const char* path) -> Config*
void atlas__Config__delete(Config* This)
auto atlas__Config__has(Config* This, const char* name) -> int
void atlas__Config__set_config(Config* This, const char* name, const Config* value)
void atlas__Config__set_config_list(Config* This, const char* name, const Config* value[], int size)
void atlas__Config__set_int(Config* This, const char* name, int value)
void atlas__Config__set_long(Config* This, const char* name, long value)
void atlas__Config__set_float(Config* This, const char* name, float value)
void atlas__Config__set_double(Config* This, const char* name, double value)
void atlas__Config__set_string(Config* This, const char* name, const char* value)
void atlas__Config__set_array_int(Config* This, const char* name, int value[], int size)
void atlas__Config__set_array_long(Config* This, const char* name, long value[], int size)
void atlas__Config__set_array_float(Config* This, const char* name, float value[], int size)
void atlas__Config__set_array_double(Config* This, const char* name, double value[], int size)
auto atlas__Config__get_config(Config* This, const char* name, Config* value) -> int
auto atlas__Config__get_config_list(Config* This, const char* name, Config**& value, int& size, int& allocated) -> int
auto atlas__Config__get_int(Config* This, const char* name, int& value) -> int
auto atlas__Config__get_long(Config* This, const char* name, long& value) -> int
auto atlas__Config__get_float(Config* This, const char* name, float& value) -> int
auto atlas__Config__get_double(Config* This, const char* name, double& value) -> int
auto atlas__Config__get_string(Config* This, const char* name, char*& value, int& size, int& allocated) -> int
auto atlas__Config__get_array_int(Config* This, const char* name, int*& value, int& size, int& allocated) -> int
auto atlas__Config__get_array_long(Config* This, const char* name, long*& value, int& size, int& allocated) -> int
auto atlas__Config__get_array_float(Config* This, const char* name, float*& value, int& size, int& allocated) -> int
auto atlas__Config__get_array_double(Config* This, const char* name, double*& value, int& size, int& allocated) -> int
void atlas__Config__json(Config* This, char*& json, int& size, int& allocated)
void gaussian_latitudes_npole_equator(const size_t N, double latitudes[])
Compute gaussian latitudes between North pole and equator.
void gaussian_quadrature_npole_equator(const size_t N, double latitudes[], double weights[])
Compute gaussian latitudes and quadrature weights between North pole and equator.
void gaussian_latitudes_npole_spole(const size_t N, double latitudes[])
Compute gaussian latitudes between North pole and South pole.
void gaussian_quadrature_npole_spole(const size_t N, double latitudes[], double weights[])
Compute gaussian latitudes and quadrature weights between North pole and South pole.
auto atlas__IndexKDTree__new() -> IndexKDTree::Implementation*
auto atlas__IndexKDTree__new_geometry(const Geometry::Implementation* geometry) -> IndexKDTree::Implementation*
void atlas__IndexKDTree__delete(IndexKDTree::Implementation* This)
void atlas__IndexKDTree__reserve(IndexKDTree::Implementation* This, const idx_t size)
void atlas__IndexKDTree__insert(IndexKDTree::Implementation* This, const double lon, const double lat, const idx_t index)
void atlas__IndexKDTree__build(IndexKDTree::Implementation* This)
void atlas__IndexKDTree__closestPoints(const IndexKDTree::Implementation* This, const double plon, const double plat, const size_t k, double*& lon, double*& lat, idx_t*& indices, double*& distances)
void atlas__IndexKDTree__closestPoint(const IndexKDTree::Implementation* This, const double plon, const double plat, double& lon, double& lat, idx_t& index, double& distance)
void atlas__IndexKDTree__closestPointsWithinRadius(const IndexKDTree::Implementation* This, const double plon, const double plat, const double radius, size_t& k, double*& lon, double*& lat, idx_t*& indices, double*& distances)
auto atlas__IndexKDTree__geometry(const IndexKDTree::Implementation* This) -> const Geometry::Implementation*
auto atlas__IndexKDTree__empty(const IndexKDTree::Implementation* This) -> int
auto atlas__IndexKDTree__size(const IndexKDTree::Implementation* This) -> idx_t
auto unique_lonlat(const LonLatMicroDeg&) -> uidx_t
Compute unique positive index from lon-lat coordinates in microdegrees.
auto atlas__Metadata__new() -> Metadata*
void atlas__Metadata__delete(Metadata* This)
void atlas__Metadata__print(Metadata* This, std::ostream* channel)
void atlas__Metadata__json(Metadata* This, char*& json, int& size, int& allocated)
auto atlas__Metadata__has(Metadata* This, const char* name) -> int
void atlas__Metadata__set_int(Metadata* This, const char* name, int value)
void atlas__Metadata__set_long(Metadata* This, const char* name, long value)
void atlas__Metadata__set_float(Metadata* This, const char* name, float value)
void atlas__Metadata__set_double(Metadata* This, const char* name, double value)
void atlas__Metadata__set_string(Metadata* This, const char* name, const char* value)
void atlas__Metadata__set_array_int(Metadata* This, const char* name, int value[], int size)
void atlas__Metadata__set_array_long(Metadata* This, const char* name, long value[], int size)
void atlas__Metadata__set_array_float(Metadata* This, const char* name, float value[], int size)
void atlas__Metadata__set_array_double(Metadata* This, const char* name, double value[], int size)
auto atlas__Metadata__get_int(Metadata* This, const char* name) -> int
auto atlas__Metadata__get_long(Metadata* This, const char* name) -> long
auto atlas__Metadata__get_float(Metadata* This, const char* name) -> float
auto atlas__Metadata__get_double(Metadata* This, const char* name) -> double
void atlas__Metadata__get_string(Metadata* This, const char* name, char* output_str, int max_len)
void atlas__Metadata__get_array_int(Metadata* This, const char* name, int*& value, int& size, int& allocated)
void atlas__Metadata__get_array_long(Metadata* This, const char* name, long*& value, int& size, int& allocated)
void atlas__Metadata__get_array_float(Metadata* This, const char* name, float*& value, int& size, int& allocated)
void atlas__Metadata__get_array_double(Metadata* This, const char* name, double*& value, int& size, int& allocated)
auto microdeg(const double& deg) -> int
auto pack_vector_fields(const FieldSet& fields, FieldSet packedFields = FieldSet{}) -> FieldSet
Packs vector field components into vector fields.
auto unpack_vector_fields(const FieldSet& fields, FieldSet unpackedFields = FieldSet{}) -> FieldSet
Unpacks vector field into vector field components.
auto unique_lonlat_microdeg(const int lon, const int lat) -> uidx_t
Compute unique positive index from lon-lat coordinates in microdegrees.
auto unique_lonlat_microdeg(const int lonlat[]) -> uidx_t
Compute unique positive index from lon-lat coordinates in microdegrees.
auto unique_lonlat(const double& lon, const double& lat) -> uidx_t
Compute unique positive index from lon-lat coordinates in degrees.
auto unique_lonlat(const double lonlat[]) -> uidx_t
auto unique_lonlat(const array::LocalView<double, 1>& lonlat) -> uidx_t
auto unique_lonlat(const std::array<double, 2>& lonlat) -> uidx_t
auto unique_lonlat(const double& lon, const double& lat, const PeriodicTransform&) -> uidx_t
Compute unique positive index from lon-lat coordinates in degrees.
auto unique_lonlat(const double elem_lonlat[], size_t npts) -> uidx_t
Compute unique positive index from lon-lat coordinates in degrees. coordinates are stored in order: [ x1, y1, x2, y2, ... , xn, yn ].
template<typename Iterator>
auto make_dereference_iterator(Iterator t) -> DereferenceIterator<Iterator>