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 |
void atlas:: trans:: TransIFS:: distspec(const int nb_fields,
const int origin[],
const double global_spectra[],
double spectra[]) const
distspec
Parameters | |
---|---|
nb_fields | |
origin | |
global_spectra | |
spectra |
void atlas:: trans:: TransIFS:: gathspec(const int nb_fields,
const int destination[],
const double spectra[],
double global_spectra[]) const
gathspec
Parameters | |
---|---|
nb_fields | |
destination | |
spectra | |
global_spectra |
void atlas:: trans:: TransIFS:: distgrid(const int nb_fields,
const int origin[],
const double global_fields[],
double fields[]) const
distgrid
Parameters | |
---|---|
nb_fields | |
origin | |
global_fields | |
fields |
void atlas:: trans:: TransIFS:: gathgrid(const int nb_fields,
const int destination[],
const double fields[],
double global_fields[]) const
gathgrid
Parameters | |
---|---|
nb_fields | |
destination | |
fields | |
global_fields |