15 #include "eckit/config/LocalConfiguration.h" 
   18 #include "ioda/core/IodaUtils.h" 
   19 #include "ioda/io/ObsIo.h" 
   21 #include "ioda/ObsSpaceParameters.h" 
   24 #include "oops/util/Logger.h" 
   25 #include "oops/util/Printable.h" 
   77         return obs_io_->isVarDimByNlocs(varName);
 
   93     virtual std::vector<std::size_t> 
index()
 const {
return std::vector<std::size_t>{};}
 
   96     virtual std::vector<std::size_t> 
recnums()
 const {
return std::vector<std::size_t>{};}
 
  108                            const VarDimMap & varDimMap, 
const Dimensions_t maxVarSize) {}
 
  130     virtual Dimensions_t 
frameCount(
const std::string & varName) = 0;
 
  215     virtual void print(std::ostream & os) 
const = 0;
 
Describe the dimensions of a ioda::Attribute or ioda::Variable.
 
Interfaces for ioda::ObsGroup and related classes.
 
Interfaces  for ioda::Variable and related classes.
 
This class exists inside of ioda::Group or ioda::Variable and provides the interface to manipulating ...
 
This class exists inside of ioda::Group and provides the interface to manipulating Variables.
 
bool ioIsVarDimByNlocs(const std::string &varName) const
return true if variable is dimensioned by nlocs
 
Dimensions_t nlocs_
number of locations from source (file or generator)
 
std::shared_ptr< ObsIo > obs_io_
ObsIo object.
 
Selection createMemSelection(const std::vector< Dimensions_t > &varShape, const Dimensions_t frameCount)
create selection object for accessing a memory buffer
 
virtual void frameNext()
move to the next frame for a read frame object
 
Dimensions_t ioMaxVarSize() const
return number of maximum variable size (along first dimension) from ObsIo
 
Dimensions_t ioNumDimVars() const
return number of dimension scale variables from ObsIo
 
virtual bool frameAvailable()=0
true if a frame is available (not past end of frames)
 
virtual void frameInit()
initialize frame for a read frame object
 
virtual std::size_t frameNumLocs() const
return number of locations
 
const VarNameObjectList & ioVarList() const
return list of regular variables from ObsIo
 
void createFrameFromObsGroup(const VarNameObjectList &varList, const VarNameObjectList &dimVarList, const VarDimMap &varDimMap)
create a frame object based on dimensions and variables from a source ObsGroup
 
virtual Dimensions_t adjNlocsFrameStart() const
return adjusted nlocs frame start
 
Dimensions_t max_frame_size_
maximum frame size
 
virtual Dimensions_t frameCount(const std::string &varName)=0
return current frame count for variable
 
Dimensions_t ioNumVars() const
return number of regular variables from ObsIo
 
Dimensions_t max_var_size_
maximum variable size
 
VarDimMap ioVarDimMap() const
return map from variables to their attached dimension scales
 
Dimensions_t ioNumLocs() const
return number of locations from ObsIo
 
Dimensions_t globalNumLocs() const
return number of locations that were selected from ObsIo
 
const VarNameObjectList & ioDimVarList() const
return list of dimension scale variables from ObsIo
 
Selection createEntireFrameSelection(const std::vector< Dimensions_t > &varShape, const Dimensions_t frameCount)
create selection object for accessing the entire frame variable
 
Selection createVarSelection(const std::vector< Dimensions_t > &varShape, const Dimensions_t frameStart, const Dimensions_t frameCount)
create selection object for accessing a frame from a whole variable
 
Has_Attributes & atts() const
return attributes container from ObsIo
 
Dimensions_t frame_start_
current frame starting index
 
void ioUpdateVarDimInfo() const
update variable, dimension info in the ObsIo object
 
virtual void frameInit(const VarNameObjectList &varList, const VarNameObjectList &varDimList, const VarDimMap &varDimMap, const Dimensions_t maxVarSize)
initialize for a write frame object
 
virtual void frameNext(const VarNameObjectList &varList)
move to the next frame for a write frame object
 
Selection createObsIoSelection(const std::vector< Dimensions_t > &varShape, const Dimensions_t frameStart, const Dimensions_t frameCount)
create selection object for accessing an ObsIo variable
 
ObsFrame(const ObsSpaceParameters ¶ms)
 
Dimensions_t gnlocs_outside_timewindow_
number of nlocs from the file (gnlocs) that are outside the time window
 
virtual Dimensions_t frameStart()=0
return current frame starting index
 
Dimensions_t globalNumLocsOutsideTimeWindow() const
return number of locations from obs source that were outside the time window
 
Dimensions_t gnlocs_
total number of locations from source (file or generator) that were selected after the timing window ...
 
virtual Dimensions_t adjNlocsFrameCount() const
return adjusted nlocs frame count
 
virtual std::vector< std::size_t > recnums() const
return list of record numbers from ObsIo
 
virtual void print(std::ostream &os) const =0
print() for oops::Printable base class
 
Has_Variables & vars() const
return variables container from ObsIo
 
Dimensions_t nrecs_
number of records from source (file or generator)
 
virtual std::vector< std::size_t > index() const
return list of indices indicating which locations were selected from ObsIo
 
ObsSpaceParameters params_
ObsIo parameter specs.
 
ObsGroup obs_frame_
ObsGroup object (temporary storage for a single frame)
 
virtual std::size_t frameNumRecs() const
return number of records
 
An ObsGroup is a specialization of a ioda::Group. It provides convenience functions and guarantees th...
 
A Selection represents the bounds of the data, in ioda or in userspace, that you are reading or writi...
 
std::vector< std::pair< std::string, Variable > > VarNameObjectList
typedef for holding list of variable names with associated variable object
 
std::map< std::string, std::vector< std::string > > VarDimMap
typedef for holding dim names attached to variables