File nco.changes of Package nco

Sun Sep 10 22:56:23 UTC 2017 -

- require hdf5 version >=1.8.8 in accordance with netcdf on science project

Fri Aug 18 23:12:15 CEST 2017 -

- remove nullpointer.patch
- remove silence_post-build-checks.patch
- Update to 4.6.8:
  * ncap2 now fully implements NCO chunking maps and policies.
  * ncks CDL printing supports finer-grained control of date formats.
  * ncclimo now supports up to eleven (and counting) custom-defined seasons.
  * ncremap --msk_src and --msk_dst options now accept the value 'none'.
  * ncremap now accepts standard NCO arguments for output file type.
  * Fix: ncap2 implementation of mibs()/mabs()/mebs().
  * Fix: JSON now prints "null" instead of "NaN".
  * Fix: ncwa did not correctly handle hyperslabs for masks and weights.
  * Fix: Ensure ncclimo and ncremap load netCDF libraries 4.4.x+.
- Update to 4.6.7:
  * ncremap has a new sub-gridscale (SGS) mode, -P sgs.
  * ncremap got optimized ERWG weight generator.
  * ncremap: cleanup in command line switches, short options
      -a, -E, -T, -U, -w and -W got new meanings!
  * ncap2 has a new function named missing().
  * ncap2 now propagates existing chunking parameters from the input
      file to the output file.
  * ncks now has a --trd (or --traditional) option.
  * Fix: ncatted allows writing an empty NC_CHAR or NC_STRING attribute.
  * Fix: core dumps of ncap2 with pre-chunked and/or deflated data.
  * Fix: ncatted now correctly handles creation, modification, overwriting
      of _FillValue attributes in netCDF4 data.
- Update to 4.6.6:
  * new extract/exclude switches for ncremap and ncclimo.
  * ncclimo's splitter mode no longer requires variable lists.
  * regridder now produces UGRID output.
  * ncks now prints the units as comments in debugging mode.
  * ncap2 now implements the CF cell_methods convention.
  * ncks now prints human-legible time strings.
  * ncks now prints "(no units)" instead of "(null)".
  * Fix: no more core dump on missing files with the hsi command.
  * Fix: ncremap no longer defines mask variables in inferred grid files
      unless it finds a mask variable in the source file.
  * Fix: ncremap now invokes the neareststod algorithm when requested.
  * Fix: ncremap now converts non-default masks correctly in infer mode.
  * Fix: ncks now prints braces required to disambiguate compound
      record dimensions in CDL mode.

Fri Jun  2 00:09:47 CEST 2017 -

- add nullpointer.patch: fix '\0' vs. NULL confusion.

Fri Mar 17 00:56:21 CET 2017 -

- modify silence_post-build-checks.patch:
    silence check by providing default switch target in code
- Update to 4.6.5:
  * ncks now prints the human-legible calendar string corresponding to
    values with UDUnits date units and CF calendar attribute.
  * ncap2 now seamlessly edits character arrays.
  * ncremap support a verbosity level option, --vrb_lvl.
  * ncremap and ncks now parse more unknown grids than before.
  * Fix: ncap2 attribute propagation for some unary operators is fixed.
  * Fix: The chunk cache option (--cnk_csh) was a no-op.
  * Fix: regridder failure due to broken diagnostic.
  * Fix: Correct exit status for bad command-line options.
- Update to 4.6.4:
  * ncclimo will reshape timeseries.
  * ncks allows setting per-variable chunk cache-size with --cnk_csh.
  * ncremap now includes staggered grid weights with FV grid output.
  * Variables listed in a formula_terms attribute are now extracted
    by default, turn off with --no_frm_trm.
  * Variables listed in a cell_measures attribute are now extracted
    by default, turn off with --no_cll_msr.
  * Fix: hyperslabs involving UDUnits dates could fail.
  * Fix: hyperslabs of non-unity stride in netCDF4 files could
    return incorrect values.
- Update to 4.6.3:
  * ncclimo supports "binary climos" and annual-mean mode.
  * ncrcat and ncra now re-base data from arbitrary time units
    in multiple calendar systems.
  * ncap2 now supports converting data between any two compatible units.
  * ncclimo and ncremap now support long options.
  * ncclimo and ncremap now save the full command line.
  * ncks can now print attribute CDL types as comments.
  * Implement JSON brackets.
- Update to 4.6.2:
  * New JSON backend.
  * New multi-argument feature.
  * Fix: Fix ncclimo and ncremap Bash-ism.
  * Fix: Correct ncatted NaN implementation for MinGW.
  * Fix: ncks CDL now prints correct tokens for uint, int64, uint64 types.
