UFO
ObsDiagnosticsWriter.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 "eckit/config/Configuration.h"
11 
12 #include "ioda/ObsDataVector.h"
13 #include "ioda/ObsSpace.h"
14 #include "ioda/ObsVector.h"
15 
16 #include "oops/util/Logger.h"
17 
18 namespace ufo {
19 
20 // -----------------------------------------------------------------------------
21 
23  ioda::ObsSpace &, const eckit::Configuration & config,
24  std::shared_ptr<ioda::ObsDataVector<int> >,
25  std::shared_ptr<ioda::ObsDataVector<float> >)
26  : config_(config), extradiagvars_()
27 {
28  oops::Log::trace() << "ObsDiagnosticsWriter contructor" << std::endl;
29  if (config_.has("filter variables")) {
30  Variables diagvars(config_.getSubConfigurations("filter variables"));
31  extradiagvars_ += Variables(diagvars, "ObsDiag").toOopsVariables();
32  }
33 }
34 
35 // -----------------------------------------------------------------------------
36 
37 void ObsDiagnosticsWriter::print(std::ostream & os) const {
38  os << "ObsDiagnosticsWriter: " << config_;
39 }
40 
41 // -----------------------------------------------------------------------------
42 
43 } // namespace ufo
const eckit::LocalConfiguration config_
ObsDiagnosticsWriter(ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
void print(std::ostream &) const override
oops::Variables toOopsVariables() const
Definition: Variables.cc:156
Definition: RunCRTM.h:27