00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 #ifndef _NETCDF_
00035 #define _NETCDF_
00036 
00037 #include <stddef.h> 
00038 #include <errno.h>  
00039 
00040 #if defined(__cplusplus)
00041 extern "C" {
00042 #endif
00043 
00044 
00045 
00046 
00047 typedef enum {
00048         NC_NAT =        0,      
00049         NC_BYTE =       1,      
00050         NC_CHAR =       2,      
00051         NC_SHORT =      3,      
00052         NC_INT =        4,      
00053         NC_FLOAT =      5,      
00054         NC_DOUBLE =     6       
00055 } nc_type;
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 #define NC_FILL_BYTE    ((signed char)-127)
00065 #define NC_FILL_CHAR    ((char)0)
00066 #define NC_FILL_SHORT   ((short)-32767)
00067 #define NC_FILL_INT     (-2147483647L)
00068 #define NC_FILL_FLOAT   (9.9692099683868690e+36f) 
00069 #define NC_FILL_DOUBLE  (9.9692099683868690e+36)
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 #define _FillValue      "_FillValue"
00080 
00081 
00082 
00083 
00084 
00085 #define NC_NOWRITE      0       
00086 #define NC_WRITE        0x1     
00087 #define NC_CLOBBER      0
00088 #define NC_NOCLOBBER    0x4     
00089 #define NC_FILL         0       
00090 #define NC_NOFILL       0x100   
00091 #define NC_LOCK         0x0400  
00092 #define NC_SHARE        0x0800  
00093 
00094 
00095 
00096 
00097 
00098 #define NC_SIZEHINT_DEFAULT 0
00099 
00100 
00101 
00102 
00103 #define NC_ALIGN_CHUNK ((size_t)(-1))
00104 
00105 
00106 
00107 
00108 #define NC_UNLIMITED 0L
00109 
00110 
00111 
00112 
00113 #define NC_GLOBAL -1
00114 
00115 
00116 
00117 
00118 
00119 
00120 
00121 #define NC_MAX_DIMS     100      
00122 #define NC_MAX_ATTRS    2000     
00123 #define NC_MAX_VARS     2000     
00124 #define NC_MAX_NAME     128      
00125 #define NC_MAX_VAR_DIMS NC_MAX_DIMS 
00126 
00127 
00128 
00129 
00130 
00131 
00132 
00133 
00134 #define NC_ISSYSERR(err)        ((err) > 0)
00135 
00136 #define NC_NOERR        0       
00137 
00138 #define NC_EBADID       (-33)   
00139 #define NC_ENFILE       (-34)   
00140 #define NC_EEXIST       (-35)   
00141 #define NC_EINVAL       (-36)   
00142 #define NC_EPERM        (-37)   
00143 #define NC_ENOTINDEFINE (-38)   
00144 #define NC_EINDEFINE    (-39)   
00145 #define NC_EINVALCOORDS (-40)   
00146 #define NC_EMAXDIMS     (-41)   
00147 #define NC_ENAMEINUSE   (-42)   
00148 #define NC_ENOTATT      (-43)   
00149 #define NC_EMAXATTS     (-44)   
00150 #define NC_EBADTYPE     (-45)   
00151 #define NC_EBADDIM      (-46)   
00152 #define NC_EUNLIMPOS    (-47)   
00153 #define NC_EMAXVARS     (-48)   
00154 #define NC_ENOTVAR      (-49)   
00155 #define NC_EGLOBAL      (-50)   
00156 #define NC_ENOTNC       (-51)   
00157 #define NC_ESTS         (-52)   
00158 #define NC_EMAXNAME     (-53)   
00159 #define NC_EUNLIMIT     (-54)   
00160 #define NC_ENORECVARS   (-55)   
00161 #define NC_ECHAR        (-56)   
00162 #define NC_EEDGE        (-57)   
00163 #define NC_ESTRIDE      (-58)   
00164 #define NC_EBADNAME     (-59)   
00165 
00166 
00167 #define NC_ERANGE       (-60)   
00168 #define NC_ENOMEM       (-61)   
00169 
00170 
00171 
00172 
00173 
00174 
00175 
00176 #if defined(DLL_NETCDF) 
00177 #  if defined(DLL_EXPORT) 
00178 #   define MSC_EXTRA __declspec(dllexport)
00179 #  else
00180 #   define MSC_EXTRA __declspec(dllimport)
00181 #  endif
00182 #else
00183 #define MSC_EXTRA
00184 #endif  
00185 
00186 # define EXTERNL extern MSC_EXTRA
00187 
00188 EXTERNL const char *
00189 nc_inq_libvers(void);
00190 
00191 EXTERNL const char *
00192 nc_strerror(int ncerr);
00193 
00194 EXTERNL int
00195 nc__create(const char *path, int cmode, size_t initialsz,
00196          size_t *chunksizehintp, int *ncidp);
00197 
00198 EXTERNL int
00199 nc_create(const char *path, int cmode, int *ncidp);
00200 
00201 EXTERNL int
00202 nc__open(const char *path, int mode, 
00203         size_t *chunksizehintp, int *ncidp);
00204 
00205 EXTERNL int
00206 nc_open(const char *path, int mode, int *ncidp);
00207 
00208 EXTERNL int
00209 nc_set_fill(int ncid, int fillmode, int *old_modep);
00210 
00211 EXTERNL int
00212 nc_redef(int ncid);
00213 
00214 EXTERNL int
00215 nc__enddef(int ncid, size_t h_minfree, size_t v_align,
00216         size_t v_minfree, size_t r_align);
00217 
00218 EXTERNL int
00219 nc_enddef(int ncid);
00220 
00221 EXTERNL int
00222 nc_sync(int ncid);
00223 
00224 EXTERNL int
00225 nc_abort(int ncid);
00226 
00227 EXTERNL int
00228 nc_close(int ncid);
00229 
00230 EXTERNL int
00231 nc_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
00232 
00233 EXTERNL int 
00234 nc_inq_ndims(int ncid, int *ndimsp);
00235 
00236 EXTERNL int 
00237 nc_inq_nvars(int ncid, int *nvarsp);
00238 
00239 EXTERNL int 
00240 nc_inq_natts(int ncid, int *nattsp);
00241 
00242 EXTERNL int 
00243 nc_inq_unlimdim(int ncid, int *unlimdimidp);
00244 
00245 
00246 
00247 EXTERNL int
00248 nc_def_dim(int ncid, const char *name, size_t len, int *idp);
00249 
00250 EXTERNL int
00251 nc_inq_dimid(int ncid, const char *name, int *idp);
00252 
00253 EXTERNL int
00254 nc_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
00255 
00256 EXTERNL int 
00257 nc_inq_dimname(int ncid, int dimid, char *name);
00258 
00259 EXTERNL int 
00260 nc_inq_dimlen(int ncid, int dimid, size_t *lenp);
00261 
00262 EXTERNL int
00263 nc_rename_dim(int ncid, int dimid, const char *name);
00264 
00265 
00266 
00267 
00268 EXTERNL int
00269 nc_inq_att(int ncid, int varid, const char *name,
00270          nc_type *xtypep, size_t *lenp);
00271 
00272 EXTERNL int 
00273 nc_inq_attid(int ncid, int varid, const char *name, int *idp);
00274 
00275 EXTERNL int 
00276 nc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep);
00277 
00278 EXTERNL int 
00279 nc_inq_attlen(int ncid, int varid, const char *name, size_t *lenp);
00280 
00281 EXTERNL int
00282 nc_inq_attname(int ncid, int varid, int attnum, char *name);
00283 
00284 EXTERNL int
00285 nc_copy_att(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out);
00286 
00287 EXTERNL int
00288 nc_rename_att(int ncid, int varid, const char *name, const char *newname);
00289 
00290 EXTERNL int
00291 nc_del_att(int ncid, int varid, const char *name);
00292 
00293 
00294 
00295 
00296 EXTERNL int
00297 nc_put_att_text(int ncid, int varid, const char *name,
00298         size_t len, const char *op);
00299 
00300 EXTERNL int
00301 nc_get_att_text(int ncid, int varid, const char *name, char *ip);
00302 
00303 EXTERNL int
00304 nc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype,
00305         size_t len, const unsigned char *op);
00306 
00307 EXTERNL int
00308 nc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip);
00309 
00310 EXTERNL int
00311 nc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype,
00312         size_t len, const signed char *op);
00313 
00314 EXTERNL int
00315 nc_get_att_schar(int ncid, int varid, const char *name, signed char *ip);
00316 
00317 EXTERNL int
00318 nc_put_att_short(int ncid, int varid, const char *name, nc_type xtype,
00319         size_t len, const short *op);
00320 
00321 EXTERNL int
00322 nc_get_att_short(int ncid, int varid, const char *name, short *ip);
00323 
00324 EXTERNL int
00325 nc_put_att_int(int ncid, int varid, const char *name, nc_type xtype,
00326         size_t len, const int *op);
00327 
00328 EXTERNL int
00329 nc_get_att_int(int ncid, int varid, const char *name, int *ip);
00330 
00331 EXTERNL int
00332 nc_put_att_long(int ncid, int varid, const char *name, nc_type xtype,
00333         size_t len, const long *op);
00334 
00335 EXTERNL int
00336 nc_get_att_long(int ncid, int varid, const char *name, long *ip);
00337 
00338 EXTERNL int
00339 nc_put_att_float(int ncid, int varid, const char *name, nc_type xtype,
00340         size_t len, const float *op);
00341 
00342 EXTERNL int
00343 nc_get_att_float(int ncid, int varid, const char *name, float *ip);
00344 
00345 EXTERNL int
00346 nc_put_att_double(int ncid, int varid, const char *name, nc_type xtype,
00347         size_t len, const double *op);
00348 
00349 EXTERNL int
00350 nc_get_att_double(int ncid, int varid, const char *name, double *ip);
00351 
00352 
00353 
00354 
00355 EXTERNL int
00356 nc_def_var(int ncid, const char *name,
00357          nc_type xtype, int ndims, const int *dimidsp, int *varidp);
00358 
00359 EXTERNL int
00360 nc_inq_var(int ncid, int varid, char *name,
00361          nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp);
00362 
00363 EXTERNL int
00364 nc_inq_varid(int ncid, const char *name, int *varidp);
00365 
00366 EXTERNL int 
00367 nc_inq_varname(int ncid, int varid, char *name);
00368 
00369 EXTERNL int 
00370 nc_inq_vartype(int ncid, int varid, nc_type *xtypep);
00371 
00372 EXTERNL int 
00373 nc_inq_varndims(int ncid, int varid, int *ndimsp);
00374 
00375 EXTERNL int 
00376 nc_inq_vardimid(int ncid, int varid, int *dimidsp);
00377 
00378 EXTERNL int 
00379 nc_inq_varnatts(int ncid, int varid, int *nattsp);
00380 
00381 EXTERNL int
00382 nc_rename_var(int ncid, int varid, const char *name);
00383 
00384 EXTERNL int
00385 nc_copy_var(int ncid_in, int varid, int ncid_out);
00386 #ifndef ncvarcpy
00387 
00388 #define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
00389 #endif
00390 
00391 
00392 
00393 
00394 EXTERNL int
00395 nc_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op);
00396 
00397 EXTERNL int
00398 nc_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip);
00399 
00400 EXTERNL int
00401 nc_put_var1_uchar(int ncid, int varid, const size_t *indexp,
00402         const unsigned char *op);
00403 
00404 EXTERNL int
00405 nc_get_var1_uchar(int ncid, int varid, const size_t *indexp,
00406         unsigned char *ip);
00407 
00408 EXTERNL int
00409 nc_put_var1_schar(int ncid, int varid, const size_t *indexp,
00410         const signed char *op);
00411 
00412 EXTERNL int
00413 nc_get_var1_schar(int ncid, int varid, const size_t *indexp,
00414         signed char *ip);
00415 
00416 EXTERNL int
00417 nc_put_var1_short(int ncid, int varid, const size_t *indexp,
00418         const short *op);
00419 
00420 EXTERNL int
00421 nc_get_var1_short(int ncid, int varid, const size_t *indexp,
00422         short *ip);
00423 
00424 EXTERNL int
00425 nc_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op);
00426 
00427 EXTERNL int
00428 nc_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip);
00429 
00430 EXTERNL int
00431 nc_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op);
00432 
00433 EXTERNL int
00434 nc_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip);
00435 
00436 EXTERNL int
00437 nc_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op);
00438 
00439 EXTERNL int
00440 nc_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip);
00441 
00442 EXTERNL int
00443 nc_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op);
00444 
00445 EXTERNL int
00446 nc_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip);
00447 
00448 
00449 
00450 
00451 EXTERNL int
00452 nc_put_vara_text(int ncid, int varid,
00453         const size_t *startp, const size_t *countp, const char *op);
00454 
00455 EXTERNL int
00456 nc_get_vara_text(int ncid, int varid,
00457         const size_t *startp, const size_t *countp, char *ip);
00458 
00459 EXTERNL int
00460 nc_put_vara_uchar(int ncid, int varid,
00461         const size_t *startp, const size_t *countp, const unsigned char *op);
00462 
00463 EXTERNL int
00464 nc_get_vara_uchar(int ncid, int varid,
00465         const size_t *startp, const size_t *countp, unsigned char *ip);
00466 
00467 EXTERNL int
00468 nc_put_vara_schar(int ncid, int varid,
00469         const size_t *startp, const size_t *countp, const signed char *op);
00470 
00471 EXTERNL int
00472 nc_get_vara_schar(int ncid, int varid,
00473         const size_t *startp, const size_t *countp, signed char *ip);
00474 
00475 EXTERNL int
00476 nc_put_vara_short(int ncid, int varid,
00477         const size_t *startp, const size_t *countp, const short *op);
00478 
00479 EXTERNL int
00480 nc_get_vara_short(int ncid, int varid,
00481         const size_t *startp, const size_t *countp, short *ip);
00482 
00483 EXTERNL int
00484 nc_put_vara_int(int ncid, int varid,
00485         const size_t *startp, const size_t *countp, const int *op);
00486 
00487 EXTERNL int
00488 nc_get_vara_int(int ncid, int varid,
00489         const size_t *startp, const size_t *countp, int *ip);
00490 
00491 EXTERNL int
00492 nc_put_vara_long(int ncid, int varid,
00493         const size_t *startp, const size_t *countp, const long *op);
00494 
00495 EXTERNL int
00496 nc_get_vara_long(int ncid, int varid,
00497         const size_t *startp, const size_t *countp, long *ip);
00498 
00499 EXTERNL int
00500 nc_put_vara_float(int ncid, int varid,
00501         const size_t *startp, const size_t *countp, const float *op);
00502 
00503 EXTERNL int
00504 nc_get_vara_float(int ncid, int varid,
00505         const size_t *startp, const size_t *countp, float *ip);
00506 
00507 EXTERNL int
00508 nc_put_vara_double(int ncid, int varid,
00509         const size_t *startp, const size_t *countp, const double *op);
00510 
00511 EXTERNL int
00512 nc_get_vara_double(int ncid, int varid,
00513         const size_t *startp, const size_t *countp, double *ip);
00514 
00515 
00516 
00517 
00518 EXTERNL int
00519 nc_put_vars_text(int ncid, int varid,
00520         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00521         const char *op);
00522 
00523 EXTERNL int
00524 nc_get_vars_text(int ncid, int varid,
00525         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00526         char *ip);
00527 
00528 EXTERNL int
00529 nc_put_vars_uchar(int ncid, int varid,
00530         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00531         const unsigned char *op);
00532 
00533 EXTERNL int
00534 nc_get_vars_uchar(int ncid, int varid,
00535         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00536         unsigned char *ip);
00537 
00538 EXTERNL int
00539 nc_put_vars_schar(int ncid, int varid,
00540         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00541         const signed char *op);
00542 
00543 EXTERNL int
00544 nc_get_vars_schar(int ncid, int varid,
00545         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00546         signed char *ip);
00547 
00548 EXTERNL int
00549 nc_put_vars_short(int ncid, int varid,
00550         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00551         const short *op);
00552 
00553 EXTERNL int
00554 nc_get_vars_short(int ncid, int varid,
00555         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00556         short *ip);
00557 
00558 EXTERNL int
00559 nc_put_vars_int(int ncid, int varid,
00560         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00561         const int *op);
00562 
00563 EXTERNL int
00564 nc_get_vars_int(int ncid, int varid,
00565         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00566         int *ip);
00567 
00568 EXTERNL int
00569 nc_put_vars_long(int ncid, int varid,
00570         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00571         const long *op);
00572 
00573 EXTERNL int
00574 nc_get_vars_long(int ncid, int varid,
00575         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00576         long *ip);
00577 
00578 EXTERNL int
00579 nc_put_vars_float(int ncid, int varid,
00580         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00581         const float *op);
00582 
00583 EXTERNL int
00584 nc_get_vars_float(int ncid, int varid,
00585         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00586         float *ip);
00587 
00588 EXTERNL int
00589 nc_put_vars_double(int ncid, int varid,
00590         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00591         const double *op);
00592 
00593 EXTERNL int
00594 nc_get_vars_double(int ncid, int varid,
00595         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00596         double *ip);
00597 
00598 
00599 
00600 
00601 EXTERNL int
00602 nc_put_varm_text(int ncid, int varid,
00603         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00604         const ptrdiff_t *imapp, 
00605         const char *op);
00606 
00607 EXTERNL int
00608 nc_get_varm_text(int ncid, int varid,
00609         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00610         const ptrdiff_t *imapp, 
00611         char *ip);
00612 
00613 EXTERNL int
00614 nc_put_varm_uchar(int ncid, int varid,
00615         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00616         const ptrdiff_t *imapp, 
00617         const unsigned char *op);
00618 
00619 EXTERNL int
00620 nc_get_varm_uchar(int ncid, int varid,
00621         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00622         const ptrdiff_t *imapp, 
00623         unsigned char *ip);
00624 
00625 EXTERNL int
00626 nc_put_varm_schar(int ncid, int varid,
00627         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00628         const ptrdiff_t *imapp, 
00629         const signed char *op);
00630 
00631 EXTERNL int
00632 nc_get_varm_schar(int ncid, int varid,
00633         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00634         const ptrdiff_t *imapp, 
00635         signed char *ip);
00636 
00637 EXTERNL int
00638 nc_put_varm_short(int ncid, int varid,
00639         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00640         const ptrdiff_t *imapp, 
00641         const short *op);
00642 
00643 EXTERNL int
00644 nc_get_varm_short(int ncid, int varid,
00645         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00646         const ptrdiff_t *imapp, 
00647         short *ip);
00648 
00649 EXTERNL int
00650 nc_put_varm_int(int ncid, int varid,
00651         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00652         const ptrdiff_t *imapp, 
00653         const int *op);
00654 
00655 EXTERNL int
00656 nc_get_varm_int(int ncid, int varid,
00657         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00658         const ptrdiff_t *imapp, 
00659         int *ip);
00660 
00661 EXTERNL int
00662 nc_put_varm_long(int ncid, int varid,
00663         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00664         const ptrdiff_t *imapp, 
00665         const long *op);
00666 
00667 EXTERNL int
00668 nc_get_varm_long(int ncid, int varid,
00669         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00670         const ptrdiff_t *imapp, 
00671         long *ip);
00672 
00673 EXTERNL int
00674 nc_put_varm_float(int ncid, int varid,
00675         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00676         const ptrdiff_t *imapp, 
00677         const float *op);
00678 
00679 EXTERNL int
00680 nc_get_varm_float(int ncid, int varid,
00681         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00682         const ptrdiff_t *imapp, 
00683         float *ip);
00684 
00685 EXTERNL int
00686 nc_put_varm_double(int ncid, int varid,
00687         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00688         const ptrdiff_t *imapp, 
00689         const double *op);
00690 
00691 EXTERNL int
00692 nc_get_varm_double(int ncid, int varid,
00693         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00694         const ptrdiff_t * imap, 
00695         double *ip);
00696 
00697 
00698 
00699 
00700 EXTERNL int
00701 nc_put_var_text(int ncid, int varid, const char *op);
00702 
00703 EXTERNL int
00704 nc_get_var_text(int ncid, int varid, char *ip);
00705 
00706 EXTERNL int
00707 nc_put_var_uchar(int ncid, int varid, const unsigned char *op);
00708 
00709 EXTERNL int
00710 nc_get_var_uchar(int ncid, int varid, unsigned char *ip);
00711 
00712 EXTERNL int
00713 nc_put_var_schar(int ncid, int varid, const signed char *op);
00714 
00715 EXTERNL int
00716 nc_get_var_schar(int ncid, int varid, signed char *ip);
00717 
00718 EXTERNL int
00719 nc_put_var_short(int ncid, int varid, const short *op);
00720 
00721 EXTERNL int
00722 nc_get_var_short(int ncid, int varid, short *ip);
00723 
00724 EXTERNL int
00725 nc_put_var_int(int ncid, int varid, const int *op);
00726 
00727 EXTERNL int
00728 nc_get_var_int(int ncid, int varid, int *ip);
00729 
00730 EXTERNL int
00731 nc_put_var_long(int ncid, int varid, const long *op);
00732 
00733 EXTERNL int
00734 nc_get_var_long(int ncid, int varid, long *ip);
00735 
00736 EXTERNL int
00737 nc_put_var_float(int ncid, int varid, const float *op);
00738 
00739 EXTERNL int
00740 nc_get_var_float(int ncid, int varid, float *ip);
00741 
00742 EXTERNL int
00743 nc_put_var_double(int ncid, int varid, const double *op);
00744 
00745 EXTERNL int
00746 nc_get_var_double(int ncid, int varid, double *ip);
00747 
00748 
00749 
00750 
00751 
00752 
00753 
00754 
00755 
00756 
00757 
00758 
00759 
00760 
00761 
00762 
00763 
00764 
00765 EXTERNL int
00766 nc__create_mp(const char *path, int cmode, size_t initialsz, int basepe,
00767          size_t *chunksizehintp, int *ncidp);
00768 
00769 EXTERNL int
00770 nc__open_mp(const char *path, int mode, int basepe,
00771         size_t *chunksizehintp, int *ncidp);
00772 
00773 EXTERNL int
00774 nc_delete_mp(const char * path, int basepe);
00775 
00776 EXTERNL int
00777 nc_set_base_pe(int ncid, int pe);
00778 
00779 EXTERNL int
00780 nc_inq_base_pe(int ncid, int *pe);
00781 
00782 
00783 
00784 
00785 
00786 
00787 
00788 
00789 
00790 #ifndef NO_NETCDF_2
00791 
00792 
00793 
00794 
00795 #define FILL_BYTE       NC_FILL_BYTE
00796 #define FILL_CHAR       NC_FILL_CHAR
00797 #define FILL_SHORT      NC_FILL_SHORT
00798 #define FILL_LONG       NC_FILL_INT
00799 #define FILL_FLOAT      NC_FILL_FLOAT
00800 #define FILL_DOUBLE     NC_FILL_DOUBLE
00801 
00802 #define MAX_NC_DIMS     NC_MAX_DIMS
00803 #define MAX_NC_ATTRS    NC_MAX_ATTRS
00804 #define MAX_NC_VARS     NC_MAX_VARS
00805 #define MAX_NC_NAME     NC_MAX_NAME
00806 #define MAX_VAR_DIMS    NC_MAX_VAR_DIMS
00807 
00808 
00809 
00810 
00811 
00812 
00813 #define NC_LONG NC_INT
00814 
00815 
00816 
00817 
00818 EXTERNL int ncerr;
00819 
00820 #define NC_ENTOOL       NC_EMAXNAME   
00821 #define NC_EXDR         (-32)   
00822 #define NC_SYSERR       (-31)
00823 
00824 
00825 
00826 
00827 
00828 #ifndef MAX_NC_OPEN
00829 #define MAX_NC_OPEN 32
00830 #endif
00831 
00832 
00833 
00834 
00835 
00836 #define NC_FATAL        1
00837 #define NC_VERBOSE      2
00838 
00839 EXTERNL int ncopts;     
00840 
00841 EXTERNL void
00842 nc_advise(const char *cdf_routine_name, int err, const char *fmt,...);
00843 
00844 
00845 
00846 
00847 
00848 
00849 
00850 typedef int nclong;
00851 
00852 EXTERNL int
00853 nctypelen(nc_type datatype);
00854 
00855 EXTERNL int
00856 nccreate(const char* path, int cmode);
00857 
00858 EXTERNL int
00859 ncopen(const char* path, int mode);
00860 
00861 EXTERNL int
00862 ncsetfill(int ncid, int fillmode);
00863 
00864 EXTERNL int
00865 ncredef(int ncid);
00866 
00867 EXTERNL int
00868 ncendef(int ncid);
00869 
00870 EXTERNL int
00871 ncsync(int ncid);
00872 
00873 EXTERNL int
00874 ncabort(int ncid);
00875 
00876 EXTERNL int
00877 ncclose(int ncid);
00878 
00879 EXTERNL int
00880 ncinquire(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp);
00881 
00882 EXTERNL int
00883 ncdimdef(int ncid, const char *name, long len);
00884 
00885 EXTERNL int
00886 ncdimid(int ncid, const char *name);
00887 
00888 EXTERNL int
00889 ncdiminq(int ncid, int dimid, char *name, long *lenp);
00890 
00891 EXTERNL int
00892 ncdimrename(int ncid, int dimid, const char *name);
00893 
00894 EXTERNL int
00895 ncattput(int ncid, int varid, const char *name, nc_type xtype,
00896         int len, const void *op);
00897 
00898 EXTERNL int
00899 ncattinq(int ncid, int varid, const char *name, nc_type *xtypep, int *lenp);
00900 
00901 EXTERNL int
00902 ncattget(int ncid, int varid, const char *name, void *ip);
00903 
00904 EXTERNL int
00905 ncattcopy(int ncid_in, int varid_in, const char *name, int ncid_out,
00906         int varid_out);
00907 
00908 EXTERNL int
00909 ncattname(int ncid, int varid, int attnum, char *name);
00910 
00911 EXTERNL int
00912 ncattrename(int ncid, int varid, const char *name, const char *newname);
00913 
00914 EXTERNL int
00915 ncattdel(int ncid, int varid, const char *name);
00916 
00917 EXTERNL int
00918 ncvardef(int ncid, const char *name, nc_type xtype,
00919         int ndims, const int *dimidsp);
00920 
00921 EXTERNL int
00922 ncvarid(int ncid, const char *name);
00923 
00924 EXTERNL int
00925 ncvarinq(int ncid, int varid, char *name, nc_type *xtypep,
00926         int *ndimsp, int *dimidsp, int *nattsp);
00927 
00928 EXTERNL int
00929 ncvarput1(int ncid, int varid, const long *indexp, const void *op);
00930 
00931 EXTERNL int
00932 ncvarget1(int ncid, int varid, const long *indexp, void *ip);
00933 
00934 EXTERNL int
00935 ncvarput(int ncid, int varid, const long *startp, const long *countp,
00936         const void *op);
00937 
00938 EXTERNL int
00939 ncvarget(int ncid, int varid, const long *startp, const long *countp, 
00940         void *ip);
00941 
00942 EXTERNL int
00943 ncvarputs(int ncid, int varid, const long *startp, const long *countp,
00944         const long *stridep, const void *op);
00945 
00946 EXTERNL int
00947 ncvargets(int ncid, int varid, const long *startp, const long *countp,
00948         const long *stridep, void *ip);
00949 
00950 EXTERNL int
00951 ncvarputg(int ncid, int varid, const long *startp, const long *countp,
00952         const long *stridep, const long *imapp, const void *op);
00953 
00954 EXTERNL int
00955 ncvargetg(int ncid, int varid, const long *startp, const long *countp,
00956         const long *stridep, const long *imapp, void *ip);
00957 
00958 EXTERNL int
00959 ncvarrename(int ncid, int varid, const char *name);
00960 
00961 EXTERNL int
00962 ncrecinq(int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp);
00963 
00964 EXTERNL int
00965 ncrecget(int ncid, long recnum, void **datap);
00966 
00967 EXTERNL int
00968 ncrecput(int ncid, long recnum, void *const *datap);
00969 
00970 
00971 #endif 
00972 
00973 #if defined(__cplusplus)
00974 }
00975 #endif
00976 
00977 #endif