11 #ifndef OOPS_RUNS_VARIATIONAL_H_ 12 #define OOPS_RUNS_VARIATIONAL_H_ 16 #include <boost/scoped_ptr.hpp> 18 #include "eckit/config/LocalConfiguration.h" 36 #include "oops/util/DateTime.h" 37 #include "oops/util/Duration.h" 38 #include "oops/util/Logger.h" 50 instantiateCostFactory<MODEL>();
51 instantiateCovarFactory<MODEL>();
52 instantiateMinFactory<MODEL>();
53 instantiateObsErrorFactory<MODEL>();
54 instantiateTlmFactory<MODEL>();
55 instantiateLinearVariableChangeFactory<MODEL>();
60 int execute(
const eckit::Configuration & fullConfig)
const {
62 const eckit::LocalConfiguration resolConfig(fullConfig,
"resolution");
66 const eckit::LocalConfiguration modelConfig(fullConfig,
"model");
68 Log::trace() <<
"Variational: model has been set up" << std::endl;
75 const eckit::LocalConfiguration cfConf(fullConfig,
"cost_function");
77 Log::trace() <<
"Variational: cost function has been set up" << std::endl;
81 Log::trace() <<
"Variational: first guess has been set up" << std::endl;
84 IncrementalAssimilation<MODEL>(xx, *J, fullConfig);
85 Log::trace() <<
"Variational: incremantal assimilation done" << std::endl;
89 const util::DateTime winbgn(cfConf.getString(
"window_begin"));
90 const eckit::LocalConfiguration outConfig(fullConfig,
"output");
93 const eckit::LocalConfiguration finalConfig(fullConfig,
"final");
94 if (finalConfig.has(
"prints")) {
95 const eckit::LocalConfiguration prtConfig(finalConfig,
"prints");
99 J->evaluate(xx, finalConfig, post);
112 #endif // OOPS_RUNS_VARIATIONAL_H_ std::string appname() const
Handles writing-out of forecast fields.
Encapsulates the model state.
The namespace for the main oops code.
int execute(const eckit::Configuration &fullConfig) const
Handles writing-out of forecast fields.
Geometry< MODEL > Geometry_
Encapsulates the nonlinear forecast model.
Control model post processing.
void enrollProcessor(PostBase_ *pp)