[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: netcdf.f90 & 3.3.1 ?
- Subject: Re: netcdf.f90 & 3.3.1 ?
- Date: Thu, 30 Oct 1997 14:49:30 -0700
Hi Paul,
I've appended a FORTRAN 90 module for netCDF 3.3.
I tried compiling this (using the Sun f90 compiler) by itself and with
the test routines in nf_test/, but I'm not sure those are adequate
tests. If you have a good way to test this, I'd appreciate it.
Also, this contains concrete type declarations that are not really valid
Fortran 90, such as INTEGER*1 and INTEGER*2. For some f90 compilers
these may need to be changed (for example there might be a BYTE type
used instead of INTEGER*1). They way this should probably be handled in
the release is to put this in a .F file and have the preprocessor use
information generated by the configure script to generate a .f version.
Anyway, I'd be interested in knowing if you find any problems with this
...
--Russ
_____________________________________________________________________
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
! Encapsulation of netCDF-3 API parameters and interface blocks.
module netcdf
!
! External netCDF data types:
!
integer, parameter :: &
NF_BYTE = 1, NF_INT1 = NF_BYTE, NF_CHAR = 2, NF_SHORT = 3, &
NF_INT2 = NF_SHORT, NF_INT = 4, NF_FLOAT = 5, &
NF_REAL = NF_FLOAT, NF_DOUBLE = 6
!
! Default fill values:
!
integer, parameter :: &
NF_FILL_BYTE = -127, NF_FILL_INT1 = NF_FILL_BYTE, &
NF_FILL_CHAR = 0, NF_FILL_SHORT = -32767, &
NF_FILL_INT2 = NF_FILL_SHORT, NF_FILL_INT = -2147483647
real, parameter :: &
NF_FILL_FLOAT = 9.9692099683868690e+36, &
NF_FILL_REAL = NF_FILL_FLOAT
doubleprecision, parameter :: &
NF_FILL_DOUBLE = 9.9692099683868690e+36
!
! Mode flags for opening and creating a netCDF dataset:
!
integer, parameter :: &
NF_NOWRITE = 0, NF_WRITE = 1, NF_CLOBBER = 0, NF_NOCLOBBER = 4, &
NF_FILL = 0, NF_NOFILL = 256, NF_LOCK = 1024, NF_SHARE = 2048
!
! Size argument for defining an unlimited dimension:
!
integer, parameter :: &
NF_UNLIMITED = 0
!
! Global Attribute ID:
!
integer, parameter :: &
NF_GLOBAL = 0
!
! Implementation limits:
!
integer, parameter :: &
NF_MAX_DIMS = 100, NF_MAX_ATTRS = 2000, NF_MAX_VARS = 2000, &
NF_MAX_NAME = 128, NF_MAX_VAR_DIMS = NF_MAX_DIMS
!
! Error codes:
!
integer, parameter :: &
NF_NOERR = 0, NF_EBADID = -33, NF_EEXIST = -35, NF_EINVAL = -36, &
NF_EPERM = -37, NF_ENOTINDEFINE = -38, NF_EINDEFINE = -39, &
NF_EINVALCOORDS = -40, NF_EMAXDIMS = -41, NF_ENAMEINUSE = -42, &
NF_ENOTATT = -43, NF_EMAXATTS = -44, NF_EBADTYPE = -45, &
NF_EBADDIM = -46, NF_EUNLIMPOS = -47, NF_EMAXVARS = -48, &
NF_ENOTVAR = -49, NF_EGLOBAL = -50, NF_ENOTNC = -51, &
NF_ESTS = -52, NF_EMAXNAME = -53, NF_EUNLIMIT = -54, &
NF_ENORECVARS = -55, NF_ECHAR = -56, NF_EEDGE = -57, &
NF_ESTRIDE = -58, NF_EBADNAME = -59, NF_ERANGE = -60
integer, parameter :: &
NF_FATAL = 1, NF_VERBOSE = 2
! Functions in the netCDF-3 FORTRAN interface
interface
CHARACTER*80 FUNCTION NF_INQ_LIBVERS()
end function NF_INQ_LIBVERS
CHARACTER*80 FUNCTION NF_STRERROR (NCERR)
integer, intent ( in) :: NCERR
end function NF_STRERROR
INTEGER FUNCTION NF_CREATE (PATH, CMODE, ncid)
character (len = *), intent ( in) :: PATH
integer, intent ( in) :: CMODE
integer, intent (out) :: ncid
end function NF_CREATE
INTEGER FUNCTION NF_OPEN (PATH, MODE, ncid)
character (len = *), intent ( in) :: PATH
integer, intent ( in) :: MODE
integer, intent (out) :: ncid
end function NF_OPEN
INTEGER FUNCTION NF_SET_FILL (NCID, FILLMODE, old_mode)
integer, intent ( in) :: NCID
integer, intent ( in) :: FILLMODE
integer, intent (out) :: old_mode
end function NF_SET_FILL
INTEGER FUNCTION NF_REDEF (NCID)
integer, intent ( in) :: NCID
end function NF_REDEF
INTEGER FUNCTION NF_ENDDEF (NCID)
integer, intent ( in) :: NCID
end function NF_ENDDEF
INTEGER FUNCTION NF_SYNC (NCID)
integer, intent ( in) :: NCID
end function NF_SYNC
INTEGER FUNCTION NF_ABORT (NCID)
integer, intent ( in) :: NCID
end function NF_ABORT
INTEGER FUNCTION NF_CLOSE (NCID)
integer, intent ( in) :: NCID
end function NF_CLOSE
INTEGER FUNCTION NF_INQ (NCID, ndims, nvars, ngatts,&
unlimdimid)
integer, intent ( in) :: NCID
integer, intent (out) :: ndims
integer, intent (out) :: nvars
integer, intent (out) :: ngatts
integer, intent (out) :: unlimdimid
end function NF_INQ
INTEGER FUNCTION NF_INQ_NDIMS (NCID, ndims)
integer, intent ( in) :: NCID
integer, intent (out) :: ndims
end function NF_INQ_NDIMS
INTEGER FUNCTION NF_INQ_NVARS (NCID, nvars)
integer, intent ( in) :: NCID
integer, intent (out) :: nvars
end function NF_INQ_NVARS
INTEGER FUNCTION NF_INQ_NATTS (NCID, ngatts)
integer, intent ( in) :: NCID
integer, intent (out) :: ngatts
end function NF_INQ_NATTS
INTEGER FUNCTION NF_INQ_UNLIMDIM (NCID, unlimdimid)
integer, intent ( in) :: NCID
integer, intent (out) :: unlimdimid
end function NF_INQ_UNLIMDIM
INTEGER FUNCTION NF_DEF_DIM (NCID, NAME, LEN, dimid)
integer, intent ( in) :: NCID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: LEN
integer, intent (out) :: dimid
end function NF_DEF_DIM
INTEGER FUNCTION NF_INQ_DIMID (NCID, NAME, dimid)
integer, intent ( in) :: NCID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: dimid
end function NF_INQ_DIMID
INTEGER FUNCTION NF_INQ_DIM (NCID, DIMID, name, len)
integer, intent ( in) :: NCID
integer, intent ( in) :: DIMID
character (len = *), intent (out) :: name
integer, intent (out) :: len
end function NF_INQ_DIM
INTEGER FUNCTION NF_INQ_DIMNAME (NCID, DIMID, name)
integer, intent ( in) :: NCID
integer, intent ( in) :: DIMID
character (len = *), intent (out) :: name
end function NF_INQ_DIMNAME
INTEGER FUNCTION NF_INQ_DIMLEN (NCID, DIMID, len)
integer, intent ( in) :: NCID
integer, intent ( in) :: DIMID
integer, intent (out) :: len
end function NF_INQ_DIMLEN
INTEGER FUNCTION NF_RENAME_DIM (NCID, DIMID, NAME)
integer, intent ( in) :: NCID
integer, intent ( in) :: DIMID
character (len = *), intent ( in) :: NAME
end function NF_RENAME_DIM
INTEGER FUNCTION NF_DEF_VAR (NCID, NAME, XTYPE, NDIMS, &
DIMIDS, varid)
integer, intent ( in) :: NCID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: NDIMS
integer, dimension(:), intent ( in) :: DIMIDS
integer, intent (out) :: varid
end function NF_DEF_VAR
INTEGER FUNCTION NF_INQ_VAR (NCID, VARID, name, xtype, &
ndims, dimids, natts)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent (out) :: name
integer, intent (out) :: xtype
integer, intent (out) :: ndims
integer, dimension(:), intent (out) :: dimids
integer, intent (out) :: natts
end function NF_INQ_VAR
INTEGER FUNCTION NF_INQ_VARID (NCID, NAME, varid)
integer, intent ( in) :: NCID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: varid
end function NF_INQ_VARID
INTEGER FUNCTION NF_INQ_VARNAME (NCID, VARID, name)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent (out) :: name
end function NF_INQ_VARNAME
INTEGER FUNCTION NF_INQ_VARTYPE (NCID, VARID, xtype)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent (out) :: xtype
end function NF_INQ_VARTYPE
INTEGER FUNCTION NF_INQ_VARNDIMS (NCID, VARID, ndims)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent (out) :: ndims
end function NF_INQ_VARNDIMS
INTEGER FUNCTION NF_INQ_VARDIMID (NCID, VARID, dimids)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent (out) :: dimids
end function NF_INQ_VARDIMID
INTEGER FUNCTION NF_INQ_VARNATTS (NCID, VARID, natts)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent (out) :: natts
end function NF_INQ_VARNATTS
INTEGER FUNCTION NF_RENAME_VAR (NCID, VARID, NAME)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
end function NF_RENAME_VAR
INTEGER FUNCTION NF_PUT_VAR_TEXT (NCID, VARID, TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: TEXT
end function NF_PUT_VAR_TEXT
INTEGER FUNCTION NF_GET_VAR_TEXT (NCID, VARID, text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent (out) :: text
end function NF_GET_VAR_TEXT
INTEGER FUNCTION NF_PUT_VAR_INT1 (NCID, VARID, I1VAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer*1, intent ( in) :: I1VAL
end function NF_PUT_VAR_INT1
INTEGER FUNCTION NF_GET_VAR_INT1 (NCID, VARID, i1val)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer*1, intent (out) :: i1val
end function NF_GET_VAR_INT1
INTEGER FUNCTION NF_PUT_VAR_INT2 (NCID, VARID, I2VAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer*2, intent ( in) :: I2VAL
end function NF_PUT_VAR_INT2
INTEGER FUNCTION NF_GET_VAR_INT2 (NCID, VARID, i2val)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer*2, intent (out) :: i2val
end function NF_GET_VAR_INT2
INTEGER FUNCTION NF_PUT_VAR_INT (NCID, VARID, IVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent ( in) :: IVAL
end function NF_PUT_VAR_INT
INTEGER FUNCTION NF_GET_VAR_INT (NCID, VARID, ival)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent (out) :: ival
end function NF_GET_VAR_INT
INTEGER FUNCTION NF_PUT_VAR_REAL (NCID, VARID, RVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
real, intent ( in) :: RVAL
end function NF_PUT_VAR_REAL
INTEGER FUNCTION NF_GET_VAR_REAL (NCID, VARID, rval)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
real, intent (out) :: rval
end function NF_GET_VAR_REAL
INTEGER FUNCTION NF_PUT_VAR_DOUBLE (NCID, VARID, DVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
doubleprecision, intent ( in) :: DVAL
end function NF_PUT_VAR_DOUBLE
INTEGER FUNCTION NF_GET_VAR_DOUBLE (NCID, VARID, dval)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
doubleprecision, intent (out) :: dval
end function NF_GET_VAR_DOUBLE
INTEGER FUNCTION NF_PUT_VAR1_TEXT (NCID, VARID, INDEX, TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
character (len = *), intent ( in) :: TEXT
end function NF_PUT_VAR1_TEXT
INTEGER FUNCTION NF_GET_VAR1_TEXT (NCID, VARID, INDEX, text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
character (len = *), intent (out) :: text
end function NF_GET_VAR1_TEXT
INTEGER FUNCTION NF_PUT_VAR1_INT1 (NCID, VARID, INDEX, I1VAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer*1, intent ( in) :: I1VAL
end function NF_PUT_VAR1_INT1
INTEGER FUNCTION NF_GET_VAR1_INT1 (NCID, VARID, INDEX, i1val)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer*1, intent (out) :: i1val
end function NF_GET_VAR1_INT1
INTEGER FUNCTION NF_PUT_VAR1_INT2 (NCID, VARID, INDEX, I2VAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer*2, intent ( in) :: I2VAL
end function NF_PUT_VAR1_INT2
INTEGER FUNCTION NF_GET_VAR1_INT2 (NCID, VARID, INDEX, i2val)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer*2, intent (out) :: i2val
end function NF_GET_VAR1_INT2
INTEGER FUNCTION NF_PUT_VAR1_INT (NCID, VARID, INDEX, IVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer, intent ( in) :: IVAL
end function NF_PUT_VAR1_INT
INTEGER FUNCTION NF_GET_VAR1_INT (NCID, VARID, INDEX, ival)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
integer, intent (out) :: ival
end function NF_GET_VAR1_INT
INTEGER FUNCTION NF_PUT_VAR1_REAL (NCID, VARID, INDEX, RVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
real, intent ( in) :: RVAL
end function NF_PUT_VAR1_REAL
INTEGER FUNCTION NF_GET_VAR1_REAL (NCID, VARID, INDEX, rval)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
real, intent (out) :: rval
end function NF_GET_VAR1_REAL
INTEGER FUNCTION NF_PUT_VAR1_DOUBLE(NCID, VARID, INDEX, DVAL)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
doubleprecision, intent ( in) :: DVAL
end function NF_PUT_VAR1_DOUBLE
INTEGER FUNCTION NF_GET_VAR1_DOUBLE(NCID, VARID, INDEX, dval)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: INDEX
doubleprecision, intent (out) :: dval
end function NF_GET_VAR1_DOUBLE
INTEGER FUNCTION NF_PUT_VARA_TEXT (NCID, VARID, START, COUNT, &
TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
character (len = *), intent ( in) :: TEXT
end function NF_PUT_VARA_TEXT
INTEGER FUNCTION NF_GET_VARA_TEXT (NCID, VARID, START, COUNT, &
text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
character (len = *), intent (out) :: text
end function NF_GET_VARA_TEXT
INTEGER FUNCTION NF_PUT_VARA_INT1 (NCID, VARID, START, COUNT, &
I1VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer*1, dimension(:), intent ( in) :: I1VALS
end function NF_PUT_VARA_INT1
INTEGER FUNCTION NF_GET_VARA_INT1 (NCID, VARID, START, COUNT, &
i1vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer*1, dimension(:), intent (out) :: i1vals
end function NF_GET_VARA_INT1
INTEGER FUNCTION NF_PUT_VARA_INT2 (NCID, VARID, START, COUNT, &
I2VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer*2, dimension(:), intent ( in) :: I2VALS
end function NF_PUT_VARA_INT2
INTEGER FUNCTION NF_GET_VARA_INT2 (NCID, VARID, START, COUNT, &
i2vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer*2, dimension(:), intent (out) :: i2vals
end function NF_GET_VARA_INT2
INTEGER FUNCTION NF_PUT_VARA_INT (NCID, VARID, START, COUNT, &
IVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: IVALS
end function NF_PUT_VARA_INT
INTEGER FUNCTION NF_GET_VARA_INT (NCID, VARID, START, COUNT, &
ivals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent (out) :: ivals
end function NF_GET_VARA_INT
INTEGER FUNCTION NF_PUT_VARA_REAL (NCID, VARID, START, COUNT, &
RVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
real, dimension(:), intent ( in) :: RVALS
end function NF_PUT_VARA_REAL
INTEGER FUNCTION NF_GET_VARA_REAL (NCID, VARID, START, COUNT, &
rvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
real, dimension(:), intent (out):: rvals
end function NF_GET_VARA_REAL
INTEGER FUNCTION NF_PUT_VARA_DOUBLE(NCID, VARID, START, COUNT, &
DVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
doubleprecision, dimension(:), intent ( in) :: DVALS
end function NF_PUT_VARA_DOUBLE
INTEGER FUNCTION NF_GET_VARA_DOUBLE(NCID, VARID, START, COUNT, &
dvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
doubleprecision, dimension(:), intent (out) :: dvals
end function NF_GET_VARA_DOUBLE
INTEGER FUNCTION NF_PUT_VARS_TEXT (NCID, VARID, START, COUNT, &
STRIDE, TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
character (len = *), intent ( in) :: TEXT
end function NF_PUT_VARS_TEXT
INTEGER FUNCTION NF_GET_VARS_TEXT (NCID, VARID, START, COUNT, &
STRIDE, text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
character (len = *), intent (out) :: text
end function NF_GET_VARS_TEXT
INTEGER FUNCTION NF_PUT_VARS_INT1 (NCID, VARID, START, COUNT, &
STRIDE, I1VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer*1, dimension(:), intent ( in) :: I1VALS
end function NF_PUT_VARS_INT1
INTEGER FUNCTION NF_GET_VARS_INT1 (NCID, VARID, START, COUNT, &
STRIDE, i1vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer*1, dimension(:), intent (out) :: i1vals
end function NF_GET_VARS_INT1
INTEGER FUNCTION NF_PUT_VARS_INT2 (NCID, VARID, START, COUNT, &
STRIDE, I2VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer*2, dimension(:), intent ( in) :: I2VALS
end function NF_PUT_VARS_INT2
INTEGER FUNCTION NF_GET_VARS_INT2 (NCID, VARID, START, COUNT, &
STRIDE, i2vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer*2, dimension(:), intent (out) :: i2vals
end function NF_GET_VARS_INT2
INTEGER FUNCTION NF_PUT_VARS_INT (NCID, VARID, START, COUNT, &
STRIDE, IVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IVALS
end function NF_PUT_VARS_INT
INTEGER FUNCTION NF_GET_VARS_INT (NCID, VARID, START, COUNT, &
STRIDE, ivals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent (out) :: ivals
end function NF_GET_VARS_INT
INTEGER FUNCTION NF_PUT_VARS_REAL (NCID, VARID, START, COUNT, &
STRIDE, RVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
real, dimension(:), intent ( in) :: RVALS
end function NF_PUT_VARS_REAL
INTEGER FUNCTION NF_GET_VARS_REAL (NCID, VARID, START, COUNT, &
STRIDE, rvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
real, dimension(:), intent (out) :: rvals
end function NF_GET_VARS_REAL
INTEGER FUNCTION NF_PUT_VARS_DOUBLE(NCID, VARID, START, COUNT, &
STRIDE, DVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
doubleprecision, dimension(:), intent ( in) :: DVALS
end function NF_PUT_VARS_DOUBLE
INTEGER FUNCTION NF_GET_VARS_DOUBLE(NCID, VARID, START, COUNT, &
STRIDE, dvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
doubleprecision, dimension(:), intent (out) :: dvals
end function NF_GET_VARS_DOUBLE
INTEGER FUNCTION NF_PUT_VARM_TEXT (NCID, VARID, START, COUNT, &
STRIDE, IMAP, TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
character (len = *), intent ( in) :: TEXT
end function NF_PUT_VARM_TEXT
INTEGER FUNCTION NF_GET_VARM_TEXT (NCID, VARID, START, COUNT, &
STRIDE, IMAP, text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
character (len = *), intent (out) :: text
end function NF_GET_VARM_TEXT
INTEGER FUNCTION NF_PUT_VARM_INT1 (NCID, VARID, START, COUNT, &
STRIDE, IMAP, I1VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer*1, dimension(:), intent ( in) :: I1VALS
end function NF_PUT_VARM_INT1
INTEGER FUNCTION NF_GET_VARM_INT1 (NCID, VARID, START, COUNT, &
STRIDE, IMAP, i1vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer*1, dimension(:), intent (out) :: i1vals
end function NF_GET_VARM_INT1
INTEGER FUNCTION NF_PUT_VARM_INT2 (NCID, VARID, START, COUNT, &
STRIDE, IMAP, I2VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer*2, dimension(:), intent ( in) :: I2VALS
end function NF_PUT_VARM_INT2
INTEGER FUNCTION NF_GET_VARM_INT2 (NCID, VARID, START, COUNT, &
STRIDE, IMAP, i2vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer*2, dimension(:), intent (out) :: i2vals
end function NF_GET_VARM_INT2
INTEGER FUNCTION NF_PUT_VARM_INT (NCID, VARID, START, COUNT, &
STRIDE, IMAP, IVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer, dimension(:), intent ( in) :: IVALS
end function NF_PUT_VARM_INT
INTEGER FUNCTION NF_GET_VARM_INT (NCID, VARID, START, COUNT, &
STRIDE, IMAP, ivals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
integer, dimension(:), intent (out) :: ivals
end function NF_GET_VARM_INT
INTEGER FUNCTION NF_PUT_VARM_REAL (NCID, VARID, START, COUNT, &
STRIDE, IMAP, RVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
real, dimension(:), intent ( in) :: RVALS
end function NF_PUT_VARM_REAL
INTEGER FUNCTION NF_GET_VARM_REAL (NCID, VARID, START, COUNT, &
STRIDE, IMAP, rvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
real, dimension(:), intent (out) :: rvals
end function NF_GET_VARM_REAL
INTEGER FUNCTION NF_PUT_VARM_DOUBLE(NCID, VARID, START, COUNT, &
STRIDE, IMAP, DVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
doubleprecision, dimension(:), intent ( in) :: DVALS
end function NF_PUT_VARM_DOUBLE
INTEGER FUNCTION NF_GET_VARM_DOUBLE(NCID, VARID, START, COUNT, &
STRIDE, IMAP, dvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, dimension(:), intent ( in) :: START
integer, dimension(:), intent ( in) :: COUNT
integer, dimension(:), intent ( in) :: STRIDE
integer, dimension(:), intent ( in) :: IMAP
doubleprecision, dimension(:), intent (out) :: dvals
end function NF_GET_VARM_DOUBLE
INTEGER FUNCTION NF_INQ_ATT (NCID, VARID, NAME, xtype, &
len)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: xtype
integer, intent (out) :: len
end function NF_INQ_ATT
INTEGER FUNCTION NF_INQ_ATTID (NCID, VARID, NAME, attnum)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: attnum
end function NF_INQ_ATTID
INTEGER FUNCTION NF_INQ_ATTTYPE (NCID, VARID, NAME, xtype)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: xtype
end function NF_INQ_ATTTYPE
INTEGER FUNCTION NF_INQ_ATTLEN (NCID, VARID, NAME, len)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent (out) :: len
end function NF_INQ_ATTLEN
INTEGER FUNCTION NF_INQ_ATTNAME (NCID, VARID, ATTNUM, name)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
integer, intent (out) :: ATTNUM
character (len = *), intent (out) :: name
end function NF_INQ_ATTNAME
INTEGER FUNCTION NF_COPY_ATT (NCID_IN, VARID_IN, NAME, &
NCID_OUT, VARID_OUT)
integer, intent ( in) :: NCID_IN
integer, intent ( in) :: VARID_IN
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: NCID_OUT
integer, intent ( in) :: VARID_OUT
end function NF_COPY_ATT
INTEGER FUNCTION NF_RENAME_ATT (NCID, VARID, CURNAME, &
NEWNAME)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: CURNAME
character (len = *), intent ( in) :: NEWNAME
end function NF_RENAME_ATT
INTEGER FUNCTION NF_DEL_ATT (NCID, VARID, NAME)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
end function NF_DEL_ATT
INTEGER FUNCTION NF_PUT_ATT_TEXT (NCID, VARID, NAME, LEN, TEXT)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: LEN
character (len = *), intent ( in) :: TEXT
end function NF_PUT_ATT_TEXT
INTEGER FUNCTION NF_GET_ATT_TEXT (NCID, VARID, NAME, text)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
character (len = *), intent (out) :: text
end function NF_GET_ATT_TEXT
INTEGER FUNCTION NF_PUT_ATT_INT1 (NCID, VARID, NAME, XTYPE, &
LEN, I1VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: LEN
integer*1, dimension(:), intent ( in) :: I1VALS
end function NF_PUT_ATT_INT1
INTEGER FUNCTION NF_GET_ATT_INT1 (NCID, VARID, NAME, i1vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer*1, dimension(:), intent (out) :: i1vals
end function NF_GET_ATT_INT1
INTEGER FUNCTION NF_PUT_ATT_INT2 (NCID, VARID, NAME, XTYPE, &
LEN, I2VALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: LEN
integer*2, dimension(:), intent ( in) :: I2VALS
end function NF_PUT_ATT_INT2
INTEGER FUNCTION NF_GET_ATT_INT2 (NCID, VARID, NAME, i2vals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer*2, dimension(:), intent (out) :: i2vals
end function NF_GET_ATT_INT2
INTEGER FUNCTION NF_PUT_ATT_INT (NCID, VARID, NAME, XTYPE, &
LEN, IVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: LEN
integer, dimension(:), intent ( in) :: IVALS
end function NF_PUT_ATT_INT
INTEGER FUNCTION NF_GET_ATT_INT (NCID, VARID, NAME, ivals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, dimension(:), intent (out) :: ivals
end function NF_GET_ATT_INT
INTEGER FUNCTION NF_PUT_ATT_REAL (NCID, VARID, NAME, XTYPE, &
LEN, RVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: LEN
real, dimension(:), intent ( in) :: RVALS
end function NF_PUT_ATT_REAL
INTEGER FUNCTION NF_GET_ATT_REAL (NCID, VARID, NAME, rvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
real, dimension(:), intent (out) :: rvals
end function NF_GET_ATT_REAL
INTEGER FUNCTION NF_PUT_ATT_DOUBLE (NCID, VARID, NAME, XTYPE, &
LEN, DVALS)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
integer, intent ( in) :: XTYPE
integer, intent ( in) :: LEN
doubleprecision, dimension(:), intent ( in) :: DVALS
end function NF_PUT_ATT_DOUBLE
INTEGER FUNCTION NF_GET_ATT_DOUBLE (NCID, VARID, NAME, dvals)
integer, intent ( in) :: NCID
integer, intent ( in) :: VARID
character (len = *), intent ( in) :: NAME
doubleprecision, dimension(:), intent (out) :: dvals
end function NF_GET_ATT_DOUBLE
end interface
end module netcdf