FV3 Bundle
oops::ObserverTLAD< MODEL > Class Template Reference

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

#include <ObserverTLAD.h>

Inheritance diagram for oops::ObserverTLAD< MODEL >:
[legend]
Collaboration diagram for oops::ObserverTLAD< MODEL >:
[legend]

Public Member Functions

 ObserverTLAD (const ObsSpace_ &, const ObsOperators_ &, const ObsAuxCtrl_ &, const ObsFilters_ &, const util::Duration &tslot=util::Duration(0), const bool subwin=false)
 
 ~ObserverTLAD ()
 
Observations_release ()
 
Departures_releaseOutputFromTL () override
 Return TL dual space output. More...
 
void setupTL (const ObsAuxIncr_ &)
 
void setupAD (boost::shared_ptr< const Departures_ >, ObsAuxIncr_ &)
 
- 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< MODEL > Departures_
 
typedef GeoVaLs< MODEL > GeoVaLs_
 
typedef Increment< MODEL > Increment_
 
typedef InterpolatorTraj< MODEL > InterpolatorTraj_
 
typedef LinearObsOperators< MODEL > LinearObsOperators_
 
typedef Observations< MODEL > Observations_
 
typedef ObsAuxControl< MODEL > ObsAuxCtrl_
 
typedef ObsAuxIncrement< MODEL > ObsAuxIncr_
 
typedef ObsFilters< MODEL > ObsFilters_
 
typedef ObsOperators< MODEL > ObsOperators_
 
typedef ObsSpaces< MODEL > ObsSpace_
 
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

const ObsSpace_obspace_
 
LinearObsOperators_ hoptlad_
 
Observer< MODEL, State_observer_
 
std::auto_ptr< Departures_ydeptl_
 
const ObsAuxIncr_ybiastl_
 
boost::shared_ptr< const Departures_ydepad_
 
ObsAuxIncr_ybiasad_
 
util::DateTime winbgn_
 Begining of assimilation window. More...
 
util::DateTime winend_
 End of assimilation window. More...
 
util::DateTime bgn_
 Begining of currently active observations. More...
 
util::DateTime end_
 End of currently active observations. More...
 
util::Duration hslot_
 Half time slot. More...
 
const bool subwindows_
 
std::vector< std::vector< boost::shared_ptr< InterpolatorTraj_ > > > traj_
 
util::Duration bintstep
 
int nsteps
 
std::vector< boost::shared_ptr< GeoVaLs_ > > gvals_
 

Detailed Description

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

Computes observation equivalent TL and AD to/from increments.

Definition at line 41 of file ObserverTLAD.h.

Member Typedef Documentation

◆ Departures_

template<typename MODEL >
typedef Departures<MODEL> oops::ObserverTLAD< MODEL >::Departures_
private

Definition at line 42 of file ObserverTLAD.h.

◆ GeoVaLs_

template<typename MODEL >
typedef GeoVaLs<MODEL> oops::ObserverTLAD< MODEL >::GeoVaLs_
private

Definition at line 43 of file ObserverTLAD.h.

◆ Increment_

template<typename MODEL >
typedef Increment<MODEL> oops::ObserverTLAD< MODEL >::Increment_
private

Definition at line 44 of file ObserverTLAD.h.

◆ InterpolatorTraj_

template<typename MODEL >
typedef InterpolatorTraj<MODEL> oops::ObserverTLAD< MODEL >::InterpolatorTraj_
private

Definition at line 45 of file ObserverTLAD.h.

◆ LinearObsOperators_

template<typename MODEL >
typedef LinearObsOperators<MODEL> oops::ObserverTLAD< MODEL >::LinearObsOperators_
private

Definition at line 46 of file ObserverTLAD.h.

◆ ObsAuxCtrl_

template<typename MODEL >
typedef ObsAuxControl<MODEL> oops::ObserverTLAD< MODEL >::ObsAuxCtrl_
private

Definition at line 48 of file ObserverTLAD.h.

◆ ObsAuxIncr_

template<typename MODEL >
typedef ObsAuxIncrement<MODEL> oops::ObserverTLAD< MODEL >::ObsAuxIncr_
private

Definition at line 49 of file ObserverTLAD.h.

◆ Observations_

template<typename MODEL >
typedef Observations<MODEL> oops::ObserverTLAD< MODEL >::Observations_
private

Definition at line 47 of file ObserverTLAD.h.

◆ ObsFilters_

template<typename MODEL >
typedef ObsFilters<MODEL> oops::ObserverTLAD< MODEL >::ObsFilters_
private

Definition at line 50 of file ObserverTLAD.h.

◆ ObsOperators_

template<typename MODEL >
typedef ObsOperators<MODEL> oops::ObserverTLAD< MODEL >::ObsOperators_
private

Definition at line 51 of file ObserverTLAD.h.

◆ ObsSpace_

template<typename MODEL >
typedef ObsSpaces<MODEL> oops::ObserverTLAD< MODEL >::ObsSpace_
private

Definition at line 52 of file ObserverTLAD.h.

◆ State_

template<typename MODEL >
typedef State<MODEL> oops::ObserverTLAD< MODEL >::State_
private

Definition at line 53 of file ObserverTLAD.h.

Constructor & Destructor Documentation

◆ ObserverTLAD()

template<typename MODEL >
oops::ObserverTLAD< MODEL >::ObserverTLAD ( const ObsSpace_ obsdb,
const ObsOperators_ hop,
const ObsAuxCtrl_ ybias,
const ObsFilters_ filters,
const util::Duration &  tslot = util::Duration(0),
const bool  subwin = false 
)

Definition at line 108 of file ObserverTLAD.h.

