NetCDF-Fortran  4.4.3
fort-varaio.c
1 /*
2 This file is part of the netCDF Fortran 77 API.
3 
4 This file handles the netCDF vara functions.
5 
6 Copyright 2006, University Corporation for Atmospheric Research. See
7 the COPYRIGHT file for copying and redistribution conditions.
8 
9 $Id: fort-varaio.c,v 1.10 2008/02/25 17:24:24 ed 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 values from a FORTRAN CHARACTER*(*) variable.
21  */
22 FCALLSCFUN5(NF_INT, nc_put_vara_text, NF_PUT_VARA_TEXT, nf_put_vara_text,
23  NCID, VARID, COORDS, COUNTS, CBUF)
24 
25 
26 /*
27  * Read values into a FORTRAN CHARACTER*(*) variable.
28  */
29 FCALLSCFUN5(NF_INT, nc_get_vara_text, NF_GET_VARA_TEXT, nf_get_vara_text,
30  NCID, VARID, COORDS, COUNTS, CBUF)
31 
32 
33 /*
34  * Write values from a FORTRAN INTEGER*1 variable array.
35  */
36 #if NF_INT1_IS_C_SIGNED_CHAR
37 FCALLSCFUN5(NF_INT, nc_put_vara_schar, NF_PUT_VARA_INT1, nf_put_vara_int1,
38  NCID, VARID, COORDS, COUNTS, INT1VARV)
39 #elif NF_INT1_IS_C_SHORT
40 FCALLSCFUN5(NF_INT, nc_put_vara_short, NF_PUT_VARA_INT1, nf_put_vara_int1,
41  NCID, VARID, COORDS, COUNTS, INT1VARV)
42 #elif NF_INT1_IS_C_INT
43 FCALLSCFUN5(NF_INT, nc_put_vara_int, NF_PUT_VARA_INT1, nf_put_vara_int1,
44  NCID, VARID, COORDS, COUNTS, INT1VARV)
45 #elif NF_INT1_IS_C_LONG
46 FCALLSCFUN5(NF_INT, nc_put_vara_long, NF_PUT_VARA_INT1, nf_put_vara_int1,
47  NCID, VARID, COORDS, COUNTS, INT1VARV)
48 #endif
49 
50 
51 /*
52  * Read values into a FORTRAN INTEGER*1 variable array.
53  */
54 #if NF_INT1_IS_C_SIGNED_CHAR
55 FCALLSCFUN5(NF_INT, nc_get_vara_schar, NF_GET_VARA_INT1, nf_get_vara_int1,
56  NCID, VARID, COORDS, COUNTS, PINT1VARV)
57 #elif NF_INT1_IS_C_SHORT
58 FCALLSCFUN5(NF_INT, nc_get_vara_short, NF_GET_VARA_INT1, nf_get_vara_int1,
59  NCID, VARID, COORDS, COUNTS, PINT1VARV)
60 #elif NF_INT1_IS_C_INT
61 FCALLSCFUN5(NF_INT, nc_get_vara_int, NF_GET_VARA_INT1, nf_get_vara_int1,
62  NCID, VARID, COORDS, COUNTS, PINT1VARV)
63 #elif NF_INT1_IS_C_LONG
64 FCALLSCFUN5(NF_INT, nc_get_vara_long, NF_GET_VARA_INT1, nf_get_vara_int1,
65  NCID, VARID, COORDS, COUNTS, PINT1VARV)
66 #endif
67 
68 
69 /*
70  * Write values from a FORTRAN INTEGER*2 variable array.
71  */
72 #if NF_INT2_IS_C_SHORT
73 FCALLSCFUN5(NF_INT, nc_put_vara_short, NF_PUT_VARA_INT2, nf_put_vara_int2,
74  NCID, VARID, COORDS, COUNTS, INT2VARV)
75 #elif NF_INT2_IS_C_INT
76 FCALLSCFUN5(NF_INT, nc_put_vara_int, NF_PUT_VARA_INT2, nf_put_vara_int2,
77  NCID, VARID, COORDS, COUNTS, INT2VARV)
78 #elif NF_INT2_IS_C_LONG
79 FCALLSCFUN5(NF_INT, nc_put_vara_long, NF_PUT_VARA_INT2, nf_put_vara_int2,
80  NCID, VARID, COORDS, COUNTS, INT2VARV)
81 #endif
82 
83 
84 /*
85  * Read values into a FORTRAN INTEGER*2 variable array.
86  */
87 #if NF_INT2_IS_C_SHORT
88 FCALLSCFUN5(NF_INT, nc_get_vara_short, NF_GET_VARA_INT2, nf_get_vara_int2,
89  NCID, VARID, COORDS, COUNTS, PINT2VARV)
90 #elif NF_INT2_IS_C_INT
91 FCALLSCFUN5(NF_INT, nc_get_vara_int, NF_GET_VARA_INT2, nf_get_vara_int2,
92  NCID, VARID, COORDS, COUNTS, PINT2VARV)
93 #elif NF_INT2_IS_C_LONG
94 FCALLSCFUN5(NF_INT, nc_get_vara_long, NF_GET_VARA_INT2, nf_get_vara_int2,
95  NCID, VARID, COORDS, COUNTS, PINT2VARV)
96 #endif
97 
98 
99 /*
100  * Write values from a FORTRAN INTEGER variable array.
101  */
102 #if NF_INT_IS_C_INT
103 FCALLSCFUN5(NF_INT, nc_put_vara_int, NF_PUT_VARA_INT, nf_put_vara_int,
104  NCID, VARID, COORDS, COUNTS, INTVARV)
105 #elif NF_INT_IS_C_LONG
106 FCALLSCFUN5(NF_INT, nc_put_vara_long, NF_PUT_VARA_INT, nf_put_vara_int,
107  NCID, VARID, COORDS, COUNTS, INTVARV)
108 #endif
109 
110 
111 /*
112  * Read values into a FORTRAN INTEGER variable array.
113  */
114 #if NF_INT_IS_C_INT
115 FCALLSCFUN5(NF_INT, nc_get_vara_int, NF_GET_VARA_INT, nf_get_vara_int,
116  NCID, VARID, COORDS, COUNTS, PINTVARV)
117 #elif NF_INT_IS_C_LONG
118 FCALLSCFUN5(NF_INT, nc_get_vara_long, NF_GET_VARA_INT, nf_get_vara_int,
119  NCID, VARID, COORDS, COUNTS, PINTVARV)
120 #endif
121 
122 
123 /*
124  * Write values from a FORTRAN REAL variable array.
125  */
126 #if NF_REAL_IS_C_DOUBLE
127 FCALLSCFUN5(NF_INT, nc_put_vara_double, NF_PUT_VARA_REAL, nf_put_vara_real,
128  NCID, VARID, COORDS, COUNTS, DOUBLEVARV)
129 #else
130 FCALLSCFUN5(NF_INT, nc_put_vara_float, NF_PUT_VARA_REAL, nf_put_vara_real,
131  NCID, VARID, COORDS, COUNTS, REALVARV)
132 #endif
133 
134 
135 /*
136  * Read values into a FORTRAN REAL variable array.
137  */
138 #if NF_REAL_IS_C_DOUBLE
139 FCALLSCFUN5(NF_INT, nc_get_vara_double, NF_GET_VARA_REAL, nf_get_vara_real,
140  NCID, VARID, COORDS, COUNTS, PDOUBLEVARV)
141 #else
142 FCALLSCFUN5(NF_INT, nc_get_vara_float, NF_GET_VARA_REAL, nf_get_vara_real,
143  NCID, VARID, COORDS, COUNTS, PREALVARV)
144 #endif
145 
146 
147 /*
148  * Write values from a FORTRAN DOUBLEPRECISION variable array.
149  */
150 FCALLSCFUN5(NF_INT, nc_put_vara_double, NF_PUT_VARA_DOUBLE, nf_put_vara_double,
151  NCID, VARID, COORDS, COUNTS, DOUBLEVARV)
152 
153 
154 /*
155  * Read values into a FORTRAN DOUBLEPRECISION variable array.
156  */
157 FCALLSCFUN5(NF_INT, nc_get_vara_double, NF_GET_VARA_DOUBLE, nf_get_vara_double,
158  NCID, VARID, COORDS, COUNTS, PDOUBLEVARV)
159 
160 FCALLSCFUN5(NF_INT, nc_put_vara, NF_PUT_VARA, nf_put_vara,
161  NCID, VARID, COORDS, COUNTS, PVOID)
162 
163 FCALLSCFUN5(NF_INT, nc_get_vara, NF_GET_VARA, nf_get_vara,
164  NCID, VARID, COORDS, COUNTS, PVOID)

Return to the Main Unidata NetCDF page.
Generated on Sun Mar 27 2016 13:46:12 for NetCDF-Fortran. NetCDF is a Unidata library.