atlas::trans::Trans class

Public static functions

static void listBackends(std::ostream&)
static auto hasBackend(const std::string&) -> bool
static void backend(const std::string&)
static auto backend() -> std::string
static void config(const eckit::Configuration&)
static auto config() -> const eckit::Configuration&

Constructors, destructors, conversion operators

Trans() defaulted
Trans(const FunctionSpace& gp, const FunctionSpace& sp, const eckit::Configuration& = util::NoConfig())
Trans(const Grid&, int truncation, const eckit::Configuration& = util::NoConfig())
Trans(const Grid&, const Domain&, int truncation, const eckit::Configuration& = util::NoConfig())
Trans(const Cache&, const FunctionSpace& gp, const FunctionSpace& sp, const eckit::Configuration& = util::NoConfig())
Trans(const Cache&, const Grid&, int truncation, const eckit::Configuration& = util::NoConfig())
Trans(const Cache&, const Grid&, const Domain&, int truncation, const eckit::Configuration& = util::NoConfig())

Public functions

void hash(eckit::Hash&) const
auto truncation() const -> int
auto spectralCoefficients() const -> size_t
auto grid() const -> const Grid&
auto spectral() const -> const functionspace::Spectral&
void dirtrans(const Field& gpfield, Field& spfield, const eckit::Configuration& = util::NoConfig()) const
void dirtrans(const FieldSet& gpfields, FieldSet& spfields, const eckit::Configuration& = util::NoConfig()) const
void dirtrans_wind2vordiv(const Field& gpwind, Field& spvor, Field& spdiv, const eckit::Configuration& = util::NoConfig()) const
void dirtrans_adj(const Field& spfield, Field& gpfield, const eckit::Configuration& = util::NoConfig()) const
void dirtrans_adj(const FieldSet& spfields, FieldSet& gpfields, const eckit::Configuration& = util::NoConfig()) const
void dirtrans_wind2vordiv_adj(const Field& spvor, const Field& spdiv, Field& gpwind, const eckit::Configuration& = util::NoConfig()) const
void invtrans(const Field& spfield, Field& gpfield, const eckit::Configuration& = util::NoConfig()) const
void invtrans(const FieldSet& spfields, FieldSet& gpfields, const eckit::Configuration& = util::NoConfig()) const
void invtrans_grad(const Field& spfield, Field& gradfield, const eckit::Configuration& = util::NoConfig()) const
void invtrans_grad(const FieldSet& spfields, FieldSet& gradfields, const eckit::Configuration& = util::NoConfig()) const
void invtrans_vordiv2wind(const Field& spvor, const Field& spdiv, Field& gpwind, const eckit::Configuration& = util::NoConfig()) const
void invtrans_adj(const Field& gpfield, Field& spfield, const eckit::Configuration& = util::NoConfig()) const
void invtrans_adj(const FieldSet& gpfields, FieldSet& spfields, const eckit::Configuration& = util::NoConfig()) const
void invtrans_grad_adj(const Field& gradfield, Field& spfield, const eckit::Configuration& = util::NoConfig()) const
void invtrans_grad_adj(const FieldSet& gradfields, FieldSet& spfields, const eckit::Configuration& = util::NoConfig()) const
void invtrans_vordiv2wind_adj(const Field& gpwind, Field& spvor, Field& spdiv, const eckit::Configuration& = util::NoConfig()) const
void invtrans(const int nb_scalar_fields, const double scalar_spectra[], const int nb_vordiv_fields, const double vorticity_spectra[], const double divergence_spectra[], double gp_fields[], const eckit::Configuration& = util::NoConfig()) const
invtrans
void invtrans(const int nb_scalar_fields, const double scalar_spectra[], double gp_fields[], const eckit::Configuration& = util::NoConfig()) const
invtrans
void invtrans(const int nb_vordiv_fields, const double vorticity_spectra[], const double divergence_spectra[], double gp_fields[], const eckit::Configuration& = util::NoConfig()) const
Inverse transform of vorticity/divergence to wind(U/V)
void invtrans_adj(const int nb_scalar_fields, const double gp_fields[], const int nb_vordiv_fields, double vorticity_spectra[], double divergence_spectra[], double scalar_spectra[], const eckit::Configuration& = util::NoConfig()) const
invtrans_adj
void invtrans_adj(const int nb_scalar_fields, const double gp_fields[], double scalar_spectra[], const eckit::Configuration& = util::NoConfig()) const
invtrans_adj
void invtrans_adj(const int nb_vordiv_fields, const double gp_fields[], double vorticity_spectra[], double divergence_spectra[], const eckit::Configuration& = util::NoConfig()) const
Adjoint of Inverse transform of vorticity/divergence to wind(U/V)
void dirtrans(const int nb_fields, const double scalar_fields[], double scalar_spectra[], const eckit::Configuration& = util::NoConfig()) const
Direct transform of scalar fields.
void dirtrans(const int nb_fields, const double wind_fields[], double vorticity_spectra[], double divergence_spectra[], const eckit::Configuration& = util::NoConfig()) const
Direct transform of wind(U/V) to vorticity/divergence.

Function documentation

void atlas::trans::Trans::invtrans(const int nb_scalar_fields, const double scalar_spectra[], const int nb_vordiv_fields, const double vorticity_spectra[], const double divergence_spectra[], double gp_fields[], const eckit::Configuration& = util::NoConfig()) const

invtrans

Parameters
nb_scalar_fields
scalar_spectra
nb_vordiv_fields
vorticity_spectra
divergence_spectra
gp_fields

void atlas::trans::Trans::invtrans(const int nb_scalar_fields, const double scalar_spectra[], double gp_fields[], const eckit::Configuration& = util::NoConfig()) const

invtrans

Parameters
nb_scalar_fields
scalar_spectra
gp_fields

void atlas::trans::Trans::invtrans_adj(const int nb_scalar_fields, const double gp_fields[], const int nb_vordiv_fields, double vorticity_spectra[], double divergence_spectra[], double scalar_spectra[], const eckit::Configuration& = util::NoConfig()) const

invtrans_adj

Parameters
nb_scalar_fields
gp_fields
nb_vordiv_fields
vorticity_spectra
divergence_spectra
scalar_spectra

void atlas::trans::Trans::invtrans_adj(const int nb_scalar_fields, const double gp_fields[], double scalar_spectra[], const eckit::Configuration& = util::NoConfig()) const

invtrans_adj

Parameters
nb_scalar_fields
gp_fields
scalar_spectra

void atlas::trans::Trans::dirtrans(const int nb_fields, const double wind_fields[], double vorticity_spectra[], double divergence_spectra[], const eckit::Configuration& = util::NoConfig()) const

Direct transform of wind(U/V) to vorticity/divergence.

Parameters
nb_fields [in] Number of fields ( both components of wind count as 1 )
wind_fields
vorticity_spectra
divergence_spectra