NetCDF-Fortran  4.4.4
module_netcdf_nf_interfaces.F90
Go to the documentation of this file.
2 
3 ! Explicit interfaces for Netcdf FORTRAN 2003 nf FORTRAN interface routines
4 ! Generic interfaces are provided for routines that process text data to
5 ! handle the case where you are using this interface module and are passing
6 ! an array of single characters (ala C) instead of a character string.
7 
8 ! We choose not to provide explicit interfaces for the V2 routines and
9 ! newer functions for netCDF4 that pass data of any type to/from void
10 ! pointers in C using a C_CHAR string array. We do provide external
11 ! statements for the V2 functions as done in netcdf2.inc
12 
13 ! Written by: Richard Weed, Ph.D.
14 ! Center for Advanced Vehicular Systems
15 ! Mississippi State University
16 ! rweed@cavs.msstate.edu
17 
18 
19 ! License (and other Lawyer Language)
20 
21 ! This software is released under the Apache 2.0 Open Source License. The
22 ! full text of the License can be viewed at :
23 !
24 ! http:www.apache.org/licenses/LICENSE-2.0.html
25 !
26 ! The author grants to the University Corporation for Atmospheric Research
27 ! (UCAR), Boulder, CO, USA the right to revise and extend the software
28 ! without restriction. However, the author retains all copyrights and
29 ! intellectual property rights explicitly stated in or implied by the
30 ! Apache license
31 
32 ! Version 1. Sept. 2005 - Initial Cray X1 version
33 ! Version 2. May, 2006 - Updated to support g95
34 ! Version 3. April 2009 - Updated for netCDF 4.0.1
35 ! Version 4. April 2010 - Updated for netCDF 4.1.1
36 ! Version 5. Feb. 2013 - Added nf_inq_path support for fortran 4.4
37 ! Version 6. Jan. 2016 - General code cleanup, added interface for
38 ! nf_open_mem function
39 
40 ! Most legacy programs don't need to use this module. However, I've created
41 ! it to support FORTRAN programmers who like to provide explicit interfaces
42 ! for all subroutines and functions in their codes. Therefore, this module is
43 ! is primarily for people writting new programs.
44 
45  Implicit NONE
46 
47 #include "nfconfig.inc"
48 
49 !-------------------- Explicit Interfaces for nf routines ------------------
50 
51 ! Misc functions first
52 !-------------------------------- nf_inq_libvers -------------------------------
53 Interface
54  Function nf_inq_libvers() RESULT(vermsg)
55 
56  Character(LEN=80) :: vermsg
57 
58  End Function nf_inq_libvers
59 End Interface
60 !-------------------------------- nf_strerror ---------------------------------
61 Interface
62  Function nf_strerror(nerr) RESULT(errmsg)
63 
64  Integer, Intent(IN) :: nerr
65 
66  Character(LEN=80) :: errmsg
67 
68  End Function nf_strerror
69 End Interface
70 !-------------------------------- nf_issyserr ---------------------------------
71 Interface
72  Function nf_issyserr(nerr) RESULT(status)
73 
74  Integer, Intent(IN) :: nerr
75  Logical :: status
76 
77  End Function nf_issyserr
78 End Interface
79 
80 ! Control routines
81 !-------------------------------- nf_create -----------------------------------
82 Interface
83  Function nf_create(path, cmode, ncid) RESULT (status)
84 
85  Character(LEN=*), Intent(IN) :: path
86  Integer, Intent(IN) :: cmode
87  Integer, Intent(OUT) :: ncid
88  Integer :: status
89 
90  End Function nf_create
91 End Interface
92 !-------------------------------- nf__create ----------------------------------
93 Interface
94  Function nf__create(path, cmode, initialsz, chunksizehintp, ncid) &
95  result(status)
96 
97  Character(LEN=*), Intent(IN) :: path
98  Integer, Intent(IN) :: cmode, initialsz, chunksizehintp
99  Integer, Intent(OUT) :: ncid
100  Integer :: status
101 
102  End Function nf__create
103 End Interface
104 !-------------------------------- nf__create_mp -------------------------------
105 Interface
106  Function nf__create_mp(path, cmode, initialsz, basepe, chunksizehintp, ncid) &
107  result(status)
108 
109  Character(LEN=*), Intent(IN) :: path
110  Integer, Intent(IN) :: cmode, initialsz, chunksizehintp, basepe
111  Integer, Intent(OUT) :: ncid
112  Integer :: status
113 
114  End Function nf__create_mp
115 End Interface
116 !-------------------------------- nf_open -------------------------------------
117 Interface
118  Function nf_open(path, mode, ncid) RESULT (status)
120  Character(LEN=*), Intent(IN) :: path
121  Integer, Intent(IN) :: mode
122  Integer, Intent(INOUT) :: ncid
123  Integer :: status
124 
125  End Function nf_open
126 End Interface
127 !-------------------------------- nf__open ------------------------------------
128 Interface
129  Function nf__open(path, mode, chunksizehintp, ncid) RESULT (status)
131  Character(LEN=*), Intent(IN) :: path
132  Integer, Intent(IN) :: mode, chunksizehintp
133  Integer, Intent(INOUT) :: ncid
134  Integer :: status
135 
136  End Function nf__open
137 End Interface
138 !-------------------------------- nf__open_mp ---------------------------------
139 Interface
140  Function nf__open_mp(path, mode, basepe, chunksizehintp, ncid) RESULT (status)
142  Character(LEN=*), Intent(IN) :: path
143  Integer, Intent(IN) :: mode, chunksizehintp, basepe
144  Integer, Intent(INOUT) :: ncid
145  Integer :: status
146 
147  End Function nf__open_mp
148 End Interface
149 !-------------------------------- nf_open_mem ---------------------------------
150 Interface nf90_open_mem
151  Function nf_open_mem(path, mode, size, memory, ncid) RESULT (status)
153  USE iso_c_binding, ONLY : c_char
154 
155  Character(LEN=*), Intent(IN) :: path
156  Integer, Intent(IN) :: mode
157  Integer, Intent(IN) :: size
158  Character(KIND=C_CHAR), Intent(IN), TARGET :: memory(*)
159  Integer, Intent(INOUT) :: ncid
160 
161  Integer :: status
162 
163  End Function nf_open_mem
164 End Interface
165 !-------------------------------- nf_inq_path ---------------------------------
166 Interface
167  Function nf_inq_path(ncid, pathlen, path) RESULT (status)
169  Integer, Intent(IN) :: ncid
170  Integer, Intent(INOUT) :: pathlen
171  Character(LEN=*), Intent(INOUT) :: path
172  Integer :: status
173 
174  End Function nf_inq_path
175 End Interface
176 !-------------------------------- nf_set_fill ---------------------------------
177 Interface
178  Function nf_set_fill(ncid, fillmode, old_mode) RESULT(status)
180  Integer, Intent(IN) :: ncid, fillmode
181  Integer, Intent(OUT) :: old_mode
182  Integer :: status
183 
184  End Function nf_set_fill
185 End Interface
186 !-------------------------------- nf_set_default_format -----------------------
187 Interface
188  Function nf_set_default_format(newform, old_format) RESULT(status)
190  Integer, Intent(IN) :: newform
191  Integer, Intent(OUT) :: old_format
192  Integer :: status
193 
194  End Function nf_set_default_format
195 End Interface
196 !-------------------------------- nf_redef -----------------------------------
197 Interface
198  Function nf_redef(ncid) RESULT(status)
200  Integer, Intent(IN) :: ncid
201  Integer :: status
202 
203  End Function nf_redef
204 End Interface
205 !-------------------------------- nf_enddef -----------------------------------
206 Interface
207  Function nf_enddef(ncid) RESULT(status)
209  Integer, Intent(IN) :: ncid
210  Integer :: status
211 
212  End Function nf_enddef
213 End Interface
214 !-------------------------------- nf__enddef ---------------------------------
215 Interface
216  Function nf__enddef(ncid, h_minfree, v_align, v_minfree, r_align) &
217  result(status)
218 
219  Integer, Intent(IN) :: ncid, h_minfree, v_align, v_minfree, r_align
220  Integer :: status
221 
222  End Function nf__enddef
223 End Interface
224 
225 !-------------------------------- nf_sync -------------------------------------
226 Interface
227  Function nf_sync(ncid) RESULT(status)
229  Integer, Intent(IN) :: ncid
230  Integer :: status
231 
232  End Function nf_sync
233 End Interface
234 !-------------------------------- nf_abort -----------------------------------
235 Interface
236  Function nf_abort(ncid) RESULT(status)
238  Integer, Intent(IN) :: ncid
239  Integer :: status
240 
241  End Function nf_abort
242 End Interface
243 !-------------------------------- nf_close -------------------------------------
244 Interface
245  Function nf_close(ncid) RESULT(status)
247  Integer, Intent(IN) :: ncid
248  Integer :: status
249 
250  End Function nf_close
251 End Interface
252 !-------------------------------- nf_delete -----------------------------------
253 Interface
254  Function nf_delete(path) RESULT(status)
256  Character(LEN=*), Intent(IN) :: path
257  Integer :: status
258 
259  End Function nf_delete
260 End Interface
261 !-------------------------------- nf_delete_mp ---------------------------------
262 Interface
263  Function nf_delete_mp(path, pe) RESULT(status)
265  Character(LEN=*), Intent(IN) :: path
266  Integer, Intent(IN) :: pe
267  Integer :: status
268 
269  End Function nf_delete_mp
270 End Interface
271 !-------------------------------- nf_set_base_pe ------------------------------
272 Interface
273  Function nf_set_base_pe(ncid, pe) RESULT(status)
275  Integer, Intent(IN) :: ncid, pe
276  Integer :: status
277 
278  End Function nf_set_base_pe
279 End Interface
280 !-------------------------------- nf_inq_base_pe ------------------------------
281 Interface
282  Function nf_inq_base_pe(ncid, pe) RESULT(status)
284  Integer, Intent(IN) :: ncid
285  Integer, Intent(OUT) :: pe
286  Integer :: status
287 
288  End Function nf_inq_base_pe
289 End Interface
290 
291 ! Dimension definition and inquiry functions
292 
293 !-------------------------------- nf_def_dim ----------------------------------
294 Interface
295  Function nf_def_dim(ncid, name, dlen, dimid) RESULT (status)
297  Integer, Intent(IN) :: ncid, dlen
298  Integer, Intent(OUT) :: dimid
299  Character(LEN=*), Intent(IN) :: name
300  Integer :: status
301 
302  End Function nf_def_dim
303 End Interface
304 !-------------------------------- nf_inq_dim ----------------------------------
305 Interface
306  Function nf_inq_dim(ncid, dimid, name, dlen) RESULT (status)
308  Integer, Intent(IN) :: ncid, dimid
309  Integer, Intent(OUT) :: dlen
310  Character(LEN=*), Intent(OUT) :: name
311  Integer :: status
312 
313  End Function nf_inq_dim
314 End Interface
315 !-------------------------------- nf_inq_dimid --------------------------------
316 Interface
317  Function nf_inq_dimid(ncid, name, dimid) RESULT (status)
319  Integer, Intent(IN) :: ncid
320  Integer, Intent(OUT) :: dimid
321  Character(LEN=*), Intent(IN) :: name
322  Integer :: status
323 
324  End Function nf_inq_dimid
325 End Interface
326 !-------------------------------- nf_inq_dimlen -------------------------------
327 Interface
328  Function nf_inq_dimlen(ncid, dimid, dlen) RESULT (status)
330  Integer, Intent(IN) :: ncid, dimid
331  Integer, Intent(OUT) :: dlen
332  Integer :: status
333 
334  End Function nf_inq_dimlen
335 End Interface
336 !-------------------------------- nf_inq_dimname ------------------------------
337 Interface
338  Function nf_inq_dimname (ncid, dimid, name) RESULT (status)
340  Integer, Intent(IN) :: ncid, dimid
341  Character(LEN=*), Intent(OUT) :: name
342  Integer :: status
343 
344  End Function nf_inq_dimname
345 End Interface
346 !-------------------------------- nf_rename_dim --------------------------------
347 Interface
348  Function nf_rename_dim(ncid, dimid, name) RESULT (status)
350  Integer, Intent(IN) :: ncid, dimid
351  Character(LEN=*), Intent(IN) :: name
352  Integer :: status
353 
354  End Function nf_rename_dim
355 End Interface
356 
357 ! General inquiry functions
358 
359 !-------------------------------- nf_inq --------------------------------------
360 Interface
361  Function nf_inq(ncid, ndims, nvars, ngatts, unlimdimid) RESULT(status)
363  Integer, Intent(IN) :: ncid
364  Integer, Intent(OUT) :: ndims, nvars, ngatts, unlimdimid
365  Integer :: status
366 
367  End Function nf_inq
368 End Interface
369 !-------------------------------- nf_inq_ndims --------------------------------
370 Interface
371  Function nf_inq_ndims(ncid, ndims) RESULT(status)
373  Integer, Intent(IN) :: ncid
374  Integer, Intent(OUT) :: ndims
375  Integer :: status
376 
377  End Function nf_inq_ndims
378 End Interface
379 !-------------------------------- nf_inq_nvars --------------------------------
380 Interface
381  Function nf_inq_nvars(ncid, nvars) RESULT(status)
383  Integer, Intent(IN) :: ncid
384  Integer, Intent(OUT) :: nvars
385  Integer :: status
386 
387  End Function nf_inq_nvars
388 End Interface
389 !-------------------------------- nf_inq_natts --------------------------------
390 Interface
391  Function nf_inq_natts(ncid, ngatts) RESULT(status)
393  Integer, Intent(IN) :: ncid
394  Integer, Intent(OUT) :: ngatts
395  Integer :: status
396 
397  End Function nf_inq_natts
398 End Interface
399 !-------------------------------- nf_inq_unlimdim -----------------------------
400 Interface
401  Function nf_inq_unlimdim(ncid, unlimdimid) RESULT(status)
403  Integer, Intent(IN) :: ncid
404  Integer, Intent(OUT) :: unlimdimid
405  Integer :: status
406 
407  End Function nf_inq_unlimdim
408 End Interface
409 !-------------------------------- nf_inq_format -------------------------------
410 Interface
411  Function nf_inq_format(ncid, format_type) RESULT(status)
413  Integer, Intent(IN) :: ncid
414  Integer, Intent(OUT) :: format_type
415  Integer :: status
416 
417  End Function nf_inq_format
418 End Interface
419 
420 ! General variable functions
421 
422 !-------------------------------- nf_def_var -----------------------------------
423 Interface
424  Function nf_def_var(ncid, name, xtype, nvdims, vdims, varid) RESULT (status)
426  Integer, Intent(IN) :: ncid, xtype, nvdims
427  Integer, Intent(IN) :: vdims(*)
428  Integer, Intent(OUT) :: varid
429  Character(LEN=*), Intent(IN) :: name
430  Integer :: status
431 
432  End Function nf_def_var
433 End Interface
434 !-------------------------------- nf_inq_varndims -----------------------------
435 Interface
436  Function nf_inq_varndims(ncid, varid, vndims) RESULT (status)
438  Integer, Intent(IN) :: ncid, varid
439  Integer, Intent(OUT) :: vndims
440  Integer :: status
441 
442  End Function nf_inq_varndims
443 End Interface
444 !-------------------------------- nf_inq_var ----------------------------------
445 Interface
446  Function nf_inq_var(ncid, varid, name, xtype, ndims, dimids, natts) &
447  result(status)
448 
449  Integer, Intent(IN) :: ncid, varid
450  Character(LEN=*), Intent(OUT) :: name
451  Integer, Intent(OUT) :: dimids(*)
452  Integer, Intent(OUT) :: ndims, xtype, natts
453  Integer :: status
454 
455  End Function nf_inq_var
456 End Interface
457 !-------------------------------- nf_inq_vardimid -----------------------------
458 Interface
459  Function nf_inq_vardimid(ncid, varid, dimids) RESULT (status)
461  Integer, Intent(IN) :: ncid, varid
462  Integer, Intent(OUT) :: dimids(*)
463  Integer :: status
464 
465  End Function nf_inq_vardimid
466 End Interface
467 !-------------------------------- nf_inq_varid --------------------------------
468 Interface
469  Function nf_inq_varid(ncid, name, varid) RESULT (status)
471  Integer, Intent(IN) :: ncid
472  Integer, Intent(OUT) :: varid
473  Character(LEN=*), Intent(IN) :: name
474  Integer :: status
475 
476  End Function nf_inq_varid
477 End Interface
478 !-------------------------------- nf_inq_varname ------------------------------
479 Interface
480  Function nf_inq_varname (ncid, varid, name) RESULT (status)
482  Integer, Intent(IN) :: ncid, varid
483  Character(LEN=*), Intent(OUT) :: name
484  Integer :: status
485 
486  End Function nf_inq_varname
487 End Interface
488 !-------------------------------- nf_inq_vartype ------------------------------
489 Interface
490  Function nf_inq_vartype(ncid, varid, xtype) RESULT(status)
492  Integer, Intent(IN) :: ncid, varid
493  Integer, Intent(OUT) :: xtype
494  Integer :: status
495 
496  End Function nf_inq_vartype
497 End Interface
498 !-------------------------------- nf_inq_varnatts -----------------------------
499 Interface
500  Function nf_inq_varnatts(ncid, varid, nvatts) RESULT(status)
502  Integer, Intent(IN) :: ncid, varid
503  Integer, Intent(OUT) :: nvatts
504  Integer :: status
505 
506  End Function nf_inq_varnatts
507 End Interface
508 !-------------------------------- nf_rename_var -------------------------------
509 Interface
510  Function nf_rename_var(ncid, varid, name) RESULT (status)
512  Integer, Intent(IN) :: ncid, varid
513  Character(LEN=*), Intent(IN) :: name
514  Integer :: status
515 
516  End Function nf_rename_var
517 End Interface
518 !-------------------------------- nf_copy_var ---------------------------------
519 Interface
520  Function nf_copy_var(ncid_in, varid, ncid_out) RESULT(status)
522  Integer, Intent(IN) :: ncid_in, varid, ncid_out
523  Integer :: status
524 
525  End Function nf_copy_var
526 End Interface
527 
528 ! General attribute functions
529 
530 !-------------------------------- nf_inq_att ----------------------------------
531 Interface
532  Function nf_inq_att(ncid, varid, name, xtype, nlen) RESULT(status)
534  Integer, Intent(IN) :: ncid, varid
535  Integer, Intent(OUT) :: nlen, xtype
536  Character(LEN=*), Intent(IN) :: name
537  Integer :: status
538 
539  End Function nf_inq_att
540 End Interface
541 !-------------------------------- nf_inq_atttype ---------------------------
542 Interface
543  Function nf_inq_atttype(ncid, varid, name, xtype) RESULT(status)
545  Integer, Intent(IN) :: ncid, varid
546  Integer, Intent(OUT) :: xtype
547  Character(LEN=*), Intent(IN) :: name
548  Integer :: status
549 
550  End Function nf_inq_atttype
551 End Interface
552 !-------------------------------- nf_inq_attlen -------------------------------
553 Interface
554  Function nf_inq_attlen(ncid, varid, name, nlen) RESULT(status)
556  Integer, Intent(IN) :: ncid, varid
557  Integer, Intent(OUT) :: nlen
558  Character(LEN=*), Intent(IN) :: name
559  Integer :: status
560 
561  End Function nf_inq_attlen
562 End Interface
563 !-------------------------------- nf_inq_attid --------------------------------
564 Interface
565  Function nf_inq_attid(ncid, varid, name, attnum) RESULT(status)
567  Integer, Intent(IN) :: ncid, varid
568  Integer, Intent(OUT) :: attnum
569  Character(LEN=*), Intent(IN) :: name
570  Integer :: status
571 
572  End Function nf_inq_attid
573 End Interface
574 !-------------------------------- nf_inq_attname ------------------------------
575 Interface
576  Function nf_inq_attname(ncid, varid, attnum, name) RESULT(status)
578  Integer, Intent(IN) :: ncid, varid, attnum
579  Character(LEN=*), Intent(OUT) :: name
580  Integer :: status
581 
582  End Function nf_inq_attname
583 End Interface
584 !-------------------------------- nf_copy_att ---------------------------------
585 Interface
586  Function nf_copy_att(ncid_in, varid_in, name, ncid_out, varid_out) &
587  result(status)
588 
589  Integer, Intent(IN) :: ncid_in, varid_in, ncid_out, varid_out
590  Character(LEN=*), Intent(IN) :: name
591  Integer :: status
592 
593  End Function nf_copy_att
594 End Interface
595 !-------------------------------- nf_rename_att -------------------------------
596 Interface
597  Function nf_rename_att(ncid, varid, name, newname) RESULT(status)
599  Integer, Intent(IN) :: ncid, varid
600  Character(LEN=*), Intent(IN) :: name, newname
601  Integer :: status
602 
603  End Function nf_rename_att
604 End Interface
605 !-------------------------------- nf_del_att ----------------------------------
606 Interface
607  Function nf_del_att(ncid, varid, name) RESULT(status)
609  Integer, Intent(IN) :: ncid, varid
610  Character(LEN=*), Intent(IN) :: name
611  Integer :: status
612 
613  End Function nf_del_att
614 End Interface
615 
616 ! var1 put and get functions
617 
618 !--------------------------------- nf_put_var1_text ---------------------------
619 Interface
620  Function nf_put_var1_text(ncid, varid, ndex, chval) RESULT(status)
622  Integer, Intent(IN) :: ncid, varid
623  Integer, Intent(IN) :: ndex(*)
624  Character(LEN=1), Intent(IN) :: chval
625  Integer :: status
626 
627  End Function nf_put_var1_text
628 End Interface
629 !--------------------------------- nf_put_var1_int1 ------------------------
630 Interface
631  Function nf_put_var1_int1(ncid, varid, ndex, ival) RESULT(status)
633  USE netcdf_nf_data, ONLY: nfint1
634 
635  Integer, Intent(IN) :: ncid, varid
636  Integer, Intent(IN) :: ndex(*)
637  Integer(NFINT1), Intent(IN) :: ival
638  Integer :: status
639 
640  End Function nf_put_var1_int1
641 End Interface
642 !--------------------------------- nf_put_var1_int2 ------------------------
643 Interface
644  Function nf_put_var1_int2(ncid, varid, ndex, ival) RESULT(status)
646  USE netcdf_nf_data, ONLY: nfint2
647 
648  Integer, Intent(IN) :: ncid, varid
649  Integer, Intent(IN) :: ndex(*)
650  Integer(NFINT2), Intent(IN) :: ival
651  Integer :: status
652 
653  End Function nf_put_var1_int2
654 End Interface
655 !--------------------------------- nf_put_var1_int -------------------------
656 Interface
657  Function nf_put_var1_int(ncid, varid, ndex, ival) RESULT(status)
659  USE netcdf_nf_data, ONLY: nfint
660  Integer, Intent(IN) :: ncid, varid
661  Integer, Intent(IN) :: ndex(*)
662  Integer(NFINT), Intent(IN) :: ival
663  Integer :: status
664 
665  End Function nf_put_var1_int
666 End Interface
667 !--------------------------------- nf_put_var1_real ------------------------
668 Interface
669  Function nf_put_var1_real(ncid, varid, ndex, rval) RESULT(status)
671  USE netcdf_nf_data, ONLY: nfreal
672 
673  Integer, Intent(IN) :: ncid, varid
674  Integer, Intent(IN) :: ndex(*)
675  Real(NFREAL), Intent(IN) :: rval
676  Integer :: status
677 
678  End Function nf_put_var1_real
679 End Interface
680 !--------------------------------- nf_put_var1_double ----------------------
681 Interface
682  Function nf_put_var1_double(ncid, varid, ndex, dval) RESULT(status)
684  USE netcdf_nf_data, ONLY: rk8
685 
686  Integer, Intent(IN) :: ncid, varid
687  Integer, Intent(IN) :: ndex(*)
688  Real(RK8), Intent(IN) :: dval
689  Integer :: status
690 
691  End Function nf_put_var1_double
692 End Interface
693 !--------------------------------- nf_get_var1_text ------------------------
694 Interface
695  Function nf_get_var1_text(ncid, varid, ndex, chval) RESULT(status)
697  Integer, Intent(IN) :: ncid, varid
698  Integer, Intent(IN) :: ndex(*)
699  Character(LEN=1), Intent(OUT) :: chval
700  Integer :: status
701 
702  End Function nf_get_var1_text
703 End Interface
704 !--------------------------------- nf_get_var1_int1 ------------------------
705 Interface
706  Function nf_get_var1_int1(ncid, varid, ndex, ival) RESULT(status)
708  USE netcdf_nf_data, ONLY: nfint1
709 
710  Integer, Intent(IN) :: ncid, varid
711  Integer, Intent(IN) :: ndex(*)
712  Integer(NFINT1), Intent(OUT) :: ival
713  Integer :: status
714 
715  End Function nf_get_var1_int1
716 End Interface
717 !--------------------------------- nf_get_var1_int2 ------------------------
718 Interface
719  Function nf_get_var1_int2(ncid, varid, ndex, ival) RESULT(status)
721  USE netcdf_nf_data, ONLY: nfint2
722 
723  Integer, Intent(IN) :: ncid, varid
724  Integer, Intent(IN) :: ndex(*)
725  Integer(NFINT2), Intent(OUT) :: ival
726  Integer :: status
727 
728  End Function nf_get_var1_int2
729 End Interface
730 !--------------------------------- nf_get_var1_int -------------------------
731 Interface
732  Function nf_get_var1_int(ncid, varid, ndex, ival) RESULT(status)
734  USE netcdf_nf_data, ONLY: nfint
735  Integer, Intent(IN) :: ncid, varid
736  Integer, Intent(IN) :: ndex(*)
737  Integer(NFINT), Intent(OUT) :: ival
738  Integer :: status
739 
740  End Function nf_get_var1_int
741 End Interface
742 !--------------------------------- nf_get_var1_real ------------------------
743 Interface
744  Function nf_get_var1_real(ncid, varid, ndex, rval) RESULT(status)
746  USE netcdf_nf_data, ONLY: nfreal
747 
748  Integer, Intent(IN) :: ncid, varid
749  Integer, Intent(IN) :: ndex(*)
750  Real(NFREAL), Intent(OUT) :: rval
751  Integer :: status
752 
753  End Function nf_get_var1_real
754 End Interface
755 !--------------------------------- nf_get_var1_double ----------------------
756 Interface
757  Function nf_get_var1_double(ncid, varid, ndex, rval) RESULT(status)
759  USE netcdf_nf_data, ONLY: rk8
760 
761  Integer, Intent(IN) :: ncid, varid
762  Integer, Intent(IN) :: ndex(*)
763  Real(RK8), Intent(OUT) :: rval
764  Integer :: status
765 
766  End Function nf_get_var1_double
767 End Interface
768 
769 ! var put and get functions
770 
771 !--------------------------------- nf_put_var_text -------------------------
773  Function nf_put_var_text(ncid, varid, text) RESULT(status)
775  Integer, Intent(IN) :: ncid, varid
776  Character(LEN=*), Intent(IN) :: text
777  Integer :: status
778 
779  End Function nf_put_var_text
780 ! Array of characters
781  Function nf_put_var_text_a(ncid, varid, text) RESULT(status)
783  Integer, Intent(IN) :: ncid, varid
784  Character(LEN=1), Intent(IN) :: text(*)
785  Integer :: status
786 
787  End Function nf_put_var_text_a
788 End Interface
789 !--------------------------------- nf_put_var_int1 -------------------------
790 Interface
791  Function nf_put_var_int1(ncid, varid, i1vals) RESULT(status)
793  USE netcdf_nf_data, ONLY: nfint1
794 
795  Integer, Intent(IN) :: ncid, varid
796  Integer(NFINT1), Intent(IN) :: i1vals(*)
797  Integer :: status
798 
799  End Function nf_put_var_int1
800 End Interface
801 !--------------------------------- nf_put_var_int2 -------------------------
802 Interface
803  Function nf_put_var_int2(ncid, varid, i2vals) RESULT(status)
805  USE netcdf_nf_data, ONLY: nfint2
806 
807  Integer, Intent(IN) :: ncid, varid
808  Integer(NFINT2), Intent(IN) :: i2vals(*)
809  Integer :: status
810 
811  End Function nf_put_var_int2
812 End Interface
813 !--------------------------------- nf_put_var_int --------------------------
814 Interface
815  Function nf_put_var_int(ncid, varid, ivals) RESULT(status)
817  USE netcdf_nf_data, ONLY: nfint
818 
819  Integer, Intent(IN) :: ncid, varid
820  Integer(NFINT), Intent(IN) :: ivals(*)
821  Integer :: status
822 
823  End Function nf_put_var_int
824 End Interface
825 !--------------------------------- nf_put_var_real -------------------------
826 Interface
827  Function nf_put_var_real(ncid, varid, rvals) RESULT(status)
829  USE netcdf_nf_data, ONLY: nfreal
830 
831  Integer, Intent(IN) :: ncid, varid
832  Real(NFREAL), Intent(IN) :: rvals(*)
833  Integer :: status
834 
835  End Function nf_put_var_real
836 End Interface
837 !--------------------------------- nf_put_var_double -----------------------
838 Interface
839  Function nf_put_var_double(ncid, varid, dvals) RESULT(status)
841  USE netcdf_nf_data, ONLY: rk8
842 
843  Integer, Intent(IN) :: ncid, varid
844  Real(RK8), Intent(IN) :: dvals(*)
845  Integer :: status
846 
847  End Function nf_put_var_double
848 End Interface
849 !--------------------------------- nf_get_var_text ------------------------
851  Function nf_get_var_text(ncid, varid, text) RESULT(status)
853  Integer, Intent(IN) :: ncid, varid
854  Character(LEN=*), Intent(OUT) :: text
855  Integer :: status
856 
857  End Function nf_get_var_text
858 ! array of characters
859  Function nf_get_var_text_a(ncid, varid, text) RESULT(status)
861  Integer, Intent(IN) :: ncid, varid
862  Character(LEN=1), Intent(OUT) :: text(*)
863  Integer :: status
864 
865  End Function nf_get_var_text_a
866 End Interface
867 !--------------------------------- nf_get_var_int1 -------------------------
868 Interface
869  Function nf_get_var_int1(ncid, varid, i1vals) RESULT(status)
871  USE netcdf_nf_data, ONLY: nfint1
872 
873  Integer, Intent(IN) :: ncid, varid
874  Integer(NFINT1), Intent(OUT) :: i1vals(*)
875  Integer :: status
876 
877  End Function nf_get_var_int1
878 End Interface
879 !--------------------------------- nf_get_var_int2 -------------------------
880 Interface
881  Function nf_get_var_int2(ncid, varid, i2vals) RESULT(status)
883  USE netcdf_nf_data, ONLY: nfint2
884 
885  Integer, Intent(IN) :: ncid, varid
886  Integer(NFINT2), Intent(OUT) :: i2vals(*)
887  Integer :: status
888 
889  End Function nf_get_var_int2
890 End Interface
891 !--------------------------------- nf_get_var_int --------------------------
892 Interface
893  Function nf_get_var_int(ncid, varid, ivals) RESULT(status)
895  USE netcdf_nf_data, ONLY: nfint
896 
897  Integer, Intent(IN) :: ncid, varid
898  Integer(NFINT), Intent(OUT) :: ivals(*)
899  Integer :: status
900 
901  End Function nf_get_var_int
902 End Interface
903 !--------------------------------- nf_get_var_real -------------------------
904 Interface
905  Function nf_get_var_real(ncid, varid, rvals) RESULT(status)
907  USE netcdf_nf_data, ONLY: nfreal
908 
909  Integer, Intent(IN) :: ncid, varid
910  Real(NFREAL), Intent(OUT) :: rvals(*)
911  Integer :: status
912 
913  End Function nf_get_var_real
914 End Interface
915 !--------------------------------- nf_get_var_double -----------------------
916 Interface
917  Function nf_get_var_double(ncid, varid, dvals) RESULT(status)
919  USE netcdf_nf_data, ONLY: rk8
920 
921  Integer, Intent(IN) :: ncid, varid
922  Real(RK8), Intent(OUT) :: dvals(*)
923  Integer :: status
924 
925  End Function nf_get_var_double
926 End Interface
927 
928 ! vars put and get functions
929 
930 !--------------------------------- nf_put_vars_text ------------------------
932  Function nf_put_vars_text(ncid, varid, start, counts, strides, text) &
933  result(status)
934 
935  Integer, Intent(IN) :: ncid, varid
936  Integer, Intent(IN) :: start(*), counts(*), strides(*)
937  Character(LEN=*), Intent(IN) :: text
938  Integer :: status
939 
940  End Function nf_put_vars_text
941 ! array of characters
942  Function nf_put_vars_text_a(ncid, varid, start, counts, strides, text) &
943  result(status)
944 
945  Integer, Intent(IN) :: ncid, varid
946  Integer, Intent(IN) :: start(*), counts(*), strides(*)
947  Character(LEN=1), Intent(IN) :: text(*)
948  Integer :: status
949 
950  End Function nf_put_vars_text_a
951 End Interface
952 !--------------------------------- nf_put_vars_int1 ------------------------
953 Interface
954  Function nf_put_vars_int1(ncid, varid, start, counts, strides, i1vals) &
955  result(status)
956 
957  USE netcdf_nf_data, ONLY: nfint1
959  Integer, Intent(IN) :: ncid, varid
960  Integer, Intent(IN) :: start(*), counts(*), strides(*)
961  Integer(NFINT1), Intent(IN) :: i1vals(*)
962  Integer :: status
963 
964  End Function nf_put_vars_int1
965 End Interface
966 !--------------------------------- nf_put_vars_int2 ------------------------
967 Interface
968  Function nf_put_vars_int2(ncid, varid, start, counts, strides, i2vals) &
969  result(status)
970 
971  USE netcdf_nf_data, ONLY: nfint2
973  Integer, Intent(IN) :: ncid, varid
974  Integer, Intent(IN) :: start(*), counts(*), strides(*)
975  Integer(NFINT2), Intent(IN) :: i2vals(*)
976  Integer :: status
977 
978  End Function nf_put_vars_int2
979 End Interface
980 !--------------------------------- nf_put_vars_int -------------------------
981 Interface
982  Function nf_put_vars_int(ncid, varid, start, counts, strides, ivals) &
983  result(status)
984 
985  USE netcdf_nf_data, ONLY: nfint
987  Integer, Intent(IN) :: ncid, varid
988  Integer, Intent(IN) :: start(*), counts(*), strides(*)
989  Integer(NFINT), Intent(IN) :: ivals(*)
990  Integer :: status
991 
992  End Function nf_put_vars_int
993 End Interface
994 !--------------------------------- nf_put_vars_real ------------------------
995 Interface
996  Function nf_put_vars_real(ncid, varid, start, counts, strides, rvals) &
997  result(status)
998 
999  USE netcdf_nf_data, ONLY: nfreal
1001  Integer, Intent(IN) :: ncid, varid
1002  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1003  Real(NFREAL), Intent(IN) :: rvals(*)
1004  Integer :: status
1005 
1006  End Function nf_put_vars_real
1007 End Interface
1008 !--------------------------------- nf_put_vars_double ----------------------
1009 Interface
1010  Function nf_put_vars_double(ncid, varid, start, counts, strides, dvals) &
1011  result(status)
1012 
1013  USE netcdf_nf_data, ONLY: rk8
1015  Integer, Intent(IN) :: ncid, varid
1016  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1017  Real(RK8), Intent(IN) :: dvals(*)
1018  Integer :: status
1019 
1020  End Function nf_put_vars_double
1021 End Interface
1022 !--------------------------------- nf_get_vars_text ------------------------
1024  Function nf_get_vars_text(ncid, varid, start, counts, strides, text) &
1025  result(status)
1026 
1027  Integer, Intent(IN) :: ncid, varid
1028  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1029  Character(LEN=*), Intent(OUT) :: text
1030  Integer :: status
1031 
1032  End Function nf_get_vars_text
1033 ! array of characters
1034  Function nf_get_vars_text_a(ncid, varid, start, counts, strides, text) &
1035  result(status)
1036 
1037  Integer, Intent(IN) :: ncid, varid
1038  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1039  Character(LEN=1), Intent(OUT) :: text(*)
1040  Integer :: status
1041 
1042  End Function nf_get_vars_text_a
1043 End Interface
1044 !--------------------------------- nf_get_vars_int1 ------------------------
1045 Interface
1046  Function nf_get_vars_int1(ncid, varid, start, counts, strides, i1vals) &
1047  result(status)
1048 
1049  USE netcdf_nf_data, ONLY: nfint1
1051  Integer, Intent(IN) :: ncid, varid
1052  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1053  Integer(NFINT1), Intent(OUT) :: i1vals(*)
1054  Integer :: status
1055 
1056  End Function nf_get_vars_int1
1057 End Interface
1058 !--------------------------------- nf_get_vars_int2 ------------------------
1059 Interface
1060  Function nf_get_vars_int2(ncid, varid, start, counts, strides, i2vals) &
1061  result(status)
1062 
1063  USE netcdf_nf_data, ONLY: nfint2
1065  Integer, Intent(IN) :: ncid, varid
1066  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1067  Integer(NFINT2), Intent(OUT) :: i2vals(*)
1068  Integer :: status
1069 
1070  End Function nf_get_vars_int2
1071 End Interface
1072 !--------------------------------- nf_get_vars_int -------------------------
1073 Interface
1074  Function nf_get_vars_int(ncid, varid, start, counts, strides, ivals) &
1075  result(status)
1076 
1077  USE netcdf_nf_data, ONLY: nfint
1079  Integer, Intent(IN) :: ncid, varid
1080  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1081  Integer(NFINT), Intent(OUT) :: ivals(*)
1082  Integer :: status
1083 
1084  End Function nf_get_vars_int
1085 End Interface
1086 !--------------------------------- nf_get_vars_real ------------------------
1087 Interface
1088  Function nf_get_vars_real(ncid, varid, start, counts, strides, rvals) &
1089  result(status)
1090 
1091  USE netcdf_nf_data, ONLY: nfreal
1093  Integer, Intent(IN) :: ncid, varid
1094  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1095  Real(NFREAL), Intent(OUT) :: rvals(*)
1096  Integer :: status
1097 
1098  End Function nf_get_vars_real
1099 End Interface
1100 !--------------------------------- nf_get_vars_double ----------------------
1101 Interface
1102  Function nf_get_vars_double(ncid, varid, start, counts, strides, dvals) &
1103  result(status)
1104 
1105  USE netcdf_nf_data, ONLY: rk8
1107  Integer, Intent(IN) :: ncid, varid
1108  Integer, Intent(IN) :: start(*), counts(*), strides(*)
1109  Real(RK8), Intent(OUT) :: dvals(*)
1110  Integer :: status
1111 
1112  End Function nf_get_vars_double
1113 End Interface
1114 
1115 ! varm put and get functions
1116 
1117 !--------------------------------- nf_put_varm_text ------------------------
1119  Function nf_put_varm_text(ncid, varid, start, counts, strides, maps, &
1120  text) RESULT(status)
1122 
1123 
1124  Integer, Intent(IN) :: ncid, varid
1125  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1126  Character(LEN=*), Intent(IN) :: text
1127  Integer :: status
1128 
1129  End Function nf_put_varm_text
1130 ! array of characters
1131  Function nf_put_varm_text_a(ncid, varid, start, counts, strides, maps, &
1132  text) RESULT(status)
1134  Integer, Intent(IN) :: ncid, varid
1135  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1136  Character(LEN=1), Intent(IN) :: text(*)
1137  Integer :: status
1138 
1139  End Function nf_put_varm_text_a
1140 End Interface
1141 !--------------------------------- nf_put_varm_int1 ------------------------
1142 Interface
1143  Function nf_put_varm_int1(ncid, varid, start, counts, strides, maps, &
1144  i1vals) RESULT(status)
1146  USE netcdf_nf_data, ONLY: nfint1
1147 
1148  Integer, Intent(IN) :: ncid, varid
1149  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1150  Integer(NFINT1), Intent(IN) :: i1vals(*)
1151  Integer :: status
1152 
1153  End Function nf_put_varm_int1
1154 End Interface
1155 !--------------------------------- nf_put_varm_int2 ------------------------
1156 Interface
1157  Function nf_put_varm_int2(ncid, varid, start, counts, strides, maps, &
1158  i2vals) RESULT(status)
1160  USE netcdf_nf_data, ONLY: nfint2
1161 
1162  Integer, Intent(IN) :: ncid, varid
1163  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1164  Integer(NFINT2), Intent(IN) :: i2vals(*)
1165  Integer :: status
1166 
1167  End Function nf_put_varm_int2
1168 End Interface
1169 !--------------------------------- nf_put_varm_int -------------------------
1170 Interface
1171  Function nf_put_varm_int(ncid, varid, start, counts, strides, maps, &
1172  ivals) RESULT(status)
1174  USE netcdf_nf_data, ONLY: nfint
1175 
1176  Integer, Intent(IN) :: ncid, varid
1177  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1178  Integer(NFINT), Intent(IN) :: ivals(*)
1179  Integer :: status
1180 
1181  End Function nf_put_varm_int
1182 End Interface
1183 
1184 !--------------------------------- nf_put_varm_real ------------------------
1185 Interface
1186  Function nf_put_varm_real(ncid, varid, start, counts, strides, maps, &
1187  rvals) RESULT(status)
1189  USE netcdf_nf_data, ONLY: nfreal
1190 
1191  Integer, Intent(IN) :: ncid, varid
1192  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1193  Real(NFREAL), Intent(IN) :: rvals(*)
1194  Integer :: status
1195 
1196  End Function nf_put_varm_real
1197 End Interface
1198 !--------------------------------- nf_put_varm_double ----------------------
1199 Interface
1200  Function nf_put_varm_double(ncid, varid, start, counts, strides, maps, &
1201  dvals) RESULT(status)
1203  USE netcdf_nf_data, ONLY: rk8
1204 
1205  Integer, Intent(IN) :: ncid, varid
1206  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1207  Real(RK8), Intent(IN) :: dvals(*)
1208  Integer :: status
1209 
1210  End Function nf_put_varm_double
1211 End Interface
1212 !--------------------------------- nf_get_varm_text ------------------------
1214  Function nf_get_varm_text(ncid, varid, start, counts, strides, maps, &
1215  text) RESULT(status)
1217  Integer, Intent(IN) :: ncid, varid
1218  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1219  Character(LEN=*), Intent(OUT) :: text
1220  Integer :: status
1221 
1222  End Function nf_get_varm_text
1223 ! array of characters
1224  Function nf_get_varm_text_a(ncid, varid, start, counts, strides, maps, &
1225  text) RESULT(status)
1227  Integer, Intent(IN) :: ncid, varid
1228  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1229  Character(LEN=1), Intent(OUT) :: text(*)
1230  Integer :: status
1231 
1232  End Function nf_get_varm_text_a
1233 End Interface
1234 !--------------------------------- nf_get_varm_int1 ------------------------
1235 Interface
1236  Function nf_get_varm_int1(ncid, varid, start, counts, strides, maps, &
1237  i1vals) RESULT(status)
1239  USE netcdf_nf_data, ONLY: nfint1
1240 
1241  Integer, Intent(IN) :: ncid, varid
1242  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1243  Integer(NFINT1), Intent(OUT) :: i1vals(*)
1244  Integer :: status
1245 
1246  End Function nf_get_varm_int1
1247 End Interface
1248 !--------------------------------- nf_get_varm_int2 ------------------------
1249 Interface
1250  Function nf_get_varm_int2(ncid, varid, start, counts, strides, maps, &
1251  i2vals) RESULT(status)
1253  USE netcdf_nf_data, ONLY: nfint2
1254 
1255  Integer, Intent(IN) :: ncid, varid
1256  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1257  Integer(NFINT2), Intent(OUT) :: i2vals(*)
1258  Integer :: status
1259 
1260  End Function nf_get_varm_int2
1261 End Interface
1262 !--------------------------------- nf_get_varm_int -------------------------
1263 Interface
1264  Function nf_get_varm_int(ncid, varid, start, counts, strides, maps, &
1265  ivals) RESULT(status)
1267  USE netcdf_nf_data, ONLY: nfint
1268 
1269  Integer, Intent(IN) :: ncid, varid
1270  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1271  Integer(NFINT), Intent(OUT) :: ivals(*)
1272  Integer :: status
1273 
1274  End Function nf_get_varm_int
1275 End Interface
1276 !--------------------------------- nf_get_varm_real ------------------------
1277 Interface
1278  Function nf_get_varm_real(ncid, varid, start, counts, strides, maps, &
1279  rvals) RESULT(status)
1281  USE netcdf_nf_data, ONLY: nfreal
1282 
1283  Integer, Intent(IN) :: ncid, varid
1284  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1285  Real(NFREAL), Intent(OUT) :: rvals(*)
1286  Integer :: status
1287 
1288  End Function nf_get_varm_real
1289 End Interface
1290 !--------------------------------- nf_get_varm_double ----------------------
1291 Interface
1292  Function nf_get_varm_double(ncid, varid, start, counts, strides, maps, &
1293  dvals) RESULT(status)
1295  USE netcdf_nf_data, ONLY: rk8
1296 
1297  Integer, Intent(IN) :: ncid, varid
1298  Integer, Intent(IN) :: start(*), counts(*), strides(*), maps(*)
1299  Real(RK8), Intent(OUT) :: dvals(*)
1300  Integer :: status
1301 
1302  End Function nf_get_varm_double
1303 End Interface
1304 
1305 ! vara put and get routines
1306 
1307 !--------------------------------- nf_put_vara_text ------------------------
1309  Function nf_put_vara_text(ncid, varid, start, counts, text) RESULT(status)
1311  Integer, Intent(IN) :: ncid, varid
1312  Integer, Intent(IN) :: start(*), counts(*)
1313  Character(LEN=*), Intent(IN) :: text
1314  Integer :: status
1315 
1316  End Function nf_put_vara_text
1317 ! array of characters
1318  Function nf_put_vara_text_a(ncid, varid, start, counts, text) RESULT(status)
1320  Integer, Intent(IN) :: ncid, varid
1321  Integer, Intent(IN) :: start(*), counts(*)
1322  Character(LEN=1), Intent(IN) :: text(*)
1323  Integer :: status
1324 
1325  End Function nf_put_vara_text_a
1326 End Interface
1327 !--------------------------------- nf_put_vara_int1 ------------------------
1328 Interface
1329  Function nf_put_vara_int1(ncid, varid, start, counts, i1vals) RESULT(status)
1331  USE netcdf_nf_data, ONLY: nfint1
1332 
1333  Integer, Intent(IN) :: ncid, varid
1334  Integer, Intent(IN) :: start(*), counts(*)
1335  Integer(NFINT1), Intent(IN) :: i1vals(*)
1336  Integer :: status
1337 
1338  End Function nf_put_vara_int1
1339 End Interface
1340 !--------------------------------- nf_put_vara_int2 ------------------------
1341 Interface
1342  Function nf_put_vara_int2(ncid, varid, start, counts, i2vals) RESULT(status)
1344  USE netcdf_nf_data, ONLY: nfint2
1345 
1346  Integer, Intent(IN) :: ncid, varid
1347  Integer, Intent(IN) :: start(*), counts(*)
1348  Integer(NFINT2), Intent(IN) :: i2vals(*)
1349  Integer :: status
1350 
1351  End Function nf_put_vara_int2
1352 End Interface
1353 !--------------------------------- nf_put_vara_int -------------------------
1354 Interface
1355  Function nf_put_vara_int(ncid, varid, start, counts, ivals) RESULT(status)
1357  USE netcdf_nf_data, ONLY: nfint
1358 
1359  Integer, Intent(IN) :: ncid, varid
1360  Integer, Intent(IN) :: start(*), counts(*)
1361  Integer(NFINT), Intent(IN) :: ivals(*)
1362  Integer :: status
1363 
1364  End Function nf_put_vara_int
1365 End Interface
1366 !--------------------------------- nf_put_vara_real ------------------------
1367 Interface
1368  Function nf_put_vara_real(ncid, varid, start, counts, rvals) RESULT(status)
1370  USE netcdf_nf_data, ONLY: nfreal
1371 
1372  Integer, Intent(IN) :: ncid, varid
1373  Integer, Intent(IN) :: start(*), counts(*)
1374  Real(NFREAL), Intent(IN) :: rvals(*)
1375  Integer :: status
1376 
1377  End Function nf_put_vara_real
1378 End Interface
1379 !--------------------------------- nf_put_vara_double ----------------------
1380 Interface
1381  Function nf_put_vara_double(ncid, varid, start, counts, dvals) &
1382  result(status)
1383 
1384  USE netcdf_nf_data, ONLY: rk8
1386  Integer, Intent(IN) :: ncid, varid
1387  Integer, Intent(IN) :: start(*), counts(*)
1388  Real(RK8), Intent(IN) :: dvals(*)
1389  Integer :: status
1390 
1391  End Function nf_put_vara_double
1392 End Interface
1393 !--------------------------------- nf_get_vara_text ------------------------
1395  Function nf_get_vara_text(ncid, varid, start, counts, text) RESULT(status)
1397  Integer, Intent(IN) :: ncid, varid
1398  Integer, Intent(IN) :: start(*), counts(*)
1399  Character(LEN=*), Intent(OUT) :: text
1400  Integer :: status
1401 
1402  End Function nf_get_vara_text
1403 ! array of characters
1404  Function nf_get_vara_text_a(ncid, varid, start, counts, text) RESULT(status)
1406  Integer, Intent(IN) :: ncid, varid
1407  Integer, Intent(IN) :: start(*), counts(*)
1408  Character(LEN=1), Intent(OUT) :: text(*)
1409  Integer :: status
1410 
1411  End Function nf_get_vara_text_a
1412 End Interface
1413 !--------------------------------- nf_get_vara_int1 ------------------------
1414 Interface
1415  Function nf_get_vara_int1(ncid, varid, start, counts, i1vals) RESULT(status)
1417  USE netcdf_nf_data, ONLY: nfint1
1418 
1419  Integer, Intent(IN) :: ncid, varid
1420  Integer, Intent(IN) :: start(*), counts(*)
1421  Integer(NFINT1), Intent(OUT) :: i1vals(*)
1422  Integer :: status
1423 
1424  End Function nf_get_vara_int1
1425 End Interface
1426 !--------------------------------- nf_get_vara_int2 ------------------------
1427 Interface
1428  Function nf_get_vara_int2(ncid, varid, start, counts, i2vals) RESULT(status)
1430  USE netcdf_nf_data, ONLY: nfint2
1431 
1432  Integer, Intent(IN) :: ncid, varid
1433  Integer, Intent(IN) :: start(*), counts(*)
1434  Integer(NFINT2), Intent(OUT) :: i2vals(*)
1435  Integer :: status
1436 
1437  End Function nf_get_vara_int2
1438 End Interface
1439 !--------------------------------- nf_get_vara_int -------------------------
1440 Interface
1441  Function nf_get_vara_int(ncid, varid, start, counts, ivals) RESULT(status)
1443  USE netcdf_nf_data, ONLY: nfint
1444 
1445  Integer, Intent(IN) :: ncid, varid
1446  Integer, Intent(IN) :: start(*), counts(*)
1447  Integer(NFINT), Intent(OUT) :: ivals(*)
1448  Integer :: status
1449 
1450  End Function nf_get_vara_int
1451 End Interface
1452 !--------------------------------- nf_get_vara_real ------------------------
1453 Interface
1454  Function nf_get_vara_real(ncid, varid, start, counts, rvals) RESULT(status)
1456  USE netcdf_nf_data, ONLY: nfreal
1457 
1458  Integer, Intent(IN) :: ncid, varid
1459  Integer, Intent(IN) :: start(*), counts(*)
1460  Real(NFREAL), Intent(OUT) :: rvals(*)
1461  Integer :: status
1462 
1463  End Function nf_get_vara_real
1464 End Interface
1465 !--------------------------------- nf_get_vara_double ----------------------
1466 Interface
1467  Function nf_get_vara_double(ncid, varid, start, counts, dvals) &
1468  result(status)
1469 
1470  USE netcdf_nf_data, ONLY: rk8
1472  Integer, Intent(IN) :: ncid, varid
1473  Integer, Intent(IN) :: start(*), counts(*)
1474  Real(RK8), Intent(OUT) :: dvals(*)
1475  Integer :: status
1476 
1477  End Function nf_get_vara_double
1478 End Interface
1479 !--------------------------------- nf_put_att_text -------------------------
1481  Function nf_put_att_text(ncid, varid, name, nlen, text) RESULT(status)
1483  Integer, Intent(IN) :: ncid, varid, nlen
1484  Character(LEN=*), Intent(IN) :: name, text
1485  Integer :: status
1486 
1487  End Function nf_put_att_text
1488 ! array of characters
1489  Function nf_put_att_text_a(ncid, varid, name, nlen, text) RESULT(status)
1491  Integer, Intent(IN) :: ncid, varid, nlen
1492  Character(LEN=*), Intent(IN) :: name
1493  Character(LEN=1), Intent(IN) :: text(*)
1494  Integer :: status
1495 
1496  End Function nf_put_att_text_a
1497 End Interface
1498 !--------------------------------- nf_put_att_int1 -------------------------
1499 Interface
1500  Function nf_put_att_int1(ncid, varid, name, xtype, nlen, i1vals) &
1501  result(status)
1502 
1503  USE netcdf_nf_data, ONLY: nfint1
1505  Integer, Intent(IN) :: ncid, varid, nlen, xtype
1506  Character(LEN=*), Intent(IN) :: name
1507  Integer(NFINT1), Intent(IN) :: i1vals(*)
1508  Integer :: status
1509 
1510  End Function nf_put_att_int1
1511 End Interface
1512 !--------------------------------- nf_put_att_int2 -------------------------
1513 Interface
1514  Function nf_put_att_int2(ncid, varid, name, xtype, nlen, i2vals) &
1515  result(status)
1516 
1517  USE netcdf_nf_data, ONLY: nfint2
1519  Integer, Intent(IN) :: ncid, varid, nlen, xtype
1520  Character(LEN=*), Intent(IN) :: name
1521  Integer(NFINT2), Intent(IN) :: i2vals(*)
1522  Integer :: status
1523 
1524  End Function nf_put_att_int2
1525 End Interface
1526 !--------------------------------- nf_put_att_int --------------------------
1527 Interface
1528  Function nf_put_att_int(ncid, varid, name, xtype, nlen, ivals) &
1529  result(status)
1530 
1531  USE netcdf_nf_data, ONLY: nfint
1533  Integer, Intent(IN) :: ncid, varid, nlen, xtype
1534  Character(LEN=*), Intent(IN) :: name
1535  Integer(NFINT), Intent(IN) :: ivals(*)
1536  Integer :: status
1537 
1538  End Function nf_put_att_int
1539 End Interface
1540 !--------------------------------- nf_put_att_real -------------------------
1541 Interface
1542  Function nf_put_att_real(ncid, varid, name, xtype, nlen, rvals) &
1543  result(status)
1544 
1545  USE netcdf_nf_data, ONLY: nfreal
1547  Integer, Intent(IN) :: ncid, varid, nlen, xtype
1548  Character(LEN=*), Intent(IN) :: name
1549  Real(NFREAL), Intent(IN) :: rvals(*)
1550  Integer :: status
1551 
1552  End Function nf_put_att_real
1553 End Interface
1554 !--------------------------------- nf_put_att_double -----------------------
1555 Interface
1556  Function nf_put_att_double(ncid, varid, name, xtype, nlen, dvals) &
1557  result(status)
1558 
1559  USE netcdf_nf_data, ONLY: rk8
1561  Integer, Intent(IN) :: ncid, varid, nlen, xtype
1562  Character(LEN=*), Intent(IN) :: name
1563  Real(RK8), Intent(IN) :: dvals(*)
1564  Integer :: status
1565 
1566  End Function nf_put_att_double
1567 End Interface
1568 !--------------------------------- nf_get_att_text -------------------------
1570  Function nf_get_att_text(ncid, varid, name, text) RESULT(status)
1572  Integer, Intent(IN) :: ncid, varid
1573  Character(LEN=*), Intent(IN) :: name
1574  Character(LEN=*), Intent(OUT) :: text
1575  Integer :: status
1576 
1577  End Function nf_get_att_text
1578 ! Array of characters
1579  Function nf_get_att_text_a(ncid, varid, name, text) RESULT(status)
1581  Integer, Intent(IN) :: ncid, varid
1582  Character(LEN=*), Intent(IN) :: name
1583  Character(LEN=1), Intent(OUT) :: text(*)
1584  Integer :: status
1585 
1586  End Function nf_get_att_text_a
1587 End Interface
1588 !--------------------------------- nf_get_att_int1 -------------------------
1589 Interface
1590  Function nf_get_att_int1(ncid, varid, name, i1vals) RESULT(status)
1592  USE netcdf_nf_data, ONLY: nfint1
1593 
1594  Integer, Intent(IN) :: ncid, varid
1595  Character(LEN=*), Intent(IN) :: name
1596  Integer(NFINT1), Intent(OUT) :: i1vals(*)
1597  Integer :: status
1598 
1599  End Function nf_get_att_int1
1600 End Interface
1601 !--------------------------------- nf_get_att_int2 -------------------------
1602 Interface
1603  Function nf_get_att_int2(ncid, varid, name, i2vals) RESULT(status)
1605  USE netcdf_nf_data, ONLY: nfint2
1606 
1607  Integer, Intent(IN) :: ncid, varid
1608  Character(LEN=*), Intent(IN) :: name
1609  Integer(NFINT2), Intent(OUT) :: i2vals(*)
1610  Integer :: status
1611 
1612  End Function nf_get_att_int2
1613 End Interface
1614 !--------------------------------- nf_get_att_int --------------------------
1615 Interface
1616  Function nf_get_att_int(ncid, varid, name, ivals) RESULT(status)
1618  USE netcdf_nf_data, ONLY: nfint
1619 
1620  Integer, Intent(IN) :: ncid, varid
1621  Character(LEN=*), Intent(IN) :: name
1622  Integer(NFINT), Intent(OUT) :: ivals(*)
1623  Integer :: status
1624 
1625  End Function nf_get_att_int
1626 End Interface
1627 !--------------------------------- nf_get_att_real -------------------------
1628 Interface
1629  Function nf_get_att_real(ncid, varid, name, rvals) RESULT(status)
1631  USE netcdf_nf_data, ONLY: nfreal
1632 
1633  Integer, Intent(IN) :: ncid, varid
1634  Character(LEN=*), Intent(IN) :: name
1635  Real(NFREAL), Intent(OUT) :: rvals(*)
1636  Integer :: status
1637 
1638  End Function nf_get_att_real
1639 End Interface
1640 !--------------------------------- nf_get_att_double -----------------------
1641 Interface
1642  Function nf_get_att_double(ncid, varid, name, dvals) RESULT(status)
1644  USE netcdf_nf_data, ONLY: rk8
1645 
1646 
1647  Integer, Intent(IN) :: ncid, varid
1648  Character(LEN=*), Intent(IN) :: name
1649  Real(RK8), Intent(OUT) :: dvals(*)
1650  Integer :: status
1651 
1652  End Function nf_get_att_double
1653 End Interface
1654 
1655 ! Externals for functions that use C_CHAR arrays to pass data to void
1656 ! pointers
1657 
1658  Integer, External :: nf_put_var1
1659  Integer, External :: nf_get_var1
1660  Integer, External :: nf_put_vars
1661  Integer, External :: nf_get_vars
1662  Integer, External :: nf_put_vara
1663  Integer, External :: nf_get_vara
1664 ! Integer, External :: nf_open_mem
1665 
1666 #ifndef NO_NETCDF_2
1667 ! External definitons for Netcdf2 functions
1668  Integer, External :: nccre
1669  Integer, External :: ncopn
1670  Integer, External :: ncddef
1671  Integer, External :: ncdid
1672  Integer, External :: ncvdef
1673  Integer, External :: ncvid
1674  Integer, External :: nctlen
1675  Integer, External :: ncsfil
1676 #endif
1677 
1678 !--------------------------- End Module netcdf_nf_interfaces - ----------------
1679 End Module netcdf_nf_interfaces
integer, parameter nfint2
integer, parameter nfint
integer function nf_get_varm_text_a(ncid, varid, start, counts, strides, maps, text)
Definition: nf_varmio.F90:624
integer function nf_put_varm_text_a(ncid, varid, start, counts, strides, maps, text)
Definition: nf_varmio.F90:108
integer function nf_get_vara_text_a(ncid, varid, start, counts, text)
Definition: nf_varaio.F90:552
integer function nf_get_var_text_a(ncid, varid, text)
Definition: nf_vario.F90:259
integer function nf_put_vara_text_a(ncid, varid, start, counts, text)
Definition: nf_varaio.F90:90
integer function nf_get_att_text_a(ncid, varid, name, text)
Definition: nf_attio.F90:344
function nf_put_vars_text_a(ncid, varid, start, counts, strides, text)
Definition: nf_varsio.F90:98
function nf_get_vars_text_a(ncid, varid, start, counts, strides, text)
Definition: nf_varsio.F90:627
integer function nf_put_var_text_a(ncid, varid, text)
Definition: nf_vario.F90:58
integer, parameter rk8
integer, parameter nfint1
integer, parameter nfreal
integer function nf_put_att_text_a(ncid, varid, name, nlen, text)
Definition: nf_attio.F90:66
integer function nf_open_mem(path, mode, size, memory, ncid)
Definition: nf_control.F90:283

Return to the Main Unidata NetCDF page.
Generated on Thu Nov 9 2017 06:56:52 for NetCDF-Fortran. NetCDF is a Unidata library.