00001 !
00002 ! netcdf version 3 fortran interface:
00003 !
00004
00005 !
00006 ! external netcdf data types:
00007 !
00008 integer nf_byte
00009 integer nf_int1
00010 integer nf_char
00011 integer nf_short
00012 integer nf_int2
00013 integer nf_int
00014 integer nf_float
00015 integer nf_real
00016 integer nf_double
00017 integer nf_ubyte
00018 integer nf_ushort
00019 integer nf_uint
00020 integer nf_int64
00021 integer nf_uint64
00022 integer nf_string
00023
00024 !
00025 ! the user doesn't use these classes of user defined type, but they
00026 ! are returned by nc_inq_user_type.
00027 !
00028 integer nf_vlen
00029 integer nf_opaque
00030 integer nf_enum
00031 integer nf_compound
00032
00033 parameter (nf_byte = 1)
00034 parameter (nf_int1 = nf_byte)
00035 parameter (nf_char = 2)
00036 parameter (nf_short = 3)
00037 parameter (nf_int2 = nf_short)
00038 parameter (nf_int = 4)
00039 parameter (nf_float = 5)
00040 parameter (nf_real = nf_float)
00041 parameter (nf_double = 6)
00042 parameter (nf_ubyte = 7)
00043 parameter (nf_ushort = 8)
00044 parameter (nf_uint = 9)
00045 parameter (nf_int64 = 10)
00046 parameter (nf_uint64 = 11)
00047 parameter (nf_string = 12)
00048 parameter (nf_vlen = 13)
00049 parameter (nf_opaque = 14)
00050 parameter (nf_enum = 15)
00051 parameter (nf_compound = 16)
00052
00053 !
00054 ! default fill values:
00055 !
00056 integer nf_fill_byte
00057 integer nf_fill_int1
00058 integer nf_fill_char
00059 integer nf_fill_short
00060 integer nf_fill_int2
00061 integer nf_fill_int
00062 real nf_fill_float
00063 real nf_fill_real
00064 doubleprecision nf_fill_double
00065 integer nf_fill_ubyte
00066 integer nf_fill_ushort
00067 ! real nf_fill_uint
00068 ! real nf_fill_int64
00069 ! real nf_fill_uint64
00070
00071 parameter (nf_fill_byte = -127)
00072 parameter (nf_fill_int1 = nf_fill_byte)
00073 parameter (nf_fill_char = 0)
00074 parameter (nf_fill_short = -32767)
00075 parameter (nf_fill_int2 = nf_fill_short)
00076 parameter (nf_fill_int = -2147483647)
00077 parameter (nf_fill_float = 9.9692099683868690e+36)
00078 parameter (nf_fill_real = nf_fill_float)
00079 parameter (nf_fill_double = 9.9692099683868690e+36)
00080 parameter (nf_fill_ubyte = 255)
00081 parameter (nf_fill_ushort = 65535)
00082
00083 !
00084 ! mode flags for opening and creating a netcdf dataset:
00085 !
00086 integer nf_nowrite
00087 integer nf_write
00088 integer nf_clobber
00089 integer nf_noclobber
00090 integer nf_fill
00091 integer nf_nofill
00092 integer nf_lock
00093 integer nf_share
00094 integer nf_64bit_offset
00095 integer nf_sizehint_default
00096 integer nf_align_chunk
00097 integer nf_format_classic
00098 integer nf_format_64bit
00099 integer nf_format_netcdf4
00100 integer nf_format_netcdf4_classic
00101
00102 parameter (nf_nowrite = 0)
00103 parameter (nf_write = 1)
00104 parameter (nf_clobber = 0)
00105 parameter (nf_noclobber = 4)
00106 parameter (nf_fill = 0)
00107 parameter (nf_nofill = 256)
00108 parameter (nf_lock = 1024)
00109 parameter (nf_share = 2048)
00110 parameter (nf_64bit_offset = 512)
00111 parameter (nf_sizehint_default = 0)
00112 parameter (nf_align_chunk = -1)
00113 parameter (nf_format_classic = 1)
00114 parameter (nf_format_64bit = 2)
00115 parameter (nf_format_netcdf4 = 3)
00116 parameter (nf_format_netcdf4_classic = 4)
00117
00118 !
00119 ! size argument for defining an unlimited dimension:
00120 !
00121 integer nf_unlimited
00122 parameter (nf_unlimited = 0)
00123
00124 !
00125 ! global attribute id:
00126 !
00127 integer nf_global
00128 parameter (nf_global = 0)
00129
00130 !
00131 ! implementation limits:
00132 !
00133 integer nf_max_dims
00134 integer nf_max_attrs
00135 integer nf_max_vars
00136 integer nf_max_name
00137 integer nf_max_var_dims
00138
00139 parameter (nf_max_dims = 1024)
00140 parameter (nf_max_attrs = 8192)
00141 parameter (nf_max_vars = 8192)
00142 parameter (nf_max_name = 256)
00143 parameter (nf_max_var_dims = nf_max_dims)
00144
00145 !
00146 ! error codes:
00147 !
00148 integer nf_noerr
00149 integer nf_ebadid
00150 integer nf_eexist
00151 integer nf_einval
00152 integer nf_eperm
00153 integer nf_enotindefine
00154 integer nf_eindefine
00155 integer nf_einvalcoords
00156 integer nf_emaxdims
00157 integer nf_enameinuse
00158 integer nf_enotatt
00159 integer nf_emaxatts
00160 integer nf_ebadtype
00161 integer nf_ebaddim
00162 integer nf_eunlimpos
00163 integer nf_emaxvars
00164 integer nf_enotvar
00165 integer nf_eglobal
00166 integer nf_enotnc
00167 integer nf_ests
00168 integer nf_emaxname
00169 integer nf_eunlimit
00170 integer nf_enorecvars
00171 integer nf_echar
00172 integer nf_eedge
00173 integer nf_estride
00174 integer nf_ebadname
00175 integer nf_erange
00176 integer nf_enomem
00177 integer nf_evarsize
00178 integer nf_edimsize
00179 integer nf_etrunc
00180
00181 parameter (nf_noerr = 0)
00182 parameter (nf_ebadid = -33)
00183 parameter (nf_eexist = -35)
00184 parameter (nf_einval = -36)
00185 parameter (nf_eperm = -37)
00186 parameter (nf_enotindefine = -38)
00187 parameter (nf_eindefine = -39)
00188 parameter (nf_einvalcoords = -40)
00189 parameter (nf_emaxdims = -41)
00190 parameter (nf_enameinuse = -42)
00191 parameter (nf_enotatt = -43)
00192 parameter (nf_emaxatts = -44)
00193 parameter (nf_ebadtype = -45)
00194 parameter (nf_ebaddim = -46)
00195 parameter (nf_eunlimpos = -47)
00196 parameter (nf_emaxvars = -48)
00197 parameter (nf_enotvar = -49)
00198 parameter (nf_eglobal = -50)
00199 parameter (nf_enotnc = -51)
00200 parameter (nf_ests = -52)
00201 parameter (nf_emaxname = -53)
00202 parameter (nf_eunlimit = -54)
00203 parameter (nf_enorecvars = -55)
00204 parameter (nf_echar = -56)
00205 parameter (nf_eedge = -57)
00206 parameter (nf_estride = -58)
00207 parameter (nf_ebadname = -59)
00208 parameter (nf_erange = -60)
00209 parameter (nf_enomem = -61)
00210 parameter (nf_evarsize = -62)
00211 parameter (nf_edimsize = -63)
00212 parameter (nf_etrunc = -64)
00213 !
00214 ! error handling modes:
00215 !
00216 integer nf_fatal
00217 integer nf_verbose
00218
00219 parameter (nf_fatal = 1)
00220 parameter (nf_verbose = 2)
00221
00222 !
00223 ! miscellaneous routines:
00224 !
00225 character*80 nf_inq_libvers
00226 external nf_inq_libvers
00227
00228 character*80 nf_strerror
00229 ! (integer ncerr)
00230 external nf_strerror
00231
00232 logical nf_issyserr
00233 ! (integer ncerr)
00234 external nf_issyserr
00235
00236 !
00237 ! control routines:
00238 !
00239 integer nf_inq_base_pe
00240 ! (integer ncid,
00241 ! integer pe)
00242 external nf_inq_base_pe
00243
00244 integer nf_set_base_pe
00245 ! (integer ncid,
00246 ! integer pe)
00247 external nf_set_base_pe
00248
00249 integer nf_create
00250 ! (character*(*) path,
00251 ! integer cmode,
00252 ! integer ncid)
00253 external nf_create
00254
00255 integer nf__create
00256 ! (character*(*) path,
00257 ! integer cmode,
00258 ! integer initialsz,
00259 ! integer chunksizehint,
00260 ! integer ncid)
00261 external nf__create
00262
00263 integer nf__create_mp
00264 ! (character*(*) path,
00265 ! integer cmode,
00266 ! integer initialsz,
00267 ! integer basepe,
00268 ! integer chunksizehint,
00269 ! integer ncid)
00270 external nf__create_mp
00271
00272 integer nf_open
00273 ! (character*(*) path,
00274 ! integer mode,
00275 ! integer ncid)
00276 external nf_open
00277
00278 integer nf__open
00279 ! (character*(*) path,
00280 ! integer mode,
00281 ! integer chunksizehint,
00282 ! integer ncid)
00283 external nf__open
00284
00285 integer nf__open_mp
00286 ! (character*(*) path,
00287 ! integer mode,
00288 ! integer basepe,
00289 ! integer chunksizehint,
00290 ! integer ncid)
00291 external nf__open_mp
00292
00293 integer nf_set_fill
00294 ! (integer ncid,
00295 ! integer fillmode,
00296 ! integer old_mode)
00297 external nf_set_fill
00298
00299 integer nf_set_default_format
00300 ! (integer format,
00301 ! integer old_format)
00302 external nf_set_default_format
00303
00304 integer nf_redef
00305 ! (integer ncid)
00306 external nf_redef
00307
00308 integer nf_enddef
00309 ! (integer ncid)
00310 external nf_enddef
00311
00312 integer nf__enddef
00313 ! (integer ncid,
00314 ! integer h_minfree,
00315 ! integer v_align,
00316 ! integer v_minfree,
00317 ! integer r_align)
00318 external nf__enddef
00319
00320 integer nf_sync
00321 ! (integer ncid)
00322 external nf_sync
00323
00324 integer nf_abort
00325 ! (integer ncid)
00326 external nf_abort
00327
00328 integer nf_close
00329 ! (integer ncid)
00330 external nf_close
00331
00332 integer nf_delete
00333 ! (character*(*) ncid)
00334 external nf_delete
00335
00336 !
00337 ! general inquiry routines:
00338 !
00339
00340 integer nf_inq
00341 ! (integer ncid,
00342 ! integer ndims,
00343 ! integer nvars,
00344 ! integer ngatts,
00345 ! integer unlimdimid)
00346 external nf_inq
00347
00348 integer nf_inq_ndims
00349 ! (integer ncid,
00350 ! integer ndims)
00351 external nf_inq_ndims
00352
00353 integer nf_inq_nvars
00354 ! (integer ncid,
00355 ! integer nvars)
00356 external nf_inq_nvars
00357
00358 integer nf_inq_natts
00359 ! (integer ncid,
00360 ! integer ngatts)
00361 external nf_inq_natts
00362
00363 integer nf_inq_unlimdim
00364 ! (integer ncid,
00365 ! integer unlimdimid)
00366 external nf_inq_unlimdim
00367
00368 integer nf_inq_format
00369 ! (integer ncid,
00370 ! integer format)
00371 external nf_inq_format
00372
00373 !
00374 ! dimension routines:
00375 !
00376
00377 integer nf_def_dim
00378 ! (integer ncid,
00379 ! character(*) name,
00380 ! integer len,
00381 ! integer dimid)
00382 external nf_def_dim
00383
00384 integer nf_inq_dimid
00385 ! (integer ncid,
00386 ! character(*) name,
00387 ! integer dimid)
00388 external nf_inq_dimid
00389
00390 integer nf_inq_dim
00391 ! (integer ncid,
00392 ! integer dimid,
00393 ! character(*) name,
00394 ! integer len)
00395 external nf_inq_dim
00396
00397 integer nf_inq_dimname
00398 ! (integer ncid,
00399 ! integer dimid,
00400 ! character(*) name)
00401 external nf_inq_dimname
00402
00403 integer nf_inq_dimlen
00404 ! (integer ncid,
00405 ! integer dimid,
00406 ! integer len)
00407 external nf_inq_dimlen
00408
00409 integer nf_rename_dim
00410 ! (integer ncid,
00411 ! integer dimid,
00412 ! character(*) name)
00413 external nf_rename_dim
00414
00415 !
00416 ! general attribute routines:
00417 !
00418
00419 integer nf_inq_att
00420 ! (integer ncid,
00421 ! integer varid,
00422 ! character(*) name,
00423 ! integer xtype,
00424 ! integer len)
00425 external nf_inq_att
00426
00427 integer nf_inq_attid
00428 ! (integer ncid,
00429 ! integer varid,
00430 ! character(*) name,
00431 ! integer attnum)
00432 external nf_inq_attid
00433
00434 integer nf_inq_atttype
00435 ! (integer ncid,
00436 ! integer varid,
00437 ! character(*) name,
00438 ! integer xtype)
00439 external nf_inq_atttype
00440
00441 integer nf_inq_attlen
00442 ! (integer ncid,
00443 ! integer varid,
00444 ! character(*) name,
00445 ! integer len)
00446 external nf_inq_attlen
00447
00448 integer nf_inq_attname
00449 ! (integer ncid,
00450 ! integer varid,
00451 ! integer attnum,
00452 ! character(*) name)
00453 external nf_inq_attname
00454
00455 integer nf_copy_att
00456 ! (integer ncid_in,
00457 ! integer varid_in,
00458 ! character(*) name,
00459 ! integer ncid_out,
00460 ! integer varid_out)
00461 external nf_copy_att
00462
00463 integer nf_rename_att
00464 ! (integer ncid,
00465 ! integer varid,
00466 ! character(*) curname,
00467 ! character(*) newname)
00468 external nf_rename_att
00469
00470 integer nf_del_att
00471 ! (integer ncid,
00472 ! integer varid,
00473 ! character(*) name)
00474 external nf_del_att
00475
00476 !
00477 ! attribute put/get routines:
00478 !
00479
00480 integer nf_put_att_text
00481 ! (integer ncid,
00482 ! integer varid,
00483 ! character(*) name,
00484 ! integer len,
00485 ! character(*) text)
00486 external nf_put_att_text
00487
00488 integer nf_get_att_text
00489 ! (integer ncid,
00490 ! integer varid,
00491 ! character(*) name,
00492 ! character(*) text)
00493 external nf_get_att_text
00494
00495 integer nf_put_att_int1
00496 ! (integer ncid,
00497 ! integer varid,
00498 ! character(*) name,
00499 ! integer xtype,
00500 ! integer len,
00501 ! nf_int1_t i1vals(1))
00502 external nf_put_att_int1
00503
00504 integer nf_get_att_int1
00505 ! (integer ncid,
00506 ! integer varid,
00507 ! character(*) name,
00508 ! nf_int1_t i1vals(1))
00509 external nf_get_att_int1
00510
00511 integer nf_put_att_int2
00512 ! (integer ncid,
00513 ! integer varid,
00514 ! character(*) name,
00515 ! integer xtype,
00516 ! integer len,
00517 ! nf_int2_t i2vals(1))
00518 external nf_put_att_int2
00519
00520 integer nf_get_att_int2
00521 ! (integer ncid,
00522 ! integer varid,
00523 ! character(*) name,
00524 ! nf_int2_t i2vals(1))
00525 external nf_get_att_int2
00526
00527 integer nf_put_att_int
00528 ! (integer ncid,
00529 ! integer varid,
00530 ! character(*) name,
00531 ! integer xtype,
00532 ! integer len,
00533 ! integer ivals(1))
00534 external nf_put_att_int
00535
00536 integer nf_get_att_int
00537 ! (integer ncid,
00538 ! integer varid,
00539 ! character(*) name,
00540 ! integer ivals(1))
00541 external nf_get_att_int
00542
00543 integer nf_put_att_real
00544 ! (integer ncid,
00545 ! integer varid,
00546 ! character(*) name,
00547 ! integer xtype,
00548 ! integer len,
00549 ! real rvals(1))
00550 external nf_put_att_real
00551
00552 integer nf_get_att_real
00553 ! (integer ncid,
00554 ! integer varid,
00555 ! character(*) name,
00556 ! real rvals(1))
00557 external nf_get_att_real
00558
00559 integer nf_put_att_double
00560 ! (integer ncid,
00561 ! integer varid,
00562 ! character(*) name,
00563 ! integer xtype,
00564 ! integer len,
00565 ! double dvals(1))
00566 external nf_put_att_double
00567
00568 integer nf_get_att_double
00569 ! (integer ncid,
00570 ! integer varid,
00571 ! character(*) name,
00572 ! double dvals(1))
00573 external nf_get_att_double
00574
00575 !
00576 ! general variable routines:
00577 !
00578
00579 integer nf_def_var
00580 ! (integer ncid,
00581 ! character(*) name,
00582 ! integer datatype,
00583 ! integer ndims,
00584 ! integer dimids(1),
00585 ! integer varid)
00586 external nf_def_var
00587
00588 integer nf_inq_var
00589 ! (integer ncid,
00590 ! integer varid,
00591 ! character(*) name,
00592 ! integer datatype,
00593 ! integer ndims,
00594 ! integer dimids(1),
00595 ! integer natts)
00596 external nf_inq_var
00597
00598 integer nf_inq_varid
00599 ! (integer ncid,
00600 ! character(*) name,
00601 ! integer varid)
00602 external nf_inq_varid
00603
00604 integer nf_inq_varname
00605 ! (integer ncid,
00606 ! integer varid,
00607 ! character(*) name)
00608 external nf_inq_varname
00609
00610 integer nf_inq_vartype
00611 ! (integer ncid,
00612 ! integer varid,
00613 ! integer xtype)
00614 external nf_inq_vartype
00615
00616 integer nf_inq_varndims
00617 ! (integer ncid,
00618 ! integer varid,
00619 ! integer ndims)
00620 external nf_inq_varndims
00621
00622 integer nf_inq_vardimid
00623 ! (integer ncid,
00624 ! integer varid,
00625 ! integer dimids(1))
00626 external nf_inq_vardimid
00627
00628 integer nf_inq_varnatts
00629 ! (integer ncid,
00630 ! integer varid,
00631 ! integer natts)
00632 external nf_inq_varnatts
00633
00634 integer nf_rename_var
00635 ! (integer ncid,
00636 ! integer varid,
00637 ! character(*) name)
00638 external nf_rename_var
00639
00640 integer nf_copy_var
00641 ! (integer ncid_in,
00642 ! integer varid,
00643 ! integer ncid_out)
00644 external nf_copy_var
00645
00646 !
00647 ! entire variable put/get routines:
00648 !
00649
00650 integer nf_put_var_text
00651 ! (integer ncid,
00652 ! integer varid,
00653 ! character(*) text)
00654 external nf_put_var_text
00655
00656 integer nf_get_var_text
00657 ! (integer ncid,
00658 ! integer varid,
00659 ! character(*) text)
00660 external nf_get_var_text
00661
00662 integer nf_put_var_int1
00663 ! (integer ncid,
00664 ! integer varid,
00665 ! nf_int1_t i1vals(1))
00666 external nf_put_var_int1
00667
00668 integer nf_get_var_int1
00669 ! (integer ncid,
00670 ! integer varid,
00671 ! nf_int1_t i1vals(1))
00672 external nf_get_var_int1
00673
00674 integer nf_put_var_int2
00675 ! (integer ncid,
00676 ! integer varid,
00677 ! nf_int2_t i2vals(1))
00678 external nf_put_var_int2
00679
00680 integer nf_get_var_int2
00681 ! (integer ncid,
00682 ! integer varid,
00683 ! nf_int2_t i2vals(1))
00684 external nf_get_var_int2
00685
00686 integer nf_put_var_int
00687 ! (integer ncid,
00688 ! integer varid,
00689 ! integer ivals(1))
00690 external nf_put_var_int
00691
00692 integer nf_get_var_int
00693 ! (integer ncid,
00694 ! integer varid,
00695 ! integer ivals(1))
00696 external nf_get_var_int
00697
00698 integer nf_put_var_real
00699 ! (integer ncid,
00700 ! integer varid,
00701 ! real rvals(1))
00702 external nf_put_var_real
00703
00704 integer nf_get_var_real
00705 ! (integer ncid,
00706 ! integer varid,
00707 ! real rvals(1))
00708 external nf_get_var_real
00709
00710 integer nf_put_var_double
00711 ! (integer ncid,
00712 ! integer varid,
00713 ! doubleprecision dvals(1))
00714 external nf_put_var_double
00715
00716 integer nf_get_var_double
00717 ! (integer ncid,
00718 ! integer varid,
00719 ! doubleprecision dvals(1))
00720 external nf_get_var_double
00721
00722 !
00723 ! single variable put/get routines:
00724 !
00725
00726 integer nf_put_var1_text
00727 ! (integer ncid,
00728 ! integer varid,
00729 ! integer index(1),
00730 ! character*1 text)
00731 external nf_put_var1_text
00732
00733 integer nf_get_var1_text
00734 ! (integer ncid,
00735 ! integer varid,
00736 ! integer index(1),
00737 ! character*1 text)
00738 external nf_get_var1_text
00739
00740 integer nf_put_var1_int1
00741 ! (integer ncid,
00742 ! integer varid,
00743 ! integer index(1),
00744 ! nf_int1_t i1val)
00745 external nf_put_var1_int1
00746
00747 integer nf_get_var1_int1
00748 ! (integer ncid,
00749 ! integer varid,
00750 ! integer index(1),
00751 ! nf_int1_t i1val)
00752 external nf_get_var1_int1
00753
00754 integer nf_put_var1_int2
00755 ! (integer ncid,
00756 ! integer varid,
00757 ! integer index(1),
00758 ! nf_int2_t i2val)
00759 external nf_put_var1_int2
00760
00761 integer nf_get_var1_int2
00762 ! (integer ncid,
00763 ! integer varid,
00764 ! integer index(1),
00765 ! nf_int2_t i2val)
00766 external nf_get_var1_int2
00767
00768 integer nf_put_var1_int
00769 ! (integer ncid,
00770 ! integer varid,
00771 ! integer index(1),
00772 ! integer ival)
00773 external nf_put_var1_int
00774
00775 integer nf_get_var1_int
00776 ! (integer ncid,
00777 ! integer varid,
00778 ! integer index(1),
00779 ! integer ival)
00780 external nf_get_var1_int
00781
00782 integer nf_put_var1_real
00783 ! (integer ncid,
00784 ! integer varid,
00785 ! integer index(1),
00786 ! real rval)
00787 external nf_put_var1_real
00788
00789 integer nf_get_var1_real
00790 ! (integer ncid,
00791 ! integer varid,
00792 ! integer index(1),
00793 ! real rval)
00794 external nf_get_var1_real
00795
00796 integer nf_put_var1_double
00797 ! (integer ncid,
00798 ! integer varid,
00799 ! integer index(1),
00800 ! doubleprecision dval)
00801 external nf_put_var1_double
00802
00803 integer nf_get_var1_double
00804 ! (integer ncid,
00805 ! integer varid,
00806 ! integer index(1),
00807 ! doubleprecision dval)
00808 external nf_get_var1_double
00809
00810 !
00811 ! variable array put/get routines:
00812 !
00813
00814 integer nf_put_vara_text
00815 ! (integer ncid,
00816 ! integer varid,
00817 ! integer start(1),
00818 ! integer count(1),
00819 ! character(*) text)
00820 external nf_put_vara_text
00821
00822 integer nf_get_vara_text
00823 ! (integer ncid,
00824 ! integer varid,
00825 ! integer start(1),
00826 ! integer count(1),
00827 ! character(*) text)
00828 external nf_get_vara_text
00829
00830 integer nf_put_vara_int1
00831 ! (integer ncid,
00832 ! integer varid,
00833 ! integer start(1),
00834 ! integer count(1),
00835 ! nf_int1_t i1vals(1))
00836 external nf_put_vara_int1
00837
00838 integer nf_get_vara_int1
00839 ! (integer ncid,
00840 ! integer varid,
00841 ! integer start(1),
00842 ! integer count(1),
00843 ! nf_int1_t i1vals(1))
00844 external nf_get_vara_int1
00845
00846 integer nf_put_vara_int2
00847 ! (integer ncid,
00848 ! integer varid,
00849 ! integer start(1),
00850 ! integer count(1),
00851 ! nf_int2_t i2vals(1))
00852 external nf_put_vara_int2
00853
00854 integer nf_get_vara_int2
00855 ! (integer ncid,
00856 ! integer varid,
00857 ! integer start(1),
00858 ! integer count(1),
00859 ! nf_int2_t i2vals(1))
00860 external nf_get_vara_int2
00861
00862 integer nf_put_vara_int
00863 ! (integer ncid,
00864 ! integer varid,
00865 ! integer start(1),
00866 ! integer count(1),
00867 ! integer ivals(1))
00868 external nf_put_vara_int
00869
00870 integer nf_get_vara_int
00871 ! (integer ncid,
00872 ! integer varid,
00873 ! integer start(1),
00874 ! integer count(1),
00875 ! integer ivals(1))
00876 external nf_get_vara_int
00877
00878 integer nf_put_vara_real
00879 ! (integer ncid,
00880 ! integer varid,
00881 ! integer start(1),
00882 ! integer count(1),
00883 ! real rvals(1))
00884 external nf_put_vara_real
00885
00886 integer nf_get_vara_real
00887 ! (integer ncid,
00888 ! integer varid,
00889 ! integer start(1),
00890 ! integer count(1),
00891 ! real rvals(1))
00892 external nf_get_vara_real
00893
00894 integer nf_put_vara_double
00895 ! (integer ncid,
00896 ! integer varid,
00897 ! integer start(1),
00898 ! integer count(1),
00899 ! doubleprecision dvals(1))
00900 external nf_put_vara_double
00901
00902 integer nf_get_vara_double
00903 ! (integer ncid,
00904 ! integer varid,
00905 ! integer start(1),
00906 ! integer count(1),
00907 ! doubleprecision dvals(1))
00908 external nf_get_vara_double
00909
00910 !
00911 ! strided variable put/get routines:
00912 !
00913
00914 integer nf_put_vars_text
00915 ! (integer ncid,
00916 ! integer varid,
00917 ! integer start(1),
00918 ! integer count(1),
00919 ! integer stride(1),
00920 ! character(*) text)
00921 external nf_put_vars_text
00922
00923 integer nf_get_vars_text
00924 ! (integer ncid,
00925 ! integer varid,
00926 ! integer start(1),
00927 ! integer count(1),
00928 ! integer stride(1),
00929 ! character(*) text)
00930 external nf_get_vars_text
00931
00932 integer nf_put_vars_int1
00933 ! (integer ncid,
00934 ! integer varid,
00935 ! integer start(1),
00936 ! integer count(1),
00937 ! integer stride(1),
00938 ! nf_int1_t i1vals(1))
00939 external nf_put_vars_int1
00940
00941 integer nf_get_vars_int1
00942 ! (integer ncid,
00943 ! integer varid,
00944 ! integer start(1),
00945 ! integer count(1),
00946 ! integer stride(1),
00947 ! nf_int1_t i1vals(1))
00948 external nf_get_vars_int1
00949
00950 integer nf_put_vars_int2
00951 ! (integer ncid,
00952 ! integer varid,
00953 ! integer start(1),
00954 ! integer count(1),
00955 ! integer stride(1),
00956 ! nf_int2_t i2vals(1))
00957 external nf_put_vars_int2
00958
00959 integer nf_get_vars_int2
00960 ! (integer ncid,
00961 ! integer varid,
00962 ! integer start(1),
00963 ! integer count(1),
00964 ! integer stride(1),
00965 ! nf_int2_t i2vals(1))
00966 external nf_get_vars_int2
00967
00968 integer nf_put_vars_int
00969 ! (integer ncid,
00970 ! integer varid,
00971 ! integer start(1),
00972 ! integer count(1),
00973 ! integer stride(1),
00974 ! integer ivals(1))
00975 external nf_put_vars_int
00976
00977 integer nf_get_vars_int
00978 ! (integer ncid,
00979 ! integer varid,
00980 ! integer start(1),
00981 ! integer count(1),
00982 ! integer stride(1),
00983 ! integer ivals(1))
00984 external nf_get_vars_int
00985
00986 integer nf_put_vars_real
00987 ! (integer ncid,
00988 ! integer varid,
00989 ! integer start(1),
00990 ! integer count(1),
00991 ! integer stride(1),
00992 ! real rvals(1))
00993 external nf_put_vars_real
00994
00995 integer nf_get_vars_real
00996 ! (integer ncid,
00997 ! integer varid,
00998 ! integer start(1),
00999 ! integer count(1),
01000 ! integer stride(1),
01001 ! real rvals(1))
01002 external nf_get_vars_real
01003
01004 integer nf_put_vars_double
01005 ! (integer ncid,
01006 ! integer varid,
01007 ! integer start(1),
01008 ! integer count(1),
01009 ! integer stride(1),
01010 ! doubleprecision dvals(1))
01011 external nf_put_vars_double
01012
01013 integer nf_get_vars_double
01014 ! (integer ncid,
01015 ! integer varid,
01016 ! integer start(1),
01017 ! integer count(1),
01018 ! integer stride(1),
01019 ! doubleprecision dvals(1))
01020 external nf_get_vars_double
01021
01022 !
01023 ! mapped variable put/get routines:
01024 !
01025
01026 integer nf_put_varm_text
01027 ! (integer ncid,
01028 ! integer varid,
01029 ! integer start(1),
01030 ! integer count(1),
01031 ! integer stride(1),
01032 ! integer imap(1),
01033 ! character(*) text)
01034 external nf_put_varm_text
01035
01036 integer nf_get_varm_text
01037 ! (integer ncid,
01038 ! integer varid,
01039 ! integer start(1),
01040 ! integer count(1),
01041 ! integer stride(1),
01042 ! integer imap(1),
01043 ! character(*) text)
01044 external nf_get_varm_text
01045
01046 integer nf_put_varm_int1
01047 ! (integer ncid,
01048 ! integer varid,
01049 ! integer start(1),
01050 ! integer count(1),
01051 ! integer stride(1),
01052 ! integer imap(1),
01053 ! nf_int1_t i1vals(1))
01054 external nf_put_varm_int1
01055
01056 integer nf_get_varm_int1
01057 ! (integer ncid,
01058 ! integer varid,
01059 ! integer start(1),
01060 ! integer count(1),
01061 ! integer stride(1),
01062 ! integer imap(1),
01063 ! nf_int1_t i1vals(1))
01064 external nf_get_varm_int1
01065
01066 integer nf_put_varm_int2
01067 ! (integer ncid,
01068 ! integer varid,
01069 ! integer start(1),
01070 ! integer count(1),
01071 ! integer stride(1),
01072 ! integer imap(1),
01073 ! nf_int2_t i2vals(1))
01074 external nf_put_varm_int2
01075
01076 integer nf_get_varm_int2
01077 ! (integer ncid,
01078 ! integer varid,
01079 ! integer start(1),
01080 ! integer count(1),
01081 ! integer stride(1),
01082 ! integer imap(1),
01083 ! nf_int2_t i2vals(1))
01084 external nf_get_varm_int2
01085
01086 integer nf_put_varm_int
01087 ! (integer ncid,
01088 ! integer varid,
01089 ! integer start(1),
01090 ! integer count(1),
01091 ! integer stride(1),
01092 ! integer imap(1),
01093 ! integer ivals(1))
01094 external nf_put_varm_int
01095
01096 integer nf_get_varm_int
01097 ! (integer ncid,
01098 ! integer varid,
01099 ! integer start(1),
01100 ! integer count(1),
01101 ! integer stride(1),
01102 ! integer imap(1),
01103 ! integer ivals(1))
01104 external nf_get_varm_int
01105
01106 integer nf_put_varm_real
01107 ! (integer ncid,
01108 ! integer varid,
01109 ! integer start(1),
01110 ! integer count(1),
01111 ! integer stride(1),
01112 ! integer imap(1),
01113 ! real rvals(1))
01114 external nf_put_varm_real
01115
01116 integer nf_get_varm_real
01117 ! (integer ncid,
01118 ! integer varid,
01119 ! integer start(1),
01120 ! integer count(1),
01121 ! integer stride(1),
01122 ! integer imap(1),
01123 ! real rvals(1))
01124 external nf_get_varm_real
01125
01126 integer nf_put_varm_double
01127 ! (integer ncid,
01128 ! integer varid,
01129 ! integer start(1),
01130 ! integer count(1),
01131 ! integer stride(1),
01132 ! integer imap(1),
01133 ! doubleprecision dvals(1))
01134 external nf_put_varm_double
01135
01136 integer nf_get_varm_double
01137 ! (integer ncid,
01138 ! integer varid,
01139 ! integer start(1),
01140 ! integer count(1),
01141 ! integer stride(1),
01142 ! integer imap(1),
01143 ! doubleprecision dvals(1))
01144 external nf_get_varm_double
01145
01146 !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
01147 ! begin netcdf 2.4 backward compatibility:
01148 !
01149
01150 !
01151 ! functions in the fortran interface
01152 !
01153 integer nccre
01154 integer ncopn
01155 integer ncddef
01156 integer ncdid
01157 integer ncvdef
01158 integer ncvid
01159 integer nctlen
01160 integer ncsfil
01161
01162 external nccre
01163 external ncopn
01164 external ncddef
01165 external ncdid
01166 external ncvdef
01167 external ncvid
01168 external nctlen
01169 external ncsfil
01170
01171
01172 integer ncrdwr
01173 integer nccreat
01174 integer ncexcl
01175 integer ncindef
01176 integer ncnsync
01177 integer nchsync
01178 integer ncndirty
01179 integer nchdirty
01180 integer nclink
01181 integer ncnowrit
01182 integer ncwrite
01183 integer ncclob
01184 integer ncnoclob
01185 integer ncglobal
01186 integer ncfill
01187 integer ncnofill
01188 integer maxncop
01189 integer maxncdim
01190 integer maxncatt
01191 integer maxncvar
01192 integer maxncnam
01193 integer maxvdims
01194 integer ncnoerr
01195 integer ncebadid
01196 integer ncenfile
01197 integer nceexist
01198 integer nceinval
01199 integer nceperm
01200 integer ncenotin
01201 integer nceindef
01202 integer ncecoord
01203 integer ncemaxds
01204 integer ncename
01205 integer ncenoatt
01206 integer ncemaxat
01207 integer ncebadty
01208 integer ncebadd
01209 integer ncests
01210 integer nceunlim
01211 integer ncemaxvs
01212 integer ncenotvr
01213 integer nceglob
01214 integer ncenotnc
01215 integer ncfoobar
01216 integer ncsyserr
01217 integer ncfatal
01218 integer ncverbos
01219 integer ncentool
01220
01221
01222 !
01223 ! netcdf data types:
01224 !
01225 integer ncbyte
01226 integer ncchar
01227 integer ncshort
01228 integer nclong
01229 integer ncfloat
01230 integer ncdouble
01231
01232 parameter(ncbyte = 1)
01233 parameter(ncchar = 2)
01234 parameter(ncshort = 3)
01235 parameter(nclong = 4)
01236 parameter(ncfloat = 5)
01237 parameter(ncdouble = 6)
01238
01239 !
01240 ! masks for the struct nc flag field; passed in as 'mode' arg to
01241 ! nccreate and ncopen.
01242 !
01243
01244 ! read/write, 0 => readonly
01245 parameter(ncrdwr = 1)
01246 ! in create phase, cleared by ncendef
01247 parameter(nccreat = 2)
01248 ! on create destroy existing file
01249 parameter(ncexcl = 4)
01250 ! in define mode, cleared by ncendef
01251 parameter(ncindef = 8)
01252 ! synchronise numrecs on change (x'10')
01253 parameter(ncnsync = 16)
01254 ! synchronise whole header on change (x'20')
01255 parameter(nchsync = 32)
01256 ! numrecs has changed (x'40')
01257 parameter(ncndirty = 64)
01258 ! header info has changed (x'80')
01259 parameter(nchdirty = 128)
01260 ! prefill vars on endef and increase of record, the default behavior
01261 parameter(ncfill = 0)
01262 ! do not fill vars on endef and increase of record (x'100')
01263 parameter(ncnofill = 256)
01264 ! isa link (x'8000')
01265 parameter(nclink = 32768)
01266
01267 !
01268 ! 'mode' arguments for nccreate and ncopen
01269 !
01270 parameter(ncnowrit = 0)
01271 parameter(ncwrite = ncrdwr)
01272 parameter(ncclob = nf_clobber)
01273 parameter(ncnoclob = nf_noclobber)
01274
01275 !
01276 ! 'size' argument to ncdimdef for an unlimited dimension
01277 !
01278 integer ncunlim
01279 parameter(ncunlim = 0)
01280
01281 !
01282 ! attribute id to put/get a global attribute
01283 !
01284 parameter(ncglobal = 0)
01285
01286 !
01287 ! advisory maximums:
01288 !
01289 parameter(maxncop = 64)
01290 parameter(maxncdim = 1024)
01291 parameter(maxncatt = 8192)
01292 parameter(maxncvar = 8192)
01293 ! not enforced
01294 parameter(maxncnam = 256)
01295 parameter(maxvdims = maxncdim)
01296
01297 !
01298 ! global netcdf error status variable
01299 ! initialized in error.c
01300 !
01301
01302 ! no error
01303 parameter(ncnoerr = nf_noerr)
01304 ! not a netcdf id
01305 parameter(ncebadid = nf_ebadid)
01306 ! too many netcdfs open
01307 parameter(ncenfile = -31) ! nc_syserr
01308 ! netcdf file exists && ncnoclob
01309 parameter(nceexist = nf_eexist)
01310 ! invalid argument
01311 parameter(nceinval = nf_einval)
01312 ! write to read only
01313 parameter(nceperm = nf_eperm)
01314 ! operation not allowed in data mode
01315 parameter(ncenotin = nf_enotindefine )
01316 ! operation not allowed in define mode
01317 parameter(nceindef = nf_eindefine)
01318 ! coordinates out of domain
01319 parameter(ncecoord = nf_einvalcoords)
01320 ! maxncdims exceeded
01321 parameter(ncemaxds = nf_emaxdims)
01322 ! string match to name in use
01323 parameter(ncename = nf_enameinuse)
01324 ! attribute not found
01325 parameter(ncenoatt = nf_enotatt)
01326 ! maxncattrs exceeded
01327 parameter(ncemaxat = nf_emaxatts)
01328 ! not a netcdf data type
01329 parameter(ncebadty = nf_ebadtype)
01330 ! invalid dimension id
01331 parameter(ncebadd = nf_ebaddim)
01332 ! ncunlimited in the wrong index
01333 parameter(nceunlim = nf_eunlimpos)
01334 ! maxncvars exceeded
01335 parameter(ncemaxvs = nf_emaxvars)
01336 ! variable not found
01337 parameter(ncenotvr = nf_enotvar)
01338 ! action prohibited on ncglobal varid
01339 parameter(nceglob = nf_eglobal)
01340 ! not a netcdf file
01341 parameter(ncenotnc = nf_enotnc)
01342 parameter(ncests = nf_ests)
01343 parameter (ncentool = nf_emaxname)
01344 parameter(ncfoobar = 32)
01345 parameter(ncsyserr = -31)
01346
01347 !
01348 ! global options variable. used to determine behavior of error handler.
01349 ! initialized in lerror.c
01350 !
01351 parameter(ncfatal = 1)
01352 parameter(ncverbos = 2)
01353
01354 !
01355 ! default fill values. these must be the same as in the c interface.
01356 !
01357 integer filbyte
01358 integer filchar
01359 integer filshort
01360 integer fillong
01361 real filfloat
01362 doubleprecision fildoub
01363
01364 parameter (filbyte = -127)
01365 parameter (filchar = 0)
01366 parameter (filshort = -32767)
01367 parameter (fillong = -2147483647)
01368 parameter (filfloat = 9.9692099683868690e+36)
01369 parameter (fildoub = 9.9692099683868690e+36)