OOPS
QgTraits.h
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 #ifndef QG_MODEL_QGTRAITS_H_
12 #define QG_MODEL_QGTRAITS_H_
13 
14 #include <string>
15 
16 #include "oops/qg/AnalyticInit.h"
17 #include "oops/qg/ErrorCovarianceQG.h"
18 #include "oops/qg/GeometryQG.h"
19 #include "oops/qg/GeometryQGIterator.h"
20 #include "oops/qg/GetValuesQG.h"
21 #include "oops/qg/GetValuesTLAD.h"
22 #include "oops/qg/GomQG.h"
23 #include "oops/qg/IncrementQG.h"
24 #include "oops/qg/LocationsQG.h"
25 #include "oops/qg/ModelBias.h"
26 #include "oops/qg/ModelBiasCovariance.h"
27 #include "oops/qg/ModelBiasIncrement.h"
28 #include "oops/qg/ObsBias.h"
29 #include "oops/qg/ObsBiasCovariance.h"
30 #include "oops/qg/ObsBiasIncrement.h"
31 #include "oops/qg/ObsDataQG.h"
32 #include "oops/qg/ObsDiagsQG.h"
33 #include "oops/qg/ObsIteratorQG.h"
34 #include "oops/qg/ObsOperatorQG.h"
35 #include "oops/qg/ObsOperatorTLAD.h"
36 #include "oops/qg/ObsSpaceQG.h"
37 #include "oops/qg/ObsVecQG.h"
38 #include "oops/qg/StateQG.h"
39 
40 namespace qg {
41 
42 struct QgTraits {
43  static std::string name() {return "QG";}
44  static std::string nameCovar() {return "QgError";}
45  static std::string nameCovar4D() {return "QgError";}
46 
48 
50 
53 
54  typedef qg::StateQG State;
57 
61 };
62 
63 struct QgObsTraits {
64  static std::string name() {return "QG obs";}
65 
70  template <typename DATATYPE> using ObsDataVector = qg::ObsDataQG<DATATYPE>;
72 
76 
78 
79  typedef qg::GomQG GeoVaLs;
82 };
83 
84 } // namespace qg
85 
86 #endif // QG_MODEL_QGTRAITS_H_
Background error covariance matrix for QG model.
GeometryQG handles geometry for QG model.
Definition: GeometryQG.h:58
used for getting state values at observation locations
Definition: GetValuesQG.h:36
used for getting state values at observation locations
GomQG class to handle local model values for QG model.
Definition: GomQG.h:35
Increment Class: Difference between two states.
Definition: IncrementQG.h:64
LocationsQG class to handle locations for QG model.
Definition: LocationsQG.h:36
Model error for the QG model.
Class to handle observation bias parameters.
Data in observation space.
Definition: ObsDataQG.h:32
Iterator over all observations.
Definition: ObsIteratorQG.h:28
ObsSpace for QG model.
Definition: ObsSpaceQG.h:81
ObsVecQG class to handle vectors in observation space for QG model.
Definition: ObsVecQG.h:32
QG model state.
Definition: StateQG.h:42
The namespace for the qg model.
qg::ObsOperatorQG ObsOperator
Definition: QgTraits.h:68
qg::ObsDiagsQG ObsDiagnostics
Definition: QgTraits.h:77
qg::ObsSpaceQG ObsSpace
Definition: QgTraits.h:66
qg::ObsBias ObsAuxControl
Definition: QgTraits.h:73
qg::ObsOperatorTLAD LinearObsOperator
Definition: QgTraits.h:69
qg::AnalyticInit AnalyticInit
Definition: QgTraits.h:81
qg::GomQG GeoVaLs
Definition: QgTraits.h:79
qg::ObsBiasCovariance ObsAuxCovariance
Definition: QgTraits.h:75
static std::string name()
Definition: QgTraits.h:64
qg::ObsBiasIncrement ObsAuxIncrement
Definition: QgTraits.h:74
qg::LocationsQG Locations
Definition: QgTraits.h:80
qg::ObsIteratorQG GeometryIterator
Definition: QgTraits.h:71
qg::ObsVecQG ObsVector
Definition: QgTraits.h:67
qg::GeometryQGIterator GeometryIterator
Definition: QgTraits.h:49
qg::ModelBiasIncrement ModelAuxIncrement
Definition: QgTraits.h:59
qg::GetValuesTLAD LinearGetValues
Definition: QgTraits.h:52
qg::GetValuesQG GetValues
Definition: QgTraits.h:51
qg::StateQG State
Definition: QgTraits.h:54
qg::ErrorCovarianceQG Covariance
Definition: QgTraits.h:56
qg::IncrementQG Increment
Definition: QgTraits.h:55
static std::string nameCovar4D()
Definition: QgTraits.h:45
qg::ModelBiasCovariance ModelAuxCovariance
Definition: QgTraits.h:60
static std::string name()
Definition: QgTraits.h:43
qg::GeometryQG Geometry
Definition: QgTraits.h:47
static std::string nameCovar()
Definition: QgTraits.h:44
qg::ModelBias ModelAuxControl
Definition: QgTraits.h:58