11 #include "eckit/config/Configuration.h"
13 #include "oops/base/Variables.h"
14 #include "oops/interface/LinearVariableChange.h"
15 #include "oops/util/Logger.h"
29 static oops::LinearVariableChangeMaker<Traits,
30 oops::LinearVariableChange<Traits, BkgErr> >
37 const eckit::Configuration & conf) {
38 const eckit::Configuration * configc = &conf;
41 State traj_at_geomres(geom, traj);
73 os <<
"SOCA change variable";
void multiplyAD(const Increment &, Increment &) const
void multiplyInverseAD(const Increment &, Increment &) const
void multiplyInverse(const Increment &, Increment &) const
BkgErr(const State &, const State &, const Geometry &, const eckit::Configuration &)
void print(std::ostream &) const override
void multiply(const Increment &, Increment &) const
Perform linear transforms.
Geometry handles geometry for SOCA model.
Increment Class: Difference between two states.
void soca_bkgerr_mult_f90(const F90balopmat &, const F90flds &, F90flds &)
static oops::LinearVariableChangeMaker< Traits, oops::LinearVariableChange< Traits, BkgErr > > makerLinearVariableChangeBkgErr_("BkgErrSOCA")
void soca_bkgerr_setup_f90(F90balopmat &, const eckit::Configuration *const *, const F90flds &, const F90geom &)
void soca_bkgerr_delete_f90(F90balopmat &)