ncdf4a13/libsrc/netcdf3.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1993-1996 University Corporation for Atmospheric Research/Unidata
00003  * 
00004  * Portions of this software were developed by the Unidata Program at the 
00005  * University Corporation for Atmospheric Research.
00006  * 
00007  * Access and use of this software shall impose the following obligations
00008  * and understandings on the user. The user is granted the right, without
00009  * any fee or cost, to use, copy, modify, alter, enhance and distribute
00010  * this software, and any derivative works thereof, and its supporting
00011  * documentation for any purpose whatsoever, provided that this entire
00012  * notice appears in all copies of the software, derivative works and
00013  * supporting documentation.  Further, UCAR requests that the user credit
00014  * UCAR/Unidata in any publications that result from the use of this
00015  * software or in any product that includes this software. The names UCAR
00016  * and/or Unidata, however, may not be used in any advertising or publicity
00017  * to endorse or promote any products or commercial entity unless specific
00018  * written permission is obtained from UCAR/Unidata. The user also
00019  * understands that UCAR/Unidata is not obligated to provide the user with
00020  * any support, consulting, training or assistance of any kind with regard
00021  * to the use, operation and performance of this software nor to provide
00022  * the user with any updates, revisions, new versions or "bug fixes."
00023  * 
00024  * THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR
00025  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00026  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027  * DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL,
00028  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
00029  * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
00030  * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
00031  * WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
00032  */
00033 /* "$Id: netcdf3.h,v 2.2 2005/05/16 11:40:29 ed Exp $" */
00034 
00035 #ifndef _NETCDF3_
00036 #define _NETCDF3_
00037 
00038 #include <stddef.h> /* size_t, ptrdiff_t */
00039 #include <errno.h>  /* netcdf functions sometimes return system errors */
00040 #include "netcdf.h"
00041 
00042 #if defined(__cplusplus)
00043 extern "C" {
00044 #endif
00045 /*
00046  * The Interface
00047  */
00048 
00049 /* Declaration modifiers for DLL support (MSC et al) */
00050 
00051 #if defined(DLL_NETCDF) /* define when library is a DLL */
00052 #  if defined(DLL_EXPORT) /* define when building the library */
00053 #   define MSC_EXTRA __declspec(dllexport)
00054 #  else
00055 #   define MSC_EXTRA __declspec(dllimport)
00056 #  endif
00057 #else
00058 #define MSC_EXTRA
00059 #endif  /* defined(DLL_NETCDF) */
00060 
00061 # define EXTERNL extern MSC_EXTRA
00062 
00063 EXTERNL const char *
00064 nc3_inq_libvers(void);
00065 
00066 EXTERNL const char *
00067 nc3_strerror(int ncerr1);
00068 
00069 EXTERNL int
00070 nc3__create(const char *path, int cmode, size_t initialsz,
00071          size_t *chunksizehintp, int *ncidp);
00072 
00073 EXTERNL int
00074 nc3_create(const char *path, int cmode, int *ncidp);
00075 
00076 EXTERNL int
00077 nc3__open(const char *path, int mode, 
00078         size_t *chunksizehintp, int *ncidp);
00079 
00080 EXTERNL int
00081 nc3_open(const char *path, int mode, int *ncidp);
00082 
00083 EXTERNL int
00084 nc3_set_fill(int ncid, int fillmode, int *old_modep);
00085 
00086 EXTERNL int
00087 nc3_set_default_format(int format, int *old_formatp);
00088 
00089 EXTERNL int
00090 nc3_inq_format(int ncid, int *formatp);
00091 
00092 EXTERNL int
00093 nc3_redef(int ncid);
00094 
00095 EXTERNL int
00096 nc3__enddef(int ncid, size_t h_minfree, size_t v_align,
00097         size_t v_minfree, size_t r_align);
00098 
00099 EXTERNL int
00100 nc3_enddef(int ncid);
00101 
00102 EXTERNL int
00103 nc3_sync(int ncid);
00104 
00105 EXTERNL int
00106 nc3_abort(int ncid);
00107 
00108 EXTERNL int
00109 nc3_close(int ncid);
00110 
00111 EXTERNL int
00112 nc3_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
00113 
00114 EXTERNL int 
00115 nc3_inq_ndims(int ncid, int *ndimsp);
00116 
00117 EXTERNL int 
00118 nc3_inq_nvars(int ncid, int *nvarsp);
00119 
00120 EXTERNL int 
00121 nc3_inq_natts(int ncid, int *nattsp);
00122 
00123 EXTERNL int 
00124 nc3_inq_unlimdim(int ncid, int *unlimdimidp);
00125 
00126 /* Begin _dim */
00127 
00128 EXTERNL int
00129 nc3_def_dim(int ncid, const char *name, size_t len, int *idp);
00130 
00131 EXTERNL int
00132 nc3_inq_dimid(int ncid, const char *name, int *idp);
00133 
00134 EXTERNL int
00135 nc3_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
00136 
00137 EXTERNL int 
00138 nc3_inq_dimname(int ncid, int dimid, char *name);
00139 
00140 EXTERNL int 
00141 nc3_inq_dimlen(int ncid, int dimid, size_t *lenp);
00142 
00143 EXTERNL int
00144 nc3_rename_dim(int ncid, int dimid, const char *name);
00145 
00146 /* End _dim */
00147 /* Begin _att */
00148 
00149 EXTERNL int
00150 nc3_inq_att(int ncid, int varid, const char *name,
00151          nc_type *xtypep, size_t *lenp);
00152 
00153 EXTERNL int 
00154 nc3_inq_attid(int ncid, int varid, const char *name, int *idp);
00155 
00156 EXTERNL int 
00157 nc3_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep);
00158 
00159 EXTERNL int 
00160 nc3_inq_attlen(int ncid, int varid, const char *name, size_t *lenp);
00161 
00162 EXTERNL int
00163 nc3_inq_attname(int ncid, int varid, int attnum, char *name);
00164 
00165 EXTERNL int
00166 nc3_copy_att(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out);
00167 
00168 EXTERNL int
00169 nc3_rename_att(int ncid, int varid, const char *name, const char *newname);
00170 
00171 EXTERNL int
00172 nc3_del_att(int ncid, int varid, const char *name);
00173 
00174 /* End _att */
00175 /* Begin {put,get}_att */
00176 
00177 EXTERNL int
00178 nc3_put_att_text(int ncid, int varid, const char *name,
00179         size_t len, const char *op);
00180 
00181 EXTERNL int
00182 nc3_get_att_text(int ncid, int varid, const char *name, char *ip);
00183 
00184 EXTERNL int
00185 nc3_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype,
00186         size_t len, const unsigned char *op);
00187 
00188 EXTERNL int
00189 nc3_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip);
00190 
00191 EXTERNL int
00192 nc3_put_att_schar(int ncid, int varid, const char *name, nc_type xtype,
00193         size_t len, const signed char *op);
00194 
00195 EXTERNL int
00196 nc3_get_att_schar(int ncid, int varid, const char *name, signed char *ip);
00197 
00198 EXTERNL int
00199 nc3_put_att_short(int ncid, int varid, const char *name, nc_type xtype,
00200         size_t len, const short *op);
00201 
00202 EXTERNL int
00203 nc3_get_att_short(int ncid, int varid, const char *name, short *ip);
00204 
00205 EXTERNL int
00206 nc3_put_att_int(int ncid, int varid, const char *name, nc_type xtype,
00207         size_t len, const int *op);
00208 
00209 EXTERNL int
00210 nc3_get_att_int(int ncid, int varid, const char *name, int *ip);
00211 
00212 EXTERNL int
00213 nc3_put_att_long(int ncid, int varid, const char *name, nc_type xtype,
00214         size_t len, const long *op);
00215 
00216 EXTERNL int
00217 nc3_get_att_long(int ncid, int varid, const char *name, long *ip);
00218 
00219 EXTERNL int
00220 nc3_put_att_float(int ncid, int varid, const char *name, nc_type xtype,
00221         size_t len, const float *op);
00222 
00223 EXTERNL int
00224 nc3_get_att_float(int ncid, int varid, const char *name, float *ip);
00225 
00226 EXTERNL int
00227 nc3_put_att_double(int ncid, int varid, const char *name, nc_type xtype,
00228         size_t len, const double *op);
00229 
00230 EXTERNL int
00231 nc3_get_att_double(int ncid, int varid, const char *name, double *ip);
00232 
00233 /* End {put,get}_att */
00234 /* Begin _var */
00235 
00236 EXTERNL int
00237 nc3_def_var(int ncid, const char *name,
00238          nc_type xtype, int ndims, const int *dimidsp, int *varidp);
00239 
00240 EXTERNL int
00241 nc3_inq_var(int ncid, int varid, char *name,
00242          nc_type *xtypep, int *ndimsp, int *dimidsp, int *nattsp);
00243 
00244 EXTERNL int
00245 nc3_inq_varid(int ncid, const char *name, int *varidp);
00246 
00247 EXTERNL int 
00248 nc3_inq_varname(int ncid, int varid, char *name);
00249 
00250 EXTERNL int 
00251 nc3_inq_vartype(int ncid, int varid, nc_type *xtypep);
00252 
00253 EXTERNL int 
00254 nc3_inq_varndims(int ncid, int varid, int *ndimsp);
00255 
00256 EXTERNL int 
00257 nc3_inq_vardimid(int ncid, int varid, int *dimidsp);
00258 
00259 EXTERNL int 
00260 nc3_inq_varnatts(int ncid, int varid, int *nattsp);
00261 
00262 EXTERNL int
00263 nc3_rename_var(int ncid, int varid, const char *name);
00264 
00265 EXTERNL int
00266 nc3_copy_var(int ncid_in, int varid, int ncid_out);
00267 #ifndef ncvarcpy
00268 /* support the old name for now */
00269 #define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
00270 #endif
00271 
00272 /* End _var */
00273 /* Begin {put,get}_var1 */
00274 
00275 EXTERNL int
00276 nc3_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op);
00277 
00278 EXTERNL int
00279 nc3_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip);
00280 
00281 EXTERNL int
00282 nc3_put_var1_uchar(int ncid, int varid, const size_t *indexp,
00283         const unsigned char *op);
00284 
00285 EXTERNL int
00286 nc3_get_var1_uchar(int ncid, int varid, const size_t *indexp,
00287         unsigned char *ip);
00288 
00289 EXTERNL int
00290 nc3_put_var1_schar(int ncid, int varid, const size_t *indexp,
00291         const signed char *op);
00292 
00293 EXTERNL int
00294 nc3_get_var1_schar(int ncid, int varid, const size_t *indexp,
00295         signed char *ip);
00296 
00297 EXTERNL int
00298 nc3_put_var1_short(int ncid, int varid, const size_t *indexp,
00299         const short *op);
00300 
00301 EXTERNL int
00302 nc3_get_var1_short(int ncid, int varid, const size_t *indexp,
00303         short *ip);
00304 
00305 EXTERNL int
00306 nc3_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op);
00307 
00308 EXTERNL int
00309 nc3_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip);
00310 
00311 EXTERNL int
00312 nc3_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op);
00313 
00314 EXTERNL int
00315 nc3_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip);
00316 
00317 EXTERNL int
00318 nc3_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op);
00319 
00320 EXTERNL int
00321 nc3_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip);
00322 
00323 EXTERNL int
00324 nc3_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op);
00325 
00326 EXTERNL int
00327 nc3_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip);
00328 
00329 /* End {put,get}_var1 */
00330 /* Begin {put,get}_vara */
00331 
00332 EXTERNL int
00333 nc3_put_vara_text(int ncid, int varid,
00334         const size_t *startp, const size_t *countp, const char *op);
00335 
00336 EXTERNL int
00337 nc3_get_vara_text(int ncid, int varid,
00338         const size_t *startp, const size_t *countp, char *ip);
00339 
00340 EXTERNL int
00341 nc3_put_vara_uchar(int ncid, int varid,
00342         const size_t *startp, const size_t *countp, const unsigned char *op);
00343 
00344 EXTERNL int
00345 nc3_get_vara_uchar(int ncid, int varid,
00346         const size_t *startp, const size_t *countp, unsigned char *ip);
00347 
00348 EXTERNL int
00349 nc3_put_vara_schar(int ncid, int varid,
00350         const size_t *startp, const size_t *countp, const signed char *op);
00351 
00352 EXTERNL int
00353 nc3_get_vara_schar(int ncid, int varid,
00354         const size_t *startp, const size_t *countp, signed char *ip);
00355 
00356 EXTERNL int
00357 nc3_put_vara_short(int ncid, int varid,
00358         const size_t *startp, const size_t *countp, const short *op);
00359 
00360 EXTERNL int
00361 nc3_get_vara_short(int ncid, int varid,
00362         const size_t *startp, const size_t *countp, short *ip);
00363 
00364 EXTERNL int
00365 nc3_put_vara_int(int ncid, int varid,
00366         const size_t *startp, const size_t *countp, const int *op);
00367 
00368 EXTERNL int
00369 nc3_get_vara_int(int ncid, int varid,
00370         const size_t *startp, const size_t *countp, int *ip);
00371 
00372 EXTERNL int
00373 nc3_put_vara_long(int ncid, int varid,
00374         const size_t *startp, const size_t *countp, const long *op);
00375 
00376 EXTERNL int
00377 nc3_get_vara_long(int ncid, int varid,
00378         const size_t *startp, const size_t *countp, long *ip);
00379 
00380 EXTERNL int
00381 nc3_put_vara_float(int ncid, int varid,
00382         const size_t *startp, const size_t *countp, const float *op);
00383 
00384 EXTERNL int
00385 nc3_get_vara_float(int ncid, int varid,
00386         const size_t *startp, const size_t *countp, float *ip);
00387 
00388 EXTERNL int
00389 nc3_put_vara_double(int ncid, int varid,
00390         const size_t *startp, const size_t *countp, const double *op);
00391 
00392 EXTERNL int
00393 nc3_get_vara_double(int ncid, int varid,
00394         const size_t *startp, const size_t *countp, double *ip);
00395 
00396 /* End {put,get}_vara */
00397 /* Begin {put,get}_vars */
00398 
00399 EXTERNL int
00400 nc3_put_vars_text(int ncid, int varid,
00401         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00402         const char *op);
00403 
00404 EXTERNL int
00405 nc3_get_vars_text(int ncid, int varid,
00406         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00407         char *ip);
00408 
00409 EXTERNL int
00410 nc3_put_vars_uchar(int ncid, int varid,
00411         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00412         const unsigned char *op);
00413 
00414 EXTERNL int
00415 nc3_get_vars_uchar(int ncid, int varid,
00416         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00417         unsigned char *ip);
00418 
00419 EXTERNL int
00420 nc3_put_vars_schar(int ncid, int varid,
00421         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00422         const signed char *op);
00423 
00424 EXTERNL int
00425 nc3_get_vars_schar(int ncid, int varid,
00426         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00427         signed char *ip);
00428 
00429 EXTERNL int
00430 nc3_put_vars_short(int ncid, int varid,
00431         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00432         const short *op);
00433 
00434 EXTERNL int
00435 nc3_get_vars_short(int ncid, int varid,
00436         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00437         short *ip);
00438 
00439 EXTERNL int
00440 nc3_put_vars_int(int ncid, int varid,
00441         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00442         const int *op);
00443 
00444 EXTERNL int
00445 nc3_get_vars_int(int ncid, int varid,
00446         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00447         int *ip);
00448 
00449 EXTERNL int
00450 nc3_put_vars_long(int ncid, int varid,
00451         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00452         const long *op);
00453 
00454 EXTERNL int
00455 nc3_get_vars_long(int ncid, int varid,
00456         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00457         long *ip);
00458 
00459 EXTERNL int
00460 nc3_put_vars_float(int ncid, int varid,
00461         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00462         const float *op);
00463 
00464 EXTERNL int
00465 nc3_get_vars_float(int ncid, int varid,
00466         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00467         float *ip);
00468 
00469 EXTERNL int
00470 nc3_put_vars_double(int ncid, int varid,
00471         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00472         const double *op);
00473 
00474 EXTERNL int
00475 nc3_get_vars_double(int ncid, int varid,
00476         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00477         double *ip);
00478 
00479 /* End {put,get}_vars */
00480 /* Begin {put,get}_varm */
00481 
00482 EXTERNL int
00483 nc3_put_varm_text(int ncid, int varid,
00484         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00485         const ptrdiff_t *imapp, 
00486         const char *op);
00487 
00488 EXTERNL int
00489 nc3_get_varm_text(int ncid, int varid,
00490         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00491         const ptrdiff_t *imapp, 
00492         char *ip);
00493 
00494 EXTERNL int
00495 nc3_put_varm_uchar(int ncid, int varid,
00496         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00497         const ptrdiff_t *imapp, 
00498         const unsigned char *op);
00499 
00500 EXTERNL int
00501 nc3_get_varm_uchar(int ncid, int varid,
00502         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00503         const ptrdiff_t *imapp, 
00504         unsigned char *ip);
00505 
00506 EXTERNL int
00507 nc3_put_varm_schar(int ncid, int varid,
00508         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00509         const ptrdiff_t *imapp, 
00510         const signed char *op);
00511 
00512 EXTERNL int
00513 nc3_get_varm_schar(int ncid, int varid,
00514         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00515         const ptrdiff_t *imapp, 
00516         signed char *ip);
00517 
00518 EXTERNL int
00519 nc3_put_varm_short(int ncid, int varid,
00520         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00521         const ptrdiff_t *imapp, 
00522         const short *op);
00523 
00524 EXTERNL int
00525 nc3_get_varm_short(int ncid, int varid,
00526         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00527         const ptrdiff_t *imapp, 
00528         short *ip);
00529 
00530 EXTERNL int
00531 nc3_put_varm_int(int ncid, int varid,
00532         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00533         const ptrdiff_t *imapp, 
00534         const int *op);
00535 
00536 EXTERNL int
00537 nc3_get_varm_int(int ncid, int varid,
00538         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00539         const ptrdiff_t *imapp, 
00540         int *ip);
00541 
00542 EXTERNL int
00543 nc3_put_varm_long(int ncid, int varid,
00544         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00545         const ptrdiff_t *imapp, 
00546         const long *op);
00547 
00548 EXTERNL int
00549 nc3_get_varm_long(int ncid, int varid,
00550         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00551         const ptrdiff_t *imapp, 
00552         long *ip);
00553 
00554 EXTERNL int
00555 nc3_put_varm_float(int ncid, int varid,
00556         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00557         const ptrdiff_t *imapp, 
00558         const float *op);
00559 
00560 EXTERNL int
00561 nc3_get_varm_float(int ncid, int varid,
00562         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00563         const ptrdiff_t *imapp, 
00564         float *ip);
00565 
00566 EXTERNL int
00567 nc3_put_varm_double(int ncid, int varid,
00568         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00569         const ptrdiff_t *imapp, 
00570         const double *op);
00571 
00572 EXTERNL int
00573 nc3_get_varm_double(int ncid, int varid,
00574         const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
00575         const ptrdiff_t * imap, 
00576         double *ip);
00577 
00578 /* End {put,get}_varm */
00579 /* Begin {put,get}_var */
00580 
00581 EXTERNL int
00582 nc3_put_var_text(int ncid, int varid, const char *op);
00583 
00584 EXTERNL int
00585 nc3_get_var_text(int ncid, int varid, char *ip);
00586 
00587 EXTERNL int
00588 nc3_put_var_uchar(int ncid, int varid, const unsigned char *op);
00589 
00590 EXTERNL int
00591 nc3_get_var_uchar(int ncid, int varid, unsigned char *ip);
00592 
00593 EXTERNL int
00594 nc3_put_var_schar(int ncid, int varid, const signed char *op);
00595 
00596 EXTERNL int
00597 nc3_get_var_schar(int ncid, int varid, signed char *ip);
00598 
00599 EXTERNL int
00600 nc3_put_var_short(int ncid, int varid, const short *op);
00601 
00602 EXTERNL int
00603 nc3_get_var_short(int ncid, int varid, short *ip);
00604 
00605 EXTERNL int
00606 nc3_put_var_int(int ncid, int varid, const int *op);
00607 
00608 EXTERNL int
00609 nc3_get_var_int(int ncid, int varid, int *ip);
00610 
00611 EXTERNL int
00612 nc3_put_var_long(int ncid, int varid, const long *op);
00613 
00614 EXTERNL int
00615 nc3_get_var_long(int ncid, int varid, long *ip);
00616 
00617 EXTERNL int
00618 nc3_put_var_float(int ncid, int varid, const float *op);
00619 
00620 EXTERNL int
00621 nc3_get_var_float(int ncid, int varid, float *ip);
00622 
00623 EXTERNL int
00624 nc3_put_var_double(int ncid, int varid, const double *op);
00625 
00626 EXTERNL int
00627 nc3_get_var_double(int ncid, int varid, double *ip);
00628 
00629 /* End {put,get}_var */
00630 
00631 /* #ifdef _CRAYMPP */
00632 /*
00633  * Public interfaces to better support
00634  * CRAY multi-processor systems like T3E.
00635  * A tip of the hat to NERSC.
00636  */
00637 /*
00638  * It turns out we need to declare and define
00639  * these public interfaces on all platforms
00640  * or things get ugly working out the
00641  * FORTRAN interface. On !_CRAYMPP platforms,
00642  * these functions work as advertised, but you
00643  * can only use "processor element" 0.
00644  */
00645 
00646 EXTERNL int
00647 nc3__create_mp(const char *path, int cmode, size_t initialsz, int basepe,
00648          size_t *chunksizehintp, int *ncidp);
00649 
00650 EXTERNL int
00651 nc3__open_mp(const char *path, int mode, int basepe,
00652         size_t *chunksizehintp, int *ncidp);
00653 
00654 EXTERNL int
00655 nc3_delete_mp(const char * path, int basepe);
00656 
00657 EXTERNL int
00658 nc3_set_base_pe(int ncid, int pe);
00659 
00660 EXTERNL int
00661 nc3_inq_base_pe(int ncid, int *pe);
00662 
00663 /* #endif _CRAYMPP */
00664 
00665 
00666 /* Begin v2.4 backward compatiblity */
00667 EXTERNL void
00668 nc3_advise(const char *cdf_routine_name, int err, const char *fmt,...);
00669 
00670 /*
00671  * C data type corresponding to a netCDF NC_LONG argument,
00672  * a signed 32 bit object.
00673  * 
00674  * This is the only thing in this file which architecture dependent.
00675  */
00676 
00677 EXTERNL int
00678 nc3typelen(nc_type datatype);
00679 
00680 EXTERNL int
00681 nc3create(const char* path, int cmode);
00682 
00683 EXTERNL int
00684 nc3open(const char* path, int mode);
00685 
00686 EXTERNL int
00687 nc3setfill(int ncid, int fillmode);
00688 
00689 EXTERNL int
00690 nc3redef(int ncid);
00691 
00692 EXTERNL int
00693 nc3endef(int ncid);
00694 
00695 EXTERNL int
00696 nc3sync(int ncid);
00697 
00698 EXTERNL int
00699 nc3abort(int ncid);
00700 
00701 EXTERNL int
00702 nc3close(int ncid);
00703 
00704 EXTERNL int
00705 nc3inquire(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp);
00706 
00707 EXTERNL int
00708 nc3dimdef(int ncid, const char *name, long len);
00709 
00710 EXTERNL int
00711 nc3dimid(int ncid, const char *name);
00712 
00713 EXTERNL int
00714 nc3diminq(int ncid, int dimid, char *name, long *lenp);
00715 
00716 EXTERNL int
00717 nc3dimrename(int ncid, int dimid, const char *name);
00718 
00719 EXTERNL int
00720 nc3attput(int ncid, int varid, const char *name, nc_type xtype,
00721         int len, const void *op);
00722 
00723 EXTERNL int
00724 nc3attinq(int ncid, int varid, const char *name, nc_type *xtypep, int *lenp);
00725 
00726 EXTERNL int
00727 nc3attget(int ncid, int varid, const char *name, void *ip);
00728 
00729 EXTERNL int
00730 nc3attcopy(int ncid_in, int varid_in, const char *name, int ncid_out,
00731         int varid_out);
00732 
00733 EXTERNL int
00734 nc3attname(int ncid, int varid, int attnum, char *name);
00735 
00736 EXTERNL int
00737 nc3attrename(int ncid, int varid, const char *name, const char *newname);
00738 
00739 EXTERNL int
00740 nc3attdel(int ncid, int varid, const char *name);
00741 
00742 EXTERNL int
00743 nc3vardef(int ncid, const char *name, nc_type xtype,
00744         int ndims, const int *dimidsp);
00745 
00746 EXTERNL int
00747 nc3varid(int ncid, const char *name);
00748 
00749 EXTERNL int
00750 nc3varinq(int ncid, int varid, char *name, nc_type *xtypep,
00751         int *ndimsp, int *dimidsp, int *nattsp);
00752 
00753 EXTERNL int
00754 nc3varput1(int ncid, int varid, const long *indexp, const void *op);
00755 
00756 EXTERNL int
00757 nc3varget1(int ncid, int varid, const long *indexp, void *ip);
00758 
00759 EXTERNL int
00760 nc3varput(int ncid, int varid, const long *startp, const long *countp,
00761         const void *op);
00762 
00763 EXTERNL int
00764 nc3varget(int ncid, int varid, const long *startp, const long *countp, 
00765         void *ip);
00766 
00767 EXTERNL int
00768 nc3varputs(int ncid, int varid, const long *startp, const long *countp,
00769         const long *stridep, const void *op);
00770 
00771 EXTERNL int
00772 nc3vargets(int ncid, int varid, const long *startp, const long *countp,
00773         const long *stridep, void *ip);
00774 
00775 EXTERNL int
00776 nc3varputg(int ncid, int varid, const long *startp, const long *countp,
00777         const long *stridep, const long *imapp, const void *op);
00778 
00779 EXTERNL int
00780 nc3vargetg(int ncid, int varid, const long *startp, const long *countp,
00781         const long *stridep, const long *imapp, void *ip);
00782 
00783 EXTERNL int
00784 nc3varrename(int ncid, int varid, const char *name);
00785 
00786 EXTERNL int
00787 nc3recinq(int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp);
00788 
00789 EXTERNL int
00790 nc3recget(int ncid, long recnum, void **datap);
00791 
00792 EXTERNL int
00793 nc3recput(int ncid, long recnum, void *const *datap);
00794 
00795 /* End v2.4 backward compatiblity */
00796 #endif /*!NO_NETCDF_2*/
00797 
00798 #if defined(__cplusplus)
00799 }
00800 #endif
00801 

Generated on Thu Mar 16 18:10:09 2006 for nco by  doxygen 1.4.4