15 #include "eckit/config/Configuration.h"
24 #include "oops/util/Logger.h"
30 const eckit::Configuration & conf,
33 oops::Log::trace() <<
"ErrorCovarianceQG created" << std::endl;
38 oops::Log::trace() <<
"ErrorCovarianceQG destructed" << std::endl;
48 GMRESR(dxout, dxin, *
this, Id, 20, 1.0e-5);
56 os <<
"ErrorCovarianceQG::print not implemented";
void multiply(const IncrementQG &, IncrementQG &) const
void print(std::ostream &) const
void randomize(IncrementQG &) const
ErrorCovarianceQG(const GeometryQG &, const oops::Variables &, const eckit::Configuration &, const StateQG &, const StateQG &)
F90error_covariance keyConfig_
void inverseMultiply(const IncrementQG &, IncrementQG &) const
const int & toFortran() const
GeometryQG handles geometry for QG model.
const F90geom & toFortran() const
Increment Class: Difference between two states.
FieldsQG & fields()
Access to fields.
double GMRESR(VECTOR &xx, const VECTOR &bb, const AMATRIX &A, const PMATRIX &precond, const int maxiter, const double tolerance)
The namespace for the qg model.
void qg_error_covariance_setup_f90(F90error_covariance &, const eckit::Configuration &, const F90geom &)
void qg_error_covariance_randomize_f90(const F90error_covariance &, const F90flds &)
void qg_error_covariance_mult_f90(const F90error_covariance &, const F90flds &, const F90flds &)
void qg_error_covariance_delete_f90(F90error_covariance &)