Next: NF_PUT_VARM_ type, Previous: NF_PUT_VARA_ type, Up: Variables
Each member of the family of functions NF_PUT_VARS_ type writes a subsampled (strided) array section of values into a netCDF variable of an open netCDF dataset. The subsampled array section is specified by giving a corner, a vector of counts, and a stride vector. The netCDF dataset must be in data mode.
INTEGER FUNCTION NF_PUT_VARS_TEXT (INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*),CHARACTER*(*) TEXT) INTEGER FUNCTION NF_PUT_VARS_INT1 (INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*),INTEGER*1 I1VALS(*)) INTEGER FUNCTION NF_PUT_VARS_INT2 (INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*),INTEGER*2 I2VALS(*)) INTEGER FUNCTION NF_PUT_VARS_INT (INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*), INTEGER IVALS(*)) INTEGER FUNCTION NF_PUT_VARS_REAL (INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*), REAL RVALS(*)) INTEGER FUNCTION NF_PUT_VARS_DOUBLE(INTEGER NCID, INTEGER VARID, INTEGER START(*), INTEGER COUNT(*), INTEGER STRIDE(*), DOUBLE DVALS(*))
NCID
VARID
START
COUNT
STRIDE
TEXT
I1VALS
I2VALS
IVALS
RVALS
DVALS
NF_PUT_VARS_ type 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 of using NF_PUT_VARS_REAL to write – from an internal array – every other point of a netCDF variable named rh which is described by the FORTRAN declaration REAL RH(6,4) (note the size of the dimensions):
INCLUDE 'netcdf.inc' ... PARAMETER (NDIM=2) ! rank of netCDF variable INTEGER NCID ! netCDF dataset ID INTEGER STATUS ! return code INTEGER RHID ! variable ID INTEGER START(NDIM) ! netCDF variable start point INTEGER COUNT(NDIM) ! size of internal array INTEGER STRIDE(NDIM) ! netCDF variable subsampling intervals REAL RH(3,2) ! note subsampled sizes for netCDF variable ! dimensions DATA START /1, 1/ ! start at first netCDF variable value DATA COUNT /3, 2/ ! size of internal array: entire (subsampled) ! netCDF variable DATA STRIDE /2, 2/ ! access every other netCDF element ... STATUS = NF_OPEN('foo.nc', NF_WRITE, NCID) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) ... STATUS = NF_INQ_VARID(NCID, 'rh', RHID) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS) ... STATUS = NF_PUT_VARS_REAL(NCID, RHID, START, COUNT, STRIDE, RH) IF (STATUS .NE. NF_NOERR) CALL HANDLE_ERR(STATUS)