1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
|
!
! external netcdf data types:
!
integer, parameter, public :: &
nf90_byte = 1, &
nf90_int1 = nf90_byte, &
nf90_char = 2, &
nf90_short = 3, &
nf90_int2 = nf90_short, &
nf90_int = 4, &
nf90_int4 = nf90_int, &
nf90_float = 5, &
nf90_real = nf90_float, &
nf90_real4 = nf90_float, &
nf90_double = 6, &
nf90_real8 = nf90_double
!
! default fill values:
!
character (len = 1), parameter, public :: &
nf90_fill_char = achar(0)
integer (kind = OneByteInt), parameter, public :: &
nf90_fill_byte = -127, &
nf90_fill_int1 = nf90_fill_byte
integer (kind = TwoByteInt), parameter, public :: &
nf90_fill_short = -32767, &
nf90_fill_int2 = nf90_fill_short
integer (kind = FourByteInt), parameter, public :: &
nf90_fill_int = -2147483647
real (kind = FourByteReal), parameter, public :: &
nf90_fill_float = 9.9692099683868690e+36, &
nf90_fill_real = nf90_fill_float, &
nf90_fill_real4 = nf90_fill_float
real (kind = EightByteReal), parameter, public :: &
nf90_fill_double = 9.9692099683868690e+36, &
nf90_fill_real8 = nf90_fill_double
!
! mode flags for opening and creating a netcdf dataset:
!
integer, parameter, public :: &
nf90_nowrite = 0, &
nf90_write = 1, &
nf90_clobber = 0, &
nf90_noclobber = 4, &
nf90_fill = 0, &
nf90_nofill = 256, &
nf90_64bit_offset = 512, &
nf90_64bit_data = 32, &
nf90_cdf5 = nf90_64bit_data, &
nf90_lock = 1024, &
nf90_share = 2048, &
nf90_diskless = 8, &
nf90_mmap = 16
integer, parameter, public :: &
nf90_sizehint_default = 0, &
nf90_align_chunk = -1
!
! size argument for defining an unlimited dimension:
!
integer, parameter, public :: nf90_unlimited = 0
!
! global attribute id:
!
integer, parameter, public :: nf90_global = 0
!
! implementation limits:
!
integer, parameter, public :: &
nf90_max_dims = 1024, &
nf90_max_attrs = 8192, &
nf90_max_vars = 8192, &
nf90_max_name = 256, &
nf90_max_var_dims = 1024
!
! error codes:
!
integer, parameter, public :: &
nf90_noerr = 0, & ! No Error
nf90_ebadid = -33, & ! Not a valid ID
nf90_eexist = -35, & ! netcdf file exists && NF90_NOCLOBBER
nf90_einval = -36, & ! Invalid Argument
nf90_eperm = -37, & ! Write to read only
nf90_enotindefine = -38, & ! Operation not allowed in data mode
nf90_eindefine = -39, & ! Operation not allowed in define mode
nf90_einvalcoords = -40, & ! Index exceeds dimension bound
nf90_emaxdims = -41, & ! nf90_max_dims exceeded
nf90_enameinuse = -42, & ! String match to name in use
nf90_enotatt = -43, & ! Attribute not found
nf90_emaxatts = -44, & ! nf90_max_attrs exceeded
nf90_ebadtype = -45, & ! Not a netcdf data type
nf90_ebaddim = -46, & ! Invalid dimension id or name
nf90_eunlimpos = -47, & ! nf90_unlimited in the wrong index
nf90_emaxvars = -48, & ! nf90_max_vars exceeded
nf90_enotvar = -49, & ! The variable ID is invalid for the specified netCDF dataset.
nf90_eglobal = -50, & ! Action prohibited on nf90_global varid
nf90_enotnc = -51, & ! Not a netcdf file
nf90_ests = -52, & ! In Fortran, string too short
nf90_emaxname = -53, & ! nf90_max_name exceeded
nf90_eunlimit = -54, & ! nf90_unlimited size already in use
nf90_enorecvars = -55, & ! nc_rec op when there are no record vars
nf90_echar = -56, & ! Attempt to convert between text & numbers
nf90_eedge = -57, & ! Start+count exceeds dimension bound
nf90_estride = -58, & ! Illegal stride
nf90_ebadname = -59, & ! Attribute or variable name contains illegal characters
nf90_erange = -60, & ! Math result not representable
nf90_enomem = -61, & ! Memory allocation (malloc) failure
nf90_evarsize = -62, & ! One or more variable sizes violate format constraints
nf90_edimsize = -63, & ! Invalid dimension size
nf90_etrunc = -64, & ! File likely truncated or possibly corrupted
nf90_eaxistype = -65 ! Unknown axis type.
!
! more error codes for DAP
!
integer, parameter, public :: &
nf90_edap = -66, & ! Generic DAP error
nf90_ecurl = -67, & ! Generic libcurl error
nf90_eio = -68, & ! Generic IO error
nf90_enodata = -69, & ! Attempt to access variable with no data
nf90_edapsvc = -70, & ! DAP server error
nf90_edas = -71, & ! Malformed or inaccessible DAS
nf90_edds = -72, & ! Malformed or inaccessible DDS
nf90_edatadds = -73, & ! Malformed or inaccessible DATADDS
nf90_edapurl = -74, & ! Malformed DAP URL
nf90_edapconstraint = -75, & ! Malformed DAP Constrain
nf90_etranslation = -76, & ! Untranslatable construct
nf904_first_error = -100
!
! error codes for netCDF-4
!
integer, parameter, public :: &
nf90_ehdferr = -101, & ! Error at HDF5 layer.
nf90_ecantread = -102, & ! Can't read.
nf90_ecantwrite = -103, & ! Can't write.
nf90_ecantcreate = -104, & ! Can't create.
nf90_efilemeta = -105, & ! Problem with file metadata.
nf90_edimmeta = -106, & ! Problem with dimension metadata.
nf90_eattmeta = -107, & ! Problem with attribute metadata.
nf90_evarmeta = -108, & ! Problem with variable metadata.
nf90_enocompound = -109, & ! Not a compound type.
nf90_eattexists = -110, & ! Attribute already exists.
nf90_enotnc4 = -111, & ! Attempting netcdf-4 operation on netcdf-3 file.
nf90_estrictnc3 = -112, & ! Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
nf90_enotnc3 = -113, & ! Attempting netcdf-3 operation on netcdf-4 file.
nf90_enopar = -114, & ! Parallel operation on file opened for non-parallel access.
nf90_eparinit = -115, & ! Error initializing for parallel access.
nf90_ebadgrpid = -116, & ! Bad group ID.
nf90_ebadtypid = -117, & ! Bad type ID.
nf90_etypdefined = -118, & ! Type has already been defined and may not be edited.
nf90_ebadfield = -119, & ! Bad field ID.
nf90_ebadclass = -120, & ! Bad class.
nf90_emaptype = -121, & ! Mapped access for atomic types only.
nf90_elatefill = -122, & ! Attempt to define fill value when data already exists.
nf90_elatedef = -123, & ! Attempt to define var properties, like deflate, after enddef.
nf90_edimscale = -124, & ! Probem with HDF5 dimscales.
nf90_enogrp = -125, & ! No group found.
nf90_estorage = -126, & ! Can't specify both contiguous and chunking.
nf90_ebadchunk = -127, & ! Bad chunksize.
nf90_enotbuilt = -128, & ! Attempt to use feature that was not turned on when netCDF was built.
nf90_ediskless = -129, & ! Error in using diskless access.
nf90_ecantextend = -130, & ! Attempt to extend dataset during ind. I/O operation.
nf90_empi = -131, & ! MPI operation failed.
nf904_last_error = -131
!
! error handling modes:
!
integer, parameter, public :: &
nf90_fatal = 1, &
nf90_verbose = 2
!
! format version numbers:
!
integer, parameter, public :: &
nf90_format_classic = 1, &
nf90_format_64bit = 2, &
nf90_format_64bit_offset = nf90_format_64bit, &
nf90_format_64bit_data = 5, &
nf90_format_cdf5 = nf90_format_64bit_data, &
nf90_format_netcdf4 = 3, &
nf90_format_netcdf4_classic = 4
! extra data types:
integer, parameter, public :: &
nf90_ubyte = 7, &
nf90_ushort = 8, &
nf90_uint = 9, &
nf90_int64 = 10, &
nf90_uint64 = 11, &
nf90_string = 12, &
nf90_vlen = 13, &
nf90_opaque = 14, &
nf90_enum = 15, &
nf90_compound = 16
! extra default fill values:
integer (kind = TwoByteInt), parameter, public :: &
nf90_fill_ubyte = 255, &
nf90_fill_uint1 = nf90_fill_ubyte
integer (kind = FourByteInt), parameter, public :: &
nf90_fill_ushort = 65535, &
nf90_fill_uint2 = nf90_fill_ushort
integer (kind = EightByteInt), parameter, public :: &
nf90_fill_uint = 4294967295_EightByteInt
! Extra file create mode flags.
integer, parameter, public :: &
nf90_netcdf4 = 4096, &
nf90_hdf5 = 4096, & ! deprecated
nf90_classic_model = 256
! Flags for parallel access.
integer, parameter, public :: nf90_independent = 0, nf90_collective = 1
! Flags for parallel I/O.
integer, parameter, public :: nf90_mpiio = 8192, nf90_mpiposix = 16384, &
nf90_pnetcdf = 32768
! Extra variable flags.
integer, parameter, public :: &
nf90_chunk_seq = 0, &
nf90_chunk_sub = 1, &
nf90_chunk_sizes = 2, &
nf90_endian_native = 0, &
nf90_endian_little = 1, &
nf90_endian_big = 2, &
nf90_chunked = 0, &
nf90_notcontiguous = 0, &
nf90_contiguous = 1, &
nf90_compact = 2, &
nf90_nochecksum = 0, &
nf90_fletcher32 = 1, &
nf90_noshuffle = 0, &
nf90_shuffle = 1, &
nf90_szip_ec_option_mask = 4, &
nf90_szip_nn_option_mask = 32
! This is the position of NC_NETCDF4 in cmode, counting from the
! right, starting (uncharacteristically for fortran) at 0. It's needed
! for the BTEST function calls.
integer, parameter, private :: NETCDF4_BIT = 12
|