11 #ifndef OOPS_BASE_POSTBASETLAD_H_
12 #define OOPS_BASE_POSTBASETLAD_H_
16 #include <boost/noncopyable.hpp>
18 #include "eckit/config/Configuration.h"
23 #include "oops/util/DateTime.h"
24 #include "oops/util/Duration.h"
40 template <
typename MODEL>
47 PostBaseTLAD(
const util::DateTime & start,
const util::DateTime & finish,
48 const util::Duration & freq = util::Duration(0))
49 :
timer_(start, finish, freq) {}
54 const util::Duration & step) {
69 const util::Duration & step) {
84 const util::Duration & step) {
100 const util::DateTime &,
const util::Duration &) = 0;
105 const util::DateTime &,
const util::Duration &) = 0;
Increment class used in oops.
Handles post-processing of model fields related to cost function.
void processTL(const Increment_ &dx)
void initializeTL(const Increment_ &dx, const util::DateTime &end, const util::Duration &step)
Tangent linear methods.
void initializeTraj(const State_ &xx, const util::DateTime &end, const util::Duration &step)
Set linearization state.
void processAD(Increment_ &dx)
void finalizeAD(Increment_ &dx)
Increment< MODEL > Increment_
void finalizeTraj(const State_ &xx)
virtual void doProcessingTraj(const State_ &)=0
virtual void doInitializeTraj(const State_ &, const util::DateTime &, const util::Duration &)=0
virtual void doLastAD(Increment_ &)=0
virtual void doProcessingTL(const Increment_ &)=0
void finalizeTL(const Increment_ &dx)
PostBaseTLAD(const util::DateTime &start, const util::DateTime &finish, const util::Duration &freq=util::Duration(0))
void processTraj(const State_ &xx)
void initializeAD(Increment_ &dx, const util::DateTime &bgn, const util::Duration &step)
Adjoint methods.
virtual void doFinalizeTraj(const State_ &)=0
virtual void doInitializeTL(const Increment_ &, const util::DateTime &, const util::Duration &)=0
virtual void doProcessingAD(Increment_ &)=0
virtual void doFirstAD(Increment_ &, const util::DateTime &, const util::Duration &)=0
virtual void doFinalizeTL(const Increment_ &)=0
Handles timing of post-processing and similar actions.
bool itIsTime(const util::DateTime &)
void initialize(const util::DateTime &, const util::DateTime &)
State class used in oops; subclass of interface class interface::State.
const util::DateTime validTime() const
Accessor to the time of this Increment.
const util::DateTime validTime() const
Accessor to the time of this State.
The namespace for the main oops code.