8 #ifndef OOPS_RUNS_ADDINCREMENT_H_
9 #define OOPS_RUNS_ADDINCREMENT_H_
14 #include "eckit/config/LocalConfiguration.h"
20 #include "oops/util/DateTime.h"
21 #include "oops/util/Duration.h"
22 #include "oops/util/Logger.h"
37 int execute(
const eckit::Configuration & fullConfig)
const {
39 const eckit::LocalConfiguration stateResolConf(fullConfig,
"state geometry");
42 const eckit::LocalConfiguration incResolConf(fullConfig,
"increment geometry");
46 const eckit::LocalConfiguration stateConf(fullConfig,
"state");
47 State_ xx(stateResol, stateConf);
48 Log::test() <<
"State: " << xx << std::endl;
51 const eckit::LocalConfiguration incConf(fullConfig,
"increment");
52 std::vector<std::string> incvv;
53 incConf.get(
"added variables", incvv);
57 Log::test() <<
"Increment: " << dx << std::endl;
60 if (incConf.has(
"scaling factor")) {
61 dx *= incConf.getDouble(
"scaling factor");
62 Log::test() <<
"Scaled the increment: " << dx << std::endl;
72 const eckit::LocalConfiguration outputConfig(fullConfig,
"output");
73 xx.
write(outputConfig);
75 Log::test() <<
"State plus increment: " << xx << std::endl;
82 return "oops::AddIncrement<" + MODEL::name() +
">";
88 #endif // OOPS_RUNS_ADDINCREMENT_H_