atlas::interpolation::method::KNearestNeighboursBase class

Base classes

class atlas::interpolation::Method

Derived classes

class GridBoxMethod
class KNearestNeighbours
class NearestNeighbour

Public types

using Config = eckit::Parametrisation
using Metadata = util::Metadata

Constructors, destructors, conversion operators

KNearestNeighboursBase(const Config& config)
~KNearestNeighboursBase() override

Public functions

void setup(const FunctionSpace& source, const FunctionSpace& target)
Setup the interpolator relating two functionspaces.
void setup(const Grid& source, const Grid& target)
void setup(const FunctionSpace& source, const Field& target)
void setup(const FunctionSpace& source, const FieldSet& target)
void setup(const Grid& source, const Grid& target, const Cache&)
auto execute(const FieldSet& source, FieldSet& target) const -> Metadata
auto execute(const Field& source, Field& target) const -> Metadata
auto execute_adjoint(FieldSet& source, const FieldSet& target) const -> Metadata
execute_adjoint
auto execute_adjoint(Field& source, const Field& target) const -> Metadata
void print(std::ostream&) const pure virtual
auto source() const -> const FunctionSpace& pure virtual
auto target() const -> const FunctionSpace& pure virtual
auto createCache() const -> interpolation::Cache virtual

Typedef documentation

using atlas::interpolation::method::KNearestNeighboursBase::Config = eckit::Parametrisation

using atlas::interpolation::method::KNearestNeighboursBase::Metadata = util::Metadata

Function documentation

void atlas::interpolation::method::KNearestNeighboursBase::setup(const FunctionSpace& source, const FunctionSpace& target)

Setup the interpolator relating two functionspaces.

Parameters
source functionspace containing source elements
target functionspace containing target points

void atlas::interpolation::method::KNearestNeighboursBase::setup(const Grid& source, const Grid& target)

void atlas::interpolation::method::KNearestNeighboursBase::setup(const FunctionSpace& source, const Field& target)

void atlas::interpolation::method::KNearestNeighboursBase::setup(const FunctionSpace& source, const FieldSet& target)

void atlas::interpolation::method::KNearestNeighboursBase::setup(const Grid& source, const Grid& target, const Cache&)

Metadata atlas::interpolation::method::KNearestNeighboursBase::execute(const FieldSet& source, FieldSet& target) const

Metadata atlas::interpolation::method::KNearestNeighboursBase::execute(const Field& source, Field& target) const

Metadata atlas::interpolation::method::KNearestNeighboursBase::execute_adjoint(FieldSet& source, const FieldSet& target) const

execute_adjoint

Parameters
source - it is either a FieldSet or a Field
target - it is either a FieldSet or a Field Note that formally in an adjoint operation of this type we should be setting the values in the target to zero. This is not done for efficiency reasons and because in most cases it is not necessary.

Metadata atlas::interpolation::method::KNearestNeighboursBase::execute_adjoint(Field& source, const Field& target) const

void atlas::interpolation::method::KNearestNeighboursBase::print(std::ostream&) const pure virtual

const FunctionSpace& atlas::interpolation::method::KNearestNeighboursBase::source() const pure virtual

const FunctionSpace& atlas::interpolation::method::KNearestNeighboursBase::target() const pure virtual

interpolation::Cache atlas::interpolation::method::KNearestNeighboursBase::createCache() const virtual