OOPS
qg::IncrementQG Class Reference

Increment Class: Difference between two states. More...

#include <IncrementQG.h>

Inheritance diagram for qg::IncrementQG:
Collaboration diagram for qg::IncrementQG:

Public Member Functions

 IncrementQG (const GeometryQG &, const oops::Variables &, const util::DateTime &)
 Constructor, destructor. More...
 
 IncrementQG (const GeometryQG &, const IncrementQG &)
 
 IncrementQG (const IncrementQG &, const bool)
 
 IncrementQG (const IncrementQG &)
 
virtual ~IncrementQG ()
 
void diff (const StateQG &, const StateQG &)
 Basic operators. More...
 
void zero ()
 
void zero (const util::DateTime &)
 
void ones ()
 
IncrementQGoperator= (const IncrementQG &)
 
IncrementQGoperator+= (const IncrementQG &)
 
IncrementQGoperator-= (const IncrementQG &)
 
IncrementQGoperator*= (const double &)
 
void axpy (const double &, const IncrementQG &, const bool check=true)
 
double dot_product_with (const IncrementQG &) const
 
void schur_product_with (const IncrementQG &)
 
void random ()
 
void dirac (const eckit::Configuration &)
 
void read (const eckit::Configuration &)
 I/O and diagnostics. More...
 
void write (const eckit::Configuration &) const
 
double norm () const
 
const util::DateTime & validTime () const
 
util::DateTime & validTime ()
 
void updateTime (const util::Duration &dt)
 
void setAtlas (atlas::FieldSet *) const
 ATLAS FieldSet. More...
 
void toAtlas (atlas::FieldSet *) const
 
void fromAtlas (atlas::FieldSet *)
 
FieldsQGfields ()
 Access to fields. More...
 
const FieldsQGfields () const
 
std::shared_ptr< const GeometryQGgeometry () const
 
void accumul (const double &, const StateQG &)
 Other. More...
 
oops::LocalIncrement getLocal (const GeometryQGIterator &) const
 
void setLocal (const oops::LocalIncrement &, const GeometryQGIterator &)
 
size_t serialSize () const override
 Serialization. More...
 
void serialize (std::vector< double > &) const override
 
void deserialize (const std::vector< double > &, size_t &) override
 

Static Public Member Functions

static const std::string classname ()
 

Private Member Functions

void print (std::ostream &) const override
 Data. More...
 

Private Attributes

const bool lbc_ = false
 
std::unique_ptr< FieldsQGfields_
 

Detailed Description

Increment Class: Difference between two states.

Some fields that are present in a State may not be present in an Increment. The Increment contains everything that is needed by the tangent-linear and adjoint models.

Definition at line 62 of file IncrementQG.h.

Constructor & Destructor Documentation

◆ IncrementQG() [1/4]

qg::IncrementQG::IncrementQG ( const GeometryQG resol,
const oops::Variables vars,
const util::DateTime &  vt 
)

Constructor, destructor.

Definition at line 42 of file IncrementQG.cc.

◆ IncrementQG() [2/4]

qg::IncrementQG::IncrementQG ( const GeometryQG resol,
const IncrementQG other 
)

Definition at line 50 of file IncrementQG.cc.

◆ IncrementQG() [3/4]

qg::IncrementQG::IncrementQG ( const IncrementQG other,
const bool  copy 
)

Definition at line 56 of file IncrementQG.cc.

◆ IncrementQG() [4/4]

qg::IncrementQG::IncrementQG ( const IncrementQG other)

Definition at line 62 of file IncrementQG.cc.

◆ ~IncrementQG()

qg::IncrementQG::~IncrementQG ( )
virtual

Definition at line 68 of file IncrementQG.cc.

Member Function Documentation

◆ accumul()

void qg::IncrementQG::accumul ( const double &  zz,
const StateQG xx 
)

Other.

Definition at line 120 of file IncrementQG.cc.

Here is the call graph for this function:

◆ axpy()

void qg::IncrementQG::axpy ( const double &  zz,
const IncrementQG dx,
const bool  check = true 
)

Definition at line 114 of file IncrementQG.cc.

Here is the call graph for this function:

◆ classname()

static const std::string qg::IncrementQG::classname ( )
inlinestatic

Definition at line 66 of file IncrementQG.h.

◆ deserialize()

void qg::IncrementQG::deserialize ( const std::vector< double > &  vect,
size_t &  index 
)
override

Definition at line 177 of file IncrementQG.cc.

◆ diff()

void qg::IncrementQG::diff ( const StateQG x1,
const StateQG x2 
)

Basic operators.

Definition at line 74 of file IncrementQG.cc.

Here is the call graph for this function:

◆ dirac()

void qg::IncrementQG::dirac ( const eckit::Configuration &  config)

