UFO
|
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>
Public Member Functions | |
ProfileIndices (ioda::ObsSpace &obsdb, const DataHandlerParameters &options, const std::vector< bool > &apply) | |
void | updateNextProfileIndices () |
Determine indices in entire sample for the next profile. More... | |
const std::vector< size_t > & | getProfileIndices () const |
Return indices for the current profile. More... | |
int | getNumProfileLevels () const |
Return number of levels to which QC checks should be applied. More... | |
size_t | getProfileNumCurrent () const |
Get number of current profile, accounting for distribution across processors. More... | |
void | reset () |
Reset profile indices to point to the beginning of the sample. More... | |
Private 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... | |
Private Member Functions | |
void | validateTotalNumProf () |
Ensure number of profiles is consistent with quantity reported by obsdb. More... | |
Private Attributes | |
ioda::ObsSpace & | obsdb_ |
Observation database. More... | |
const DataHandlerParameters & | options_ |
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... | |
std::set< size_t > | uniqueProfileNums_ |
Unique 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 | numProfileLevels_ |
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_ |
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:
Definition at line 40 of file ProfileIndices.h.
|
private |
Profile index map iterator.
Definition at line 85 of file ProfileIndices.h.
|
private |
Profile index map.
Definition at line 82 of file ProfileIndices.h.
ufo::ProfileIndices::ProfileIndices | ( | ioda::ObsSpace & | obsdb, |
const DataHandlerParameters & | options, | ||
const std::vector< bool > & | apply | ||
) |
|
inline |
Return number of levels to which QC checks should be applied.
Definition at line 53 of file ProfileIndices.h.
|
inline |
Return indices for the current profile.
Definition at line 50 of file ProfileIndices.h.
size_t ufo::ProfileIndices::getProfileNumCurrent | ( | ) | const |
Get number of current profile, accounting for distribution across processors.
Definition at line 125 of file ProfileIndices.cc.
void ufo::ProfileIndices::reset | ( | ) |
Reset profile indices to point to the beginning of the sample.
Definition at line 38 of file ProfileIndices.cc.
void ufo::ProfileIndices::updateNextProfileIndices | ( | ) |
Determine indices in entire sample for the next profile.
Definition at line 55 of file ProfileIndices.cc.
|
private |
Ensure number of profiles is consistent with quantity reported by obsdb.
Definition at line 131 of file ProfileIndices.cc.
|
private |
Observations to apply the filter to.
Definition at line 73 of file ProfileIndices.h.
|
private |
Number of profile levels to which QC checks should be applied.
Definition at line 97 of file ProfileIndices.h.
|
private |
Observation database.
Definition at line 67 of file ProfileIndices.h.
|
private |
Configurable parameters.
Definition at line 70 of file ProfileIndices.h.
|
private |
Iterator over profile indices (used for sorting).
Definition at line 88 of file ProfileIndices.h.
|
private |
Iterator pointing to current profile index (initially points to beginning).
Definition at line 91 of file ProfileIndices.h.
|
private |
Indices for this profile.
Definition at line 94 of file ProfileIndices.h.
|
private |
Current profile number in the sample.
Definition at line 100 of file ProfileIndices.h.
|
private |
Profile numbers for the entire sample.
Definition at line 76 of file ProfileIndices.h.
|
private |
Next profile number to find in the sample.
Definition at line 103 of file ProfileIndices.h.
|
private |
Definition at line 106 of file ProfileIndices.h.
|
private |
Unique profile numbers for the entire sample.
Definition at line 79 of file ProfileIndices.h.