SOCA
Model2GeoVaLs.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2021-2021 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 
8 #ifndef SOCA_TRANSFORMS_MODEL2GEOVALS_MODEL2GEOVALS_H_
9 #define SOCA_TRANSFORMS_MODEL2GEOVALS_MODEL2GEOVALS_H_
10 
11 #include <memory>
12 #include <string>
13 
14 #include "oops/base/VariableChangeBase.h"
15 
16 #include "soca/Traits.h"
17 
18 namespace soca {
19 
20 class Model2GeoVaLs: public oops::VariableChangeBase<Traits> {
21  public:
22  static const std::string classname() {return "soca::Model2GeoVaLs";}
23 
24  Model2GeoVaLs(const Geometry &, const eckit::Configuration &);
26 
27  void changeVar(const State &, State &) const override;
28  void changeVarInverse(const State &, State &) const override;
29 
30  private:
31  std::unique_ptr<Geometry> geom_;
32  void print(std::ostream &) const override {}
33 };
34 
35 } // namespace soca
36 
37 #endif // SOCA_TRANSFORMS_MODEL2GEOVALS_MODEL2GEOVALS_H_
Geometry handles geometry for SOCA model.
Definition: Geometry.h:48
void changeVarInverse(const State &, State &) const override
Model2GeoVaLs(const Geometry &, const eckit::Configuration &)
std::unique_ptr< Geometry > geom_
Definition: Model2GeoVaLs.h:31
static const std::string classname()
Definition: Model2GeoVaLs.h:22
void print(std::ostream &) const override
Definition: Model2GeoVaLs.h:32
void changeVar(const State &, State &) const override
SOCA model state.
Definition: State.h:48