OOPS
ObservationTLAD.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 
12 
13 #include <string>
14 
15 #include "eckit/config/Configuration.h"
16 #include "lorenz95/GomL95.h"
18 #include "lorenz95/ObsVec1D.h"
19 #include "oops/base/Variables.h"
20 #include "oops/util/missingValues.h"
21 
22 // -----------------------------------------------------------------------------
23 namespace lorenz95 {
24 // -----------------------------------------------------------------------------
25 
26 ObservationTLAD::ObservationTLAD(const ObsTableView &, const eckit::Configuration &)
27  : inputs_()
28 {}
29 
30 // -----------------------------------------------------------------------------
31 
33 
34 // -----------------------------------------------------------------------------
35 
37  const ObsBiasCorrection & bias) const {
38  for (size_t jj = 0; jj < gom.size(); ++jj) {
39  ovec[jj] = gom[jj] + bias.value();
40  }
41 }
42 
43 // -----------------------------------------------------------------------------
44 
46  ObsBiasCorrection & bias) const {
47  const double missing = util::missingValue(missing);
48  for (size_t jj = 0; jj < gom.size(); ++jj) {
49  if (ovec[jj] != missing) {
50  gom[jj] = ovec[jj];
51  bias.value() += ovec[jj];
52  }
53  }
54 }
55 
56 // -----------------------------------------------------------------------------
57 
58 void ObservationTLAD::print(std::ostream & os) const {
59  os << "ObservationTLAD: Lorenz 95 Linear Obs Operator";
60 }
61 
62 // -----------------------------------------------------------------------------
63 
64 } // namespace lorenz95
lorenz95::ObsBias
Class to handle observation bias parameters.
Definition: l95/src/lorenz95/ObsBias.h:36
lorenz95::ObsVec1D
Vector in observation space.
Definition: ObsVec1D.h:34
lorenz95::ObservationTLAD::print
void print(std::ostream &) const
Definition: ObservationTLAD.cc:58
lorenz95::GomL95::size
size_t size() const
Definition: GomL95.h:54
ObsVec1D.h
ObservationTLAD.h
lorenz95::ObservationTLAD::simulateObsTL
void simulateObsTL(const GomL95 &, ObsVec1D &, const ObsBiasCorrection &) const
Definition: ObservationTLAD.cc:36
lorenz95::ObservationTLAD::ObservationTLAD
ObservationTLAD(const ObsTableView &, const eckit::Configuration &)
Definition: ObservationTLAD.cc:26
lorenz95::ObsBiasCorrection::value
double & value()
Definition: ObsBiasCorrection.h:56
lorenz95::GomL95
GomL95 class to handle locations for L95 model.
Definition: GomL95.h:33
lorenz95::ObservationTLAD::setTrajectory
void setTrajectory(const GomL95 &, const ObsBias &)
Definition: ObservationTLAD.cc:32
ObsBiasCorrection.h
lorenz95::ObsTableView
A Simple Observation Data Handler.
Definition: ObsTableView.h:38
lorenz95::ObservationTLAD::simulateObsAD
void simulateObsAD(GomL95 &, const ObsVec1D &, ObsBiasCorrection &) const
Definition: ObservationTLAD.cc:45
GomL95.h
lorenz95
The namespace for the L95 model.
Definition: l95/src/lorenz95/AnalyticInit.cc:17
lorenz95::ObsBiasCorrection
Definition: ObsBiasCorrection.h:32
Variables.h