NetCDF-Fortran  4.4.4
module_netcdf4_nc_interfaces.f90
Go to the documentation of this file.
2 
3 ! Fortran interfaces to netCDF4 C functions using FORTRAN 2003 C
4 ! Interoperability features. These interfaces are for the base
5 ! netCDF C routines in the libsrc4 directory and the results from
6 ! running CPP on the fort-xxx.c routines to get the cfortran.h
7 ! generated interfaces
8 
9 ! Written by: Richard Weed, Ph.D.
10 ! Center for Advanced Vehicular Systems
11 ! Mississippi State University
12 ! rweed@cavs.msstate.edu
13 
14 
15 ! License (and other Lawyer Language)
16 
17 ! This software is released under the Apache 2.0 Open Source License. The
18 ! full text of the License can be viewed at :
19 !
20 ! http:www.apache.org/licenses/LICENSE-2.0.html
21 !
22 ! The author grants to the University Corporation for Atmospheric Research
23 ! (UCAR), Boulder, CO, USA the right to revise and extend the software
24 ! without restriction. However, the author retains all copyrights and
25 ! intellectual property rights explicitly stated in or implied by the
26 ! Apache license
27 
28 ! Version 1.: June. 2007 - Initial version - split from ntecdf_nc_interfaces
29 ! Version 2.: April, 2009 - Interfaces based on netcdf-4.0.1 source
30 ! Version 3.: April, 2010 - Interfaces based on netcdf-4.1.1 source
31 ! Version 4.: Aug, 2013 - Added nc_rename_grp interfaces for netcdf-C 4.3.1
32 ! Version 5 : Jan. 2016 - General code cleanup and added interfaces for
33 ! three new funcions in nf_lib.c that return
34 ! the number of groups, types, and dimids for
35 ! compound fields
36 
38 
39  Implicit NONE
40 
41 !--------- Define default C interface parameters from netcdf.h ---------------
42 
43 ! Begin explicit interfaces for nc_ functions. Note that some interfaces
44 ! expect data to be passed as C_PTR type variables. These data are arrays
45 ! that could have a NULL pointer passed instead of the array. Also, note
46 ! the use of generic interfaces to support routines that handle text data
47 ! to allow text to be passed as either a single string or an array of
48 ! single characters
49 
50 ! Also note that each interface has an explicit USE ISO_C_BINDING. A better
51 ! solution is to use the F2003 IMPORT statement (I originally had it this way)
52 ! However its best to leave the interfaces as is for now because there might
53 ! be a few compilers out there that support most of the C-interop facility but
54 ! for some reason haven't implemented IMPORT yet.
55 
56 ! NETCDF 4 functions supported by FORTRAN interface
57 
58 !----------------------------- nc_create_par_fortran -------------------------
59 Interface
60  Function nc_create_par_fortran(path, cmode, comm, info, ncidp) bind(C)
61 
62  USE iso_c_binding, ONLY: c_int, c_char
63 
64  Character(KIND=C_CHAR), Intent(IN) :: path(*)
65  Integer(C_INT), VALUE :: cmode, comm, info
66  Integer(C_INT), Intent(OUT) :: ncidp
67 
68  Integer(C_INT) :: nc_create_par_fortran
69 
70  End Function nc_create_par_fortran
71 End Interface
72 !----------------------------- nc_open_par_fortran ---------------------------
73 Interface
74  Function nc_open_par_fortran(path, mode, comm, info, ncidp) bind(C)
75 
76  USE iso_c_binding, ONLY: c_int, c_char
77 
78  Character(KIND=C_CHAR), Intent(IN) :: path(*)
79  Integer(C_INT), VALUE :: mode, comm, info
80  Integer(C_INT), Intent(OUT) :: ncidp
81 
82  Integer(C_INT) :: nc_open_par_fortran
83 
84  End Function nc_open_par_fortran
85 End Interface
86 !------------------------------- nc_var_par_access ----------------------------
87 Interface
88  Function nc_var_par_access(ncid, varid, par_access) bind(C)
89 
90  USE iso_c_binding, ONLY: c_int
91 
92  Integer(C_INT), VALUE :: ncid, varid, par_access
93 
94  Integer(C_INT) :: nc_var_par_access
95 
96  End Function nc_var_par_access
97 End Interface
98 !------------------------------- nc_inq_ncid ----------------------------------
99 Interface
100  Function nc_inq_ncid(ncid, name, grp_ncid) bind(C)
102  USE iso_c_binding, ONLY: c_int, c_char
103 
104  Integer(C_INT), VALUE :: ncid
105  Character(KIND=C_CHAR), Intent(IN) :: name(*)
106  Integer(C_INT), Intent(INOUT) :: grp_ncid
107 
108  Integer(C_INT) :: nc_inq_ncid
109 
110  End Function nc_inq_ncid
111 End Interface
112 !------------------------------- nc_inq_numgrps ------------------------------
113 !**** NOT a Netcdf C function. Added to nf_lib.c support Fortran interaces
114 Interface
115  Function nc_inq_numgrps(ncid, numgrps) bind(C)
117  USE iso_c_binding, ONLY: c_int
118 
119  Integer(C_INT), VALUE :: ncid
120  Integer(C_INT), Intent(INOUT) :: numgrps
121 
122  Integer(C_INT) :: nc_inq_numgrps
123  End Function nc_inq_numgrps
124 End Interface
125 !------------------------------- nc_inq_numtypes ------------------------------
126 !**** NOT a Netcdf C function. Added to nf_lib.c support Fortran interaces
127 Interface
128  Function nc_inq_numtypes(ncid, numtypes) bind(C)
130  USE iso_c_binding, ONLY: c_int
131 
132  Integer(C_INT), VALUE :: ncid
133  Integer(C_INT), Intent(INOUT) :: numtypes
134 
135  Integer(C_INT) :: nc_inq_numtypes
136  End Function nc_inq_numtypes
137 End Interface
138 !------------------------------- nc_inq_grps ----------------------------------
139 Interface
140  Function nc_inq_grps(ncid, numgrps, ncids) bind(C)
142  USE iso_c_binding, ONLY: c_int
143 
144  Integer(C_INT), VALUE :: ncid
145  Integer(C_INT), Intent(INOUT) :: numgrps
146  Integer(C_INT), Intent(INOUT) :: ncids(*)
147 
148  Integer(C_INT) :: nc_inq_grps
149 
150  End Function nc_inq_grps
151 End Interface
152 !------------------------------- nc_inq_grpname -------------------------------
153 Interface
154  Function nc_inq_grpname(ncid, name) bind(C)
156  USE iso_c_binding, ONLY: c_int, c_char
157 
158  Integer(C_INT), VALUE :: ncid
159  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
160 
161  Integer(C_INT) :: nc_inq_grpname
162 
163  End Function nc_inq_grpname
164 End Interface
165 !------------------------------- nc_inq_grpname_full --------------------------
166 Interface
167  Function nc_inq_grpname_full(ncid, nlen, name) bind(C)
169  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
170 
171  Integer(C_INT), VALUE :: ncid
172  Integer(C_SIZE_T), Intent(INOUT) :: nlen
173  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
174 
175  Integer(C_INT) :: nc_inq_grpname_full
176 
177  End Function nc_inq_grpname_full
178 End Interface
179 !------------------------------- nc_inq_grpname_len ---------------------------
180 Interface
181  Function nc_inq_grpname_len(ncid, nlen) bind(C)
183  USE iso_c_binding, ONLY: c_int, c_size_t
184 
185  Integer(C_INT), VALUE :: ncid
186  Integer(C_SIZE_T), Intent(INOUT) :: nlen
187 
188  Integer(C_INT) :: nc_inq_grpname_len
189 
190  End Function nc_inq_grpname_len
191 End Interface
192 !------------------------------- nc_inq_grp_full_ncid -------------------------
193 Interface
194  Function nc_inq_grp_full_ncid(ncid, full_name, grp_ncid) bind(C)
196  USE iso_c_binding, ONLY: c_int, c_char
197 
198  Integer(C_INT), VALUE :: ncid
199  Integer(C_INT), Intent(INOUT) :: grp_ncid
200  Character(KIND=C_CHAR), Intent(INOUT) :: full_name(*)
201 
202  Integer(C_INT) :: nc_inq_grp_full_ncid
203 
204  End Function nc_inq_grp_full_ncid
205 End Interface
206 !------------------------------- nc_inq_grp_parent ----------------------------
207 Interface
208  Function nc_inq_grp_parent(ncid, parent_ncid) bind(C)
210  USE iso_c_binding, ONLY: c_int
211 
212  Integer(C_INT), VALUE :: ncid
213  Integer(C_INT), Intent(INOUT) :: parent_ncid
214 
215  Integer(C_INT) :: nc_inq_grp_parent
216 
217  End Function nc_inq_grp_parent
218 End Interface
219 !------------------------------- nc_inq_grp_ncid ------------------------------
220 Interface
221  Function nc_inq_grp_ncid(ncid, grp_name, grp_ncid) bind(C)
223  USE iso_c_binding, ONLY: c_int, c_char
224 
225  Integer(C_INT), VALUE :: ncid
226  Character(KIND=C_CHAR), Intent(IN) :: grp_name(*)
227  Integer(C_INT), Intent(INOUT) :: grp_ncid
228 
229  Integer(C_INT) :: nc_inq_grp_ncid
230 
231  End Function nc_inq_grp_ncid
232 End Interface
233 !------------------------------- nc_inq_varids_f ------------------------------
234 Interface
235  Function nc_inq_varids_f(ncid, nvars, varids) bind(C)
237  USE iso_c_binding, ONLY: c_int
238 
239  Integer(C_INT), VALUE :: ncid
240  Integer(C_INT), Intent(INOUT) :: nvars
241  Integer(C_INT), Intent(INOUT) :: varids(*)
242 
243  Integer(C_INT) :: nc_inq_varids_f
244 
245  End Function nc_inq_varids_f
246 End Interface
247 !------------------------------- nc_inq_dimids_f ------------------------------
248 Interface
249  Function nc_inq_dimids_f(ncid, ndims, dimids, parent) bind(C)
251  USE iso_c_binding, ONLY: c_int
252 
253  Integer(C_INT), VALUE :: ncid, parent
254  Integer(C_INT), Intent(INOUT) :: ndims
255  Integer(C_INT), Intent(INOUT) :: dimids(*)
256 
257  Integer(C_INT) :: nc_inq_dimids_f
258 
259  End Function nc_inq_dimids_f
260 End Interface
261 !------------------------------- nc_inq_typeids -------------------------------
262 Interface
263  Function nc_inq_typeids(ncid, ntypes, typeids) bind(C)
265  USE iso_c_binding, ONLY: c_int
266 
267  Integer(C_INT), VALUE :: ncid
268  Integer(C_INT), Intent(INOUT) :: ntypes
269  Integer(C_INT), Intent(INOUT) :: typeids(*)
270 
271  Integer(C_INT) :: nc_inq_typeids
272 
273  End Function nc_inq_typeids
274 End Interface
275 !------------------------------- nc_inq_typeid --------------------------------
276 Interface
277  Function nc_inq_typeid(ncid, name, typeid) bind(C)
279  USE iso_c_binding, ONLY: c_int, c_char
280 
281  Integer(C_INT), VALUE :: ncid
282  Character(KIND=C_CHAR), Intent(IN) :: name(*)
283  Integer(C_INT), Intent(INOUT) :: typeid
284 
285  Integer(C_INT) :: nc_inq_typeid
286 
287  End Function nc_inq_typeid
288 End Interface
289 !------------------------------- nc_def_grp -----------------------------------
290 Interface
291  Function nc_def_grp(parent_ncid, name, new_ncid) bind(C)
293  USE iso_c_binding, ONLY: c_int, c_char
294 
295  Integer(C_INT), VALUE :: parent_ncid
296  Character(KIND=C_CHAR), Intent(IN) :: name(*)
297  Integer(C_INT), Intent(INOUT) :: new_ncid
298 
299  Integer(C_INT) :: nc_def_grp
300 
301  End Function nc_def_grp
302 End Interface
303 !------------------------------- nc_rename_grp --------------------------------
304 Interface
305  Function nc_rename_grp(grpid, name) bind(C)
307  USE iso_c_binding, ONLY: c_int, c_char
308 
309  Integer(C_INT), VALUE :: grpid
310  Character(KIND=C_CHAR), Intent(IN) :: name(*)
311 
312  Integer(C_INT) :: nc_rename_grp
313 
314  End Function nc_rename_grp
315 End Interface
316 !------------------------------- nc_def_compound ------------------------------
317 Interface
318  Function nc_def_compound(ncid, isize, name, typeidp) bind(C)
320  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
321 
322  Integer(C_INT), VALUE :: ncid
323  Integer(C_SIZE_T), VALUE :: isize
324  Character(KIND=C_CHAR), Intent(IN) :: name(*)
325  Integer(C_INT), Intent(INOUT) :: typeidp
326 
327  Integer(C_INT) :: nc_def_compound
328 
329  End Function nc_def_compound
330 End Interface
331 !------------------------------- nc_insert_compound ---------------------------
332 Interface
333  Function nc_insert_compound(ncid, xtype, name, offset, field_typeid) bind(C)
335  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
336 
337  Integer(C_INT), VALUE :: ncid
338  Integer(C_INT), VALUE :: xtype, field_typeid ! nc_type in C
339  Integer(C_SIZE_T), VALUE :: offset
340  Character(KIND=C_CHAR), Intent(IN) :: name(*)
341 
342  Integer(C_INT) :: nc_insert_compound
343 
344  End Function nc_insert_compound
345 End Interface
346 !------------------------------- nc_insert_array_compound_f -------------------
347 Interface
348  Function nc_insert_array_compound_f(ncid, xtype, name, offset, field_typeid, &
349  ndims, dim_sizes) bind(C)
351  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
352 
353  Integer(C_INT), VALUE :: ncid, ndims
354  Integer(C_INT), VALUE :: xtype, field_typeid ! nc_type in C
355  Integer(C_SIZE_T), VALUE :: offset
356  Character(KIND=C_CHAR), Intent(IN) :: name(*)
357  Integer(C_INT), Intent(INOUT) :: dim_sizes(*)
358 
359  Integer(C_INT) :: nc_insert_array_compound_f
360 
361  End Function nc_insert_array_compound_f
362 End Interface
363 !------------------------------- nc_inq_type ----------------------------------
364 Interface
365  Function nc_inq_type(ncid, xtype, name, isize) bind(C)
367  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
368 
369  Integer(C_INT), VALUE :: ncid
370  Integer(C_INT), VALUE :: xtype ! nc_type in C
371  Character(KIND=C_CHAR), Intent(IN) :: name(*)
372  Integer(C_SIZE_T), Intent(INOUT) :: isize
373 
374  Integer(C_INT) :: nc_inq_type
375 
376  End Function nc_inq_type
377 End Interface
378 !------------------------------- nc_inq_compound -----------------------------
379 Interface
380  Function nc_inq_compound(ncid, xtype, name, isize, nfieldsp) bind(C)
382  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
383 
384  Integer(C_INT), VALUE :: ncid
385  Integer(C_INT), VALUE :: xtype ! nc_type in C
386  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
387  Integer(C_SIZE_T), Intent(INOUT) :: isize, nfieldsp
388 
389  Integer(C_INT) :: nc_inq_compound
390 
391  End Function nc_inq_compound
392 End Interface
393 !------------------------------- nc_inq_compound_name -------------------------
394 Interface
395  Function nc_inq_compound_name(ncid, xtype, name) bind(C)
397  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
398 
399  Integer(C_INT), VALUE :: ncid
400  Integer(C_INT), VALUE :: xtype ! nc_type in C
401  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
402 
403  Integer(C_INT) :: nc_inq_compound_name
404 
405  End Function nc_inq_compound_name
406 End Interface
407 !------------------------------- nc_inq_compound_size -------------------------
408 Interface
409  Function nc_inq_compound_size(ncid, xtype, isize) bind(C)
411  USE iso_c_binding, ONLY: c_int, c_size_t
412 
413  Integer(C_INT), VALUE :: ncid
414  Integer(C_INT), VALUE :: xtype ! nc_type in C
415  Integer(C_SIZE_T), Intent(INOUT) :: isize
416 
417  Integer(C_INT) :: nc_inq_compound_size
418 
419  End Function nc_inq_compound_size
420 End Interface
421 !------------------------------- nc_inq_compound_nfields ----------------------
422 Interface
423  Function nc_inq_compound_nfields(ncid, xtype, nfieldsp) bind(C)
425  USE iso_c_binding, ONLY: c_int, c_size_t
426 
427  Integer(C_INT), VALUE :: ncid
428  Integer(C_INT), VALUE :: xtype ! nc_type in C
429  Integer(C_SIZE_T), Intent(INOUT) :: nfieldsp
430 
431  Integer(C_INT) :: nc_inq_compound_nfields
432 
433  End Function nc_inq_compound_nfields
434 End Interface
435 !------------------------------- nc_inq_compound_field_ndims ------------------
436 !**** NOT a Netcdf C function. Added to nf_lib.c support Fortran interaces
437 Interface
438  Function nc_inq_compound_field_ndims(ncid, xtype, fieldid, ndims) bind(C)
439 
440  USE iso_c_binding, ONLY: c_int
441 
442  Integer(C_INT), VALUE :: ncid, fieldid
443  Integer(C_INT), VALUE :: xtype ! nc_type in C
444  Integer(C_INT), Intent(INOUT) :: ndims
445 
446  Integer(C_INT) :: nc_inq_compound_field_ndims
447 
448  End Function nc_inq_compound_field_ndims
449 
450 End Interface
451 
452 !------------------------------- nc_inq_compound_field_f ----------------------
453 Interface
454  Function nc_inq_compound_field_f(ncid, xtype, fieldid, name, offsetp, &
455  field_typeidp, ndimsp, dim_sizesp) bind(C)
456 
457 
458  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
459 
460  Integer(C_INT), VALUE :: ncid, fieldid
461  Integer(C_INT), VALUE :: xtype ! nc_type in C
462  Integer(C_INT), Intent(INOUT) :: field_typeidp ! nc_type in C
463  Integer(C_SIZE_T), Intent(INOUT) :: offsetp
464  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
465  Integer(C_INT), Intent(INOUT) :: ndimsp
466  Integer(C_INT), Intent(INOUT) :: dim_sizesp(*)
467 
468  Integer(C_INT) :: nc_inq_compound_field_f
469 
470  End Function nc_inq_compound_field_f
471 End Interface
472 !------------------------------- nc_inq_compound_fieldoffset ------------------
473 Interface
474  Function nc_inq_compound_fieldoffset(ncid, xtype, fieldid, offsetp) bind(C)
476  USE iso_c_binding, ONLY: c_int, c_size_t
477 
478  Integer(C_INT), VALUE :: ncid, fieldid
479  Integer(C_INT), VALUE :: xtype ! nc_type in C
480  Integer(C_SIZE_T), Intent(INOUT) :: offsetp
481 
482  Integer(C_INT) :: nc_inq_compound_fieldoffset
483 
484  End Function nc_inq_compound_fieldoffset
485 End Interface
486 !------------------------------- nc_inq_compound_fieldname --------------------
487 Interface
488  Function nc_inq_compound_fieldname(ncid, xtype, fieldid, name) bind(C)
490  USE iso_c_binding, ONLY: c_int, c_char
491 
492  Integer(C_INT), VALUE :: ncid, fieldid
493  Integer(C_INT), VALUE :: xtype ! nc_type in C
494  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
495 
496  Integer(C_INT) :: nc_inq_compound_fieldname
497 
498  End Function nc_inq_compound_fieldname
499 End Interface
500 !------------------------------- nc_inq_compound_fieldindex -------------------
501 Interface
502  Function nc_inq_compound_fieldindex(ncid, xtype, name, fieldidp) bind(C)
504  USE iso_c_binding, ONLY: c_int, c_char
505 
506  Integer(C_INT), VALUE :: ncid
507  Integer(C_INT), VALUE :: xtype ! nc_type in C
508  Character(KIND=C_CHAR), Intent(IN) :: name(*)
509  Integer(C_INT), Intent(INOUT) :: fieldidp
510 
511  Integer(C_INT) :: nc_inq_compound_fieldindex
512 
513  End Function nc_inq_compound_fieldindex
514 End Interface
515 !------------------------------- nc_inq_compound_fieldtype --------------------
516 Interface
517  Function nc_inq_compound_fieldtype(ncid, xtype, fieldid, field_typeidp) bind(C)
519  USE iso_c_binding, ONLY: c_int
520 
521  Integer(C_INT), VALUE :: ncid, fieldid
522  Integer(C_INT), VALUE :: xtype ! nc_type in C
523  Integer(C_INT), Intent(INOUT) :: field_typeidp ! nc_type in C
524 
525  Integer(C_INT) :: nc_inq_compound_fieldtype
526 
527  End Function nc_inq_compound_fieldtype
528 End Interface
529 !------------------------------- nc_inq_compound_fieldndims -------------------
530 Interface
531  Function nc_inq_compound_fieldndims(ncid, xtype, fieldid, ndimsp) bind(C)
533  USE iso_c_binding, ONLY: c_int
534 
535  Integer(C_INT), VALUE :: ncid, fieldid
536  Integer(C_INT), VALUE :: xtype ! nc_type in C
537  Integer(C_INT), Intent(INOUT) :: ndimsp
538 
539  Integer(C_INT) :: nc_inq_compound_fieldndims
540 
541  End Function nc_inq_compound_fieldndims
542 End Interface
543 !------------------------------- nc_inq_compound_fielddim_sizes ---------------
544 Interface
545  Function nc_inq_compound_fielddim_sizes(ncid, xtype, fieldid, dim_sizes) bind(C)
547  USE iso_c_binding, ONLY: c_int
548 
549  Integer(C_INT), VALUE :: ncid, fieldid
550  Integer(C_INT), VALUE :: xtype ! nc_type in C
551  Integer(C_INT), Intent(INOUT) :: dim_sizes(*)
552 
553  Integer(C_INT) :: nc_inq_compound_fielddim_sizes
554 
555  End Function nc_inq_compound_fielddim_sizes
556 End Interface
557 !------------------------------- nc_def_vlen ----------------------------------
558 Interface
559  Function nc_def_vlen(ncid, name, base_typeid, xtypep) bind(C)
561  USE iso_c_binding, ONLY: c_int, c_char
562 
563  Integer(C_INT), VALUE :: ncid
564  Integer(C_INT), VALUE :: base_typeid ! nc_type in C
565  Integer(C_INT), Intent(INOUT) :: xtypep ! nc_type in C
566  Character(KIND=C_CHAR), Intent(IN) :: name(*)
567 
568  Integer(C_INT) :: nc_def_vlen
569 
570  End Function nc_def_vlen
571 End Interface
572 !------------------------------- nc_inq_vlen ----------------------------------
573 Interface
574  Function nc_inq_vlen(ncid, xtype, name, datum_sizep, base_nc_typep) bind(C)
576  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
577 
578  Integer(C_INT), VALUE :: ncid
579  Integer(C_INT), VALUE :: xtype ! nc_type in C
580  Integer(C_SIZE_T), Intent(INOUT) :: datum_sizep
581  Integer(C_INT), Intent(INOUT) :: base_nc_typep ! nc_type in C
582  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
583 
584  Integer(C_INT) :: nc_inq_vlen
585 
586  End Function nc_inq_vlen
587 End Interface
588 !------------------------------- nc_inq_user_type -----------------------------
589 Interface
590  Function nc_inq_user_type(ncid, xtype, name, isize, base_nc_typep, &
591  nfieldsp, classp) bind(C)
593  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
594 
595  Integer(C_INT), VALUE :: ncid
596  Integer(C_INT), VALUE :: xtype ! nc_type in C
597  Integer(C_SIZE_T), Intent(INOUT) :: isize , nfieldsp
598  Integer(C_INT), Intent(INOUT) :: base_nc_typep ! nc_type in C
599  Integer(C_INT), Intent(INOUT) :: classp
600  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
601 
602  Integer(C_INT) :: nc_inq_user_type
603 
604  End Function nc_inq_user_type
605 End Interface
606 !------------------------------- nc_def_enum ----------------------------------
607 Interface
608  Function nc_def_enum(ncid, base_typeid, name, typeidp) bind(C)
610  USE iso_c_binding, ONLY: c_int, c_char
611 
612  Integer(C_INT), VALUE :: ncid
613  Integer(C_INT), VALUE :: base_typeid ! nc_type in C
614  Integer(C_INT), Intent(OUT) :: typeidp ! nc_type in C
615  Character(KIND=C_CHAR), Intent(IN) :: name(*)
616 
617  Integer(C_INT) :: nc_def_enum
618 
619  End Function nc_def_enum
620 End Interface
621 !------------------------------- nc_insert_enum -------------------------------
622 Interface
623  Function nc_insert_enum(ncid, xtype, name, values) bind(C)
625  USE iso_c_binding, ONLY: c_int, c_char, c_ptr
626 
627  Integer(C_INT), VALUE :: ncid
628  Integer(C_INT), VALUE :: xtype ! nc_type in C
629  Type(c_ptr), VALUE :: values ! void pointer in C
630  Character(KIND=C_CHAR), Intent(IN) :: name(*)
631 
632  Integer(C_INT) :: nc_insert_enum
633 
634  End Function nc_insert_enum
635 End Interface
636 !------------------------------- nc_inq_enum ----------------------------------
637 Interface
638  Function nc_inq_enum(ncid, xtype, name, base_nc_typep, base_sizep, &
639  num_membersp) bind(C)
641  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
642 
643  Integer(C_INT), VALUE :: ncid
644  Integer(C_INT), VALUE :: xtype ! nc_type in C
645  Integer(C_INT), Intent(INOUT) :: base_nc_typep ! nc_type in C
646  Integer(C_SIZE_T), Intent(INOUT) :: base_sizep, num_membersp
647  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
648 
649  Integer(C_INT) :: nc_inq_enum
650 
651  End Function nc_inq_enum
652 End Interface
653 !------------------------------- nc_inq_enum_member ---------------------------
654 Interface
655  Function nc_inq_enum_member(ncid, xtype, idx, name, value) bind(C)
657  USE iso_c_binding, ONLY: c_int, c_char
658 
659  Integer(C_INT), VALUE :: ncid, idx
660  Integer(C_INT), VALUE :: xtype ! nc_type in C
661  Character(KIND=C_CHAR), Intent(OUT) :: value(*)
662  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
663 
664  Integer(C_INT) :: nc_inq_enum_member
665 
666  End Function nc_inq_enum_member
667 End Interface
668 !------------------------------- nc_inq_enum_ident ----------------------------
669 Interface
670  Function nc_inq_enum_ident(ncid, xtype, val, name) bind(C)
672  USE iso_c_binding, ONLY: c_int, c_long_long, c_char
673 
674  Integer(C_INT), VALUE :: ncid
675  Integer(C_INT), VALUE :: xtype ! nc_type in C
676  Integer(C_LONG_LONG), VALUE :: val
677  Character(KIND=C_CHAR), Intent(INOUT) :: name(*)
678 
679  Integer(C_INT) :: nc_inq_enum_ident
680 
681  End Function nc_inq_enum_ident
682 End Interface
683 !------------------------------- nc_def_opaque --------------------------------
684 Interface
685  Function nc_def_opaque(ncid, isize, name, xtypep) bind(C)
687  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
688 
689  Integer(C_INT), VALUE :: ncid
690  Integer(C_SIZE_T), VALUE :: isize
691  Character(KIND=C_CHAR), Intent(IN) :: name(*)
692  Integer(C_INT), Intent(OUT) :: xtypep ! nc_type in C
693 
694  Integer(C_INT) :: nc_def_opaque
695 
696  End Function nc_def_opaque
697 End Interface
698 !------------------------------- nc_inq_opaque --------------------------------
699 Interface
700  Function nc_inq_opaque(ncid, xtype, name, sizep) bind(C)
702  USE iso_c_binding, ONLY: c_int, c_size_t, c_char
703 
704  Integer(C_INT), VALUE :: ncid
705  Integer(C_INT), VALUE :: xtype ! nc_type in C
706  Integer(C_SIZE_T), Intent(OUT) :: sizep
707  Character(KIND=C_CHAR), Intent(OUT) :: name(*)
708 
709  Integer(C_INT) :: nc_inq_opaque
710 
711  End Function nc_inq_opaque
712 End Interface
713 !------------------------------- nc_def_var_fill ------------------------------
714 Interface
715  Function nc_def_var_fill(ncid, varid, no_fill, cfill_value_p) bind(C)
717  USE iso_c_binding, ONLY: c_int, c_ptr
718 
719  Integer(C_INT), VALUE :: ncid, varid, no_fill
720  Type(c_ptr), VALUE :: cfill_value_p
721 
722  Integer(C_INT) :: nc_def_var_fill
723 
724  End Function nc_def_var_fill
725 End Interface
726 !------------------------------- nc_inq_var_fill ------------------------------
727 Interface
728  Function nc_inq_var_fill(ncid, varid, no_fill, fill_value) bind(C)
730  USE iso_c_binding, ONLY: c_int, c_char
731 
732  Integer(C_INT), VALUE :: ncid, varid
733  Integer(C_INT), Intent(INOUT) :: no_fill
734  Character(KIND=C_CHAR), Intent(INOUT) :: fill_value(*)
735 
736  Integer(C_INT) :: nc_inq_var_fill
737 
738  End Function nc_inq_var_fill
739 End Interface
740 !------------------------------- nc_inq_var_szip ------------------------------
741 Interface
742  Function nc_inq_var_szip(ncid, varid, options_mask, pixels_per_block) bind(C)
744  USE iso_c_binding, ONLY: c_int
745 
746  Integer(C_INT), VALUE :: ncid, varid
747  Integer(C_INT), Intent(INOUT) :: options_mask, pixels_per_block
748 
749  Integer(C_INT) :: nc_inq_var_szip
750 
751  End Function nc_inq_var_szip
752 End Interface
753 !------------------------------- nc_def_var_fletcher32 ------------------------
754 Interface
755  Function nc_def_var_fletcher32(ncid, varid, fletcher32) bind(C)
757  USE iso_c_binding, ONLY: c_int
758 
759  Integer(C_INT), VALUE :: ncid, varid, fletcher32
760 
761  Integer(C_INT) :: nc_def_var_fletcher32
762 
763  End Function nc_def_var_fletcher32
764 End Interface
765 !------------------------------- nc_inq_var_fletcher32 ------------------------
766 Interface
767  Function nc_inq_var_fletcher32(ncid, varid, fletcher32) bind(C)
769  USE iso_c_binding, ONLY: c_int
770 
771  Integer(C_INT), VALUE :: ncid, varid
772  Integer(C_INT), Intent(INOUT) :: fletcher32
773 
774  Integer(C_INT) :: nc_inq_var_fletcher32
775 
776  End Function nc_inq_var_fletcher32
777 End Interface
778 !------------------------------- nc_def_var_deflate ---------------------------
779 Interface
780  Function nc_def_var_deflate(ncid, varid, shuffle, deflate, deflate_level) bind(C)
782  USE iso_c_binding, ONLY: c_int
783 
784  Integer(C_INT), VALUE :: ncid, varid, shuffle, deflate, deflate_level
785 
786  Integer(C_INT) :: nc_def_var_deflate
787 
788  End Function nc_def_var_deflate
789 End Interface
790 !------------------------------- nc_inq_var_deflate ---------------------------
791 Interface
792  Function nc_inq_var_deflate(ncid, varid, shuffle, deflate, deflate_level) bind(C)
794  USE iso_c_binding, ONLY: c_int
795 
796  Integer(C_INT), VALUE :: ncid, varid
797  Integer(C_INT), Intent(INOUT) :: shuffle, deflate, deflate_level
798 
799  Integer(C_INT) :: nc_inq_var_deflate
800 
801  End Function nc_inq_var_deflate
802 End Interface
803 !------------------------------- nc_def_var_chunking --------------------------
804 Interface
805  Function nc_def_var_chunking(ncid, varid, contiguousp, chunksizesp) bind(C)
807  USE iso_c_binding, ONLY: c_int, c_size_t
808 
809  Integer(C_INT), VALUE :: ncid, varid, contiguousp
810  Integer(C_SIZE_T), Intent(INOUT) :: chunksizesp
811 
812  Integer(C_INT) :: nc_def_var_chunking
813 
814  End Function nc_def_var_chunking
815 End Interface
816 !------------------------------- nc_inq_var_chunking --------------------------
817 Interface
818  Function nc_inq_var_chunking(ncid, varid, contiguousp, chunksizesp) bind(C)
820  USE iso_c_binding, ONLY: c_int, c_size_t
821 
822  Integer(C_INT), VALUE :: ncid, varid
823  Integer(C_INT), Intent(INOUT) :: contiguousp
824  Integer(C_SIZE_T), Intent(INOUT) :: chunksizesp(*)
825 
826  Integer(C_INT) :: nc_inq_var_chunking
827 
828  End Function nc_inq_var_chunking
829 End Interface
830 !------------------------------- nc_def_var_chunking_ints ---------------------
831 Interface
832  Function nc_def_var_chunking_ints(ncid, varid, contiguousp, chunksizesp) bind(C)
834  USE iso_c_binding, ONLY: c_int, c_ptr
835 
836  Integer(C_INT), VALUE :: ncid, varid, contiguousp
837  Type(c_ptr), VALUE :: chunksizesp
838 
839  Integer(C_INT) :: nc_def_var_chunking_ints
840 
841  End Function nc_def_var_chunking_ints
842 End Interface
843 !------------------------------- nc_inq_var_chunking_ints ---------------------
844 Interface
845  Function nc_inq_var_chunking_ints(ncid, varid, contiguousp, chunksizesp) bind(C)
847  USE iso_c_binding, ONLY: c_int
848 
849  Integer(C_INT), VALUE :: ncid, varid
850  Integer(C_INT), Intent(INOUT) :: contiguousp
851  Integer(C_INT), Intent(INOUT) :: chunksizesp(*)
852 
853  Integer(C_INT) :: nc_inq_var_chunking_ints
854 
855  End Function nc_inq_var_chunking_ints
856 End Interface
857 !------------------------------- nc_def_var_endian --------------------------
858 Interface
859  Function nc_def_var_endian(ncid, varid, endiann) bind(C)
861  USE iso_c_binding, ONLY: c_int
862 
863  Integer(C_INT), VALUE :: ncid, varid, endiann
864 
865  Integer(C_INT) :: nc_def_var_endian
866 
867  End Function nc_def_var_endian
868 End Interface
869 !------------------------------- nc_inq_var_endian --------------------------
870 Interface
871  Function nc_inq_var_endian(ncid, varid, endiann) bind(C)
873  USE iso_c_binding, ONLY: c_int
874 
875  Integer(C_INT), VALUE :: ncid, varid
876  Integer(C_INT), Intent(INOUT) :: endiann
877 
878  Integer(C_INT) :: nc_inq_var_endian
879 
880  End Function nc_inq_var_endian
881 End Interface
882 !------------------------------- nc_put_att -----------------------------------
883 Interface
884  Function nc_put_att(ncid, varid, name, xtype, nlen, op) bind(C)
886  USE iso_c_binding, ONLY: c_int, c_char, c_size_t, c_ptr
887 
888  Integer(C_INT), VALUE :: ncid, varid, xtype
889  Integer(C_SIZE_T), VALUE :: nlen
890  Character(KIND=C_CHAR), Intent(IN) :: name(*)
891  Type(c_ptr), VALUE :: op
892 
893  Integer(C_INT) :: nc_put_att
894 
895  End Function nc_put_att
896 End Interface
897 !------------------------------- nc_get_att -----------------------------------
898 Interface
899  Function nc_get_att(ncid, varid, name, op) bind(C)
901  USE iso_c_binding, ONLY: c_int, c_char
902 
903  Integer(C_INT), VALUE :: ncid, varid
904  Character(KIND=C_CHAR), Intent(IN) :: name(*)
905  Character(KIND=C_CHAR), Intent(OUT) :: op(*)
906 
907  Integer(C_INT) :: nc_get_att
908 
909  End Function nc_get_att
910 End Interface
911 !------------------------------- nc_put_vlen_element --------------------------
912 Interface
913  Function nc_put_vlen_element(ncid, xtype, vlen_element, nlen, op) bind(C)
915  USE iso_c_binding, ONLY: c_int, c_size_t, c_ptr, c_char
916 
917  Integer(C_INT), VALUE :: ncid, xtype
918  Integer(C_SIZE_T), VALUE :: nlen
919  Character(KIND=C_CHAR), Intent(INOUT) :: vlen_element(*)
920  Type(c_ptr), VALUE :: op
921 
922  Integer(C_INT) :: nc_put_vlen_element
923 
924  End Function nc_put_vlen_element
925 End Interface
926 !------------------------------- nc_get_vlen_element --------------------------
927 Interface
928  Function nc_get_vlen_element(ncid, xtype, vlen_element, nlen, op) bind(C)
930  USE iso_c_binding, ONLY: c_int, c_char, c_size_t, c_ptr
931 
932  Integer(C_INT), VALUE :: ncid, xtype
933  Integer(C_SIZE_T), Intent(INOUT) :: nlen
934  Character(KIND=C_CHAR), Intent(INOUT) :: vlen_element(*)
935  Character(KIND=C_CHAR), Intent(INOUT) :: op(*)
936 
937  Integer(C_INT) :: nc_get_vlen_element
938 
939  End Function nc_get_vlen_element
940 End Interface
941 !------------------------------- nc_free_vlen ---------------------------------
942 Interface
943  Function nc_free_vlen(vl) bind(C)
945  USE iso_c_binding, ONLY: c_ptr, c_int
946 
947  Type(c_ptr), VALUE :: vl
948 
949  Integer(C_INT) :: nc_free_vlen
950 
951  End Function nc_free_vlen
952 End Interface
953 !------------------------------- nc_free_vlens -------------------------------
954 Interface
955  Function nc_free_vlens(len, vl) bind(C)
957  USE iso_c_binding, ONLY: c_ptr, c_int, c_size_t
958 
959  Integer(C_SIZE_T), Intent(IN) :: len
960  Type(c_ptr), VALUE :: vl
961 
962  Integer(C_INT) :: nc_free_vlens
963 
964  End Function nc_free_vlens
965 End Interface
966 !------------------------------- nc_free_string ------------------------------
967 Interface
968  Function nc_free_string(len, vl) bind(C)
970  USE iso_c_binding, ONLY: c_ptr, c_int, c_size_t
971 
972  Integer(C_SIZE_T), Intent(IN) :: len
973  Type(c_ptr), VALUE :: vl
974 
975  Integer(C_INT) :: nc_free_string
976 
977  End Function nc_free_string
978 End Interface
979 !------------------------------- nc_put_var1_longlong -------------------------
980 Interface
981  Function nc_put_var1_longlong(ncid, varid, indexp, op) bind(C)
983  USE iso_c_binding, ONLY: c_int, c_long_long, c_ptr
984 
985  Integer(C_INT), VALUE :: ncid, varid
986  Type(c_ptr), VALUE :: indexp
987  Integer(C_LONG_LONG), Intent(IN) :: op
988 
989  Integer(C_INT) :: nc_put_var1_longlong
990 
991  End Function nc_put_var1_longlong
992 End Interface
993 !------------------------------- nc_get_var1_longlong -------------------------
994 Interface
995  Function nc_get_var1_longlong(ncid, varid, indexp, ip) bind(C)
997  USE iso_c_binding, ONLY: c_int, c_long_long, c_ptr
998 
999  Integer(C_INT), VALUE :: ncid, varid
1000  Type(c_ptr), VALUE :: indexp
1001  Integer(C_LONG_LONG), Intent(OUT) :: ip
1002 
1003  Integer(C_INT) :: nc_get_var1_longlong
1004 
1005  End Function nc_get_var1_longlong
1006 End Interface
1007 !--------------------------------- nc_put_vara_longlong -----------------------
1008 Interface
1009  Function nc_put_vara_longlong(ncid, varid, startp, countp, op) bind(C)
1011  USE iso_c_binding, ONLY: c_int, c_long_long, c_ptr
1012 
1013  Integer(C_INT), VALUE :: ncid, varid
1014  Type(c_ptr), VALUE :: startp, countp
1015  Integer(C_LONG_LONG), Intent(IN) :: op(*)
1016 
1017  Integer(C_INT) :: nc_put_vara_longlong
1018 
1019  End Function nc_put_vara_longlong
1020 End Interface
1021 !--------------------------------- nc_get_vara_longlong -----------------------
1022 Interface
1023  Function nc_get_vara_longlong(ncid, varid, startp, countp, ip) bind(C)
1025  USE iso_c_binding, ONLY: c_int, c_long_long, c_ptr
1026 
1027  Integer(C_INT), VALUE :: ncid, varid
1028  Type(c_ptr), VALUE :: startp, countp
1029  Integer(C_LONG_LONG), Intent(OUT) :: ip(*)
1030 
1031  Integer(C_INT) :: nc_get_vara_longlong
1032 
1033  End Function nc_get_vara_longlong
1034 End Interface
1035 !--------------------------------- nc_put_varm_longlong ----------------------
1036 Interface
1037  Function nc_put_varm_longlong(ncid, varid, startp, countp, stridep, imapp, &
1038  op) bind(C)
1040  USE iso_c_binding, ONLY: c_int, c_ptr, c_long_long
1041 
1042  Integer(C_INT), VALUE :: ncid, varid
1043  Type(c_ptr), VALUE :: startp, countp, stridep, imapp
1044  Integer(C_LONG_LONG), Intent(IN) :: op(*)
1045 
1046  Integer(C_INT) :: nc_put_varm_longlong
1047 
1048  End Function nc_put_varm_longlong
1049 End Interface
1050 !--------------------------------- nc_get_varm_longlong -----------------------
1051 Interface
1052  Function nc_get_varm_longlong(ncid, varid, startp, countp, stridep, imapp, &
1053  ip) bind(C)
1055  USE iso_c_binding, ONLY: c_int, c_ptr, c_long_long
1056 
1057  Integer(C_INT), VALUE :: ncid, varid
1058  Type(c_ptr), VALUE :: startp, countp, stridep, imapp
1059  Integer(C_LONG_LONG), Intent(OUT) :: ip(*)
1060 
1061  Integer(C_INT) :: nc_get_varm_longlong
1062 
1063  End Function nc_get_varm_longlong
1064 End Interface
1065 !--------------------------------- nc_put_vars_longlong -----------------------
1066 Interface
1067  Function nc_put_vars_longlong(ncid, varid, startp, countp, stridep, op) bind(C)
1069  USE iso_c_binding, ONLY: c_int, c_ptr, c_long_long
1070 
1071  Integer(C_INT), VALUE :: ncid, varid
1072  Type(c_ptr), VALUE :: startp, countp, stridep
1073  Integer(C_LONG_LONG), Intent(IN) :: op(*)
1074 
1075  Integer(C_INT) :: nc_put_vars_longlong
1076 
1077  End Function nc_put_vars_longlong
1078 End Interface
1079 !--------------------------------- nc_get_vars_longlong -----------------------
1080 Interface
1081  Function nc_get_vars_longlong(ncid, varid, startp, countp, stridep, ip) bind(C)
1083  USE iso_c_binding, ONLY: c_int, c_ptr, c_long_long
1084 
1085  Integer(C_INT), VALUE :: ncid, varid
1086  Type(c_ptr), VALUE :: startp, countp, stridep
1087  Integer(C_LONG_LONG), Intent(OUT) :: ip(*)
1088 
1089  Integer(C_INT) :: nc_get_vars_longlong
1090 
1091  End Function nc_get_vars_longlong
1092 End Interface
1093 !------------------------------- nc_put_var_longlong --------------------------
1094 Interface
1095  Function nc_put_var_longlong(ncid, varid, op) bind(C)
1097  USE iso_c_binding, ONLY: c_int, c_long_long
1098 
1099  Integer(C_INT), VALUE :: ncid, varid
1100  Integer(C_LONG_LONG), Intent(IN) :: op(*)
1101 
1102  Integer(C_INT) :: nc_put_var_longlong
1103 
1104  End Function nc_put_var_longlong
1105 End Interface
1106 !------------------------------- nc_get_var_longlong --------------------------
1107 Interface
1108  Function nc_get_var_longlong(ncid, varid, ip) bind(C)
1110  USE iso_c_binding, ONLY: c_int, c_long_long
1111 
1112  Integer(C_INT), VALUE :: ncid, varid
1113  Integer(C_LONG_LONG), Intent(OUT) :: ip(*)
1114 
1115  Integer(C_INT) :: nc_get_var_longlong
1116 
1117  End Function nc_get_var_longlong
1118 End Interface
1119 !------------------------------- nc_set_chunk_cache_ints ----------------------
1120 Interface
1121  Function nc_set_chunk_cache_ints(size, nelems, preemption) bind(C)
1123  USE iso_c_binding, ONLY: c_int
1124 
1125  Integer(C_INT), VALUE :: size, nelems, preemption
1126 
1127  Integer(C_INT) :: nc_set_chunk_cache_ints
1128 
1129  End Function nc_set_chunk_cache_ints
1130 End Interface
1131 !------------------------------- nc_get_chunk_cache_ints ----------------------
1132 Interface
1133  Function nc_get_chunk_cache_ints(size, nelems, preemption) bind(C)
1135  USE iso_c_binding, ONLY: c_int
1136 
1137  Integer(C_INT), Intent(INOUT) :: size, nelems, preemption
1138 
1139  Integer(C_INT) :: nc_get_chunk_cache_ints
1140 
1141  End Function nc_get_chunk_cache_ints
1142 End Interface
1143 !------------------------------- nc_set_var_chunk_cache_ints ------------------
1144 Interface
1145  Function nc_set_var_chunk_cache_ints(ncid, varid, size, nelems, &
1146  preemption) bind(C)
1148  USE iso_c_binding, ONLY: c_int
1149 
1150  Integer(C_INT), VALUE :: ncid, varid, size, nelems, preemption
1151 
1152  Integer(C_INT) :: nc_set_var_chunk_cache_ints
1153 
1154  End Function nc_set_var_chunk_cache_ints
1155 End Interface
1156 !------------------------------- nc_get_var_chunk_cache_ints ------------------
1157 Interface
1158  Function nc_get_var_chunk_cache_ints(ncid, varid, size, nelems, &
1159  preemption) bind(C)
1161  USE iso_c_binding, ONLY: c_int
1162 
1163  Integer(C_INT), VALUE :: ncid, varid
1164  Integer(C_INT), Intent(INOUT) :: size, nelems, preemption
1165 
1166  Integer(C_INT) :: nc_get_var_chunk_cache_ints
1167 
1168  End Function nc_get_var_chunk_cache_ints
1169 End Interface
1170 !------------------------------- nc_set_chunk_cache ---------------------------
1171 Interface
1172  Function nc_set_chunk_cache(size, nelems, preemption) bind(C)
1174  USE iso_c_binding, ONLY: c_size_t, c_float, c_int
1175 
1176  Integer(C_SIZE_T), VALUE :: size, nelems
1177  Real(C_FLOAT), VALUE :: preemption
1178 
1179  Integer(C_INT) :: nc_set_chunk_cache
1180 
1181  End Function nc_set_chunk_cache
1182 End Interface
1183 !------------------------------- nc_get_chunk_cache ---------------------------
1184 Interface
1185  Function nc_get_chunk_cache(size, nelems, preemption) bind(C)
1187  USE iso_c_binding, ONLY: c_size_t, c_float, c_int
1188 
1189  Integer(C_SIZE_T), Intent(INOUT) :: size, nelems
1190  Real(C_FLOAT), Intent(INOUT) :: preemption
1191 
1192  Integer(C_INT) :: nc_get_chunk_cache
1193 
1194  End Function nc_get_chunk_cache
1195 End Interface
1196 !---------------------------------- nc_put_var --------------------------------
1197 Interface
1198  Function nc_put_var(ncid, varid, op) bind(C)
1200  USE iso_c_binding, ONLY: c_int, c_ptr
1201 
1202  Integer(C_INT), VALUE :: ncid, varid
1203  Type(c_ptr), VALUE :: op
1204 
1205  Integer(C_INT) :: nc_put_var
1206 
1207  End Function nc_put_var
1208 End Interface
1209 !---------------------------------- nc_get_var --------------------------------
1210 Interface
1211  Function nc_get_var(ncid, varid, ip) bind(C)
1213  USE iso_c_binding, ONLY: c_int, c_char
1214 
1215  Integer(C_INT), VALUE :: ncid, varid
1216  Character(KIND=C_CHAR), Intent(INOUT) :: ip(*)
1217 
1218  Integer(C_INT) :: nc_get_var
1219 
1220  End Function nc_get_var
1221 End Interface
1222 
1223 !--------------------------End of Module netcdf4_c_interfaces -----------------
1224 End Module netcdf4_nc_interfaces

Return to the Main Unidata NetCDF page.
Generated on Wed Aug 1 2018 06:17:02 for NetCDF-Fortran. NetCDF is a Unidata library.