1 Module netcdf_nc_interfaces
65 USE iso_c_binding
, ONLY: c_int, c_ptr
67 Integer(KIND=C_INT),
VALUE :: ncerr
77 USE iso_c_binding
, ONLY: c_ptr
87 USE iso_c_binding
, ONLY: c_char, c_int
89 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
90 Integer(KIND=C_INT),
VALUE :: cmode
91 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
99 Function nc__create(path, cmode, initialsz, chunksizehintp, ncidp) BIND(C)
101 USE iso_c_binding
, ONLY: c_char, c_int, c_size_t
103 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
104 Integer(KIND=C_INT),
VALUE :: cmode
105 Integer(KIND=C_SIZE_T),
VALUE :: initialsz
106 Integer(KIND=C_SIZE_T),
Intent(IN) :: chunksizehintp
107 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
115 Function nc__create_mp(path, cmode, initialsz, basepe, chunksizehintp, ncidp) &
118 USE iso_c_binding
, ONLY: c_char, c_int, c_size_t, c_ptr
120 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
121 Integer(KIND=C_INT),
VALUE :: cmode
122 Integer(KIND=C_SIZE_T),
VALUE :: initialsz
123 Integer(KIND=C_SIZE_T),
Intent(IN) :: chunksizehintp
124 Type(c_ptr),
VALUE :: basepe
125 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
135 USE iso_c_binding
, ONLY: c_char, c_int
137 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
138 Integer(KIND=C_INT),
VALUE :: mode
139 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
147 Function nc__open(path, mode, chunksizehintp, ncidp) BIND(C)
149 USE iso_c_binding
, ONLY: c_char, c_int, c_size_t
151 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
152 Integer(KIND=C_INT),
VALUE :: mode
153 Integer(KIND=C_SIZE_T),
Intent(IN) :: chunksizehintp
154 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
162 Function nc__open_mp(path, mode, basepe, chunksizehintp, ncidp) BIND(C)
164 USE iso_c_binding
, ONLY: c_char, c_int, c_size_t, c_ptr
166 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
167 Integer(KIND=C_INT),
VALUE :: mode
168 Integer(KIND=C_SIZE_T),
Intent(IN) :: chunksizehintp
169 Integer(KIND=C_INT),
Intent(OUT) :: ncidp
170 Type(c_ptr),
VALUE :: basepe
180 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
182 Integer(KIND=C_INT),
VALUE :: ncid
183 Integer(KIND=C_SIZE_T),
Intent(INOUT) :: pathlen
184 Character(KIND=C_CHAR),
Intent(INOUT) :: path(*)
194 USE iso_c_binding
, ONLY: c_int
196 Integer(KIND=C_INT),
VALUE :: ncid
197 Integer(KIND=C_INT),
VALUE :: fillmode
198 Integer(KIND=C_INT),
Intent(OUT) :: old_modep
208 USE iso_c_binding
, ONLY: c_int
210 Integer(KIND=C_INT),
VALUE :: ncid
220 USE iso_c_binding
, ONLY: c_int
222 Integer(KIND=C_INT),
VALUE :: ncid
230 Function nc__enddef(ncid, h_minfree, v_align, v_minfree, r_align) BIND(C)
232 USE iso_c_binding
, ONLY: c_int, c_size_t
234 Integer(KIND=C_INT),
VALUE :: ncid
235 Integer(KIND=C_SIZE_T),
VALUE :: h_minfree, v_align, v_minfree, r_align
245 USE iso_c_binding
, ONLY: c_int
247 Integer(KIND=C_INT),
VALUE :: ncid
257 USE iso_c_binding
, ONLY: c_int
259 Integer(KIND=C_INT),
VALUE :: ncid
269 USE iso_c_binding
, ONLY: c_int
271 Integer(KIND=C_INT),
VALUE :: ncid
281 USE iso_c_binding
, ONLY: c_int, c_char
283 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
293 USE iso_c_binding
, ONLY: c_int, c_char
295 Character(KIND=C_CHAR),
Intent(IN) :: path(*)
296 Integer(KIND=C_INT),
VALUE :: pe
306 USE iso_c_binding
, ONLY: c_int
308 Integer(KIND=C_INT),
VALUE :: ncid, pe
318 USE iso_c_binding
, ONLY: c_int
320 Integer(KIND=C_INT),
VALUE :: ncid
321 Integer(KIND=C_INT),
Intent(OUT) :: pe
329 Function nc_inq(ncid, ndimsp, nvarsp, ngattsp, unlimdimidp) BIND(C)
331 USE iso_c_binding
, ONLY: c_int
333 Integer(KIND=C_INT),
VALUE :: ncid
334 Integer(KIND=C_INT),
Intent(OUT) :: ndimsp, nvarsp, ngattsp, unlimdimidp
336 Integer(KIND=C_INT) ::
nc_inq
344 USE iso_c_binding
, ONLY: c_int
346 Integer(KIND=C_INT),
VALUE :: ncid
347 Integer(KIND=C_INT),
Intent(OUT) :: ndimsp
357 USE iso_c_binding
, ONLY: c_int
359 Integer(KIND=C_INT),
VALUE :: ncid
360 Integer(KIND=C_INT),
Intent(OUT) :: nvarsp
370 USE iso_c_binding
, ONLY: c_int
372 Integer(KIND=C_INT),
VALUE :: ncid
373 Integer(KIND=C_INT),
Intent(OUT) :: ngattsp
383 USE iso_c_binding
, ONLY: c_int
385 Integer(KIND=C_INT),
VALUE :: ncid
386 Integer(KIND=C_INT),
Intent(OUT) :: unlimdimidp
396 USE iso_c_binding
, ONLY: c_int
398 Integer(KIND=C_INT),
VALUE :: ncid
399 Integer(KIND=C_INT),
Intent(OUT) :: formatp
409 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
411 Integer(KIND=C_INT),
VALUE :: ncid
412 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
413 Integer(KIND=C_SIZE_T),
VALUE :: nlen
414 Integer(KIND=C_INT),
Intent(INOUT) :: idp
424 USE iso_c_binding
, ONLY: c_int, c_char
426 Integer(KIND=C_INT),
VALUE :: ncid
427 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
428 Integer(KIND=C_INT),
Intent(INOUT) :: idp
438 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
440 Integer(KIND=C_INT),
VALUE :: ncid
441 Integer(KIND=C_INT),
VALUE :: dimid
442 Character(KIND=C_CHAR),
Intent(INOUT) :: name(*)
443 Integer(KIND=C_SIZE_T),
Intent(OUT) :: lenp
453 USE iso_c_binding
, ONLY: c_int, c_char
455 Integer(KIND=C_INT),
VALUE :: ncid
456 Integer(KIND=C_INT),
VALUE :: dimid
457 Character(KIND=C_CHAR),
Intent(INOUT) :: name(*)
467 USE iso_c_binding
, ONLY: c_int, c_size_t
469 Integer(KIND=C_INT),
VALUE :: ncid
470 Integer(KIND=C_INT),
VALUE :: dimid
471 Integer(KIND=C_SIZE_T),
Intent(OUT) :: lenp
481 USE iso_c_binding
, ONLY: c_int, c_char
483 Integer(KIND=C_INT),
VALUE :: ncid
484 Integer(KIND=C_INT),
VALUE :: dimid
485 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
493 Function nc_def_var(ncid, name, xtype, ndims, dimidsp, varidp) BIND(C)
495 USE iso_c_binding
, ONLY: c_int, c_char
497 Integer(KIND=C_INT),
VALUE :: ncid
498 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
499 Integer(KIND=C_INT),
VALUE :: xtype
500 Integer(KIND=C_INT),
VALUE :: ndims
501 Integer(KIND=C_INT),
Intent(IN) :: dimidsp(*)
502 Integer(KIND=C_INT),
Intent(OUT) :: varidp
510 Function nc_inq_var(ncid, varid, name, xtypep, ndimsp, dimidsp, nattsp) &
513 USE iso_c_binding
, ONLY: c_int, c_char
515 Integer(KIND=C_INT),
VALUE :: ncid, varid
516 Character(KIND=C_CHAR),
Intent(OUT) :: name(*)
517 Integer(KIND=C_INT),
Intent(OUT) :: xtypep
518 Integer(KIND=C_INT),
Intent(OUT) :: ndimsp
519 Integer(KIND=C_INT),
Intent(OUT) :: dimidsp(*)
520 Integer(KIND=C_INT),
Intent(OUT) :: nattsp
530 USE iso_c_binding
, ONLY: c_int, c_char
532 Integer(KIND=C_INT),
VALUE :: ncid
533 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
534 Integer(KIND=C_INT),
Intent(OUT) :: varidp
544 USE iso_c_binding
, ONLY: c_int, c_char
546 Integer(KIND=C_INT),
VALUE :: ncid, varid
547 Character(KIND=C_CHAR),
Intent(OUT) :: name(*)
557 USE iso_c_binding
, ONLY: c_int
559 Integer(KIND=C_INT),
VALUE :: ncid, varid
560 Integer(KIND=C_INT),
Intent(OUT) :: xtypep
570 USE iso_c_binding
, ONLY: c_int
572 Integer(KIND=C_INT),
VALUE :: ncid, varid
573 Integer(KIND=C_INT),
Intent(OUT) :: ndimsp
583 USE iso_c_binding
, ONLY: c_int
585 Integer(KIND=C_INT),
VALUE :: ncid, varid
586 Integer(KIND=C_INT),
Intent(OUT) :: dimidsp(*)
596 USE iso_c_binding
, ONLY: c_int
598 Integer(KIND=C_INT),
VALUE :: ncid, varid
599 Integer(KIND=C_INT),
Intent(OUT) :: nattsp
609 USE iso_c_binding
, ONLY: c_int, c_char
611 Integer(KIND=C_INT),
VALUE :: ncid, varid
612 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
622 USE iso_c_binding
, ONLY: c_int, c_char
624 Integer(KIND=C_INT),
VALUE :: ncid, varid
625 Character(KIND=C_CHAR),
Intent(IN) :: op(*)
635 USE iso_c_binding
, ONLY: c_int, c_char
637 Integer(KIND=C_INT),
VALUE :: ncid, varid
638 Character(KIND=C_CHAR),
Intent(INOUT) :: ip(*)
648 USE iso_c_binding
, ONLY: c_int
649 USE netcdf_nc_data
, ONLY: cint1
651 Integer(KIND=C_INT),
VALUE :: ncid, varid
652 Integer(KIND=CINT1),
Intent(IN) :: op(*)
662 USE iso_c_binding
, ONLY: c_int
663 USE netcdf_nc_data
, ONLY: cint1
665 Integer(KIND=C_INT),
VALUE :: ncid, varid
666 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
676 USE iso_c_binding
, ONLY: c_int
677 USE netcdf_nc_data
, ONLY: cint1
679 Integer(KIND=C_INT),
VALUE :: ncid, varid
680 Integer(KIND=CINT1),
Intent(IN) :: op(*)
690 USE iso_c_binding
, ONLY: c_int
691 USE netcdf_nc_data
, ONLY: cint1
693 Integer(KIND=C_INT),
VALUE :: ncid, varid
694 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
704 USE iso_c_binding
, ONLY: c_int
705 USE netcdf_nc_data
, ONLY: cint2
707 Integer(KIND=C_INT),
VALUE :: ncid, varid
708 Integer(KIND=CINT2),
Intent(IN) :: op(*)
718 USE iso_c_binding
, ONLY: c_int
719 USE netcdf_nc_data
, ONLY: cint2
721 Integer(KIND=C_INT),
VALUE :: ncid, varid
722 Integer(KIND=CINT2),
Intent(OUT) :: ip(*)
732 USE iso_c_binding
, ONLY: c_int
733 USE netcdf_nc_data
, ONLY: cint
735 Integer(KIND=C_INT),
VALUE :: ncid, varid
736 Integer(KIND=CINT),
Intent(IN) :: op(*)
746 USE iso_c_binding
, ONLY: c_int
747 USE netcdf_nc_data
, ONLY: cint
749 Integer(KIND=C_INT),
VALUE :: ncid, varid
750 Integer(KIND=CINT),
Intent(OUT) :: ip(*)
760 USE iso_c_binding
, ONLY: c_int, c_long
762 Integer(KIND=C_INT),
VALUE :: ncid, varid
763 Integer(KIND=C_LONG),
Intent(IN) :: op(*)
773 USE iso_c_binding
, ONLY: c_int, c_long
775 Integer(KIND=C_INT),
VALUE :: ncid, varid
776 Integer(KIND=C_LONG),
Intent(OUT) :: ip(*)
786 USE iso_c_binding
, ONLY: c_int, c_float
788 Integer(KIND=C_INT),
VALUE :: ncid, varid
789 Real(KIND=C_FLOAT),
Intent(IN) :: op(*)
799 USE iso_c_binding
, ONLY: c_int, c_float
803 Integer(KIND=C_INT),
VALUE :: ncid, varid
804 Real(KIND=C_FLOAT),
Intent(OUT) :: ip(*)
814 USE iso_c_binding
, ONLY: c_int, c_double
816 Integer(KIND=C_INT),
VALUE :: ncid, varid
817 Real(KIND=C_DOUBLE),
Intent(IN) :: op(*)
827 USE iso_c_binding
, ONLY: c_int, c_double
829 Integer(KIND=C_INT),
VALUE :: ncid, varid
830 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip(*)
840 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
842 Integer(KIND=C_INT),
VALUE :: ncid, varid
843 Type(c_ptr),
VALUE :: indexp
844 Character(LEN=C_CHAR),
Intent(IN) :: op
854 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
856 Integer(KIND=C_INT),
VALUE :: ncid, varid
857 Type(c_ptr),
VALUE :: indexp
858 Character(KIND=C_CHAR),
Intent(OUT) :: ip
868 USE iso_c_binding
, ONLY: c_int, c_ptr
869 USE netcdf_nc_data
, ONLY: cint1
871 Integer(KIND=C_INT),
VALUE :: ncid, varid
872 Type(c_ptr),
VALUE :: indexp
873 Integer(KIND=CINT1),
Intent(IN) :: op
883 USE iso_c_binding
, ONLY: c_int, c_ptr
884 USE netcdf_nc_data
, ONLY: cint1
886 Integer(KIND=C_INT),
VALUE :: ncid, varid
887 Type(c_ptr),
VALUE :: indexp
888 Integer(KIND=CINT1),
Intent(OUT) :: ip
898 USE iso_c_binding
, ONLY: c_int, c_ptr
899 USE netcdf_nc_data
, ONLY: cint1
901 Integer(KIND=C_INT),
VALUE :: ncid, varid
902 Type(c_ptr),
VALUE :: indexp
903 Integer(KIND=CINT1),
Intent(IN) :: op
913 USE iso_c_binding
, ONLY: c_int, c_ptr
914 USE netcdf_nc_data
, ONLY: cint1
916 Integer(KIND=C_INT),
VALUE :: ncid, varid
917 Type(c_ptr),
VALUE :: indexp
918 Integer(KIND=CINT1),
Intent(OUT) :: ip
928 USE iso_c_binding
, ONLY: c_int, c_ptr
929 USE netcdf_nc_data
, ONLY: cint2
931 Integer(KIND=C_INT),
VALUE :: ncid, varid
932 Type(c_ptr),
VALUE :: indexp
933 Integer(KIND=CINT2),
Intent(IN) :: op
943 USE iso_c_binding
, ONLY: c_int, c_ptr
944 USE netcdf_nc_data
, ONLY: cint2
946 Integer(KIND=C_INT),
VALUE :: ncid, varid
947 Type(c_ptr),
VALUE :: indexp
948 Integer(KIND=CINT2),
Intent(OUT) :: ip
958 USE iso_c_binding
, ONLY: c_int, c_ptr
960 Integer(KIND=C_INT),
VALUE :: ncid, varid
961 Type(c_ptr),
VALUE :: indexp
962 Integer(KIND=C_INT),
Intent(IN) :: op
972 USE iso_c_binding
, ONLY: c_int, c_ptr
974 Integer(KIND=C_INT),
VALUE :: ncid, varid
975 Type(c_ptr),
VALUE :: indexp
976 Integer(KIND=C_INT),
Intent(OUT) :: ip
986 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
988 Integer(KIND=C_INT),
VALUE :: ncid, varid
989 Type(c_ptr),
VALUE :: indexp
990 Integer(KIND=C_LONG),
Intent(IN) :: op
1000 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1002 Integer(KIND=C_INT),
VALUE :: ncid, varid
1003 Type(c_ptr),
VALUE :: indexp
1004 Integer(KIND=C_LONG),
Intent(OUT) :: ip
1014 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1016 Integer(KIND=C_INT),
VALUE :: ncid, varid
1017 Type(c_ptr),
VALUE :: indexp
1018 Real(KIND=C_FLOAT),
Intent(IN) :: op
1028 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1030 Integer(KIND=C_INT),
VALUE :: ncid, varid
1031 Type(c_ptr),
VALUE :: indexp
1032 Real(KIND=C_FLOAT),
Intent(OUT) :: ip
1042 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1044 Integer(KIND=C_INT),
VALUE :: ncid, varid
1045 Type(c_ptr),
VALUE :: indexp
1046 Real(KIND=C_DOUBLE),
Intent(IN) :: op
1056 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1058 Integer(KIND=C_INT),
VALUE :: ncid, varid
1059 Type(c_ptr),
VALUE :: indexp
1060 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip
1070 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1072 Integer(KIND=C_INT),
VALUE :: ncid, varid
1073 Type(c_ptr),
VALUE :: indexp
1074 Type(c_ptr),
VALUE :: op
1084 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1086 Integer(KIND=C_INT),
VALUE :: ncid, varid
1087 Type(c_ptr),
VALUE :: indexp
1088 Character(KIND=C_CHAR),
Intent(INOUT) :: op(*)
1098 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1100 Integer(KIND=C_INT),
VALUE :: ncid, varid
1101 Type(c_ptr),
VALUE :: startp, countp
1102 Character(KIND=C_CHAR),
Intent(IN) :: op(*)
1112 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1114 Integer(KIND=C_INT),
VALUE :: ncid, varid
1115 Type(c_ptr),
VALUE :: startp, countp
1116 Character(KIND=C_CHAR),
Intent(OUT) :: ip(*)
1126 USE iso_c_binding
, ONLY: c_int, c_ptr
1127 USE netcdf_nc_data
, ONLY: cint1
1129 Integer(KIND=C_INT),
VALUE :: ncid, varid
1130 Type(c_ptr),
VALUE :: startp, countp
1131 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1141 USE iso_c_binding
, ONLY: c_int, c_ptr
1142 USE netcdf_nc_data
, ONLY: cint1
1144 Integer(KIND=C_INT),
VALUE :: ncid, varid
1145 Type(c_ptr),
VALUE :: startp, countp
1146 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1156 USE iso_c_binding
, ONLY: c_int, c_ptr
1157 USE netcdf_nc_data
, ONLY: cint1
1159 Integer(KIND=C_INT),
VALUE :: ncid, varid
1160 Type(c_ptr),
VALUE :: startp, countp
1161 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1171 USE iso_c_binding
, ONLY: c_int, c_ptr
1172 USE netcdf_nc_data
, ONLY: cint1
1174 Integer(KIND=C_INT),
VALUE :: ncid, varid
1175 Type(c_ptr),
VALUE :: startp, countp
1176 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1186 USE iso_c_binding
, ONLY: c_int, c_ptr
1187 USE netcdf_nc_data
, ONLY: cint2
1189 Integer(KIND=C_INT),
VALUE :: ncid, varid
1190 Type(c_ptr),
VALUE :: startp, countp
1191 Integer(KIND=CINT2),
Intent(IN) :: op(*)
1201 USE iso_c_binding
, ONLY: c_int, c_ptr
1202 USE netcdf_nc_data
, ONLY: cint2
1204 Integer(KIND=C_INT),
VALUE :: ncid, varid
1205 Type(c_ptr),
VALUE :: startp, countp
1206 Integer(KIND=CINT2),
Intent(OUT) :: ip(*)
1216 USE iso_c_binding
, ONLY: c_int, c_ptr
1217 USE netcdf_nc_data
, ONLY: cint
1219 Integer(KIND=C_INT),
VALUE :: ncid, varid
1220 Type(c_ptr),
VALUE :: startp, countp
1221 Integer(KIND=CINT),
Intent(IN) :: op(*)
1231 USE iso_c_binding
, ONLY: c_int, c_ptr
1232 USE netcdf_nc_data
, ONLY: cint
1234 Integer(KIND=C_INT),
VALUE :: ncid, varid
1235 Type(c_ptr),
VALUE :: startp, countp
1236 Integer(KIND=CINT),
Intent(OUT) :: ip(*)
1246 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1248 Integer(KIND=C_INT),
VALUE :: ncid, varid
1249 Type(c_ptr),
VALUE :: startp, countp
1250 Integer(KIND=C_LONG),
Intent(IN) :: op(*)
1260 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1262 Integer(KIND=C_INT),
VALUE :: ncid, varid
1263 Type(c_ptr),
VALUE :: startp, countp
1264 Integer(KIND=C_LONG),
Intent(OUT) :: ip(*)
1274 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1276 Integer(KIND=C_INT),
VALUE :: ncid, varid
1277 Type(c_ptr),
VALUE :: startp, countp
1278 Real(KIND=C_FLOAT),
Intent(IN) :: op(*)
1288 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1290 Integer(KIND=C_INT),
VALUE :: ncid, varid
1291 Type(c_ptr),
VALUE :: startp, countp
1292 Real(KIND=C_FLOAT),
Intent(OUT) :: ip(*)
1302 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1304 Integer(KIND=C_INT),
VALUE :: ncid, varid
1305 Type(c_ptr),
VALUE :: startp, countp
1306 Real(KIND=C_DOUBLE),
Intent(IN) :: op(*)
1316 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1318 Integer(KIND=C_INT),
VALUE :: ncid, varid
1319 Type(c_ptr),
VALUE :: startp, countp
1320 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip(*)
1330 USE iso_c_binding
, ONLY: c_int, c_ptr
1332 Integer(KIND=C_INT),
VALUE :: ncid, varid
1333 Type(c_ptr),
VALUE :: startp, countp
1334 Type(c_ptr),
VALUE :: op
1344 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1346 Integer(KIND=C_INT),
VALUE :: ncid, varid
1347 Type(c_ptr),
VALUE :: startp, countp
1348 Character(KIND=C_CHAR),
Intent(INOUT) :: ip(*)
1358 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1360 Integer(KIND=C_INT),
VALUE :: ncid, varid
1361 Type(c_ptr),
VALUE :: startp, countp, stridep
1362 Character(KIND=C_CHAR),
Intent(IN) :: op(*)
1372 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1374 Integer(KIND=C_INT),
VALUE :: ncid, varid
1375 Type(c_ptr),
VALUE :: startp, countp, stridep
1376 Character(KIND=C_CHAR),
Intent(OUT) :: ip(*)
1386 USE iso_c_binding
, ONLY: c_int, c_ptr
1387 USE netcdf_nc_data
, ONLY: cint1
1389 Integer(KIND=C_INT),
VALUE :: ncid, varid
1390 Type(c_ptr),
VALUE :: startp, countp, stridep
1391 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1401 USE iso_c_binding
, ONLY: c_int, c_ptr
1402 USE netcdf_nc_data
, ONLY: cint1
1404 Integer(KIND=C_INT),
VALUE :: ncid, varid
1405 Type(c_ptr),
VALUE :: startp, countp, stridep
1406 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1416 USE iso_c_binding
, ONLY: c_int, c_ptr
1417 USE netcdf_nc_data
, ONLY: cint1
1419 Integer(KIND=C_INT),
VALUE :: ncid, varid
1420 Type(c_ptr),
VALUE :: startp, countp, stridep
1421 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1431 USE iso_c_binding
, ONLY: c_int, c_ptr
1432 USE netcdf_nc_data
, ONLY: cint1
1434 Integer(KIND=C_INT),
VALUE :: ncid, varid
1435 Type(c_ptr),
VALUE :: startp, countp, stridep
1436 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1446 USE iso_c_binding
, ONLY: c_int, c_ptr
1447 USE netcdf_nc_data
, ONLY: cint2
1449 Integer(KIND=C_INT),
VALUE :: ncid, varid
1450 Type(c_ptr),
VALUE :: startp, countp, stridep
1451 Integer(KIND=CINT2),
Intent(IN) :: op(*)
1461 USE iso_c_binding
, ONLY: c_int, c_ptr
1462 USE netcdf_nc_data
, ONLY: cint2
1464 Integer(KIND=C_INT),
VALUE :: ncid, varid
1465 Type(c_ptr),
VALUE :: startp, countp, stridep
1466 Integer(KIND=CINT2),
Intent(OUT) :: ip(*)
1476 USE iso_c_binding
, ONLY: c_int, c_ptr
1477 USE netcdf_nc_data
, ONLY: cint
1479 Integer(KIND=C_INT),
VALUE :: ncid, varid
1480 Type(c_ptr),
VALUE :: startp, countp, stridep
1481 Integer(KIND=CINT),
Intent(IN) :: op(*)
1491 USE iso_c_binding
, ONLY: c_int, c_ptr
1492 USE netcdf_nc_data
, ONLY: cint
1494 Integer(KIND=C_INT),
VALUE :: ncid, varid
1495 Type(c_ptr),
VALUE :: startp, countp, stridep
1496 Integer(KIND=CINT),
Intent(OUT) :: ip(*)
1506 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1508 Integer(KIND=C_INT),
VALUE :: ncid, varid
1509 Type(c_ptr),
VALUE :: startp, countp, stridep
1510 Integer(KIND=C_LONG),
Intent(IN) :: op(*)
1520 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1522 Integer(KIND=C_INT),
VALUE :: ncid, varid
1523 Type(c_ptr),
VALUE :: startp, countp, stridep
1524 Integer(KIND=C_LONG),
Intent(OUT) :: ip(*)
1534 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1536 Integer(KIND=C_INT),
VALUE :: ncid, varid
1537 Type(c_ptr),
VALUE :: startp, countp, stridep
1538 Real(KIND=C_FLOAT),
Intent(IN) :: op(*)
1548 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1550 Integer(KIND=C_INT),
VALUE :: ncid, varid
1551 Type(c_ptr),
VALUE :: startp, countp, stridep
1552 Real(KIND=C_FLOAT),
Intent(OUT) :: ip(*)
1562 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1564 Integer(KIND=C_INT),
VALUE :: ncid, varid
1565 Type(c_ptr),
VALUE :: startp, countp, stridep
1566 Real(KIND=C_DOUBLE),
Intent(IN) :: op(*)
1576 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1578 Integer(KIND=C_INT),
VALUE :: ncid, varid
1579 Type(c_ptr),
VALUE :: startp, countp, stridep
1580 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip(*)
1588 Function nc_put_vars(ncid, varid, startp, countp, stridep, op) BIND(C)
1590 USE iso_c_binding
, ONLY: c_int, c_ptr
1592 Integer(KIND=C_INT),
VALUE :: ncid, varid
1593 Type(c_ptr),
VALUE :: startp, countp, stridep
1594 Type(c_ptr),
VALUE :: op
1602 Function nc_get_vars(ncid, varid, startp, countp, stridep, ip) BIND(C)
1604 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1606 Integer(KIND=C_INT),
VALUE :: ncid, varid
1607 Type(c_ptr),
VALUE :: startp, countp, stridep
1608 Character(KIND=C_CHAR),
Intent(INOUT) :: ip(*)
1620 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1622 Integer(KIND=C_INT),
VALUE :: ncid, varid
1623 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1624 Character(KIND=C_CHAR),
Intent(IN) :: op(*)
1635 USE iso_c_binding
, ONLY: c_int, c_ptr, c_char
1637 Integer(KIND=C_INT),
VALUE :: ncid, varid
1638 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1639 Character(KIND=C_CHAR),
Intent(OUT) :: ip(*)
1650 USE iso_c_binding
, ONLY: c_int, c_ptr
1651 USE netcdf_nc_data
, ONLY: cint1
1653 Integer(KIND=C_INT),
VALUE :: ncid, varid
1654 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1655 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1666 USE iso_c_binding
, ONLY: c_int, c_ptr
1667 USE netcdf_nc_data
, ONLY: cint1
1669 Integer(KIND=C_INT),
VALUE :: ncid, varid
1670 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1671 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1682 USE iso_c_binding
, ONLY: c_int, c_ptr
1683 USE netcdf_nc_data
, ONLY: cint1
1685 Integer(KIND=C_INT),
VALUE :: ncid, varid
1686 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1687 Integer(KIND=CINT1),
Intent(IN) :: op(*)
1698 USE iso_c_binding
, ONLY: c_int, c_ptr
1699 USE netcdf_nc_data
, ONLY: cint1
1701 Integer(KIND=C_INT),
VALUE :: ncid, varid
1702 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1703 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
1714 USE iso_c_binding
, ONLY: c_int, c_ptr
1715 USE netcdf_nc_data
, ONLY: cint2
1717 Integer(KIND=C_INT),
VALUE :: ncid, varid
1718 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1719 Integer(KIND=CINT2),
Intent(IN) :: op(*)
1730 USE iso_c_binding
, ONLY: c_int, c_ptr
1731 USE netcdf_nc_data
, ONLY: cint2
1733 Integer(KIND=C_INT),
VALUE :: ncid, varid
1734 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1735 Integer(KIND=CINT2),
Intent(OUT) :: ip(*)
1746 USE iso_c_binding
, ONLY: c_int, c_ptr
1747 USE netcdf_nc_data
, ONLY: cint
1749 Integer(KIND=C_INT),
VALUE :: ncid, varid
1750 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1751 Integer(KIND=CINT),
Intent(IN) :: op(*)
1762 USE iso_c_binding
, ONLY: c_int, c_ptr
1763 USE netcdf_nc_data
, ONLY: cint
1765 Integer(KIND=C_INT),
VALUE :: ncid, varid
1766 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1767 Integer(KIND=CINT),
Intent(OUT) :: ip(*)
1778 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1780 Integer(KIND=C_INT),
VALUE :: ncid, varid
1781 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1782 Integer(KIND=C_LONG),
Intent(IN) :: op(*)
1793 USE iso_c_binding
, ONLY: c_int, c_long, c_ptr
1795 Integer(KIND=C_INT),
VALUE :: ncid, varid
1796 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1797 Integer(KIND=C_LONG),
Intent(OUT) :: ip(*)
1808 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1810 Integer(KIND=C_INT),
VALUE :: ncid, varid
1811 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1812 Real(KIND=C_FLOAT),
Intent(IN) :: op(*)
1823 USE iso_c_binding
, ONLY: c_int, c_float, c_ptr
1825 Integer(KIND=C_INT),
VALUE :: ncid, varid
1826 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1827 Real(KIND=C_FLOAT),
Intent(OUT) :: ip(*)
1838 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1840 Integer(KIND=C_INT),
VALUE :: ncid, varid
1841 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1842 Real(KIND=C_DOUBLE),
Intent(IN) :: op(*)
1853 USE iso_c_binding
, ONLY: c_int, c_double, c_ptr
1855 Integer(KIND=C_INT),
VALUE :: ncid, varid
1856 Type(c_ptr),
VALUE :: startp, countp, stridep, imapp
1857 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip(*)
1867 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
1869 Integer(KIND=C_INT),
VALUE :: ncid, varid
1870 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1871 Integer(KIND=C_INT),
Intent(OUT) :: xtypep
1872 Integer(KIND=C_SIZE_T),
Intent(OUT) :: lenp
1882 USE iso_c_binding
, ONLY: c_int, c_char
1884 Integer(KIND=C_INT),
VALUE :: ncid, varid
1885 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1886 Integer(KIND=C_INT),
Intent(OUT) :: attnump
1896 USE iso_c_binding
, ONLY: c_int, c_char
1898 Integer(KIND=C_INT),
VALUE :: ncid, varid
1899 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1900 Integer(KIND=C_INT),
Intent(OUT) :: xtypep
1910 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
1912 Integer(KIND=C_INT),
VALUE :: ncid, varid
1913 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1914 Integer(KIND=C_SIZE_T),
Intent(OUT) :: lenp
1924 USE iso_c_binding
, ONLY: c_int, c_char
1926 Integer(KIND=C_INT),
VALUE :: ncid, varid, attnum
1927 Character(KIND=C_CHAR),
Intent(INOUT) :: name(*)
1935 Function nc_copy_att(ncid_in, varid_in, name, ncid_out, varid_out ) BIND(C)
1937 USE iso_c_binding
, ONLY: c_int, c_char
1939 Integer(KIND=C_INT),
VALUE :: ncid_in, varid_in, varid_out, &
1941 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1951 USE iso_c_binding
, ONLY: c_int, c_char
1953 Integer(KIND=C_INT),
VALUE :: ncid, varid
1954 Character(KIND=C_CHAR),
Intent(IN) :: name(*), newname(*)
1964 USE iso_c_binding
, ONLY: c_int, c_char
1966 Integer(KIND=C_INT),
VALUE :: ncid, varid
1967 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1977 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
1979 Integer(KIND=C_INT),
VALUE :: ncid, varid
1980 Integer(KIND=C_SIZE_T),
VALUE :: nlen
1981 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1982 Character(KIND=C_CHAR),
Intent(IN) :: op(*)
1992 USE iso_c_binding
, ONLY: c_int, c_char
1994 Integer(KIND=C_INT),
VALUE :: ncid, varid
1995 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
1996 Character(KIND=C_CHAR),
Intent(OUT) :: ip(*)
2006 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
2007 USE netcdf_nc_data
, ONLY: cint1
2009 Integer(KIND=C_INT),
VALUE :: ncid, varid
2010 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2011 Integer(KIND=C_INT),
VALUE :: xtype
2012 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2013 Integer(KIND=CINT1),
Intent(IN) :: op(*)
2023 USE iso_c_binding
, ONLY: c_int, c_char
2024 USE netcdf_nc_data
, ONLY: cint1
2026 Integer(KIND=C_INT),
VALUE :: ncid, varid
2027 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2028 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
2038 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
2039 USE netcdf_nc_data
, ONLY: cint1
2041 Integer(KIND=C_INT),
VALUE :: ncid, varid
2042 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2043 Integer(KIND=C_INT),
VALUE :: xtype
2044 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2045 Integer(KIND=CINT1),
Intent(IN) :: op(*)
2055 USE iso_c_binding
, ONLY: c_int, c_char
2056 USE netcdf_nc_data
, ONLY: cint1
2058 Integer(KIND=C_INT),
VALUE :: ncid, varid
2059 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2060 Integer(KIND=CINT1),
Intent(OUT) :: ip(*)
2070 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
2071 USE netcdf_nc_data
, ONLY: cint2
2073 Integer(KIND=C_INT),
VALUE :: ncid, varid
2074 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2075 Integer(KIND=C_INT),
VALUE :: xtype
2076 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2077 Integer(KIND=CINT2),
Intent(IN) :: op(*)
2087 USE iso_c_binding
, ONLY: c_int, c_char
2088 USE netcdf_nc_data
, ONLY: cint2
2090 Integer(KIND=C_INT),
VALUE :: ncid, varid
2091 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2092 Integer(KIND=CINT2),
Intent(OUT) :: ip(*)
2102 USE iso_c_binding
, ONLY: c_int, c_size_t, c_char
2104 Integer(KIND=C_INT),
VALUE :: ncid, varid
2105 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2106 Integer(KIND=C_INT),
VALUE :: xtype
2107 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2108 Integer(KIND=C_INT),
Intent(IN) :: op(*)
2118 USE iso_c_binding
, ONLY: c_int, c_char
2120 Integer(KIND=C_INT),
VALUE :: ncid, varid
2121 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2122 Integer(KIND=C_INT),
Intent(OUT) :: ip(*)
2132 USE iso_c_binding
, ONLY: c_int, c_size_t, c_long, c_char
2134 Integer(KIND=C_INT),
VALUE :: ncid, varid
2135 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2136 Integer(KIND=C_INT),
VALUE :: xtype
2137 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2138 Integer(KIND=C_LONG),
Intent(IN) :: op(*)
2148 USE iso_c_binding
, ONLY: c_int, c_long, c_char
2150 Integer(KIND=C_INT),
VALUE :: ncid, varid
2151 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2152 Integer(KIND=C_LONG),
Intent(OUT) :: ip(*)
2162 USE iso_c_binding
, ONLY: c_int, c_size_t, c_float, c_char
2164 Integer(KIND=C_INT),
VALUE :: ncid, varid
2165 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2166 Integer(KIND=C_INT),
VALUE :: xtype
2167 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2168 Real(KIND=C_FLOAT),
Intent(IN) :: op(*)
2178 USE iso_c_binding
, ONLY: c_int, c_float, c_char
2180 Integer(KIND=C_INT),
VALUE :: ncid, varid
2181 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2182 Real(KIND=C_FLOAT),
Intent(OUT) :: ip(*)
2192 USE iso_c_binding
, ONLY: c_int, c_size_t, c_double, c_char
2194 Integer(KIND=C_INT),
VALUE :: ncid, varid
2195 Integer(KIND=C_SIZE_T),
VALUE :: nlen
2196 Integer(KIND=C_INT),
VALUE :: xtype
2197 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2198 Real(KIND=C_DOUBLE),
Intent(IN) :: op(*)
2208 USE iso_c_binding
, ONLY: c_int, c_double, c_char
2210 Integer(KIND=C_INT),
VALUE :: ncid, varid
2211 Character(KIND=C_CHAR),
Intent(IN) :: name(*)
2212 Real(KIND=C_DOUBLE),
Intent(OUT) :: ip(*)
2222 USE iso_c_binding
, ONLY: c_int
2224 Integer(KIND=C_INT),
VALUE :: ncid_in, varid, ncid_out
2234 USE iso_c_binding
, ONLY: c_int
2236 Integer(KIND=C_INT),
VALUE :: newform
2237 Integer(KIND=C_INT),
Intent(OUT) :: old_format
2261 Character(LEN=*),
Intent(IN) :: string
2262 Integer,
Intent(INOUT) :: nlen
2264 Character(LEN=(LEN(string)+1)) :: cstring
2273 nlen = len_trim(string)
2274 inull = scan(string, c_null_char)
2276 If (inull > 1) nlen = inull - 1
2281 cstring = repeat(
" ", len(cstring))
2282 cstring = string(1:nlen)//c_null_char
2296 Character(LEN=*),
Intent(IN) :: cstring
2297 Integer,
Intent(IN) :: nlen
2299 Character(LEN=nlen) :: string
2301 Integer :: ie, inull
2303 ie = len_trim(cstring)
2304 inull = scan(cstring, c_null_char)
2306 If (inull > 1) ie=inull-1
2307 ie = max(1, min(ie,nlen))
2309 string = repeat(
" ", nlen)
2310 string(1:ie) = cstring(1:ie)
2315 End Module netcdf_nc_interfaces
module procedure interfaces for utility routines
Begin explicit interfaces for base nc_ functions.