NetCDF-Fortran  4.4.4
fort-vario.c
Go to the documentation of this file.
1 /*
2 This file is part of the netCDF Fortran 77 API.
3 
4 This file handles the netCDF var functions.
5 
6 Copyright 2006, University Corporation for Atmospheric Research. See
7 the COPYRIGHT file for copying and redistribution conditions.
8 
9 $Id: fort-vario.c,v 1.15 2008/03/21 15:49:16 dmh Exp $
10 */
11 
12 #include <config.h>
13 #include "netcdf.h"
14 #include "nfconfig.inc"
15 #include "ncfortran.h"
16 #include "fort-lib.h"
17 
18 
19 /*
20  * Write an entire variable from a FORTRAN CHARACTER*(*) variable.
21  */
22 FCALLSCFUN3(NF_INT, nc_put_var_text, NF_PUT_VAR_TEXT, nf_put_var_text,
23  NCID, VARID, CBUF)
24 
25 
26 /*
27  * Read an entire variable into a FORTRAN CHARACTER*(*) variable.
28  */
29 FCALLSCFUN3(NF_INT, nc_get_var_text, NF_GET_VAR_TEXT, nf_get_var_text,
30  NCID, VARID, CBUF)
31 
32 
33 /*
34  * Write an entire variable from a FORTRAN INTEGER*1 variable.
35  */
36 #if NF_INT1_IS_C_SIGNED_CHAR
37 FCALLSCFUN3(NF_INT, nc_put_var_schar, NF_PUT_VAR_INT1, nf_put_var_int1,
38  NCID, VARID, INT1VAR)
39 #elif NF_INT1_IS_C_SHORT
40 FCALLSCFUN3(NF_INT, nc_put_var_short, NF_PUT_VAR_INT1, nf_put_var_int1,
41  NCID, VARID, INT1VAR)
42 #elif NF_INT1_IS_C_INT
43 FCALLSCFUN3(NF_INT, nc_put_var_int, NF_PUT_VAR_INT1, nf_put_var_int1,
44  NCID, VARID, INT1VAR)
45 #elif NF_INT1_IS_C_LONG
46 FCALLSCFUN3(NF_INT, nc_put_var_long, NF_PUT_VAR_INT1, nf_put_var_int1,
47  NCID, VARID, INT1VAR)
48 #endif
49 
50 
51 /*
52  * Read an entire variable into a FORTRAN INTEGER*1 variable.
53  */
54 #if NF_INT1_IS_C_SIGNED_CHAR
55 FCALLSCFUN3(NF_INT, nc_get_var_schar, NF_GET_VAR_INT1, nf_get_var_int1,
56  NCID, VARID, PINT1VAR)
57 #elif NF_INT1_IS_C_SHORT
58 FCALLSCFUN3(NF_INT, nc_get_var_short, NF_GET_VAR_INT1, nf_get_var_int1,
59  NCID, VARID, PINT1VAR)
60 #elif NF_INT1_IS_C_INT
61 FCALLSCFUN3(NF_INT, nc_get_var_int, NF_GET_VAR_INT1, nf_get_var_int1,
62  NCID, VARID, PINT1VAR)
63 #elif NF_INT1_IS_C_LONG
64 FCALLSCFUN3(NF_INT, nc_get_var_long, NF_GET_VAR_INT1, nf_get_var_int1,
65  NCID, VARID, PINT1VAR)
66 #endif
67 
68 
69 /*
70  * Write an entire variable from a FORTRAN INTEGER*2 variable.
71  */
72 #if NF_INT2_IS_C_SHORT
73 FCALLSCFUN3(NF_INT, nc_put_var_short, NF_PUT_VAR_INT2, nf_put_var_int2,
74  NCID, VARID, INT2VAR)
75 #elif NF_INT2_IS_C_INT
76 FCALLSCFUN3(NF_INT, nc_put_var_int, NF_PUT_VAR_INT2, nf_put_var_int2,
77  NCID, VARID, INT2VAR)
78 #elif NF_INT2_IS_C_LONG
79 FCALLSCFUN3(NF_INT, nc_put_var_long, NF_PUT_VAR_INT2, nf_put_var_int2,
80  NCID, VARID, INT2VAR)
81 #endif
82 
83 
84 /*
85  * Read an entire variable into a FORTRAN INTEGER*2 variable.
86  */
87 #if NF_INT2_IS_C_SHORT
88 FCALLSCFUN3(NF_INT, nc_get_var_short, NF_GET_VAR_INT2, nf_get_var_int2,
89  NCID, VARID, PINT2VAR)
90 #elif NF_INT2_IS_C_INT
91 FCALLSCFUN3(NF_INT, nc_get_var_int, NF_GET_VAR_INT2, nf_get_var_int2,
92  NCID, VARID, PINT2VAR)
93 #elif NF_INT2_IS_C_LONG
94 FCALLSCFUN3(NF_INT, nc_get_var_long, NF_GET_VAR_INT2, nf_get_var_int2,
95  NCID, VARID, PINT2VAR)
96 #endif
97 
98 
99 /*
100  * Write an entire variable from a FORTRAN INTEGER variable.
101  */
102 #if NF_INT_IS_C_INT
103 FCALLSCFUN3(NF_INT, nc_put_var_int, NF_PUT_VAR_INT, nf_put_var_int,
104  NCID, VARID, INTVAR)
105 #elif NF_INT_IS_C_LONG
106 FCALLSCFUN3(NF_INT, nc_put_var_long, NF_PUT_VAR_INT, nf_put_var_int,
107  NCID, VARID, INTVAR)
108 #endif
109 
110 
111 /*
112  * Read an entire variable into a FORTRAN INTEGER variable.
113  */
114 #if NF_INT_IS_C_INT
115 FCALLSCFUN3(NF_INT, nc_get_var_int, NF_GET_VAR_INT, nf_get_var_int,
116  NCID, VARID, PINTVAR)
117 #elif NF_INT_IS_C_LONG
118 FCALLSCFUN3(NF_INT, nc_get_var_long, NF_GET_VAR_INT, nf_get_var_int,
119  NCID, VARID, PINTVAR)
120 #endif
121 
122 
123 /*
124  * Write an entire variable from a FORTRAN REAL variable.
125  */
126 #if NF_REAL_IS_C_DOUBLE
127 FCALLSCFUN3(NF_INT, nc_put_var_double, NF_PUT_VAR_REAL, nf_put_var_real,
128  NCID, VARID, DOUBLEVAR)
129 #else
130 FCALLSCFUN3(NF_INT, nc_put_var_float, NF_PUT_VAR_REAL, nf_put_var_real,
131  NCID, VARID, REALVAR)
132 #endif
133 
134 
135 /*
136  * Read an entire variable into a FORTRAN REAL variable.
137  */
138 #if NF_REAL_IS_C_DOUBLE
139 FCALLSCFUN3(NF_INT, nc_get_var_double, NF_GET_VAR_REAL, nf_get_var_real,
140  NCID, VARID, PDOUBLEVAR)
141 #else
142 FCALLSCFUN3(NF_INT, nc_get_var_float, NF_GET_VAR_REAL, nf_get_var_real,
143  NCID, VARID, PREALVAR)
144 #endif
145 
146 
147 /*
148  * Write an entire variable from a FORTRAN DOUBLEPRECISION variable.
149  */
150 FCALLSCFUN3(NF_INT, nc_put_var_double, NF_PUT_VAR_DOUBLE, nf_put_var_double,
151  NCID, VARID, DOUBLEVAR)
152 
153 
154 /*
155  * Read an entire variable into a FORTRAN DOUBLEPRECISION variable.
156  */
157 FCALLSCFUN3(NF_INT, nc_get_var_double, NF_GET_VAR_DOUBLE, nf_get_var_double,
158  NCID, VARID, PDOUBLEVAR)
159 
160 /* Apparently only defined for netcdf-4 */
161 #ifdef USE_NETCDF4
162 
163 /* Handle any type. */
164 FCALLSCFUN3(NF_INT, nc_put_var, NF_PUT_VAR, nf_put_var, NCID, VARID, PVOID)
165 
166 /* Handle any type. */
167 FCALLSCFUN3(NF_INT, nc_get_var, NF_GET_VAR, nf_get_var, NCID, VARID, PVOID)
168 #endif
integer function nf_put_var_int2(ncid, varid, i2vals)
Definition: nf_vario.F90:119
integer function nf_put_var_real(ncid, varid, rvals)
Definition: nf_vario.F90:182
integer function nf_put_var_text(ncid, varid, text)
Definition: nf_vario.F90:34
integer function nf_put_var_int1(ncid, varid, i1vals)
Definition: nf_vario.F90:82
integer function nf_put_var_int(ncid, varid, ivals)
Definition: nf_vario.F90:154
integer function nf_get_var_int2(ncid, varid, i2vals)
Definition: nf_vario.F90:320
integer function nf_get_var_real(ncid, varid, rvals)
Definition: nf_vario.F90:383
integer function nf_get_var_double(ncid, varid, dvals)
Definition: nf_vario.F90:411
integer function nf_put_var(ncid, varid, values)
Definition: nf_nc4.f90:2026
#define NF_INT
Definition: ncfortran.h:19
integer function nf_get_var_int(ncid, varid, ivals)
Definition: nf_vario.F90:355
integer function nf_get_var_text(ncid, varid, text)
Definition: nf_vario.F90:234
#define FCALLSCFUN3(T0, CN, UN, LN, T1, T2, T3)
Definition: cfortran.h:2419
integer function nf_get_var(ncid, varid, values)
Definition: nf_nc4.f90:2056
integer function nf_get_var_int1(ncid, varid, i1vals)
Definition: nf_vario.F90:283
integer function nf_put_var_double(ncid, varid, dvals)
Definition: nf_vario.F90:210

Return to the Main Unidata NetCDF page.
Generated on Fri Aug 4 2017 17:20:58 for NetCDF-Fortran. NetCDF is a Unidata library.