OOPS
ObsOperatorQG.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/ObsOperatorQG.h"
12 
13 #include "eckit/config/Configuration.h"
14 #include "model/GomQG.h"
15 #include "model/LocationsQG.h"
16 #include "model/ObsBias.h"
17 #include "model/ObsDiagsQG.h"
18 #include "model/ObsOpBaseQG.h"
19 #include "model/ObsSpaceQG.h"
20 #include "model/ObsVecQG.h"
21 #include "oops/base/Variables.h"
22 #include "oops/util/DateTime.h"
23 
24 namespace qg {
25 
26 // -----------------------------------------------------------------------------
27 
28 ObsOperatorQG::ObsOperatorQG(const ObsSpaceQG & os, const eckit::Configuration & conf)
29  : oper_(ObsOpFactory::create(os, conf))
30 {}
31 
32 // -----------------------------------------------------------------------------
33 
35 
36 // -----------------------------------------------------------------------------
37 
38 void ObsOperatorQG::simulateObs(const GomQG & gvals, ObsVecQG & yy, const ObsBias & bias,
39  ObsDiagsQG &) const {
40  oper_->simulateObs(gvals, yy, bias);
41 }
42 
43 // -----------------------------------------------------------------------------
44 
46  return oper_->requiredVars();
47 }
48 
49 // -----------------------------------------------------------------------------
50 
51 std::unique_ptr<LocationsQG> ObsOperatorQG::locations(const util::DateTime & t1,
52  const util::DateTime & t2) const {
53  return oper_->locations(t1, t2);
54 }
55 
56 // -----------------------------------------------------------------------------
57 
58 void ObsOperatorQG::print(std::ostream & os) const {
59  os << *oper_;
60 }
61 
62 // -----------------------------------------------------------------------------
63 
64 } // namespace qg
qg::ObsOperatorQG::~ObsOperatorQG
~ObsOperatorQG()
Definition: ObsOperatorQG.cc:34
ObsSpaceQG.h
qg::ObsOperatorQG::simulateObs
void simulateObs(const GomQG &, ObsVecQG &, const ObsBias &, ObsDiagsQG &) const
Obs Operator.
Definition: ObsOperatorQG.cc:38
qg
The namespace for the qg model.
Definition: qg/model/AnalyticInit.cc:13
qg::ObsOpFactory
Obs Operator Factory.
Definition: ObsOpBaseQG.h:55
qg::ObsOperatorQG::oper_
std::unique_ptr< ObsOpBaseQG > oper_
Definition: ObsOperatorQG.h:57
qg::ObsBias
Class to handle observation bias parameters.
Definition: qg/model/ObsBias.h:37
qg::ObsOperatorQG::ObsOperatorQG
ObsOperatorQG(const ObsSpaceQG &, const eckit::Configuration &)
Definition: ObsOperatorQG.cc:28
qg::ObsDiagsQG
Definition: ObsDiagsQG.h:24
qg::ObsSpaceQG
ObsSpace for QG model.
Definition: ObsSpaceQG.h:44
GomQG.h
ObsOpBaseQG.h
LocationsQG.h
ObsBias.h
ObsVecQG.h
qg::ObsOperatorQG::print
void print(std::ostream &) const
Definition: ObsOperatorQG.cc:58
qg::GomQG
GomQG class to handle local model values for QG model.
Definition: GomQG.h:33
qg::ObsOperatorQG::requiredVars
const oops::Variables & requiredVars() const
Other.
Definition: ObsOperatorQG.cc:45
qg::ObsOperatorQG::locations
std::unique_ptr< LocationsQG > locations(const util::DateTime &, const util::DateTime &) const
Definition: ObsOperatorQG.cc:51
qg::ObsVecQG
ObsVecQG class to handle vectors in observation space for QG model.
Definition: ObsVecQG.h:34
ObsOperatorQG.h
oops::Variables
Definition: oops/base/Variables.h:23
Variables.h
ObsDiagsQG.h