class
#include <atlas/functionspace/NodeColumns.h>
NodeColumns
Base classes
- class atlas::FunctionSpace
Derived classes
-
template<typename BaseFunctionSpace>class CubedSphereColumns
- Extend NodeColumns and CellColumns so that they can exploit CubedSphere structure.
Public types
- using Implementation = detail::NodeColumns
Public static functions
-
static auto type() -> std::
string
Constructors, destructors, conversion operators
- NodeColumns()
- NodeColumns(const FunctionSpace&)
- NodeColumns(Mesh mesh)
-
NodeColumns(Mesh mesh,
const eckit::
Configuration &) - operator bool() const
Public functions
- auto valid() const -> bool
-
auto nb_nodes() const -> idx_
t -
auto nb_nodes_global() const -> idx_
t - auto mesh() const -> const Mesh&
-
auto levels() const -> idx_
t -
auto nodes() const -> mesh::
Nodes & -
auto halo() const -> const mesh::
Halo & - void haloExchange(const FieldSet&, bool on_device = false) const
- void haloExchange(const Field&, bool on_device = false) const
-
auto halo_exchange() const -> const parallel::
HaloExchange & -
auto checksum(const FieldSet&) const -> std::
string -
auto checksum(const Field&) const -> std::
string -
auto checksum() const -> const parallel::
Checksum & -
template<typename Value>void sum(const Field&, Value& sum, idx_
t & N) const - Compute sum of scalar field.
-
void sumPerLevel(const Field&,
Field& sum,
idx_
t & N) const - Compute sum of field for each vertical level separately.
-
template<typename Value>void orderIndependentSum(const Field&, Value& sum, idx_
t & N) const - Compute order independent sum of scalar field.
-
void orderIndependentSumPerLevel(const Field&,
Field& sum,
idx_
t & N) const - Compute order independent sum of field for each vertical level separately.
-
template<typename Value>void minimum(const Field&, Value& minimum) const
- Compute minimum of scalar field.
-
template<typename Value>void maximum(const Field&, Value& maximum) const
- Compute maximum of scalar field.
- void minimumPerLevel(const Field&, Field& min) const
- Compute minimum of field for each vertical level separately.
- void maximumPerLevel(const Field&, Field& max) const
- Compute maximum of field for each vertical level separately.
-
template<typename Value>void minimumAndLocation(const Field&, Value& minimum, gidx_
t & glb_idx) const - Compute minimum of scalar field, as well as the global index and level.
-
template<typename Value>void maximumAndLocation(const Field&, Value& maximum, gidx_
t & glb_idx) const - Compute maximum of scalar field, as well as the global index and level.
-
template<typename Value>void minimumAndLocation(const Field&, Value& minimum, gidx_
t & glb_idx, idx_t & level) const - Compute minimum of scalar field, as well as the global index and level.
-
template<typename Value>void maximumAndLocation(const Field&, Value& maximum, gidx_
t & glb_idx, idx_t & level) const - Compute maximum of scalar field, as well as the global index and level.
-
template<typename Value>void minimumAndLocation(const Field&, std::
vector <Value>& minimum, std::vector <gidx_t >& glb_idx) const - Compute minimum of field for each field-variable, as well as the global indices and levels.
-
template<typename Value>void maximumAndLocation(const Field&, std::
vector <Value>& maximum, std::vector <gidx_t >& glb_idx) const - Compute maximum of field for each field-variable, as well as the global indices and levels.
-
template<typename Value>void minimumAndLocation(const Field&, std::
vector <Value>& minimum, std::vector <gidx_t >& glb_idx, std::vector <idx_t >& level) const - Compute minimum of field for each field-variable, as well as the global indices and levels.
-
template<typename Value>void maximumAndLocation(const Field&, std::
vector <Value>& maximum, std::vector <gidx_t >& glb_idx, std::vector <idx_t >& level) const - Compute maximum of field for each field-variable, as well as the global indices and levels.
- void minimumAndLocationPerLevel(const Field&, Field& column, Field& glb_idx) const
- Compute minimum and its location of a field for each vertical level separately.
- void maximumAndLocationPerLevel(const Field&, Field& column, Field& glb_idx) const
- Compute maximum and its location of a field for each vertical level separately.
-
template<typename Value>void mean(const Field&, Value& mean, idx_
t & N) const - Compute mean value of scalar field.
-
void meanPerLevel(const Field&,
Field& mean,
idx_
t & N) const - Compute mean values of field for vertical level separately.
-
template<typename Value>void meanAndStandardDeviation(const Field&, Value& mean, Value& stddev, idx_
t & N) const - Compute mean value and standard deviation of scalar field.
-
void meanAndStandardDeviationPerLevel(const Field&,
Field& mean,
Field& stddev,
idx_
t & N) const - Compute mean values and standard deviations of field for vertical level separately.
-
auto type() const -> std::
string - auto footprint() const -> size_t
-
auto distribution() const -> std::
string -
auto createField(const eckit::
Configuration &) const -> Field - auto createField(const Field&) const -> Field
-
auto createField(const Field&,
const eckit::
Configuration &) const -> Field -
template<typename DATATYPE>auto createField(const eckit::
Configuration &) const -> Field -
template<typename DATATYPE>auto createField() const -> Field
- void adjointHaloExchange(const FieldSet&, bool on_device = false) const
- void adjointHaloExchange(const Field&, bool on_device = false) const
- void gather(const FieldSet&, FieldSet&) const
- void gather(const Field&, Field&) const
-
auto gather() const -> const parallel::
GatherScatter & - void scatter(const FieldSet&, FieldSet&) const
- void scatter(const Field&, Field&) const
-
auto scatter() const -> const parallel::
GatherScatter & -
auto polygon(idx_
t halo = 0) const -> const util::PartitionPolygon & -
auto polygons() const -> const util::
PartitionPolygons & - auto projection() const -> const Projection&
-
auto part() const -> idx_
t -
auto nb_parts() const -> idx_
t -
auto size() const -> idx_
t - auto grid() const -> const Grid&
- auto lonlat() const -> Field
- auto ghost() const -> Field
- auto global_index() const -> Field
- auto remote_index() const -> Field
- auto partition() const -> Field
-
auto halo_description() const -> const functionspace::
HaloDescription & -
auto mpi_comm() const -> std::
string
Function documentation
void atlas::functionspace::NodeColumns:: sumPerLevel(const Field&,
Field& sum,
idx_t & N) const
Compute sum of field for each vertical level separately.
Parameters | |
---|---|
sum out | Field of dimension of input without the nodes index |
N out | Number of nodes used to sum each level |
template<typename Value>
void atlas::functionspace::NodeColumns:: orderIndependentSum(const Field&,
Value& sum,
idx_t & N) const
Compute order independent sum of scalar field.
Parameters | |
---|---|
sum out | Scalar value containing the sum of the full 3D field |
N out | Number of values that are contained in the sum (nodes*levels) |
void atlas::functionspace::NodeColumns:: orderIndependentSumPerLevel(const Field&,
Field& sum,
idx_t & N) const
Compute order independent sum of field for each vertical level separately.
Parameters | |
---|---|
sum out | Field of dimension of input without the nodes index |
N out | Number of nodes used to sum each level |
void atlas::functionspace::NodeColumns:: minimumPerLevel(const Field&,
Field& min) const
Compute minimum of field for each vertical level separately.
Parameters | |
---|---|
min out | Field of dimension of input without the nodes index |
void atlas::functionspace::NodeColumns:: maximumPerLevel(const Field&,
Field& max) const
Compute maximum of field for each vertical level separately.
Parameters | |
---|---|
max out | Field of dimension of input without the nodes index |
void atlas::functionspace::NodeColumns:: meanPerLevel(const Field&,
Field& mean,
idx_t & N) const
Compute mean values of field for vertical level separately.
Parameters | |
---|---|
mean out | Field of dimension of input without the nodes index |
N out | Number of values used to create the means |
template<typename Value>
void atlas::functionspace::NodeColumns:: meanAndStandardDeviation(const Field&,
Value& mean,
Value& stddev,
idx_t & N) const
Compute mean value and standard deviation of scalar field.
Parameters | |
---|---|
mean out | Mean value |
stddev out | Standard deviation |
N out | Number of value used to create the mean |
void atlas::functionspace::NodeColumns:: meanAndStandardDeviationPerLevel(const Field&,
Field& mean,
Field& stddev,
idx_t & N) const
Compute mean values and standard deviations of field for vertical level separately.
Parameters | |
---|---|
mean out | Field of dimension of input without the nodes index |
stddev out | Field of dimension of input without the nodes index |
N out | Number of values used to create the means |
std::string atlas::functionspace::NodeColumns:: type() const
size_t atlas::functionspace::NodeColumns:: footprint() const
std::string atlas::functionspace::NodeColumns:: distribution() const
Field atlas::functionspace::NodeColumns:: createField(const eckit::Configuration &) const
Field atlas::functionspace::NodeColumns:: createField(const Field&) const
Field atlas::functionspace::NodeColumns:: createField(const Field&,
const eckit::Configuration &) const
template<typename DATATYPE>
Field atlas::functionspace::NodeColumns:: createField(const eckit::Configuration &) const
template<typename DATATYPE>
Field atlas::functionspace::NodeColumns:: createField() const
void atlas::functionspace::NodeColumns:: adjointHaloExchange(const FieldSet&,
bool on_device = false) const
void atlas::functionspace::NodeColumns:: adjointHaloExchange(const Field&,
bool on_device = false) const
const parallel::GatherScatter & atlas::functionspace::NodeColumns:: gather() const
const parallel::GatherScatter & atlas::functionspace::NodeColumns:: scatter() const
const util::PartitionPolygon & atlas::functionspace::NodeColumns:: polygon(idx_t halo = 0) const
const util::PartitionPolygons & atlas::functionspace::NodeColumns:: polygons() const
const Projection& atlas::functionspace::NodeColumns:: projection() const
Field atlas::functionspace::NodeColumns:: global_index() const
Field atlas::functionspace::NodeColumns:: remote_index() const
const functionspace::HaloDescription & atlas::functionspace::NodeColumns:: halo_description() const
std::string atlas::functionspace::NodeColumns:: mpi_comm() const