OOPS
oops::CalcHofX< MODEL, OBS > Class Template Reference

Computes observation operator (while running model, or with State4D) More...

#include <CalcHofX.h>

Collaboration diagram for oops::CalcHofX< MODEL, OBS >:

Public Member Functions

 CalcHofX (const ObsSpaces_ &, const Geometry_ &, const eckit::Configuration &)
 Initializes Observers. More...
 
const Observations_compute (const Model_ &, State_ &, PostProcessor_ &, const util::Duration &)
 Computes 4D H(x) (running the model) More...
 
const Observations_compute (const State4D_ &)
 Computes 4D H(x) (using State4D) More...
 
void saveQcFlags (const std::string &) const
 saves QC flags to ObsSpaces More...
 
void saveObsErrors (const std::string &) const
 saves obs error variances (modified in QC) to ObsSpaces More...
 
void maskObsErrors (const QCData_ &)
 Mask out the obs errors where the passed in qc flags are > 0. More...
 
std::shared_ptr< QCData_qc () const
 

Private Types

typedef Geometry< MODEL > Geometry_
 
typedef Model< MODEL > Model_
 
typedef ModelAuxControl< MODEL > ModelAux_
 
typedef ObsAuxControls< OBS > ObsAuxCtrls_
 
typedef Observations< OBS > Observations_
 
typedef ObsSpaces< OBS > ObsSpaces_
 
typedef State< MODEL > State_
 
typedef State4D< MODEL > State4D_
 
typedef PostProcessor< State_PostProcessor_
 
typedef QCData< OBS > QCData_
 
template<typename DATA >
using ObsData_ = ObsDataVector< OBS, DATA >
 

Private Member Functions

void initObserver ()
 helper method to initialize qc flags and observer More...
 

Private Attributes

const eckit::LocalConfiguration obsconf_
 
const ObsSpaces_obspaces_
 
ObsAuxCtrls_ ybias_
 
const Geometry_geometry_
 
ModelAux_ moderr_
 
const util::DateTime winbgn_
 
const util::Duration winlen_
 
std::shared_ptr< QCData_qc_
 
std::shared_ptr< Observers< MODEL, OBS > > pobs_
 

Detailed Description

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

Computes observation operator (while running model, or with State4D)

Definition at line 38 of file CalcHofX.h.

Member Typedef Documentation

◆ Geometry_

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

Definition at line 39 of file CalcHofX.h.

◆ Model_

template<typename MODEL , typename OBS >
typedef Model<MODEL> oops::CalcHofX< MODEL, OBS >::Model_
private

Definition at line 40 of file CalcHofX.h.

◆ ModelAux_

template<typename MODEL , typename OBS >
typedef ModelAuxControl<MODEL> oops::CalcHofX< MODEL, OBS >::ModelAux_
private

Definition at line 41 of file CalcHofX.h.

◆ ObsAuxCtrls_

template<typename MODEL , typename OBS >
typedef ObsAuxControls<OBS> oops::CalcHofX< MODEL, OBS >::ObsAuxCtrls_
private

Definition at line 42 of file CalcHofX.h.

◆ ObsData_

template<typename MODEL , typename OBS >
template<typename DATA >
using oops::CalcHofX< MODEL, OBS >::ObsData_ = ObsDataVector<OBS, DATA>
private

Definition at line 49 of file CalcHofX.h.

◆ Observations_

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

Definition at line 43 of file CalcHofX.h.

◆ ObsSpaces_

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

Definition at line 44 of file CalcHofX.h.

◆ PostProcessor_

template<typename MODEL , typename OBS >
typedef PostProcessor<State_> oops::CalcHofX< MODEL, OBS >::PostProcessor_
private

Definition at line 47 of file CalcHofX.h.

◆ QCData_

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

Definition at line 48 of file CalcHofX.h.

◆ State4D_

template<typename MODEL , typename OBS >
typedef State4D<MODEL> oops::CalcHofX< MODEL, OBS >::State4D_
private

Definition at line 46 of file CalcHofX.h.

◆ State_

template<typename MODEL , typename OBS >
typedef State<MODEL> oops::CalcHofX< MODEL, OBS >::State_
private

