UFO
ufo::ProfileIndices Class Reference

Determine indices of observations making up individual profiles. The indices are computed with respect to the entire sample of observations. Used to extract relevant data and flags from the entire sample. More...

#include <ProfileIndices.h>

Collaboration diagram for ufo::ProfileIndices:

Public Types

typedef std::map< std::size_t, std::vector< std::size_t > > ProfIdxMap
 Profile index map. More...
 
typedef ProfIdxMap::const_iterator ProfIdxIter
 Profile index map iterator. More...
 

Public Member Functions

 ProfileIndices (ioda::ObsSpace &obsdb, const ProfileConsistencyCheckParameters &options, const std::vector< bool > &apply)
 
void determineProfileIndices ()
 Determine indices in entire sample for this profile. More...
 
const std::vector< size_t > & getProfileIndices () const
 Return indices for the current profile. More...
 
int getNumLevelsToCheck () const
 Return number of levels to which QC checks should be applied. More...
 
size_t getProfileNumCurrent () const
 Get number of current profile. More...
 

Private Member Functions

void validateTotalNumProf ()
 

Private Attributes

ioda::ObsSpace & obsdb_
 Observation database. More...
 
const ProfileConsistencyCheckParametersoptions_
 Configurable parameters. More...
 
const std::vector< bool > & apply_
 Observations to apply the filter to. More...
 
const std::vector< size_t > profileNums_
 Profile numbers for the entire sample. More...
 
ProfIdxMap profidx_
 Iterator over profile indices (used for sorting). More...
 
ProfIdxIter profidx_current_
 Iterator pointing to current profile index (initially points to beginning). More...
 
std::vector< size_t > profileIndices_
 Indices for this profile. More...
 
int numLevelsToCheck_
 Number of profile levels to which QC checks should be applied. More...
 
size_t profileNumCurrent_
 Current profile number in the sample. More...
 
size_t profileNumToFind_
 Next profile number to find in the sample. More...
 
size_t profIndex_
 

Detailed Description

Determine indices of observations making up individual profiles. The indices are computed with respect to the entire sample of observations. Used to extract relevant data and flags from the entire sample.

It is important to distinguish between:

  1. profile indices, which indicate the position of the profile's observations in the entire sample of observations,
  2. profile numbers, which are assigned to entire profiles and only change when a new profile is reached.

Definition at line 39 of file ProfileIndices.h.

Member Typedef Documentation

◆ ProfIdxIter

typedef ProfIdxMap::const_iterator ufo::ProfileIndices::ProfIdxIter

Profile index map iterator.

Definition at line 61 of file ProfileIndices.h.

◆ ProfIdxMap

typedef std::map<std::size_t, std::vector<std::size_t> > ufo::ProfileIndices::ProfIdxMap

Profile index map.

Definition at line 58 of file ProfileIndices.h.

Constructor & Destructor Documentation

◆ ProfileIndices()

ufo::ProfileIndices::ProfileIndices ( ioda::ObsSpace &  obsdb,
const ProfileConsistencyCheckParameters options,
const std::vector< bool > &  apply 
)

Definition at line 14 of file ProfileIndices.cc.

Here is the call graph for this function:

Member Function Documentation

◆ determineProfileIndices()

void ufo::ProfileIndices::determineProfileIndices ( )

Determine indices in entire sample for this profile.

Definition at line 40 of file ProfileIndices.cc.

Here is the caller graph for this function:

◆ getNumLevelsToCheck()

int ufo::ProfileIndices::getNumLevelsToCheck ( ) const
inline

Return number of levels to which QC checks should be applied.

Definition at line 52 of file ProfileIndices.h.

Here is the caller graph for this function:

◆ getProfileIndices()

const std::vector<size_t>& ufo::ProfileIndices::getProfileIndices ( ) const
inline

Return indices for the current profile.

Definition at line 49 of file ProfileIndices.h.

Here is the caller graph for this function:

◆ getProfileNumCurrent()

size_t ufo::ProfileIndices::getProfileNumCurrent ( ) const
inline

Get number of current profile.

Definition at line 55 of file ProfileIndices.h.

Here is the caller graph for this function:

◆ validateTotalNumProf()

void ufo::ProfileIndices::validateTotalNumProf ( )
private

Definition at line 110 of file ProfileIndices.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ apply_

const std::vector<bool>& ufo::ProfileIndices::apply_
private

Observations to apply the filter to.

Definition at line 75 of file ProfileIndices.h.

◆ numLevelsToCheck_

int ufo::ProfileIndices::numLevelsToCheck_
private

Number of profile levels to which QC checks should be applied.

Definition at line 90 of file ProfileIndices.h.

◆ obsdb_

ioda::ObsSpace& ufo::ProfileIndices::obsdb_
private

Observation database.

Definition at line 69 of file ProfileIndices.h.

◆ options_

const ProfileConsistencyCheckParameters& ufo::ProfileIndices::options_
private

Configurable parameters.

Definition at line 72 of file ProfileIndices.h.

◆ profidx_

ProfIdxMap ufo::ProfileIndices::profidx_
private

Iterator over profile indices (used for sorting).

Definition at line 81 of file ProfileIndices.h.

◆ profidx_current_

ProfIdxIter ufo::ProfileIndices::profidx_current_
private

Iterator pointing to current profile index (initially points to beginning).

Definition at line 84 of file ProfileIndices.h.

◆ profileIndices_

std::vector<size_t> ufo::ProfileIndices::profileIndices_
private

Indices for this profile.

Definition at line 87 of file ProfileIndices.h.

◆ profileNumCurrent_

size_t ufo::ProfileIndices::profileNumCurrent_
private

Current profile number in the sample.

Definition at line 93 of file ProfileIndices.h.

◆ profileNums_

const std::vector<size_t> ufo::ProfileIndices::profileNums_
private

Profile numbers for the entire sample.

Definition at line 78 of file ProfileIndices.h.

◆ profileNumToFind_

size_t ufo::ProfileIndices::profileNumToFind_
private

Next profile number to find in the sample.

Definition at line 96 of file ProfileIndices.h.

◆ profIndex_

size_t ufo::ProfileIndices::profIndex_
private

Definition at line 99 of file ProfileIndices.h.


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