[netcdfgroup] netCDF Operators NCO version 4.6.5 are ready

The netCDF Operators NCO version 4.6.5 are ready.

http://nco.sf.net (Homepage, Mailing lists)
http://github.com/nco (Source Code, Releases, Developers)

What's new?

4.6.5 contains a potpurri of new features. Setting chunk cache size
with --cnk_csh can accelerate aggregation of netCDF4 files.
Climatology and regridder users may appreciate the cleaned-up
output offered by the ncremap --vrb_lvl switch and more intelligent
grid inferral. Everyone who has tried to convert "time since..."
values to calendar dates will like the new ncks --cal switch that does
the UDUnits conversion for you. There are also helpful bugfixes for
ncap2 attribute propagation in corner cases, and corrected error codes
for bad command line arguments.

Work on NCO 4.6.6 has commenced. Planned improvements include
support for conda installs on MS Windows, and human-legible calendar
date printing, more ncclimo and ncremap features.

Enjoy,
Charlie

NEW FEATURES (full details always in ChangeLog):

A. ncks allows setting chunk cache-size with --cnk_csh with all
   applicable operators. This sets the cache size for all variables.
   Users have demonstrated that increasing cache size can dramatically
   speed-up chunking operations on large datasets.
   This setting only works on netCDF4 files.
   ncrcat --cnk_csh=1000000000 --cnk_plc=g3d --cnk_dmn=time,365 \
          --cnk_dmn=lat,1800 --cnk_dmn=lon,3600 in*.nc4 out.nc4
   http://nco.sf.net/nco.html#cnk_csh
   Thanks to Hugo Oliveira for encouraging this feature

