OOPS
oops::LocalEnsembleSolver< MODEL, OBS > Class Template Referenceabstract

Base class for LETKF-type solvers. More...

#include <LocalEnsembleSolver.h>

Inheritance diagram for oops::LocalEnsembleSolver< MODEL, OBS >:
Collaboration diagram for oops::LocalEnsembleSolver< MODEL, OBS >:

Public Member Functions

 LocalEnsembleSolver (ObsSpaces_ &obspaces, const Geometry_ &geometry, const eckit::Configuration &config, size_t nens)
 initialize solver with obspaces, geometry, full config and nens ensemble size More...
 
virtual ~LocalEnsembleSolver ()=default
 
virtual Observations_ computeHofX (const StateEnsemble4D_ &xx, size_t iteration, bool readFromDisk)
 computes ensemble H(xx), returns mean H(xx), saves as hofx iteration More...
 
virtual void measurementUpdate (const IncrementEnsemble4D_ &bg, const GeometryIterator_ &i, IncrementEnsemble4D_ &an)=0
 update background ensemble bg to analysis ensemble an at a grid point location i More...
 
virtual void copyLocalIncrement (const IncrementEnsemble4D_ &bg, const GeometryIterator_ &i, IncrementEnsemble4D_ &an) const
 copy an[i] = bg i \a More...
 

Static Public Member Functions

static const std::string classname ()
 

Protected Attributes

const eckit::LocalConfiguration obsconf_
 
const ObsSpaces_obspaces_
 
CalcHofX_ hofx_
 
Departures_ omb_
 
DeparturesEnsemble_ Yb_
 

Private Types

typedef CalcHofX< MODEL, OBS > CalcHofX_
 
typedef Departures< OBS > Departures_
 
typedef DeparturesEnsemble< OBS > DeparturesEnsemble_
 
typedef Geometry< MODEL > Geometry_
 
typedef GeometryIterator< MODEL > GeometryIterator_
 
typedef IncrementEnsemble4D< MODEL > IncrementEnsemble4D_
 
typedef ObsEnsemble< OBS > ObsEnsemble_
 
typedef Observations< OBS > Observations_
 
typedef ObsSpaces< OBS > ObsSpaces_
 
typedef QCData< OBS > QCData_
 
typedef StateEnsemble4D< MODEL > StateEnsemble4D_
 

Detailed Description

template<typename MODEL, typename OBS>
class oops::LocalEnsembleSolver< MODEL, OBS >

Base class for LETKF-type solvers.

Definition at line 34 of file LocalEnsembleSolver.h.

Member Typedef Documentation

◆ CalcHofX_

template<typename MODEL , typename OBS >
typedef CalcHofX<MODEL, OBS> oops::LocalEnsembleSolver< MODEL, OBS >::CalcHofX_
private

Definition at line 35 of file LocalEnsembleSolver.h.

◆ Departures_

template<typename MODEL , typename OBS >
typedef Departures<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::Departures_
private

Definition at line 36 of file LocalEnsembleSolver.h.

◆ DeparturesEnsemble_

template<typename MODEL , typename OBS >
typedef DeparturesEnsemble<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::DeparturesEnsemble_
private

Definition at line 37 of file LocalEnsembleSolver.h.

◆ Geometry_

template<typename MODEL , typename OBS >
typedef Geometry<MODEL> oops::LocalEnsembleSolver< MODEL, OBS >::Geometry_
private

Definition at line 38 of file LocalEnsembleSolver.h.

◆ GeometryIterator_

template<typename MODEL , typename OBS >
typedef GeometryIterator<MODEL> oops::LocalEnsembleSolver< MODEL, OBS >::GeometryIterator_
private

Definition at line 39 of file LocalEnsembleSolver.h.

◆ IncrementEnsemble4D_

template<typename MODEL , typename OBS >
typedef IncrementEnsemble4D<MODEL> oops::LocalEnsembleSolver< MODEL, OBS >::IncrementEnsemble4D_
private

Definition at line 40 of file LocalEnsembleSolver.h.

◆ ObsEnsemble_

template<typename MODEL , typename OBS >
typedef ObsEnsemble<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::ObsEnsemble_
private

Definition at line 41 of file LocalEnsembleSolver.h.

◆ Observations_

template<typename MODEL , typename OBS >
typedef Observations<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::Observations_
private