- Update to 4.6.1:
  * ncks supports new provenance features released in netCDF-4.4.1.
  * Add ncflint -N, --nrm, --normalize option
  * ncap2's array() function can now take a dimension list as the
    third argument.
  * ncclimo incremental mode.
  * Fix: ncatted now allows special characters in attribute and variable names.
  * Fix: ncap2 fixed handling of implicit array bounds for slabs of form var(3:).
  * Fix: ncremap could confuse dimension names with coordinate names.
  * Fix: ncremap now automatically chooses distinct output bounds names.
- Update to 4.6.0:
  * New operator ncclimo: produces climatological monthly means, seasonal means,
    annual mean, and optionally regrids all these files.
  * ncap2 now works with pointers to variables and attributes.
  * ncap2 has reduced memory usage.
  * ncap2 has a new function make_bounds() to create CF-compliant bounds.
  * ncap2 now propagates metadata when Left-Hand-Casting variables.
  * ncatted new mode "nappend" appends only to existing attributes.
  * ncpdq now has a third unpacking mode.
  * ncpdq now has a three unpacking modes: use --upk=[0,1,2] to choose
    non-default modes [netCDF, HDF4 MODIS MOD08, HDF4 MODIS MOD13].
  * ncra can now honor the CF convention for climatology bounds (--cb, --c2b).
  * ncremap now defaults to $TMPDIR for intermediate files (-U to change).
  * NCO now treats as associated coordinates all variables listed in
    "grid_mapping" attributes. 
  * ncremap and ncks now follow the CF "coordinates" convention
  * Fix: Correct ncatted documentation for "append" mode.
  * Fix: Fix Append mode: syncronize -A with interactive responses.
  * Fix: ncpdq fix complex reordering in group hierarchies.
  * Fix: ncap2 fix bug propagating attributes of variables with whitespace
    in their names.

Fri Dec  2 12:28:45 CET 2016 -

- remove all __DATE__ and __TIME__ macros as well as set USER
    and HOSTNAME manually to get reproducible builds
- add silence_post-build-checks.patch:
    silence checks by providing default switch targets in code

Tue Nov 29 17:42:32 CET 2016 -

- remove gsl2_support.patch
- add additional files to documentation
- Update to 4.5.5:
  * NCO supports the CDF5 file type first introduced by pnetCDF and now
    supported in Unidata netCDF as of version 4.4.0.
    Use '-5', '--5', '--fl_fmt=[cdf5|64bit_data|pnetcdf]'.
  * ncremap: -P option triggers filetype-specific workflow procedures
    (such as automatic permutation).
  * ncremap: -m map_fl supplies names to generated mapfiles and ncremap
    annotates map-files it creates with full history.
  * ncremap -j job_nbr option for MPI parallelism
  * ncra/nces/ncwa: New operation tabs()=total_absolute_value.
    The the -y tabs option is like -y ttl except the sum is over
    absolute values. tabs(), mibs(), mebs(), and mabs() are analogous
    to ttl(), min(), mean(), and max().
  * Improve support for Cygwin builds
  * Fix: ncremap: Inferred curvilinear grids always return points now in
    counterclockwise order.
  * Fix: ncremap: Inferring grids from curvilinear coordinates no longer
    confused by "branch cuts" (i.e., the date-line).
  * Fix: ncpdq: Fix problem that could cause '--gaa' option to fail in
    earlier versions.
  * Fix: nces: Copy attributes of coordinate variables in nces --nsm_grp.
  * Fix: ncra/nces: Correctly normalize "mebs" arithmetic.
  * Fix: ncap2: Fix incorrect handling of negative dimension indices.
  * Fix: ncatted/ncrename: Fully support --glb_att_add=--gaa.
- Update to 4.5.4:
  * ncremap: A new netCDF operator for regridding.
  * ncks prints XML "_Unsigned" attribute for unsigned attribute types.
    Formerly, ncks did not preserve the signedness of attributes.
  * ncap2 now accepts [] and () syntax interchangeably.
    Expressions which formerly had to use one or the other can now
    use either.
  * ncap2 now conforms arrays by hyperslabbed dimension size rather
    than by dimension name.
  * NCO now treats variables named wgt_* as weights and avoids
    performing math on them when possible.
  * ncap2 now accepts "sum" as a synonym for "total" in its methods.
    Additionally, ncap2 has a new function,
    ncap_stats_wvariance(var,wgt) to computed weighted standard
    deviations where missing values may be present.
    Additionally, ncap2 now builds with GSL 2.x. All thanks to Henry.
  * Fix: ncks -V in (at least) versions 4.5.1--4.5.3 could segfault.
  * Fix: After dimension reduction operations, ncra and ncwa excise the
    reduced dimensions from the CF "coordinates" attribute, if any.
    Versions 4.4.9--4.5.3 could, under certain circumstances involving
    multiple dimensions, retain extra whitespace in "coordinates".
