OOPS
oops::Increment< MODEL > Class Template Reference

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

#include <CostJbState.h>

Inheritance diagram for oops::Increment< MODEL >:
Collaboration diagram for oops::Increment< MODEL >:

Public Member Functions

 Increment (const Geometry_ &, const Variables &, const util::DateTime &)
 Constructor, destructor. More...
 
 Increment (const Geometry_ &, const Increment &)
 
 Increment (const Increment &, const bool copy=true)
 
virtual ~Increment ()
 
Increment_increment ()
 Interfacing. More...
 
const Increment_increment () const
 
void diff (const State_ &, const State_ &)
 Interactions with State. More...
 
const util::DateTime validTime () const
 Time. More...
 
void updateTime (const util::Duration &dt)
 
void zero ()
 Linear algebra operators. More...
 
void zero (const util::DateTime &)
 
void ones ()
 
void dirac (const eckit::Configuration &)
 
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 accumul (const double &, const State_ &)
 
void read (const eckit::Configuration &)
 I/O and diagnostics. More...
 
void write (const eckit::Configuration &) const
 
double norm () const
 
LocalIncrement getLocal (const GeometryIterator_ &iter) const
 
void setLocal (const LocalIncrement &gp, const GeometryIterator_ &iter)
 
Geometry_ geometry () const
 Get geometry. More...
 
const Variablesvariables () const
 
void setAtlas (atlas::FieldSet *) const
 ATLAS FieldSet. More...
 
void toAtlas (atlas::FieldSet *) const
 
void fromAtlas (atlas::FieldSet *)
 
void toAtlas ()
 ATLAS fieldset. More...
 
atlas::FieldSet & atlas ()
 
const atlas::FieldSet & atlas () const
 
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 shift_forward (const util::DateTime &)
 
void shift_backward (const util::DateTime &)
 
const eckit::mpi::Comm & timeComm () const
 

Static Public Member Functions

static const std::string classname ()
 

Private Types

typedef MODEL::Increment Increment_
 
typedef Geometry< MODEL > Geometry_
 
typedef GeometryIterator< MODEL > GeometryIterator_
 
typedef State< MODEL > State_
 

Private Member Functions

void print (std::ostream &) const override
 

Private Attributes

std::unique_ptr< Increment_increment_
 
const Variables variables_
 
const eckit::mpi::Comm & commTime_
 
atlas::FieldSet atlasFieldSet_
 

Detailed Description

template<typename MODEL>
class oops::Increment< MODEL >

Increment Class: Difference between two states.

Some fields that are present in a State may not be present in an Increment.

Definition at line 27 of file CostJbState.h.

Member Typedef Documentation

◆ Geometry_

template<typename MODEL >
typedef Geometry<MODEL> oops::Increment< MODEL >::Geometry_
private

Definition at line 51 of file oops/interface/Increment.h.

◆ GeometryIterator_

template<typename MODEL >
typedef GeometryIterator<MODEL> oops::Increment< MODEL >::GeometryIterator_
private

Definition at line 52 of file oops/interface/Increment.h.

◆ Increment_

template<typename MODEL >
typedef MODEL::Increment oops::Increment< MODEL >::Increment_
private

Definition at line 50 of file oops/interface/Increment.h.

◆ State_

template<typename MODEL >
typedef State<MODEL> oops::Increment< MODEL >::State_
private

Definition at line 53 of file oops/interface/Increment.h.

Constructor & Destructor Documentation

◆ Increment() [1/3]

template<typename MODEL >
oops::Increment< MODEL >::Increment ( const Geometry_ resol,
const Variables vars,
const util::DateTime &  time 
)

Constructor, destructor.

Definition at line 149 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ Increment() [2/3]

template<typename MODEL >
oops::Increment< MODEL >::Increment ( const Geometry_ resol,
const Increment< MODEL > &  other 
)

Definition at line 162 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ Increment() [3/3]

template<typename MODEL >
oops::Increment< MODEL >::Increment ( const Increment< MODEL > &  other,
const bool  copy = true 
)

Definition at line 174 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ ~Increment()