Definition at line 42 of file LocalEnsembleSolver.h.

◆ ObsSpaces_

template<typename MODEL , typename OBS >
typedef ObsSpaces<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::ObsSpaces_
private

Definition at line 43 of file LocalEnsembleSolver.h.

◆ QCData_

template<typename MODEL , typename OBS >
typedef QCData<OBS> oops::LocalEnsembleSolver< MODEL, OBS >::QCData_
private

Definition at line 44 of file LocalEnsembleSolver.h.

◆ StateEnsemble4D_

template<typename MODEL , typename OBS >
typedef StateEnsemble4D<MODEL> oops::LocalEnsembleSolver< MODEL, OBS >::StateEnsemble4D_
private

Definition at line 45 of file LocalEnsembleSolver.h.

Constructor & Destructor Documentation

◆ LocalEnsembleSolver()

template<typename MODEL , typename OBS >
oops::LocalEnsembleSolver< MODEL, OBS >::LocalEnsembleSolver ( ObsSpaces_ obspaces,
const Geometry_ geometry,
const eckit::Configuration &  config,
size_t  nens 
)

initialize solver with obspaces, geometry, full config and nens ensemble size

Definition at line 78 of file LocalEnsembleSolver.h.

◆ ~LocalEnsembleSolver()

template<typename MODEL , typename OBS >
virtual oops::LocalEnsembleSolver< MODEL, OBS >::~LocalEnsembleSolver ( )
virtualdefault

Member Function Documentation

◆ classname()

template<typename MODEL , typename OBS >
static const std::string oops::LocalEnsembleSolver< MODEL, OBS >::classname ( )
inlinestatic

Definition at line 48 of file LocalEnsembleSolver.h.

◆ computeHofX()

template<typename MODEL , typename OBS >
Observations< OBS > oops::LocalEnsembleSolver< MODEL, OBS >::computeHofX ( const StateEnsemble4D_ xx,
size_t  iteration,
bool  readFromDisk 
)
virtual

computes ensemble H(xx), returns mean H(xx), saves as hofx iteration

Reimplemented in oops::GETKFSolver< MODEL, OBS >.

Definition at line 90 of file LocalEnsembleSolver.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ copyLocalIncrement()

template<typename MODEL , typename OBS >
void oops::LocalEnsembleSolver< MODEL, OBS >::copyLocalIncrement ( const IncrementEnsemble4D_ bg,
const GeometryIterator_ i,
IncrementEnsemble4D_ an 
) const
virtual

copy an[i] = bg i \a

Definition at line 146 of file LocalEnsembleSolver.h.

Here is the call graph for this function:

◆ measurementUpdate()

template<typename MODEL , typename OBS >
virtual void oops::LocalEnsembleSolver< MODEL, OBS >::measurementUpdate ( const IncrementEnsemble4D_ bg,
const GeometryIterator_ i,
IncrementEnsemble4D_ an 
)
pure virtual

update background ensemble bg to analysis ensemble an at a grid point location i

Implemented in oops::GETKFSolver< MODEL, OBS >, and oops::LETKFSolver< MODEL, OBS >.

Member Data Documentation

◆ hofx_

template<typename MODEL , typename OBS >
CalcHofX_ oops::LocalEnsembleSolver< MODEL, OBS >::hofx_
protected

Definition at line 70 of file LocalEnsembleSolver.h.

◆ obsconf_

template<typename MODEL , typename OBS >
const eckit::LocalConfiguration oops::LocalEnsembleSolver< MODEL, OBS >::obsconf_
protected

Definition at line 68 of file LocalEnsembleSolver.h.

◆ obspaces_

template<typename MODEL , typename OBS >
const ObsSpaces_& oops::LocalEnsembleSolver< MODEL, OBS >::obspaces_
protected

Definition at line 69 of file LocalEnsembleSolver.h.

◆ omb_

template<typename MODEL , typename OBS >
Departures_ oops::LocalEnsembleSolver< MODEL, OBS >::omb_
protected

Definition at line 71 of file LocalEnsembleSolver.h.

◆ Yb_

template<typename MODEL , typename OBS >
DeparturesEnsemble_ oops::LocalEnsembleSolver< MODEL, OBS >::Yb_
protected

Definition at line 72 of file LocalEnsembleSolver.h.


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