OOPS
|
Jo Cost Function. More...
#include <CostJo.h>
Public Member Functions | |
CostJo (const eckit::Configuration &, const eckit::mpi::Comm &, const util::DateTime &, const util::DateTime &, const eckit::mpi::Comm &ctime=oops::mpi::myself()) | |
Construct \( J_o\) from \( R\) and \( y_{obs}\). More... | |
CostJo (const eckit::Configuration &, const util::DateTime &, const util::DateTime &, const ObsSpaces_ &) | |
Constructor added for generic 1d-var under development in ufo. More... | |
virtual | ~CostJo () |
Destructor. More... | |
std::shared_ptr< PostBase< State_ > > | initialize (const CtrlVar_ &, const eckit::Configuration &) override |
Initialize \( J_o\) before starting the integration of the model. More... | |
std::shared_ptr< PostBaseTLAD_ > | initializeTraj (const CtrlVar_ &, const Geometry_ &, const eckit::Configuration &) override |
double | finalize () override |
Finalize \( J_o\) after the integration of the model. More... | |
void | finalizeTraj () override |
std::shared_ptr< PostBaseTLAD_ > | setupTL (const CtrlInc_ &) const override |
Initialize \( J_o\) before starting the TL run. More... | |
std::shared_ptr< PostBaseTLAD_ > | setupAD (std::shared_ptr< const GeneralizedDepartures >, CtrlInc_ &) const override |
Initialize \( J_o\) before starting the AD run. More... | |
std::unique_ptr< GeneralizedDepartures > | multiplyCovar (const GeneralizedDepartures &) const override |
Multiply by \( R\) and \( R^{-1}\). More... | |
std::unique_ptr< GeneralizedDepartures > | multiplyCoInv (const GeneralizedDepartures &) const override |
std::unique_ptr< GeneralizedDepartures > | newDualVector () const override |
Provide new departure. More... | |
std::unique_ptr< GeneralizedDepartures > | newGradientFG () const override |
Return gradient at first guess ie \( R^{-1} {\cal H}(x^t ) - y\). More... | |
void | resetLinearization () override |
Reset obs operator trajectory. More... | |
double | printJo (const Departures_ &, const Departures_ &) const |
Print Jo. More... | |
const ObsSpaces_ & | obspaces () const |
![]() | |
virtual | ~CostTermBase () |
Destructor. More... | |
Private Types | |
typedef ControlVariable< MODEL, OBS > | CtrlVar_ |
typedef ControlIncrement< MODEL, OBS > | CtrlInc_ |
typedef Departures< OBS > | Departures_ |
typedef Observations< OBS > | Observations_ |
typedef Geometry< MODEL > | Geometry_ |
typedef State< MODEL > | State_ |
typedef Increment< MODEL > | Increment_ |
typedef ObsErrors< OBS > | ObsErrors_ |
typedef ObsSpaces< OBS > | ObsSpaces_ |
typedef Observers< MODEL, OBS > | Observers_ |
typedef ObserversTLAD< MODEL, OBS > | ObserversTLAD_ |
typedef PostBaseTLAD< MODEL > | PostBaseTLAD_ |
typedef QCData< OBS > | QCData_ |
Private Attributes | |
eckit::LocalConfiguration | obsconf_ |
ObsSpaces_ | obspace_ |
Observations_ | yobs_ |
std::unique_ptr< ObsErrors_ > | Rmat_ |
std::unique_ptr< eckit::LocalConfiguration > | currentConf_ |
Configuration for current initialize/finalize pair. More... | |
std::unique_ptr< Departures_ > | gradFG_ |
Gradient at first guess : \( R^{-1} (H(x_{fg})-y_{obs}) \). More... | |
std::shared_ptr< Observers_ > | pobs_ |
Observers passed by \( J_o\) to the model during integration. More... | |
std::shared_ptr< ObserversTLAD_ > | pobstlad_ |
Linearized observation operators. More... | |
QCData_ | qc_ |
Storage for QC flags and obs error. More... | |
Jo Cost Function.
The CostJo class encapsulates the Jo term of the cost function. The Observers to be called during the model integration is managed inside the CostJo class.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
oops::CostJo< MODEL, OBS >::CostJo | ( | const eckit::Configuration & | joConf, |
const eckit::mpi::Comm & | comm, | ||
const util::DateTime & | winbgn, | ||
const util::DateTime & | winend, | ||
const eckit::mpi::Comm & | ctime = oops::mpi::myself() |
||
) |
oops::CostJo< MODEL, OBS >::CostJo | ( | const eckit::Configuration & | joConf, |
const util::DateTime & | winbgn, | ||
const util::DateTime & | winend, | ||
const ObsSpaces_ & | localobs | ||
) |
|
inlinevirtual |
|
overridevirtual |
Finalize \( J_o\) after the integration of the model.
Implements oops::CostTermBase< MODEL, OBS >.
Definition at line 186 of file CostJo.h.
|
overridevirtual |
Implements oops::CostTermBase< MODEL, OBS >.
|
overridevirtual |
Initialize \( J_o\) before starting the integration of the model.
Implements oops::CostTermBase< MODEL, OBS >.
Definition at line 172 of file CostJo.h.
|
overridevirtual |
Implements oops::CostTermBase< MODEL, OBS >.
Definition at line 250 of file CostJo.h.
|
overridevirtual |
Implements oops::CostTermBase< MODEL, OBS >.
|
overridevirtual |
Multiply by \( R\) and \( R^{-1}\).
Implements oops::CostTermBase< MODEL, OBS >.
|
overridevirtual |
Provide new departure.
Implements oops::CostTermBase< MODEL, OBS >.
|
overridevirtual |
Return gradient at first guess ie \( R^{-1} {\cal H}(x^t ) - y\).
Implements oops::CostTermBase< MODEL, OBS >.
|
inline |
double oops::CostJo< MODEL, OBS >::printJo | ( | const Departures_ & | dy, |
const Departures_ & | grad | ||
) | const |
|
overridevirtual |
Reset obs operator trajectory.
Implements oops::CostTermBase< MODEL, OBS >.
|
overridevirtual |
Initialize \( J_o\) before starting the AD run.
Implements oops::CostTermBase< MODEL, OBS >.
Definition at line 279 of file CostJo.h.
|
overridevirtual |
Initialize \( J_o\) before starting the TL run.
Implements oops::CostTermBase< MODEL, OBS >.
Definition at line 268 of file CostJo.h.
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |