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

Jc DFI Cost Function. More...

#include <CostJcDFI.h>

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

Public Member Functions

 CostJcDFI (const eckit::Configuration &, const Geometry_ &, const util::DateTime &, const util::Duration &, const util::Duration &tstep=util::Duration(0))
 Construct \( J_c\). More...
 
virtual ~CostJcDFI ()
 Destructor. More...
 
boost::shared_ptr< PostBase< State_ > > initialize (const CtrlVar_ &) const override
 Initialize before nonlinear model integration. More...
 
boost::shared_ptr< PostBaseTLAD< MODEL > > initializeTraj (const CtrlVar_ &, const Geometry_ &, const eckit::Configuration &) override
 
double finalize (const eckit::Configuration &) const override
 Finalize computation after nonlinear model integration. More...
 
void finalizeTraj () override
 
boost::shared_ptr< PostBaseTLAD_setupTL (const CtrlInc_ &) const override
 Initialize \( J_c\) before starting the TL run. More...
 
boost::shared_ptr< PostBaseTLAD_setupAD (boost::shared_ptr< const GeneralizedDepartures >, CtrlInc_ &) const override
 Initialize \( J_c\) before starting the AD run. More...
 
Increment_multiplyCovar (const GeneralizedDepartures &) const override
 Multiply by \( C\) and \( C^{-1}\). More...
 
Increment_multiplyCoInv (const GeneralizedDepartures &) const override
 
Increment_newDualVector () const override
 Provide new increment. More...
 
Increment_newGradientFG () const override
 Gradient of \( J_c\) at first guess. More...
 
void resetLinearization () override
 Reset trajectory. More...
 
- Public Member Functions inherited from oops::CostTermBase< MODEL >
virtual ~CostTermBase ()
 Destructor. More...
 

Private Types

typedef ControlIncrement< MODEL > CtrlInc_
 
typedef ControlVariable< MODEL > CtrlVar_
 
typedef Geometry< MODEL > Geometry_
 
typedef Increment< MODEL > Increment_
 
typedef PostBaseTLAD< MODEL > PostBaseTLAD_
 
typedef State< MODEL > State_
 

Private Attributes

const eckit::LocalConfiguration conf_
 
util::DateTime vt_
 
util::Duration span_
 
double alpha_
 
boost::scoped_ptr< WeightingFctwfct_
 
boost::scoped_ptr< Increment_gradFG_
 
const Geometry_ resol_
 
const util::Duration tstep_
 
boost::scoped_ptr< Geometry_tlres_
 
util::Duration tlstep_
 
boost::shared_ptr< WeightedDiff< MODEL, Increment_, State_ > > filter_
 
boost::shared_ptr< WeightedDiffTLAD< MODEL > > ftlad_
 

Detailed Description

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

Jc DFI Cost Function.

Digital filter based constraint term for the cost function.

Definition at line 45 of file CostJcDFI.h.

Member Typedef Documentation

◆ CtrlInc_

template<typename MODEL>
typedef ControlIncrement<MODEL> oops::CostJcDFI< MODEL >::CtrlInc_
private

Definition at line 46 of file CostJcDFI.h.

◆ CtrlVar_

template<typename MODEL>
typedef ControlVariable<MODEL> oops::CostJcDFI< MODEL >::CtrlVar_
private

Definition at line 47 of file CostJcDFI.h.

◆ Geometry_

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

Definition at line 48 of file CostJcDFI.h.

◆ Increment_

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

Definition at line 49 of file CostJcDFI.h.

◆ PostBaseTLAD_

template<typename MODEL>
typedef PostBaseTLAD<MODEL> oops::CostJcDFI< MODEL >::PostBaseTLAD_
private

Definition at line 50 of file CostJcDFI.h.

◆ State_

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

Definition at line 51 of file CostJcDFI.h.

Constructor & Destructor Documentation

◆ CostJcDFI()

template<typename MODEL >
oops::CostJcDFI< MODEL >::CostJcDFI ( const eckit::Configuration &  conf,
const Geometry_ resol,
const util::DateTime &  vt,
const util::Duration &  span,
const util::Duration &  tstep = util::Duration(0) 
)

Construct \( J_c\).

Definition at line 109 of file CostJcDFI.h.

◆ ~CostJcDFI()

template<typename MODEL>
virtual oops::CostJcDFI< MODEL >::~CostJcDFI ( )
inlinevirtual

Destructor.

Definition at line 59 of file CostJcDFI.h.

Member Function Documentation

◆ finalize()

template<typename MODEL >
double oops::CostJcDFI< MODEL >::finalize ( const eckit::Configuration &  ) const
overridevirtual

Finalize computation after nonlinear model integration.

Implements oops::CostTermBase< MODEL >.

Definition at line 137 of file CostJcDFI.h.

Here is the call graph for this function:

◆ finalizeTraj()

template<typename MODEL >
void oops::CostJcDFI< MODEL >::finalizeTraj ( )
overridevirtual

Implements oops::CostTermBase< MODEL >.

Definition at line 160 of file CostJcDFI.h.

◆ initialize()

template<typename MODEL >
boost::shared_ptr< PostBase< State< MODEL > > > oops::CostJcDFI< MODEL >::initialize ( const CtrlVar_ ) const
overridevirtual

