15 #include "eckit/config/LocalConfiguration.h" 
   17 #include "ioda/core/IodaUtils.h" 
   18 #include "ioda/distribution/Distribution.h" 
   22 #include "oops/util/Logger.h" 
   23 #include "oops/util/Printable.h" 
   36 class ObsIo : 
public util::Printable {
 
  117     virtual void print(std::ostream & os) 
const = 0;
 
Describe the dimensions of a ioda::Attribute or ioda::Variable.
 
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.
 
An ObsGroup is a specialization of a ioda::Group. It provides convenience functions and guarantees th...
 
Dimensions_t max_var_size_
maximum variable size (ie, first dimension size)
 
const VarNameObjectList & dimVarList() const
return list of dimension scale variable names
 
void updateVarDimInfo()
update the variable and dimension information
 
virtual void print(std::ostream &os) const =0
print() for oops::Printable base class
 
Has_Variables & vars()
access to the variables container in the associated ObsGroup
 
Dimensions_t nlocs_
number of locations from source (file or generator)
 
VarDimMap varDimMap() const
return map of variables to attached dimension scales
 
VarNameObjectList var_list_
list of regular variables from source (file or generator)
 
std::vector< std::string > obs_grouping_vars_
names of variables to be used to group observations into records
 
Has_Attributes & atts()
access to the attributes container in the associated ObsGroup
 
VarNameObjectList dim_var_list_
list of dimension scale variables from source (file or generator)
 
virtual bool applyTimingWindow() const
return true if only observations within the timing window should be retained, false otherwise.
 
Dimensions_t numLocs() const
return number of locations from the source
 
Dimensions_t numVars() const
return number of regular variables from the source
 
VarDimMap dims_attached_to_vars_
map containing variables with their attached dimension scales
 
bool isVarDimByNlocs(const std::string &varName) const
return true if variable's first dimension is nlocs
 
const std::vector< std::string > & obsGroupingVars() const
return the names of variables to be used to group observations into records
 
ObsGroup obs_group_
ObsGroup object representing io source/destination.
 
Dimensions_t numDimVars() const
return number of dimension scale variables from the source
 
Dimensions_t maxVarSize() const
return number of maximum variable size (along first dimension)
 
virtual bool eachProcessGeneratesSeparateObs() const
return true if each process generates a separate series of observations (e.g. read from different fil...
 
const VarNameObjectList & varList() const
return list of regular variable names
 
Has_Attributes atts
Use this to access the metadata for the group / ObsSpace.
 
Has_Variables vars
Use this to access variables.
 
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