15 #include "eckit/config/LocalConfiguration.h"
42 std::vector<ioda::Dimensions_t>
chunks;
55 template<
typename T,
typename A>
70 template<
typename U =
void>
79 template<
typename U =
void>
84 {
static_cast<int>(
value.size())});
107 void addGlobal(
const std::shared_ptr<GlobalDescriptionBase>& global);
Definitions for setting up backends with file and memory I/O.
Interfaces for ioda::Group and related classes.
Describes how to write data to IODA.
ioda::Engines::BackendNames getBackend() const
std::string filepath_
The relative path of the output file to create.
void addDimension(const DimensionDescription &scale)
Add Dimension defenition.
VariableDescriptions getVariables() const
VariableDescriptions variables_
Collection of defined variables.
GlobalDescriptions getGlobals() const
void addVariable(const VariableDescription &variable)
Add Variable defenition.
std::string getFilepath() const
void setBackend(const ioda::Engines::BackendNames &backend)
void addGlobal(const std::shared_ptr< GlobalDescriptionBase > &global)
Add Globals defenition.
ioda::Engines::BackendNames backend_
The backend type to use.
IodaDescription()=default
GlobalDescriptions globals_
Collection of defined globals.
DimDescriptions getDims() const
void setFilepath(const std::string &filepath)
DimDescriptions dimensions_
Collection of defined dimensions.
This class represents attributes, which may be attached to both Variables and Groups.
Groups are a new implementation of ObsSpaces.
virtual Attribute_Implementation write(gsl::span< char > data, const Type &type)
The fundamental write function. Backends overload this function to implement all write operations.
Has_Attributes atts
Use this to access the metadata for the group / ObsSpace.
virtual Attribute create(const std::string &attrname, const Type &in_memory_dataType, const std::vector< Dimensions_t > &dimensions={1})
Create an Attribute without setting its data.
BackendNames
Backend names.
std::vector< DimensionDescription > DimDescriptions
std::vector< std::shared_ptr< GlobalDescriptionBase > > GlobalDescriptions
std::vector< VariableDescription > VariableDescriptions
character(maxvarlen) function variable(this, jj)
virtual void addTo(ioda::Group &group)=0
void _addTo(ioda::Group &group, typename std::enable_if<!is_vector< T >::value, U >::type *=nullptr)
void addTo(ioda::Group &group) final
void _addTo(ioda::Group &group, typename std::enable_if< is_vector< T >::value, U >::type *=nullptr)
std::shared_ptr< Range > range
std::shared_ptr< std::string > coordinates
std::vector< std::string > dimensions
std::vector< ioda::Dimensions_t > chunks