◆ ~ObserverTLAD()

template<typename MODEL >
oops::ObserverTLAD< MODEL >::~ObserverTLAD ( )
inline

Definition at line 58 of file ObserverTLAD.h.

Member Function Documentation

◆ doFinalizeTL()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doFinalizeTL ( const Increment_ )
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 218 of file ObserverTLAD.h.

◆ doFinalizeTraj()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doFinalizeTraj ( const State_ xx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 158 of file ObserverTLAD.h.

◆ doFirstAD()

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

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 237 of file ObserverTLAD.h.

Here is the call graph for this function:

◆ doInitializeTL()

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

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 173 of file ObserverTLAD.h.

Here is the call graph for this function:

◆ doInitializeTraj()

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

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 124 of file ObserverTLAD.h.

◆ doLastAD()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doLastAD ( Increment_ )
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 283 of file ObserverTLAD.h.

◆ doProcessingAD()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doProcessingAD ( Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 264 of file ObserverTLAD.h.

Here is the call graph for this function:

◆ doProcessingTL()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doProcessingTL ( const Increment_ dx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 199 of file ObserverTLAD.h.

Here is the call graph for this function:

◆ doProcessingTraj()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::doProcessingTraj ( const State_ xx)
overrideprivatevirtual

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 145 of file ObserverTLAD.h.

Here is the call graph for this function:

◆ release()

template<typename MODEL >
Observations_* oops::ObserverTLAD< MODEL >::release ( )
inline

Definition at line 60 of file ObserverTLAD.h.

◆ releaseOutputFromTL()

template<typename MODEL >
Departures_* oops::ObserverTLAD< MODEL >::releaseOutputFromTL ( )
inlineoverridevirtual

Return TL dual space output.

Implements oops::PostBaseTLAD< MODEL >.

Definition at line 61 of file ObserverTLAD.h.

◆ setupAD()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::setupAD ( boost::shared_ptr< const Departures_ ydep,
ObsAuxIncr_ ybias 
)

Definition at line 228 of file ObserverTLAD.h.

◆ setupTL()

template<typename MODEL >
void oops::ObserverTLAD< MODEL >::setupTL ( const ObsAuxIncr_ ybias)

Definition at line 165 of file ObserverTLAD.h.

Member Data Documentation

◆ bgn_

template<typename MODEL >
util::DateTime oops::ObserverTLAD< MODEL >::bgn_
private

Begining of currently active observations.

Definition at line 94 of file ObserverTLAD.h.

◆ bintstep

template<typename MODEL >
util::Duration oops::ObserverTLAD< MODEL >::bintstep
private

Definition at line 100 of file ObserverTLAD.h.

◆ end_

template<typename MODEL >
util::DateTime oops::ObserverTLAD< MODEL >::end_
private

End of currently active observations.

Definition at line 95 of file ObserverTLAD.h.

◆ gvals_

template<typename MODEL >
std::vector<boost::shared_ptr<GeoVaLs_> > oops::ObserverTLAD< MODEL >::gvals_
private

Definition at line 103 of file ObserverTLAD.h.

◆ hoptlad_

template<typename MODEL >
LinearObsOperators_ oops::ObserverTLAD< MODEL >::hoptlad_
private

Definition at line 83 of file ObserverTLAD.h.

◆ hslot_

template<typename MODEL >
util::Duration oops::ObserverTLAD< MODEL >::hslot_
private

Half time slot.

Definition at line 96 of file ObserverTLAD.h.

◆ nsteps

template<typename MODEL >
int oops::ObserverTLAD< MODEL >::nsteps
private

Definition at line 101 of file ObserverTLAD.h.

◆ observer_

template<typename MODEL >
Observer<MODEL, State_> oops::ObserverTLAD< MODEL >::observer_
private

Definition at line 84 of file ObserverTLAD.h.

◆ obspace_

template<typename MODEL >
const ObsSpace_& oops::ObserverTLAD< MODEL >::obspace_
private

Definition at line 82 of file ObserverTLAD.h.

◆ subwindows_

template<typename MODEL >
const bool oops::ObserverTLAD< MODEL >::subwindows_
private

Definition at line 97 of file ObserverTLAD.h.

◆ traj_

template<typename MODEL >
std::vector<std::vector<boost::shared_ptr<InterpolatorTraj_> > > oops::ObserverTLAD< MODEL >::traj_
private

Definition at line 99 of file ObserverTLAD.h.

◆ winbgn_

template<typename MODEL >
util::DateTime oops::ObserverTLAD< MODEL >::winbgn_
private

Begining of assimilation window.

Definition at line 92 of file ObserverTLAD.h.

◆ winend_

template<typename MODEL >
util::DateTime oops::ObserverTLAD< MODEL >::winend_
private

End of assimilation window.

Definition at line 93 of file ObserverTLAD.h.

◆ ybiasad_

template<typename MODEL >
ObsAuxIncr_* oops::ObserverTLAD< MODEL >::ybiasad_
private

Definition at line 90 of file ObserverTLAD.h.

◆ ybiastl_

template<typename MODEL >
const ObsAuxIncr_* oops::ObserverTLAD< MODEL >::ybiastl_
private

Definition at line 88 of file ObserverTLAD.h.

◆ ydepad_

template<typename MODEL >
boost::shared_ptr<const Departures_> oops::ObserverTLAD< MODEL >::ydepad_
private

Definition at line 89 of file ObserverTLAD.h.

◆ ydeptl_

template<typename MODEL >
std::auto_ptr<Departures_> oops::ObserverTLAD< MODEL >::ydeptl_
private

Definition at line 87 of file ObserverTLAD.h.


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