| 
    IODA
    
   | 
 
An ObsGroup is a specialization of a ioda::Group. It provides convenience functions and guarantees that the ioda data are well-formed. More...
#include <ObsGroup.h>


Public Member Functions | |
| ObsGroup (Group g, std::shared_ptr< const detail::DataLayoutPolicy > layout=nullptr) | |
| ObsGroup () | |
| virtual | ~ObsGroup () | 
| void | resize (const std::vector< std::pair< Variable, ioda::Dimensions_t >> &newDims) | 
| Resize a Dimension and every Variable that depends on it.  More... | |
  Public Member Functions inherited from ioda::Group | |
| Group () | |
| Group (std::shared_ptr< detail::Group_Backend >) | |
| virtual | ~Group () | 
  Public Member Functions inherited from ioda::detail::Group_Base | |
| virtual | ~Group_Base () | 
| virtual ::ioda::Engines::Capabilities | getCapabilities () const | 
| Get capabilities of the Engine backing this Group.  More... | |
| virtual FillValuePolicy | getFillValuePolicy () const | 
| Get the fill value policy used for Variables within this Group.  More... | |
| std::vector< std::string > | list () const | 
| List all one-level child groups in this group.  More... | |
| std::vector< std::string > | groups () const | 
| Same as list(). Uniform semantics with atts() and vars().  More... | |
| virtual std::map< ObjectType, std::vector< std::string > > | listObjects (ObjectType filter=ObjectType::Ignored, bool recurse=false) const | 
| List all objects (groups + variables) within this group.  More... | |
| template<ObjectType objectClass> | |
| std::vector< std::string > | listObjects (bool recurse=false) const | 
| virtual bool | exists (const std::string &name) const | 
| virtual Group | create (const std::string &name) | 
| Create a group.  More... | |
| virtual Group | open (const std::string &name) const | 
| Open a group.  More... | |
Static Public Member Functions | |
| static ObsGroup | generate (Group &emptyGroup, const NewDimensionScales_t &fundamentalDims, std::shared_ptr< const detail::DataLayoutPolicy > layout=nullptr) | 
| Create an empty ObsGroup and populate it with the fundamental dimensions.  More... | |
Private Member Functions | |
| void | setLayout (std::shared_ptr< const detail::DataLayoutPolicy >) | 
| Set the mapping policy to determine the Layout of Variables stored under this Group.  More... | |
| void | setup (const NewDimensionScales_t &fundamentalDims, std::shared_ptr< const detail::DataLayoutPolicy > layout) | 
| Create ObsGroup objects.  More... | |
Static Private Member Functions | |
| static void | resizeVars (Group &g, const std::vector< std::pair< Variable, ioda::Dimensions_t >> &newDims) | 
| recusively visit all groups and resize variables according to newDims.  More... | |
Private Attributes | |
| std::shared_ptr< const detail::DataLayoutPolicy > | layout_ | 
| Mapping policy.  More... | |
Static Private Attributes | |
| static const int | current_schema_version_ | 
| Identifies the current version of the ObsGroup schema.  More... | |
Additional Inherited Members | |
  Public Attributes inherited from ioda::detail::Group_Base | |
| Has_Attributes | atts | 
| Use this to access the metadata for the group / ObsSpace.  More... | |
| Has_Variables | vars | 
| Use this to access variables.  More... | |
  Protected Member Functions inherited from ioda::detail::Group_Base | |
| Group_Base (std::shared_ptr< Group_Backend >) | |
An ObsGroup is a specialization of a ioda::Group. It provides convenience functions and guarantees that the ioda data are well-formed.
Definition at line 32 of file ObsGroup.h.
| ioda::ObsGroup::ObsGroup | ( | Group | g, | 
| std::shared_ptr< const detail::DataLayoutPolicy > | layout = nullptr  | 
        ||
| ) | 
Definition at line 20 of file ObsGroup.cpp.

      
  | 
  default | 
      
  | 
  virtualdefault | 
      
  | 
  static | 
Create an empty ObsGroup and populate it with the fundamental dimensions.
| emptyGroup | is an empty Group that will be filled with the ObsGroup. | 
| fundamentalDims | is a collection of dimension names, data types and dimension types (horizontal, vertical, temporal, other) that define the basic dimensiosn of the ObsGroup. | 
| layout | describes how the ObsGroup arranges its data internally. Use nullptr to select the default policy. | 
Definition at line 72 of file ObsGroup.cpp.

| void ioda::ObsGroup::resize | ( | const std::vector< std::pair< Variable, ioda::Dimensions_t >> & | newDims | ) | 
Resize a Dimension and every Variable that depends on it.
This operation is recursive on all objects within the Group.
| if | the input is not a dimension. | 
| newDims | is a vector of pairs of the Dimension and its new size. If the dimension shrinks, then any data are truncated. If it grows, then data are set to the fill value. | 
Definition at line 85 of file ObsGroup.cpp.


      
  | 
  staticprivate | 
recusively visit all groups and resize variables according to newDims.
| group | Current group in traversal | 
| newDims | Vector of pairs of Dimension and new size | 
Definition at line 101 of file ObsGroup.cpp.

      
  | 
  private | 
Set the mapping policy to determine the Layout of Variables stored under this Group.
Definition at line 33 of file ObsGroup.cpp.


      
  | 
  private | 
Create ObsGroup objects.
Definition at line 43 of file ObsGroup.cpp.

      
  | 
  staticprivate | 
Identifies the current version of the ObsGroup schema.
Definition at line 34 of file ObsGroup.h.
      
  | 
  private | 
Mapping policy.
Definition at line 39 of file ObsGroup.h.