[netcdfgroup] netCDF Operators NCO version 4.5.3 are ready

The netCDF Operators NCO version 4.5.3 are ready.

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

This release mainly advances features related to regridding.
The primary advance is support for curvilinear regridding.
Latitude and longitude may now be two-dimensional coordinates.
NCO will now rectangular and curvilinear grids from most
(well-behaved) input data files, so regridding swath-like data (SLD)
(e.g., WRF and much NASA L2 data) just became a lot easier.
The ~/nco/data/sld_nco.sh script integrates the most common regridding
tasks into a (hopefully) turnkey solution in time for Thanksgiving.
Feedback welcome!

According to https://www2.cisl.ucar.edu/resources/yellowstone/software
NCAR CISL supports CDO but not NCO on Yellowstone/Geyser/Caldera.
Please contact the CISL Help Desk cislhelp@xxxxxxxx if you would like
CISL to support NCO on these platforms. Thank you.

Work on NCO 4.5.4 has commenced and will better support eliciting
latitude/longitude coordinates using the CF "coordinates" convention,
regridding variables whose horizontal dimensions are not the
most-rapidly-varying.

Enjoy,
Charlie

NEW FEATURES (full details always in ChangeLog):

A. NCO's new configure --disable-doc switch allows NCO (but not its
   documentation) to build on vanilla OSX again.  It has long been
   possible to build/install NCO on MacOSX with a common packaging
   system, e.g., MacPorts, Fink, etc.  However, it recently become
   important to build NCO from source on vanilla MacOSX without any
   packaging system. Apple has not updated some GNU tools (like
   Texinfo) for over 10 years, and maintaining backwards compatibility
   of the documentation on vanilla OSX is not feasible. Docs continue
   to build fine with MacPorts, Fink, etc.

B. ncks --rgr nfr reads any/all grid information from input files,
   infers any necessary but missing information (e.g., estimates cell
   interface locations from cell midpoints), and outputs the gridfile
   in SCRIP-format for easy use by offline regridders. The procedure
   works on input files where NCO can identify lat/lon coordinates.
   ncks --rgr nfr --rgr grid=infer.nc in.nc out.nc
   http://nco.sf.net/nco.html#grid

C. ncks --rgr skl='y' creates a "skeleton" version of a data file
   with the specified geometry. This skeleton file contains grid
   center and interfaces locations and gridcell area. These can be
   more easily be assessed, and continental outlines examined, than
   with the corresponding SCRIP file. The skeleton can also be
   manually populated with data rather than relying on a model.
# Generate T42 Gaussian grid file t42_SCRIP.nc and skeleton file t42_skl.nc ncks --rgr skl=${DATA}/grids/t42_skl.nc --rgr grid=${DATA}/grids/t42_SCRIP.nc \
     --rgr latlon=64,128 --rgr lat_typ=gss --rgr lon_typ=Grn_ctr \
     ~zender/nco/data/in.nc ~/foo.nc
   http://nco.sf.net/nco.html#skl

D. Generate 2-D regional grids in SCRIP format, and, in conjunction
   with a mapfile, regrid to/from regional bounding boxes.
   During grid generation, specify bounding box edges with
   --rgr wesn=lon_wst,lon_est,lat_sth,lat_nrt or
   --rgr snwe=lat_sth,lat_nrt,lon_wst,lon_est
   This feature debuted 4.5.2 but was not announced because it
   was not yet documented.
   # Regrid global file to regional domain
   ncks --map map_global_to_regional_bilin.nc in.nc out.nc
   http://nco.sf.net/nco.html#grid
   http://nco.sf.net/nco.html#regrid

E. Use --xtn_var or --extensive to specify extensive variables.
   Extensive variables are summed not averaged during regridding.
   The support for extensive variables is not yet robust, yet we
   are ready to receive feedback from early adopters.
   ncks --xtn count --map map.nc in.nc out.nc
   http://nco.sf.net/nco.html#regrid

BUG FIXES:

A. ncks fixes two newly uncovered regridder bugs that were exposed by
   multi-level fields that contain missing values and underwent
   non-conservative (e.g., bilinear) regridding. The bugs were in
   threaded code and show up in compiler-specific ways.
   The solution is to upgrade to 4.5.3.
   Thanks to PNNL for first reporting problems.

B. ncap2 now evaluates logical expressions with a method that does
   not convert the type of the arguments to lesser precision.
   This fixes incorrect results that could occur when an argument
   could not be represented by the lesser precision.
   The solution is to upgrade to 4.5.3. Thanks to Maxim Petrenko for
   reporting this problem, and to Henry Butowsky for fixing it.

C. ncecat version 4.4.9 introduced a problem that could cause it
   to fail when using --gag mode on a single file. This problem
   has been fixed. The solution is to upgrade to 4.5.3, or to use
   versions 4.4.8 and prior if you encounter this problem.
   Thanks to Huan Wu for reporting this problem.

D. ncatted version 4.5.1 introduced a bug that dumps core when
   attribute deletion is requested without a specific attribute name,
   i.e., whenever all attributes are to be deleted. The workaround is
   to specify the attribute name(s) to be deleted, to use versions
   4.5.0 and earlier, or to upgrade to 4.5.3. Thanks to Richard Strub
   for reporting this problem.

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.5.3 built/tested with netCDF
   4.4.0-development (20150818) on top of HDF5 hdf5-1.8.13 with:

   cd ~/nco;./configure # Configure mechanism -or-
   cd ~/nco/bld;make dir;make allinone # Old Makefile mechanism

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

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

C. 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

D. 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

C. Running jobs at NCAR, NERSC, ANL, ORNL? NCO is in ~zender/[bin,lib]
--
Charlie Zender, Earth System Sci. & Computer Sci.
University of California, Irvine 949-891-2429 )'(



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