OOPS
ChangeVarQG.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 
8 #include "model/ChangeVarQG.h"
9 
10 #include <ostream>
11 #include <string>
12 
13 #include "eckit/config/Configuration.h"
14 #include "model/GeometryQG.h"
15 #include "model/StateQG.h"
16 #include "oops/base/Variables.h"
17 #include "oops/util/Logger.h"
18 
19 namespace qg {
20 // -----------------------------------------------------------------------------
21 ChangeVarQG::ChangeVarQG(const GeometryQG & resol, const eckit::Configuration & conf) {
22  oops::Log::trace() << "ChangeVarQG::ChangeVarQG start" << std::endl;
23  const oops::Variables vars_in(conf, "input variables");
24  const oops::Variables vars_out(conf, "output variables");
25  qg_change_var_setup_f90(keyConfig_, vars_in, vars_out);
26  oops::Log::trace() << "ChangeVarQG::ChangeVarQG done" << std::endl;
27 }
28 // -----------------------------------------------------------------------------
30 // -----------------------------------------------------------------------------
31 void ChangeVarQG::changeVar(const StateQG & xa, StateQG & xm) const {
33 }
34 // -----------------------------------------------------------------------------
35 void ChangeVarQG::changeVarInverse(const StateQG & xm, StateQG & xa) const {
37 }
38 // -----------------------------------------------------------------------------
39 void ChangeVarQG::print(std::ostream & os) const {
40  os << "QG change of variable";
41 }
42 // -----------------------------------------------------------------------------
43 } // namespace qg
44 
45 
qg::ChangeVarQG::changeVar
void changeVar(const StateQG &, StateQG &) const
Perform transforms.
Definition: ChangeVarQG.cc:31
qg::ChangeVarQG::ChangeVarQG
ChangeVarQG(const GeometryQG &, const eckit::Configuration &)
Definition: ChangeVarQG.cc:21
qg
The namespace for the qg model.
Definition: qg/model/AnalyticInit.cc:13
qg::ChangeVarQG::keyConfig_
F90chvar keyConfig_
Definition: ChangeVarQG.h:45
qg::StateQG
QG model state.
Definition: StateQG.h:42
qg::ChangeVarQG::~ChangeVarQG
~ChangeVarQG()
Definition: ChangeVarQG.cc:29
qg::StateQG::fields
FieldsQG & fields()
Access to fields.
Definition: StateQG.h:69
GeometryQG.h
ChangeVarQG.h
qg::qg_change_var_setup_f90
void qg_change_var_setup_f90(F90chvar &, const oops::Variables &, const oops::Variables &)
Interface to Fortran QG model.
qg::FieldsQG::toFortran
const int & toFortran() const
Definition: FieldsQG.h:99
qg::ChangeVarQG::changeVarInverse
void changeVarInverse(const StateQG &, StateQG &) const
Definition: ChangeVarQG.cc:35
qg::qg_change_var_inv_f90
void qg_change_var_inv_f90(const F90chvar &, const F90flds &, const F90flds &)
qg::ChangeVarQG::print
void print(std::ostream &) const override
Definition: ChangeVarQG.cc:39
StateQG.h
oops::Variables
Definition: oops/base/Variables.h:23
qg::GeometryQG
GeometryQG handles geometry for QG model.
Definition: GeometryQG.h:54
qg::qg_change_var_f90
void qg_change_var_f90(const F90chvar &, const F90flds &, const F90flds &)
Variables.h