OOPS
oops::Geometry< MODEL > Class Template Reference

Geometry class used in oops; subclass of interface class interface::Geometry. More...

#include <Geometry.h>

Inheritance diagram for oops::Geometry< MODEL >:
Collaboration diagram for oops::Geometry< MODEL >:

Public Types

typedef interface::Geometry< MODEL >::Parameters_ Parameters_
 
- Public Types inherited from oops::interface::Geometry< MODEL >
typedef TParameters_IfAvailableElseFallbackType_t< Geometry_, GenericParameters > Parameters_
 

Public Member Functions

 Geometry (const Parameters_ &, const eckit::mpi::Comm &geometry, const eckit::mpi::Comm &time)
 
 Geometry (const eckit::Configuration &, const eckit::mpi::Comm &geometry, const eckit::mpi::Comm &time=oops::mpi::myself())
 
 Geometry (std::shared_ptr< const Geometry_ >)
 Constructor from pointer to the MODEL::Geometry (used in 1DVar filter) More...
 
const eckit::mpi::Comm & timeComm () const
 Accessor to the MPI communicator for distribution in time. More...
 
- Public Member Functions inherited from oops::interface::Geometry< MODEL >
 Geometry (const Parameters_ &, const eckit::mpi::Comm &)
 Constructors from yaml (and mpi communicator), implement one (using Parameters preferred) More...
 
 Geometry (const eckit::Configuration &, const eckit::mpi::Comm &)
 
 Geometry (std::shared_ptr< const Geometry_ >)
 Constructor from pointer to the MODEL::Geometry (used in 1DVar filter) More...
 
virtual ~Geometry ()
 Destructor (overridden for timer and log purposes) More...
 
GeometryIterator_ begin () const
 Iterator to the first gridpoint of Geometry (only used in LocalEnsembleDA) More...
 
GeometryIterator_ end () const
 Iterator to the past-the-end gridpoint of Geometry (only used in LocalEnsembleDA) More...
 
std::vector< double > verticalCoord (std::string &) const
 Values of vertical coordinate in units specified by string (only used in GETKF) More...
 
std::vector< size_t > variableSizes (const Variables &) const
 
const eckit::mpi::Comm & getComm () const
 Accessor to the geometry communicator. More...
 
atlas::FunctionSpace * atlasFunctionSpace () const
 
atlas::FieldSet * atlasFieldSet () const
 
const Geometry_geometry () const
 

Private Types

typedef MODEL::Geometry Geometry_
 

Private Attributes

const eckit::mpi::Comm * timeComm_
 

Additional Inherited Members

- Static Public Member Functions inherited from oops::interface::Geometry< MODEL >
static const std::string classname ()
 
- Protected Attributes inherited from oops::interface::Geometry< MODEL >
std::shared_ptr< const Geometry_geom_
 

Detailed Description

template<typename MODEL>
class oops::Geometry< MODEL >

Geometry class used in oops; subclass of interface class interface::Geometry.

Handles additional MPI communicator parameter in the constructors (for MPI distribution in time, used in oops for 4DEnVar and weak-constraint 4DVar). Adds extra methods that do not need to be implemented in the implementations:

  • timeComm() (accessor to the MPI communicator in time)

Definition at line 35 of file oops/base/Geometry.h.

Member Typedef Documentation

◆ Geometry_

template<typename MODEL >
typedef MODEL::Geometry oops::Geometry< MODEL >::Geometry_
private

Definition at line 36 of file oops/base/Geometry.h.

◆ Parameters_

template<typename MODEL >
typedef interface::Geometry<MODEL>::Parameters_ oops::Geometry< MODEL >::Parameters_

Definition at line 38 of file oops/base/Geometry.h.

Constructor & Destructor Documentation

◆ Geometry() [1/3]

template<typename MODEL >
oops::Geometry< MODEL >::Geometry ( const Parameters_ parameters,
const eckit::mpi::Comm &  geometry,
const eckit::mpi::Comm &  time 
)

Constructor from Parameters and mpi communicators: geometry for spatial distribution (handled by the implementation) and time for distribution in time (handled by oops)

Definition at line 69 of file oops/base/Geometry.h.

◆ Geometry() [2/3]

template<typename MODEL >
oops::Geometry< MODEL >::Geometry ( const eckit::Configuration &  config,
const eckit::mpi::Comm &  geometry,
const eckit::mpi::Comm &  time = oops::mpi::myself() 
)

Constructor from Configuration and mpi communicators: geometry for spatial distribution (handled by the implementation) and time for distribution in time (handled by oops)

Definition at line 61 of file oops/base/Geometry.h.

◆ Geometry() [3/3]

template<typename MODEL >
oops::Geometry< MODEL >::Geometry ( std::shared_ptr< const Geometry_ ptr)
explicit

Constructor from pointer to the MODEL::Geometry (used in 1DVar filter)

Definition at line 77 of file oops/base/Geometry.h.

Member Function Documentation

◆ timeComm()

template<typename MODEL >
const eckit::mpi::Comm& oops::Geometry< MODEL >::timeComm ( ) const
inline

Accessor to the MPI communicator for distribution in time.

Definition at line 52 of file oops/base/Geometry.h.

Here is the caller graph for this function:

Member Data Documentation

◆ timeComm_

template<typename MODEL >
const eckit::mpi::Comm* oops::Geometry< MODEL >::timeComm_
private

Definition at line 55 of file oops/base/Geometry.h.


The documentation for this class was generated from the following files: