Next: NF_INQ_VARID, Previous: Variable Types, Up: Variables
NF_DEF_VAR
The function NF_DEF_VAR adds a new variable to an open netCDF dataset in define mode. It returns (as an argument) a variable ID, given the netCDF ID, the variable name, the variable type, the number of dimensions, and a list of the dimension IDs.
INTEGER FUNCTION NF_DEF_VAR(INTEGER NCID, CHARACTER*(*) NAME, INTEGER XTYPE, INTEGER NVDIMS, INTEGER VDIMS(*), INTEGER varid)
NCID
NAME
XTYPE
NVDIMS
VDIMS
varid
NF_DEF_VAR returns the value NF_NOERR if no errors occurred. Otherwise, the returned status indicates an error. Possible causes of errors include:
Here is an example using NF_DEF_VAR to create a variable named rh of type double with three dimensions, time, lat, and lon in a new netCDF dataset named foo.nc:
INCLUDE 'netcdf.inc' ... INTEGER STATUS, NCID INTEGER LATDIM, LONDIM, TIMDIM ! dimension IDs INTEGER RHID ! variable ID INTEGER RHDIMS(3) ! variable shape ... STATUS = NF_CREATE ('foo.nc', NF_NOCLOBBER, NCID) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) ... ! define dimensions STATUS = NF_DEF_DIM(NCID, 'lat', 5, LATDIM) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) STATUS = NF_DEF_DIM(NCID, 'lon', 10, LONDIM) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) STATUS = NF_DEF_DIM(NCID, 'time', NF_UNLIMITED, TIMDIM) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) ... ! define variable RHDIMS(1) = LONDIM RHDIMS(2) = LATDIM RHDIMS(3) = TIMDIM STATUS = NF_DEF_VAR (NCID, 'rh', NF_DOUBLE, 3, RHDIMS, RHID) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)