- Update to 4.5.3:
  * NCO's new configure --disable-doc switch allows NCO (but not its
    documentation) to build on vanilla OSX again.
  * 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.
  * ncks --rgr skl='y' creates a "skeleton" version of a data file
    with the specified geometry.
  * Generate 2-D regional grids in SCRIP format, and, in conjunction
    with a mapfile, regrid to/from regional bounding boxes.
  * Use --xtn_var or --extensive to specify extensive variables.
  * Fix: 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.
  * Fix: ncap2 now evaluates logical expressions with a method that does
    not convert the type of the arguments to lesser precision.
  * Fix: ncecat version 4.4.9 introduced a problem that could cause it
    to fail when using --gag mode on a single file.
  * Fix: 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.
- Update to 4.5.2:
  * All operators can now add user-specified global attributes to
    output files using the --glb switch.
  * Grid generation: ncks generates SCRIP-format gridfiles for
    select grid types, in cluding uniform/equi-angular, cap/FV, and
    Gaussian. Options pertinent to the grid geometry and metadata are
    passed to NCO via key-value pairs prefixed by "--rgr".
  * Regrid regional datasets with ESMF, SCRIP, and TempestRemap
    mapfiles. Please give it a try and send us feedback!
  * Multi-file operators support a new extension to the -n option
    that understands calendar month counting.
  * Fix: The ncra --wgt option, introduced in 4.4.9, works fine except,
    it turns out, for variables with missing values. The normalization
    for these values was incorrect and produced errors whose size was
    roughly inversely proportional to the size of the weights.
- Update to 4.5.1:
  * Regrid global datasets with TempestRemap mapfiles (in addition to
    ESMF and SCRIP, which were already supported).
  * ncatted now supports regular expressions in both the variable name
    AND the attribute name (simultaneously, too). Previously, ncatted
    accepted regular expressions only in the variable name.
  * Add mibs/mabs/mebs methods and operators to ncap2. These are the
    absolute-value analogues of min/max/mean, so that, e.g., mibs()
    returns the minimum absolute-value of the operand.
  * Prevent operators from repeating existing cell_methods attribute.
    Previously NCO would append new operations, e.g., "time: mean" to
    the existing cell_methods attribute, if any.
  * Fix formatting of history_of_appended_files attribute when appended
    file had no history attribute.
  * Fix: Round-up to one rather than round-down to zero in chunking maps lfp
    and rew. This fixes a bug that only appears on datasets with
    certain shapes.
  * Fix bug using min/max on coordinate variables in ncap2
  * Fix: Initialize memory that appeared to cause zeros to be written
    by regridder compiled by clang on MacOSX.
- Update to 4.5.0:
  * Regrid global datasets with ESMF or SCRIP remap files.
  * ncdismember is a one-stop shop for flattening and CF-checking.
  * NCO introduces a convention to retain the history-attribute
    contents of all files that were appended to a file.
  * When copying the variables date_written or time_written to the
    output file, NCO now updates their contents the GMT time reported
    by the system-supplied gmtime().
  * Fix ncatted so it preserves global attributes (including history)
    from the output file when in append (-A) mode.

Sun Nov 27 00:20:14 CET 2016 -

- spec-cleaner changes
- add gsl2_support.patch:
    upstream commit 4d2ef537ec6c47c86a6bb14b0bd5ae82086c4bb3 for nco 4.6.3
- add gnusource.patch:
    "#define _GNU_SOURCE" is needed for strcasestr
- remove unsupported configure options --disable-dap-opendap
    and --enable-dap-netcdf
- remove unneeded configure options --enable-netcdf4 and --disable-udunits
- remove unneeded -fPIC and -fpermissive compiler options
- add "-Wno-cpp" compiler option (a lot of _DEFAULT_SOURCE recommendations)
- remove unneeded environment variables in spec file
- remove unneeded "BuildRequires: gcc-fortran"
- add "%check" section in spec file 

Wed Aug 19 16:02:34 UTC 2015 -

