nccopy

Langue: en

Version: $Date: 2009/12/09 13:49:31 $ (fedora - 01/12/10)

Section: 1 (Commandes utilisateur)

NAME

nccopy - Copy a netCDF file to specified variant of netCDF format

SYNOPSIS

nccopy [-k n] infile outfile

DESCRIPTION

nccopy copies an input netCDF file (in any of the four format variants) to an output netCDF file, in any of the four format variants, if possible. For example, if built with the netCDF-3 library, a netCDF classic file may be copied to a netCDF 64-bit offset file, permitting larger variables. If built with the netCDF-4 library, a netCDF classic file may be copied to a netCDF-4 file or to a netCDF-4 classic model file as well, permitting later efficient schema changes, larger variable sizes, adding variables that use compressed or chunked storage, and use of other netCDF-4 features in case the output uses the enhanced netCDF model.

nccopy also serves as an example of a generic netCDF-4 program, with its ability to read any valid netCDF file and handle nested groups, strings, and any user-defined types, including arbitrarily nested compound types, variable-length types, and data of any valid netCDF-4 type. Other generic utility programs can make use of parts of nccopy for more complex operations on netCDF data.

As of NetCDF version 4.1, and if DAP support was enabled when nccopy was built, the file name may specify a DAP URL. This allows nccopy to convert data on DAP servers to local netCDF files.

OPTIONS

-k file_format
Specifies the kind of file to be created and, by inference, the data model (i.e. netcdf-3 (classic) versus netcdf-4 (enhanced)). The possible arguments are as follows.
'1', 'classic' => netcdf classic file format, netcdf-3 type model.
'2', '64-bit-offset', '64-bit offset' => netcdf 64 bit classic file format, netcdf-3 type model.
'3', 'hdf5', 'netCDF-4', 'enhanced' => netcdf-4 file format, netcdf-4 type model.
'4', 'hdf5-nc3', 'netCDF-4 classic model', 'enhanced-nc3' => netcdf-4 file format, netcdf-3 type model.
If no value for -k is specified, then the output will use the same format as the input. Note that attempting some kinds of format conversion will result in an error, if the conversion is not possible. For example, an attempt to copy a netCDF-4 file that uses features of the enhanced model to any of the other kinds of netCDF formats that use the classic model will result an error.
-m copy_buffer_size
Specifies the size, in bytes, of the copy buffer used to to copy large variables, by copying them in smaller pieces, each no larger than copy_bufer_size. The default is 5,000,000 bytes, but will be increased if necessary to hold at least one chunk of netCDF-4 chunked variables. You may want to make it larger than the default for OPeNDAP copies of large files over high latency networks.

EXAMPLES

Make a copy of foo1.nc, a netCDF file of any type, to foo2.nc, a netCDF file of the same type:

nccopy foo1.nc foo2.nc
Note that the above copy will not be as fast as use of a simple copy utility, because the file is copied structurally, using only the netCDF API. This means, for example, that if the input file has extra bytes after the end of the netCDF data, those will not be copied, because they are not accessible through the netCDF interface. If the original file was generated in `No fill' mode so that fill values are not stored for padding for data alignment, the output file may have different padding bytes.

Convert a netCDF-4 classic model file, compressed.nc, that uses compression, to a netCDF-3 file classic.nc:

nccopy -k classic compressed.nc classic.nc
Note that `1' could be used instead of `classic'.

Download the variable `time_bnds' and it's associated attributes from an OPeNDAP server and copy the result to a netCDF file named `tb.nc':

nccopy 'http://test.opendap.org/opendap/data/nc/sst.mnmean.nc.gz?time_bnds' tb.nc
Note that URLs that name specific variables as command-line arguments should generally be quoted, to avoid the shell interpreting special characters such as `?'.

SEE ALSO

ncdump(1),ncgen(1), netcdf(3)