Definition at line 136 of file IncrementQG.cc.

Here is the call graph for this function:

◆ dot_product_with()

double qg::IncrementQG::dot_product_with ( const IncrementQG other) const

Definition at line 128 of file IncrementQG.cc.

◆ fields() [1/2]

FieldsQG& qg::IncrementQG::fields ( )
inline

Access to fields.

Definition at line 104 of file IncrementQG.h.

Here is the caller graph for this function:

◆ fields() [2/2]

const FieldsQG& qg::IncrementQG::fields ( ) const
inline

Definition at line 105 of file IncrementQG.h.

◆ fromAtlas()

void qg::IncrementQG::fromAtlas ( atlas::FieldSet *  afieldset)

Definition at line 152 of file IncrementQG.cc.

◆ geometry()

std::shared_ptr<const GeometryQG> qg::IncrementQG::geometry ( ) const
inline

Definition at line 107 of file IncrementQG.h.

◆ getLocal()

oops::LocalIncrement qg::IncrementQG::getLocal ( const GeometryQGIterator iter) const

Definition at line 186 of file IncrementQG.cc.

◆ norm()

double qg::IncrementQG::norm ( ) const
inline

Definition at line 93 of file IncrementQG.h.

◆ ones()

void qg::IncrementQG::ones ( )

Definition at line 110 of file IncrementQG.cc.

◆ operator*=()

IncrementQG & qg::IncrementQG::operator*= ( const double &  zz)

Definition at line 97 of file IncrementQG.cc.

◆ operator+=()

IncrementQG & qg::IncrementQG::operator+= ( const IncrementQG dx)

Definition at line 85 of file IncrementQG.cc.

Here is the call graph for this function:

◆ operator-=()

IncrementQG & qg::IncrementQG::operator-= ( const IncrementQG dx)

Definition at line 91 of file IncrementQG.cc.

Here is the call graph for this function:

◆ operator=()

IncrementQG & qg::IncrementQG::operator= ( const IncrementQG rhs)

Definition at line 80 of file IncrementQG.cc.

◆ print()

void qg::IncrementQG::print ( std::ostream &  os) const
overrideprivate

Data.

Definition at line 181 of file IncrementQG.cc.

Here is the call graph for this function:

◆ random()

void qg::IncrementQG::random ( )

Definition at line 132 of file IncrementQG.cc.

◆ read()

void qg::IncrementQG::read ( const eckit::Configuration &  files)

I/O and diagnostics.

Definition at line 158 of file IncrementQG.cc.

◆ schur_product_with()

void qg::IncrementQG::schur_product_with ( const IncrementQG dx)

Definition at line 124 of file IncrementQG.cc.

◆ serialize()

void qg::IncrementQG::serialize ( std::vector< double > &  vect) const
override

Definition at line 173 of file IncrementQG.cc.

◆ serialSize()

size_t qg::IncrementQG::serialSize ( ) const
override

Serialization.

Definition at line 168 of file IncrementQG.cc.

◆ setAtlas()

void qg::IncrementQG::setAtlas ( atlas::FieldSet *  afieldset) const

ATLAS FieldSet.

Definition at line 144 of file IncrementQG.cc.

◆ setLocal()

void qg::IncrementQG::setLocal ( const oops::LocalIncrement values,
const GeometryQGIterator iter 
)

Definition at line 190 of file IncrementQG.cc.

◆ toAtlas()

void qg::IncrementQG::toAtlas ( atlas::FieldSet *  afieldset) const

Definition at line 148 of file IncrementQG.cc.

◆ updateTime()

void qg::IncrementQG::updateTime ( const util::Duration &  dt)
inline

Definition at line 96 of file IncrementQG.h.

◆ validTime() [1/2]

util::DateTime& qg::IncrementQG::validTime ( )
inline

Definition at line 95 of file IncrementQG.h.

◆ validTime() [2/2]

const util::DateTime& qg::IncrementQG::validTime ( ) const
inline

Definition at line 94 of file IncrementQG.h.

Here is the caller graph for this function:

◆ write()

void qg::IncrementQG::write ( const eckit::Configuration &  files) const

Definition at line 162 of file IncrementQG.cc.

◆ zero() [1/2]

void qg::IncrementQG::zero ( )

Definition at line 102 of file IncrementQG.cc.

Here is the caller graph for this function:

◆ zero() [2/2]

void qg::IncrementQG::zero ( const util::DateTime &  vt)

Definition at line 106 of file IncrementQG.cc.

Member Data Documentation

◆ fields_

std::unique_ptr<FieldsQG> qg::IncrementQG::fields_
private

Definition at line 125 of file IncrementQG.h.

◆ lbc_

const bool qg::IncrementQG::lbc_ = false
private

Definition at line 124 of file IncrementQG.h.


The documentation for this class was generated from the following files: