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