Go to the documentation of this file.
   10 #include "eckit/config/LocalConfiguration.h" 
   12 #include "oops/util/abor1_cpp.h" 
   13 #include "oops/util/DateTime.h" 
   14 #include "oops/util/Logger.h" 
   28 static oops::LinearModelMaker<Traits, Tlm> 
makerTLM_(
"FV3JEDITLM");
 
   30 Tlm::Tlm(
const Geometry & resol, 
const eckit::Configuration & tlConf) : keySelf_(0), tstep_(),
 
   31   trajmap_(), linvars_(tlConf, 
"tlm variables")
 
   33   oops::Log::trace() << 
"Tlm::Tlm starting" << std::endl;
 
   36   tstep_ = util::Duration(tlConf.getString(
"tstep"));
 
   39   const eckit::Configuration * configc = &tlConf;
 
   46   oops::Log::trace() << 
"Tlm::Tlm done" << std::endl;
 
   50   oops::Log::trace() << 
"Tlm::~Tlm starting" << std::endl;
 
   59   oops::Log::trace() << 
"Tlm::~Tlm done" << std::endl;
 
   63   oops::Log::trace() << 
"Tlm::setTrajectory starting" << std::endl;
 
   74   oops::Log::trace() << 
"Tlm::setTrajectory done" << std::endl;
 
   78   oops::Log::trace() << 
"Tlm::initializeTL starting" << std::endl;
 
   83   oops::Log::trace() << 
"Tlm::initializeTL done" << std::endl;
 
   87   oops::Log::trace() << 
"Tlm::stepTL starting" << std::endl;
 
   94     oops::Log::error() << 
"Tlm: trajectory not available at time " << dx.
validTime() << std::endl;
 
   95     ABORT(
"Tlm: trajectory not available");
 
  104   oops::Log::trace() << 
"Tlm::stepTL done" << std::endl;
 
  108   oops::Log::trace() << 
"Tlm::finalizeTL starting" << std::endl;
 
  113   oops::Log::trace() << 
"Tlm::finalizeTL done" << std::endl;
 
  117   oops::Log::trace() << 
"Tlm::initializeAD starting" << std::endl;
 
  122   oops::Log::trace() << 
"Tlm::initializeAD done" << std::endl;
 
  126   oops::Log::trace() << 
"Tlm::stepAD starting" << std::endl;
 
  136     oops::Log::error() << 
"Tlm: trajectory not available at time " << dx.
validTime() << std::endl;
 
  137     ABORT(
"Tlm: trajectory not available");
 
  143   oops::Log::trace() << 
"Tlm::stepAD done" << std::endl;
 
  147   oops::Log::trace() << 
"Tlm::finalizeAD starting" << std::endl;
 
  152   oops::Log::trace() << 
"Tlm::finalizeAD done" << std::endl;
 
  156   oops::Log::trace() << 
"Tlm::print starting" << std::endl;
 
  159   os << 
"FV3JEDI TLM Trajectory, nstep=" << 
trajmap_.size() << std::endl;
 
  160   typedef std::map< util::DateTime, int >::const_iterator 
trajICst;
 
  162     os << 
"FV3JEDI TLM Trajectory: times are:";
 
  164       os << 
"  " << jtra->first;
 
  168   oops::Log::trace() << 
"Tlm::print done" << std::endl;
 
  
 
void finalizeAD(Increment &) const override
 
void setTrajectory(const State &, State &, const ModelBias &) override
 
void fv3jedi_traj_set_f90(F90traj &, const F90state &)
 
const eckit::mpi::Comm & getComm() const
 
void stepAD(Increment &, ModelBiasIncrement &) const override
 
void fv3jedi_tlm_create_f90(F90tlm &, const F90geom &, const eckit::Configuration *const *)
 
void finalizeTL(Increment &) const override
 
static oops::LinearModelMaker< Traits, Tlm > makerTLM_("FV3JEDITLM")
 
Tlm(const Geometry &, const eckit::Configuration &)
 
void fv3jedi_tlm_delete_f90(F90tlm &)
 
void print(std::ostream &) const override
 
void fv3jedi_tlm_initialize_ad_f90(const F90tlm &, const F90inc &)
 
void fv3jedi_tlm_step_tl_f90(const F90tlm &, const F90inc &, const F90traj &)
 
std::map< util::DateTime, int >::iterator trajIter
 
void changeResolution(const State &xx)
 
void fv3jedi_tlm_finalize_ad_f90(const F90tlm &, const F90inc &)
 
void initializeAD(Increment &) const override
 
Model error for the FV3JEDI model.
 
void fv3jedi_tlm_finalize_tl_f90(const F90tlm &, const F90inc &)
 
const util::DateTime & validTime() const
 
void fv3jedi_tlm_initialize_tl_f90(const F90tlm &, const F90inc &)
 
void fv3jedi_tlm_step_ad_f90(const F90tlm &, const F90inc &, const F90traj &)
 
const util::DateTime & validTime() const
 
Geometry handles geometry for FV3JEDI model.
 
void stepTL(Increment &, const ModelBiasIncrement &) const override
 
std::map< util::DateTime, F90traj > trajmap_
 
void stageFv3Files(const eckit::Configuration &conf, const eckit::mpi::Comm &comm)
 
void fv3jedi_traj_wipe_f90(F90traj &)
 
void initializeTL(Increment &) const override
 
Configuration files should be formatted as e.g.
 
void removeFv3Files(const eckit::mpi::Comm &comm)
 
std::map< util::DateTime, int >::const_iterator trajICst