[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #XQJ-446811]: netcdf 4.0 record size question
- Subject: [netCDF #XQJ-446811]: netcdf 4.0 record size question
- Date: Mon, 05 Jan 2009 15:52:50 -0700
Hi David,
When you say you are "using netCDF 4.0", does that mean it was built
with the "--enable-netcdf-4" option to the configure script, that
requires installation of the HDF5 library as well? You could tell
by looking at the installed netcdf.h header file (by default
/usr/local/include/netcdf.h, but may have been installed somewhere
else) for the string "nc_def_grp", a function defined for netCDF-4.
If you built and installed the libraries just using default
settings, without explicitly specifying --enable-netcdf-4, then
it will really be netCDF-3.6.3, and netcdf.h will not include the
string "nc_def_grp". In that case, the only way a netCDF-3 variable
can exceed 4 GiB is if it is the last fixed-size variable or if it
uses the unlimited dimension, as explained here:
http://www.unidata.ucar.edu/netcdf/docs/faq.html#Large%20File%20Support10
If you really have netCDF-4.0 with netCDF-4 features enabled, a file
must be created to support netCDF-4 features using the appropriate
creation flag, such as NC_NETCDF4 in the C statement:
ret = nc_create(FILE_NAME, NC_NETCDF4, &ncid);
or NF90_HDF5 in the Fortran statement:
ret = nf90_create(FILE_NAME, NF90_HDF5, ncid)
In such a file, non-record variables that are not the last variable in the file
are not limited to 4 GiB.
You can tell what kind of netCDF file you have with the "-k" flag to ncdump
in versions 3.6.2 and later. If the result is "classic" or "64-bit offset",
it is not a netCDF-4 file.
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: XQJ-446811
Department: Support netCDF
Priority: Normal
Status: Closed