4#define VDC_AccessMode_R 1
5#define VDC_AccessMode_W 2
6#define VDC_AccessMode_A 3
9#define VDC_XType_INVALID -1
10#define VDC_XType_FLOAT 1
11#define VDC_XType_DOUBLE 2
12#define VDC_XType_INT32 3
13#define VDC_XType_INT64 4
14#define VDC_XType_TEXT 5
16#define VDCDimension_Axis_X 0
17#define VDCDimension_Axis_Y 1
18#define VDCDimension_Axis_Z 2
19#define VDCDimension_Axis_T 3
34typedef struct VDCNetCDF
VDC;
94int VDC_GetAtt_long(
const VDC *p,
const char *varname,
const char *attname,
long **values,
int *count);
116int VDC_ReadRegion(
VDC *p,
int fd,
const size_t *min,
const size_t *max,
const int dims,
float *region);
117int VDC_GetVar(
VDC *p,
const char *varname,
int level,
int lod,
float *data);
125int VDC_DefineDataVar(
VDC *p,
const char *varname,
const char **dimnames,
size_t dimnamesCount,
const char **coordvars,
size_t coordvarCount,
const char *units,
VDC_XType xtype,
int compressed);
126int VDC_DefineCoordVar(
VDC *p,
const char *varname,
const char **dimnames,
size_t dimnamesCount,
const char *time_dim_name,
const char *units,
int axis,
VDC_XType xtype,
int compressed);
int VDC_GetVarDimLens(const VDC *p, const char *varname, int spatial, size_t **lens, int *count)
int VDCCoordVar_GetUniform(const VDCCoordVar *p)
void VDCDataVar_GetTimeCoordVar(const VDCDataVar *p, char **name)
int VDC_GetCRatios(const VDC *p, const char *varname, size_t **ratios, int *count)
void VDCDataVar_GetMaskvar(const VDCDataVar *p, char **name)
void VDCBaseVar_GetName(const VDCBaseVar *p, char **name)
int VDC_GetCRatiosCount(const VDC *p, const char *varname)
int VDC_ReadSlice(VDC *p, int fd, float *slice)
int VDC_Initialize(VDC *p, const char *path, int mode, size_t *bs, int bsCount)
int VDC_GetAtt_double(const VDC *p, const char *varname, const char *attname, double **values, int *count)
int VDC_SetCompressionBlock(VDC *p, const char *wname, const size_t *cratios, int cratiosCount)
int VDC_GetBaseVarInfo(const VDC *p, const char *varname, VDCBaseVar *var)
void VDC_FreeSize_tArray(size_t **data)
void VDC_FreeStringArray(char ***str, int *count)
void VDC_FreeLongArray(long **data)
int VDC_IsTimeVarying(const VDC *p, const char *varname)
size_t VDCDimension_GetLength(const VDCDimension *p)
const char * VDC_GetErrMsg()
void VDC_FreeString(char **str)
int VDC_DefineDimensionWithAxis(VDC *p, const char *dimname, size_t length, int axis)
VDCBaseVar * VDCBaseVar_new()
int VDC_DefineDimension(VDC *p, const char *dimname, size_t length)
void VDCCoordVar_delete(VDCCoordVar *p)
int VDC_ReadRegion(VDC *p, int fd, const size_t *min, const size_t *max, const int dims, float *region)
int VDCBaseVar_GetXType(const VDCBaseVar *p)
int VDC_PutAtt(VDC *p, const char *varname, const char *attname, VDC_XType xtype, const void *values, size_t count)
void VDCCoordVar_GetTimeDimName(const VDCCoordVar *p, char **name)
void VDC_GetDimensionNames(const VDC *p, char ***names, int *count)
int VDC_DefineCoordVar(VDC *p, const char *varname, const char **dimnames, size_t dimnamesCount, const char *time_dim_name, const char *units, int axis, VDC_XType xtype, int compressed)
int VDC_CloseVariable(VDC *p, int fd)
int VDC_VariableExists(const VDC *p, size_t ts, const char *varname, int reflevel, int lod)
int VDC_GetAttType(const VDC *p, const char *varname, const char *attname)
int VDC_GetDimension(const VDC *p, const char *dimname, VDCDimension *dimension)
int VDC_GetVarDimLensAtLevel(const VDC *p, const char *varname, int level, size_t **lens, int *count)
void VDCBaseVar_GetCRatios(const VDCBaseVar *p, size_t **ratios, int *count)
int VDC_GetVarAtTimeStep(VDC *p, size_t ts, const char *varname, int level, int lod, float *data)
int VDC_PutAtt_long(VDC *p, const char *varname, const char *attname, VDC_XType xtype, const long *values, size_t count)
int VDC_OpenVariableRead(VDC *p, size_t ts, const char *varname, int level, int lod)
void VDCDataVar_GetMeshName(const VDCDataVar *p, char **name)
int VDC_GetAtt_Count(const VDC *p, const char *varname, const char *attname, int *count)
int VDC_Read(VDC *p, int fd, float *region)
void VDCBaseVar_GetPeriodic(const VDCBaseVar *p, long **periodic, int *count)
struct VDCDimension VDCDimension
void VDCBaseVar_GetUnits(const VDCBaseVar *p, char **units)
void VDCBaseVar_GetWName(const VDCBaseVar *p, char **name)
int VDC_DefineDataVar(VDC *p, const char *varname, const char **dimnames, size_t dimnamesCount, const char **coordvars, size_t coordvarCount, const char *units, VDC_XType xtype, int compressed)
void VDCCoordVar_GetDimNames(const VDCCoordVar *p, char ***names, int *count)
int VDC_PutVarAtTimeStep(VDC *p, size_t ts, const char *varname, int lod, const float *data)
int VDCBaseVar_IsCompressed(const VDCBaseVar *p)
int VDC_GetDataVarInfo(const VDC *p, const char *varname, VDCDataVar *var)
int VDC_GetNumRefLevels(const VDC *p, const char *varname)
int VDC_GetAtt_long(const VDC *p, const char *varname, const char *attname, long **values, int *count)
void VDCBaseVar_delete(VDCBaseVar *p)
int VDC_DefineCoordVarUniform(VDC *p, const char *varname, const char **dimnames, size_t dimnamesCount, const char *time_dim_name, const char *units, int axis, VDC_XType xtype, int compressed)
struct VDCDataVar VDCDataVar
void VDC_GetCoordVarNames(const VDC *p, char ***names, int *count)
void VDCAuxVar_GetDimNames(const VDCAuxVar *p, char ***names, int *count)
int VDC_CoordVarExists(const VDC *p, const char *varname)
int VDC_PutAtt_double(VDC *p, const char *varname, const char *attname, VDC_XType xtype, const double *values, size_t count)
int VDC_EndDefine(VDC *p)
VDCCoordVar * VDCCoordVar_new()
int VDC_PutAtt_text(VDC *p, const char *varname, const char *attname, VDC_XType xtype, const char *values)
VDCDimension * VDCDimension_new()
void VDCAuxVar_delete(VDCAuxVar *p)
int VDCCoordVar_GetAxis(const VDCCoordVar *p)
int VDC_GetVarCoordVars(const VDC *p, const char *varname, int spatial, char ***names, int *count)
void VDCDataVar_delete(VDCDataVar *p)
int VDC_InitializeDefaultBS(VDC *p, const char *path, int mode)
void VDCDimension_GetName(const VDCDimension *p, char **name)
void VDCBaseVar_GetBS(const VDCBaseVar *p, size_t **bs, int *count)
int VDC_GetAtt_text(const VDC *p, const char *varname, const char *attname, char **text)
struct VDCBaseVar VDCBaseVar
int VDCDataVar_GetHasMissing(const VDCDataVar *p)
void VDC_FreeDoubleArray(double **data)
int VDC_GetVarDimNames(const VDC *p, const char *varname, int spatial, char ***names, int *count)
void VDC_ReverseSize_tArray(size_t *data, int count)
double VDCDataVar_GetMissingValue(const VDCDataVar *p)
VDCAuxVar * VDCAuxVar_new()
void VDC_GetAttNames(const VDC *p, const char *varname, char ***names, int *count)
int VDCDimension_IsTimeVarying(const VDCDimension *p)
int VDC_PutVar(VDC *p, const char *varname, int lod, const float *data)
int VDC_GetVar(VDC *p, const char *varname, int level, int lod, float *data)
int VDC_GetCoordVarInfo(const VDC *p, const char *varname, VDCCoordVar *var)
struct VDCAuxVar VDCAuxVar
VDCDataVar * VDCDataVar_new()
struct VDCCoordVar VDCCoordVar
void VDCDimension_delete(VDCDimension *p)
void VDCBaseVar_GetAttributeNames(const VDCBaseVar *p, char ***names, int *count)
void VDC_GetDataVarNames(const VDC *p, char ***names, int *count)
Implements the VDC abstract class, providing storage of VDC data in NetCDF files.