31 Function nf_def_var(ncid, name, xtype, nvdims, vdims, varid) RESULT (status)
36 USE netcdf_nc_interfaces
40 Integer,
Intent(IN) :: ncid, xtype, nvdims
41 Integer,
Intent(IN) :: vdims(*)
42 Integer,
Intent(OUT) :: varid
43 Character(LEN=*),
Intent(IN) :: name
47 Integer(KIND=C_INT) :: cncid, cnvdims, cvarid, cstatus, cxtype
48 Integer(KIND=C_INT) :: cvdims(nc_max_dims)
49 Character(LEN=(LEN(name)+1)) :: cname
65 cvdims(1:nvdims) = vdims(nvdims:1:-1)-1
68 cstatus =
nc_def_var(cncid, cname(1:ie+1), cxtype, &
69 cnvdims, cvdims, cvarid)
71 If (cstatus == nc_noerr)
Then
77 End Function nf_def_var
79 Function nf_inq_varndims(ncid, varid, vndims) RESULT (status)
83 USE netcdf_nc_interfaces
87 Integer,
Intent(IN) :: ncid, varid
88 Integer,
Intent(OUT) :: vndims
92 Integer(KIND=C_INT) :: cncid, cvarid, cvndims, cstatus
99 If (cstatus == nc_noerr)
Then
104 End Function nf_inq_varndims
106 Function nf_inq_var(ncid, varid, name, xtype, ndims, dimids, natts) &
112 USE netcdf_nc_interfaces
116 Integer,
Intent(IN) :: ncid, varid
117 Character(LEN=*),
Intent(OUT) :: name
118 Integer,
Intent(OUT) :: dimids(*)
119 Integer,
Intent(OUT) :: ndims, xtype, natts
123 Integer(KIND=C_INT) :: cncid, cstatus, cndims, cvarid, cnatts
124 Integer(KIND=C_INT) :: cdimids(nc_max_dims)
125 Integer(KIND=C_INT) :: cxtype
126 Character(LEN=NC_MAX_NAME+1) :: tmpname
133 tmpname = repeat(
" ", len(tmpname))
134 name = repeat(
" ", nlen)
142 cstatus =
nc_inq_var(cncid, cvarid, tmpname, cxtype, cndims, cdimids, cnatts)
144 If (cstatus == nc_noerr)
Then
157 dimids(1:ndims) = cdimids(ndims:1:-1)+1
163 End Function nf_inq_var
165 Function nf_inq_vardimid(ncid, varid, dimids) RESULT (status)
169 USE netcdf_nc_interfaces
173 Integer,
Intent(IN) :: ncid, varid
174 Integer,
Intent(OUT) :: dimids(*)
178 Integer(KIND=C_INT) :: cncid, cstatus, cstat2, cndims, cvarid
179 Integer(KIND=C_INT) :: cvdimids(nc_max_dims)
195 If (cstat2 == nc_noerr .AND. cstatus == nc_noerr)
Then
198 dimids(1:ndims) = cvdimids(ndims:1:-1)+1
206 End Function nf_inq_vardimid
208 Function nf_inq_varid(ncid, name, varid) RESULT (status)
212 USE netcdf_nc_interfaces
216 Integer,
Intent(IN) :: ncid
217 Character(LEN=*),
Intent(IN) :: name
218 Integer,
Intent(OUT) :: varid
222 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
223 Character(LEN=(LEN(name)+1)) :: cname
234 If (cstatus == nc_noerr)
Then
239 End Function nf_inq_varid
241 Function nf_inq_varname (ncid, varid, name) RESULT (status)
245 USE netcdf_nc_interfaces
249 Integer,
Intent(IN) :: ncid, varid
250 Character(LEN=*),
Intent(OUT) :: name
254 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
255 Character(LEN=NC_MAX_NAME+1) :: tmpname
262 tmpname = repeat(
" ", len(tmpname))
263 name = repeat(
" ", nlen)
269 If (cstatus == nc_noerr)
Then
275 End Function nf_inq_varname
277 Function nf_inq_vartype(ncid, varid, xtype) RESULT(status)
281 USE netcdf_nc_interfaces
285 Integer,
Intent(IN) :: ncid, varid
286 Integer,
Intent(OUT) :: xtype
290 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
291 Integer(KIND=C_INT) :: cxtype
298 If (cstatus == nc_noerr)
Then
303 End Function nf_inq_vartype
305 Function nf_inq_varnatts(ncid, varid, nvatts) RESULT(status)
309 USE netcdf_nc_interfaces
313 Integer,
Intent(IN) :: ncid, varid
314 Integer,
Intent(OUT) :: nvatts
318 Integer(KIND=C_INT) :: cncid, cvarid, cnvatts, cstatus
325 If (cstatus == nc_noerr)
Then
331 End Function nf_inq_varnatts
333 Function nf_rename_var(ncid, varid, name) RESULT (status)
337 USE netcdf_nc_interfaces
341 Integer,
Intent(IN) :: ncid, varid
342 Character(LEN=*),
Intent(IN) :: name
346 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
347 Character(LEN=(LEN(name)+1)) :: cname
361 End Function nf_rename_var
363 Function nf_copy_var(ncid_in, varid, ncid_out) RESULT(status)
367 USE netcdf_nc_interfaces
371 Integer,
Intent(IN) :: ncid_in, varid, ncid_out
374 Integer(KIND=C_INT) :: cncidin, cvarid, cncidout, cstatus
384 End Function nf_copy_var
module procedure interfaces for utility routines