FV3 Bundle
ErrorStdDevQG.cc
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2009-2016 ECMWF.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 #include "model/ErrorStdDevQG.h"
12 
13 #include <ostream>
14 #include <string>
15 
16 #include "eckit/config/Configuration.h"
17 #include "model/GeometryQG.h"
18 #include "model/IncrementQG.h"
19 #include "model/StateQG.h"
20 #include "oops/util/Logger.h"
21 
22 namespace qg {
23 // -----------------------------------------------------------------------------
25  const GeometryQG &, const eckit::Configuration & conf)
26  : keyFtnConfig_(0)
27 {
28  const eckit::Configuration * configc = &conf;
30  oops::Log::trace() << "ErrorStdDevQG created" << std::endl;
31 }
32 // -----------------------------------------------------------------------------
35  oops::Log::trace() << "ErrorStdDevQG destructed" << std::endl;
36 }
37 // -----------------------------------------------------------------------------
38 void ErrorStdDevQG::multiply(const IncrementQG & dxin, IncrementQG & dxout) const {
40  dxout.fields().toFortran());
41 }
42 // -----------------------------------------------------------------------------
43 void ErrorStdDevQG::multiplyInverse(const IncrementQG & dxin, IncrementQG & dxout) const {
45  dxout.fields().toFortran());
46 }
47 // -----------------------------------------------------------------------------
48 void ErrorStdDevQG::multiplyAD(const IncrementQG & dxin, IncrementQG & dxout) const {
50  dxout.fields().toFortran());
51 }
52 // -----------------------------------------------------------------------------
53 void ErrorStdDevQG::multiplyInverseAD(const IncrementQG & dxin, IncrementQG & dxout) const {
55  dxout.fields().toFortran());
56 }
57 // -----------------------------------------------------------------------------
58 void ErrorStdDevQG::print(std::ostream & os) const {
59  os << "QG Background Error Standard Deviations";
60 }
61 // -----------------------------------------------------------------------------
62 } // namespace qg
63 
int & toFortran()
Definition: FieldsQG.h:96
void qg_bstddev_delete_f90(F90bstddev &)
void multiplyAD(const IncrementQG &, IncrementQG &) const
FieldsQG & fields()
Access to fields.
Definition: IncrementQG.h:102
ErrorStdDevQG(const StateQG &, const StateQG &, const GeometryQG &, const eckit::Configuration &)
void multiplyInverseAD(const IncrementQG &, IncrementQG &) const
Definition: conf.py:1
void qg_bstddev_setup_f90(F90bstddev &, const eckit::Configuration *const *)
void multiply(const IncrementQG &, IncrementQG &) const
Perform linear transforms.
void qg_bstddev_mult_f90(const F90bstddev &, const F90flds &, const F90flds &)
QG model state.
Definition: StateQG.h:50
void multiplyInverse(const IncrementQG &, IncrementQG &) const
void qg_bstddev_invmult_f90(const F90bstddev &, const F90flds &, const F90flds &)
GeometryQG handles geometry for QG model.
Definition: GeometryQG.h:33
void print(std::ostream &) const override
F90bstddev keyFtnConfig_
Definition: ErrorStdDevQG.h:56
The namespace for the qg model.
Increment Class: Difference between two states.
Definition: IncrementQG.h:55