UFO
SatTCWV.cc
Go to the documentation of this file.
1 /*
2  *
3  * Crown Copyright 2021 Met Office
4  *
5  * This software is licensed under the terms of the Apache Licence Version 2.0
6  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
7  */
8 
9 #include "ufo/sattcwv/SatTCWV.h"
10 
11 #include <ostream>
12 #include <string>
13 #include <vector>
14 
15 #include "ioda/ObsVector.h"
16 
17 #include "oops/base/Variables.h"
18 #include "oops/util/Logger.h"
19 
20 #include "ufo/GeoVaLs.h"
21 #include "ufo/ObsDiagnostics.h"
22 
23 namespace ufo {
24 
25 // ----------------------------------------------------------------------------
27 // -----------------------------------------------------------------------------
28 
29 SatTCWV::SatTCWV(const ioda::ObsSpace & odb,
30  const eckit::Configuration & config)
31  : ObsOperatorBase(odb, config), keyOperSatTCWV_(0), odb_(odb), varin_()
32 {
33  const std::vector<std::string> vv{"air_pressure_levels", "specific_humidity",
34  "surface_pressure"};
35  varin_.reset(new oops::Variables(vv));
36 
37  const eckit::LocalConfiguration obsOptions(config, "obs options");
38  const eckit::Configuration *configc = &obsOptions;
40 
41  oops::Log::trace() << "SatTCWV created." << std::endl;
42 }
43 
44 // -----------------------------------------------------------------------------
45 
48  oops::Log::trace() << "SatTCWV destructed" << std::endl;
49 }
50 
51 // -----------------------------------------------------------------------------
52 
53 void SatTCWV::simulateObs(const GeoVaLs & gom, ioda::ObsVector & ovec,
54  ObsDiagnostics &) const {
56  ovec.size(), ovec.toFortran());
57 }
58 
59 // -----------------------------------------------------------------------------
60 
61 void SatTCWV::print(std::ostream & os) const {
62  os << "SatTCWV::print not implemented";
63 }
64 
65 // -----------------------------------------------------------------------------
66 
67 } // namespace ufo
GeoVaLs: geophysical values at locations.
void print(std::ostream &) const override
Definition: SatTCWV.cc:61
void simulateObs(const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const override
Obs Operator.
Definition: SatTCWV.cc:53
std::unique_ptr< const oops::Variables > varin_
Definition: SatTCWV.h:58
const ioda::ObsSpace & odb_
Definition: SatTCWV.h:57
F90hop keyOperSatTCWV_
Definition: SatTCWV.h:56
virtual ~SatTCWV()
Definition: SatTCWV.cc:46
SatTCWV(const ioda::ObsSpace &, const eckit::Configuration &)
Definition: SatTCWV.cc:29
Definition: RunCRTM.h:27
void ufo_sattcwv_delete_f90(F90hop &)
static ObsOperatorMaker< SatTCWV > makerSatTCWV_("SatTCWV")
void ufo_sattcwv_simobs_f90(const F90hop &, const F90goms &, const ioda::ObsSpace &, const int &, double &)
void ufo_sattcwv_setup_f90(F90hop &, const eckit::Configuration *const *)
Interface to Fortran UFO routines.