IODA
DistributionUtils.cc File Reference
#include "eckit/config/LocalConfiguration.h"
#include "ioda/distribution/Accumulator.h"
#include "ioda/distribution/Distribution.h"
#include "ioda/distribution/DistributionUtils.h"
#include "ioda/distribution/InefficientDistribution.h"
#include "ioda/distribution/ReplicaOfNonoverlappingDistribution.h"
#include "ioda/distribution/ReplicaOfGeneralDistribution.h"
#include "oops/util/DateTime.h"
#include "oops/util/missingValues.h"
Include dependency graph for DistributionUtils.cc:

Go to the source code of this file.

Namespaces

 ioda
 
 ioda::anonymous_namespace{DistributionUtils.cc}
 

Functions

template<typename T >
std::size_t ioda::anonymous_namespace{DistributionUtils.cc}::globalNumNonMissingObsImpl (const Distribution &dist, std::size_t numVariables, const std::vector< T > &v)
 
template<typename T >
double ioda::anonymous_namespace{DistributionUtils.cc}::dotProductImpl (const Distribution &dist, std::size_t numVariables, const std::vector< T > &v1, const std::vector< T > &v2)
 
double ioda::dotProduct (const Distribution &dist, std::size_t numVariables, const std::vector< double > &v1, const std::vector< double > &v2)
 
double ioda::dotProduct (const Distribution &dist, std::size_t numVariables, const std::vector< float > &v1, const std::vector< float > &v2)
 
double ioda::dotProduct (const Distribution &dist, std::size_t numVariables, const std::vector< int > &v1, const std::vector< int > &v2)
 
std::size_t ioda::globalNumNonMissingObs (const Distribution &dist, std::size_t numVariables, const std::vector< double > &v)
 
std::size_t ioda::globalNumNonMissingObs (const Distribution &dist, std::size_t numVariables, const std::vector< float > &v)
 
std::size_t ioda::globalNumNonMissingObs (const Distribution &dist, std::size_t numVariables, const std::vector< int > &v)
 
std::size_t ioda::globalNumNonMissingObs (const Distribution &dist, std::size_t numVariables, const std::vector< std::string > &v)
 
std::size_t ioda::globalNumNonMissingObs (const Distribution &dist, std::size_t numVariables, const std::vector< util::DateTime > &v)
 
std::shared_ptr< Distribution > ioda::createReplicaDistribution (const eckit::mpi::Comm &comm, std::shared_ptr< const Distribution > master, const std::vector< std::size_t > &masterRecordNums)
 Create a suitable replica distribution for the distribution master. More...