template<typename MODEL >
oops::Increment< MODEL >::~Increment
virtual

Definition at line 186 of file oops/interface/Increment.h.

Member Function Documentation

◆ accumul()

template<typename MODEL >
void oops::Increment< MODEL >::accumul ( const double &  zz,
const State_ xx 
)

Definition at line 332 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ atlas() [1/2]

template<typename MODEL >
atlas::FieldSet& oops::Increment< MODEL >::atlas ( )
inline

Definition at line 109 of file oops/interface/Increment.h.

◆ atlas() [2/2]

template<typename MODEL >
const atlas::FieldSet& oops::Increment< MODEL >::atlas ( ) const
inline

Definition at line 112 of file oops/interface/Increment.h.

◆ axpy()

template<typename MODEL >
void oops::Increment< MODEL >::axpy ( const double &  zz,
const Increment< MODEL > &  dx,
const bool  check = true 
)

Definition at line 290 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ classname()

template<typename MODEL >
static const std::string oops::Increment< MODEL >::classname ( )
inlinestatic

Definition at line 56 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ deserialize()

template<typename MODEL >
void oops::Increment< MODEL >::deserialize ( const std::vector< double > &  vect,
size_t &  current 
)
override

Definition at line 467 of file oops/interface/Increment.h.

◆ diff()

template<typename MODEL >
void oops::Increment< MODEL >::diff ( const State_ x1,
const State_ x2 
)

Interactions with State.

Definition at line 196 of file oops/interface/Increment.h.

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

◆ dirac()

template<typename MODEL >
void oops::Increment< MODEL >::dirac ( const eckit::Configuration &  config)

Definition at line 236 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ dot_product_with()

template<typename MODEL >
double oops::Increment< MODEL >::dot_product_with ( const Increment< MODEL > &  dx) const

Definition at line 300 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ fromAtlas()

template<typename MODEL >
void oops::Increment< MODEL >::fromAtlas ( atlas::FieldSet *  atlasFieldSet)

Definition at line 428 of file oops/interface/Increment.h.

◆ geometry()

template<typename MODEL >
Geometry< MODEL > oops::Increment< MODEL >::geometry

Get geometry.

Definition at line 397 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ getLocal()

template<typename MODEL >
LocalIncrement oops::Increment< MODEL >::getLocal ( const GeometryIterator_ iter) const

Definition at line 342 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ increment() [1/2]

template<typename MODEL >
Increment_& oops::Increment< MODEL >::increment ( )
inline

Interfacing.

Definition at line 65 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ increment() [2/2]

template<typename MODEL >
const Increment_& oops::Increment< MODEL >::increment ( ) const
inline

Definition at line 66 of file oops/interface/Increment.h.

◆ norm()

template<typename MODEL >
double oops::Increment< MODEL >::norm

Definition at line 383 of file oops/interface/Increment.h.

◆ ones()

template<typename MODEL >
void oops::Increment< MODEL >::ones

Definition at line 226 of file oops/interface/Increment.h.

◆ operator*=()

template<typename MODEL >
Increment< MODEL > & oops::Increment< MODEL >::operator*= ( const double &  zz)

Definition at line 279 of file oops/interface/Increment.h.

◆ operator+=()

template<typename MODEL >
Increment< MODEL > & oops::Increment< MODEL >::operator+= ( const Increment< MODEL > &  rhs)

Definition at line 257 of file oops/interface/Increment.h.

◆ operator-=()

template<typename MODEL >
Increment< MODEL > & oops::Increment< MODEL >::operator-= ( const Increment< MODEL > &  rhs)

Definition at line 268 of file oops/interface/Increment.h.

◆ operator=()

template<typename MODEL >
Increment< MODEL > & oops::Increment< MODEL >::operator= ( const Increment< MODEL > &  rhs)

Definition at line 246 of file oops/interface/Increment.h.

◆ print()

template<typename MODEL >
void oops::Increment< MODEL >::print ( std::ostream &  os) const
overrideprivate

Definition at line 527 of file oops/interface/Increment.h.