- Updated to 4.4.9
        * Undo crippling of ncra --wgt wgt_nm for further debugging
        * Cripple ncra. Re-tag. Re-release with new tag format so GitHub tarball naming conventions work.
        * Put nco_sng2kvm() in nco_sng_utl.c where it belongs. Fixes configure link problems.
        * Allow wgt_nm to not be in extraction list
        * Implement main logic for --wgt wgt_nm per-record weighting
        * Per-file weighting with --wgt wgt_arr works fine
        * Add some infrastructure to accept weight names, e.g., ncra --wgt=time_dlt
        * Correct normalization in ncra --wgt and combine into multiplication by one pre-normalized factor
        * Treat climatology variables as pseudo-coordinates like bounds variables
        * Re-base climatology variables in ncra/ncrcat
        * Apply per-file weights/normalization to averaged non-coordinate variables
        * ncra reads optional per-file weights with new command line -w, --wgt switch
        * Obtain destination grid interfaces/boundaries and remap matrix from mapping file
        * All regression tests pass, 4.4.9 release once configure-builds work on yellowstone and rhea
        * Recent rhea upgrade uses szip in icc netcdf, so (re-)add SZ and SZ_LIB flags to Makefile, Makefile.old
        * Rhea icc 13.1.3 (gcc version 4.4.7 compatibility) requires -D_BSD_SOURCE on files that #include nameser.h
        * Fix ncecat --gag mode use of uninitialized file pointers
        * Shuffle never, to my knowledge, increases filesize, so shuffle by default when manually deflating
        * LFP chunking uses "reasonable defaults" when var_sz < cnk_sz_ttl
        * Turn-off MM3 workaround for MM3->MM4 copying to speed-up compression induced chunking
        * Choose output chunking map/policy = rew/all rather than xst/xst for netCDF3 input
        * Split Tempest library calls into separate function, nco_rgr_tps()
        * Improve error message when nco_lmt.c encounters hyperslab requests on 2-D "coordinates"
        * Crude version of nco_rgr_map()
        * Describe SCRIP remapping in nco_rgr.c
        * Segregate parts of nco_sld.[ch] into nco_ppc.[ch] and nco_rgr.[ch]
        * Situate nco_rgr_ctl() between main() and all regridding routines
        * Tidy string functions by DYW and PVN
        * Makefile generates LINUX_C?? compiler defaults for MACOSX
        * Introduce special variable handling with --rgr_var
        * Wait until after ESMC_Finalize() to free dynamic memory provided to ESMF
        * Improve nco_rgr_esmf() genericity
        * Refine MACOSX linking for libesmf.a
        * Fix bug in call to ESMC_GridCreateFromFile(). Simple ESMF regridding works.
        * Annotate ESMF variables and calls
        * Add regression test for unchunking variables with _Shuffle set
        * Utilize extensible functions to format/access Tempest regridding commands
        * Enumerate Tempest (tps) rename commands
        * Add dummy call to Tempest remap GenerateRLLMesh
        * Eliminate borken nco_sng2array() (which failed on single-element lists) in favor of nco_lst_prs_2D()
        * Merge rgr (formerly dyw) branch back into master
        * Use generic NC_SHUFFLE and NC_NOSHUFFLE tokens
        * Set shuffle to false before unchunking variables. Fixes bug #74 reported by Dave Allured.
        * Support GCC under MacPorts on MacOSX using
        * Fix MacOSX Yosemite LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) issues:
        * Changed name of dyw branch to rgr (for "regrid")
        * Add to configure: -lesmf -lrt -lgfortran -ldl -lnetcdff -lnetcdf_c++
        * Merge changes from master into dyw branch:
        * Quiet printing extended filetype for dbg_lvl=2
        * Revamp regridding command-line interface, initialization, and deallocation
        * Makefile/ESMF appears to pass regression tests
        * Fix memory issues with rgr_arg
        * Re-built MACOSX with XTools 6.2 clang 6.0 LLVM 3.5 for OS 10.10 Yosemite: No problems
        * Add regression test for changing _FillValue in netCDF4 file
        * Turn-off flg_netCDF4_rename_trick in nco_att_utl.c if NC_LIB_VERSION >= 434
        * Add cf2.cdl to test different approaches to CF group extension questions
        * Various typo corrections to documentation
        * Add --enable_esmf option to configure
        * Add EMSF option to Makefile
        * Move ESMF functions to nco_sld.[ch]
        * Fix bugs in dyw branch
        * Tag nco-4.4.9-alpha to test new release procedure
        * Build on
        * Finish cnk_plc=nco implementation so plc/map=nco/nco means all/rew
        * Document "coordinates" attribute modification
        * Test git change as dyw
        * Quiet printing of extended filetype for dbg_lvl=2
        * Created remote upstream branches dyw, hmb, and pvn
        * Change on master by csz
        * Refine .gitignore's for configure-make
        * Fix regression tests to account for new "coordinates" attributes
        * Eliminate dimensions from "coordinates" attribute after collapsing them
        * Tighten new -x warning WARNING
        * Warn when coordinate variables intended to be excluded by -x and -C was not invoked
        * Add .gitignore's to clean up git status output
        * Create csz branch for local work on 4.4.9
        * Replace SF source addresses with GitHub source addresses
        * Document Git transition procedure
        * Remove CVS keyword expansions by copying un-expanded originals over from CVS tree
        * Create for Github
        * Clean-up ChangeLog
        * Worked on CVS->SVN-->Git migration all week. Preserving tags is hard.
        * Final procedure was something like:
        * One week of documentation improvements while SF was down
        * More inclusive definition of "coordinate variables" to avoid quantizing
        * Never quantize upwards floating point values of zero
        * Implement PPC in ncecat, ncflint (revert ncbo)
        * Correctly format brackets on indices of missing_values in nco_prn.c
        * Rewrite tables with new less-lossy NSD algorithm
        * Implement rounding (DSD) on integer types
        * Prevent bitmasking (NSD) on integer types
        * Prevent bitmasking when desired precision exceeds representable precision
        * Preserve one extra bit for NC_DOUBLE, based on empirical tests results with ppc=array(1.234567,1.e-6,$dmn)
        * Add pure float version of nco_var_around()
        * Bitmask-up to ones instead of down to zeros every other element to avoid bias in rounded mean
        * Document mabs/mebs/mibs
        * Add nco_op_typ=mabs, mebs, mibs for maximum, mean, minimum absolute value
        * Increase prc_bnr_xpl_rqr by 2 so prc_bnr_xpl_rqr=prc_bnr_ceil. Fixes NSD=1 for Q?? in
        * Reduce verbosity of dbg_lvl_std
        * Implement PPC in ncwa.c, ncra.c
        * Use -O3 not -O4 on clang
        * Document PPC efficacy in tbl_ppc_nc
        * Fix ppc used in ncpdq
        * Explicit cast instead of implicit coercion to squelch many MSVC warnings
        * Put string.h headers in nco_cln_utl.h
        * Add isblank() for MSVC
        * Fix nco_var_lst_add() call in ncap_lex.l to restore g++ compilation capability
        * Fix compiling problems on MSVC
        * Implement cnk plc_nco and cause it and map_rew to do map_rew for 3-D otherwise map_lfp
        * Optimize nco_ppc_set_var(), fail on invalid variable names
        * Fully document PPC, NSD, DSD
        * Specifying PPC triggers dfl_lvl=1 on netCDF4 if not otherwise set
        * Allow PPC on netCDF3
        * Warn on incorrect NSD input
        * Change generic name from LSD to PPC (precision-preserving compression)
        * Implement threshold precision that turns-off LSD on per-variable basis
        * DSD and NSD compression both appear to work and pass all regressions
        * Zero two additional bits from significand in nco_var_bitmask()
        * Fix missing value treatment in nco_var_bitmask()
        * Change nco_var_around() from lrint() to rint() (duh!)
        * Dynamically allocate dimension string info in nco_prn_var_dfn() so NCO works on AIRS files with loooong dimension names
        * Functionalize NSD algorithm into nco_var_bitmask()
        * Prototype NSD algorithm compiles, runs, and appears to work as expected
        * Demonstrate LSD failure on lsd_bgr, need real precision algorithm
        * Add LSD to ncpdq, document in nco.texi, regression tests
        * Move nco_lsd_att_prc() from main.c into nco_xtr_dfn() for maintainability
        * DYW added least_significant_digit attribute
        * Move DYW functions to new nco_sld.[ch] files
        * Use tgamma() instead of gamma() on MacOSX
        * Tidy --enable-custom warnings on clang
        * Fix automake error on
        * Fix LSD on MM3 codepath by using brute force instead of hash table in trv_tbl_var_nm_fll()
        * Clean-up rx code for LSD by DYW
        * Deprecate -D_BSD_SOURCE -D_POSIX_SOURCE in favor of -D_DEFAULT_SOURCE in configure
        * Fix nco_var_typ_trv() prototype for C++ compilers
        * LSD implementation in MM3 code compiles cleanly yet has problem finding traversal objects
        * Introduce nco_var_around() calls in MM3 write/copy code
        * Patch nco_mss_val_get() to avoid invalid free()---now nco_var_around() can work
        * Regressions now fixed. Failures may have been due to excessive .tmp files in regression directory.
        * Do not call nco_var_around when lsd == NC_MAX_INT, ensure lsd always initialized
        * Implement multiple LSD options by Dingying Wei (DYW). Currently broken.
        * Improve ISO8601 functionality with nco_cln_sng_rbs()
        * Quiet CEWIs exposed by GCC 4.9.2
        * Verify recent (20150109+) netCDF library snapshots fix coordinate renaming problems yet break attribute renaming
        * Introduce -D_DEFAULT_SOURCE in place of deprecated (as of gcc 4.9.2) -D_BSD_SOURCE -D_POSIX_SOURCE
        * Add --lbr, --library to ncap2 to facilitate link-path debugging
        * New ncecat regression test to verify concatentated coordinates do not gain new record dimension
        * Implement temporary fix for autoconf issues
        * Discovered that NCO autotools do not follow autoconf guidelines
        * Add autobld/compile: Wrapper for compilers which do not understand '-c -o'. Required by autoconf/configure on FC21.
        * NCO_CHECK_FUNCS() for nc_rename_grp() and nc_inq_format() in configure
        * Change copyright year to 2015 and tweak LICENSE from "can" to "may"
        * Introduce stubs to print calendar "time since"dates in more human-readable format
        * Impose nco_*() namespace convention on var_scv_*() and scv_var_*() routines
        * --lsd ready-to-go except needs per-variable option and needs to avoid coordinates
        * Add nco_var_around() to enhance zlib compression by making it lossy up to specified precision
        * defdim() now accepts an additional optional arg UNLIMITED or LIMITED
        * Warn when appended output type differs from input type (legal yet sketchy with -A)

