class
#include <atlas/trans/ifs/TransIFS.h>
TransIFS
Derived classes
- class TransIFSNodeColumns
- class TransIFSStructuredColumns
Constructors, destructors, conversion operators
-
TransIFS(const Grid&,
const long truncation,
const eckit::
Configuration & = util::NoConfig ()) -
TransIFS(const Grid&,
const Domain&,
const long truncation,
const eckit::
Configuration & = util::NoConfig ()) -
TransIFS(const Cache&,
const Grid&,
const long truncation,
const eckit::
Configuration & = util::NoConfig ()) -
TransIFS(const Cache&,
const Grid&,
const Domain&,
const long truncation,
const eckit::
Configuration & = util::NoConfig ()) - ~TransIFS() override
- operator::Trans_t*() const
Public functions
- auto trans() const -> ::Trans_t*
- 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 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 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 - invtrans
-
void invtrans(const int nb_scalar_fields,
const double scalar_spectra[],
double gp_fields[],
const eckit::
Configuration & = util::NoConfig ()) const override - 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 override - 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 override - invtrans_adj
-
void invtrans_adj(const int nb_scalar_fields,
const double gp_fields[],
double scalar_spectra[],
const eckit::
Configuration & = util::NoConfig ()) const override - 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 override - invtrans_adj
-
void dirtrans(const int nb_fields,
const double scalar_fields[],
double scalar_spectra[],
const eckit::
Configuration & = util::NoConfig ()) const override - 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 override - Direct transform of wind(U/V) to vorticity/divergence.
-
void __dirtrans(const functionspace::
StructuredColumns &, const Field& gpfield, const functionspace::Spectral &, Field& spfield, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans(const functionspace::
NodeColumns &, const Field& gpfield, const functionspace::Spectral &, Field& spfield, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans(const functionspace::
StructuredColumns &, const FieldSet& gpfields, const functionspace::Spectral &, FieldSet& spfields, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans(const functionspace::
NodeColumns &, const FieldSet& gpfields, const functionspace::Spectral &, FieldSet& spfields, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_wind2vordiv(const functionspace::
StructuredColumns &, const Field& gpwind, const functionspace::Spectral &, Field& spvor, Field& spdiv, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_wind2vordiv(const functionspace::
NodeColumns &, const Field& gpwind, const functionspace::Spectral &, Field& spvor, Field& spdiv, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_adj(const functionspace::
Spectral &, const Field& spfield, const functionspace::StructuredColumns &, Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_adj(const functionspace::
Spectral &, const Field& spfield, const functionspace::NodeColumns &, Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_adj(const functionspace::
Spectral &, const FieldSet& spfields, const functionspace::StructuredColumns &, FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_adj(const functionspace::
Spectral &, const FieldSet& spfields, const functionspace::NodeColumns &, FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_wind2vordiv_adj(const functionspace::
Spectral &, const Field& spvor, const Field& spdiv, const functionspace::StructuredColumns &, Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const -
void __dirtrans_wind2vordiv_adj(const functionspace::
Spectral &, const Field& spvor, const Field& spdiv, const functionspace::NodeColumns &, Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans(const functionspace::
Spectral &, const Field& spfield, const functionspace::StructuredColumns &, Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans(const functionspace::
Spectral &, const Field& spfield, const functionspace::NodeColumns &, Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans(const functionspace::
Spectral &, const FieldSet& spfields, const functionspace::StructuredColumns &, FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans(const functionspace::
Spectral &, const FieldSet& spfields, const functionspace::NodeColumns &, FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad(const functionspace::
Spectral & sp, const Field& spfield, const functionspace::StructuredColumns & gp, Field& gradfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad(const functionspace::
Spectral & sp, const Field& spfield, const functionspace::NodeColumns & gp, Field& gradfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad(const functionspace::
Spectral & sp, const FieldSet& spfields, const functionspace::StructuredColumns & gp, FieldSet& gradfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad(const functionspace::
Spectral & sp, const FieldSet& spfields, const functionspace::NodeColumns & gp, FieldSet& gradfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_vordiv2wind(const functionspace::
Spectral &, const Field& spvor, const Field& spdiv, const functionspace::StructuredColumns &, Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_vordiv2wind(const functionspace::
Spectral &, const Field& spvor, const Field& spdiv, const functionspace::NodeColumns &, Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_adj(const functionspace::
Spectral &, Field& spfield, const functionspace::StructuredColumns &, const Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_adj(const functionspace::
Spectral &, Field& spfield, const functionspace::NodeColumns &, const Field& gpfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_adj(const functionspace::
Spectral &, FieldSet& spfields, const functionspace::StructuredColumns &, const FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_adj(const functionspace::
Spectral &, FieldSet& spfields, const functionspace::NodeColumns &, const FieldSet& gpfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad_adj(const functionspace::
Spectral & sp, Field& spfield, const functionspace::StructuredColumns & gp, const Field& gradfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad_adj(const functionspace::
Spectral & sp, Field& spfield, const functionspace::NodeColumns & gp, const Field& gradfield, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad_adj(const functionspace::
Spectral & sp, FieldSet& spfields, const functionspace::StructuredColumns & gp, const FieldSet& gradfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_grad_adj(const functionspace::
Spectral & sp, FieldSet& spfields, const functionspace::NodeColumns & gp, const FieldSet& gradfields, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_vordiv2wind_adj(const functionspace::
Spectral &, Field& spvor, Field& spdiv, const functionspace::StructuredColumns &, const Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const -
void __invtrans_vordiv2wind_adj(const functionspace::
Spectral &, Field& spvor, Field& spdiv, const functionspace::NodeColumns &, const Field& gpwind, const eckit::Configuration & = util::NoConfig ()) const - void specnorm(const int nb_fields, const double spectra[], double norms[], int rank = 0) const
- void distspec(const int nb_fields, const int origin[], const double global_spectra[], double spectra[]) const
- distspec
- void gathspec(const int nb_fields, const int destination[], const double spectra[], double global_spectra[]) const
- gathspec
- void distgrid(const int nb_fields, const int origin[], const double global_fields[], double fields[]) const
- distgrid
- void gathgrid(const int nb_fields, const int destination[], const double fields[], double global_fields[]) const
- gathgrid
Private functions
- auto handle() const -> int override
Function documentation
void atlas::trans::TransIFS:: 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
invtrans
Parameters | |
---|---|
nb_scalar_fields | |
scalar_spectra | [NSPEC2][nb_scalar_fields] |
nb_vordiv_fields | |
vorticity_spectra | [NSPEC2][nb_vordiv_fields] |
divergence_spectra | [NSPEC2][nb_vordiv_fields] |
gp_fields | Ordering: [NGPBLKS][NFLD][NPROMA] if distributed, [NFLD][NGPTOTG] if global ( add option::global() ) |
void atlas::trans::TransIFS:: invtrans(const int nb_scalar_fields,
const double scalar_spectra[],
double gp_fields[],
const eckit::Configuration & = util::NoConfig ()) const override
invtrans
Parameters | |
---|---|
nb_scalar_fields | |
scalar_spectra | |
gp_fields |
void atlas::trans::TransIFS:: 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
invtrans_adj
Parameters | |
---|---|
nb_scalar_fields | |
gp_fields | Ordering: [NGPBLKS][NFLD][NPROMA] if distributed, [NFLD][NGPTOTG] if global ( add option::global() ) |
nb_vordiv_fields | |
vorticity_spectra | [NSPEC2][nb_vordiv_fields] |
divergence_spectra | [NSPEC2][nb_vordiv_fields] |
scalar_spectra | [NSPEC2][nb_scalar_fields] |
void atlas::trans::TransIFS:: invtrans_adj(const int nb_scalar_fields,
const double gp_fields[],
double scalar_spectra[],
const eckit::Configuration & = util::NoConfig ()) const override
invtrans_adj
Parameters | |
---|---|
nb_scalar_fields | |
gp_fields | |
scalar_spectra |
void atlas::trans::TransIFS:: invtrans_adj(const int nb_vordiv_fields,
const double gp_fields[],
double vorticity_spectra[],
double divergence_spectra[],
const eckit::Configuration & = util::NoConfig ()) const override
invtrans_adj
Parameters | |
---|---|
nb_vordiv_fields | |
gp_fields | Ordering: [NGPBLKS][NFLD][NPROMA] if distributed, [NFLD][NGPTOTG] if global ( add option::global() ) |
vorticity_spectra | [NSPEC2][nb_vordiv_fields] |
divergence_spectra | [NSPEC2][nb_vordiv_fields] |
void atlas::trans::TransIFS:: dirtrans(const int nb_fields,
const double wind_fields[],
double vorticity_spectra[],
double divergence_spectra[],
const eckit::Configuration & = util::NoConfig ()) const override
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 |