atlas::interpolation::method::QuasiCubicHorizontalKernel class

Public types

struct Weights
struct WorkSpace
using Stencil = grid::HorizontalStencil<4>

Public static functions

static auto className() -> std::string
static auto stencil_width() -> idx_t constexpr
static auto stencil_size() -> idx_t constexpr
static auto stencil_halo() -> idx_t constexpr

Constructors, destructors, conversion operators

QuasiCubicHorizontalKernel() defaulted
QuasiCubicHorizontalKernel(const functionspace::StructuredColumns& fs, const util::Config& config = util::NoConfig())

Public functions

template<typename stencil_t>
void compute_stencil(const double x, const double y, stencil_t& stencil) const
template<typename stencil_t>
void make_valid_stencil(double& x, double y, stencil_t& stencil, bool retry = true) const
template<typename weights_t>
void compute_weights(double x, double y, weights_t& weights) const
template<typename stencil_t, typename weights_t>
void compute_weights(const double x, const double y, const stencil_t& stencil, weights_t& weights) const
template<typename stencil_t, typename weights_t, typename array_t>
auto interpolate(const stencil_t& stencil, const weights_t& weights, const array_t& input) const -> array_t::value_type
template<typename stencil_t, typename weights_t, typename Value, int Rank>
auto interpolate(const stencil_t& stencil, const weights_t& weights, const array::ArrayView<const Value, Rank>& input, array::ArrayView<Value, Rank>& output, idx_t r) const -> std::enable_if<(Rank==1), void>::type
template<typename stencil_t, typename weights_t, typename Value, int Rank>
auto interpolate(const stencil_t& stencil, const weights_t& weights, const array::ArrayView<const Value, Rank>& input, array::ArrayView<Value, Rank>& output, idx_t r) const -> std::enable_if<(Rank==2), void>::type
template<typename stencil_t, typename weights_t, typename Value, int Rank>
auto interpolate(const stencil_t& stencil, const weights_t& weights, const array::ArrayView<const Value, Rank>& input, array::ArrayView<Value, Rank>& output, idx_t r) const -> std::enable_if<(Rank==3), void>::type
template<typename array_t>
auto operator()(double x, double y, const array_t& input) const -> array_t::value_type
template<typename array_t>
auto interpolate(PointXY p, const array_t& input, WorkSpace& ws) const -> array_t::value_type
auto compute_triplets(const idx_t row, const double x, const double y, WorkSpace& ws) const -> Triplets
auto reserve_triplets(size_t N) -> Triplets
auto allocate_triplets(size_t N) -> Triplets
void insert_triplets(const idx_t row, const PointXY& p, Triplets& triplets, WorkSpace& ws) const
void insert_triplets(const idx_t row, double x, double y, Triplets& triplets, WorkSpace& ws) const
This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.