| 
    IODA
    
   | 
 
Provides the C-style interface for ioda::Variable objects. More...

Modules | |
| ioda_variable_isa | |
| Checks a variable's type.  | |
| ioda_variable_write_full | |
| Write an entire variable.  | |
| ioda_variable_read_full | |
| Read an entire variable.  | |
Files | |
| file | Variable_c.h | 
| C bindings  for ioda::Variable  | |
| file | Variable_c.cpp | 
| C bindings  for ioda::Variable  | |
Classes | |
| struct | c_variable | 
| Class-like encapsulation of C variable functions.  More... | |
Macros | |
| #define | IODA_VARIABLE_ISA_IMPL(funcnamestr, Type) | 
| #define | IODA_VARIABLE_WRITE_FULL(funcnamestr, Type) | 
| #define | IODA_VARIABLE_READ_FULL(funcnamestr, Type) | 
Functions | |
| IODA_DL void | ioda_variable_destruct (struct ioda_variable *var) | 
| Deallocates an variable.  More... | |
| IODA_DL struct ioda_has_attributes * | ioda_variable_atts (const struct ioda_variable *var) | 
| Access a variable's attributes.  More... | |
| IODA_DL struct ioda_dimensions * | ioda_variable_get_dimensions (const struct ioda_variable *) | 
| Gets an variable's dimensions.  More... | |
| IODA_DL bool | ioda_variable_resize (struct ioda_variable *var, size_t N, const long *newDims) | 
| Resize a variable.  More... | |
| IODA_DL bool | ioda_variable_attachDimensionScale (struct ioda_variable *var, unsigned int DimensionNumber, const struct ioda_variable *scale) | 
| Attach a dimension scale to a variable.  More... | |
| IODA_DL bool | ioda_variable_detachDimensionScale (struct ioda_variable *var, unsigned int DimensionNumber, const struct ioda_variable *scale) | 
| Detach a dimension scale from a variable.  More... | |
| IODA_DL bool | ioda_variable_setDimScale (struct ioda_variable *var, size_t n_dims, const struct ioda_variable *const *dims) | 
| Convenience function to set a sequence of scales on a variable.  More... | |
| IODA_DL int | ioda_variable_isDimensionScale (const struct ioda_variable *var) | 
| Check if a variable acts as a dimension scale.  More... | |
| IODA_DL bool | ioda_variable_setIsDimensionScale (struct ioda_variable *var, size_t sz_name, const char *dimensionScaleName) | 
| Convert a variable into a dimension scale.  More... | |
| IODA_DL size_t | ioda_variable_getDimensionScaleName (const struct ioda_variable *var, size_t len_out, char *out) | 
| Get the name of the dimension scale.  More... | |
| IODA_DL int | ioda_variable_isDimensionScaleAttached (const struct ioda_variable *var, unsigned int DimensionNumber, const struct ioda_variable *scale) | 
| Is the variable "scale" attached as dimension "DimensionNumber" to variable "var"?  More... | |
| ioda_has_attributes * | ioda_variable_atts (const ioda_variable *var) | 
| ioda_dimensions * | ioda_variable_get_dimensions (const ioda_variable *var) | 
| C_TEMPLATE_FUNCTION_DEFINITION (ioda_variable_isa, IODA_VARIABLE_ISA_IMPL) | |
| C_TEMPLATE_FUNCTION_DEFINITION_NOSTR (ioda_variable_write_full, IODA_VARIABLE_WRITE_FULL) | |
| IODA_DL bool | ioda_variable_write_full_str (ioda_variable *var, size_t sz, const char *const *vals) | 
| Write a sequence of strings to a variable.  More... | |
| C_TEMPLATE_FUNCTION_DEFINITION_NOSTR (ioda_variable_read_full, IODA_VARIABLE_READ_FULL) | |
| IODA_DL ioda_string_ret_t * | ioda_variable_read_full_str (const ioda_variable *var) | 
Provides the C-style interface for ioda::Variable objects.
| #define IODA_VARIABLE_ISA_IMPL | ( | funcnamestr, | |
| Type | |||
| ) | 
Definition at line 134 of file Variable_c.cpp.
| #define IODA_VARIABLE_READ_FULL | ( | funcnamestr, | |
| Type | |||
| ) | 
Definition at line 169 of file Variable_c.cpp.
| #define IODA_VARIABLE_WRITE_FULL | ( | funcnamestr, | |
| Type | |||
| ) | 
Definition at line 146 of file Variable_c.cpp.
| C_TEMPLATE_FUNCTION_DEFINITION | ( | ioda_variable_isa | , | 
| IODA_VARIABLE_ISA_IMPL | |||
| ) | 
| C_TEMPLATE_FUNCTION_DEFINITION_NOSTR | ( | ioda_variable_read_full | , | 
| IODA_VARIABLE_READ_FULL | |||
| ) | 
| C_TEMPLATE_FUNCTION_DEFINITION_NOSTR | ( | ioda_variable_write_full | , | 
| IODA_VARIABLE_WRITE_FULL | |||
| ) | 
| bool ioda_variable_attachDimensionScale | ( | struct ioda_variable * | var, | 
| unsigned int | DimensionNumber, | ||
| const struct ioda_variable * | scale | ||
| ) | 
Attach a dimension scale to a variable.
| [in] | var | is the variable. | 
| DimensionNumber | denotes the dimension which you are adding a scale to. Counts start at zero. | |
| [in] | scale | is the dimension scale that will be attached. | 
Definition at line 60 of file Variable_c.cpp.


