11 #include "eckit/config/Configuration.h"
13 #include "oops/interface/LinearVariableChange.h"
14 #include "oops/util/Logger.h"
15 #include "oops/util/Timer.h"
25 static oops::LinearVariableChangeMaker
26 < MPASTraits, oops::LinearVariableChange<MPASTraits, LinVarChaModel2GeoVars> >
32 util::Timer timer(
classname(),
"LinVarChaModel2GeoVars");
33 oops::Log::trace() <<
classname() <<
" constructor starting" << std::endl;
36 oops::Log::trace() <<
classname() <<
" constructor done" << std::endl;
40 util::Timer timer(
classname(),
"~LinVarChaModel2GeoVars");
41 oops::Log::trace() <<
classname() <<
" destructor starting" << std::endl;
43 oops::Log::trace() <<
classname() <<
" destructor done" << std::endl;
48 util::Timer timer(
classname(),
"multiply");
49 oops::Log::trace() <<
classname() <<
" multiply starting" << std::endl;
52 oops::Log::trace() <<
classname() <<
" multiply done" << std::endl;
57 util::Timer timer(
classname(),
"multiplyInverse");
58 oops::Log::trace() <<
classname() <<
" multiplyInverse starting" << std::endl;
60 oops::Log::trace() <<
classname() <<
" multiplyInverse done" << std::endl;
65 util::Timer timer(
classname(),
"multiplyAD");
66 oops::Log::trace() <<
classname() <<
" multiplyAD starting" << std::endl;
69 oops::Log::trace() <<
classname() <<
" multiplyAD done" << std::endl;
74 util::Timer timer(
classname(),
"multiplyInverseAD");
75 oops::Log::trace() <<
classname() <<
" multiplyInverseAD starting" << std::endl;
77 oops::Log::trace() <<
classname() <<
" multiplyInverseAD done" << std::endl;
GeometryMPAS handles geometry for MPAS model.
Increment Class: Difference between two states.
void multiplyInverse(const IncrementMPAS &, IncrementMPAS &) const
void multiply(const IncrementMPAS &, IncrementMPAS &) const
static const std::string classname()
void multiplyAD(const IncrementMPAS &, IncrementMPAS &) const
std::shared_ptr< const GeometryMPAS > geom_
void multiplyInverseAD(const IncrementMPAS &, IncrementMPAS &) const
LinVarChaModel2GeoVars(const StateMPAS &, const StateMPAS &, const GeometryMPAS &, const eckit::Configuration &)
~LinVarChaModel2GeoVars()
void print(std::ostream &) const override
void mpasjedi_lvc_model2geovars_delete_f90(F90lvc_M2G &)
void mpasjedi_lvc_model2geovars_multiply_f90(const F90lvc_M2G &, const F90geom &, const F90inc &, const F90inc &)
static oops::LinearVariableChangeMaker< MPASTraits, oops::LinearVariableChange< MPASTraits, LinVarChaModel2GeoVars > > makerLinVarChaModel2GeoVars_("Model2GeoVars")
void mpasjedi_lvc_model2geovars_multiplyadjoint_f90(const F90lvc_M2G &, const F90geom &, const F90inc &, const F90inc &)
void mpasjedi_lvc_model2geovars_create_f90(const F90lvc_M2G &, const F90geom &, const F90state &, const F90state &, const eckit::Configuration &)