class
#include <atlas/trans/local/TransLocal.h>
TransLocal Local spherical harmonics transformations to any grid Optimisations are present for structured grids For global grids, please consider using TransIFS instead.
Constructors, destructors, conversion operators
-
TransLocal(const Grid&,
const long truncation,
const eckit::
Configuration& = util:: NoConfig()) -
TransLocal(const Grid&,
const Domain&,
const long truncation,
const eckit::
Configuration& = util:: NoConfig()) -
TransLocal(const Cache&,
const Grid&,
const long truncation,
const eckit::
Configuration& = util:: NoConfig()) -
TransLocal(const Cache&,
const Grid&,
const Domain&,
const long truncation,
const eckit::
Configuration& = util:: NoConfig()) - ~TransLocal() override
Public functions
- auto truncation() const -> int override
- auto nb_spectral_coefficients() const -> size_t override
- auto nb_spectral_coefficients_global() const -> size_t override
- auto grid() const -> const Grid& override
-
auto spectral() const -> const functionspace::
Spectral& override -
void invtrans(const Field& spfield,
Field& gpfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans(const FieldSet& spfields,
FieldSet& gpfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_grad(const Field& spfield,
Field& gradfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_grad(const FieldSet& spfields,
FieldSet& gradfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_vordiv2wind(const Field& spvor,
const Field& spdiv,
Field& gpwind,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_adj(const Field& gpfield,
Field& spfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_adj(const FieldSet& gpfields,
FieldSet& spfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_grad_adj(const Field& gradfield,
Field& spfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_grad_adj(const FieldSet& spfields,
FieldSet& gradfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_vordiv2wind_adj(const Field& gpwind,
Field& spvor,
Field& spdiv,
const eckit::
Configuration& = util:: NoConfig()) const override -
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 override -
void invtrans(const int nb_scalar_fields,
const double scalar_spectra[],
double gp_fields[],
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans(const int nb_vordiv_fields,
const double vorticity_spectra[],
const double divergence_spectra[],
double gp_fields[],
const eckit::
Configuration& = util:: NoConfig()) const override -
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 override -
void invtrans_adj(const int nb_scalar_fields,
const double gp_fields[],
double scalar_spectra[],
const eckit::
Configuration& = util:: NoConfig()) const override -
void invtrans_adj(const int nb_vordiv_fields,
const double gp_fields[],
double vorticity_spectra[],
double divergence_spectra[],
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans(const Field& gpfield,
Field& spfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans(const FieldSet& gpfields,
FieldSet& spfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans_wind2vordiv(const Field& gpwind,
Field& spvor,
Field& spdiv,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans_adj(const Field& spfield,
Field& gpfield,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans_adj(const FieldSet& spfields,
FieldSet& gpfields,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans_wind2vordiv_adj(const Field& spvor,
const Field& spdiv,
Field& gpwind,
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans(const int nb_fields,
const double scalar_fields[],
double scalar_spectra[],
const eckit::
Configuration& = util:: NoConfig()) const override -
void dirtrans(const int nb_fields,
const double wind_fields[],
double vorticity_spectra[],
double divergence_spectra[],
const eckit::
Configuration& = util:: NoConfig()) const override