| ioda_has_attributes* ioda_variable_atts | ( | const ioda_variable * | var | ) | 
Definition at line 31 of file Variable_c.cpp.
| IODA_DL struct ioda_has_attributes* ioda_variable_atts | ( | const struct ioda_variable * | var | ) | 
Access a variable's attributes.
| [in] | var | is the variable whose attributes are being accessed. | 

| void ioda_variable_destruct | ( | struct ioda_variable * | var | ) | 
Deallocates an variable.
| var | is the variable to be destructed. | 
Definition at line 24 of file Variable_c.cpp.

| bool ioda_variable_detachDimensionScale | ( | struct ioda_variable * | var, | 
| unsigned int | DimensionNumber, | ||
| const struct ioda_variable * | scale | ||
| ) | 
Detach a dimension scale from a variable.
| [in] | var | is the variable. | 
| DimensionNumber | denotes the dimension of var which contains the scale that will be detached. | |
| [in] | scale | is the dimension scale that will be attached. | 
Definition at line 69 of file Variable_c.cpp.


| ioda_dimensions* ioda_variable_get_dimensions | ( | const ioda_variable * | var | ) | 
| IODA_DL struct ioda_dimensions* ioda_variable_get_dimensions | ( | const struct ioda_variable * | ) | 
Gets an variable's dimensions.
| [in] | var | is the variable. | 

| size_t ioda_variable_getDimensionScaleName | ( | const struct ioda_variable * | var, | 
| size_t | len_out, | ||
| char * | out | ||
| ) | 
Get the name of the dimension scale.
| [in] | var | is the dimension scale. | 
| [out] | out | is the output buffer that will hold the name of the dimension scale. This will always be a null-terminated string. If len_out is smaller than the length of the dimension scale's name, then out will be truncated to fit. | 
| len_out | is the length (size) of the output buffer, in bytes. | 
Definition at line 109 of file Variable_c.cpp.


| int ioda_variable_isDimensionScale | ( | const struct ioda_variable * | var | ) | 
Check if a variable acts as a dimension scale.
| [in] | var | is the variable. | 
Definition at line 93 of file Variable_c.cpp.


| int ioda_variable_isDimensionScaleAttached | ( | const struct ioda_variable * | var, | 
| unsigned int | DimensionNumber, | ||
| const struct ioda_variable * | scale | ||
| ) | 
Is the variable "scale" attached as dimension "DimensionNumber" to variable "var"?
| [in] | var | is the variable. | 
| DimensionNumber | is the dimension number. Numbering starts at zero. | |
| [in] | scale | is the candidate dimension scale. | 
Definition at line 123 of file Variable_c.cpp.


| IODA_DL ioda_string_ret_t* ioda_variable_read_full_str | ( | const ioda_variable * | var | ) | 
| bool ioda_variable_resize | ( | struct ioda_variable * | var, | 
| size_t | N, | ||
| const long * | newDims | ||
| ) | 
Resize a variable.
| [in] | var | is the variable. | 
| N | is the dimensionality of newDims. Must match current dimensionality. | |
| [in] | newDims | is a sequence of dimension sizes. | 
Definition at line 50 of file Variable_c.cpp.


| bool ioda_variable_setDimScale | ( | struct ioda_variable * | var, | 
| size_t | n_dims, | ||
| const struct ioda_variable *const * | dims | ||
| ) | 
Convenience function to set a sequence of scales on a variable.
| [in] | var | is the variable. | 
| n_dims | is the size of the dims array. | |
| [in] | dims | is a sequence of dimension scales that will be attached to var. dims[0] will be attached to var along dimension 0, dims[1] will be attached to var along dimension 1, and so on. | 
Definition at line 78 of file Variable_c.cpp.


| bool ioda_variable_setIsDimensionScale | ( | struct ioda_variable * | var, | 
| size_t | sz_name, | ||
| const char * | dimensionScaleName | ||
| ) | 
Convert a variable into a dimension scale.
| [in] | var | is the variable that will become a scale. | 
| sz_name | is strlen(dimensionScaleName). Fortran compatability. | |
| [in] | dimensionScaleName | is the "name" of the dimension scale. This name does not need to correspond to the variable's name, and acts as a convenience label when reading data. | 
Definition at line 100 of file Variable_c.cpp.


| IODA_DL bool ioda_variable_write_full_str | ( | struct ioda_variable * | var, | 
| size_t | sz, | ||
| const char *const * | vals | ||
| ) | 
Write a sequence of strings to a variable.
| [in] | var | is the variable. | 
| sz | is the number of strings to write. For ioda_variable_write_full_str, this must match var's current number of elements. | |
| [in] | vals | is a sequence of sz NULL-terminated strings. | 
Definition at line 157 of file Variable_c.cpp.
