Go to the documentation of this file.
   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<Traits, oops::LinearVariableChange<Traits, LinVarChaA2M> >
 
   29                            const eckit::Configuration & conf) : geom_(new 
Geometry(resol))
 
   31   util::Timer timer(
classname(), 
"LinVarChaA2M");
 
   32   oops::Log::trace() << 
classname() << 
" constructor starting" << std::endl;
 
   33   const eckit::Configuration * configc = &conf;
 
   36   oops::Log::trace() << 
classname() << 
" constructor done" << std::endl;
 
   40   util::Timer timer(
classname(), 
"~LinVarChaA2M");
 
   41   oops::Log::trace() << 
classname() << 
" destructor starting" << std::endl;
 
   43   oops::Log::trace() << 
classname() << 
" destructor done" << std::endl;
 
   47   util::Timer timer(
classname(), 
"multiply");
 
   48   oops::Log::trace() << 
classname() << 
" multiply starting" << std::endl;
 
   51   oops::Log::trace() << 
classname() << 
" multiply done" << std::endl;
 
   56   util::Timer timer(
classname(), 
"multiplyInverse");
 
   57   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;
 
   78   oops::Log::trace() << 
classname() << 
" multiplyInverseAD done" << std::endl;
 
  
 
static const std::string classname()
 
void fv3jedi_linvarcha_a2m_multiplyadjoint_f90(const F90lvc_A2M &, const F90geom &, const F90inc &, const F90inc &)
 
void multiply(const Increment &, Increment &) const
 
void fv3jedi_linvarcha_a2m_multiply_f90(const F90lvc_A2M &, const F90geom &, const F90inc &, const F90inc &)
 
void fv3jedi_linvarcha_a2m_multiplyinverseadjoint_f90(const F90lvc_A2M &, const F90geom &, const F90inc &, const F90inc &)
 
void multiplyAD(const Increment &, Increment &) const
 
void print(std::ostream &) const override
 
LinVarChaA2M(const State &, const State &, const Geometry &, const eckit::Configuration &)
 
void fv3jedi_linvarcha_a2m_create_f90(const F90lvc_A2M &, const F90geom &, const F90state &, const F90state &, const eckit::Configuration *const *)
 
const util::DateTime & validTime() const
 
Geometry handles geometry for FV3JEDI model.
 
void multiplyInverse(const Increment &, Increment &) const
 
static oops::LinearVariableChangeMaker< Traits, oops::LinearVariableChange< Traits, LinVarChaA2M > > makerLinVarChaA2M_("Analysis2Model")
 
void fv3jedi_linvarcha_a2m_multiplyinverse_f90(const F90lvc_A2M &, const F90geom &, const F90inc &, const F90inc &)
 
Configuration files should be formatted as e.g.
 
void fv3jedi_linvarcha_a2m_delete_f90(F90lvc_A2M &)
 
void multiplyInverseAD(const Increment &, Increment &) const
 
std::shared_ptr< const Geometry > geom_