FV3 Bundle
ObsOperatorTLAD.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/ObsOperatorTLAD.h"
12 
13 #include "eckit/config/Configuration.h"
14 #include "model/GomQG.h"
15 #include "model/ObsBias.h"
16 #include "model/ObsBiasIncrement.h"
17 #include "model/ObsOpBaseTLAD.h"
18 #include "model/ObsSpaceQG.h"
19 #include "model/ObsVecQG.h"
20 #include "oops/base/Variables.h"
21 
22 namespace qg {
23 
24 // -----------------------------------------------------------------------------
25 
26 ObsOperatorTLAD::ObsOperatorTLAD(const ObsSpaceQG & os, const eckit::Configuration & conf)
27  : oper_(ObsOpTLADFactory::create(os, conf))
28 {}
29 
30 // -----------------------------------------------------------------------------
31 
33 
34 // -----------------------------------------------------------------------------
35 
36 void ObsOperatorTLAD::setTrajectory(const GomQG & gvals, const ObsBias & bias) {
37  oper_->setTrajectory(gvals, bias);
38 }
39 
40 // -----------------------------------------------------------------------------
41 
43  const ObsBiasIncrement & bias) const {
44  oper_->simulateObsTL(gvals, yy, bias);
45 }
46 
47 // -----------------------------------------------------------------------------
48 
50  ObsBiasIncrement & bias) const {
51  oper_->simulateObsAD(gvals, yy, bias);
52 }
53 
54 // -----------------------------------------------------------------------------
55 
57  return oper_->variables();
58 }
59 
60 // -----------------------------------------------------------------------------
61 
62 void ObsOperatorTLAD::print(std::ostream & os) const {
63  os << *oper_;
64 }
65 
66 // -----------------------------------------------------------------------------
67 
68 } // namespace qg
GomQG class to handle local model values for QG model.
Definition: GomQG.h:31
Obs Operator Factory.
Definition: ObsOpBaseTLAD.h:53
Definition: conf.py:1
subroutine, public create(self, c_conf)
Class to handle observation bias parameters.
const oops::Variables & variables() const
Other.
void simulateObsAD(GomQG &, const ObsVecQG &, ObsBiasIncrement &) const
void print(std::ostream &) const
void simulateObsTL(const GomQG &, ObsVecQG &, const ObsBiasIncrement &) const
void setTrajectory(const GomQG &, const ObsBias &)
Obs Operator.
ObsOperatorTLAD(const ObsSpaceQG &, const eckit::Configuration &)
ObsVecQG class to handle vectors in observation space for QG model.
Definition: ObsVecQG.h:27
Wrapper around ObsHelpQG, mostly to hide the factory.
Definition: ObsSpaceQG.h:35
boost::scoped_ptr< ObsOpBaseTLAD > oper_
The namespace for the qg model.