OOPS
|
ObsVector class used in oops; subclass of interface class interface::ObsVector. More...
#include <ObsVector.h>
Public Member Functions | |
ObsVector (const ObsSpace< OBS > &obsspace, const std::string name="") | |
ObsVector (std::unique_ptr< ObsVector_ > obsvector, const eckit::mpi::Comm &timeComm) | |
ObsVector (const ObsVector &) | |
Copy constructor. More... | |
double | dot_product_with (const ObsVector &other) const |
Return the dot product between this ObsVector and other ObsVector. More... | |
double | rms () const |
Return this ObsVector rms. More... | |
unsigned int | nobs () const |
Number of non-masked out observations (across all MPI tasks) More... | |
![]() | |
ObsVector (const ObsSpace< OBS > &obsspace, const std::string name="") | |
ObsVector (std::unique_ptr< ObsVector_ > obsvector) | |
ObsVector (const ObsVector &) | |
Copy constructor. More... | |
~ObsVector () | |
Destructor (defined explicitly for timing and tracing) More... | |
ObsVector_ & | obsvector () |
Accessor. More... | |
const ObsVector_ & | obsvector () const |
Const accessor. More... | |
ObsVector & | operator= (const ObsVector &) |
Linear algebra operators. More... | |
ObsVector & | operator*= (const double &) |
ObsVector & | operator+= (const ObsVector &) |
ObsVector & | operator-= (const ObsVector &) |
ObsVector & | operator*= (const ObsVector &) |
ObsVector & | operator/= (const ObsVector &) |
void | axpy (const double &zz, const ObsVector &rhs) |
Add zz * rhs to the ObsVector. More... | |
Eigen::VectorXd | packEigen (const ObsVector &mask) const |
size_t | packEigenSize (const ObsVector &mask) const |
void | zero () |
Zero out this ObsVector. More... | |
void | ones () |
Set this ObsVector to ones (used in tests) More... | |
void | invert () |
Set each value in this ObsVector to its inverse. More... | |
void | random () |
Set each value in this ObsVector to a random value. More... | |
double | dot_product_with (const ObsVector &other) const |
Return the dot product between this ObsVector and another one other . More... | |
double | rms () const |
Return this ObsVector rms. More... | |
void | mask (const ObsDataVector< OBS, int > &mask) |
Mask out elements of the vector where mask is > 0. More... | |
void | mask (const ObsVector &mask) |
Mask out elements of the vector where mask is a missing value. More... | |
ObsVector & | operator= (const ObsDataVector< OBS, float > &rhs) |
Assignment operator from rhs ObsDataVector<OBS, float> More... | |
void | save (const std::string &) const |
Save this ObsVector as group name in the ObsSpace. More... | |
void | read (const std::string &) |
Fill ObsVector with data with group name from the associated ObsSpace. More... | |
unsigned int | nobs () const |
Number of non-masked out observations (across all MPI tasks) More... | |
Static Public Member Functions | |
static const std::string | classname () |
![]() | |
static const std::string | classname () |
Private Types | |
typedef OBS::ObsVector | ObsVector_ |
Private Member Functions | |
void | print (std::ostream &) const |
Private Attributes | |
const eckit::mpi::Comm * | commTime_ |
ObsVector class used in oops; subclass of interface class interface::ObsVector.
Handles additional MPI communicator parameter commTime_
in the constructors (for MPI distribution in time, used in oops for 4DEnVar and weak-constraint 4DVar). Adds communication through time to norm and print methods.
Definition at line 34 of file oops/base/ObsVector.h.
|
private |
Definition at line 35 of file oops/base/ObsVector.h.
|
explicit |
Creates vector from obsspace
. If name
is specified, reads the specified name
variable from obsspace
. Otherwise, zero vector is created.
Definition at line 70 of file oops/base/ObsVector.h.
oops::ObsVector< OBS >::ObsVector | ( | std::unique_ptr< ObsVector_ > | obsvector, |
const eckit::mpi::Comm & | timeComm | ||
) |
Wraps an existing ObsVector_.
obsvector | The vector to wrap. |
timeComm | Time communicator. |
Definition at line 76 of file oops/base/ObsVector.h.
oops::ObsVector< OBS >::ObsVector | ( | const ObsVector< OBS > & | other | ) |
Copy constructor.
Definition at line 82 of file oops/base/ObsVector.h.
|
inlinestatic |
Definition at line 38 of file oops/base/ObsVector.h.
double oops::ObsVector< OBS >::dot_product_with | ( | const ObsVector< OBS > & | other | ) | const |
Return the dot product between this ObsVector and other
ObsVector.
Definition at line 88 of file oops/base/ObsVector.h.
unsigned int oops::ObsVector< OBS >::nobs |
Number of non-masked out observations (across all MPI tasks)
Definition at line 115 of file oops/base/ObsVector.h.
|
private |
Definition at line 124 of file oops/base/ObsVector.h.
double oops::ObsVector< OBS >::rms |
Return this ObsVector rms.
Definition at line 97 of file oops/base/ObsVector.h.
|
private |
Definition at line 64 of file oops/base/ObsVector.h.