[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #PRD-617628]: Large sized netcdf-4 file
- Subject: [netCDF #PRD-617628]: Large sized netcdf-4 file
- Date: Wed, 15 Feb 2012 15:47:28 -0700
Hi,
> Also, I couldn't find an example to show how to or classic_format and hdf5 to
> create the
> Netcdf-4 classic format.
> nf90_create(FILE_NAME, (nf90_classic_model|nf90_hdf5) doesn't work.
Sorry, the documentation should be clearer. You can use:
nf90_create(FILE_NAME, IOR(nf90_netcdf4, nf90_classic_model), ncid)
> The confusion from netcdf is that it is vague from the online document on how
> to generate a
> Netcdf4 classic - when compiling the library for this, does one need hdf5 lib
> at all?
Yes, the hdf5 library is needed becasue a netCDF-4 classic model file is really
an HDF5 file
with an artifact to make sure it is readable by old programs lijnked to the
netCDF-4 library.
For an explanation, see this FAQ, and maybe some of the subsequent questions
and answers:
http://www.unidata.ucar.edu/netcdf/docs/faq.html#fv1
> Using your online example pres_temp_4D_wr.f90, I tried to modify the line into
> call check( nf90_create(FILE_NAME, nf90_hdf5, ncid) )
>
> now when I look at the file sizes, it is significanly larger (7 times), I
> thought hdf5 should be smaller, anything wrong?
>
> -rw-rw-r-- 16867 Feb 10 10:55 pres_temp_4D.nc
> -rw-rw-r-- 2784 Feb 10 10:38 pres_temp_4D.nc_nocompress
netCDF-4 files are only smaller if compression is used when writing the data.
Here's an answer to an FAQ on that:
http://www.unidata.ucar.edu/netcdf/docs/faq.html#fv8
Compression is done on a variable-by-variable basis, so it's possible
to use different compression levels on different variables. But if
you just want to compress all variables in the file using the same
compression level, the easiest way is using the nccopy utility, as in
nccopy -d1 foo.nc foo-compressed.nc
to use "deflation level" 1.
Note that for small files, the compressed netCDF-4 files will
actually be larger than uncompressed netCDF-3 (classic format) files,
because the underlying HDF5 format has some fixed-size overhead. But
for large datasets, compression will save space, at the expense of
taking more time to read and write the data.
I just tested the 4.1.3 nccopy on an example file for compression and got this:
$ nccopy -d1 llnl.nc llnl-compressed.nc && ls -l llnl*.nc
-rw-rw-r-- 1 russ ustaff 13802 Feb 15 14:58 llnl-compressed.nc
-rw-rw-r-- 1 russ ustaff 32864 Oct 17 11:05 llnl.nc
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: PRD-617628
Department: Support netCDF
Priority: Normal
Status: Closed