|
IODA
|
#include <Variables.hpp>


Public Member Functions | |
| Variable () | |
| Variable (const std::vector< Dimensions_t > &dimensions, const std::vector< Dimensions_t > &max_dimensions, const ObsTypes &dtype, const VarCreateParams ¶ms) | |
| ~Variable () | |
| std::vector< Dimensions_t > | get_dimensions () const |
| returns dimension sizes More... | |
| std::vector< Dimensions_t > | get_max_dimensions () const |
| returns maximum dimension sizes More... | |
| void | resize (const std::vector< Dimensions_t > &new_dim_sizes) |
| resizes dimensions (but cannot change dimensions themselves) More... | |
| bool | isOfType (ObsTypes dtype) const |
| returns true if requested type matches stored type More... | |
| std::pair< ObsTypes, size_t > | dtype () const |
| returns the data type. More... | |
| bool | hasFillValue () const |
| Is there an associated fill value? More... | |
| detail::FillValueData_t | getFillValue () const |
| Get the fill value. More... | |
| void | attachDimensionScale (const std::size_t dim_number, const std::shared_ptr< Variable > scale) |
| attach another variable to serve as a scale (holds coordinate values) More... | |
| void | detachDimensionScale (const std::size_t dim_number, const std::shared_ptr< Variable > scale) |
| detach another variable that is servingas a scale (coordinate values) More... | |
| bool | isDimensionScale () const |
| returns true if this is being used as a scale for another variable More... | |
| void | setIsDimensionScale (const std::string &name) |
| set this variable as a dimension scale More... | |
| void | getDimensionScaleName (std::string &name) const |
| get the dimension scale name More... | |
| bool | isDimensionScaleAttached (const std::size_t dim_number, const std::shared_ptr< Variable > scale) const |
| return true if the scale is attached to this variable More... | |
| std::shared_ptr< Variable > | write (gsl::span< char > data, ObsTypes dtype, Selection &m_select, Selection &f_select) |
| transfer data to variable storage More... | |
| std::shared_ptr< Variable > | read (gsl::span< char > data, ObsTypes dtype, Selection &m_select, Selection &f_select) |
| transfer data from variable storage More... | |
Public Attributes | |
| std::shared_ptr< Has_Attributes > | atts |
| container for variable attributes More... | |
| std::shared_ptr< Has_Attributes > | impl_atts |
| implementation-specific attribute storage. Fill values, chunking, compression settings, etc. Stuff that shouldn't be directly visible to the client without using a dedicated function. More... | |
Private Attributes | |
| std::vector< Dimensions_t > | dimensions_ |
| dimension sizes (length is rank of dimensions) More... | |
| std::vector< Dimensions_t > | max_dimensions_ |
| maximum dimension sizes (for resizing) More... | |
| ObsTypes | dtype_ = ObsTypes::NOTYPE |
| ObsStore data type. More... | |
| std::size_t | dtype_size_ = 0 |
| ObsStore data type. More... | |
| detail::FillValueData_t | fvdata_ |
| Fill value information. More... | |
| std::unique_ptr< VarAttrStore_Base > | var_data_ |
| container for variable data values More... | |
| std::vector< std::shared_ptr< Variable > > | dim_scales_ |
| pointers to associated dimension scales More... | |
| bool | is_scale_ = false |
| true if this variable is a dimension scale More... | |
| std::string | scale_name_ |
| alias for this variable when it is serving as a dimension scale More... | |
Definition at line 49 of file Variables.hpp.
|
inline |
Definition at line 76 of file Variables.hpp.
| ioda::ObsStore::Variable::Variable | ( | const std::vector< Dimensions_t > & | dimensions, |
| const std::vector< Dimensions_t > & | max_dimensions, | ||
| const ObsTypes & | dtype, | ||
| const VarCreateParams & | params | ||
| ) |
|
inline |
Definition at line 80 of file Variables.hpp.
| void ioda::ObsStore::Variable::attachDimensionScale | ( | const std::size_t | dim_number, |
| const std::shared_ptr< Variable > | scale | ||
| ) |
attach another variable to serve as a scale (holds coordinate values)
| dim_number | dimension (by position) of which scale is associated |
| scale | variable serving as a scale |
Definition at line 102 of file Variables.cpp.
| void ioda::ObsStore::Variable::detachDimensionScale | ( | const std::size_t | dim_number, |
| const std::shared_ptr< Variable > | scale | ||
| ) |
detach another variable that is servingas a scale (coordinate values)
| dim_number | dimension (by position) of which scale is associated |
| scale | variable serving as a scale |
Definition at line 107 of file Variables.cpp.