Initialize before nonlinear model integration.

Implements oops::CostTermBase< MODEL >.

Definition at line 128 of file CostJcDFI.h.

◆ initializeTraj()

template<typename MODEL >
boost::shared_ptr< PostBaseTLAD< MODEL > > oops::CostJcDFI< MODEL >::initializeTraj ( const CtrlVar_ ,
const Geometry_ tlres,
const eckit::Configuration &  innerConf 
)
overridevirtual

Implements oops::CostTermBase< MODEL >.

Definition at line 149 of file CostJcDFI.h.

◆ multiplyCoInv()

template<typename MODEL >
Increment< MODEL > * oops::CostJcDFI< MODEL >::multiplyCoInv ( const GeneralizedDepartures dv1) const
overridevirtual

Implements oops::CostTermBase< MODEL >.

Definition at line 209 of file CostJcDFI.h.

◆ multiplyCovar()

template<typename MODEL >
Increment< MODEL > * oops::CostJcDFI< MODEL >::multiplyCovar ( const GeneralizedDepartures dv1) const
overridevirtual

Multiply by \( C\) and \( C^{-1}\).

Implements oops::CostTermBase< MODEL >.

Definition at line 198 of file CostJcDFI.h.

◆ newDualVector()

template<typename MODEL >
Increment< MODEL > * oops::CostJcDFI< MODEL >::newDualVector ( ) const
overridevirtual

Provide new increment.

Implements oops::CostTermBase< MODEL >.

Definition at line 168 of file CostJcDFI.h.

◆ newGradientFG()

template<typename MODEL>
Increment_* oops::CostJcDFI< MODEL >::newGradientFG ( ) const
inlineoverridevirtual

Gradient of \( J_c\) at first guess.

Implements oops::CostTermBase< MODEL >.

Definition at line 86 of file CostJcDFI.h.

◆ resetLinearization()

template<typename MODEL >
void oops::CostJcDFI< MODEL >::resetLinearization ( )
overridevirtual

Reset trajectory.

Implements oops::CostTermBase< MODEL >.

Definition at line 219 of file CostJcDFI.h.

◆ setupAD()

template<typename MODEL >
boost::shared_ptr< PostBaseTLAD< MODEL > > oops::CostJcDFI< MODEL >::setupAD ( boost::shared_ptr< const GeneralizedDepartures pv,
CtrlInc_  
) const
overridevirtual

Initialize \( J_c\) before starting the AD run.

Implements oops::CostTermBase< MODEL >.

Definition at line 187 of file CostJcDFI.h.

◆ setupTL()

template<typename MODEL >
boost::shared_ptr< PostBaseTLAD< MODEL > > oops::CostJcDFI< MODEL >::setupTL ( const CtrlInc_ ) const
overridevirtual

Initialize \( J_c\) before starting the TL run.

Implements oops::CostTermBase< MODEL >.

Definition at line 178 of file CostJcDFI.h.

Member Data Documentation

◆ alpha_

template<typename MODEL>
double oops::CostJcDFI< MODEL >::alpha_
private

Definition at line 95 of file CostJcDFI.h.

◆ conf_

template<typename MODEL>
const eckit::LocalConfiguration oops::CostJcDFI< MODEL >::conf_
private

Definition at line 92 of file CostJcDFI.h.

◆ filter_

template<typename MODEL>
boost::shared_ptr<WeightedDiff<MODEL, Increment_, State_> > oops::CostJcDFI< MODEL >::filter_
mutableprivate

Definition at line 102 of file CostJcDFI.h.

◆ ftlad_

template<typename MODEL>
boost::shared_ptr<WeightedDiffTLAD<MODEL> > oops::CostJcDFI< MODEL >::ftlad_
mutableprivate

Definition at line 103 of file CostJcDFI.h.

◆ gradFG_

template<typename MODEL>
boost::scoped_ptr<Increment_> oops::CostJcDFI< MODEL >::gradFG_
private

Definition at line 97 of file CostJcDFI.h.

◆ resol_

template<typename MODEL>
const Geometry_ oops::CostJcDFI< MODEL >::resol_
private

Definition at line 98 of file CostJcDFI.h.

◆ span_

template<typename MODEL>
util::Duration oops::CostJcDFI< MODEL >::span_
private

Definition at line 94 of file CostJcDFI.h.

◆ tlres_

template<typename MODEL>
boost::scoped_ptr<Geometry_> oops::CostJcDFI< MODEL >::tlres_
private

Definition at line 100 of file CostJcDFI.h.

◆ tlstep_

template<typename MODEL>
util::Duration oops::CostJcDFI< MODEL >::tlstep_
private

Definition at line 101 of file CostJcDFI.h.

◆ tstep_

template<typename MODEL>
const util::Duration oops::CostJcDFI< MODEL >::tstep_
private

Definition at line 99 of file CostJcDFI.h.

◆ vt_

template<typename MODEL>
util::DateTime oops::CostJcDFI< MODEL >::vt_
private

Definition at line 93 of file CostJcDFI.h.

◆ wfct_

template<typename MODEL>
boost::scoped_ptr<WeightingFct> oops::CostJcDFI< MODEL >::wfct_
private

Definition at line 96 of file CostJcDFI.h.


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