Fri Jan  2 15:34:08 UTC 2015 -

- Updated to 4.4.7
    * Warn when appended output type differs from input type
    * Regression tests show no failures on gcc and clang Linux and MacOS
      One non-fatal failure on icc Linux (yellowstone) ncecat#9
      Output file is chunked differently than expected. Mysterious.
    * Initialize input chunksize defaults correctly for ncwa, ncecat, ncpdq
    * Replace strncpy() in sng_trm_trl_zro() with explicit loop to prevent valgrind complaining about,
      and Mac OS X crashing on, overlapping source and destination buffers
    * Support passing (int *)NULL to nc_inq_format_extended() stub
    * Fix GSL and UDUnits flags in Makefile (fixes yellowstone builds)
    * Use new NC_HAS_HDF4 to report HDF4 support with ncks -r
    * Document new chunking features
    * cnk_rew appears to work for rank = 3. Need larger datasets to be sure.
    * Tidy nco_bld_crd_aux()
    * Add regression test for non-coordinate dimension auxiliary coordinate variables
    * Almost finished implementing cnk_rew
    * cnk_min=0 sets minimum size of variables to chunk as twice blocksize
    * Using -X now imposes CNV_CCM_CCSM_CF=True regardless of Conventions attribute
    * Add regression for auxiliary coordinates
    * First regression-free version in three weeks
    * Now that nco_cnk_sz_set_trv() always called, allow it to work when ncecat creates new record dimension
    * Fix long-time bug where nco_cpy_var_dfn_trv() incorrectly sets dmn_cmn[].is_rec_var for record dimensions affected by
      --fix_rec_dmn or --mk_rec_dmn invocation (always set incorrectly except on first variable affected)
    * Adjust regression tests to work with --cnk_min. Document --cnk_min.
    * ncap_cst_mk() in checks that record dim is the first dim in list ONLY if nc3 file
      and nc4 file. This also allows users to define vars with multiple record dims.
    * Add hidden feature to defdim(): when dim_sz < 0 then dim is defined as unlimited
    * Replace NETCDF4_ROOT by NETCDF_ROOT in configure
    * Add --cnk_min to specify minimum size (default 8kB) in bytes of variable to chunk
    * Change --enable-dap-netcdf to --enable-dap
    * Add cnk.cdl to test chunking algorithms
    * Add cnk_map=nco to assign to current NCO-recommended map
    * Always call chunking
    * Stubs for cnk_map = nc4 for default netCDF4 chunking (same as unchunking for now?)
    * Change links to online discussion forums from, e.g., to to eliminate new circular reference errors from sf webserver
    * Rationalize regression tests with new chunking defaults (xst, xst)
    * Ensure user-specified full chunking paths take precedence over relative paths
    * Simplify nco_cnk_sz_set_trv()
    * Fix ncrename regression tests
    * Build from (not in.cdl due to ncgen chunksize problems and bugs) for regression tests
    * Add numerous regression tests to evaluate nc_rename_var/dim() behavior.
    * Avoid nc_rename_var/dim() bug in netCDF4 files by avoiding nc_redef()/nc_enddef(). No dice.
    * Improve hdr_pad, ncrename documentation
    * Add NCO_VERSION for consistency with NC_VERSION
    * Document newly discovered ncrename problems due to netCDF4 bugs
    * Check more error return codes in ncrename.c. Verifies NCO does not ignore any netCDF errors.
    * Add regression checks for valid values in renamed coordinates in netCDF4 files
    * Change to real Python convention where -1 is last element, e.g., -2 is penultimate element, -N is first element

