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

Computes observation equivalent TL and AD to/from increments. More...

#include <ObserversTLAD.h>

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

Public Member Functions

 ObserversTLAD (const eckit::Configuration &, const ObsSpaces_ &, const ObsAuxCtrls_ &)
 
 ~ObserversTLAD ()
 
std::unique_ptr< GeneralizedDeparturesreleaseOutputFromTL () override
 Return TL dual space output. More...
 
void setupTL (const ObsAuxIncrs_ &)
 
void setupAD (std::shared_ptr< const Departures_ >, ObsAuxIncrs_ &)
 
- Public Member Functions inherited from oops::PostBaseTLAD< MODEL >
 PostBaseTLAD ()
 
 PostBaseTLAD (const util::DateTime &start, const util::DateTime &finish, const util::Duration &freq=util::Duration(0))
 
virtual ~PostBaseTLAD ()
 
void initializeTraj (const State_ &xx, const util::DateTime &end, const util::Duration &step)
 Set linearization state. More...
 
void processTraj (const State_ &xx)
 
void finalizeTraj (const State_ &xx)
 
void initializeTL (const Increment_ &dx, const util::DateTime &end, const util::Duration &step)
 Tangent linear methods. More...
 
void processTL (const Increment_ &dx)
 
void finalizeTL (const Increment_ &dx)
 
void initializeAD (Increment_ &dx, const util::DateTime &bgn, const util::Duration &step)
 Adjoint methods. More...
 
void processAD (Increment_ &dx)
 
void finalizeAD (Increment_ &dx)
 

Private Types

typedef Departures< OBS > Departures_
 
typedef GeoVaLs< OBS > GeoVaLs_
 
typedef Increment< MODEL > Increment_
 
typedef Observations< OBS > Observations_
 
typedef ObsAuxControls< OBS > ObsAuxCtrls_
 
typedef ObsAuxIncrements< OBS > ObsAuxIncrs_
 
typedef ObserverTLAD< MODEL, OBS > ObserverTLAD_
 
typedef ObsSpaces< OBS > ObsSpaces_
 
typedef State< MODEL > State_
 

Private Member Functions

void doInitializeTraj (const State_ &, const util::DateTime &, const util::Duration &) override
 
void doProcessingTraj (const State_ &) override
 
void doFinalizeTraj (const State_ &) override
 
void doInitializeTL (const Increment_ &, const util::DateTime &, const util::Duration &) override
 
void doProcessingTL (const Increment_ &) override
 
void doFinalizeTL (const Increment_ &) override
 
void doFirstAD (Increment_ &, const util::DateTime &, const util::Duration &) override
 
void doProcessingAD (Increment_ &) override
 
void doLastAD (Increment_ &) override
 

Private Attributes

std::vector< std::shared_ptr< ObserverTLAD_ > > observerstlad_
 
ObsSpaces_ obspace_
 
std::unique_ptr< Departures_ydeptl_
 
const ObsAuxIncrs_ybiastl_
 
std::shared_ptr< const Departures_ydepad_
 
ObsAuxIncrs_ybiasad_
 
util::DateTime winbgn_
 Begining of assimilation window. More...
 
util::DateTime winend_
 End of assimilation window. More...
 
util::Duration hslot_
 
util::Duration hslottraj_
 Half time slot. More...
 

Detailed Description

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

Computes observation equivalent TL and AD to/from increments.

Definition at line 38 of file ObserversTLAD.h.

Member Typedef Documentation

◆ Departures_

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

Definition at line 39 of file ObserversTLAD.h.

◆ GeoVaLs_

template<typename MODEL , typename OBS >
typedef GeoVaLs<OBS> oops::ObserversTLAD< MODEL, OBS >::GeoVaLs_
private

Definition at line 40 of file ObserversTLAD.h.

◆ Increment_

template<typename MODEL , typename OBS >
typedef Increment<MODEL> oops::ObserversTLAD< MODEL, OBS >::Increment_
private

Definition at line 41 of file ObserversTLAD.h.

◆ ObsAuxCtrls_

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

Definition at line 43 of file ObserversTLAD.h.

◆ ObsAuxIncrs_

template<typename MODEL , typename OBS >
typedef ObsAuxIncrements<OBS> oops::ObserversTLAD< MODEL, OBS >::ObsAuxIncrs_
private

Definition at line 44 of file ObserversTLAD.h.

◆ Observations_

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

Definition at line 42 of file ObserversTLAD.h.

◆ ObserverTLAD_

template<typename MODEL , typename OBS >
typedef ObserverTLAD<MODEL, OBS> oops::ObserversTLAD< MODEL, OBS >::ObserverTLAD_
private

Definition at line 45 of file ObserversTLAD.h.

◆ ObsSpaces_

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

Definition at line 46 of file ObserversTLAD.h.

◆ State_

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

Definition at line 47 of file ObserversTLAD.h.

