gridspec_api/data/nccf_data.h

00001 
00007 #ifndef _NCCF_STRUCTURED_DATA_H
00008 #define _NCCF_STRUCTURED_DATA_H
00009 
00010 #include <libcf_src.h>
00011 #include <cflistitem.h>
00012 #include <nccf_varObj.h>
00013 #include <nccf_handle_error.h>
00014 #include <nccf_constants.h>
00015 
00016 extern struct CFLISTITEM *CFLIST_STRUCTURED_DATA;
00017 
00018 struct nccf_struct_data_type {
00019 
00020   /* grid object to which the data are attach to */
00021   int gridid;
00022 
00023   /* type of data (compatible with netcdf types) */
00024   nc_type dataType;
00025 
00026   /* name of the data */
00027   char *name;
00028 
00029   /* number of dimensions */
00030   int ndims;
00031 
00032   /* netcdf-like variable object */
00033   struct nccf_var_obj *dataVar;
00034 
00035   /* whether or not data are copy-saved by the object */
00036   int save;
00037 
00038   /* number of written records */
00039   int numRecords;
00040 
00041   /* pointer to the data */
00042   void *data;
00043 };
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061 
00075 int nccf_def_struct_data(int gridid,
00076       const char *name, const char *standard_name,
00077       const char *units, const char *time_dimname,
00078       int *dataid);
00079 
00092 int nccf_def_struct_data_from_file(const char *filename, 
00093                                        int gridid, 
00094                                        const char *varname, 
00095                                        int read_data, int *dataid);
00096 
00105 int nccf_free_struct_data(int dataid);
00106 
00115   int nccf_get_struct_data_gridid(int dataid, int *gridid);
00116 
00127 int nccf_set_struct_data_double(int dataid, const double *data, int save);
00128 
00139 int nccf_set_struct_data_float(int dataid, const float *data, int save);
00140 
00151 int nccf_set_struct_data_int(int dataid, const int *data, int save);
00152 
00162 int nccf_put_struct_data(int ncid, int dataid);
00163 
00174 int nccf_add_struct_data_att(int dataid, 
00175                              const char *name, const char *value);
00176 
00186 int nccf_get_struct_data_type(int dataid, nc_type *dataType);
00187 
00197 int nccf_get_struct_data_pointer(int dataid, void **dataPtr);
00198 
00208 int nccf_get_struct_data_ndims(int dataid, int *nDataDims);
00209   
00219 int nccf_get_struct_data_dims(int dataid, int *dataDims);
00220 
00223 #ifdef __cplusplus
00224 }
00225 #endif /* __cplusplus */
00226 
00227 #endif // _NCCF_STRUCTURED_DATA_H
00228 
 All Classes Files Functions Defines

Generated on Tue Mar 1 2011 06:36:59 for libCF. LibCF is a Unidata library.