SOCA
soca::Increment Class Reference

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

#include <Increment.h>

Inheritance diagram for soca::Increment:
Collaboration diagram for soca::Increment:

Public Member Functions

 Increment (const Geometry &, const oops::Variables &, const util::DateTime &)
 Constructor, destructor. More...
 
 Increment (const Geometry &, const Increment &)
 
 Increment (const Increment &, const bool)
 
 Increment (const Increment &)
 
virtual ~Increment ()
 
void diff (const State &, const State &)
 Basic operators. More...
 
void ones ()
 
void zero ()
 
void zero (const util::DateTime &)
 
Incrementoperator= (const Increment &)
 
Incrementoperator+= (const Increment &)
 
Incrementoperator-= (const Increment &)
 
Incrementoperator*= (const double &)
 
void axpy (const double &, const Increment &, const bool check=true)
 
double dot_product_with (const Increment &) const
 
void schur_product_with (const Increment &)
 
void random ()
 
void dirac (const eckit::Configuration &)
 
oops::LocalIncrement getLocal (const GeometryIterator &) const
 Getpoint/Setpoint. More...
 
void setLocal (const oops::LocalIncrement &, const GeometryIterator &)
 
void setAtlas (atlas::FieldSet *) const
 ATLAS. More...
 
void toAtlas (atlas::FieldSet *) const
 
void fromAtlas (atlas::FieldSet *)
 
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)
 
size_t serialSize () const override
 Serialize and deserialize. More...
 
void serialize (std::vector< double > &) const override
 
void deserialize (const std::vector< double > &, size_t &) override
 
void accumul (const double &, const State &)
 Other. More...
 
int & toFortran ()
 
const int & toFortran () const
 
std::shared_ptr< const Geometrygeometry () const
 

Static Public Member Functions

static const std::string classname ()
 

Private Member Functions

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

Private Attributes

F90flds keyFlds_
 
oops::Variables vars_
 
util::DateTime time_
 
std::shared_ptr< const Geometrygeom_
 

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 58 of file Increment.h.

Constructor & Destructor Documentation

◆ Increment() [1/4]

soca::Increment::Increment ( const Geometry geom,
const oops::Variables &  vars,
const util::DateTime &  vt 
)

Constructor, destructor.

Definition at line 38 of file Increment.cc.

Here is the call graph for this function:

◆ Increment() [2/4]

soca::Increment::Increment ( const Geometry geom,
const Increment other 
)

Definition at line 47 of file Increment.cc.

Here is the call graph for this function:

◆ Increment() [3/4]

soca::Increment::Increment ( const Increment other,
const bool  copy 
)

Definition at line 55 of file Increment.cc.

Here is the call graph for this function:

◆ Increment() [4/4]

soca::Increment::Increment ( const Increment other)

Definition at line 67 of file Increment.cc.

Here is the call graph for this function:

◆ ~Increment()

soca::Increment::~Increment ( )
virtual

Definition at line 75 of file Increment.cc.

Here is the call graph for this function:

Member Function Documentation

◆ accumul()

void soca::Increment::accumul ( const double &  zz,
const State xx 
)

Other.

Definition at line 138 of file Increment.cc.

Here is the call graph for this function:

◆ axpy()

void soca::Increment::axpy ( const double &  zz,
const Increment dx,
const bool  check = true 
)

Definition at line 132 of file Increment.cc.

Here is the call graph for this function:

◆ classname()

static const std::string soca::Increment::classname ( )
inlinestatic

Definition at line 63 of file Increment.h.

◆ deserialize()

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

Definition at line 297 of file Increment.cc.

Here is the call graph for this function:

◆ diff()

void soca::Increment::diff ( const State x1,
const State x2 
)

Basic operators.

Definition at line 82 of file Increment.cc.

Here is the call graph for this function:

◆ dirac()

void soca::Increment::dirac ( const eckit::Configuration &  config)

Definition at line 122 of file Increment.cc.

Here is the call graph for this function:

◆ dot_product_with()

double soca::Increment::dot_product_with ( const Increment other) const

Definition at line 146 of file Increment.cc.

Here is the call graph for this function:

◆ fromAtlas()

void soca::Increment::fromAtlas ( atlas::FieldSet *  afieldset)

Definition at line 210 of file Increment.cc.

Here is the call graph for this function:

◆ geometry()

std::shared_ptr< const Geometry > soca::Increment::geometry ( ) const

