|
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.