B. ncks now prints the human-legible calendar string corresponding to
   values with UDUnits date units (time since basetime, e.g., "days
   since 2000-01-01") and CF calendar attribute, if any. Enact this
   with the --calendar option when printing. Using dbg_lvl >= 1 in CDL
   mode prints both the value and calendar string (one in comments):

   zender@aerosol:~$ ncks -D 1 --cdl --cal -v tm_365 ~/nco/data/in.nc
   tm_365 = "2013-03-01"; // double value: 59
   zender@aerosol:~$ ncks -D 1 --cdl -v tm_365 ~/nco/data/in.nc
   tm_365 = 59; // calendar format: "2013-03-01"

   This option is similar to the ncdump -t option.
   Does this work how you'd like? Let us know.
   http://nco.sf.net/nco.html#cal

C. ncap2 now seamlessly edits character arrays.
   Suppose you have a string stored as an old school character array
   (not a netCDF4 string) with a fixed dimension size. ncap2 now
   supports altering the string value without having to manually pad
   the RHS to the exact dimension size of the LHS:

   ncap2 -s 'date_sng="2016-05-11_06:00:00"' in.nc out.nc
   ncap2 -s 'date_sng="automatic padding"' in.nc out.nc

   The exact same syntax has always worked on netCDF4 strings.
   This new feature frees users from needing to know the ugly details
   of netCDF3 string storage.
   http://nco.sf.net/nco.html#ncap2

D. ncremap support a verbosity level option, --vrb_lvl.
   Verbosity level is now independent of debug level, dbg_lvl, so
   users can customize how much ncremap information to print.
   Default vrb_lvl=2 and supported levels range from 0 (no output) to
   4 (most verbose). The verbosity of the underlying remapping,
   which invokes ncks, is still controlled by dbg_lvl not vrb_lvl.
   ncremap --vrb_lvl=1 -i in.nc -m map.nc -o out.nc
   http://nco.sf.net/nco.html#ncremap
   Thanks to Milena Veneziani for requesting.

E. ncremap and ncclimo now support a version option, --version.
   This option prints the operator version and configuration.
   It's a painless way to tell, e.g., if ncremap knows where your
   ESMF_RegridWeightGen executable is, and where these scripts
   look for NCO and what version of netCDF is linked to:
   ncremap --version
   ncclimo --version
   http://nco.sf.net/nco.html#ncremap
   http://nco.sf.net/nco.html#ncclimo

F. ncremap and ncks now parse more unknown grids than before.
   The front-end of ncremap's grid-inferenence routine has been
   refactored to rely on less user-provided information about
   dimension names. Now it obtains more information than before
   by examining the grid coordinates. As a result, grids from
   data files with strange dimension names are likelier to be parsed.

BUG FIXES:

A. ncap2 attribute propagation for some unary operators is fixed.
   It had been broken since ~4.6.3 for unary operations like 'time+=10'
   whereas it was working fine for binary operations, e.g., 'T=T+10'.
   Thanks to Qi Tang for sounding the alert. Solution is to upgrade.

B. The chunk cache option (--cnk_csh) implemented in ncks in 4.6.4 was
   inadvertently doing a no-op. Now it works as advertised.
   No workaround, solution is to upgrade.

C. A broken diagnostic introduced in 4.6.3 or 4.6.4 could cause the
   regridder to fail. This occurred with some POP files. Diagnostic
   now turned-off. Solution is to upgrade, workaround is use NCO <=
   4.6.2. Thanks to Sungduk Yu for reporting.

D. Bad command-line options now always return with EXIT_FAILURE (1).
   Previously they could return with EXIT_SUCCESS (0).
   Thanks to Jerome Mao for reporting.

KNOWN PROBLEMS DUE TO NCO:

   This section of ANNOUNCE reports and reminds users of the
   existence and severity of known, not yet fixed, problems.
   These problems occur with NCO 4.6.5 built/tested under
   MacOS 10.12.1 with netCDF 4.4.1 on HDF5 1.8.16 and with
   Linux with netCDF 4.4.2-development (20161116) on HDF5 1.8.16.

A. NOT YET FIXED (NCO problem)
Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments

   Demonstration:
ncatted -D 5 -O -a new_string_att,att_var,c,sng,"list","of","str,ings" ~/nco/data/in_4.nc ~/foo.nc
   ncks -m -C -v att_var ~/foo.nc

   20130724: Verified problem still exists
   TODO nco1102
   Cause: NCO parsing of ncatted arguments is not sophisticated
   enough to handle arrays of NC_STRINGS with embedded delimiters.

B. NOT YET FIXED (NCO problem?)
ncra/ncrcat (not ncks) hyperslabbing can fail on variables with multiple record dimensions

   Demonstration:
   ncrcat -O -d time,0 ~/nco/data/mrd.nc ~/foo.nc

   20140826: Verified problem still exists
   20140619: Problem reported by rmla
   Cause: Unsure. Maybe ncra.c loop structure not amenable to MRD?
   Workaround: Convert to fixed dimensions then hyperslab

KNOWN PROBLEMS DUE TO BASE LIBRARIES/PROTOCOLS:

A. NOT YET FIXED (netCDF4 or HDF5 problem?)
   Specifying strided hyperslab on large netCDF4 datasets leads
   to slowdown or failure with recent netCDF versions.

   Demonstration with NCO <= 4.4.5:
   time ncks -O -d time,0,,12 ~/ET_2000-01_2001-12.nc ~/foo.nc
   Demonstration with NCL:
   time ncl < ~/nco/data/ncl.ncl
   20140718: Problem reported by Parker Norton
   20140826: Verified problem still exists
   20140930: Finish NCO workaround for problem
   Cause: Slow algorithm in nc_var_gets()?
   Workaround #1: Use NCO 4.4.6 or later (avoids nc_var_gets())
   Workaround #2: Convert file to netCDF3 first, then use stride

B. NOT YET FIXED (netCDF4 library bug)
Simultaneously renaming multiple dimensions in netCDF4 file can corrupt output

   Demonstration:
ncrename -O -d lev,z -d lat,y -d lon,x ~/nco/data/in_grp.nc ~/foo.nc # Completes but file is unreadable
   ncks -v one ~/foo.nc

20150922: Confirmed problem reported by Isabelle Dast, reported to Unidata
   20150924: Unidata confirmed problem
   20160212: Verified problem still exists in netCDF library
   20160512: Ditto
   20161028: Verified problem still exists with netCDF 4.4.1

   Bug tracking: https://www.unidata.ucar.edu/jira/browse/fxm
   More details: http://nco.sf.net/nco.html#ncrename_crd

C. FIXED in netCDF Development branch as of 20161116 and in maintenance release 4.4.1.1 nc-config/nf-config produce erroneous switches that cause NCO builds to fail
   This problem affects netCDF 4.4.1 on all operating systems.
   Some pre-compiled netCDF packages may have patched the problem.
   Hence it does not affect my MacPorts install of netCDF 4.4.1.

   Demonstration:
   % nc-config --cflags # Produces extraneous text that confuses make
   Using nf-config: /usr/local/bin/nf-config
   -I/usr/local/include -I/usr/local/include -I/usr/include/hdf

   If your nc-config output contains the "Using ..." line, you are
   affected by this issue.

   20161029: Reported problem to Unidata
20161101: Unidata confirmed reproducibility, attributed to netCDF 4.4.1 changes
   20161116: Unidata patch is in tree for netCDF 4.4.2 release
   20161123: Fixed in maintenance release netCDF 4.4.1.1

D. NOT YET FIXED (would require DAP protocol change?)
   Unable to retrieve contents of variables including period '.' in name
   Periods are legal characters in netCDF variable names.
   Metadata are returned successfully, data are not.
   DAP non-transparency: Works locally, fails through DAP server.

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

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

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

E. NOT YET FIXED (would require DAP protocol change)
   Correctly read scalar characters over DAP.
   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_dgs -v md5_a -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc

   20120801: Verified problem still exists
   Bug report not filed
   Cause: DAP translates scalar characters into 64-element (this
   dimension is user-configurable, but still...), NUL-terminated
   strings so MD5 agreement fails

"Sticky" reminders:

A. Reminder that NCO works on most HDF4 and HDF5 datasets, e.g.,
   HDF4: AMSR MERRA MODIS ...
   HDF5: GLAS ICESat Mabel SBUV ...
   HDF-EOS5: AURA HIRDLS OMI ...

B. Pre-built executables for many OS's at:
   http://nco.sf.net#bnr

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



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