1 #include "nfconfig.inc" 33 Function nf_put_var1_text(ncid, varid, ndex, chval) RESULT(status)
37 USE netcdf_nc_interfaces
41 Integer,
Intent(IN) :: ncid, varid
42 Integer,
Intent(IN) :: ndex(*)
43 Character(LEN=1),
Intent(IN) :: chval
47 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
48 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
49 Type(c_ptr) :: cndexptr
61 If (cstat1 == nc_noerr)
Then 63 cndex(1:ndims) = ndex(ndims:1:-1)-1
65 cndexptr = c_loc(cndex)
72 End Function nf_put_var1_text
74 Function nf_put_var1_int1(ncid, varid, ndex, ival) RESULT(status)
78 USE netcdf_nc_interfaces
82 Integer,
Intent(IN) :: ncid, varid
83 Integer,
Intent(IN) :: ndex(*)
84 Integer(KIND=NFINT1),
Intent(IN) :: ival
88 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
89 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
90 Type(c_ptr) :: cndexptr
91 Integer(KIND=CINT1) :: cival
94 If (c_signed_char < 0)
Then 106 cndexptr = c_null_ptr
109 If (cstat1 == nc_noerr)
Then 111 cndex(1:ndims) = ndex(ndims:1:-1)-1
113 cndexptr = c_loc(cndex)
116 #if NF_INT1_IS_C_SIGNED_CHAR 118 #elif NF_INT1_IS_C_SHORT 120 #elif NF_INT1_IS_C_INT 122 #elif NF_INT1_IS_C_LONG 128 End Function nf_put_var1_int1
130 Function nf_put_var1_int2(ncid, varid, ndex, ival) RESULT(status)
134 USE netcdf_nc_interfaces
138 Integer,
Intent(IN) :: ncid, varid
139 Integer,
Intent(IN) :: ndex(*)
140 Integer(KIND=NFINT2),
Intent(IN) :: ival
144 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
145 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
146 Type(c_ptr) :: cndexptr
147 Integer(KIND=CINT2) :: cival
150 If (c_short < 0)
Then 162 cndexptr = c_null_ptr
165 If (cstat1 == nc_noerr)
Then 167 cndex(1:ndims) = ndex(ndims:1:-1)-1
169 cndexptr = c_loc(cndex)
172 #if NF_INT2_IS_C_SHORT 174 #elif NF_INT2_IS_C_INT 176 #elif NF_INT2_IS_C_LONG 182 End Function nf_put_var1_int2
184 Function nf_put_var1_int(ncid, varid, ndex, ival) RESULT(status)
188 USE netcdf_nc_interfaces
192 Integer,
Intent(IN) :: ncid, varid
193 Integer,
Intent(IN) :: ndex(*)
194 Integer(NFINT),
Intent(IN) :: ival
198 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
199 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
200 Type(c_ptr) :: cndexptr
201 Integer(KIND=CINT) :: cival
211 cndexptr = c_null_ptr
214 If (cstat1 == nc_noerr)
Then 216 cndex(1:ndims) = ndex(ndims:1:-1)-1
218 cndexptr = c_loc(cndex)
223 #elif NF_INT_IS_C_LONG 229 End Function nf_put_var1_int
231 Function nf_put_var1_real(ncid, varid, ndex, rval) RESULT(status)
235 USE netcdf_nc_interfaces
239 Integer,
Intent(IN) :: ncid, varid
240 Integer,
Intent(IN) :: ndex(*)
241 Real(NFREAL),
Intent(IN) :: rval
245 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
246 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
247 Type(c_ptr) :: cndexptr
256 cndexptr = c_null_ptr
259 If (cstat1 == nc_noerr)
Then 261 cndex(1:ndims) = ndex(ndims:1:-1)-1
263 cndexptr = c_loc(cndex)
266 #if NF_REAL_IS_C_DOUBLE 274 End Function nf_put_var1_real
276 Function nf_put_var1_double(ncid, varid, ndex, dval) RESULT(status)
280 USE netcdf_nc_interfaces
284 Integer,
Intent(IN) :: ncid, varid
285 Integer,
Intent(IN) :: ndex(*)
286 Real(RK8),
Intent(IN) :: dval
290 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
291 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
292 Type(c_ptr) :: cndexptr
301 cndexptr = c_null_ptr
304 If (cstat1 == nc_noerr)
Then 306 cndex(1:ndims) = ndex(ndims:1:-1)-1
308 cndexptr = c_loc(cndex)
315 End Function nf_put_var1_double
317 Function nf_put_var1(ncid, varid, ndex, values) RESULT(status)
324 USE netcdf_nc_interfaces
328 Integer,
Intent(IN) :: ncid, varid
329 Integer,
Intent(IN) :: ndex(*)
330 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: values(*)
334 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
335 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
336 Type(c_ptr) :: cndexptr
337 Type(c_ptr) :: cvaluesptr
346 cndexptr = c_null_ptr
349 If (cstat1 == nc_noerr)
Then 351 cndex(1:ndims) = ndex(ndims:1:-1)-1
353 cndexptr = c_loc(cndex)
356 cvaluesptr = c_loc(values)
358 cstatus =
nc_put_var1(cncid, cvarid, cndexptr, cvaluesptr)
363 End Function nf_put_var1
365 Function nf_get_var1_text(ncid, varid, ndex, chval) RESULT(status)
369 USE netcdf_nc_interfaces
373 Integer,
Intent(IN) :: ncid, varid
374 Integer,
Intent(IN) :: ndex(*)
375 Character(LEN=1),
Intent(OUT) :: chval
379 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
380 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
381 Type(c_ptr) :: cndexptr
391 cndexptr = c_null_ptr
394 If (cstat1 == nc_noerr)
Then 396 cndex(1:ndims) = ndex(ndims:1:-1) -1
398 cndexptr = c_loc(cndex)
405 End Function nf_get_var1_text
407 Function nf_get_var1_int1(ncid, varid, ndex, ival) RESULT(status)
411 USE netcdf_nc_interfaces
415 Integer,
Intent(IN) :: ncid, varid
416 Integer,
Intent(IN) :: ndex(*)
417 Integer(KIND=NFINT1),
Intent(OUT) :: ival
421 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
422 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
423 Type(c_ptr) :: cndexptr
424 Integer(KIND=CINT1) :: cival
427 If (c_signed_char < 0)
Then 438 cndexptr = c_null_ptr
441 If (cstat1 == nc_noerr)
Then 443 cndex(1:ndims) = ndex(ndims:1:-1)-1
445 cndexptr = c_loc(cndex)
448 #if NF_INT1_IS_C_SIGNED_CHAR 450 #elif NF_INT1_IS_C_SHORT 452 #elif NF_INT1_IS_C_INT 454 #elif NF_INT1_IS_C_LONG 461 End Function nf_get_var1_int1
463 Function nf_get_var1_int2(ncid, varid, ndex, ival) RESULT(status)
467 USE netcdf_nc_interfaces
471 Integer,
Intent(IN) :: ncid, varid
472 Integer,
Intent(IN) :: ndex(*)
473 Integer(KIND=NFINT2),
Intent(OUT) :: ival
477 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
478 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
479 Type(c_ptr) :: cndexptr
480 Integer(KIND=CINT2) :: cival
483 If (c_short < 0)
Then 494 cndexptr = c_null_ptr
497 If (cstat1 == nc_noerr)
Then 499 cndex(1:ndims) = ndex(ndims:1:-1)-1
501 cndexptr = c_loc(cndex)
504 #if NF_INT2_IS_C_SHORT 506 #elif NF_INT2_IS_C_INT 508 #elif NF_INT2_IS_C_LONG 515 End Function nf_get_var1_int2
517 Function nf_get_var1_int(ncid, varid, ndex, ival) RESULT(status)
521 USE netcdf_nc_interfaces
525 Integer,
Intent(IN) :: ncid, varid
526 Integer,
Intent(IN) :: ndex(*)
527 Integer,
Intent(OUT) :: ival
531 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
532 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
533 Type(c_ptr) :: cndexptr
534 Integer(KIND=CINT) :: cival
543 cndexptr = c_null_ptr
546 If (cstat1 == nc_noerr)
Then 548 cndex(1:ndims) = ndex(ndims:1:-1)-1
550 cndexptr = c_loc(cndex)
555 #elif NF_INT_IS_C_LONG 562 End Function nf_get_var1_int
564 Function nf_get_var1_real(ncid, varid, ndex, rval) RESULT(status)
568 USE netcdf_nc_interfaces
572 Integer,
Intent(IN) :: ncid, varid
573 Integer,
Intent(IN) :: ndex(*)
574 Real(NFREAL),
Intent(OUT) :: rval
578 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
579 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
580 Type(c_ptr) :: cndexptr
589 cndexptr = c_null_ptr
592 If (cstat1 == nc_noerr)
Then 594 cndex(1:ndims) = ndex(ndims:1:-1)-1
596 cndexptr = c_loc(cndex)
599 #if NF_REAL_IS_C_DOUBLE 607 End Function nf_get_var1_real
609 Function nf_get_var1_double(ncid, varid, ndex, dval) RESULT(status)
613 USE netcdf_nc_interfaces
617 Integer,
Intent(IN) :: ncid, varid
618 Integer,
Intent(IN) :: ndex(*)
619 Real(RK8),
Intent(OUT) :: dval
623 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
624 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
625 Type(c_ptr) :: cndexptr
634 cndexptr = c_null_ptr
637 If (cstat1 == nc_noerr)
Then 639 cndex(1:ndims) = ndex(ndims:1:-1)-1
641 cndexptr = c_loc(cndex)
648 End Function nf_get_var1_double
650 Function nf_get_var1(ncid, varid, ndex, values) RESULT(status)
657 USE netcdf_nc_interfaces
661 Integer,
Intent(IN) :: ncid, varid
662 Integer,
Intent(IN) :: ndex(*)
663 Character(KIND=C_CHAR),
Intent(OUT),
TARGET :: values(*)
668 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
669 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
670 Type(c_ptr) :: cndexptr
671 Type(c_ptr) :: cvaluesptr
680 cndexptr = c_null_ptr
683 If (cstat1 == nc_noerr)
Then 685 cndex(1:ndims) = ndex(ndims:1:-1)-1
687 cndexptr = c_loc(cndex)
690 cstatus =
nc_get_var1(cncid, cvarid, cndexptr, values)
694 End Function nf_get_var1