Skip to content
Commits on Source (4)
......@@ -6,7 +6,7 @@ Henry Butowsky
'ncra' and 'ncwa'. Type conversion for arithmetic. Migration to
netCDF3 API. 'ncap2' parser, lexer, GSL-support, and I/O.
Multislabbing algorithm. Variable wildcarding. Numerous hacks.
'ncap2' language.
'ncap2' language. Mesh intersection algorithms.
Rorik Peterson
Original autotool build support. Long command-line options.
Original UDUnits support. Debianization. Numerous bug-fixes.
......@@ -18,6 +18,8 @@ Harry Mangalam
Benchmarking. OPeNDAP configuration.
Pedro Vicente
Windows Visual Studio support. netCDF4 groups.
Joseph O'Rourke
Computational Geometry routines
Russ Rew
Advice on NCO structural algorithms
Brian Mays
......
This diff is collapsed.
Charlie Zender wrote most of NCO and holds all NCO copyrights.
He licenses NCO under the GNU GPL3 (see file COPYING).
He places NCO under the BSD 3-Clause license (see file COPYING).
Advance permission must be sought from him for any usage or
(re-)distribution of NCO code not compliant with the GPL.
(re-)distribution of NCO code not compliant with the BSD.
Contact him at <surname at uci dot edu>. His surname is zender.
All other NCO contributors either explicitly assigned their copyrights
......
All source code created by the NCO project and distributed with NCO is
re-distributable under the terms of the GNU General Public License
(GPL) Version 3. The full license text is at
http://www.gnu.org/copyleft/gpl.html and in the file COPYING.
re-distributable under the terms of the 3-Clause BSD License.
The full license text is at
https://opensource.org/licenses/BSD-3-Clause and in the file COPYING.
Copyright information is in the file COPYRIGHT.
As a special exception to the terms of the GPL, you are permitted
to link the NCO source code with the HDF, netCDF, OPeNDAP, and UDUnits
You are permitted to link NCO with the HDF, netCDF, OPeNDAP, and UDUnits
libraries and to distribute the resulting executables under the terms
of the GPL, but in addition obeying the extra stipulations of the
of the BSD, but in addition obeying the extra stipulations of the
HDF, netCDF, OPeNDAP, and UDUnits licenses.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
See the 3-Clause BSD License for more details.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -140,7 +140,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
......@@ -396,8 +396,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -539,7 +539,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
......
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.15'
[am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.15.1], [],
m4_if([$1], [1.16.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
......@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.15.1])dnl
[AM_AUTOMAKE_VERSION([1.16.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -332,13 +332,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
......@@ -346,49 +345,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
# TODO: see whether this extra hack can be removed once we start
# requiring Autoconf 2.70 or later.
AS_CASE([$CONFIG_FILES],
[*\'*], [eval set x "$CONFIG_FILES"],
[*], [set x $CONFIG_FILES])
shift
for mf
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile which includes
# dependency-tracking related rules and includes.
# Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|| continue
am_dirpart=`AS_DIRNAME(["$am_mf"])`
am_filepart=`AS_BASENAME(["$am_mf"])`
AM_RUN_LOG([cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles]) || am_rc=$?
done
if test $am_rc -ne 0; then
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).])
fi
AS_UNSET([am_dirpart])
AS_UNSET([am_filepart])
AS_UNSET([am_mf])
AS_UNSET([am_rc])
rm -f conftest-deps.mk
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
......@@ -397,18 +388,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
# This code is only required when automatic dependency tracking is enabled.
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
# order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -495,8 +485,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target (and possibly the TAP driver). The
# system "awk" is bad on some platforms.
......@@ -563,7 +553,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <http://www.gnu.org/software/coreutils/>.
that behaves properly: <https://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
......@@ -605,7 +595,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -626,7 +616,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -645,7 +635,7 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Copyright (C) 1998-2017 Free Software Foundation, Inc.
# Copyright (C) 1998-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -666,7 +656,7 @@ fi])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -701,7 +691,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -709,49 +699,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
# Check whether make has an 'include' directive that can support all
# the idioms we need for our automatic dependency tracking code.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
cat > confinc.mk << 'END'
am__doit:
@echo this is the am__doit target
@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
;;
esac
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
AS_CASE([$?:`cat confinc.out 2>/dev/null`],
['0:this is the am__doit target'],
[AS_CASE([$s],
[BSD], [am__include='.include' am__quote='"'],
[am__include='include' am__quote=''])])
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
done
rm -f confinc.* confmf.*
AC_MSG_RESULT([${_am_result}])
AC_SUBST([am__include])])
AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -792,7 +775,7 @@ fi
# Obsolete and "removed" macros, that must however still report explicit
# error messages when used, to smooth transition.
#
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -819,7 +802,7 @@ AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -848,7 +831,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -895,7 +878,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -914,7 +897,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -995,7 +978,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1055,7 +1038,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1083,7 +1066,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1102,7 +1085,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......
......@@ -4,7 +4,7 @@
# Requires GNU Make---AT&T Make chokes on GNU syntax
# Copyright (C) 1994--present Charlie Zender
# License: GNU General Public License (GPL) Version 3
# License: 3-Clause BSD License
# See http://www.gnu.org/copyleft/gpl.html for full license text
# Quickie test copies:
......
......@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
Version: 4.9.1
Version: 4.9.2
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
License: BSD
URL: http://nco.sf.net/
# Obtain NCO version 4.9.1-1 tar.gz from Sourceforge using CVS:
# Obtain NCO version 4.9.2-1 tar.gz from Sourceforge using CVS:
# cvs -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco login
# cvs -z3 -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco co -r nco-4.9.1-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.9.1/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
# cvs -z3 -d:pserver:anonymous@nco.cvs.sf.net:/cvsroot/nco co -r nco-4.9.2-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.9.2/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
......@@ -108,6 +108,9 @@ fi
# %{_libdir}/libnco++.so
%changelog
* Fri Feb 14 2020 Charlie Zender <zender@uci.edu> - 4.9.2-1
- new upstream 4.9.2
* Thu Dec 19 2019 Charlie Zender <zender@uci.edu> - 4.9.1-1
- new upstream 4.9.1
......
......@@ -5,20 +5,20 @@
# Usage:
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.9.1.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.9.1 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.9.1 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.9.1 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.9.1 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.9.1
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.9.1
# /usr/bin/scp ${DATA}/nco-4.9.2.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.9.2 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.9.2 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.9.2 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.9.2 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.9.2
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.9.2
# Export daily snapshot
# ${HOME}/nco/bld/nco_dst.pl --dbg=2
......@@ -256,7 +256,7 @@ if($bld){
# Set up FTP server
chdir $dst_pth_pfx or die "$prg_nm: ERROR unable to chdir to $dst_pth_pfx: $!\n"; # $! is system error string
cmd_prc("$cp_cmd $doc_fl ./$dst_vrs/doc"); # Copy derived documentation to source directory
cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.9.1/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.9.2/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
cmd_prc("$rsh_cmd $www_mch $rm_cmd $www_drc/src/$dst_fl"); # Remove any distribution with same name
if($dly_snp){cmd_prc("$rsh_cmd $www_mch $rm_cmd -r $www_drc/src/nco-????????.tar.gz");} # Remove previous daily snapshots from WWW server
cmd_prc("$rcp_cmd $dst_fl $www_mch:$www_drc/src"); # Copy local tarfile to WWW server
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.9.1.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.9.2.
#
# Report bugs to <nco-bugs@lists.sourceforge.net>.
#
......@@ -592,8 +592,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='NCO netCDF Operators'
PACKAGE_TARNAME='nco'
PACKAGE_VERSION='4.9.1'
PACKAGE_STRING='NCO netCDF Operators 4.9.1'
PACKAGE_VERSION='4.9.2'
PACKAGE_STRING='NCO netCDF Operators 4.9.2'
PACKAGE_BUGREPORT='nco-bugs@lists.sourceforge.net'
PACKAGE_URL=''
 
......@@ -703,7 +703,6 @@ am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__quote
am__include
DEPDIR
OBJEXT
......@@ -792,7 +791,8 @@ PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
SHELL
am__quote'
ac_subst_files=''
ac_user_opts='
enable_option_checking
......@@ -1388,7 +1388,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures NCO netCDF Operators 4.9.1 to adapt to many kinds of systems.
\`configure' configures NCO netCDF Operators 4.9.2 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1459,7 +1459,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of NCO netCDF Operators 4.9.1:";;
short | recursive ) echo "Configuration of NCO netCDF Operators 4.9.2:";;
esac
cat <<\_ACEOF
 
......@@ -1625,7 +1625,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
NCO netCDF Operators configure 4.9.1
NCO netCDF Operators configure 4.9.2
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2491,7 +2491,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by NCO netCDF Operators $as_me 4.9.1, which was
It was created by NCO netCDF Operators $as_me 4.9.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -3260,7 +3260,7 @@ fi
# End pvmgetarch Compatibility
 
# Use automake to create Makefiles
am__api_version='1.15'
am__api_version='1.16'
 
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
......@@ -3746,7 +3746,7 @@ fi
 
# Define the identity of the package.
PACKAGE='nco'
VERSION='4.9.1'
VERSION='4.9.2'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -3776,8 +3776,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
 
# We need awk for the "check" target (and possibly the TAP driver). The
......@@ -3828,7 +3828,7 @@ END
Aborting the configuration process, to ensure you take notice of the issue.
 
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <http://www.gnu.org/software/coreutils/>.
that behaves properly: <https://www.gnu.org/software/coreutils/>.
 
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
......@@ -4704,45 +4704,45 @@ DEPDIR="${am__leading_dot}deps"
 
ac_config_commands="$ac_config_commands depfiles"
 
am_make=${MAKE-make}
cat > confinc << 'END'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
cat > confinc.mk << 'END'
am__doit:
@echo this is the am__doit target
@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
am__quote=
_am_result=GNU
;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=.include
am__quote="\""
_am_result=BSD
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
case $?:`cat confinc.out 2>/dev/null` in #(
'0:this is the am__doit target') :
case $s in #(
BSD) :
am__include='.include' am__quote='"' ;; #(
*) :
am__include='include' am__quote='' ;;
esac ;; #(
*) :
;;
esac
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf
done
rm -f confinc.* confmf.*
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
$as_echo "${_am_result}" >&6; }
 
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
......@@ -21580,7 +21580,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by NCO netCDF Operators $as_me 4.9.1, which was
This file was extended by NCO netCDF Operators $as_me 4.9.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21646,7 +21646,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
NCO netCDF Operators config.status 4.9.1
NCO netCDF Operators config.status 4.9.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......@@ -21765,7 +21765,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
 
 
# The HP-UX ksh and POSIX shell print the target directory to stdout
......@@ -22760,29 +22760,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
# TODO: see whether this extra hack can be removed once we start
# requiring Autoconf 2.70 or later.
case $CONFIG_FILES in #(
*\'*) :
eval set x "$CONFIG_FILES" ;; #(
*) :
set x $CONFIG_FILES ;; #(
*) :
;;
esac
shift
for mf
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile which includes
# dependency-tracking related rules and includes.
# Grep'ing the whole file directly is not great: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$mf" |
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|| continue
am_dirpart=`$as_dirname -- "$am_mf" ||
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$am_mf" : 'X\(//\)[^/]' \| \
X"$am_mf" : 'X\(//\)$' \| \
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$am_mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
......@@ -22800,53 +22806,48 @@ $as_echo X"$mf" |
q
}
s/.*/./; q'`
else
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
# from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
am_filepart=`$as_basename -- "$am_mf" ||
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
X"$am_mf" : 'X\(//\)$' \| \
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$am_mf" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\(\/\/\)$/{
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir=$dirpart/$fdir; as_fn_mkdir_p
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles" >&5
(cd "$am_dirpart" \
&& sed -e '/# am--include-marker/d' "$am_filepart" \
| $MAKE -f - am--depfiles) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } || am_rc=$?
done
if test $am_rc -ne 0; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).
See \`config.log' for more details" "$LINENO" 5; }
fi
{ am_dirpart=; unset am_dirpart;}
{ am_filepart=; unset am_filepart;}
{ am_mf=; unset am_mf;}
{ am_rc=; unset am_rc;}
rm -f conftest-deps.mk
}
;;
"libtool":C)
......
......@@ -4,13 +4,13 @@
# Newer autoconf convention names this file configure.ac, formerly configure.in
# Copyright (C) 2003--present Charlie Zender
# License: GNU General Public License (GPL) Version 3
# License: 3-Clause BSD License
# See http://www.gnu.org/copyleft/gpl.html for full license text
# Usage:
# autoconf
# cd ~/nco;aclocal;autoheader;automake --foreign;autoconf
# cd ~/nco;make distclean;aclocal;autoheader;automake --foreign;autoconf;configure;make install
# cd ~/nco;make distclean;aclocal;autoheader;automake --foreign;autoconf;configure;make ianstall
# cd ~/nco;autoreconf --force
# cd ~/nco;for fl in NEWS README AUTHORS ChangeLog ; do ln -s doc/${fl} ${fl};done;autoreconf --force
......@@ -54,7 +54,7 @@
# 20170808: Choose between traditional version and Git-based version
# If Git, consider that Linux dynamic libraries will have full messy name, MacOSX will not
# https://stackoverflow.com/questions/43526939/how-to-insert-git-based-version-in-autoconf-managed-project
AC_INIT([NCO netCDF Operators],[4.9.1],[nco-bugs@lists.sourceforge.net],[nco])
AC_INIT([NCO netCDF Operators],[4.9.2],[nco-bugs@lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
......
......@@ -319,10 +319,10 @@ make install
# NB: aims4 and acme1 only accept connections from whitelisted domains (e.g., uci.edu)
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
export PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/bin':${PATH}
export LD_LIBRARY_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib':${LD_LIBRARY_PATH}
export PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/bin':${PATH}
export LD_LIBRARY_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/lib':${LD_LIBRARY_PATH}
# NB: Necessary to explicitly specify NETCDF_BIN and NETCDF_LIB. NETCDF_ROOT may be borken.
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
......@@ -339,7 +339,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
# NB: Necessary to explicitly specify NETCDF_BIN and NETCDF_LIB. NETCDF_ROOT may be borken.
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
......@@ -398,8 +398,8 @@ cd ~/nco/bld;make ANTLR_ROOT=${HOME} GSL_ROOT='/glade/u/apps/ch/opt/gsl/2.4/gnu/
# Sysadmin upgrade request: rc-support@pnnl.gov # PNNL Maintainer = Tim Carlson ?
# Latest ticket: 20190525 ICS-4099 (closed in 1 day!)
# Latest sysadmin-compiled module usage: module add nco # 20190524 default version is 4.7.9
# Personal recipe last modified: 20190525
# Personal recipe last used successfully: 20190525
# Personal recipe last modified: 20200114
# Personal recipe last used successfully: 20200114
# 20190526: DAP functionality is present in libnetcdf but missing in my NCO because configure does not find libcurl although it is definitely in /lib64/libcurl.so.*
# 20190806: Must load modules prior to (re-)building otherwise system GCC 4.8.5 C++ compiler will not link to g++ 8.1.0 Antlr library
module purge
......@@ -408,7 +408,7 @@ module load mvapich2/2.3.1 # Required for ncclimo/ncremap in MPI-mode
module load netcdf/4.6.3
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' LDFLAGS='-L/lib64' UDUNITS2_PATH='/share/apps/udunits/2.2.26' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' LDFLAGS='-L/lib64' NETCDF_INC='/share/apps/netcdf/4.6.3/gcc/8.1.0/include' NETCDF_LIB='/share/apps/netcdf/4.6.3/gcc/8.1.0/lib' UDUNITS2_PATH='/share/apps/udunits/2.2.26' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
......@@ -450,6 +450,23 @@ make clean;make > nco.make.${GNU_TRP}.foo 2>&1
make check >> nco.make.${GNU_TRP}.foo 2>&1
make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# 20200131 Optimize build for Cori KNL (use NERSC compiler wrappers)
# This "works" yet shows no weight-generation speed advantages compared to Haswell
# 20200203: KNL-optimized binaries on login nodes (Haswell) cause "Illegal Instruction" errors
# However, default (Haswell-optimized) binaries on compute nodes (KNL) have not yet caused "Illegal Instruction" errors
# Until/unless speed advantage is demonstrated, avoid KNL-optimized environment for compilation
module swap craype-haswell craype-mic-knl
module swap PrgEnv-intel PrgEnv-gnu
module load gcc # Activate GCC8
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
ANTLR_ROOT=${HOME} ANTLR_LIB=${HOME}/lib_cori CC='cc' CXX='CC' GSL_ROOT='/global/common/sw/cray/cnl7/haswell/gsl/2.5/gcc/8.3.0/yfdt2hw' NETCDF_INC='/opt/cray/pe/netcdf/4.6.3.2/gnu/8.2/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.6.3.2/gnu/8.2/lib' NETCDF_ROOT='/opt/cray/pe/netcdf/4.6.3.2' UDUNITS2_PATH='/global/common/sw/cray/cnl7/haswell/udunits2/2.2.24/gcc/8.2.0/y4j6eez' ./configure --prefix=${HOME} --bindir=${HOME}/bin_cori --datadir=${HOME}/nco/data --libdir=${HOME}/lib_cori --mandir=${HOME}/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
make check >> nco.make.${GNU_TRP}.foo 2>&1
make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on cori with Intel:
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do # NERSC Maintainer = Yun (Helen) He
......@@ -506,11 +523,11 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE'
export LINUX_CXX='g++ -std=c++11'
export LINUX_FC='gfortran'
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib
export NETCDF_ROOT=/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox
export PATH=${PATH}:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.3.0/lib
export NETCDF_ROOT=/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.3.0
export PATH=${PATH}:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.3.0/bin
cd ~/nco;git reset --hard origin/master
cd ~/nco/bld;make ANTLR_ROOT=${HOME} NETCDF_ROOT='/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox' OPTS=D OMP=Y allinone;cd -
cd ~/nco/bld;make ANTLR_ROOT=${HOME} NETCDF_ROOT='/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.3.0' OPTS=D OMP=Y allinone;cd -
# 20160421: gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on roger:
# Sysadmin upgrade request: Yan Liu <yanliu@illinois.edu>
......
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -339,8 +339,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -399,7 +399,10 @@ ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
......
......@@ -63,7 +63,7 @@
netcdf in {
dimensions:
dgn=1,bnd=2,lat=2,lat_grd=3,lev=3,rlev=3,ilev=4,lon=4,lon_grd=5,char_dmn_lng80=80,char_dmn_lng26=26,char_dmn_lng04=4,date_dmn=5,fl_dmn=3,lsmlev=6,wvl=2,time_udunits=3;lon_T42=128,lat_T42=64,lat_times_lon=8,gds_crd=8,gds_ncd=8,vrt_nbr=2,lon_cal=10,lat_cal=10,Lon=4,Lat=2,time=unlimited;
dgn=1,bnd=2,lat=2,lat_grd=3,lev=3,rlev=3,ilev=4,lon=4,lon_grd=5,char_dmn_lng80=80,char_dmn_lng26=26,char_dmn_lng04=4,date_dmn=5,fl_dmn=3,lsmlev=6,wvl=2,time_udunits=3;lon_T42=128,lat_T42=64,lat_times_lon=8,gds_crd=8,gds_ncd=8,lon_cal=10,lat_cal=10,Lon=4,Lat=2,pck_crd=4,vrt_nbr=2,time=unlimited;
variables:
:Conventions = "CF-1.5";
:history = "History global attribute.\nTextual attributes like history often have embedded newlines like this.\nSuch newlines should serve as linebreaks on the screen to enhance legibility like this.\nFriendly CDL converters print a single NC_CHAR attribute as a comma-separated list of strings where each embedded delimiter marks a linebreak. This makes poetry embedded in CDL much nicer to read (except for the printed literal \\n\'s---those are an eyesore):\n\nA POET by Hafiz\n\nA poet is someone\nWho can pour light into a cup,\nThen raise it to nourish\nYour beautiful parched, holy mouth\n";
......@@ -544,6 +544,12 @@ variables:
pck_arr:scale_factor = 1.0d;
pck_arr:add_offset = 0.0d;
short pck_crd(pck_crd);
pck_crd:long_name = "Coordinate array variable, float, packed as short";
pck_crd:note = "Packed value is -32767s, 0s, 1s, 32767s, unpacked is factor of 10 different, offset by 73 in float";
pck_crd:scale_factor = 10.0f;
pck_crd:add_offset = 73.0f;
double upk;
upk:long_name = "Unpacked scalar variable";
upk:note = "Unpacked value is 3.0d0, upk=unpack(pck)= 2.0d0*1s + 1.0d0 = 3.0d0. Packing this variable should create an NC_SHORT scalar = 0s with packing attribute add_offset=3.0d and either no scale_factor (ncap) or scale_factor = 0.0d (ncpdq).";
......@@ -1564,6 +1570,7 @@ data:
pck_7=1;
rec_var_pck_scale_factor_only=1,2,3,4,5,6,7,8,9,10;
pck_arr=-32767,0,1,32767;
pck_crd=-32767,0,1,32767;
pi=3.1415926535897932384626433832795029;
pi_arr_dbl=3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029;
pi_arr_flt=3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029,3.1415926535897932384626433832795029;
......
// -*-C++-*-
// Purpose: Test netCDF filters with LZ4 compression
// Generate netCDF file with:
// ncgen -k netCDF-4 -b -o ~/nco/data/lz4.nc ~/nco/data/lz4.cdl
netcdf lz4 {
dimensions:
dim0 = 4 ;
dim1 = 4 ;
dim2 = 4 ;
dim3 = 4 ;
variables:
float var(dim0, dim1, dim2, dim3) ;
var:_Storage = "chunked" ;
var:_ChunkSizes = 4, 4, 4, 4 ;
// var:_Filter = "307,9" ; // BZIP2 level 9
var:_Filter = "32004,9" ; // LZ4 level 9
var:_NoFill = "true" ;
data:
// ncap2 -O -v -s 'defdim("dmn",256);val=array(0,1,$dmn);print(val)' ~/nco/data/in.nc ~/foo.nc;ncks -s "%d, " ~/foo.nc
var = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255;
}
......@@ -6,18 +6,17 @@
# Copyright (C) 2015--present Charlie Zender
# This file is part of NCO, the netCDF Operators. NCO is free software.
# You may redistribute and/or modify NCO under the terms of the
# GNU General Public License (GPL) Version 3.
# 3-Clause BSD License.
# As a special exception to the terms of the GPL, you are permitted
# to link the NCO source code with the HDF, netCDF, OPeNDAP, and UDUnits
# You are permitted to link NCO with the HDF, netCDF, OPeNDAP, and UDUnits
# libraries and to distribute the resulting executables under the terms
# of the GPL, but in addition obeying the extra stipulations of the
# of the BSD, but in addition obeying the extra stipulations of the
# HDF, netCDF, OPeNDAP, and UDUnits licenses.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
# See the 3-Clause BSD License for more details.
# The original author of this software, Charlie Zender, seeks to improve
# it with your suggestions, contributions, bug-reports, and patches.
......@@ -72,6 +71,11 @@ drc_spt="$( cd -P "$( dirname "${spt_src}" )" && pwd )"
spt_nm=$(basename ${spt_src}) # [sng] Script name (unlike $0, ${BASH_SOURCE[0]} works well with 'source <script>')
spt_pid=$$ # [nbr] Script PID (process ID)
# 20200110 Qi Tang reports his batch scripts on Cori that use netCDF4 map-files fail unless he sets this
if [ -z "${HDF5_USE_FILE_LOCKING}" ]; then
export HDF5_USE_FILE_LOCKING='FALSE'
fi # HDF5_USE_FILE_LOCKING
# Configure paths at High-Performance Computer Centers (HPCCs) based on ${HOSTNAME}
if [ -z "${HOSTNAME}" ]; then
if [ -f /bin/hostname ] && [ -x /bin/hostname ]; then
......@@ -112,8 +116,8 @@ if [ "${hrd_pth}" = 'Yes' ] && [ "${NCO_PATH_OVERRIDE}" = 'Yes' ]; then
hrd_pth_fnd='Yes' # [sng] Machine-dependent paths/modules for HOSTNAME found in database
case "${HOSTNAME}" in
acme1* | aims4* )
export PATH='/export/zender1/bin:/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/bin'\:${PATH}
export LD_LIBRARY_PATH='/export/zender1/lib:/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib'\:${LD_LIBRARY_PATH} ; ;;
export PATH='/export/zender1/bin:/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/bin'\:${PATH}
export LD_LIBRARY_PATH='/export/zender1/lib:/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.3.0/lib'\:${LD_LIBRARY_PATH} ; ;;
blues* | blogin* | b[0123456789][0123456789][0123456789] )
export PATH='/home/zender/bin'\:${PATH}
export LD_LIBRARY_PATH='/home/zender/lib'\:${LD_LIBRARY_PATH} ; ;;
......@@ -165,7 +169,7 @@ if [ "${hrd_pth}" = 'Yes' ] && [ "${NCO_PATH_OVERRIDE}" = 'Yes' ]; then
module load esmf
fi # !ncremap
export PATH='/ccs/home/zender/bin_rhea'\:${PATH}
export LD_LIBRARY_PATH='/ccs/home/zender/lib_rhea:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib'\:${LD_LIBRARY_PATH} ; ;;
export LD_LIBRARY_PATH='/ccs/home/zender/lib_rhea:/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.3.0/lib'\:${LD_LIBRARY_PATH} ; ;;
theta* )
export PATH='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/bin'\:${PATH}
export LD_LIBRARY_PATH='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/lib'\:${LD_LIBRARY_PATH} ; ;;
......@@ -186,6 +190,7 @@ if [ "${hrd_pth}" = 'Yes' ] && [ "${NCO_PATH_OVERRIDE}" = 'Yes' ]; then
esac # !HOSTNAME
fi # !hrd_pth && !NCO_PATH_OVERRIDE
# Test cases ($DATA/[grids/maps] refers to ~zender/data/[grids/maps] on Charlie's test machines)
# Production usage:
# ncclimo -a sdd -c B1850C5_ne30_v0.4 -s 1 -e 59 -i /gpfs/alpine/cli115/proj-shared/mbranst/B1850C5_ne30_v0.4/atm/hist -o ${DATA}/ne30/clm
# ncclimo -a sdd -c b1850c5_m2a -s 1 -e 127 -i /gpfs/alpine/cli115/proj-shared/b1850_acmev0_highres/atm/hist/fullfiles -o ${DATA}/ne120/clm
......@@ -202,7 +207,7 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# ncclimo -C ann -m mpas -s 1851 -e 1852 -i ${DATA}/hdf/mpasLIoutput.nc -o ${DATA}/mpas/clm > ~/ncclimo.out 2>&1 &
# Debugging and Benchmarking:
# ncclimo -v FSNT,AODVIS,TREFHT -c famipc5_ne30_v0.3_00003 -s 1980 -e 1983 -i ${DATA}/ne30/raw -o ${DATA}/ne30/clm -R ${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc
# ncclimo -v FSNT,AODVIS,TREFHT -c famipc5_ne30_v0.3_00003 -s 1980 -e 1983 -i ${DATA}/ne30/raw -o ${DATA}/ne30/clm -r ${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc
# ncclimo --var_lst=FSNT,AODVIS --caseid=famipc5_ne30_v0.3_00003 --yr_srt=1980 --yr_end=1983 --drc_in=${DATA}/ne30/raw --drc_out=${DATA}/ne30/clm --rgr_map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc
# ncclimo -v TOTEXTTAU -c merra2_198001.nc4 -s 1980 -e 2015 -a sdd -i ${DATA}/merra2/raw -o ${DATA}/merra2/clm
# ncclimo > ~/ncclimo.out 2>&1 &
......@@ -246,7 +251,7 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# Daily pipe:
# cd ${DATA}/ne30/raw;ls *h1*.nc | ncclimo --dbg=1 --job_nbr=8 --caseid=famipc5_ne30_v0.3_00007 --clm_md=dly -s 2001 -e 2002 --var=PRECT,TREFHT --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# Diurnal pipe:
# cd ${DATA}/ne30/raw;ls *h4*.nc | ncclimo --dbg=1 --job_nbr=8 --caseid=famipc5_ne30_v0.3_00007 --clm_md=dly --tpd=8 -s 2001 -e 2002 --var=PREC<T,TS,FSDS --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# cd ${DATA}/ne30/raw;ls *h4*.nc | ncclimo --dbg=1 --job_nbr=8 --caseid=famipc5_ne30_v0.3_00007 --clm_md=dly --tpd=8 -s 2001 -e 2002 --var=PRECT,TS,FSDS --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# SGS:
# ncclimo -d 1 -v TBOT,FSDS -m clm2 -c essgcm14 -s 1 -e 1 -i ${DATA}/essgcm14 -o ${DATA}/ne30/rgr --map=${DATA}/maps/map_t42_to_cmip6_180x360_nco.20190601.nc --sgs_frc=${DATA}/grids/clm2_landfrac_t42.nc/landfrac
# ncclimo -d 1 -v TBOT,FSDS -m clm2 -c F_acmev03_enso_camse_clm45bgc_ne30_co2cycle -s 2000 -e 2000 -i ${DATA}/ne30/raw -o ${DATA}/ne30/rgr --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_aave.20181001.nc --sgs_frc=${DATA}/grids/elm_landfrac_ne30.nc/landfrac
......@@ -312,14 +317,14 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# Cori a): echo '#!/bin/bash' > ~/ncclimo.slurm
# echo "ncclimo -a scd -d 1 -p mpi -c famipc5_ne30_v0.3_00003 -s 1980 -e 1983 -i ${DATA}/ne30/raw -o ${DATA}/ne30/clm -r ${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc" >> ~/ncclimo.slurm;chmod a+x ~/ncclimo.slurm
# Rhea a): echo '#!/bin/bash' > ~/ncclimo.slurm
# echo "ncclimo -a scd -d 1 -p mpi -c famipc5_ne120_v0.3_00003 -s 1980 -e 1983 -i /gpfs/alpine/cli115/world-shared/mbranst/famipc5_ne120_v0.3_00003-wget-test -o ${DATA}/ne120/clm -r ${DATA}/maps/map_ne120np4_to_fv257x512_aave.20150901.nc" > ~/ncclimo.slurm;chmod a+x ~/ncclimo.slurm
# echo "ncclimo -a scd -d 1 -p mpi -c famipc5_ne120_v0.3_00003 -s 1980 -e 1983 -i /gpfs/alpine/cli115/world-shared/mbranst/famipc5_ne120_v0.3_00003-wget-test -o ${DATA}/ne120/clm -r ${DATA}/maps/map_ne120np4_to_fv257x512_aave.20150901.nc" >> ~/ncclimo.slurm;chmod a+x ~/ncclimo.slurm
# Blues b): qsub -A ACME -q acme -l nodes=1 -l walltime=00:30:00 -N ncclimo -j oe -m e -o ~/ncclimo.out ~/ncclimo.pbs
# Cheyenne b): qsub -A SCSG0002 -l select=12:ncpus=36:mpiprocs=1 -l walltime=00:30:00 -q regular -N ncclimo -j oe -m e -o ~/ncclimo.out ~/ncclimo.pbs
# Compy b): sbatch -A e3sm --nodes=12 --time=00:30:00 --job-name=ncclimo --mail-type=END --output=${HOME}/ncclimo.out ~/ncclimo.slurm
# Cooley b): qsub -A OceanClimate_2 --nodecount=12 --time=00:30:00 --jobname ncclimo --error ~/ncclimo.err --output ~/ncclimo.out --notify zender@uci.edu ~/ncclimo.cobalt
# Cori b): sbatch -A acme -C haswell --nodes=12 --time=00:30:00 --partition=debug --job-name=ncclimo --mail-type=END --output=${HOME}/ncclimo.out ~/ncclimo.slurm
# Oldrhea b):qsub -A CLI115 -V -l nodes=12 -l walltime=00:30:00 -N ncclimo -j oe -m e -o ~/ncclimo.out ~/ncclimo.pbs
# Rhea b): sbatch -A CLI115 --nodecount=12 --time=00:30:00 --job-name=ncclimo --mail-type=END --output=${HOME}/ncclimo.out ~/ncclimo.slurm
# Rhea b): sbatch -A CLI115 --nodes=12 --time=00:30:00 --job-name=ncclimo --mail-type=END --output=${HOME}/ncclimo.out ~/ncclimo.slurm
# NB: stdout/stderr files returned from batch jobs are read-protected, need 'chmod 644 ~/ncclimo.out' afterwards
# Normal use: Set five "mandatory" inputs (caseid, yr_srt, yr_end, drc_in, drc_out), and possibly rgr_map, on command line
......@@ -398,6 +403,8 @@ while [ -h "${nco_exe}" ]; do
done
drc_nco="$( cd -P "$( dirname "${nco_exe}" )" && pwd )"
nco_vrs=$(ncks --version 2>&1 > /dev/null | grep NCO | awk '{print $5}')
nco_sng=$(ncks --version 2>&1 > /dev/null | grep NCO | awk -F '"' '{print $2}')
# 20190218: Die quickly when NCO is found yet cannot run, e.g., due to linker errors
if [ -z "${nco_vrs}" ]; then
echo "${spt_nm}: ERROR ${nco_exe} dies with error message on next line:"
......@@ -504,7 +511,7 @@ sbs_flg='No' # [sng] Split (subset) climatologies
sgs_frc='' # [sng] Sub-grid fraction variable
std_chk='Yes' # [sng] Check stdin for input file list
thr_nbr=2 # [nbr] Thread number for regridder
tpd_out=1 # [nbr] Timesteps-per-day in ouput
tpd_out=1 # [nbr] Timesteps-per-day in output
#var_lst='FSNT,AODVIS' # [sng] Variables to process (empty means all)
var_lst='' # [sng] Variables to process (empty means all)
var_lst_rx_xtr='No' # [sng] Process var_lst to expand rx
......@@ -755,17 +762,16 @@ if [ ${psn_nbr} -ge 1 ]; then
fi # !psn_nbr
if [ ${vrs_prn} = 'Yes' ]; then
printf "${spt_nm}, the NCO climatology operator, version ${nco_vrs}\n"
printf "${spt_nm}, the NCO climatology operator, version ${nco_vrs} \"${nco_sng}\"\n"
printf "Copyright (C) 2016--present Charlie Zender\n"
printf "This program is part of NCO, the netCDF Operators\n"
printf "NCO is free software and comes with a BIG FAT KISS and ABSOLUTELY NO WARRANTY\n"
printf "You may redistribute and/or modify NCO under the terms of the\n"
printf "GNU General Public License (GPL) Version 3 with exceptions described in the LICENSE file\n"
printf "GPL: http://www.gnu.org/copyleft/gpl.html\n"
printf "3-Clause BSD License with exceptions described in the LICENSE file\n"
printf "BSD: https://opensource.org/licenses/BSD-3-Clause\n"
printf "LICENSE: https://github.com/nco/nco/tree/master/LICENSE\n"
printf "Config: ${spt_nm} running from directory ${drc_spt}\n"
printf "Config: Call NCO binaries in directory ${drc_nco}\n"
printf "Config: NCO Binaries linked to netCDF library version ${lbr_vrs}\n"
printf "Config: ${spt_nm} script located in directory ${drc_spt}\n"
printf "Config: NCO binaries located in directory ${drc_nco}, linked to netCDF library version ${lbr_vrs}\n"
if [ "${hrd_pth_fnd}" = 'Yes' ]; then
printf "Config: Employ NCO machine-dependent hardcoded paths/modules for ${HOSTNAME}. (If desired, turn-off NCO hardcoded paths with \"export NCO_PATH_OVERRIDE=No\").\n"
else
......@@ -1037,7 +1043,7 @@ if [ -n "${fl_fmt}" ]; then
nco_opt="${nco_fl_fmt} ${nco_opt}"
fi # !fl_fmt
if [ ${dbg_lvl} -ge 2 ]; then
nco_opt="-D ${dbg_lvl} ${nco_opt}"
nco_opt="--dbg_lvl=${dbg_lvl} ${nco_opt}"
fi # !dbg_lvl
if [ -n "${var_lst}" ] && [ "${sbs_flg}" != 'Yes' ]; then
if [ "${xcl_flg}" = 'Yes' ]; then
......@@ -1222,7 +1228,8 @@ if [ "${sbs_flg}" = 'Yes' ]; then
if [ "${clm_md}" = 'ann' ]; then
fpy=1
elif [ "${clm_md}" = 'dly' ]; then
fpy=${dpy}
dpf=1
let fpy=${dpy}/${dpf}
elif [ "${clm_md}" = 'mth' ]; then
fpy=12
fi # !clm_md
......
This diff is collapsed.
nco (4.9.1-2) UNRELEASED; urgency=medium
nco (4.9.2-1) UNRELEASED; urgency=medium
TODO: Resolve license issue:
https://github.com/nco/nco/issues/177
* New upstream release.
* Bump Standards-Version to 4.5.0, no changes.
* Update copyright file, changes:
- NCO license changes to BSD-3-Clause.
-- Bas Couwenberg <sebastic@debian.org> Sat, 25 Jan 2020 10:48:27 +0100
-- Bas Couwenberg <sebastic@debian.org> Sat, 15 Feb 2020 06:33:52 +0100
nco (4.9.1-1) unstable; urgency=medium
......
......@@ -6,9 +6,9 @@ Source: https://github.com/nco/nco/releases
Files: *
Copyright: 1995-2019, Charlie Zender
Comment: Charlie Zender wrote most of NCO and holds all NCO copyrights.
He licenses NCO under the GNU GPL3 (see file COPYING).
He places NCO under the BSD 3-Clause license (see file COPYING).
Advance permission must be sought from him for any usage or
(re-)distribution of NCO code not compliant with the GPL.
(re-)distribution of NCO code not compliant with the BSD.
Contact him at <surname at uci dot edu>. His surname is zender.
.
All other NCO contributors either explicitly assigned their copyrights
......@@ -24,13 +24,39 @@ Comment: Charlie Zender wrote most of NCO and holds all NCO copyrights.
Charlie Zender
Department of Earth System Science
University of California, Irvine
License: GPL-3 with NCO exception
Irvine, CA 92697-3100
.
.
All source code created by the NCO project and distributed with NCO is
re-distributable under the terms of the 3-Clause BSD License.
The full license text is at
https://opensource.org/licenses/BSD-3-Clause and in the file COPYING.
Copyright information is in the file COPYRIGHT.
.
You are permitted to link NCO with the HDF, netCDF, OPeNDAP, and UDUnits
libraries and to distribute the resulting executables under the terms
of the BSD, but in addition obeying the extra stipulations of the
HDF, netCDF, OPeNDAP, and UDUnits licenses.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the 3-Clause BSD License for more details.
License: BSD-3-Clause
Files: autobld/ltmain.sh
Copyright: 1996-2001, 2003-2011, Free Software Foundation, Inc.
License: GPL-2+ with Libtool exception
Files: autobld/texinfo.tex
Copyright: 1985-1986, 1988, 1990-2013, Free Software Foundation, Inc.
License: GPL-3+ with Texinfo exception
Files: src/nco/nco_crt.c
src/nco/nco_crt.h
src/nco/nco_sph.c
Copyright: 1997, Joseph O'Rourke
License: BSD-2-Clause and GPL-3 with NCO exception
License: BSD-2-Clause and BSD-3-Clause
Files: src/nco/nco_getopt.c
src/nco/nco_getopt.h
......@@ -41,14 +67,6 @@ Files: src/nco/nco_uthash.h
Copyright: 2003-2013, Troy D. Hanson http://troydhanson.github.com/uthash
License: BSD-1-Clause
Files: autobld/ltmain.sh
Copyright: 1996-2001, 2003-2011, Free Software Foundation, Inc.
License: GPL-2+ with Libtool exception
Files: autobld/texinfo.tex
Copyright: 1985-1986, 1988, 1990-2013, Free Software Foundation, Inc.
License: GPL-3+ with Texinfo exception
Files: src/nco++/nco_gsl.c
src/nco++/nco_gsl.h
Copyright: 1996-2000, Jim Davies
......@@ -58,17 +76,18 @@ Comment: re-implement GSL functions without arithmetic changes _except_
that the NCO version (prefixed with nco_) accepts a missing value argument which,
if non-NULL, indicates data to be "skipped", i.e., treated as missing.
.
GSL and NCO are both distributed under the GPL3 license.
GSL is distributed under the GPL3 license.
NCO distributed under the BSD license.
The GSL code is copyright by its respective authors.
The NCO modifications that provide missing value support are, in addition,
Copyright (C) 2013--2014 Charlie Zender
License: GNU General Public License (GPL) Version 3
Copyright (C) 2013--present Charlie Zender
License: 3-Clause BSD License
See http://www.gnu.org/copyleft/gpl.html for full license text
.
Original GSL files, copyright holders, and authors of functions below are:
gsl/fit/linear.c: Copyright (C) 2000 Brian Gough
statistics/covar_source.c: Copyright (C) 1996, 1997, 1998, 1999, 2000 Jim Davies, Brian Gough */
License: GPL-3 with NCO exception
statistics/covar_source.c: Copyright (C) 1996, 1997, 1998, 1999, 2000 Jim Davies, Brian Gough
License: GPL-3 and BSD-3-Clause
Files: src/nco/nco_md5.c
Copyright: 1995-2014, Charlie Zender
......@@ -79,7 +98,7 @@ Comment: This NCO file contains the entirety of the MD5 implementation by
The NCO-copyright applies only to the NCO-specific functions.
LPD's md5.c is included in a nearly unaltered state.
That code is covered by LPD's copyright. */
License: GPL-3 with NCO exception and LPD-MD5
License: BSD-3-Clause and LPD-MD5
Files: debian/*
Copyright: 1999-2002, Brian Mays <brian@debian.org>
......@@ -87,28 +106,6 @@ Copyright: 1999-2002, Brian Mays <brian@debian.org>
2011-2014, Francesco Paolo Lovergine <frankie@debian.org>
License: GPL-2+
License: GPL-3 with NCO exception
All source code created by the NCO project and distributed with NCO is
re-distributable under the terms of the GNU General Public License
(GPL) Version 3. The full license text is at
http://www.gnu.org/copyleft/gpl.html and in the file COPYING.
Copyright information is in the file COPYRIGHT.
.
As a special exception to the terms of the GPL, you are permitted
to link the NCO source code with the HDF, netCDF, OPeNDAP, and UDUnits
libraries and to distribute the resulting executables under the terms
of the GPL, but in addition obeying the extra stipulations of the
HDF, netCDF, OPeNDAP, and UDUnits licenses.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
.
On Debian systems, the full text of the GNU General Public License
version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
License: GPL-3+ with Texinfo exception
This texinfo.tex file is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
......@@ -176,6 +173,21 @@ License: GPL-2+
On Debian systems, the complete text of version 2 of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL-2'.
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
On Debian systems, the full text of the GNU General Public License
version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
License: BSD-1-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
......@@ -219,6 +231,33 @@ License: BSD-2-Clause
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
.
2) Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
.
3) Neither the name of the ORGANIZATION nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
License: MIT
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
......
$Header$ -*-text-*-
The netCDF Operators NCO version 4.9.1 are woke.
Happy Valentine's Day! Love, the netCDF Operators NCO version 4.9.2.
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Version 4.9.1 contains an important bugfix for vertical interpolation,
and two small new feature for ncclimo and ncpdq. It also fixes some
autoconf-build issues that affected some users with Intel compilers,
and those attempting parallel builds of NCO.
Work on NCO 4.9.2 has commenced and will improve NCO weight-generator
We have re-licensed NCO source code from GPL3 to 3-Clause BSD
starting with Version 4.9.2. Why? To encourage wider adoption
and support. Without institutional (i.e., federal agency) support,
NCO development would crawl to a standstill. We are acceding
to the preferences of our occasional sponsors (DOE, NASA, NSF)
for permissive OpenSource licenses.
Version 4.9.2 contains many regridding fixes and features:
Improved adoption has made the NCO weight-generator more robust.
Its signature strengths are speed and ultra-high resolution support.
It can create ~3 km global maps from in under an hour to and from
some (not all) grids including FV physics grids (ne1024pg2), MPAS
grids, and RLL grids. Problems remain, though ncremap also supports
ESMF and TempestRemap so take your pick. Moreover the map checker,
ncks --chk_map, produces improved metrics with fewer false alarms.
Work on NCO 4.9.3 has commenced and will improve NCO weight-generator
accuracy, reduce vertical interpolation memory use, and supply more
accurate weight generation options for rectangular lat-lon grids.
......@@ -28,72 +39,72 @@ Charlie
NEW FEATURES (full details always in ChangeLog):
A. ncremap changes the default regridder algorithm from ESMF
"bilinear" to NCO "nco_con", a first-order conservative algorithm
(similar to ESMF "conserve") that requires no external
dependencies. Because the default algorithm comes with NCO, users
without access to ESMF and/or TempestRemap can perform a full
regridding workflow. Of course many/most users will still wish to
employ ESMF or TR, and their algorithms are easily accessed:
ncremap -a nco -s grd_src.nc -d grd_dst.nc -m map.nc # New default
ncremap -a bilin -s grd_src.nc -d grd_dst.nc -m map.nc # Old default
ncremap -a fv2fv -s grd_src.nc -d grd_dst.nc -m map.nc # Tempest
http://nco.sf.net/nco.html#alg_typ
A. ncremap now supports vertical interpolation of pure-pressure
files to hybrid grids when the surface PS is included in the
pure-pressure data-file rather than the vertical grid-file.
Moreover, the PS may be time-varying. This feature permits
full decoupling of PS from the vertical grid-file which allows
for more elegant manipulation of vertical grid-files.
ncremap --vrt=vrt.nc ncep.nc hybrid.nc
http://nco.sf.net/nco.html#vrt
B. ncks --chk_map checks for and reports NaN weights.
Previously chk_map generally ignored NaNs in the weight array.
The format of the analysis report has also been improved, and gives
the locations of extrema, i.e., max/min for weights and errors.
The checker takes better account of masks and regional grids and
so now reports fewer false-positive map errors.
ncks --chk_map map.nc
ncks -D 2 --chk_map map.nc # Increased verbosity
http://nco.sf.net/nco.html#chk_map
C. ncremap and ncclimo both now export HDF5_USE_FILE_LOCKING='FALSE'
unless that environment variable already exists. This proves
useful at preventing mysterious crashes, especially in batch mode.
Let us know if this setting causes problems for your workflow.
http://nco.sf.net/nco.html#HDF5_USE_FILE_LOCKING
D. NCO's weight generator can now read unstructured SCRIP gridfiles
created by TempestRemap utilities that do not include the
(supposedly standard) "grid_dims" dimension when converting Exodus
files to SCRIP. The unstructured dimension size is used instead of
the contents of the "grid_dims" variable.
E. ncremap --devnull option controls whether internal (and sometimes
noisy) output from NCO weight-generator is sent to terminal or to
/dev/null. The default is to send internal messages to /dev/null.
This only works with the NCO weight-generator (--alg_typ=nco).
ncremap --devnull=Yes ... # Send internal messages to /dev/null
ncremap --devnull=No ... # Send internal messages to terminal
http://nco.sf.net/nco.html#devnull
http://nco.sf.net/nco.html#ncremap
B. ncclimo can now output spatial-average timeseries.
The new --glb_avg (or --global_average) option causes ncclimo to
perform a spatial mean over the timeseries constructed from the
input data. The main limitation is that it only works for
timeseries whose horizontal spatial dimension is "ncol" and
whose area weight is named "area", as in CAM SE/EAM.
Let us know if this function would be useful to you for other
models and we can easily add options to make these hardwired values
specifiable from the command-line.
ls *mdl*.nc | ncclimo --glb_avg -s 1979 -e 1981 --drc_out=drc_out
http://nco.sf.net/nco.html#ncclimo
http://nco.sf.net/nco.html#glb_avg
C. ncpdq has a new map, flt_dbl, to convert single-precision to
double-precision floating point variables. The resulting variables
are not packed. All single-precision variables, including
coordinates, are promoted. Some software requires geospatial data
in double precision, and this feature simplifies the dataset
conversion.
ncpdq -M flt_dbl in.nc out.nc
ncpdq -M sgl_dbl in.nc out.nc
http://nco.sf.net/nco.html#flt_dbl
F. ncpdq -U now always unpacks all variables, including packed
grid variables (like "lat"). Previously it would not unpack
variables with specially reserved grid names ("lat", "lon", etc.).
Thanks to Susan Rennie for reporting this issue.
This fixes a bug introduced in NCO 4.7.7. Solution is to use
earlier versions of NCO or to upgrade.
http://nco.sf.net/nco.html#ncpdq
BUG FIXES:
A. Fix a difficulty that caused Intel compilers to fail to build NCO.
Now the netcdf.h header, and thus the EXTERNL token, are always
included and defined during autoconf header checks.
Thanks to Matthew Thompson of NASA for reporting the issue, and to
Dave Allured of NOAA for providing the fix.
B. Print WARNING instead of dying when requested to copy the
_NCProperties attribute. That attribute should not but can be
exposed through the netCDF API in some circumstances, and this new
treatment prevents that leakage from breaking workflows. Thanks to
Rotislav for reporting and Dave Allured for helpful discussions.
This is really a feature yet listed as a bug-fix because it is
an incomprehensible technical workaround, the kind of thing users
should never need to know about.
C. Fix an error when interpolating to/from a pure pressure grid.
The minimum pressure was not always being initialized, which caused
(highly) erroneous values when the interpolation type was mss_val.
This bug only affects NCO installations built by compilers that do
not automatically initialize allocated memory to preset values.
Affected output datasets would be obviously corrupted, so nothing
subtle about this bug. There is no workaround, the only fix is to
upgrade. Thanks to Sterling Baldwin for reporting this.
D. Fix misuse of autoconf library references. This foiled parallel
builds, and caused difficulty compiling ncap2. Thanks to Daniel
Macks for identifying and solving the issue.
A. ncks --chk_map statistics no longer scrambled.
Statistics of "normal" global->global conservative maps are
unaffected. Some other types of map-files are.
There is no workaround. Solution is to upgrade.
http://nco.sf.net/nco.html#chk_map
B. ncremap --alg_typ=fv2fv now implements the same TempestRemap
options as --alg_typ=fv2fv_stt. The previous fv2fv options
were not actually as described. Solution is to upgrade.
http://nco.sf.net/nco.html#fv2fv
http://nco.sf.net/nco.html#fv2fv_stt
C. ncremap now passes all NCO options through to ncks.
Previously these options, such as file formats were not passed
and ncks used defaults instead.
There is no workaround. Solution is to upgrade.
Full release statement at http://nco.sf.net/ANNOUNCE
......@@ -101,9 +112,9 @@ 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.9.1 built/tested under
MacOS 10.15.1 with netCDF 4.7.0 on HDF5 1.10.2 and with
Linux with netCDF 4.7.4-development (20191203) on HDF5 1.8.19.
These problems occur with NCO 4.9.2 built/tested under
MacOS 10.15.2 with netCDF 4.7.3 on HDF5 1.10.2 and with
Linux with netCDF 4.7.4-development (20200102) on HDF5 1.8.19.
A. NOT YET FIXED (NCO problem)
Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments
......