◆ random()

template<typename MODEL >
void oops::Increment< MODEL >::random

Definition at line 322 of file oops/interface/Increment.h.

◆ read()

template<typename MODEL >
void oops::Increment< MODEL >::read ( const eckit::Configuration &  conf)

I/O and diagnostics.

Definition at line 363 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ schur_product_with()

template<typename MODEL >
void oops::Increment< MODEL >::schur_product_with ( const Increment< MODEL > &  dx)

Definition at line 312 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ serialize()

template<typename MODEL >
void oops::Increment< MODEL >::serialize ( std::vector< double > &  vect) const
override

Definition at line 457 of file oops/interface/Increment.h.

◆ serialSize()

template<typename MODEL >
size_t oops::Increment< MODEL >::serialSize
override

Serialize and deserialize.

Definition at line 448 of file oops/interface/Increment.h.

◆ setAtlas()

template<typename MODEL >
void oops::Increment< MODEL >::setAtlas ( atlas::FieldSet *  atlasFieldSet) const

ATLAS FieldSet.

Definition at line 408 of file oops/interface/Increment.h.

◆ setLocal()

template<typename MODEL >
void oops::Increment< MODEL >::setLocal ( const LocalIncrement< MODEL > &  gp,
const GeometryIterator_ iter 
)

Definition at line 352 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ shift_backward()

template<typename MODEL >
void oops::Increment< MODEL >::shift_backward ( const util::DateTime &  end)

Definition at line 502 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ shift_forward()

template<typename MODEL >
void oops::Increment< MODEL >::shift_forward ( const util::DateTime &  begin)

Definition at line 477 of file oops/interface/Increment.h.

Here is the call graph for this function:

◆ timeComm()

template<typename MODEL >
const eckit::mpi::Comm& oops::Increment< MODEL >::timeComm ( ) const
inline

Definition at line 123 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ toAtlas() [1/2]

template<typename MODEL >
void oops::Increment< MODEL >::toAtlas

ATLAS fieldset.

Definition at line 438 of file oops/interface/Increment.h.

◆ toAtlas() [2/2]

template<typename MODEL >
void oops::Increment< MODEL >::toAtlas ( atlas::FieldSet *  atlasFieldSet) const

Definition at line 418 of file oops/interface/Increment.h.

◆ updateTime()

template<typename MODEL >
void oops::Increment< MODEL >::updateTime ( const util::Duration &  dt)
inline

Definition at line 73 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ validTime()

template<typename MODEL >
const util::DateTime oops::Increment< MODEL >::validTime ( ) const
inline

Time.

Definition at line 72 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ variables()

template<typename MODEL >
const Variables& oops::Increment< MODEL >::variables ( ) const
inline

Definition at line 100 of file oops/interface/Increment.h.

◆ write()

template<typename MODEL >
void oops::Increment< MODEL >::write ( const eckit::Configuration &  conf) const

Definition at line 373 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ zero() [1/2]

template<typename MODEL >
void oops::Increment< MODEL >::zero

Linear algebra operators.

Definition at line 206 of file oops/interface/Increment.h.

Here is the caller graph for this function:

◆ zero() [2/2]

template<typename MODEL >
void oops::Increment< MODEL >::zero ( const util::DateTime &  tt)

Definition at line 216 of file oops/interface/Increment.h.

Member Data Documentation

◆ atlasFieldSet_

template<typename MODEL >
atlas::FieldSet oops::Increment< MODEL >::atlasFieldSet_
private

Definition at line 130 of file oops/interface/Increment.h.

◆ commTime_

template<typename MODEL >
const eckit::mpi::Comm& oops::Increment< MODEL >::commTime_
private

Definition at line 129 of file oops/interface/Increment.h.

◆ increment_

template<typename MODEL >
std::unique_ptr<Increment_> oops::Increment< MODEL >::increment_
private

Definition at line 127 of file oops/interface/Increment.h.

◆ variables_

template<typename MODEL >
const Variables oops::Increment< MODEL >::variables_
private

Definition at line 128 of file oops/interface/Increment.h.


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