NetCDF-Fortran  4.4.4
module_netcdf_nc_data.F90
Go to the documentation of this file.
2 
3 ! Data types and flags for Fortran2003 interfaces to NetCDF C routines
4 !
5 ! Written by: Richard Weed, Ph.D.
6 ! Center for Advanced Vehicular Systems
7 ! Mississippi State University
8 ! rweed@cavs.msstate.edu
9 
10 
11 ! License (and other Lawyer Language)
12 
13 ! This software is released under the Apache 2.0 Open Source License. The
14 ! full text of the License can be viewed at :
15 !
16 ! http:www.apache.org/licenses/LICENSE-2.0.html
17 !
18 ! The author grants to the University Corporation for Atmospheric Research
19 ! (UCAR), Boulder, CO, USA the right to revise and extend the software
20 ! without restriction. However, the author retains all copyrights and
21 ! intellectual property rights explicitly stated in or implied by the
22 ! Apache license
23 
24 ! Version 1.: Sept. 2005 - Initial Cray X1 version
25 ! Version 2.: May 2006 - Updated to support g95
26 ! Version 3.: June 2006 - Updated to include netCDF 4 functions
27 ! Version 4.: July 2007 - Modified to work with 3.6.2 build system
28 ! Version 5.: April 2009 - Updated to NetCDF 4.0.1
29 ! Version 6.: April 2010 - Updated to NetCDF 4.1.1
30 ! Version 7.: Feb. 2012 - Added support for F2008 Intrinsic kinds
31 ! Version 8.: Feb. 2013 - Updated for netcdf fortran-4.4
32 ! Version 9.: April 2014 - Changed C_PTRDIFF_T to UCAR definitions
33 ! Version 10.: Jan. 2016 - General code cleanup. Added a definition
34 ! for a C_ENUM kind paramater for future
35 ! code mods. Added several new parameters
36 ! to include all of the values supported
37 ! in netcdf_constant.f90
38 
39  USE iso_c_binding ! All subsequent USE associations of netcdf_nc_data
40  ! will inherit ISO_C_BINDING data
41 
42 ! The following will allow us to use the Fortran 2008 default intrinsic
43 ! kind variables contained in Fortran 2008 ISO_FORTRAN_ENV module when
44 ! compilers support it. Actually most of the major compilers (and even
45 ! the latest gfortran) support these now (Feb. 2012)
46 
47 #ifdef HAVE_F2008
48  USE iso_fortran_env, ONLY: real32, real64, int8, int16, int32, int64
49 #endif
50  Implicit NONE
51 
52 #include "nfconfig.inc"
53 
54 ! All of the stuff inside this ifndef black needs to be moved to a
55 ! stantdalone module and combined with the f90 interfaces typesizes
56 ! module
57 
58 #ifndef HAVE_F2008
59 
60 ! Create our own REAL32, REAL64, INT8, INT16, INT32, INT64 if we don't have F2008
61 ! ISO_FORTRAN_ENV module
62 
63  Integer, Parameter, PRIVATE :: real32 = selected_real_kind(p=6, r=37) ! float
64  Integer, Parameter, PRIVATE :: real64 = selected_real_kind(p=13, r=307) ! double
65  Integer, Parameter, PRIVATE :: int8 = selected_int_kind( 2)
66  Integer, Parameter, PRIVATE :: int16 = selected_int_kind( 4)
67  Integer, Parameter, PRIVATE :: int32 = selected_int_kind( 9) ! int
68  Integer, Parameter, PRIVATE :: int64 = selected_int_kind(18) ! long long
69 #endif
70 
71 ! Set KIND parameters to shorter names used in f03 interface routines etc.
72 
73  Integer, Parameter :: rk4 = real32
74  Integer, Parameter :: rk8 = real64
75  Integer, Parameter :: ik1 = int8
76  Integer, Parameter :: ik2 = int16
77  Integer, Parameter :: ik4 = int32
78  Integer, Parameter :: ik8 = int64
79 
80 ! Define processor/compiler dependent parameters for ptrdiff_t, signed char,
81 ! and short types. Note prtdiff_t was not defined in the FORTRAN 2003
82 ! standard as an interoperable type in ISO_C_BINDING but was added as part of
83 ! the recent TS29113 Technical Specification "Futher Interoperability with C"
84 ! passed in 2012. For now we will make our own using C_INT32_T or C_INT64_T
85 ! but allow users to use the default definition for compilers that support
86 ! TS29113 (like gfortran 4.8). Default will be C_INTPTR_T
87 
88 #ifndef HAVE_TS29113_SUPPORT
89 #if (SIZEOF_PTRDIFF_T == 4)
90  Integer, Parameter :: c_ptrdiff_t = c_int32_t
91 #elif (SIZEOF_PTRDIFF_T == 8)
92  Integer, Parameter :: c_ptrdiff_t = c_int64_t
93 #else
94  Integer, Parameter :: c_ptrdiff_t = c_intptr_t
95 #endif
96 #endif
97 
98 ! Set KIND parameters for 1 and 2 byte integers if the system
99 ! supports them based on what is set by configure in nfconfig.inc.
100 ! The routines that use these values will issue an EBADTYPE error
101 ! and exit if C_SIGNED_CHAR and C_SHORT are not supported in
102 ! ISO_C_BINDING
103 
104 ! Set the KINDs to default integers otherwise.
105 
106 ! INT1 KINDs
107 
108 #ifdef NF_INT1_IS_C_SIGNED_CHAR
109  Integer, Parameter :: cint1 = c_signed_char
110  Integer, Parameter :: nfint1 = ik1
111 #elif NF_INT1_IS_C_SHORT
112  Integer, Parameter :: cint1 = c_short
113  Integer, Parameter :: nfint1 = ik2
114 #elif NF_INT1_IS_C_INT
115  Integer, Parameter :: cint1 = c_int
116  Integer, Parameter :: nfint1 = ik4
117 #elif NF_INT1_IS_C_LONG
118  Integer, Parameter :: cint1 = c_long
119  Integer, Parameter :: nfint1 = ik8
120 #else
121  Integer, Parameter :: cint1 = c_signed_char
122  Integer, Parameter :: nfint1 = ik1
123 #endif
124 
125 ! INT2 KINDs
126 
127 #ifdef NF_INT2_IS_C_SHORT
128  Integer, Parameter :: cint2 = c_short
129  Integer, Parameter :: nfint2 = ik2
130 #elif NF_INT2_IS_C_INT
131  Integer, Parameter :: cint2 = c_int
132  Integer, Parameter :: nfint2 = ik4
133 #elif NF_INT2_IS_C_LONG
134  Integer, Parameter :: cint2 = c_long
135  Integer, Parameter :: nfint2 = ik8
136 #else
137  Integer, Parameter :: cint2 = c_short
138  Integer, Parameter :: nfint2 = ik2
139 #endif
140 
141 ! Set Fortran default integer kind. This
142 ! should take care of the case were default
143 ! integer is a 64 bit int (ala prehistoric
144 ! CRAYS)
145 
146 #ifdef NF_INT_IS_C_LONG
147  Integer, Parameter :: cint = c_long
148  Integer, Parameter :: nfint = ik8
149 #else
150  Integer, Parameter :: cint = c_int
151  Integer, Parameter :: nfint = ik4
152 #endif
153 
154 ! Set Fortran default real kind. This should
155 ! take care of the case were the default real
156 ! type is a 64 bit real (ala prehistoric CRAYs)
157 
158 #ifdef NF_REAL_IS_C_DOUBLE
159  Integer, Parameter :: nfreal = rk8
160 #else
161  Integer, Parameter :: nfreal = rk4
162 #endif
163 
164 ! Create a C_ENUM kind which should be just C_INT (but you never know).
165 ! Don't know why this wasn't included in the C Interop standard but it
166 ! would have been nice to have.
167 
168 ! This will eventually be used to replace the current integer values in the
169 ! interfaces with something that should be consistent with C enum data
170 ! types. Mostly this is cosmetic to identify in the code that we are
171 ! passing something that is a enumerator member in C.
172 
173  enum, bind(c)
174  enumerator :: dummy
175  End enum
176 
177  Private :: dummy
178 
179  Integer, Parameter :: c_enum = kind(dummy)
180 
181 
182 !--------- Define default C interface parameters from netcdf.h ---------------
183 
184 ! This is not a complete impementation of the C header files but
185 ! defines NC_ values equivalent to the values in the netcdf.inc files
186 ! excluding the V2 values
187 
188 ! NETCDF3 data
189 !
190 ! Define enumerator nc_type data as integers
191 
192  Integer(C_INT), Parameter :: nc_nat = 0
193  Integer(C_INT), Parameter :: nc_byte = 1
194  Integer(C_INT), Parameter :: nc_char = 2
195  Integer(C_INT), Parameter :: nc_short = 3
196  Integer(C_INT), Parameter :: nc_int = 4
197  Integer(C_INT), Parameter :: nc_float = 5
198  Integer(C_INT), Parameter :: nc_double = 6
199 
200 ! Default fill values
201 
202  Character(KIND=C_CHAR), Parameter :: nc_fill_char = c_null_char
203  Integer(C_SIGNED_CHAR), Parameter :: nc_fill_byte = -127_c_signed_char
204  Integer(C_SHORT), Parameter :: nc_fill_short = -32767_c_short
205  Integer(C_INT), Parameter :: nc_fill_int = -2147483647_c_int
206  Real(C_FLOAT), Parameter :: nc_fill_float = 9.9692099683868690e+36
207  Real(C_DOUBLE), Parameter :: nc_fill_double = 9.9692099683868690d+36
208 
209 ! Mode flags for opening and creating datasets
210 
211  Integer(C_INT), Parameter :: nc_nowrite = 0
212  Integer(C_INT), Parameter :: nc_write = 1
213  Integer(C_INT), Parameter :: nc_clobber = 0
214  Integer(C_INT), Parameter :: nc_noclobber = 4
215  Integer(C_INT), Parameter :: nc_fill = 0
216  Integer(C_INT), Parameter :: nc_nofill = 256
217  Integer(C_INT), Parameter :: nc_lock = 1024
218  Integer(C_INT), Parameter :: nc_share = 2048
219  Integer(C_INT), Parameter :: nc_strict_nc3 = 8
220  Integer(C_INT), Parameter :: nc_64bit_offset = 512
221  Integer(C_INT), Parameter :: nc_sizehint_default = 0
222  Integer(C_INT), Parameter :: nc_align_chunk = -1
223  Integer(C_INT), Parameter :: nc_format_classic = 1
224  Integer(C_INT), Parameter :: nc_format_64bit = 2
225  Integer(C_INT), Parameter :: nc_diskless = 8
226  Integer(C_INT), Parameter :: nc_mmap = 16
227  Integer(C_INT), Parameter :: nc_inmemory = 32768
228 
229 ! Unlimited dimension size argument and global attibute ID
230 
231  Integer(C_INT), Parameter :: nc_unlimited = 0
232  Integer(C_INT), Parameter :: nc_global = 0
233 
234 ! Implementation limits (WARNING! SHOULD BE THE SAME AS C INTERFACE)
235 
236  Integer(C_INT), Parameter :: nc_max_dims = 1024
237  Integer(C_INT), Parameter :: nc_max_attrs = 8192
238  Integer(C_INT), Parameter :: nc_max_vars = 8192
239  Integer(C_INT), Parameter :: nc_max_name = 256
240  Integer(C_INT), Parameter :: nc_max_var_dims = nc_max_dims
241 
242 ! Error codes
243 
244  Integer(C_INT), Parameter :: nc_noerr = 0
245  Integer(C_INT), Parameter :: nc2_err = -1
246  Integer(C_INT), Parameter :: nc_syserr = -31
247  Integer(C_INT), Parameter :: nc_exdr = -32
248  Integer(C_INT), Parameter :: nc_ebadid = -33
249  Integer(C_INT), Parameter :: nc_ebfile = -34
250  Integer(C_INT), Parameter :: nc_eexist = -35
251  Integer(C_INT), Parameter :: nc_einval = -36
252  Integer(C_INT), Parameter :: nc_eperm = -37
253  Integer(C_INT), Parameter :: nc_enotindefine = -38
254  Integer(C_INT), Parameter :: nc_eindefine = -39
255  Integer(C_INT), Parameter :: nc_einvalcoords = -40
256  Integer(C_INT), Parameter :: nc_emaxdims = -41
257  Integer(C_INT), Parameter :: nc_enameinuse = -42
258  Integer(C_INT), Parameter :: nc_enotatt = -43
259  Integer(C_INT), Parameter :: nc_emaxatts = -44
260  Integer(C_INT), Parameter :: nc_ebadtype = -45
261  Integer(C_INT), Parameter :: nc_ebaddim = -46
262  Integer(C_INT), Parameter :: nc_eunlimpos = -47
263  Integer(C_INT), Parameter :: nc_emaxvars = -48
264  Integer(C_INT), Parameter :: nc_enotvar = -49
265  Integer(C_INT), Parameter :: nc_eglobal = -50
266  Integer(C_INT), Parameter :: nc_enotnc = -51
267  Integer(C_INT), Parameter :: nc_ests = -52
268  Integer(C_INT), Parameter :: nc_emaxname = -53
269  Integer(C_INT), Parameter :: nc_eunlimit = -54
270  Integer(C_INT), Parameter :: nc_enorecvars = -55
271  Integer(C_INT), Parameter :: nc_echar = -56
272  Integer(C_INT), Parameter :: nc_eedge = -57
273  Integer(C_INT), Parameter :: nc_estride = -58
274  Integer(C_INT), Parameter :: nc_ebadname = -59
275  Integer(C_INT), Parameter :: nc_erange = -60
276  Integer(C_INT), Parameter :: nc_enomem = -61
277  Integer(C_INT), Parameter :: nc_evarsize = -62
278  Integer(C_INT), Parameter :: nc_edimsize = -63
279  Integer(C_INT), Parameter :: nc_etrunc = -64
280  Integer(C_INT), Parameter :: nc_eaxistype = -65
281 
282 ! DAP error codes
283 
284  Integer(C_INT), Parameter :: nc_edap = -66
285  Integer(C_INT), Parameter :: nc_ecurl = -67
286  Integer(C_INT), Parameter :: nc_eio = -68
287  Integer(C_INT), Parameter :: nc_enodata = -69
288  Integer(C_INT), Parameter :: nc_edapsvc = -70
289  Integer(C_INT), Parameter :: nc_edas = -71
290  Integer(C_INT), Parameter :: nc_edds = -72
291  Integer(C_INT), Parameter :: nc_edatadds = -73
292  Integer(C_INT), Parameter :: nc_edapurl = -74
293  Integer(C_INT), Parameter :: nc_edapconstraint = -75
294  Integer(C_INT), Parameter :: nc_etranslation = -76
295 
296 ! Error handling codes
297 
298  Integer(C_INT), Parameter :: nc_fatal = 1
299  Integer(C_INT), Parameter :: nc_verbose = 2
300 
301 #ifdef USE_NETCDF4
302 
303 ! NETCDF4 data
304 
305  Integer(C_INT), Parameter :: nc_format_netcdf4 = 3
306  Integer(C_INT), Parameter :: nc_format_netcdf4_classic = 4
307  Integer(C_INT), Parameter :: nc_netcdf4 = 4096
308  Integer(C_INT), Parameter :: nc_classic_model = 256
309 
310 ! extra netcdf4 types
311 
312  Integer(C_INT), Parameter :: nc_long = nc_int
313  Integer(C_INT), Parameter :: nc_ubyte = 7
314  Integer(C_INT), Parameter :: nc_ushort = 8
315  Integer(C_INT), Parameter :: nc_uint = 9
316  Integer(C_INT), Parameter :: nc_int64 = 10
317  Integer(C_INT), Parameter :: nc_uint64 = 11
318  Integer(C_INT), Parameter :: nc_string = 12
319  Integer(C_INT), Parameter :: nc_vlen = 13
320  Integer(C_INT), Parameter :: nc_opaque = 14
321  Integer(C_INT), Parameter :: nc_enum = 15
322  Integer(C_INT), Parameter :: nc_compound = 16
323 
324 ! extra netcd4 fill values
325 
326  Integer(C_INT), Parameter :: nc_fill_ubyte = 255
327  Integer(C_INT), Parameter :: nc_fill_ushort = 65535
328  Integer(C_LONG_LONG), Parameter :: nc_fill_uint = 4294967295_c_long_long
329  Integer(C_LONG_LONG), Parameter :: nc_fill_int64 = -9223372036854775806_c_long_long
330 
331 ! extra netcdf4 variable flags
332 
333  Integer(C_INT), Parameter :: nc_chunk_seq = 0
334  Integer(C_INT), Parameter :: nc_chunk_sub = 1
335  Integer(C_INT), Parameter :: nc_chunk_sizes = 2
336  Integer(C_INT), Parameter :: nc_endian_native = 0
337  Integer(C_INT), Parameter :: nc_endian_little = 1
338  Integer(C_INT), Parameter :: nc_endian_big = 2
339  Integer(C_INT), Parameter :: nc_chunked = 0
340  Integer(C_INT), Parameter :: nc_notcontiguous = 0
341  Integer(C_INT), Parameter :: nc_contiguous = 1
342  Integer(C_INT), Parameter :: nc_nochecksum = 0
343  Integer(C_INT), Parameter :: nc_fletcher32 = 1
344  Integer(C_INT), Parameter :: nc_noshuffle = 0
345  Integer(C_INT), Parameter :: nc_shuffle = 1
346  Integer(C_INT), Parameter :: nc_independent = 0
347  Integer(C_INT), Parameter :: nc_collective = 1
348 
349 ! flags for parallel i/o
350 
351  Integer(C_INT), Parameter :: nc_mpiio = 8192
352  Integer(C_INT), Parameter :: nc_mpiposix = 16384
353  Integer(C_INT), Parameter :: nc_pnetcdf = nc_mpiio
354 
355  Integer(C_INT), Parameter :: nc_szip_ec_option_mask = 4
356  Integer(C_INT), Parameter :: nc_szip_nn_option_mask = 32
357 
358 ! extra netcdf4 error flags
359 
360  Integer(C_INT), Parameter :: nc_ehdferr = -101
361  Integer(C_INT), Parameter :: nc_ecantread = -102
362  Integer(C_INT), Parameter :: nc_ecantwrite = -103
363  Integer(C_INT), Parameter :: nc_ecantcreate = -104
364  Integer(C_INT), Parameter :: nc_efilemeta = -105
365  Integer(C_INT), Parameter :: nc_edimmeta = -106
366  Integer(C_INT), Parameter :: nc_eattmeta = -107
367  Integer(C_INT), Parameter :: nc_evarmeta = -108
368  Integer(C_INT), Parameter :: nc_enocompound = -109
369  Integer(C_INT), Parameter :: nc_eattexists = -110
370  Integer(C_INT), Parameter :: nc_enotnc4 = -111
371  Integer(C_INT), Parameter :: nc_estrictnc3 = -112
372  Integer(C_INT), Parameter :: nc_enotnc3 = -113
373  Integer(C_INT), Parameter :: nc_enopar = -114
374  Integer(C_INT), Parameter :: nc_eparinit = -115
375  Integer(C_INT), Parameter :: nc_ebadgrpid = -116
376  Integer(C_INT), Parameter :: nc_ebadtypid = -117
377  Integer(C_INT), Parameter :: nc_etypdefined = -118
378  Integer(C_INT), Parameter :: nc_ebadfield = -119
379  Integer(C_INT), Parameter :: nc_ebadclass = -120
380  Integer(C_INT), Parameter :: nc_emaptype = -121
381  Integer(C_INT), Parameter :: nc_elatefill = -122
382  Integer(C_INT), Parameter :: nc_elatedef = -123
383  Integer(C_INT), Parameter :: nc_edimscale = -124
384  Integer(C_INT), Parameter :: nc_enogrp = -125
385  Integer(C_INT), Parameter :: nc_estorage = -126
386  Integer(C_INT), Parameter :: nc_ebadchunk = -127
387  Integer(C_INT), Parameter :: nc_enotbuilt = -128
388  Integer(C_INT), Parameter :: nc_ediskless = -129
389  Integer(C_INT), Parameter :: nc_ecantextend = -130
390  Integer(C_INT), Parameter :: nc_empi = -131
391 
392 #endif
393 
394 !------------------------------------------------------------------------------
395 End Module netcdf_nc_data
integer(c_int), parameter nc_elatefill
integer(c_int), parameter nc_echar
integer, parameter nfint2
integer(c_int), parameter nc_edimmeta
integer(c_int), parameter nc_ubyte
integer(c_int), parameter nc_global
integer, parameter nfint
integer(c_int), parameter nc_string
integer(c_int), parameter nc_mpiio
integer(c_signed_char), parameter nc_fill_byte
integer(c_int), parameter nc_shuffle
integer(c_int), parameter nc_estride
integer(c_int), parameter nc_chunk_sizes
integer(c_int), parameter nc_emaxvars
integer(c_int), parameter nc_ecantwrite
integer(c_int), parameter nc_compound
integer(c_int), parameter nc_ebadname
integer(c_int), parameter nc_contiguous
integer(c_int), parameter nc_chunked
integer(c_int), parameter nc_max_vars
integer(c_int), parameter nc_ebfile
integer(c_int), parameter nc_ecantcreate
integer(c_int), parameter nc_ecantextend
integer(c_int), parameter nc_uint
integer(c_int), parameter nc_evarmeta
integer(c_int), parameter nc_emaxdims
integer(c_int), parameter nc_ebadchunk
integer, parameter ik1
integer, parameter ik4
integer, parameter c_ptrdiff_t
integer, parameter cint2
integer(c_int), parameter nc_endian_big
integer(c_int), parameter nc_collective
integer(c_int), parameter nc_nowrite
integer(c_int), parameter nc_diskless
integer, parameter ik8
integer(c_int), parameter nc_format_netcdf4
integer(c_int), parameter nc_ediskless
integer(c_int), parameter nc_fletcher32
integer(c_int), parameter nc_eattmeta
integer(c_int), parameter nc_erange
integer(c_int), parameter nc_ebadclass
integer(c_int), parameter nc_etrunc
integer(c_int), parameter nc_pnetcdf
integer(c_int), parameter nc_enum
integer(c_int), parameter nc_eindefine
integer(c_int), parameter nc_edds
integer(c_int), parameter nc_eunlimpos
integer(c_int), parameter nc_float
integer(c_int), parameter nc_chunk_sub
integer(c_int), parameter nc_sizehint_default
integer(c_int), parameter nc_syserr
integer, parameter c_enum
integer(c_int), parameter nc_align_chunk
integer, parameter, private int16
integer(c_int), parameter nc_eglobal
integer(c_int), parameter nc_eparinit
integer(c_int), parameter nc_double
integer(c_int), parameter nc_eunlimit
integer, parameter cint
integer(c_long_long), parameter nc_fill_int64
integer(c_int), parameter nc_etypdefined
integer, parameter, private int32
integer(c_int), parameter nc_enotnc3
integer(c_int), parameter nc_classic_model
integer(c_int), parameter nc_einvalcoords
integer, parameter, private real32
integer, parameter rk4
integer(c_int), parameter nc_fill
integer(c_int), parameter nc_estorage
integer(c_int), parameter nc_edatadds
integer, parameter, private int64
integer(c_int), parameter nc_enotnc
integer(c_int), parameter nc_eperm
integer(c_int), parameter nc_nochecksum
integer(c_int), parameter nc_edimsize
integer(c_int), parameter nc_enameinuse
integer(c_int), parameter nc_ecantread
integer(c_int), parameter nc_char
integer(c_int), parameter nc_ebadfield
integer(c_int), parameter nc_ehdferr
integer(c_int), parameter nc_strict_nc3
character(kind=c_char), parameter nc_fill_char
integer(c_int), parameter nc_enocompound
integer(c_int), parameter nc_mpiposix
integer(c_int), parameter nc_lock
integer(c_int), parameter nc_eedge
integer(c_int), parameter nc_independent
integer(c_int), parameter nc_max_name
integer(c_int), parameter nc_endian_native
integer(c_int), parameter nc_ebadtypid
integer(c_int), parameter nc_estrictnc3
integer(c_int), parameter nc_uint64
integer(c_int), parameter nc_byte
integer(c_int), parameter nc_enopar
integer(c_int), parameter nc_etranslation
integer(c_int), parameter nc_max_attrs
integer(c_int), parameter nc_ebaddim
integer(c_int), parameter nc_int
integer(c_int), parameter nc_mmap
integer(c_int), parameter nc_notcontiguous
integer(c_int), parameter nc_chunk_seq
integer(c_int), parameter nc_short
integer(c_int), parameter nc_enomem
integer(c_int), parameter nc_verbose
integer(c_int), parameter nc_edap
integer(c_int), parameter nc_max_dims
integer(c_int), parameter nc_ebadtype
integer(c_int), parameter nc_enotatt
integer(c_int), parameter nc_emaxname
integer(c_int), parameter nc_noerr
integer(c_short), parameter nc_fill_short
integer(c_int), parameter nc_enotnc4
integer(c_long_long), parameter nc_fill_uint
integer(c_int), parameter nc_64bit_offset
integer(c_int), parameter nc_enotbuilt
integer(c_int), parameter nc_nat
integer(c_int), parameter nc_edapurl
integer(c_int), parameter nc_emaxatts
integer(c_int), parameter nc_szip_nn_option_mask
integer(c_int), parameter nc_elatedef
integer(c_int), parameter nc_int64
integer(c_int), parameter nc_unlimited
integer(c_int), parameter nc_format_classic
integer(c_int), parameter nc_long
integer(c_int), parameter nc_netcdf4
integer(c_int), parameter nc_enotindefine
integer(c_int), parameter nc_opaque
integer(c_int), parameter nc_ebadgrpid
integer(c_int), parameter nc_noshuffle
integer(c_int), parameter nc_edimscale
integer(c_int), parameter nc_eexist
integer(c_int), parameter nc_edas
integer(c_int), parameter nc_szip_ec_option_mask
integer(c_int), parameter nc_efilemeta
integer(c_int), parameter nc_einval
integer, parameter, private real64
integer(c_int), parameter nc_fill_ubyte
integer(c_int), parameter nc2_err
integer, parameter, private int8
integer, parameter rk8
integer, parameter nfint1
integer(c_int), parameter nc_empi
integer(c_int), parameter nc_endian_little
integer(c_int), parameter nc_enorecvars
integer(c_int), parameter nc_evarsize
integer(c_int), parameter nc_enotvar
integer(c_int), parameter nc_ushort
integer, parameter cint1
integer(c_int), parameter nc_ests
integer(c_int), parameter nc_max_var_dims
integer(c_int), parameter nc_inmemory
integer(c_int), parameter nc_clobber
integer(c_int), parameter nc_write
integer(c_int), parameter nc_nofill
integer(c_int), parameter nc_format_netcdf4_classic
integer, parameter nfreal
integer(c_int), parameter nc_eio
integer(c_int), parameter nc_vlen
integer(c_int), parameter nc_format_64bit
integer(c_int), parameter nc_emaptype
real(c_float), parameter nc_fill_float
integer(c_int), parameter nc_fill_ushort
integer(c_int), parameter nc_ebadid
integer(c_int), parameter nc_eaxistype
integer(c_int), parameter nc_edapsvc
integer(c_int), parameter nc_fill_int
integer(c_int), parameter nc_eattexists
integer, parameter ik2
integer(c_int), parameter nc_ecurl
integer(c_int), parameter nc_enodata
integer(c_int), parameter nc_noclobber
integer(c_int), parameter nc_edapconstraint
integer(c_int), parameter nc_fatal
integer(c_int), parameter nc_enogrp
integer(c_int), parameter nc_share
real(c_double), parameter nc_fill_double
integer(c_int), parameter nc_exdr

Return to the Main Unidata NetCDF page.
Generated on Fri Oct 27 2017 08:12:17 for NetCDF-Fortran. NetCDF is a Unidata library.