TransIFS class
          #include <atlas/trans/ifs/TransIFS.h>
        
        
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::
            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::
            invtrans
| Parameters | |
|---|---|
| nb_scalar_fields | |
| scalar_spectra | |
| gp_fields | |
              void atlas::
            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::
            invtrans_adj
| Parameters | |
|---|---|
| nb_scalar_fields | |
| gp_fields | |
| scalar_spectra | |
              void atlas::
            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::
            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 | |