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

Return to the Main Unidata NetCDF page.