|
inline |
returns the data type.
Definition at line 99 of file Variables.hpp.

| std::vector< Dimensions_t > ioda::ObsStore::Variable::get_dimensions | ( | ) | const |
returns dimension sizes
Definition at line 60 of file Variables.cpp.
| std::vector< Dimensions_t > ioda::ObsStore::Variable::get_max_dimensions | ( | ) | const |
returns maximum dimension sizes
Definition at line 62 of file Variables.cpp.
| void ioda::ObsStore::Variable::getDimensionScaleName | ( | std::string & | name | ) | const |
get the dimension scale name
| name | name for this dimension scale |
Definition at line 122 of file Variables.cpp.
| detail::FillValueData_t ioda::ObsStore::Variable::getFillValue | ( | ) | const |
Get the fill value.
Definition at line 100 of file Variables.cpp.
| bool ioda::ObsStore::Variable::hasFillValue | ( | ) | const |
Is there an associated fill value?
Definition at line 98 of file Variables.cpp.
| bool ioda::ObsStore::Variable::isDimensionScale | ( | ) | const |
returns true if this is being used as a scale for another variable
Definition at line 115 of file Variables.cpp.
| bool ioda::ObsStore::Variable::isDimensionScaleAttached | ( | const std::size_t | dim_number, |
| const std::shared_ptr< Variable > | scale | ||
| ) | const |
return true if the scale is attached to this variable
| name | name for this dimension scale |
Definition at line 124 of file Variables.cpp.
| bool ioda::ObsStore::Variable::isOfType | ( | ObsTypes | dtype | ) | const |
returns true if requested type matches stored type
Definition at line 96 of file Variables.cpp.

| std::shared_ptr< Variable > ioda::ObsStore::Variable::read | ( | gsl::span< char > | data, |
| ObsTypes | dtype, | ||
| Selection & | m_select, | ||
| Selection & | f_select | ||
| ) |
transfer data from variable storage
| data | contiguous block of data to transfer |
| m_select | Selection ojbect: how to select to data argument |
| f_select | Selection ojbect: how to select from variable storage |
Definition at line 138 of file Variables.cpp.

| void ioda::ObsStore::Variable::resize | ( | const std::vector< Dimensions_t > & | new_dim_sizes | ) |
resizes dimensions (but cannot change dimensions themselves)
| new_dim_sizes | new extents for each dimension |
Definition at line 64 of file Variables.cpp.


| void ioda::ObsStore::Variable::setIsDimensionScale | ( | const std::string & | name | ) |
set this variable as a dimension scale
| name | name for this dimension scale |
Definition at line 117 of file Variables.cpp.
| std::shared_ptr< Variable > ioda::ObsStore::Variable::write | ( | gsl::span< char > | data, |
| ObsTypes | dtype, | ||
| Selection & | m_select, | ||
| Selection & | f_select | ||
| ) |
transfer data to variable storage
| data | contiguous block of data to transfer |
| m_select | Selection ojbect: how to select from data argument |
| f_select | Selection ojbect: how to select to variable storage |
Definition at line 129 of file Variables.cpp.


| std::shared_ptr<Has_Attributes> ioda::ObsStore::Variable::atts |
container for variable attributes
Definition at line 83 of file Variables.hpp.
|
private |
pointers to associated dimension scales
Definition at line 67 of file Variables.hpp.
|
private |
dimension sizes (length is rank of dimensions)
Definition at line 52 of file Variables.hpp.
|
private |
ObsStore data type.
Definition at line 56 of file Variables.hpp.
|
private |
ObsStore data type.
Definition at line 58 of file Variables.hpp.
|
private |
Fill value information.
Definition at line 61 of file Variables.hpp.
| std::shared_ptr<Has_Attributes> ioda::ObsStore::Variable::impl_atts |
implementation-specific attribute storage. Fill values, chunking, compression settings, etc. Stuff that shouldn't be directly visible to the client without using a dedicated function.
Definition at line 87 of file Variables.hpp.
|
private |
true if this variable is a dimension scale
Definition at line 70 of file Variables.hpp.
|
private |
maximum dimension sizes (for resizing)
Definition at line 54 of file Variables.hpp.
|
private |
alias for this variable when it is serving as a dimension scale
Definition at line 73 of file Variables.hpp.
|
private |
container for variable data values
Definition at line 64 of file Variables.hpp.