FV3-JEDI
TlmId.cc
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017 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 <vector>
9 
10 #include "eckit/config/LocalConfiguration.h"
11 #include "oops/util/abor1_cpp.h"
12 #include "oops/util/DateTime.h"
13 #include "oops/util/Logger.h"
14 
17 #include "fv3jedi/State/State.h"
18 #include "fv3jedi/Tlm/TlmId.h"
21 
22 namespace fv3jedi {
23 
24 // -----------------------------------------------------------------------------
25 static oops::LinearModelMaker<Traits, TlmId> makerIdTLM_("FV3JEDIIdTLM");
26 // -----------------------------------------------------------------------------
27 TlmId::TlmId(const Geometry & resol,
28  const eckit::Configuration & tlConf)
29  : tstep_(), resol_(resol), linvars_(tlConf, "tlm variables")
30 {
31  tstep_ = util::Duration(tlConf.getString("tstep"));
32  oops::Log::trace() << "TlmId created" << std::endl;
33 }
34 // -----------------------------------------------------------------------------
36  oops::Log::trace() << "TlmId destructed" << std::endl;
37 }
38 // -----------------------------------------------------------------------------
40  const ModelBias &) {}
41 // -----------------------------------------------------------------------------
42 void TlmId::initializeTL(Increment & dx) const {
43  oops::Log::debug() << "TlmId::initializTL" << std::endl;
44 }
45 // -----------------------------------------------------------------------------
47  const ModelBiasIncrement &) const {
48  dx.updateTime(tstep_);
49 }
50 // -----------------------------------------------------------------------------
51 void TlmId::finalizeTL(Increment & dx) const {
52  oops::Log::debug() << "TlmId::finalizeTL" << std::endl;
53 }
54 // -----------------------------------------------------------------------------
55 void TlmId::initializeAD(Increment & dx) const {
56  oops::Log::debug() << "TlmId::initializAD" << std::endl;
57 }
58 // -----------------------------------------------------------------------------
60  ModelBiasIncrement &) const {
61  dx.updateTime(-tstep_);
62 }
63 // -----------------------------------------------------------------------------
64 void TlmId::finalizeAD(Increment & dx) const {
65  oops::Log::debug() << "TlmId::finalizeAD" << std::endl;
66 }
67 // -----------------------------------------------------------------------------
68 void TlmId::print(std::ostream & os) const {
69  os << "FV3JEDI IdTLM" << std::endl;
70 }
71 // -----------------------------------------------------------------------------
72 } // namespace fv3jedi
Traits.h
fv3jedi::TlmId::stepAD
void stepAD(Increment &, ModelBiasIncrement &) const override
Definition: TlmId.cc:59
fv3jedi::TlmId::stepTL
void stepTL(Increment &, const ModelBiasIncrement &) const override
Definition: TlmId.cc:46
fv3jedi::TlmId::initializeAD
void initializeAD(Increment &) const override
Definition: TlmId.cc:55
Utilities.h
fv3jedi::TlmId::print
void print(std::ostream &) const override
Definition: TlmId.cc:68
fv3jedi::TlmId::TlmId
TlmId(const Geometry &, const eckit::Configuration &)
Definition: TlmId.cc:27
fv3jedi::TlmId::setTrajectory
void setTrajectory(const State &, State &, const ModelBias &) override
Model trajectory computation.
Definition: TlmId.cc:39
Geometry.h
fv3jedi::TlmId::tstep_
util::Duration tstep_
Definition: TlmId.h:66
fv3jedi::TlmId::~TlmId
~TlmId()
Definition: TlmId.cc:35
fv3jedi::ModelBias
Model error for the FV3JEDI model.
Definition: ModelBias.h:41
fv3jedi::TlmId::finalizeTL
void finalizeTL(Increment &) const override
Definition: TlmId.cc:51
fv3jedi::TlmId::finalizeAD
void finalizeAD(Increment &) const override
Definition: TlmId.cc:64
fv3jedi::Geometry
Geometry handles geometry for FV3JEDI model.
Definition: Geometry.h:41
fv3jedi::Increment::updateTime
void updateTime(const util::Duration &dt)
Definition: Increment.h:91
fv3jedi::makerIdTLM_
static oops::LinearModelMaker< Traits, TlmId > makerIdTLM_("FV3JEDIIdTLM")
fv3jedi::Increment
Definition: Increment.h:52
fv3jedi::State
Definition: State.h:45
fv3jedi::TlmId::initializeTL
void initializeTL(Increment &) const override
Run TLM and its adjoint.
Definition: TlmId.cc:42
fv3jedi
Configuration files should be formatted as e.g.
Definition: ErrorCovariance.cc:20
Increment.h
fv3jedi::ModelBiasIncrement
Definition: ModelBiasIncrement.h:27
TlmId.h
State.h