Sat Nov  1 22:43:12 UTC 2014 -

- Updated to 4.4.6
  * Add negative zero syntax to select last element of hyperslab.
  * Avoid void arithmetic in USE_NC4_SRD_WORKAROUND.
  * Change important nco_calloc() to nco_malloc() for speed.
  * Fix ncwa handling of packed variables for minimization/maximization.
  * Implement strncasecmp() for Windows and MSVC compilers.
  * Fix count bug in USE_NC4_SRD_WORKAROUND.
  * Implement USE_NC4_SRD_WORKAROUND by default in all applicable cases,
    i.e.,  for singly strided hyperslab access to netCDCF4 files.
  * Implement workaround to nc_get_vars() slowdown for netCDF4 in netCDF
    library Workaround avoids nc_get_vars() and instead loops through calls
    to nc_get_vara() Workaround implemented in nco_msa_get_var_trv() and
    activated, for now, by -D 6.
  * Finish ncrename rewrite. All capabilities work. No regressions.
    Some debugging, syntax, and documentation remains to be done.
  * Use netcdf_meta.h in nco.h to enable chunking/deflation calls for HDF4.
  * ncrename now builds and works again for all but attributes.
  * Print extended file format as _SOURCE_FORMAT with ncks --hdn.
  * Remove nco_dmn_usr_sng() and nco_obj_usr_sng() due to flawed algorithms.
  * Finish ncrename re-write for variables, groups, and dimensions.
    NCO versions 4.3.3-4.4.5 broke "." support and did not fully support
    groups.  Those versions renamed first and ignored subsequent instances
    of old_nm.  Now ncrename fails as intended when required objects are not
    present.  Attributes are more complex and are still broken.
  * Support netCDF 4.3.3 netcdf_meta.h in nco_netcdf.h so NC_HAVE_RENAME_GRP
    is found.
  * Add regression tests to make ncrename die when required entities not
  * Fix bug with ncra --dbl on packed variables with missing values.
  * Add debugging statements to track netCDF4 stride slowdown.
  * Note locations which assume record dimension is in first position.
  * Start to generalize ncra.c so single record dimensions can occupy any
  * Add regression test to demonstrate bug with ncra --dbl on
    packed float variables with missing values.
  * Implement missing getopt() line for file_format switch.
  * ./configure now checks for daperror() instead of nc__opendap().
  * Add NC_EIO error clarifications.
  * Create -V = --var_val = -Q --no_nm_prn for ncks to print only variable
  * Document -Q and -V and switch --quiet to -Q (not -q) and synonomize -q
    with --quench.
  * Clarify WARNING when record dimension size changes.
  * ncap2 command-line and script arguments can now both be specified AND
    executed.  Command-line args are executed before script:
    ncap2 -v -s "lon=longitude" -S