Definition at line 45 of file CalcHofX.h.

Constructor & Destructor Documentation

◆ CalcHofX()

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

Initializes Observers.

Definition at line 87 of file CalcHofX.h.

Member Function Documentation

◆ compute() [1/2]

template<typename MODEL , typename OBS >
const Observations< OBS > & oops::CalcHofX< MODEL, OBS >::compute ( const Model_ model,
State_ xx,
PostProcessor_ post,
const util::Duration &  length 
)

Computes 4D H(x) (running the model)

Definition at line 105 of file CalcHofX.h.

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

◆ compute() [2/2]

template<typename MODEL , typename OBS >
const Observations< OBS > & oops::CalcHofX< MODEL, OBS >::compute ( const State4D_ xx)

Computes 4D H(x) (using State4D)

Definition at line 121 of file CalcHofX.h.

Here is the call graph for this function:

◆ initObserver()

template<typename MODEL , typename OBS >
void oops::CalcHofX< MODEL, OBS >::initObserver
private

helper method to initialize qc flags and observer

Definition at line 96 of file CalcHofX.h.

◆ maskObsErrors()

template<typename MODEL , typename OBS >
void oops::CalcHofX< MODEL, OBS >::maskObsErrors ( const QCData_ qcMask)

Mask out the obs errors where the passed in qc flags are > 0.

Definition at line 172 of file CalcHofX.h.

Here is the call graph for this function:

◆ qc()

template<typename MODEL , typename OBS >
std::shared_ptr<QCData_> oops::CalcHofX< MODEL, OBS >::qc ( ) const
inline

Definition at line 67 of file CalcHofX.h.

◆ saveObsErrors()

template<typename MODEL , typename OBS >
void oops::CalcHofX< MODEL, OBS >::saveObsErrors ( const std::string &  name) const

saves obs error variances (modified in QC) to ObsSpaces

Definition at line 163 of file CalcHofX.h.

Here is the caller graph for this function:

◆ saveQcFlags()

template<typename MODEL , typename OBS >
void oops::CalcHofX< MODEL, OBS >::saveQcFlags ( const std::string &  name) const

saves QC flags to ObsSpaces

Definition at line 154 of file CalcHofX.h.

Here is the caller graph for this function:

Member Data Documentation

◆ geometry_

template<typename MODEL , typename OBS >
const Geometry_& oops::CalcHofX< MODEL, OBS >::geometry_
private

Definition at line 76 of file CalcHofX.h.

◆ moderr_

template<typename MODEL , typename OBS >
ModelAux_ oops::CalcHofX< MODEL, OBS >::moderr_
private

Definition at line 77 of file CalcHofX.h.

◆ obsconf_

template<typename MODEL , typename OBS >
const eckit::LocalConfiguration oops::CalcHofX< MODEL, OBS >::obsconf_
private

Definition at line 73 of file CalcHofX.h.

◆ obspaces_

template<typename MODEL , typename OBS >
const ObsSpaces_& oops::CalcHofX< MODEL, OBS >::obspaces_
private

Definition at line 74 of file CalcHofX.h.

◆ pobs_

template<typename MODEL , typename OBS >
std::shared_ptr<Observers<MODEL, OBS> > oops::CalcHofX< MODEL, OBS >::pobs_
private

Definition at line 81 of file CalcHofX.h.

◆ qc_

template<typename MODEL , typename OBS >
std::shared_ptr<QCData_> oops::CalcHofX< MODEL, OBS >::qc_
private

Definition at line 80 of file CalcHofX.h.

◆ winbgn_

template<typename MODEL , typename OBS >
const util::DateTime oops::CalcHofX< MODEL, OBS >::winbgn_
private

Definition at line 78 of file CalcHofX.h.

◆ winlen_

template<typename MODEL , typename OBS >
const util::Duration oops::CalcHofX< MODEL, OBS >::winlen_
private

Definition at line 79 of file CalcHofX.h.

◆ ybias_

template<typename MODEL , typename OBS >
ObsAuxCtrls_ oops::CalcHofX< MODEL, OBS >::ybias_
private

Definition at line 75 of file CalcHofX.h.


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