18 #ifndef _das_dimension_h_
19 #define _das_dimension_h_
28 #define DASDIM_MAXDEP 16 // Arbitrary decision, can be changed
29 #define DASDIM_MAXVAR 16 // Another arbitrary changable descision
75 #ifndef _das_dimension_c_
76 extern const char* DASVAR_CENTER;
77 extern const char* DASVAR_MIN;
78 extern const char* DASVAR_MAX;
79 extern const char* DASVAR_WIDTH;
80 extern const char* DASVAR_MEAN;
81 extern const char* DASVAR_MEDIAN;
82 extern const char* DASVAR_MODE;
83 extern const char* DASVAR_REF;
84 extern const char* DASVAR_OFFSET;
85 extern const char* DASVAR_MAXERR;
86 extern const char* DASVAR_MINERR;
87 extern const char* DASVAR_UNCERT;
88 extern const char* DASVAR_STD_DEV;
89 extern const char* DASVAR_SPREAD;
90 extern const char* DASVAR_WEIGHT;
98 enum dim_type { DASDIM_UNK = 0, DASDIM_COORD, DASDIM_DATA };
121 typedef struct das_dim {
133 DasVar* aVars[DASDIM_MAXVAR];
134 char aRoles[DASDIM_MAXVAR][32];
Das2 Physical Dimensions.
Definition: dimension.h:121
char * DasDim_toStr(const DasDim *pThis, char *sBuf, int nLen)
Print an information string describing a dimension.
Das2 fexible variables.
Definition: variable.h:207
void del_DasDim(DasDim *pThis)
Delete a dimension and drop the reference count on all contained variables.
const char * DasDim_id(const DasDim *pThis)
Get the dimension's id.
ptrdiff_t DasDim_lengthIn(const DasDim *pThis, int nIdx, ptrdiff_t *pLoc)
Return the current max value index value + 1 for any partial index.
DasDim * new_DasDim(const char *sId, enum dim_type dtype, int nRank)
Create a new dimension (not as impressive as it sounds)
Base structure for Stream Header Items.
Definition: descriptor.h:80
DasVar * DasDim_popVar(DasDim *pThis, const char *role)
Remove a variable by role from a dimensions.
bool DasDim_addVar(DasDim *pThis, const char *sRole, DasVar *pVar)
Add a variable to a dimension.
int DasDim_copyInProps(DasDim *pThis, char cAxis, const DasDesc *pOther)
Copy in dataset properties from some other descriptor.
const DasVar * DasDim_getPointVar(const DasDim *pThis)
Get a variable poviding single point values in a dimension.
correlated data and coordinate variables
int DasDim_shape(const DasDim *pThis, ptrdiff_t *pShape)
Get the maximum extent of this dimension in index space.
const DasVar * DasDim_getVar(const DasDim *pThis, const char *sRole)
Get a variable providing values for a particular role in the dimension.