Tue Sep  2 17:01:40 UTC 2014 -

- Updated to 4.4.5
  * New Features
  - NCO now supports stdin input file lists up to ~50 MB long.  This applies
    to all NCO multi-file operators (ncra, ncea, ncrcat).  The previous limit
    was 10 MB.  The new limit suffices for 30 years of hourly datasets where
    each dataset name is 192 bytes long.  One NASA user is averaging 10 years
    of data, or 87600 files.  Who will be the first user to break the million
    file barrier?
  - NCO now supports the CF ancillary_variables convention described at This convention allows
    ancillary variables to be associated with one or more primary variables.
    NCO attaches any such variables to the extraction list along with the
    primary variable and its coordinates and bounds, if any.
  - NCO now accesses DAP files on HTTPS servers. Previously NCO would only
    test filenames beginning with "http://" for DAP access.  Now NCO also
    tests filenames beginning with "https://" for DAP.  If you use DAP servers
    with a protocol besides HTTP or HTTPS please tell us so we can enable NCO
    for those services too.
  - ncks --grp_xtr_var_xcl: Group Extraction Variable Exclusion.  This new
    switch helps control variable and group extraction. Normally NCO works in
    "intersection mode" where the objects extracted are the intersection of
    arguments to -g and -v. And the --union switch can be used to make their
    union.  As of 4.4.4 (June, 2014), ncks (alone) supports an option to
    include specified groups yet exclude specified variables.  The
    --grp_xtr_var_xcl switch (with long option equivalent --gxvx extracts all
    contents of groups given as arguments to -g except for variables given as
    arguments to -v.  Use this when one or a few variables in hierarchical
    files are not to be extracted, and all other variables are.  This is
    useful when coercing netCDF4 files into netCDF3 files such as with
    converting, flattening, or dismembering files.
  - ncks --grp_xtr_var_xcl -g g1 -v v1 # Extract all of group g1 except v1
  - New chunking policy r1d changes chunksize of 1-D record variables (and no
    other variables) to specified (with --cnk_dmn) chunksize.  Any specified
    record dimension chunksizes will be applied to 1-D record variables only.
    Other dimensions may be chunked with their own --cnk_dmn options that will
    apply to all variables.  For example,
    ncks --cnk_plc=r1d --cnk_dmn=time,1000.  This sets time chunks to 1000
    only in 1-D record variables.  Without the r1d policy, time chunks would
    change in all variables.  Not to be confused with chunking map rd1.
    Thanks to James Adams for suggesting this.

Tue Jul 15 00:15:31 UTC 2014 -

- Updated to 4.4.4
  * Improve NCO compliance with NASA Reuse-Readiness Levels (RRLs)
    Reorganize documentation on citation, authorship, copyright, and licensing
  * Document NARR example of SLD statistics
  * Add pnetCDF token stubs. Build pnetCDF-enabled netCDF4 in /usr/local/parallel.
  * Filenames that begin with https:// now trigger DAP access code path

Thu May  1 19:14:45 UTC 2014 -

- Updated to 4.4.3
  * Attempt regular expression parsing in nco_dmn_avg_mk() only when
    user explicitly specifies dimensions to process. This allows ncwa
    to work on files with crazy HDF names for dimensions.
  * Clean-up warnings for crazy HDF names

Mon Mar  3 22:10:53 UTC 2014 -

- Updated to 4.4.2
  * Slightly simplify logic in calling/utilizing nco_inq_format_extended()
  * Restore explanatory messages for new ncrename regression failures
  * Remove test group with hidden attributes from in_grp.cdl to prevent build
    failures with netCDF 4.1.1-Isolate this group in new file hdn.cdl so that builds and regressions pass.
Thu Dec 19 01:40:43 UTC 2013 -

- Updated to 4.3.9
  * Rename old ncea program to nces (netCDF ensemble statistics)
  * Rename old ncea-mode to ncfe-mode (netCDF file ensemble)
  * Rename old nces-mode to ncge-mode (netCDF group ensemble)

Wed Nov 27 18:46:31 UTC 2013 -

- Updated to 4.3.8
  * Add example of removing "bounds" variable
  * Add -7 synonym switch for fl_fmt=netcdf4_classic

Wed Sep 11 01:29:01 UTC 2013 -

- Updated to 4.3.4
    * Document and test --hdf_upk in all other applicable operators
    * Add ncpdq regression test to re-pack 1D variable from HDF convention to
       netCDF convention
    * Move header information from nco_netcdf.c to nco_netcdf.h
    * Tidy UDUnits parsing/handling code
    * Standardize UDUnits code on opaque return values, not shell return values

Sun Apr 28 20:29:29 UTC 2013 -

- Updated to 4.3.0
  * (Current Stable Release) ncbo -g; ncatted NULs; ncap2 rounding; ncks
    metadata bugfix
  * 4.2.6: Record appending with ncra/ncrcat --rec_apn; ncflint --fix_rec_crd;
    RX's in full paths; Correct dimension/coordinate scopes; ncks MM3 bugfix;
  * 4.2.5: ncks --mk_rec_dmn bugfix; ncks subsetting bugfix
  * 4.2.4: Group wildcards; Group anchoring and recursion; Intersection/union
    modes; ncrename global att. handling; ncea bugfix; ncra bugfix
  * 4.2.3: Group Path Editing (GPE); ncecat bugfix
  * 4.2.2: ncks, ncecat support groups; --hdr_pad all operators; ncks prints
    underscores; fixes to --[mk/fix]_rec_dmn; ncpdq fix; ncwa on Windows;

Tue Sep  4 18:00:36 UTC 2012 -

- Updated to 4.2.1
  * --ram_all for diskless files; --no_tmp_fl to bypass temporary files;
    Negative indices for hyperslabs; ncpdq unpacks coordinate variables;
    ncra/ncrcat DRN/MRO options; ncra/ncrcat rebase bounds;
  * 4.2.0: ncecat "fixes" auxiliary coordinates and bounds; ncks uses nc__open,
    format NC_INT with %i; ncra -y ttl fix; ncrcat UDUnits fix; ncwa and ncap2
    limited NaN support; Microsoft Visual Studio support;

Sat Mar 31 16:43:32 UTC 2012 -

- Updated to 4.1.0
  * Added DENABLE_NETCDF4 and DHAVE_NETCDF4_H to "really" add netcdf4 support
  * MD5 digests; ncap2 sorts & maps; ncks MM3 workaround; ncrename/ncatted
    chmods; ncatted NaN support
  * 4.0.9: Fix over-zealous ncap2 packing; Fix ncea -y ttl; Fix/improve ncap2
    print, array(); Warn when appending variables of suspicious record length;
    Warn when NC_MAX_ATTRS exceeded

Fri Apr 29 19:36:02 UTC 2011 -

- Updated to 4.0.8
  * Support HPSS; Workaround netCDF NOFILL bug (upgrade recommended); Support
    CF bounds; CF noleap not no_leap; Fix ncatted overwrite-mode; Fix NC_BYTE

Sun Mar 20 01:06:20 UTC 2011 -

- Updated to 4.0.7
  * Fix degenerate hyperslab bug (upgrade recommended)

Thu Feb  3 23:54:45 UTC 2011 -

- Updated to 4.0.6
  * clang-compliance; Fix ncra YYYYMMDD-date bug; Extract all associated
    coordinates; Tighten ncbo warnings; ncpdq warns when _FillValue outside
    packing range

Fri Oct 15 18:48:45 UTC 2010 -

- Update to 4.0.5
  * Fix ncks hyperslabbing bug; Fix ncra CF "coordinate" bug