UFO
ObsIdentityTLAD.cc
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017-2018 UCAR
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  */
7 
9 
10 #include <ostream>
11 
12 #include "ioda/ObsSpace.h"
13 #include "ioda/ObsVector.h"
14 
15 #include "oops/base/Variables.h"
16 #include "oops/util/Logger.h"
17 
18 #include "ufo/GeoVaLs.h"
19 #include "ufo/ObsBias.h"
20 
21 namespace ufo {
22 
23 // -----------------------------------------------------------------------------
25 // -----------------------------------------------------------------------------
26 
27 ObsIdentityTLAD::ObsIdentityTLAD(const ioda::ObsSpace & odb,
28  const eckit::Configuration & config)
29  : keyOperObsIdentity_(0), odb_(odb), varin_()
30 {
31  ufo_identity_tlad_setup_f90(keyOperObsIdentity_, config, odb.obsvariables(), varin_);
32 
33  oops::Log::trace() << "ObsIdentityTLAD created." << std::endl;
34 }
35 
36 // -----------------------------------------------------------------------------
37 
40  oops::Log::trace() << "ObsIdentityTLAD destructed" << std::endl;
41 }
42 
43 // -----------------------------------------------------------------------------
44 
45 void ObsIdentityTLAD::setTrajectory(const GeoVaLs & geovals, const ObsBias & bias,
46  ObsDiagnostics &) {
48  oops::Log::trace() << "ObsIdentityTLAD: trajectory set" << std::endl;
49 }
50 
51 // -----------------------------------------------------------------------------
52 
53 void ObsIdentityTLAD::simulateObsTL(const GeoVaLs & geovals, ioda::ObsVector & ovec) const {
55  ovec.size(), ovec.toFortran());
56  oops::Log::trace() << "ObsIdentityTLAD: TL observation operator run" << std::endl;
57 }
58 
59 // -----------------------------------------------------------------------------
60 
61 void ObsIdentityTLAD::simulateObsAD(GeoVaLs & geovals, const ioda::ObsVector & ovec) const {
63  ovec.size(), ovec.toFortran());
64  oops::Log::trace() << "ObsIdentityTLAD: adjoint observation operator run" << std::endl;
65 }
66 
67 // -----------------------------------------------------------------------------
68 
69 void ObsIdentityTLAD::print(std::ostream & os) const {
70  os << "ObsIdentityTLAD::print not implemented" << std::endl;
71 }
72 
73 // -----------------------------------------------------------------------------
74 
75 } // namespace ufo
ufo::ObsIdentityTLAD::~ObsIdentityTLAD
virtual ~ObsIdentityTLAD()
Definition: ObsIdentityTLAD.cc:38
ObsBias.h
ufo::ObsIdentityTLAD::ObsIdentityTLAD
ObsIdentityTLAD(const ioda::ObsSpace &, const eckit::Configuration &)
Definition: ObsIdentityTLAD.cc:27
ufo::ObsIdentityTLAD::simulateObsAD
void simulateObsAD(GeoVaLs &, const ioda::ObsVector &) const override
Definition: ObsIdentityTLAD.cc:61
ufo::ufo_identity_simobs_tl_f90
void ufo_identity_simobs_tl_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, double &)
ObsIdentityTLAD.h
ufo
Definition: RunCRTM.h:27
ufo::ufo_identity_tlad_settraj_f90
void ufo_identity_tlad_settraj_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &)
ufo::GeoVaLs::toFortran
int & toFortran()
Definition: src/ufo/GeoVaLs.h:80
ufo::ObsBias
Class to handle observation bias parameters.
Definition: ObsBias.h:44
ufo::ObsIdentityTLAD::print
void print(std::ostream &) const override
Definition: ObsIdentityTLAD.cc:69
ufo::ObsDiagnostics
Definition: src/ufo/ObsDiagnostics.h:35
ufo::ufo_identity_tlad_setup_f90
void ufo_identity_tlad_setup_f90(F90hop &, const eckit::Configuration &, const oops::Variables &, oops::Variables &)
Interface to Fortran UFO generic/identity routines.
ufo::ObsIdentityTLAD::keyOperObsIdentity_
F90hop keyOperObsIdentity_
Definition: ObsIdentityTLAD.h:59
ufo::makerIdentityTL_
static LinearObsOperatorMaker< ObsIdentityTLAD > makerIdentityTL_("Identity")
ufo::GeoVaLs
GeoVaLs: geophysical values at locations.
Definition: src/ufo/GeoVaLs.h:39
ufo::ObsIdentityTLAD::simulateObsTL
void simulateObsTL(const GeoVaLs &, ioda::ObsVector &) const override
Definition: ObsIdentityTLAD.cc:53
ufo::ufo_identity_tlad_delete_f90
void ufo_identity_tlad_delete_f90(F90hop &)
ufo::ufo_identity_simobs_ad_f90
void ufo_identity_simobs_ad_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, const double &)
ufo::ObsIdentityTLAD::setTrajectory
void setTrajectory(const GeoVaLs &, const ObsBias &, ObsDiagnostics &) override
Obs Operator.
Definition: ObsIdentityTLAD.cc:45
ufo::ObsIdentityTLAD::odb_
const ioda::ObsSpace & odb_
Definition: ObsIdentityTLAD.h:60
ufo::ObsIdentityTLAD::varin_
oops::Variables varin_
Definition: ObsIdentityTLAD.h:61
ufo::LinearObsOperatorMaker
Definition: LinearObsOperatorBase.h:72