[netcdfgroup] netCDF operators NCO version 4.2.6 are ready

The netCDF operators NCO version 4.2.6 are ready.

http://nco.sf.net (Homepage)
http://dust.ess.uci.edu/nco (Homepage "mirror")

This release continues to improve support of netCDF4 files in ncks and
ncecat, and add a sprinkle of new and convenient features to the rest
of NCO. ncks and ncecat now handle corner cases of netCDF4 groups,
dimensions, and coordinates. We perverted our own test file with
tortuous situations that all work, such as dimensions, coordinates,
and variables all being in separate groups.

ncks and ncecat now work well on many common HDF5 datasets, e.g.,
NASA AURA HIRDLS HDF-EOS5
NASA ICESat GLAS HDF5
NASA SBUV HDF5...

Work on NCO 4.2.7 is underway and focuses on netCDF4 support for
ncrename and ncbo operators, and on better support for Windows builds
(enabling DAP, UDUnits).

Enjoy,
Charlie and Pedro

"New stuff" in 4.2.6 summary (full details always in ChangeLog):

NEW FEATURES:

A. Regular expressions (rx's) now work on full paths, not just stubs.
   Previously, rx's only worked on last components of full names.
   Now rx's like ncks -v /cesm/temperature.+ can succeed.
   http://nco.sf.net/nco.html#rx

B. ncks now counts and then ignores non-atomic type netCDF4 variables.
   Previously, ncks would die if it encountered the new netCDF4
   non-atomic types: vlen, opaque, enum, and compound.
   Now ncks prints the variable name and then ignores it and processes
   all the atomic-type (float, double, int, string...) variables as
   usual.

C. ncks prints fulls paths of non-local dimensions and coordinates.

D. ncrename allows "mandatory attributes" (i.e., those not prefixed
   with a period which would make them "optional attributes") to be
   present in groups/global instead of in variables.

E. ncflint accepts a new switch, --fix_rec_crd, that prevents record
   coordinates from being multiplied/interpolated. By default, ncflint
   multplies/interpolates record coordinates (like time) but not other
   coordinates (like, typically, latitude). This is because ncflint
   is most often used to time-interpolate files (so you want the time
   to change, but not the spatial coordinates). However, ncflint is
   also used quite often to "scale" files by multiplying the variables
   by a constant. Now one can easily multiply all variables (except
   coordinates) by a constant, and if --fix_rec_crd is specified, the
   record coordinate will not change.

BUG FIXES:

A. ncks correctly interprets scopes in corner cases including:
   1. Dimension defined in ancestor of variable's group
   2. Coordinate defined in relative (sibling, ancestor, descendent)
      of variable's group
   3. Single dimension has multiple associated coordinates
   Handling these cases correctly is a major milestone for NCO.

B. ncks prints accurate netCDF4 metadata summaries (with -M) and
   breaks dimensions into fixed vs. record, and variables into
   atomic-types vs. non-atomic. Formerly, the number of netCDF4
   dimensions was ill-defined.

C. ncks 4.2.4-4.2.5 failed when attempting to copy certain netCDF3
   files (known as MM3 files because they contain multiple record
   variables that require a special copying algorithm) into netCDF4
   files when group-path-editing (GPE) was invoked. This has been
   fixed so commands like this work again:
   ncks -G g1 -4 in.nc out.nc

KNOWN BUGS NOT YET FIXED:

   This section of the ANNOUNCE file reports and reminds users of the
   existence and severity of known, not yet fixed, problems.
   These problems occur with NCO 4.2.6 built/tested with netCDF
   4.3.0-rc3 released 20130311 on top of HDF5 hdf5-1.8.9 with these
methods:

   cd ~/nco;./configure --enable-netcdf4  # Configure mechanism -or-
   cd ~/nco/bld;make dir;make all;make ncap2 # Old Makefile mechanism

A. NOT YET FIXED
   Correctly read netCDF4 input over DAP, write netCDF4 output, then
read resulting file.
   Replacing netCDF4 with netCDF3 in either location of preceding
sentence leads to success.
   DAP non-transparency: Works locally, fails through DAP server.
   Unclear whether resulting file is "legal" because of dimension ID
ordering assumptions

   Demonstration:
   ncks -4 -O -v three_dmn_rec_var
http://motherlode.ucar.edu:8080/thredds/dodsC/testdods/in_4.nc ~/foo.nc
   ncks ~/foo.nc # breaks with "NetCDF: Invalid dimension ID or name"

   20120731: Unable to verify since in_4.nc no longer accessible
   Bug report filed: netCDF #QUN-641037: dimension ID ordering assumptions

B. NOT YET FIXED
   netCDF4 library fails when renaming dimension and variable using
   that dimension, in either order. Works fine with netCDF3.
   Problem with netCDF4 library implementation.

   Demonstration:
   ncks -O -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
   ncrename -O -D 2 -d lat_T42,lat -v lat_T42,lat ~/foo.nc ~/foo2.nc #
Breaks with "NetCDF: HDF error"
   ncks -m ~/foo.nc

   20130319: Verified problem still exists
   Bug report filed: netCDF #YQN-334036: problem renaming dimension and
coordinate in netCDF4 file

C. NOT YET FIXED
   Unable to retrieve contents of variables including period '.' in name
   Metadata is returned successfully, data is not.
   DAP non-transparency: Works locally, fails through DAP server.

   Demonstration:
   ncks -O -C -D 3 -v var_nm.dot -p
http://motherlode.ucar.edu:8080/thredds/dodsC/testdods in.nc # Fails to
find variable

   20120731: Verified problem still exists.
   Stopped testing because inclusion of var_nm.dot broke all test scripts.
   NB: Problem hard to fix since DAP interprets '.' as structure
delimiter in query string of HTTP requests.

   Bug report filed: https://www.unidata.ucar.edu/jira/browse/NCF-47

D. NOT YET FIXED
   Correctly read scalar characters over.
   DAP non-transparency: Works locally, fails through DAP server.
   Problem, IMHO, is with DAP definition/protocol

   Demonstration:
   ncks -O -D 1 -H -C -m --md5 -v md5_a -p
http://motherlode.ucar.edu:8080/thredds/dodsC/testdods in.nc

   20120801: Verified problem still exists
   Bug report not filed
   Cause: DAP translates scalar characters into 64-element,
NUL-terminated strings so MD5 agreement fails

E. NOT YET FIXED
   netCDF4 library can create dimensions with duplicate IDs if
   dimension with same name defined in a group and its ancestor group.
   Problem with HDF5 or with netCDF4 library implementation?

   Demonstration:
   ncks -O -v two_dmn_rec_var ~/nco/data/in_grp.nc ~/foo.nc
   ncks -m ~/foo.nc

   20130319: Verified problem still exists
   Bug report filed 20120312: netCDF #SHH-257980: Re: [netcdfgroup]
Dimensions IDs

F. NOT YET FIXED
   ncdump is unable to dump the NCO test file in_grp.nc
   Unclear whether problem with ncdump, HDF5, or with netCDF4 library
implementation

   Demonstration:
   ncdump ~/nco/data/in_grp.nc # breaks with "NetCDF: Invalid argument
          Location: file dumplib.c; line 970"

   20130319: Verified
   Bug report not yet filed

"Sticky" reminders:

A. Pre-built, up-to-date Debian Sid & Ubuntu packages:
   http://nco.sf.net#debian

B. Pre-built Fedora and CentOS RPMs:
   http://nco.sf.net#rpm

C. Pre-built Windows (native) and Cygwin binaries:
   http://nco.sf.net#windows

D. Pre-built AIX binaries:
   http://nco.sf.net#aix

E. Did you try SWAMP (Script Workflow Analysis for MultiProcessing)?
   SWAMP efficiently schedules/executes NCO scripts on remote servers:

   http://swamp.googlecode.com

   SWAMP can work command-line operator analysis scripts besides NCO.
   If you must transfer lots of data from a server to your client
   before you analyze it, then SWAMP will likely speed things up.

F. NCO support for netCDF4 features is tracked at

   http://nco.sf.net/nco.html#nco4

   NCO supports netCDF4 atomic data types, compression, chunking, and
groups.

-- 
Charlie Zender, Earth System Sci. & Computer Sci.
University of California, Irvine 949-891-2429 )'(



  • 2013 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: