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

Return to the Main Unidata NetCDF page.
Generated on Fri Jan 22 2016 10:52:16 for NetCDF-Fortran. NetCDF is a Unidata library.