Constructor & Destructor Documentation

◆ ObserversTLAD()

template<typename MODEL , typename OBS >
oops::ObserversTLAD< MODEL, OBS >::ObserversTLAD ( const eckit::Configuration &  config,
const ObsSpaces_ obsdb,
const ObsAuxCtrls_ ybias 
)

Definition at line 91 of file ObserversTLAD.h.

Here is the call graph for this function:

◆ ~ObserversTLAD()

template<typename MODEL , typename OBS >
oops::ObserversTLAD< MODEL, OBS >::~ObserversTLAD ( )
inline

Definition at line 52 of file ObserversTLAD.h.

Member Function Documentation

◆ doFinalizeTL()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doFinalizeTL ( const Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 183 of file ObserversTLAD.h.

◆ doFinalizeTraj()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doFinalizeTraj ( const State_ xx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 142 of file ObserversTLAD.h.

◆ doFirstAD()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doFirstAD ( Increment_ dx,
const util::DateTime &  bgn,
const util::Duration &  tstep 
)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 201 of file ObserversTLAD.h.

◆ doInitializeTL()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doInitializeTL ( const Increment_ dx,
const util::DateTime &  end,
const util::Duration &  tstep 
)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 159 of file ObserversTLAD.h.

◆ doInitializeTraj()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doInitializeTraj ( const State_ xx,
const util::DateTime &  end,
const util::Duration &  tstep 
)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 115 of file ObserversTLAD.h.

◆ doLastAD()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doLastAD ( Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 225 of file ObserversTLAD.h.

◆ doProcessingAD()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doProcessingAD ( Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 213 of file ObserversTLAD.h.

Here is the call graph for this function:

◆ doProcessingTL()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doProcessingTL ( const Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 171 of file ObserversTLAD.h.

Here is the call graph for this function:

◆ doProcessingTraj()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::doProcessingTraj ( const State_ xx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 130 of file ObserversTLAD.h.

Here is the call graph for this function:

◆ releaseOutputFromTL()

template<typename MODEL , typename OBS >
std::unique_ptr<GeneralizedDepartures> oops::ObserversTLAD< MODEL, OBS >::releaseOutputFromTL ( )
inlineoverridevirtual

Return TL dual space output.

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 54 of file ObserversTLAD.h.

◆ setupAD()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::setupAD ( std::shared_ptr< const Departures_ ydepad,
ObsAuxIncrs_ ybiasad 
)

Definition at line 192 of file ObserversTLAD.h.

◆ setupTL()

template<typename MODEL , typename OBS >
void oops::ObserversTLAD< MODEL, OBS >::setupTL ( const ObsAuxIncrs_ ybiastl)

Definition at line 151 of file ObserversTLAD.h.

Member Data Documentation

◆ hslot_

template<typename MODEL , typename OBS >
util::Duration oops::ObserversTLAD< MODEL, OBS >::hslot_
private

Definition at line 86 of file ObserversTLAD.h.

◆ hslottraj_

template<typename MODEL , typename OBS >
util::Duration oops::ObserversTLAD< MODEL, OBS >::hslottraj_
private

Half time slot.

Definition at line 86 of file ObserversTLAD.h.

◆ observerstlad_

template<typename MODEL , typename OBS >
std::vector<std::shared_ptr<ObserverTLAD_> > oops::ObserversTLAD< MODEL, OBS >::observerstlad_
private

Definition at line 75 of file ObserversTLAD.h.

◆ obspace_

template<typename MODEL , typename OBS >
ObsSpaces_ oops::ObserversTLAD< MODEL, OBS >::obspace_
private

Definition at line 78 of file ObserversTLAD.h.

◆ winbgn_

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

Begining of assimilation window.

Definition at line 84 of file ObserversTLAD.h.

◆ winend_

template<typename MODEL , typename OBS >
util::DateTime oops::ObserversTLAD< MODEL, OBS >::winend_
private

End of assimilation window.

Definition at line 85 of file ObserversTLAD.h.

◆ ybiasad_

template<typename MODEL , typename OBS >
ObsAuxIncrs_* oops::ObserversTLAD< MODEL, OBS >::ybiasad_
private

Definition at line 82 of file ObserversTLAD.h.

◆ ybiastl_

template<typename MODEL , typename OBS >
const ObsAuxIncrs_* oops::ObserversTLAD< MODEL, OBS >::ybiastl_
private

Definition at line 80 of file ObserversTLAD.h.

◆ ydepad_

template<typename MODEL , typename OBS >
std::shared_ptr<const Departures_> oops::ObserversTLAD< MODEL, OBS >::ydepad_
private

Definition at line 81 of file ObserversTLAD.h.

◆ ydeptl_

template<typename MODEL , typename OBS >
std::unique_ptr<Departures_> oops::ObserversTLAD< MODEL, OBS >::ydeptl_
private

Definition at line 79 of file ObserversTLAD.h.


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