[netcdfgroup] netCDF Operators NCO version 4.6.4 are ready

The netCDF Operators NCO version 4.6.4 are ready.

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

What's new?

The main new features in 4.6.4 are the "splitter" and daily
climatology capabilities for ncclimo. ncclimo now generates,
combines existing, and splits climatologies. Thus it is a
fairly general purpose climatology operator. NCO now supports
two more CF conventions (formula_terms and cell_measures),
and has a few bugfixes.

Work on NCO 4.6.5 has commenced. Planned improvements include
support for conda installs on MS Windows, and more ncclimo
and ncremap features.

Enjoy,
Charlie

NEW FEATURES (full details always in ChangeLog):

A. ncclimo will reshape timeseries, i.e., split input datasets into
   per-variable files that span the entire timeseries.
   Input files are specified via stdin, via positional arguments
   (after all options) on the command-line, or as the set of .nc files
   in drc_in
   ls $drc_in/*.nc | ncclimo -v T,Q --output=drc_out --map=rgr_map
   ncclimo -v T,Q --output=drc_out --map=rgr_map < list
   ncclimo -v T,Q --output=drc_out --map=rgr_map $drc_in/*.nc
   ncclimo -v T,Q --input=$drc_in --output=drc_out --map=rgr_map
   http://nco.sf.net/nco.html#ncclimo

B. ncks allows setting per-variable chunk cache-size with --cnk_csh.
   The effects of varying chunk cache-size are not well understood,
   at least by we who work on NCO. Users asked for a knob to tune
   it, and now that exists. Experiment with this and if you find
   reasons for NCO to set this to non-default values, let us know.
   If you want more knobs, let us know.
   This setting only works on netCDF4 files.
   ncks -D 3 --cnk_csh 1000000 in.nc4 out.nc
   http://nco.sf.net/nco.html#cnk_csh

C. ncremap now includes staggered grid weights with FV grid output.
   The weights are named w_stag, following the CESM CAM convention.
   http://nco.sf.net/nco.html#ncremap

D. Variables listed in a formula_terms attribute are now extracted
   by default. Turn-off this behavior with --no_frm_trm.
   The CF formula_terms convention is used to associate variables
   with terms in defined formulas, such as vertical coordinates:
   lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate"
   lev:formula_terms = "a: hyam b: hybm p0: P0 ps: PS"
   Unless the default behavior is overridden, NCO attaches any
   formula variables to the extraction list along with the primary
   variable and other associated variables. By definition, formula
   variables are a subset of the rank of the variable they define.
   http://nco.sf.net/nco.html#frm_trm

E. Variables listed in a cell_measures attribute are now extracted
   by default. Turn-off this behavior with --no_cll_msr.
   This convention allows variables to indicate which other variables
   contains area or volume information about a gridcell.
   These measures variables are pointed to by the cell_measures
   attribute. Unless the default behavior is overridden, NCO attaches
   all measures variables to the extraction list along with the
   primary variable.
   http://nco.sf.net/nco.html#cll_msr

BUG FIXES:

A. Fix bug introduced in 4.6.3 where hyperslabs involving UDUnits
   dates could fail, depending on exactly how NCO was compiled.
   Failures most likely on MacOS because clang, unlike gcc, does not
   initialize pointers to NULL by default. Solution is to upgrade.

A. Fix bug introduced in ~4.4.6 where some hyperslabs of non-unity
   stride in netCDF4 files could return incorrect values.
   If you use the hyperslab stride argument on netCDF4 files, we
   suggest you upgrade immediately. The workaround is to convert
   to netCDF3 before using a strided hyperslab.
   Thanks to Martin Dix for reporting this bug.

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.4 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: