33 Function nf_create_par (path, cmode, comm, info, ncid) RESULT(status)
37 USE netcdf4_nc_interfaces
41 Integer,
Intent(IN) :: cmode, comm, info
42 Character(LEN=*),
Intent(IN) :: path
43 Integer,
Intent(OUT) :: ncid
47 Integer(KIND=C_INT) :: ccmode, ccomm, cinfo, cncid, cstatus
48 Character(LEN=(LEN(path)+1)) :: cpath
55 cpath = addcnullchar(path, ie)
59 If (cstatus == nc_noerr)
Then 64 End Function nf_create_par
66 Function nf_open_par (path, mode, comm, info, ncid) RESULT(status)
70 USE netcdf4_nc_interfaces
74 Integer,
Intent(IN) :: mode, comm, info
75 Character(LEN=*),
Intent(IN) :: path
76 Integer,
Intent(OUT) :: ncid
80 Integer(KIND=C_INT) :: cmode, ccomm, cinfo, cncid, cstatus
81 Character(LEN=(LEN(path)+1)) :: cpath
88 cpath = addcnullchar(path, ie)
92 If (cstatus == nc_noerr)
Then 97 End Function nf_open_par
99 Function nf_var_par_access( ncid, varid, iaccess) RESULT (status)
103 USE netcdf4_nc_interfaces
107 Integer,
Intent(IN) :: ncid, varid, iaccess
111 Integer(KIND=C_INT) :: cncid, cvarid, caccess, cstatus
121 End Function nf_var_par_access
123 Function nf_inq_ncid(ncid, name, groupid) RESULT (status)
127 USE netcdf4_nc_interfaces
131 Integer,
Intent(IN) :: ncid
132 Character(LEN=*),
Intent(IN) :: name
133 Integer,
Intent(OUT) :: groupid
137 Integer(KIND=C_INT) :: cncid, cgroupid, cstatus
138 Character(LEN=LEN(name)+1) :: cname
143 cname = repeat(
" ",len(cname))
144 cname = addcnullchar(name, ie)
146 cstatus =
nc_inq_ncid(cncid, cname(1:ie+1), cgroupid)
148 If (cstatus == nc_noerr)
Then 153 End Function nf_inq_ncid
155 Function nf_inq_grps( ncid, numgrps, ncids) RESULT (status)
159 USE netcdf4_nc_interfaces
163 Integer,
Intent(IN) :: ncid
164 Integer,
Intent(INOUT) :: ncids(*)
165 Integer,
Intent(OUT) :: numgrps
168 Integer(KIND=C_INT) :: cncid, cnumgrps, cstatus
169 Integer(KIND=C_INT) :: cncids(nc_max_dims)
177 If (cstatus == nc_noerr)
Then 179 ncids(1:numgrps) = cncids(1:numgrps)
183 End Function nf_inq_grps
185 Function nf_inq_grpname( ncid, name) RESULT (status)
189 USE netcdf4_nc_interfaces
193 Integer,
Intent(IN) :: ncid
194 Character(LEN=*),
Intent(OUT) :: name
198 Integer(KIND=C_INT) :: cncid, cstatus
199 Character(LEN=NC_MAX_NAME) :: cname
204 name = repeat(
" ",len(name))
205 cname = repeat(
" ",len(cname))
209 If (cstatus == nc_noerr)
Then 210 name = stripcnullchar(cname,nlen)
214 End Function nf_inq_grpname
216 Function nf_inq_grpname_full( ncid, nlen, name) RESULT (status)
220 USE netcdf4_nc_interfaces
224 Integer,
Intent(IN) :: ncid
225 Character(LEN=*),
Intent(OUT) :: name
226 Integer,
Intent(OUT) :: nlen
230 Integer(KIND=C_INT) :: cncid, cstatus
231 Integer(KIND=C_SIZE_T) :: clen
232 Character(LEN=LEN(name)+1) :: cname
237 name = repeat(
" ",len(name))
238 cname = repeat(
" ",len(cname))
242 If (cstatus == nc_noerr)
Then 244 name = stripcnullchar(cname, nl)
248 End Function nf_inq_grpname_full
250 Function nf_inq_grpname_len( ncid, nlen) RESULT (status)
254 USE netcdf4_nc_interfaces
258 Integer,
Intent(IN) :: ncid
259 Integer,
Intent(OUT) :: nlen
263 Integer(KIND=C_INT) :: cncid, cstatus
264 Integer(KIND=C_SIZE_T) :: clen
270 If (cstatus == nc_noerr)
Then 276 End Function nf_inq_grpname_len
278 Function nf_inq_grp_parent( ncid,parent_ncid) RESULT (status)
282 USE netcdf4_nc_interfaces
286 Integer,
Intent(IN) :: ncid
287 Integer,
Intent(INOUT) :: parent_ncid
291 Integer(KIND=C_INT) :: cncid, cparent_ncid, cstatus
297 If (cstatus == nc_noerr)
Then 298 parent_ncid = cparent_ncid
302 End Function nf_inq_grp_parent
304 Function nf_inq_grp_ncid( ncid, grp_name, parent_ncid) RESULT (status)
308 USE netcdf4_nc_interfaces
312 Integer,
Intent(IN) :: ncid
313 Character(LEN=*),
Intent(IN) :: grp_name
314 Integer,
Intent(INOUT) :: parent_ncid
318 Integer(KIND=C_INT) :: cncid, cstatus, cparent_ncid
319 Character(LEN=(LEN(grp_name)+1)) :: cgrp_name
322 cgrp_name = repeat(
" ",len(cgrp_name))
323 cgrp_name = addcnullchar(grp_name, ie)
328 If (cstatus == nc_noerr)
Then 329 parent_ncid = cparent_ncid
333 End Function nf_inq_grp_ncid
335 Function nf_inq_grp_full_ncid( ncid, name, grp_ncid) RESULT (status)
339 USE netcdf4_nc_interfaces
343 Integer,
Intent(IN) :: ncid
344 Character(LEN=*),
Intent(INOUT) :: name
345 Integer,
Intent(INOUT) :: grp_ncid
349 Integer(KIND=C_INT) :: cncid, cstatus, cgrp_ncid
350 Character(LEN=(LEN(name)+1)) :: cgrp_name
356 cgrp_name = repeat(
" ",len(cgrp_name))
357 cgrp_name = addcnullchar(name, ie)
361 If (cstatus == nc_noerr)
Then 366 End Function nf_inq_grp_full_ncid
368 Function nf_inq_varids( ncid, nvars, varids) RESULT (status)
372 USE netcdf4_nc_interfaces
376 Integer,
Intent(IN) :: ncid
377 Integer,
Intent(OUT) :: nvars
378 Integer,
Intent(INOUT) :: varids(*)
382 Integer(KIND=C_INT) :: cncid, cnvars, cstatus
389 If (cstatus == nc_noerr)
Then 394 End Function nf_inq_varids
396 Function nf_inq_dimids( ncid, ndims, dimids, parent) RESULT (status)
400 USE netcdf4_nc_interfaces
404 Integer,
Intent(IN) :: ncid, parent
405 Integer,
Intent(OUT) :: ndims
406 Integer,
Intent(INOUT) :: dimids(*)
410 Integer(KIND=C_INT) :: cncid, cndims, cparent, cstatus
417 If (cstatus == nc_noerr)
Then 422 End Function nf_inq_dimids
424 Function nf_inq_typeids( ncid, ntypes, typeids) RESULT (status)
428 USE netcdf4_nc_interfaces
432 Integer,
Intent(IN) :: ncid
433 Integer,
Intent(OUT) :: ntypes
434 Integer,
Intent(INOUT) :: typeids(*)
438 Integer(KIND=C_INT) :: cncid, cntypes, cstatus
439 Integer(KIND=C_INT) :: ctypeids(nc_max_dims)
447 If (cstatus == nc_noerr)
Then 449 typeids(1:ntypes) = ctypeids(1:ntypes)
453 End Function nf_inq_typeids
455 Function nf_inq_typeid(ncid, name, typeid) RESULT (status)
459 USE netcdf4_nc_interfaces
463 Integer,
Intent(IN) :: ncid
464 Character(LEN=*),
Intent(IN) :: name
465 Integer,
Intent(OUT) :: typeid
469 Integer(KIND=C_INT) :: cncid, ctypeid, cstatus
470 Character(LEN=LEN(name)+1) :: cname
475 cname = repeat(
" ",len(cname))
476 cname = addcnullchar(name, ie)
480 If (cstatus == nc_noerr)
Then 485 End Function nf_inq_typeid
487 Function nf_def_grp( parent_ncid, name, new_ncid) RESULT (status)
491 USE netcdf4_nc_interfaces
495 Integer,
Intent(IN) :: parent_ncid
496 Character(LEN=*),
Intent(IN) :: name
497 Integer,
Intent(OUT) :: new_ncid
501 Integer(KIND=C_INT) :: cncid, cnew_ncid, cstatus
502 Character(LEN=(LEN(name)+1)) :: cname
506 cname = repeat(
" ",len(cname))
507 cname = addcnullchar(name, ie)
509 cstatus =
nc_def_grp(cncid, cname(1:ie+1), cnew_ncid)
511 If (cstatus == nc_noerr)
Then 516 End Function nf_def_grp
518 Function nf_rename_grp( grpid, name) RESULT (status)
522 USE netcdf4_nc_interfaces
526 Integer,
Intent(IN) :: grpid
527 Character(LEN=*),
Intent(IN) :: name
531 Integer(KIND=C_INT) :: cgrpid, cstatus
532 Character(LEN=(LEN(name)+1)) :: cname
536 cname = repeat(
" ",len(cname))
537 cname = addcnullchar(name, ie)
543 End Function nf_rename_grp
545 Function nf_def_compound( ncid, isize, name, typeid) RESULT (status)
549 USE netcdf4_nc_interfaces
553 Integer,
Intent(IN) :: ncid, isize
554 Integer,
Intent(OUT) :: typeid
555 Character(LEN=*),
Intent(IN) :: name
559 Integer(KIND=C_INT) :: cncid, ctypeid, cstatus
560 Integer(KIND=C_SIZE_T) :: csize
561 Character(LEN=(LEN(name)+1)) :: cname
566 cname = repeat(
" ",len(cname))
567 cname = addcnullchar(name, ie)
571 If (cstatus == nc_noerr)
Then 576 End Function nf_def_compound
578 Function nf_insert_compound( ncid, xtype, name, offset, field_typeid) &
583 USE netcdf4_nc_interfaces
587 Integer,
Intent(IN) :: ncid, xtype, field_typeid, offset
588 Character(LEN=*),
Intent(IN) :: name
592 Integer(KIND=C_INT) :: cncid, cxtype, ctypeid, cstatus
593 Integer(KIND=C_SIZE_T) :: coffset
594 Character(LEN=(LEN(name)+1)) :: cname
599 ctypeid = field_typeid
601 cname = repeat(
" ",len(cname))
602 cname = addcnullchar(name, ie)
609 End Function nf_insert_compound
611 Function nf_insert_array_compound( ncid, xtype, name, offset, field_typeid, &
612 ndims, dim_sizes) result(status)
616 USE netcdf4_nc_interfaces
620 Integer,
Intent(IN) :: ncid, xtype, field_typeid, offset, ndims
621 Character(LEN=*),
Intent(IN) :: name
622 Integer,
Intent(INOUT) :: dim_sizes(*)
626 Integer(KIND=C_INT) :: cncid, cxtype, ctypeid, cndims, cstatus
627 Integer(KIND=C_SIZE_T) :: coffset
628 Character(LEN=(LEN(name)+1)) :: cname
633 ctypeid = field_typeid
636 cname = repeat(
" ",len(cname))
637 cname = addcnullchar(name, ie)
640 coffset, ctypeid, cndims, dim_sizes)
644 End Function nf_insert_array_compound
646 Function nf_inq_type( ncid, xtype, name, isize) RESULT (status)
650 USE netcdf4_nc_interfaces
654 Integer,
Intent(IN) :: ncid, xtype
655 Character(LEN=*),
Intent(IN) :: name
656 Integer,
Intent(OUT) :: isize
660 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
661 Integer(KIND=C_SIZE_T) :: csize
662 Character(LEN=(LEN(name)+1)) :: cname
667 cname = repeat(
" ",len(cname))
668 cname = addcnullchar(name, ie)
670 cstatus =
nc_inq_type(cncid, cxtype, cname(1:ie+1), csize)
672 If (cstatus == nc_noerr)
Then 677 End Function nf_inq_type
679 Function nf_inq_compound( ncid, xtype, name, isize, nfields) RESULT (status)
683 USE netcdf4_nc_interfaces
687 Integer,
Intent(IN) :: ncid, xtype
688 Character(LEN=*),
Intent(INOUT) :: name
689 Integer,
Intent(INOUT) :: isize, nfields
693 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
694 Integer(KIND=C_SIZE_T) :: csize, cnfieldsp
695 Character(LEN=NC_MAX_NAME+1) :: cname
701 name = repeat(
" ", nlen)
702 cname = repeat(
" ", len(cname))
706 If (cstatus == nc_noerr)
Then 708 name = stripcnullchar(cname, nlen)
714 End Function nf_inq_compound
716 Function nf_inq_compound_name( ncid, xtype, name) RESULT (status)
720 USE netcdf4_nc_interfaces
724 Integer,
Intent(IN) :: ncid, xtype
725 Character(LEN=*),
Intent(OUT) :: name
729 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
730 Character(LEN=NC_MAX_NAME+1) :: cname
736 name = repeat(
" ",len(name))
737 cname = repeat(
" ",len(cname))
741 If (cstatus == nc_noerr)
Then 742 name = stripcnullchar(cname, nlen)
746 End Function nf_inq_compound_name
748 Function nf_inq_compound_size( ncid, xtype, isize) RESULT (status)
752 USE netcdf4_nc_interfaces
756 Integer,
Intent(IN) :: ncid, xtype
757 Integer,
Intent(INOUT) :: isize
761 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
762 Integer(KIND=C_SIZE_T) :: csize
769 If (cstatus == nc_noerr)
Then 774 End Function nf_inq_compound_size
776 Function nf_inq_compound_nfields( ncid, xtype, nfields) RESULT (status)
780 USE netcdf4_nc_interfaces
784 Integer,
Intent(IN) :: ncid, xtype
785 Integer,
Intent(INOUT) :: nfields
789 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
790 Integer(KIND=C_SIZE_T) :: cnfields
797 If (cstatus == nc_noerr)
Then 802 End Function nf_inq_compound_nfields
804 Function nf_inq_compound_field( ncid, xtype, fieldid, name, offset, &
805 field_typeid, ndims, dim_sizes) result(status)
809 USE netcdf4_nc_interfaces
813 Integer,
Intent(IN) :: ncid, xtype, fieldid
814 Character(LEN=*),
Intent(OUT) :: name
815 Integer,
Intent(OUT) :: offset, field_typeid, ndims
816 Integer,
Intent(OUT) :: dim_sizes(*)
820 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cfield_typeid, &
822 Integer(KIND=C_INT) :: cdim_sizes(nc_max_dims)
823 Integer(KIND=C_SIZE_T) :: coffset
824 Character(LEN=NC_MAX_NAME+1) :: cname
831 name = repeat(
" ",len(name))
832 cname = repeat(
" ",len(cname))
835 cfield_typeid, cndims, cdim_sizes)
837 If (cstatus == nc_noerr)
Then 838 name = stripcnullchar(cname, nlen)
840 field_typeid = cfield_typeid
842 dim_sizes(1:ndims) = cdim_sizes(1:ndims)
846 End Function nf_inq_compound_field
848 Function nf_inq_compound_fieldname(ncid, xtype, fieldid, name) RESULT(status)
852 USE netcdf4_nc_interfaces
856 Integer,
Intent(IN) :: ncid, xtype, fieldid
857 Character(LEN=*),
Intent(OUT) :: name
861 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cstatus
862 Character(LEN=NC_MAX_NAME+1) :: cname
867 cfieldid = fieldid - 1
869 name = repeat(
" ",len(name))
870 cname = repeat(
" ",len(cname))
874 If (cstatus == nc_noerr)
Then 875 name = stripcnullchar(cname, nlen)
879 End Function nf_inq_compound_fieldname
881 Function nf_inq_compound_fieldindex( ncid, xtype, name, fieldid) RESULT (status)
885 USE netcdf4_nc_interfaces
889 Integer,
Intent(IN) :: ncid, xtype
890 Character(LEN=*),
Intent(IN) :: name
891 Integer,
Intent(OUT) :: fieldid
895 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cstatus
896 Character(LEN=(LEN(name)+1)) :: cname
901 cname = repeat(
" ",len(cname))
902 cname = addcnullchar(name, ie)
906 If (cstatus == nc_noerr)
Then 907 fieldid = cfieldid + 1
911 End Function nf_inq_compound_fieldindex
913 Function nf_inq_compound_fieldoffset( ncid, xtype, fieldid, offset)&
918 USE netcdf4_nc_interfaces
922 Integer,
Intent(IN) :: ncid, xtype, fieldid
923 Integer,
Intent(OUT) :: offset
927 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cstatus
928 Integer(KIND=C_SIZE_T) :: coffset
932 cfieldid = fieldid - 1
936 If (cstatus == nc_noerr)
Then 941 End Function nf_inq_compound_fieldoffset
943 Function nf_inq_compound_fieldtype( ncid, xtype, fieldid, field_typeid) &
948 USE netcdf4_nc_interfaces
952 Integer,
Intent(IN) :: ncid, xtype, fieldid
953 Integer,
Intent(OUT) :: field_typeid
957 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cfield_typeid, cstatus
961 cfieldid = fieldid -1
965 If (cstatus == nc_noerr)
Then 966 field_typeid = cfield_typeid
970 End Function nf_inq_compound_fieldtype
972 Function nf_inq_compound_fieldndims( ncid, xtype, fieldid, ndims) RESULT (status)
976 USE netcdf4_nc_interfaces
980 Integer,
Intent(IN) :: ncid, xtype, fieldid
981 Integer,
Intent(OUT) :: ndims
985 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cndims, cstatus
989 cfieldid = fieldid -1
993 If (cstatus == nc_noerr)
Then 998 End Function nf_inq_compound_fieldndims
1000 Function nf_inq_compound_fielddim_sizes( ncid, xtype, fieldid, dim_sizes) &
1005 USE netcdf4_nc_interfaces
1009 Integer,
Intent(IN) :: ncid, xtype, fieldid
1010 Integer,
Intent(INOUT) :: dim_sizes(*)
1014 Integer(KIND=C_INT) :: cncid, cxtype, cfieldid, cstatus
1018 cfieldid = fieldid - 1
1024 End Function nf_inq_compound_fielddim_sizes
1026 Function nf_def_vlen( ncid, name, base_typeid, xtype) RESULT (status)
1030 USE netcdf4_nc_interfaces
1034 Integer,
Intent(IN) :: ncid, base_typeid
1035 Character(LEN=*),
Intent(IN) :: name
1036 Integer,
Intent(OUT) :: xtype
1040 Integer(KIND=C_INT) :: cncid, cxtype, cbase_typeid, cstatus
1041 Character(LEN=(LEN(name)+1)) :: cname
1046 cbase_typeid = base_typeid
1047 cname = repeat(
" ",len(cname))
1048 cname = addcnullchar(name, ie)
1050 cstatus =
nc_def_vlen(cncid, cname(1:ie+1), cbase_typeid, cxtype)
1052 If (cstatus == nc_noerr)
Then 1057 End Function nf_def_vlen
1059 Function nf_inq_vlen( ncid, xtype, name, datum_size, base_type) RESULT(status)
1063 USE netcdf4_nc_interfaces
1067 Integer,
Intent(IN) :: ncid, xtype
1068 Character(LEN=*),
Intent(OUT) :: name
1069 Integer,
Intent(OUT) :: datum_size, base_type
1073 Integer(KIND=C_INT) :: cncid, cxtype, cbase_type, cstatus
1074 Integer(KIND=C_SIZE_T) :: cdatum_size
1075 Character(LEN=NC_MAX_NAME+1) :: cname
1081 name = repeat(
" ",len(name))
1082 cname = repeat(
" ",len(cname))
1084 cstatus =
nc_inq_vlen(cncid, cxtype, cname, cdatum_size, cbase_type)
1086 If (cstatus == nc_noerr)
Then 1087 name = stripcnullchar(cname, nlen)
1088 datum_size = cdatum_size
1089 base_type = cbase_type
1093 End Function nf_inq_vlen
1095 Function nf_inq_user_type( ncid, xtype, name, isize, base_type, nfields, &
1096 iclass) result(status)
1101 USE netcdf4_nc_interfaces
1105 Integer,
Intent(IN) :: ncid, xtype
1106 Character(LEN=*),
Intent(INOUT) :: name
1107 Integer,
Intent(OUT) :: isize, nfields, base_type, iclass
1111 Integer(KIND=C_INT) :: cncid, cxtype, cbase_type, cclass, cstatus
1112 Integer(KIND=C_SIZE_T) :: csize, cnfields
1113 Character(LEN=NC_MAX_NAME+1) :: cname
1119 name = repeat(
" ",len(name))
1120 cname = repeat(
" ",len(cname))
1123 cstatus =
nc_inq_user_type(cncid, cxtype, cname, csize, cbase_type, cnfields, &
1126 If (cstatus == nc_noerr)
Then 1128 name = stripcnullchar(cname, nlen)
1132 base_type = cbase_type
1136 End Function nf_inq_user_type
1138 Function nf_def_enum( ncid, base_typeid, name, typeid) RESULT (status)
1142 USE netcdf4_nc_interfaces
1146 Integer,
Intent(IN) :: ncid, base_typeid
1147 Character(LEN=*),
Intent(IN) :: name
1148 Integer,
Intent(OUT) :: typeid
1152 Integer(KIND=C_INT) :: cncid, cbase_typeid, ctypeid, cstatus
1153 Character(LEN=(LEN(name)+1)) :: cname
1157 cbase_typeid = base_typeid
1158 cname = repeat(
" ",len(cname))
1159 cname = addcnullchar(name, ie)
1161 cstatus =
nc_def_enum(cncid, cbase_typeid, cname(1:ie+1), ctypeid)
1163 If (cstatus == nc_noerr)
Then 1168 End Function nf_def_enum
1170 Function nf_insert_enum( ncid, xtype, name, value) RESULT (status)
1178 USE netcdf4_nc_interfaces
1182 Integer,
Intent(IN) :: ncid, xtype
1183 Character(LEN=*),
Intent(IN) :: name
1184 Character(KIND=C_CHAR),
Intent(IN),
TARGET ::
value(*)
1188 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1189 Type(c_ptr) :: cvalueptr
1190 Character(LEN=(LEN(name)+1)) :: cname
1195 cname = repeat(
" ",len(cname))
1196 cname = addcnullchar(name, ie)
1198 cvalueptr = c_loc(
value)
1200 cstatus =
nc_insert_enum(cncid, cxtype, cname(1:ie+1), cvalueptr)
1204 End Function nf_insert_enum
1206 Function nf_inq_enum( ncid, xtype, name, base_nf_type, base_size, &
1207 num_members) result(status)
1211 USE netcdf4_nc_interfaces
1215 Integer,
Intent(IN) :: ncid, xtype
1216 Character(LEN=*),
Intent(INOUT) :: name
1217 Integer,
Intent(INOUT) :: base_nf_type, base_size, num_members
1221 Integer(KIND=C_INT) :: cncid, cxtype, c_base_nf_type, cstatus
1222 Integer(KIND=C_SIZE_T) :: c_base_size, c_num_members
1223 Character(LEN=NC_MAX_NAME+1) :: cname
1229 name = repeat(
" ",len(name))
1230 cname = repeat(
" ",len(cname))
1232 cstatus =
nc_inq_enum(cncid, cxtype, cname, c_base_nf_type, c_base_size, &
1235 If (cstatus == nc_noerr)
Then 1237 name = stripcnullchar(cname, nlen)
1238 base_nf_type = c_base_nf_type
1239 base_size = c_base_size
1240 num_members = c_num_members
1244 End Function nf_inq_enum
1246 Function nf_inq_enum_member( ncid, xtype, idx, name, value) RESULT (status)
1253 USE netcdf4_nc_interfaces
1257 Integer,
Intent(IN) :: ncid, xtype, idx
1258 Character(LEN=*),
Intent(OUT) :: name
1259 Character(KIND=C_CHAR),
Intent(OUT) ::
value(*)
1263 Integer(KIND=C_INT) :: cncid, cxtype, cidx, cstatus
1264 Character(LEN=NC_MAX_NAME+1) :: cname
1271 name = repeat(
" ",len(name))
1272 cname = repeat(
" ",len(cname))
1276 If (cstatus == nc_noerr)
Then 1278 name = stripcnullchar(cname, nlen)
1282 End Function nf_inq_enum_member
1284 Function nf_inq_enum_ident( ncid, xtype, value, name) RESULT (status)
1288 USE netcdf4_nc_interfaces
1292 Integer,
Intent(IN) :: ncid, xtype, value
1293 Character(LEN=*),
Intent(INOUT) :: name
1297 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1298 Integer(KIND=C_LONG_LONG) :: cvalue
1299 Character(LEN=NC_MAX_NAME+1) :: cname
1306 name = repeat(
" ",len(name))
1307 cname = repeat(
" ",len(cname))
1311 If (cstatus == nc_noerr)
Then 1313 name = stripcnullchar(cname, nlen)
1317 End Function nf_inq_enum_ident
1319 Function nf_def_opaque( ncid, isize, name, xtype) RESULT (status)
1323 USE netcdf4_nc_interfaces
1327 Integer,
Intent(IN) :: ncid, isize
1328 Character(LEN=*),
Intent(IN) :: name
1329 Integer,
Intent(OUT) :: xtype
1333 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1334 Integer(KIND=C_SIZE_T) :: csize
1335 Character(LEN=(LEN(name)+1)) :: cname
1341 cname = repeat(
" ",len(cname))
1342 cname = addcnullchar(name, ie)
1344 cstatus =
nc_def_opaque(cncid, csize, cname(1:ie+1), cxtype)
1346 If (cstatus == nc_noerr)
Then 1351 End Function nf_def_opaque
1353 Function nf_inq_opaque( ncid, xtype, name, isize) RESULT (status)
1356 USE netcdf4_nc_interfaces
1360 Integer,
Intent(IN) :: ncid, xtype
1361 Character(LEN=*),
Intent(INOUT) :: name
1362 Integer,
Intent(OUT) :: isize
1366 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1367 Integer(KIND=C_SIZE_T) :: csize
1368 Character(LEN=NC_MAX_NAME+1) :: cname
1374 name = repeat(
" ",len(name))
1375 cname = repeat(
" ",len(cname))
1379 If (cstatus == nc_noerr)
Then 1381 name = stripcnullchar(cname, nlen)
1386 End Function nf_inq_opaque
1388 Function nf_def_var_chunking( ncid, varid, contiguous, chunksizes) &
1393 USE netcdf4_nc_interfaces
1397 Integer,
Intent(IN) :: ncid, varid, contiguous
1398 Integer,
Intent(INOUT) :: chunksizes(*)
1402 Integer(KIND=C_INT) :: cncid, cvarid, ccontiguous, cstat1, cstatus, &
1404 Integer(KIND=C_INT),
TARGET :: cchunksizes(nc_max_dims)
1405 Type(c_ptr) :: cchunksizeptr
1410 ccontiguous =
contiguous 1412 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
1415 cchunksizeptr = c_null_ptr
1417 If (cstat1 == nc_noerr)
Then 1419 cchunksizes(1:ndims) = chunksizes(ndims:1:-1)
1421 cchunksizeptr = c_loc(cchunksizes)
1428 End Function nf_def_var_chunking
1430 Function nf_inq_var_chunking( ncid, varid, contiguous, chunksizes) RESULT(status)
1434 USE netcdf4_nc_interfaces
1438 Integer,
Intent(IN) :: ncid, varid
1439 Integer,
Intent(INOUT) :: contiguous
1440 Integer,
Intent(INOUT) :: chunksizes(*)
1444 Integer(KIND=C_INT) :: cncid, cvarid, ccontiguous, cstatus, cstat1, cndims
1445 Integer(KIND=C_INT) :: cchunksizes(nc_max_dims)
1454 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
1458 If (cstat1 == nc_noerr)
Then 1460 chunksizes(ndims:1:-1) = cchunksizes(1:ndims)
1464 contiguous = ccontiguous
1467 End Function nf_inq_var_chunking
1469 Function nf_def_var_deflate( ncid, varid, shuffle, deflate, deflate_level) &
1474 USE netcdf4_nc_interfaces
1478 Integer,
Intent(IN) :: ncid, varid, shuffle, deflate, deflate_level
1482 Integer(KIND=C_INT) :: cncid, cvarid, cshuffle, cdeflate, cdeflate_level, &
1489 cdeflate_level = deflate_level
1495 End Function nf_def_var_deflate
1497 Function nf_inq_var_deflate( ncid, varid, shuffle, deflate, deflate_level) &
1502 USE netcdf4_nc_interfaces
1506 Integer,
Intent(IN) :: ncid, varid
1507 Integer,
Intent(OUT) :: shuffle, deflate, deflate_level
1511 Integer(KIND=C_INT) :: cncid, cvarid, cshuffle, cdeflate, cdeflate_level, &
1519 If (cstatus == nc_noerr)
Then 1522 deflate_level = cdeflate_level
1526 End Function nf_inq_var_deflate
1529 Function nf_inq_var_szip(ncid, varid, options_mask, pixels_per_block) RESULT(status)
1533 USE netcdf4_nc_interfaces
1537 Integer,
Intent(IN) :: ncid, varid
1538 Integer,
Intent(INOUT) :: options_mask, pixels_per_block
1542 Integer(C_INT) :: cncid, cvarid, coptions_mask, cpixels_per_block, cstatus
1547 cstatus =
nc_inq_var_szip(cncid, cvarid, coptions_mask, cpixels_per_block)
1549 If (cstatus == nc_noerr)
Then 1550 options_mask = coptions_mask
1551 pixels_per_block = cpixels_per_block
1555 End Function nf_inq_var_szip
1558 Function nf_def_var_fletcher32( ncid, varid, fletcher32) RESULT(status)
1562 USE netcdf4_nc_interfaces
1566 Integer,
Intent(IN) :: ncid, varid, fletcher32
1570 Integer(KIND=C_INT) :: cncid, cvarid, cfletcher32, cstatus
1574 cfletcher32 = fletcher32
1580 End Function nf_def_var_fletcher32
1582 Function nf_inq_var_fletcher32( ncid, varid, fletcher32) RESULT(status)
1586 USE netcdf4_nc_interfaces
1590 Integer,
Intent(IN) :: ncid, varid
1591 Integer,
Intent(OUT) :: fletcher32
1595 Integer(KIND=C_INT) :: cncid, cvarid, cfletcher32, cstatus
1602 If (cstatus == nc_noerr)
Then 1603 fletcher32 = cfletcher32
1608 End Function nf_inq_var_fletcher32
1610 Function nf_def_var_fill( ncid, varid, no_fill, fill_value) RESULT(status)
1614 USE netcdf4_nc_interfaces
1618 Integer,
Intent(IN) :: ncid, varid, no_fill
1619 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: fill_value(*)
1623 Integer(KIND=C_INT) :: cncid, cvarid, cno_fill, cstatus
1624 Type(c_ptr) :: cfill_value_p
1630 cfill_value_p = c_loc(fill_value)
1636 End Function nf_def_var_fill
1638 Function nf_inq_var_fill( ncid, varid, no_fill, fill_value) RESULT(status)
1642 USE netcdf4_nc_interfaces
1646 Integer,
Intent(IN) :: ncid, varid
1647 Integer,
Intent(OUT) :: no_fill
1648 Character(KIND=C_CHAR),
Intent(INOUT) :: fill_value(*)
1652 Integer(KIND=C_INT) :: cncid, cvarid, cno_fill, cstatus
1659 If (cstatus == nc_noerr)
Then 1664 End Function nf_inq_var_fill
1666 Function nf_def_var_endian( ncid, varid, endiann) RESULT(status)
1670 USE netcdf4_nc_interfaces
1674 Integer,
Intent(IN) :: ncid, varid, endiann
1678 Integer(KIND=C_INT) :: cncid, cvarid, cendiann, cstatus
1688 End Function nf_def_var_endian
1690 Function nf_inq_var_endian( ncid, varid, endiann) RESULT(status)
1694 USE netcdf4_nc_interfaces
1698 Integer,
Intent(IN) :: ncid, varid
1699 Integer,
Intent(OUT) :: endiann
1703 Integer(KIND=C_INT) :: cncid, cvarid, cendiann, cstatus
1710 If (cstatus == nc_noerr)
Then 1715 End Function nf_inq_var_endian
1717 Function nf_put_att(ncid, varid, name, xtype, nlen, value) RESULT(status)
1722 USE netcdf4_nc_interfaces
1726 Integer,
Intent(IN) :: ncid, varid, nlen, xtype
1727 Character(LEN=*),
Intent(IN) :: name
1728 Character(KIND=C_CHAR),
Intent(IN),
TARGET ::
value(*)
1732 Integer(KIND=C_INT) :: cncid, cvarid, cstatus, cxtype
1734 Integer(KIND=C_SIZE_T) :: cnlen
1735 Type(c_ptr) :: cvalueptr
1736 Character(LEN=(LEN(name)+1)) :: cname
1743 cvalueptr = c_loc(
value)
1744 cname = repeat(
" ",len(cname))
1745 cname = addcnullchar(name, ie)
1747 cstatus =
nc_put_att(cncid, cvarid, cname(1:ie+1), cxtype, cnlen, cvalueptr)
1751 End Function nf_put_att
1753 Function nf_get_att(ncid, varid, name, value) RESULT(status)
1759 USE netcdf4_nc_interfaces
1763 Integer,
Intent(IN) :: ncid, varid
1764 Character(LEN=*),
Intent(IN) :: name
1765 Character(KIND=C_CHAR),
Intent(INOUT) ::
value(*)
1769 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
1770 Character(LEN=(LEN(name)+1)) :: cname
1775 cname = repeat(
" ",len(cname))
1776 cname = addcnullchar(name, ie)
1778 cstatus =
nc_get_att(cncid, cvarid, cname(1:ie+1),
value)
1782 End Function nf_get_att
1784 Function nf_put_vlen_element(ncid, xtype, vlen_element, nlen, value) &
1794 USE netcdf4_nc_interfaces
1798 Integer,
Intent(IN) :: ncid, xtype, nlen
1799 Character(KIND=C_CHAR),
Intent(INOUT) :: vlen_element(*)
1800 Character(KIND=C_CHAR),
Intent(IN),
TARGET ::
value(*)
1804 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1805 Integer(KIND=C_SIZE_T) :: cnlen
1806 Type(c_ptr) :: cvalueptr
1811 cvalueptr = c_loc(
value)
1818 End Function nf_put_vlen_element
1820 Function nf_get_vlen_element(ncid, xtype, vlen_element, nlen, value) RESULT(status)
1829 USE netcdf4_nc_interfaces
1833 Integer,
Intent(IN) :: ncid, xtype
1834 Integer,
Intent(INOUT) :: nlen
1835 Character(LEN=*),
Intent(INOUT),
TARGET :: vlen_element
1836 Character(KIND=C_CHAR),
Intent(INOUT) ::
value(*)
1840 Integer(KIND=C_INT) :: cncid, cxtype, cstatus
1841 Integer(KIND=C_SIZE_T) :: cnlen
1849 If (cstatus == nc_noerr)
Then 1854 End Function nf_get_vlen_element
1856 Function nf_free_vlen(vl) RESULT(status)
1862 USE netcdf4_nc_interfaces
1866 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: vl(*)
1870 Integer(C_INT) :: cstatus
1879 End Function nf_free_vlen
1881 Function nf_free_vlens(ilen, vl) RESULT(status)
1887 USE netcdf4_nc_interfaces
1891 Integer,
Intent(IN) :: ilen
1892 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: vl(*)
1896 Integer(C_SIZE_T) :: clen
1897 Integer(C_INT) :: cstatus
1907 End Function nf_free_vlens
1909 Function nf_free_string(ilen, vl) RESULT(status)
1915 USE netcdf4_nc_interfaces
1919 Integer,
Intent(IN) :: ilen
1920 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: vl(*)
1924 Integer(C_SIZE_T) :: clen
1925 Integer(C_INT) :: cstatus
1935 End Function nf_free_string
1938 Function nf_put_var(ncid, varid, values) RESULT(status)
1945 USE netcdf4_nc_interfaces
1949 Integer,
Intent(IN) :: ncid, varid
1950 Character(KIND=C_CHAR),
Intent(IN),
TARGET :: values(*)
1954 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
1955 Type(c_ptr) :: cvaluesptr
1960 cvaluesptr = c_loc(values)
1962 cstatus =
nc_put_var(cncid, cvarid, cvaluesptr)
1966 End Function nf_put_var
1968 Function nf_get_var(ncid, varid, values) RESULT(status)
1975 USE netcdf4_nc_interfaces
1979 Integer,
Intent(IN) :: ncid, varid
1980 Character(KIND=C_CHAR),
Intent(INOUT) :: values(*)
1984 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
1993 End Function nf_get_var
1995 Function nf_put_var1_int64(ncid, varid, ndex, ival) RESULT(status)
2003 USE netcdf4_nc_interfaces
2007 Integer,
Intent(IN) :: ncid, varid
2008 Integer,
Intent(IN) :: ndex(*)
2009 Integer(KIND=IK8),
Intent(IN) :: ival
2013 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2014 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
2015 Integer(KIND=C_LONG_LONG) :: cival
2016 Type(c_ptr) :: cndexptr
2024 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2026 cndexptr = c_null_ptr
2029 If (cstat1 == nc_noerr)
Then 2031 cndex(1:ndims) = ndex(ndims:1:-1)-1
2033 cndexptr = c_loc(cndex)
2040 End Function nf_put_var1_int64
2042 Function nf_put_vara_int64(ncid, varid, start, counts, ivals) RESULT(status)
2046 USE netcdf4_nc_interfaces
2050 Integer,
Intent(IN) :: ncid, varid
2051 Integer,
Intent(IN) :: start(*), counts(*)
2052 Integer(KIND=IK8),
Intent(IN) :: ivals(*)
2056 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2057 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2058 Type(c_ptr) :: cstartptr, ccountsptr
2066 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2068 cstartptr = c_null_ptr
2069 ccountsptr = c_null_ptr
2072 If (cstat1 == nc_noerr)
Then 2074 cstart(1:ndims) = start(ndims:1:-1)-1
2075 ccounts(1:ndims) = counts(ndims:1:-1)
2077 cstartptr = c_loc(cstart)
2078 ccountsptr = c_loc(ccounts)
2085 End Function nf_put_vara_int64
2087 Function nf_put_vars_int64(ncid, varid, start, counts, strides, ivals) &
2092 USE netcdf4_nc_interfaces
2096 Integer,
Intent(IN) :: ncid, varid
2097 Integer,
Intent(IN) :: start(*), counts(*), strides(*)
2098 Integer(KIND=IK8),
Intent(IN) :: ivals(*)
2102 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2103 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2104 Integer(KIND=C_PTRDIFF_T),
TARGET :: cstrides(nc_max_dims)
2105 Type(c_ptr) :: cstartptr, ccountsptr, cstridesptr
2114 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2116 cstartptr = c_null_ptr
2117 ccountsptr = c_null_ptr
2118 cstridesptr = c_null_ptr
2121 If (cstat1 == nc_noerr)
Then 2123 cstart(1:ndims) = start(ndims:1:-1)-1
2124 ccounts(1:ndims) = counts(ndims:1:-1)
2125 cstrides(1:ndims) = strides(ndims:1:-1)
2127 cstartptr = c_loc(cstart)
2128 ccountsptr = c_loc(ccounts)
2129 cstridesptr = c_loc(cstrides)
2137 End Function nf_put_vars_int64
2140 Function nf_put_varm_int64(ncid, varid, start, counts, strides, maps, &
2141 ivals) result(status)
2145 USE netcdf4_nc_interfaces
2149 Integer,
Intent(IN) :: ncid, varid
2150 Integer,
Intent(IN) :: start(*), counts(*), strides(*), maps(*)
2151 Integer(KIND=IK8),
Intent(IN) :: ivals(*)
2155 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2156 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2157 Integer(KIND=C_PTRDIFF_T),
TARGET :: cstrides(nc_max_dims), cmaps(nc_max_dims)
2158 Type(c_ptr) :: cstartptr, ccountsptr, cstridesptr, &
2169 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2171 cstartptr = c_null_ptr
2172 ccountsptr = c_null_ptr
2173 cstridesptr = c_null_ptr
2174 cmapsptr = c_null_ptr
2177 If (cstat1 == nc_noerr)
Then 2179 cstart(1:ndims) = start(ndims:1:-1)-1
2180 ccounts(1:ndims) = counts(ndims:1:-1)
2181 cstrides(1:ndims) = strides(ndims:1:-1)
2182 cmaps(1:ndims) = maps(ndims:1:-1)
2184 cstartptr = c_loc(cstart)
2185 ccountsptr = c_loc(ccounts)
2186 cstridesptr = c_loc(cstrides)
2187 cmapsptr = c_loc(cmaps)
2191 cstridesptr, cmapsptr, ivals)
2195 End Function nf_put_varm_int64
2197 Function nf_put_var_int64(ncid, varid, ivals) RESULT(status)
2201 USE netcdf4_nc_interfaces
2205 Integer,
Intent(IN) :: ncid, varid
2206 Integer(KIND=IK8),
Intent(IN) :: ivals(*)
2210 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
2219 End Function nf_put_var_int64
2221 Function nf_get_var1_int64(ncid, varid, ndex, ival) RESULT(status)
2225 USE netcdf4_nc_interfaces
2229 Integer,
Intent(IN) :: ncid, varid
2230 Integer,
Intent(IN) :: ndex(*)
2231 Integer(KIND=IK8),
Intent(OUT) :: ival
2235 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2236 Integer(KIND=C_SIZE_T),
TARGET :: cndex(nc_max_dims)
2237 Integer(KIND=C_LONG_LONG) :: cival
2238 Type(c_ptr) :: cndexptr
2245 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2247 cndexptr = c_null_ptr
2250 If (cstat1 == nc_noerr)
Then 2252 cndex(1:ndims) = ndex(ndims:1:-1)-1
2254 cndexptr = c_loc(cndex)
2262 End Function nf_get_var1_int64
2264 Function nf_get_vara_int64(ncid, varid, start, counts, ivals) RESULT(status)
2268 USE netcdf4_nc_interfaces
2272 Integer,
Intent(IN) :: ncid, varid
2273 Integer,
Intent(IN) :: start(*), counts(*)
2274 Integer(KIND=IK8),
Intent(OUT) :: ivals(*)
2278 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2279 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2280 Type(c_ptr) :: cstartptr, ccountsptr
2288 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2290 cstartptr = c_null_ptr
2291 ccountsptr = c_null_ptr
2294 If (cstat1 == nc_noerr)
Then 2296 cstart(1:ndims) = start(ndims:1:-1)-1
2297 ccounts(1:ndims) = counts(ndims:1:-1)
2299 cstartptr = c_loc(cstart)
2300 ccountsptr = c_loc(ccounts)
2307 End Function nf_get_vara_int64
2310 Function nf_get_vars_int64(ncid, varid, start, counts, strides, ivals) &
2315 USE netcdf4_nc_interfaces
2319 Integer,
Intent(IN) :: ncid, varid
2320 Integer,
Intent(IN) :: start(*), counts(*), strides(*)
2321 Integer(KIND=IK8),
Intent(OUT) :: ivals(*)
2325 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2326 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2327 Integer(KIND=C_PTRDIFF_T),
TARGET :: cstrides(nc_max_dims)
2328 Type(c_ptr) :: cstartptr, ccountsptr, cstridesptr
2337 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2339 cstartptr = c_null_ptr
2340 ccountsptr = c_null_ptr
2341 cstridesptr = c_null_ptr
2344 If (cstat1 == nc_noerr)
Then 2346 cstart(1:ndims) = start(ndims:1:-1)-1
2347 ccounts(1:ndims) = counts(ndims:1:-1)
2348 cstrides(1:ndims) = strides(ndims:1:-1)
2350 cstartptr = c_loc(cstart)
2351 ccountsptr = c_loc(ccounts)
2352 cstridesptr = c_loc(cstrides)
2359 End Function nf_get_vars_int64
2361 Function nf_get_varm_int64(ncid, varid, start, counts, strides, maps, &
2362 ivals) result(status)
2366 USE netcdf4_nc_interfaces
2370 Integer,
Intent(IN) :: ncid, varid
2371 Integer,
Intent(IN) :: start(*), counts(*), strides(*), maps(*)
2372 Integer(KIND=IK8),
Intent(OUT) :: ivals(*)
2376 Integer(KIND=C_INT) :: cncid, cvarid, cndims, cstat1, cstatus
2377 Integer(KIND=C_SIZE_T),
TARGET :: cstart(nc_max_dims), ccounts(nc_max_dims)
2378 Integer(KIND=C_PTRDIFF_T),
TARGET :: cstrides(nc_max_dims), cmaps(nc_max_dims)
2379 Type(c_ptr) :: cstartptr, ccountsptr, cstridesptr, &
2390 cstat1 = nc_inq_varndims(cncid, cvarid, cndims)
2392 cstartptr = c_null_ptr
2393 ccountsptr = c_null_ptr
2394 cstridesptr = c_null_ptr
2395 cmapsptr = c_null_ptr
2398 If (cstat1 == nc_noerr)
Then 2400 cstart(1:ndims) = start(ndims:1:-1)-1
2401 ccounts(1:ndims) = counts(ndims:1:-1)
2402 cstrides(1:ndims) = strides(ndims:1:-1)
2403 cmaps(1:ndims) = maps(ndims:1:-1)
2405 cstartptr = c_loc(cstart)
2406 ccountsptr = c_loc(ccounts)
2407 cstridesptr = c_loc(cstrides)
2408 cmapsptr = c_loc(cmaps)
2412 cstridesptr, cmapsptr, ivals)
2416 End Function nf_get_varm_int64
2418 Function nf_get_var_int64(ncid, varid, ivals) RESULT(status)
2422 USE netcdf4_nc_interfaces
2426 Integer,
Intent(IN) :: ncid, varid
2427 Integer(KIND=IK8),
Intent(OUT) :: ivals(*)
2431 Integer(KIND=C_INT) :: cncid, cvarid, cstatus
2440 End Function nf_get_var_int64
2442 Function nf_set_chunk_cache(chunk_size, nelems, preemption) RESULT(status)
2448 USE netcdf4_nc_interfaces
2452 Integer,
Intent(IN) :: chunk_size, nelems, preemption
2456 Integer(KIND=C_INT) :: cchunk_size, cnelems, cpreemption, cstatus
2458 cchunk_size = chunk_size
2460 cpreemption = preemption
2466 End Function nf_set_chunk_cache
2468 Function nf_get_chunk_cache(chunk_size, nelems, preemption) RESULT(status)
2474 USE netcdf4_nc_interfaces
2478 Integer,
Intent(INOUT) :: chunk_size, nelems, preemption
2482 Integer(KIND=C_INT) :: cchunk_size, cnelems, cpreemption, cstatus
2486 If (cstatus == nc_noerr)
Then 2487 chunk_size = cchunk_size
2489 preemption = cpreemption
2493 End Function nf_get_chunk_cache
2495 Function nf_set_var_chunk_cache(ncid, varid, chunk_size, nelems, preemption) RESULT(status)
2500 USE netcdf4_nc_interfaces
2504 Integer,
Intent(IN) :: ncid, varid, chunk_size, nelems, preemption
2508 Integer(KIND=C_INT) :: cncid, cvarid, cchunk_size, cnelems, cpreemption, &
2513 cchunk_size = chunk_size
2515 cpreemption = preemption
2522 End Function nf_set_var_chunk_cache
2524 Function nf_get_var_chunk_cache(ncid, varid, chunk_size, nelems, preemption) RESULT(status)
2529 USE netcdf4_nc_interfaces
2533 Integer,
Intent(IN) :: ncid, varid
2534 Integer,
Intent(INOUT) :: chunk_size, nelems, preemption
2538 Integer(KIND=C_INT) :: cncid, cvarid, cchunk_size, cnelems, cpreemption, &
2547 If (cstatus == nc_noerr)
Then 2548 chunk_size = cchunk_size
2550 preemption = cpreemption
2554 End Function nf_get_var_chunk_cache