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