Definition at line 313 of file Increment.cc.

◆ getLocal()

oops::LocalIncrement soca::Increment::getLocal ( const GeometryIterator iter) const

Getpoint/Setpoint.

Definition at line 157 of file Increment.cc.

Here is the call graph for this function:

◆ norm()

double soca::Increment::norm ( ) const

Definition at line 245 of file Increment.cc.

Here is the call graph for this function:

◆ ones()

void soca::Increment::ones ( )

Definition at line 114 of file Increment.cc.

Here is the call graph for this function:

◆ operator*=()

Increment & soca::Increment::operator*= ( const double &  zz)

Definition at line 109 of file Increment.cc.

Here is the call graph for this function:

◆ operator+=()

Increment & soca::Increment::operator+= ( const Increment dx)

Definition at line 97 of file Increment.cc.

Here is the call graph for this function:

◆ operator-=()

Increment & soca::Increment::operator-= ( const Increment dx)

Definition at line 103 of file Increment.cc.

Here is the call graph for this function:

◆ operator=()

Increment & soca::Increment::operator= ( const Increment rhs)

Definition at line 91 of file Increment.cc.

Here is the call graph for this function:

◆ print()

void soca::Increment::print ( std::ostream &  os) const
overrideprivate

Data.

Definition at line 227 of file Increment.cc.

Here is the call graph for this function:

◆ random()

void soca::Increment::random ( )

Definition at line 152 of file Increment.cc.

Here is the call graph for this function:

◆ read()

void soca::Increment::read ( const eckit::Configuration &  files)

I/O and diagnostics.

Definition at line 217 of file Increment.cc.

Here is the call graph for this function:

◆ schur_product_with()

void soca::Increment::schur_product_with ( const Increment dx)

Definition at line 142 of file Increment.cc.

Here is the call graph for this function:

◆ serialize()

void soca::Increment::serialize ( std::vector< double > &  vect) const
override

Definition at line 280 of file Increment.cc.

Here is the call graph for this function:

◆ serialSize()

size_t soca::Increment::serialSize ( ) const
override

Serialize and deserialize.

Serialization.

Definition at line 266 of file Increment.cc.

Here is the call graph for this function:

◆ setAtlas()

void soca::Increment::setAtlas ( atlas::FieldSet *  afieldset) const

ATLAS.

Definition at line 200 of file Increment.cc.

Here is the call graph for this function:

◆ setLocal()

void soca::Increment::setLocal ( const oops::LocalIncrement &  values,
const GeometryIterator iter 
)

Definition at line 191 of file Increment.cc.

Here is the call graph for this function:

◆ toAtlas()

void soca::Increment::toAtlas ( atlas::FieldSet *  afieldset) const

Definition at line 205 of file Increment.cc.

Here is the call graph for this function:

◆ toFortran() [1/2]

int& soca::Increment::toFortran ( )
inline

Definition at line 112 of file Increment.h.

Here is the caller graph for this function:

◆ toFortran() [2/2]

const int& soca::Increment::toFortran ( ) const
inline

Definition at line 113 of file Increment.h.

◆ updateTime()

void soca::Increment::updateTime ( const util::Duration &  dt)

Definition at line 261 of file Increment.cc.

◆ validTime() [1/2]

util::DateTime & soca::Increment::validTime ( )

Definition at line 257 of file Increment.cc.

◆ validTime() [2/2]

const util::DateTime & soca::Increment::validTime ( ) const

Definition at line 253 of file Increment.cc.

Here is the caller graph for this function:

◆ write()

void soca::Increment::write ( const eckit::Configuration &  files) const

Definition at line 222 of file Increment.cc.

Here is the call graph for this function:

◆ zero() [1/2]

void soca::Increment::zero ( )

Definition at line 118 of file Increment.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ zero() [2/2]

void soca::Increment::zero ( const util::DateTime &  vt)

Definition at line 127 of file Increment.cc.

Here is the call graph for this function:

Member Data Documentation

◆ geom_

std::shared_ptr<const Geometry> soca::Increment::geom_
private

Definition at line 124 of file Increment.h.

◆ keyFlds_

F90flds soca::Increment::keyFlds_
private

Definition at line 121 of file Increment.h.

◆ time_

util::DateTime soca::Increment::time_
private

Definition at line 123 of file Increment.h.

◆ vars_

oops::Variables soca::Increment::vars_
private

Definition at line 122 of file Increment.h.


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