Skip to content
Commits on Source (5)
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 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 distdir-am dist dist-all distcheck
cscope distdir 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__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -539,10 +539,7 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
......
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 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-2018 Free Software Foundation, Inc.
# Copyright (C) 2002-2017 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.16'
[am__api_version='1.15'
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.16.1], [],
m4_if([$1], [1.15.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.16.1])dnl
[AM_AUTOMAKE_VERSION([1.15.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-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 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-2018 Free Software Foundation, Inc.
# Copyright (C) 1997-2017 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-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -332,12 +332,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2017 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],
......@@ -345,41 +346,49 @@ 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.
# 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])
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
shift
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
for mf
do
# Strip MF so we end up with the name of the file.
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
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
# limit of 2048, but all sed's we know have understand at least 4000.
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=$?
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
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
......@@ -388,17 +397,18 @@ 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.
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
# order to bootstrap the dependency handling code.
# 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.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -485,8 +495,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:
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://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.
......@@ -553,7 +563,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: <https://www.gnu.org/software/coreutils/>.
that behaves properly: <http://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
......@@ -595,7 +605,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-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -616,7 +626,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -635,7 +645,7 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Copyright (C) 1998-2018 Free Software Foundation, Inc.
# Copyright (C) 1998-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -656,7 +666,7 @@ fi])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -691,7 +701,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -699,42 +709,49 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# AM_MAKE_INCLUDE()
# -----------------
# Check whether make has an 'include' directive that can support all
# the idioms we need for our automatic dependency tracking code.
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
cat > confinc.mk << 'END'
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target >confinc.out
@echo this is the am__doit target
.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=
# 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
done
rm -f confinc.* confmf.*
AC_MSG_RESULT([${_am_result}])
AC_SUBST([am__include])])
AC_SUBST([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
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -775,7 +792,7 @@ fi
# Obsolete and "removed" macros, that must however still report explicit
# error messages when used, to smooth transition.
#
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -802,7 +819,7 @@ AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -831,7 +848,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -878,7 +895,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -897,7 +914,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -978,7 +995,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1038,7 +1055,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1066,7 +1083,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -1085,7 +1102,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......
......@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
Version: 4.9.0
Version: 4.9.1
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
URL: http://nco.sf.net/
# Obtain NCO version 4.9.0-1 tar.gz from Sourceforge using CVS:
# Obtain NCO version 4.9.1-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.0-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.9.0/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.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}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
......@@ -108,7 +108,10 @@ fi
# %{_libdir}/libnco++.so
%changelog
* Mon Dec 04 2019 Charlie Zender <zender@uci.edu> - 4.9.0-1
* Thu Dec 19 2019 Charlie Zender <zender@uci.edu> - 4.9.1-1
- new upstream 4.9.1
* Wed Dec 04 2019 Charlie Zender <zender@uci.edu> - 4.9.0-1
- new upstream 4.9.0
* Mon Jul 01 2019 Charlie Zender <zender@uci.edu> - 4.8.1-1
......
......@@ -5,20 +5,20 @@
# Usage:
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.9.0.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.0 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.9.0 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.9.0 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.9.0 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.9.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.9.0
# /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
# 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.0/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.1/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.0.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.9.1.
#
# 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.0'
PACKAGE_STRING='NCO netCDF Operators 4.9.0'
PACKAGE_VERSION='4.9.1'
PACKAGE_STRING='NCO netCDF Operators 4.9.1'
PACKAGE_BUGREPORT='nco-bugs@lists.sourceforge.net'
PACKAGE_URL=''
 
......@@ -703,6 +703,7 @@ am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__quote
am__include
DEPDIR
OBJEXT
......@@ -791,8 +792,7 @@ PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL
am__quote'
SHELL'
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.0 to adapt to many kinds of systems.
\`configure' configures NCO netCDF Operators 4.9.1 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.0:";;
short | recursive ) echo "Configuration of NCO netCDF Operators 4.9.1:";;
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.0
NCO netCDF Operators configure 4.9.1
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.0, which was
It was created by NCO netCDF Operators $as_me 4.9.1, 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.16'
am__api_version='1.15'
 
# 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.0'
VERSION='4.9.1'
 
 
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:
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://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: <https://www.gnu.org/software/coreutils/>.
that behaves properly: <http://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"
 
{ $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_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo this is the am__doit target >confinc.out
@echo this is the am__doit target
.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=
# 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 ;; #(
*) :
;;
_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
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
done
rm -f confinc.* confmf.*
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
$as_echo "${_am_result}" >&6; }
# 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
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf
 
# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then :
......@@ -17741,7 +17741,12 @@ fi
# Option 2 is to add test/symbol in build-engine, e.g.,
# #if defined(HAVE_NETCDF_MEM_H)
# which requires additional build tests in Autoconf/CMake/Makefile */
ac_fn_c_check_header_mongrel "$LINENO" "netcdf_mem.h" "ac_cv_header_netcdf_mem_h" "$ac_includes_default"
# 20191212 Dave Allured suggests correct procedure is to always include netcdf.h during autoconf header checks. This ensures tokens like EXTERNL (from netcdf.h) are defined in netcdf_mem.h etc.
ac_fn_c_check_header_compile "$LINENO" "netcdf_mem.h" "ac_cv_header_netcdf_mem_h" "#ifdef HAVE_NETCDF_H
# include <netcdf.h>
#endif
"
if test "x$ac_cv_header_netcdf_mem_h" = xyes; then :
 
$as_echo "#define HAVE_NETCDF_MEM_H 1" >>confdefs.h
......@@ -21575,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.0, which was
This file was extended by NCO netCDF Operators $as_me 4.9.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21641,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.0
NCO netCDF Operators config.status 4.9.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......@@ -21760,7 +21765,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
# The HP-UX ksh and POSIX shell print the target directory to stdout
......@@ -22755,35 +22760,29 @@ $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.
# 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
case $CONFIG_FILES in
*\'*) eval set x "$CONFIG_FILES" ;;
*) set x $CONFIG_FILES ;;
esac
shift
# Used to flag and report bootstrapping failures.
am_rc=0
for am_mf
for mf
do
# Strip MF so we end up with the name of the file.
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
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
# limit of 2048, but all sed's we know have understand at least 4000.
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" |
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 '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
......@@ -22801,48 +22800,53 @@ $as_echo X"$am_mf" |
q
}
s/.*/./; q'`
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 '/^.*\/\([^/][^/]*\)\/*$/{
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\/\(\/\/\)$/{
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\/\(\/\).*/{
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
{ 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=$?
as_dir=$dirpart/$fdir; as_fn_mkdir_p
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
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)
......
......@@ -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.0],[nco-bugs@lists.sourceforge.net],[nco])
AC_INIT([NCO netCDF Operators],[4.9.1],[nco-bugs@lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
......@@ -322,7 +322,12 @@ fi
# Option 2 is to add test/symbol in build-engine, e.g.,
# #if defined(HAVE_NETCDF_MEM_H)
# which requires additional build tests in Autoconf/CMake/Makefile */
AC_CHECK_HEADER([netcdf_mem.h],AC_DEFINE([HAVE_NETCDF_MEM_H],1,[Define to 1 if <netcdf_mem.h> is present]),nco_have_netcdf_mem_h=no)
# 20191212 Dave Allured suggests correct procedure is to always include netcdf.h during autoconf header checks. This ensures tokens like EXTERNL (from netcdf.h) are defined in netcdf_mem.h etc.
AC_CHECK_HEADER([netcdf_mem.h],AC_DEFINE([HAVE_NETCDF_MEM_H],1,[Define to 1 if <netcdf_mem.h> is present]),nco_have_netcdf_mem_h=no,
[#ifdef HAVE_NETCDF_H
# include <netcdf.h>
#endif
])
# Begin OpenMP
AC_ARG_ENABLE(openmp,AS_HELP_STRING([--enable-openmp],[Build NCO with OpenMP [default=yes]]),enable_openmp=${enableval},enable_openmp=yes)
......
......@@ -364,7 +364,7 @@ soft add +netcdf-c-4.4.1.1-f77-4.4.4-gcc-5.3.0-serial
soft add +gsl-2.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++' NETCDF_ROOT='/soft/spack-0.10.0/opt/spack/linux-centos6-x86_64/gcc-5.3.0/netcdf-4.4.1.1-2dtwbu4ojkwj5tqd4uqvomnu6ecmh6tx' UDUNITS2_PATH=${HOME} ./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='/soft/spack-0.10.0/opt/spack/linux-centos6-x86_64/gcc-5.3.0/netcdf-4.4.1.1-2dtwbu4ojkwj5tqd4uqvomnu6ecmh6tx' UDUNITS2_PATH=${HOME} ./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='/soft/antlr/2.7.7' CC='gcc' CXX='g++' NETCDF_ROOT='/soft/spack-0.10.0/opt/spack/linux-centos6-x86_64/gcc-5.3.0/netcdf-4.4.1.1-2dtwbu4ojkwj5tqd4uqvomnu6ecmh6tx' UDUNITS2_PATH=${HOME} ./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
......@@ -502,7 +502,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Latest ticket: 381695 on 20180413
# Latest sysadmin-compiled module usage: module load netcdf/4.6.1 nco/4.7.4 # 20180423
# Personal recipe last modified: 20190828
# Personal recipe last used successfully: 20190827 (except ncgen does not link)
# Personal recipe last used successfully: 20191204 (except ncgen does not link)
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'
......@@ -851,7 +851,9 @@ cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
# Pre-20170810 GCC7 dies on nco_yyget_leng() prototype with --enable-debug-custom option
#CC='gcc' CFLAGS='' CXX='g++' CXXFLAGS='' NETCDF_INC='/usr/include' NETCDF_LIB='/usr/lib' ./configure --enable-debug-custom --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
# 20170810 Produce core dumps and symbols, turn-on -Wall, without using --enable-debug-custom
CC='gcc' CFLAGS='-Wall -DNCO_ABORT_ON_ERROR' CXX='g++' CXXFLAGS='-Wall' NETCDF_INC='/usr/include' NETCDF_LIB='/usr/lib' ./configure --enable-debug-symbols --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
#CC='gcc' CFLAGS='-Wall -DNCO_ABORT_ON_ERROR' CXX='g++' CXXFLAGS='-Wall' NETCDF_INC='/usr/include' NETCDF_LIB='/usr/lib' ./configure --enable-debug-symbols --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
# 20191217 Produce core dumps and symbols, turn-on -Wall, without using --enable-debug-custom
CC='gcc' CFLAGS='-Wall -DNCO_ABORT_ON_ERROR' CXX='g++' CXXFLAGS='-Wall' NETCDF_INC='/usr/local/include' NETCDF_LIB='/usr/local/lib' ./configure --enable-debug-symbols --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
......
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 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__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -399,10 +399,7 @@ ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
......
......@@ -202,8 +202,8 @@ 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_fv129x256_aave.20150901.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_fv129x256_aave.20150901.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 &
# ncclimo -c B1850C5e1_ne30 -s 2 -e 199 > ~/ncclimo.out 2>&1 &
......@@ -222,35 +222,37 @@ fi # !hrd_pth && !NCO_PATH_OVERRIDE
# ncclimo -v temperature -c hist -s 2 -e 3 -m ocn -i /gpfs/alpine/cli112/proj-shared/golaz/ACME_simulations/20160121.A_B2000ATMMOD.ne30_oEC.titan.a00/run -r ${DATA}/maps/map_oEC60to30_to_t62_bilin.20160301.nc -o ${DATA}/mpas/clm > ~/ncclimo.out 2>&1 &
# ncclimo -v iceAreaCell -c hist -s 2 -e 3 -m ice -i /gpfs/alpine/cli112/proj-shared/golaz/ACME_simulations/20160121.A_B2000ATMMOD.ne30_oEC.titan.a00/run -r ${DATA}/maps/map_oEC60to30_to_t62_bilin.20160301.nc -o ${DATA}/mpas/clm > ~/ncclimo.out 2>&1 &
# Split pipe:
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm
# Split redirection:
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc > ~/foo;ncclimo --dbg=1 -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm < ~/foo
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc > ~/foo;ncclimo --dbg=1 -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm < ~/foo
# Split stdin switch:
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 --stdin -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 --stdin -s 1979 -e 1981 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm
# Split positional arguments:
# ncclimo --dbg=1 -s 1979 -e 1979 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm ${DATA}/ne30/raw/famipc5_ne30_v0.3_00003.cam.h0.1979-??.nc
# ncclimo --dbg=1 -s 1979 -e 1979 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm ${DATA}/ne30/raw/famipc5_ne30_v0.3_00003.cam.h0.1979-??.nc
# Split directory:
# ncclimo --dbg=1 --ypf=50 -s 1979 -e 1983 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_in=${DATA}/ne30/raw --drc_out=${DATA}/ne30/clm
# ncclimo --dbg=1 --ypf=50 -s 1979 -e 1983 --var=FSNT,AODVIS --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_in=${DATA}/ne30/raw --drc_out=${DATA}/ne30/clm
# Split global mean
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 --glb_avg -s 1979 -e 1981 --var=FSNT,AODVIS --drc_out=${DATA}/ne30/clm
# Split all:
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm
# Split ELM:
# ncclimo --dbg=1 -s 2000 -e 2000 --var=FSDS,TBOT --drc_out=${DATA}/ne30/clm ${DATA}/ne30/raw/F_acmev03_enso_camse_clm45bgc_ne30_co2cycle.clm2.h0.2000-??.nc
# Split vertical:
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --var=T --vrt=${DATA}/grids/vrt_prs_ncep_L17.nc --drc_out=${DATA}/ne30/clm
# cd ${DATA}/ne30/raw;ls *1979-??*.nc *198[01]-??*.nc | ncclimo --dbg=1 -s 1979 -e 1981 --var=T --vrt=${DATA}/grids/vrt_prs_ncep_L17.nc --vrt_xtr=mss_val --drc_out=${DATA}/ne30/clm # Missing value interpolation
# Split production:
# cd /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850S.ne30_oEC_ICG.edison/run;ls *cam.h0.000[1-9]* | ncclimo --dbg=1 --yr_srt=1 --yr_end=9 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# cd /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850S.ne30_oEC_ICG.edison/run;ls *cam.h0.0[012]??* | ncclimo --dbg=1 --yr_srt=1 --yr_end=250 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_fv129x256_aave.20150901.nc --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# cd /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850S.ne30_oEC_ICG.edison/run;ls *cam.h0.000[1-9]* | ncclimo --dbg=1 --yr_srt=1 --yr_end=9 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# cd /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850S.ne30_oEC_ICG.edison/run;ls *cam.h0.0[012]??* | ncclimo --dbg=1 --yr_srt=1 --yr_end=250 --var=FSNT,AODVIS,T --map=${DATA}/maps/map_ne30np4_to_cmip6_180x360_nco.20190601.nc --drc_out=${DATA}/ne30/clm > ~/ncclimo.out 2>&1 &
# 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 &
# 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_fv129x256_aave.20150901.nc --sgs_frc=${DATA}/grids/clm2_landfrac_t42.nc/landfrac
# 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
# Seasons:
# ncclimo -d 1 --csn_lst=mam,jja,son,djf,jfm,on -v FSNT -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 -d 1 --csn_lst=jfm,jas,ann -v FSNT -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 -d 1 --csn_lst=mam,jja,son,djf,jfm,on -v FSNT -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 -d 1 --csn_lst=jfm,jas,ann -v FSNT -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
# Compy Jobs or MPI:
# ncclimo -a sdd -c 20180215.DECKv1b_H1.ne30_oEC.edison -s 2010 -e 2014 -i ${DATA}/ne30/raw -o ${DATA}/ne30/clm -O ${DATA}/ne30/rgr -r ${DATA}/maps/map_ne30np4_to_cmip6_180x360_aave.20181001.nc # ne30 climo on 1 node in full-background (12 jobs) mode
# ncclimo -a sdd --jobs=3 -c 20180410.A_WCYCL1950_HR.ne120_oRRS18v3_ICG.theta -s 1 -e 5 -i ${DATA}/ne120/raw -o ${DATA}/ne120/clm -r ${DATA}/maps/map_ne120np4_to_cmip6_720x1440_aave.20181001.nc # ne120 climo on 1 node in background mode with 3-jobs (to stay under 192 GB RAM limit)
......@@ -472,6 +474,7 @@ fl_fmt='' # [enm] Output file format
fl_nbr=0 # [nbr] Number of files to split
fml_nm='' # [sng] Family name (i.e., nickname, e.g., 'amip', 'control', 'experiment')
gaa_sng_std="--gaa climo_script=${spt_nm} --gaa climo_command=\"'${cmd_ln}'\" --gaa climo_hostname=${HOSTNAME} --gaa climo_version=${nco_vrs}" # [sng] Global attributes to add
glb_avg='No' # [sng] Global average timeseries
hdr_pad='10000' # [B] Pad at end of header section
hst_nm='h0' # [sng] History volume (e.g., 'h0', 'h1', 'h')
inp_aut='No' # [sng] Input file list automatically generated
......@@ -537,6 +540,7 @@ function fnc_usg_prn { # NB: dash supports fnc_nm (){} syntax, not function fnc_
echo "${fnt_rvr}-e${fnt_nrm} ${fnt_bld}yr_end${fnt_nrm} End year (default ${fnt_bld}${yr_end}${fnt_nrm}) [${fnt_tlc}yr_end, end_yr, year_end, end_year, end${fnt_nrm}]"
echo "${fnt_rvr}-f${fnt_nrm} ${fnt_bld}fml_nm${fnt_nrm} Family name (nickname) (empty means none) (default ${fnt_bld}${fml_nm}${fnt_nrm}) [${fnt_tlc}fml_nm, family_name${fnt_nrm}]"
echo " ${fnt_bld}--fl_fmt${fnt_nrm} File format (empty is inherited from input) (default ${fnt_bld}${fl_fmt}${fnt_nrm}) [${fnt_tlc}fl_fmt, fmt_out, file_format, format_out${fnt_nrm}]"
echo " ${fnt_bld}--glb_avg${fnt_nrm} Global average timeseries (default ${fnt_bld}${glb_avg}${fnt_nrm}) [${fnt_tlc}glb_avg, global_average${fnt_nrm}]"
echo "${fnt_rvr}-h${fnt_nrm} ${fnt_bld}hst_nm${fnt_nrm} History volume name (default ${fnt_bld}${hst_nm}${fnt_nrm}) [${fnt_tlc}hst_nm, history_name, history${fnt_nrm}]"
echo "${fnt_rvr}-i${fnt_nrm} ${fnt_bld}drc_in${fnt_nrm} Input directory (default ${fnt_bld}${drc_in}${fnt_nrm}) [${fnt_tlc}drc_in, in_drc, dir_in, in_dir, input${fnt_nrm}]"
echo "${fnt_rvr}-j${fnt_nrm} ${fnt_bld}job_nbr${fnt_nrm} Job simultaneity for parallelism (default ${fnt_bld}${job_nbr}${fnt_nrm}) [${fnt_tlc}job_nbr, job_number, jobs${fnt_nrm}]"
......@@ -698,6 +702,8 @@ while getopts :34567a:C:c:d:E:e:f:h:i:j:L:l:m:n:O:o:p:R:r:S:s:t:v:X:x:Y:y:-: OPT
amwg_link=?* | amwg_links=?* | AMWG_link=?* | AMWG_links=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # # Link E3SM to AMWG name
no_amwg_link | no_amwg_links | no_amwg | no_AMWG_link | no_AMWG_links ) lnk_flg='No' ;; # # Link E3SM to AMWG name
no_amwg_link=?* | no_amwg_links=?* | no_amwg=?* | no_AMWG_link=?* | no_AMWG_links=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # -l # Link E3SM to AMWG name
glb_avg | global_average ) glb_avg='Yes' ;; # # Global average timeseries
glb_avg=?* | global_average=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # # Global average timeseries
mdl_nm=?* | mdl=?* | model_name=?* | model=?* ) mdl_nm_usr="${LONG_OPTARG}" ;; # -m # Model name
nco_opt=?* | nco=?* | nco_options=?* ) nco_opt="${LONG_OPTARG} ${nco_opt}" ;; # -n # NCO options
no_area | no_cll_msr | no_cell_measures ) no_cll_msr='Yes' ;; # # Omit cell_measures variables
......@@ -759,7 +765,7 @@ if [ ${vrs_prn} = 'Yes' ]; then
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: Binaries linked to netCDF library version ${lbr_vrs}\n"
printf "Config: NCO Binaries 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
......@@ -1091,7 +1097,7 @@ else # !rgr_map
fi # !dpt_opt
fi # !rgr_map
if [ "${sbs_flg}" = 'Yes' ]; then
# 20190419: Splitter typically writes 1-3 multi-dimensional fields into each output file
# 20190419: Splitter typically writes 1--3 multi-dimensional fields into each output file
# OpenMP incurs significant RAM overhead that may not be worthwhile
# New default is 1 regridding thread for splitter
# Users can override this splitter-only default by explicitly requesting multiple threads
......@@ -1247,6 +1253,13 @@ if [ "${sbs_flg}" = 'Yes' ]; then
else # !sbs_flg
if [ "${glb_avg}" = 'Yes' ]; then
echo "${spt_nm}: ERROR Global average functionality is intended for time-series (splitting) mode only. If you would like ${spt_nm} to provide global mean output for other types of climatologies, please talk to Charlie."
echo "${spt_nm}: HINT Create global means of climos with, e.g., \"ncwa -w area in.nc out.nc\""
echo "${spt_nm}: HINT See averaging documentation at http://nco.sf.net/nco.html#ncwa"
exit 1
fi # !glb_avg
if [ -z "${out_nm}" ]; then
echo "${spt_nm}: ERROR Missing information needed to generate output filenames"
echo "${spt_nm}: HINT Climo generation requires that users specify a case ID with -c \$caseid or specify with -m \$mdl_nm a recognized model name (like \"mpaso\")"
......@@ -1576,6 +1589,7 @@ if [ ${dbg_lvl} -ge 2 ]; then
printf "dbg: fl_nbr = ${fl_nbr}\n"
printf "dbg: fml_nm = ${fml_nm}\n"
printf "dbg: gaa_sng = ${gaa_sng}\n"
printf "dbg: glb_avg = ${glb_avg}\n"
printf "dbg: hdr_pad = ${hdr_pad}\n"
printf "dbg: hrd_pth = ${hrd_pth}\n"
printf "dbg: hst_nm = ${hst_nm}\n"
......@@ -1893,7 +1907,11 @@ if [ "${sbs_flg}" = 'Yes' ]; then
# CAM-SE contains area (though does not contain lat,lon until regridded)
cam* ) var_lst_xtn=',area' ;;
esac # !mdl_nm
if [ "${glb_avg}" = 'Yes' ]; then
# 20191217 Global average timeseries require area variable
var_lst_xtn=',area'
fi # !glb_avg
for ((sgm_idx=0;sgm_idx<sgm_nbr;sgm_idx++)); do
fl_sgm[${sgm_idx}]=''
......@@ -2026,6 +2044,27 @@ if [ "${sbs_flg}" = 'Yes' ]; then
done # !var_idx
fi # !par_opt
if [ "${glb_avg}" = 'Yes' ]; then
for ((var_idx=var_idx_srt;var_idx<=var_idx_end;var_idx++)); do
cmd_avg[${var_idx}]="${cmd_mpi[${var_idx}]} OMP_PROC_BIND=false ncwa -O -w area -a ncol ${fl_out[${var_idx}]} ${fl_out[${var_idx}]}"
if [ ${dbg_lvl} -ge 1 ]; then
echo ${cmd_avg[${var_idx}]}
fi # !dbg
if [ ${dbg_lvl} -le 1 ]; then
if [ -z "${par_opt}" ]; then
eval ${cmd_avg[${var_idx}]}
if [ "$?" -ne 0 ]; then
printf "${spt_nm}: ERROR spatial average cmd_avg[${var_idx}] failed. Debug this:\n${cmd_avg[${var_idx}]}\n"
exit 1
fi # !err
else # !par_opt
eval ${cmd_avg[${var_idx}]} ${par_opt}
avg_pid[${var_idx}]=$!
fi # !par_opt
fi # !dbg
done # !var_idx
fi # !glb_avg
done # !bch_idx
# Begin loop over variables to regrid
......
#!/bin/bash
# ncremap, the NCO regridder and grid-file, map-file, and weight-generator
# Purpose: Generate weights (i.e., map-files) for and regrid (subsets of) netCDF files between different Swath, Curvilinear, Rectangular, and Unstructured data (SCRUD) horizontal grids, generate any required/requested global or regional rectangular grid, output SCRIP, UGRID, and/or skeleton data formats, and interpolate between any specified pure pressure or hybrid sigma/pressure grids
# Copyright (C) 2015--present Charlie Zender
......@@ -354,7 +356,7 @@ vrb_4=4 # [enm] Verbosity level: Pedantic
# Defaults for command-line options and some derived variables
# Modify these defaults to save typing later
a2o_flg='No' # [flg] Atmosphere-to-ocean (only used by Tempest mesh generator)
alg_typ='bilinear' # [sng] Algorithm for remapping (bilinear|conserve|conserve2nd|nearestdtos|neareststod|patch|tempest|se2fv_flx|se2fv_stt|se2fv_alt|se2se|fv2se_flx|fv2se_stt|fv2se_alt|fv2fv_flx|fv2fv_stt|nco_con)
alg_typ='nco_con' # [sng] Algorithm for remapping (bilinear|conserve|conserve2nd|nearestdtos|neareststod|patch|tempest|se2fv_flx|se2fv_stt|se2fv_alt|se2se|fv2se_flx|fv2se_stt|fv2se_alt|fv2fv_flx|fv2fv_stt|nco_con)
att_flg='No' # [flg] Add/alter attributes (e.g., _FillValue) before regridding
bch_pbs='No' # [sng] PBS batch (non-interactive) job
bch_slr='No' # [sng] SLURM batch (non-interactive) job
......@@ -406,6 +408,7 @@ map_trn_fl='' # [sng] Map-file transpose (for Tempest)
map_mk='No' # [flg] Generate map-file (i.e., map does not yet exist)
map_usr_flg='No' # [flg] User supplied argument to --map option
map_xmp='map.nc' # [sng] Map-file for examples
mbt_flg='No' # [flg] mbtempest front-end to TempestRemap
mlt_map_flg='Yes' # [sng] Multi-map flag
mpi_flg='No' # [sng] Parallelize over nodes
msh_fl='' # [sng] Mesh-file (for Tempest)
......@@ -449,6 +452,7 @@ vrt_opt='' # [sng] Vertical options (e.g., '--rgr xtr_mth=mss_val')
vrt_ntp='' # [sng] Vertical interpolation type (lin|log)
vrt_xtr='' # [sng] Vertical extrapolation type (mss_val|nrs_ngh)
wgt_exe_esmf='ESMF_RegridWeightGen' # [sng] ESMF executable
wgt_exe_mbt='mbtempest' # [sng] MOAB-Tempest executable
wgt_exe_nco='ncks' # [sng] NCO executable
wgt_exe_tps='GenerateOfflineMap' # [sng] TempestRemap executable
wgt_typ='esmf' # [sng] Weight-generator program ('esmf' or 'nco' or 'tempest')
......@@ -483,8 +487,8 @@ function fnc_usg_prn { # NB: dash supports fnc_nm (){} syntax, not function fnc_
echo "${fnt_rvr}-7${fnt_nrm} Output file format NETCDF4_CLASSIC (netCDF4 classic HDF5) [${fnt_tlc}fl_fmt, file_format=netcdf4_classic${fnt_nrm}]"
echo "${fnt_rvr}-a${fnt_nrm} ${fnt_bld}alg_typ${fnt_nrm} Algorithm for weight generation (default ${fnt_bld}${alg_typ}${fnt_nrm}) [${fnt_tlc}alg_typ, algorithm, regrid_algorithm${fnt_nrm}]"
echo " ESMF algorithms: bilinear|conserve|conserve2nd|nearestdtos|neareststod|patch"
echo " NCO algorithms: nco_con"
echo " Tempest algorithms: tempest|se2fv_flx|se2fv_stt|se2fv_alt|se2se|fv2se_flx|fv2se_stt|fv2se_alt|fv2fv_flx|fv2fv_stt"
echo " NCO algorithms: nco_con (1st order conservative algorithm similar to \"conserve\")"
echo " Tempest algorithms: fv2fv|fv2fv_flx|fv2fv_stt|fv2se_flx|fv2se_stt|fv2se_alt|se2fv_flx|se2fv_stt|se2fv_alt|se2se|tempest"
echo " ${fnt_bld}--a2o${fnt_nrm} Atmosphere-to-ocean remap (for Tempest only) (default ${fnt_bld}${a2o_flg}${fnt_nrm}) [${fnt_tlc}a2o, atm2ocn, b2l, big2ltl, l2s, lrg2sml${fnt_nrm}]"
echo "${fnt_rvr}-D${fnt_nrm} ${fnt_bld}dbg_lvl${fnt_nrm} Debug level (default ${fnt_bld}${dbg_lvl}${fnt_nrm}) [${fnt_tlc}dbg_lvl, dbg, debug, debug_level${fnt_nrm}]"
echo "${fnt_rvr}-d${fnt_nrm} ${fnt_bld}dst_fl${fnt_nrm} Data file to infer destination grid from (empty means none, i.e., use grd_fl, grd_sng, or map_fl)) (default ${fnt_bld}${dst_fl}${fnt_nrm}) [${fnt_tlc}dst_fl, destination_file, tpl, tpl_fl, template, template_file${fnt_nrm}]"
......@@ -506,6 +510,7 @@ function fnc_usg_prn { # NB: dash supports fnc_nm (){} syntax, not function fnc_
echo "${fnt_rvr}-L${fnt_nrm} ${fnt_bld}dfl_lvl${fnt_nrm} Deflate level (empty is none) (default ${fnt_bld}${dfl_lvl}${fnt_nrm}) [${fnt_tlc}dfl_lvl, dfl, deflate${fnt_nrm}]"
echo "${fnt_rvr}-M${fnt_nrm} Multi-map-file toggle (unset means generate one map-file per input file) [${fnt_tlc}mlt_map, no_multimap${fnt_nrm}]"
echo "${fnt_rvr}-m${fnt_nrm} ${fnt_bld}map_fl${fnt_nrm} Map-file (empty means generate internally) (default ${fnt_bld}${map_fl}${fnt_nrm}) [${fnt_tlc}map_fl, map, map_file, rgr_map, regrid_map${fnt_nrm}]"
echo " ${fnt_bld}--mbt${fnt_nrm} Use MOAB-Tempest (mbtempest) front-end to TempestRemap (default ${fnt_bld}${mbt_flg}${fnt_nrm}) [${fnt_tlc}mbt, mbtempest, moabtempest, tfe_mbt${fnt_nrm}]"
echo " ${fnt_bld}--msh_fl${fnt_nrm} Mesh-file for grid intersection (empty means generate internally or not at all) (default ${fnt_bld}${msh_fl}${fnt_nrm}) [${fnt_tlc}msh_fl, msh, mesh, mesh_file${fnt_nrm}]"
echo " ${fnt_bld}--msk_dst${fnt_nrm} Mask-template variable in destination file (empty means none) (default ${fnt_bld}${msk_dst}${fnt_nrm}) [${fnt_tlc}msk_dst, dst_msk, mask_destination, mask_dst${fnt_nrm}]"
echo " ${fnt_bld}--msk_out${fnt_nrm} Mask variable in regridded file (empty means none) (default ${fnt_bld}${msk_out}${fnt_nrm}) [${fnt_tlc}msk_out, out_msk, mask_output, mask_rgr${fnt_nrm}]"
......@@ -671,9 +676,11 @@ while getopts :34567a:CD:d:f:g:G:h:I:i:j:L:Mm:n:O:o:P:p:R:r:s:T:t:Uu:V:v:W:w:x:-
hrd_pth=?* | hard_path=?* | csz_exe=?* | csz_bin_lib=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # # Use hard-coded paths on known machines
in_fl=?* | in_file=?* | input_file=?* ) in_fl="${LONG_OPTARG}" ;; # -i # Input file
job_nbr=?* | job_number=?* | jobs=?* ) job_usr="${LONG_OPTARG}" ;; # -j # Job simultaneity
map_fl=?* | map=?* | map_file=?* | rgr_map=?* | regrid_map=?* ) map_fl="${LONG_OPTARG}" ;; # -m # Map-file
mbt | mbtempest | moabtempest | tfe_mbt ) mbt_flg='Yes' ;; # # mbtempest front-end to TempestRemap
mbt=?* | mbtempest=?* | moabtempest=?* | tfe_mbt=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # # mbtempest front-end to TempestRemap
mlt_map | multimap | no_multimap | nomultimap ) mlt_map_flg='No' ;; # -M # Multi-map flag
mlt_map=?* | multimap=?* | no_multimap=?* | nomultimap=?* ) echo "No argument allowed for --${OPTARG switch}" >&2; exit 1 ;; # -M # Multi-map flag
map_fl=?* | map=?* | map_file=?* | rgr_map=?* | regrid_map=?* ) map_fl="${LONG_OPTARG}" ;; # -m # Map-file
msh_fl=?* | msh=?* | mesh=?* | mesh_file=?* ) msh_fl="${LONG_OPTARG}" ;; # # Mesh file
msk_dst=?* | dst_msk=?* | mask_destination=?* | mask_dst=?* ) msk_dst="${LONG_OPTARG}" ;; # # Mask-template variable in destination file
msk_out=?* | out_msk=?* | mask_output=?* | mask_out=?* ) msk_out="${LONG_OPTARG}" ;; # # Mask variable in regridded file
......@@ -773,10 +780,12 @@ if [ "$?" -eq 0 ]; then
wgt_opt_esmf="${wgt_opt_esmf} --ignore_degenerate"
fi # !erwg_vrs_mjr
fi # !err
cmd_wgt_mbt=`command -v ${wgt_exe_mbt} 2> /dev/null`
cmd_wgt_nco=`command -v ${wgt_exe_nco} 2> /dev/null`
cmd_wgt_tps=`command -v ${wgt_exe_tps} 2> /dev/null`
cmd_dpt_mpas=`command -v ${dpt_exe_mpas} --no_log 2> /dev/null`
if [ ${vrs_prn} = 'Yes' ]; then
printf "${spt_nm}, the NCO regridder and weight, grid, and map-generator, version ${nco_vrs}\n"
printf "${spt_nm}, the NCO regridder and grid, map, and weight-generator, version ${nco_vrs}\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"
......@@ -786,7 +795,7 @@ if [ ${vrs_prn} = 'Yes' ]; then
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: Binaries linked to netCDF library version ${lbr_vrs}\n"
printf "Config: NCO binaries 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
......@@ -798,16 +807,26 @@ if [ ${vrs_prn} = 'Yes' ]; then
else
printf "Config: ESMF weight-generation command ${wgt_exe_esmf} not found\n"
fi # !err
if [ -n "${cmd_wgt_tps}" ]; then
printf "Config: TempestRemap weight-generation command ${wgt_exe_tps} found as ${cmd_wgt_tps}\n"
if [ -n "${cmd_wgt_mbt}" ]; then
printf "Config: MOAB-Tempest weight-generation command ${wgt_exe_mbt} found as ${cmd_wgt_mbt}\n"
else
printf "Config: TempestRemap weight-generation command ${wgt_exe_tps} not found\n"
printf "Config: MOAB-Tempest weight-generation command ${wgt_exe_mbt} not found\n"
fi # !err
if [ -n "${cmd_dpt_mpas}" ]; then
printf "Config: MPAS depth coordinate addition command ${dpt_exe_mpas} found as ${cmd_dpt_mpas}\n"
else
printf "Config: MPAS depth coordinate addition command ${dpt_exe_mpas} not found\n"
fi # !err
if [ -n "${cmd_wgt_nco}" ]; then
printf "Config: NCO weight-generation command ${wgt_exe_nco} found as ${nco_exe}\n"
else
printf "Config: NCO weight-generation command ${wgt_exe_nco} not found\n"
fi # !err
if [ -n "${cmd_wgt_tps}" ]; then
printf "Config: TempestRemap weight-generation command ${wgt_exe_tps} found as ${cmd_wgt_tps}\n"
else
printf "Config: TempestRemap weight-generation command ${wgt_exe_tps} not found\n"
fi # !err
exit 0
fi # !vrs_prn
......@@ -917,7 +936,7 @@ rgn_fl=${rgn_fl}${unq_sfx}
tmp_out_fl=${tmp_out_fl}${unq_sfx}
znl_fl=${znl_fl}${unq_sfx}
# Algorithm options are bilinear|conserve|conserve2nd|nearestdtos|neareststod|patch|tempest|se2fv_flx|se2fv_stt|se2fv_alt|se2se|fv2se_flx|fv2se_stt|fv2se_alt|fv2fv_flx|fv2fv_stt
# Algorithm options are bilinear|conserve|conserve2nd|nearestdtos|neareststod|patch|tempest|se2fv_flx|se2fv_stt|se2fv_alt|se2se|fv2se_flx|fv2se_stt|fv2se_alt|fv2fv_flx|fv2fv_stt|nco
if [ ${alg_typ} = 'bilinear' ] || [ ${alg_typ} = 'bilin' ] || [ ${alg_typ} = 'blin' ] || [ ${alg_typ} = 'bln' ]; then
alg_opt='bilinear'
elif [ ${alg_typ} = 'conserve' ] || [ ${alg_typ} = 'conservative' ] || [ ${alg_typ} = 'cns' ] || [ ${alg_typ} = 'c1' ] || [ ${alg_typ} = 'aave' ]; then
......@@ -1788,6 +1807,7 @@ if [ ${dbg_lvl} -ge 2 ]; then
printf "dbg: in_fl = ${in_fl}\n"
printf "dbg: map_fl = ${map_fl}\n"
printf "dbg: map_mk = ${map_mk}\n"
printf "dbg: mbt_flg = ${mbt_flg}\n"
printf "dbg: mlt_map = ${mlt_map_flg}\n"
printf "dbg: mpi_flg = ${mpi_flg}\n"
printf "dbg: msh_fl = ${msh_fl}\n"
......
nco (4.9.0-2) UNRELEASED; urgency=medium
nco (4.9.1-1) unstable; urgency=medium
* New upstream release.
* Drop Name field from upstream metadata.
* Add lintian override for manpage-without-executable.
-- Bas Couwenberg <sebastic@debian.org> Mon, 09 Dec 2019 09:19:48 +0100
-- Bas Couwenberg <sebastic@debian.org> Fri, 20 Dec 2019 07:04:03 +0100
nco (4.9.0-1) unstable; urgency=medium
......
......@@ -7,3 +7,6 @@ binary-without-manpage usr/bin/ncdiff
# ncea is symlinked to ncra
binary-without-manpage usr/bin/ncea
# Overview of available tools
manpage-without-executable usr/share/man/man1/nco.1.gz
$Header$ -*-text-*-
The netCDF Operators NCO version 4.9.0 are woke.
The netCDF Operators NCO version 4.9.1 are woke.
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Version 4.9.0 includes new regridder features, JSON, and ncap2 fixes.
Notably, this version simplifies the weight-application interface,
parallelizes ncremap in stand-alone mode, and completely revamps,
improves, and accelerates the sub-gridscale weight application
algorithm.
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.
The NCO conservative weight-generator algorithm also debuts.
Previously, ncremap always used ESMF or TempestRemap to make weights.
Use 'ncremap -a nco' to get NCO's conservative weight generation.
NCO will always support ESMF and TR which are more time-tested.
However, NCO has some unique features, like an option to output the
overlap mesh in SCRIP format.
Work on NCO 4.9.1 has commenced and will improve NCO weight-generator
Work on NCO 4.9.2 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.
......@@ -36,134 +28,72 @@ Charlie
NEW FEATURES (full details always in ChangeLog):
A. ncremap has been refactored for full parallelism.
Previously the standalone ncremap could only run parallelized
when invoked with pure weight application requests.
Special processing like CLM/ELM sub-gridscale regridding or MPAS
juggling only worked with single file invocations (which is what
ncclimo always requests). Now the standalone ncremap is
parallelized and adheres to --job_nbr control for all regridding
in standalone invocations, meaning that regridding lists of files
offline with MPI or background parallelism is now much quicker:
ls cam/*.nc | ncremap --job_nbr=4 --par_typ=mpi -m map.nc
ls mpas/*.nc | ncremap -P mpas -j 4 -p mpi -m map.nc
ls elm/*.nc | ncremap --sgs_frc=landfrac -j 16 -m map.nc
http://nco.sf.net/nco.html#ncremap
B. ncremap has a new API for sub-gridscale (SGS) regridding.
Previously ncremap employed a convoluted and slow procedure to
remap data with sub-gridscale fractions, e.g., CLM/ELM, CICE,
and MPAS-Seaice data. That procedure and ncremap API used to
require specification of the source and destination grids.
The new, faster ncremap SGS procedure requires only the map-file
and the name of the sub-gridscale fraction field.
The -P sgs option is no longer required, thought is still accepted
for back-compatibility.
ncremap --sgs_frc=landfrac -m map.nc # CLM/ELM
ncremap --sgs_frc=frc.nc/landfrac -m map.nc # CLM/ELM external
ncremap -P elm -m map.nc # CLM/ELM alternative
ncremap --sgs_frc=aice --sgs_msk=tmask -m map.nc # CICE
ncremap -P cice -m map.nc # CICE alternative
ncremap --sgs_frc=timeMonthly_avg_iceAreaCell -m map.nc # MPAS-Seaice
ncremap -P mpasseaice -m map.nc # MPAS-Seaice alternative
http://nco.sf.net/nco.html#ncremap
C. ncremap supports the new NCO weight generation algorithm.
The NCO algorithm is first-order conservative and compares
well in accuracy with other FV algorithms such as ERWG and TR.
Special thanks to Henry Butowsky for his dedication to this.
We evaluated ERWG "conserve", NCO "nco", and TR "mono" with
--chk_map (see below) on the E3SMv1 lo-res and hi-res grids.
The three algorithms generally agree to 10-13 significant digits.
ESMF won for atm->atm remapping, and NCO for ocn->atm remapping,
both by razor-thin margins. YMMV.
We hope users will try the NCO algorithm and send feedback.
NCO weight-generation is threaded and scales well to 3-4 threads.
ncremap -a nco -s grd_src.nc -d grd_dst.nc -m map.nc in.nc out.nc
ncremap -t 4 -a nco -s grd_src.nc -d grd_dst.nc -m map.nc
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
http://nco.sf.net/nco.html#ncremap
D. ncks supports a new option --chk_map to evaluate the quality of
regridding weights. This option works with map-files (not
grid-files) in ESMF/CMIP6-compliant format (i.e., sparse matrix
S and coordinates [xy][ab]_[cv]). When invoked with the additional
--area_wgt option (also new), the evaluation statistics are
area-weighted and thus reflect exactly the global-mean/min/max/
mebs/rms/sdn biases expected when regridding globally uniform
fields. This tool makes it easier to objectively assess
weight-generation algorithms, and will hopefully assist in their
improvement.
ncks --chk_map map.nc
ncks --chk_map --area_wgt map.nc
http://nco.sf.net/nco.html#chk_map
http://nco.sf.net/nco.html#area_wgt
E. ncremap works with newer MPAS Ocean files that contain BGC
dimensions like R3 and FOUR.
ncremap -P mpas -m map_bilin.nc in.nc out.nc
http://nco.sf.net/nco.html#ncremap
F. ncremap now propagates all netCDF formats except CDF5 to
TempestRemap (TR) (which does not yet accept or produce CDF5 files
AFAICT).
http://nco.sf.net/nco.html#tr
G. ncremap omits the TR --volumetric flag from fv2se_stt maps.
TempestRemap author Paul Ullrich recommends this to keep fv2se_stt
maps consistent (producing output in same range) with fv2se_flx maps.
ncremap -a fv2se_stt -s grd_src.nc -d grd_dst.nc -m map.nc in.nc out.nc
http://nco.sf.net/nco.html#ncremap
H. ncremap allows simultaneous invocation of horizontal and vertical
regridding. Yes, now ncremap can automagically regrid any file
to any new horizontal and vertical grid at the same time.
Simply supply both a map-file and a vertical grid-file:
ncremap -m map.nc --vrt=vrt_grd.nc in.nc out.nc
http://nco.sf.net/nco.html#vrt
http://nco.sf.net/nco.html#ncremap
I. ncremap/ncclimo have deprecated support for options named for the
short-lived ALM land surface model. Use 'elm' instead of 'alm',
ncremap -P elm -m map.nc
http://nco.sf.net/nco.html#ncremap
J. NCO supports flexible options to specify non-default names for
vertical grid coordinates in input and output (vertically
interpolated) data files.
ncks --rgr plev_nm=vrt_nm --vrt=vrt_grd.nc in.nc out.nc
ncremap -n '--rgr plev_nm=vrt_nm' --vrt=vrt_grd.nc in.nc out.nc
http://nco.sf.net/nco.html#lev_nm
K. ncks supports a new option --chk_nan to quickly find the location
of any NaN values in a dataset. Thanks to Matthew Thompson of NASA
for this suggestion.
ncks --chk_nan in.nc
http://nco.sf.net/nco.html#chk_nan
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
http://nco.sf.net/nco.html#ncpdq
BUG FIXES:
A. ncap2 --output again works with single command-line files
This was inadvertently broken in 4.8.0.
Thanks to Kyle Wilcox for reporting this issue.
B. Regridder allows "none" for SCRIP normalization type for
bilinear regridding, employed in UKMO SCRIP files.
Thanks to Craig MacLachlan for providing this fix.
C. ncremap vertical interpolation bug-fix for fields stored on
interface levels of hybrid coordinate grids (e.g., CMFMC).
D. ncremap bug-fix for pressure-to-pressure grid vertical
interpolation for input files with no time dimension.
E. ncks --json fixes JSON output of NC_FLOAT and NC_DOUBLE
by eliminating the trailing '.' (illegal in JSON) from
integer-valued floats. '1234567.' is now output as '1234567'.
Thanks to Aleksandar Jelenak for this bug report.
F. ncremap no longer automatically employs mean-preserving algorithm
when encountering missing_data. Thanks to Xylar Asay-Davis for
patiently suggesting saner behavior.
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.
Full release statement at http://nco.sf.net/ANNOUNCE
......@@ -171,9 +101,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.8.0 built/tested under
MacOS 10.14.1 with netCDF 4.6.1 on HDF5 1.10.2 and with
Linux with netCDF 4.6.2-development (20180515) on HDF5 1.8.19.
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.
A. NOT YET FIXED (NCO problem)
Correctly read arrays of NC_STRING with embedded delimiters in ncatted arguments
......
2019-12-19 Charlie Zender <zender@uci.edu>
* NCO 4.9.1 release procedure:
cd ~/nco;git commit -a -m 'Version 4.9.1: Skyglow';git push
git tag -a 4.9.1 -m 'autoconf EXTERNL netcdf_mem.h;automake libnco.la;ncclimo --glb_avg;ncpdq flt_dbl;ncremap vrt_ntp fix, nco_con dfl;nco_copy_att() _NCProperties;';git push --tags
* Always set lev_out_min to fix uninitialized error identified by valgrind that caused errorneous behavior in nco_vrt_ntp() with some compilers (compy, cori)
* Change ps_sz from double to size_t
* Fix nco_rgr.c CEWI's and outfit for bug-hunting why _FillValue not requested or created
2019-12-18 Charlie Zender <zender@uci.edu>
* Print WARNING when nco_vrt_ntp() fails to create _FillValue attribute
* Document --glb_avg
* Implement and document ncpdq flt_dbl map
2019-12-17 Charlie Zender <zender@uci.edu>
* NCO 4.9.1-alpha03 release procedure:
cd ~/nco;git commit -a -m 'Version 4.9.1-alpha03: Ignite';git push
git tag -a 4.9.1-alpha03 -m 'automake libnco.la;ncclimo glb_avg';git push --tags
* Correct automake syntax from -lnco to -l../nco/libnco.la (per bug #118 from Daniel Macks)
* ncclimo global average timeseries working prototype with --glb_avg
2019-12-16 Charlie Zender <zender@uci.edu>
* Add stubs for ncclimo global average timeseries
* Tweak _NCProperties message
2019-12-12 Charlie Zender <zender@uci.edu>
* NCO 4.9.1-alpha02 release procedure:
cd ~/nco;git commit -a -m 'Version 4.9.1-alpha02: Utthita Trikonasana';git push
git tag -a 4.9.1-alpha02 -m 'autoconf EXTERNL netcdf_mem.h;nco_copy_att() _NCProperties;ncremap nco_con dfl;';git push --tags
* Modify configure.ac to define EXTERNL from netcdf.h during autoconf check of netcdf_mem.h
Thanks to Matthew Thompson and Dave Allured for reporting and solving the issue
* Surgically prevent nco_copy_att() from attempting to copy _NCProperties
* Henry restored functionality to edg_typ and ply_tri_mth options
2019-12-10 Charlie Zender <zender@uci.edu>
* Print names of attribute and variables/groups when nco_copy_att() fails
2019-12-08 Charlie Zender <zender@uci.edu>
* ncremap add stubs for MOAB-Tempest executable mbtempest
2019-12-06 Charlie Zender <zender@uci.edu>
* Re-do logic for invoking small circle triangles
2019-12-05 Charlie Zender <zender@uci.edu>
* ncremap change default regridder algorithm from ESMF bilinear to NCO nco_con
* NCO 4.9.1-alpha01 release procedure:
cd ~/nco;git commit -a -m 'Version 4.9.1-alpha01: Massage';git push
git tag -a 4.9.1-alpha01 -m 'Functionally identical to 4.9.0';git push --tags
2019-12-04 Charlie Zender <zender@uci.edu>
 
* NCO 4.9.0 release procedure:
......
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -374,8 +374,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__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -540,10 +540,7 @@ ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
......
......@@ -29,18 +29,18 @@ apt-get install dh-make debhelper devscripts fakeroot gnupg debian-policy develo
2. Debian build procedure recommends placing entire package source in
subdirectory of main package.
For starters, we wish to create .debs of tagged releases, e.g., nco-4.9.0
First we create a clean source distribution of nco and place it in nco-4.9.0
For starters, we wish to create .debs of tagged releases, e.g., nco-4.9.1
First we create a clean source distribution of nco and place it in nco-4.9.1
Until we know what is necessary, however, we just copy a snapshot
2.1 Clean all build files from development directory
cd ~/nco;make distclean;cd bld;make clean;cd ~
tar cvzf ./nco/nco.tar.gz ./nco/*
cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.9.0
/bin/rm nco.tar.gz;tar cvzf nco-4.9.0.tar.gz ./nco-4.9.0/*
cd ~/nco/nco-4.9.0
dh_make -e zender@uci.edu -f ../nco-4.9.0.tar.gz
cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.9.1
/bin/rm nco.tar.gz;tar cvzf nco-4.9.1.tar.gz ./nco-4.9.1/*
cd ~/nco/nco-4.9.1
dh_make -e zender@uci.edu -f ../nco-4.9.1.tar.gz
2.2 The preceding steps created template debian files for a .deb,
Those files now reside in ~/nco/debian.
......@@ -55,7 +55,7 @@ dh_make -e zender@uci.edu -f ../nco-4.9.0.tar.gz
from previous build
cd ~/nco;/bin/rm *.gz
cd ~/nco/nco-4.9.0
cd ~/nco/nco-4.9.1
dpkg-buildpackage -rfakeroot > foo 2>&1
dpkg-buildpackage -rsudo > foo 2>&1
......@@ -84,33 +84,33 @@ patch -p0 < nco_X.Y.Z-3.diff # Patch destination with Debian diff
make tags
# Put cute version-specific string in nco_ctl.c:nco_nmn_get()
# Install correct version numbers before updating Debian
# tags-query replace 4.9.0 with X.Y.Z+1
# tags-query replace 4.9.1 with X.Y.Z+1
# If tags-query replace does not work, be sure to manually change
# versions in configure.ac, debian/files, doc/ANNOUNCE, doc/debian.txt,
# doc/index.shtml, doc/nco.texi, bld/nco_dst.pl, doc/VERSION
# 20141201: Change NCO_VERSION_PATCH in src/nco.h!!!!!!!!!!!!!!!!!!!!!!
cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.9.0-1 # Update changelog (-b forces this version number)
cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.9.1-1 # Update changelog (-b forces this version number)
emacs ~/nco/bld/nco.spec # Update changelog
# For unknown reason rules file may lose its executable bit
chmod a+x ~/nco/debian/rules
# Rebuild autotools so new version # propagates
cd ~/nco;aclocal;autoheader;automake --foreign;autoconf
# Save all files in emacs before tagging
${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.9.0
${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.9.1
# Upload tarball to SF https://sourceforge.net/projects/nco/files
cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.9.0.tar.gz .
cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.9.1.tar.gz .
7. Ubuntu PPA
https://help.launchpad.net/Packaging/PPA
dput NCO nco_4.9.0-2~ppa1_source.changes
dput NCO nco_4.9.1-2~ppa1_source.changes
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com
# Location of build diagnostics for mentors to help
http://dust.ess.uci.edu/nco/src/nco_4.9.0-1.dpkg-buildpackage.txt
http://dust.ess.uci.edu/nco/src/nco_4.9.0-1.dsc
http://dust.ess.uci.edu/nco/src/nco_4.9.0-1_i386.changes
http://dust.ess.uci.edu/nco/src/nco_4.9.0-1_i386.deb
http://dust.ess.uci.edu/nco/src/nco_4.9.0.orig.tar.gz
http://dust.ess.uci.edu/nco/src/nco_4.9.1-1.dpkg-buildpackage.txt
http://dust.ess.uci.edu/nco/src/nco_4.9.1-1.dsc
http://dust.ess.uci.edu/nco/src/nco_4.9.1-1_i386.changes
http://dust.ess.uci.edu/nco/src/nco_4.9.1-1_i386.deb
http://dust.ess.uci.edu/nco/src/nco_4.9.1.orig.tar.gz
# Becoming a Debian developer
http://www.debian.org/devel/join/newmaint
......@@ -164,31 +164,31 @@ Matej Vela <vela@debian.org>, Daniel Baumann <daniel@debian.org>, Warren Turkal
# export LD_LIBRARY_PATH=/usr/lib:/lib:/usr/X11R6/lib
# sudo aptitude install antlr bison flex gsl-bin libgsl0-dev libantlr-dev netcdf-bin libnetcdfc7 libnetcdf-dev texinfo libcurl4-gnutls-dev libexpat1-dev libxml2-dev udunits-bin libudunits2-0 libudunits2-dev
cd ~/nco;cvc
sudo /bin/rm -rf ${DATA}/nco-4.9.0 ${DATA}/nco_4.9.0* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.0-1 -d nco-4.9.0 nco # Export based on tag
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-4.9.0 nco # Export most recent
tar cvzf ./nco_4.9.0.orig.tar.gz --exclude='nco-4.9.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.0
/bin/rm -rf ${DATA}/nco-4.9.0 # Remove cvs-exported directory
tar xvzf ./nco_4.9.0.orig.tar.gz # Untar to get directory without excluded files
mkdir -p ${DATA}/nco-4.9.0/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.9.0/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.9.0/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
sudo /bin/rm -rf ${DATA}/nco-4.9.1 ${DATA}/nco_4.9.1* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.1-1 -d nco-4.9.1 nco # Export based on tag
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-4.9.1 nco # Export most recent
tar cvzf ./nco_4.9.1.orig.tar.gz --exclude='nco-4.9.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.1
/bin/rm -rf ${DATA}/nco-4.9.1 # Remove cvs-exported directory
tar xvzf ./nco_4.9.1.orig.tar.gz # Untar to get directory without excluded files
mkdir -p ${DATA}/nco-4.9.1/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.9.1/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.9.1/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
#export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
#cd ${DATA}/nco-4.9.0;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
#cd ${DATA}/nco-4.9.0;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
cd ${DATA}/nco-4.9.0;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
#cd ${DATA}/nco-4.9.1;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
#cd ${DATA}/nco-4.9.1;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
cd ${DATA}/nco-4.9.1;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
sudo dpkg --remove nco
sudo dpkg --install ${DATA}/nco_4.9.0-1_*.deb
sudo dpkg --install ${DATA}/nco_4.9.1-1_*.deb
cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
# http://lintian.debian.org/full/zender@uci.edu.html
lintian ${DATA}/nco_4.9.0-1_*.deb
ls -l ${DATA}/nco_4.9.0*
lintian ${DATA}/nco_4.9.1-1_*.deb
ls -l ${DATA}/nco_4.9.1*
m ~/foo.nco
# Upload Ubuntu (rather than Debian) packages to websites
scp ${DATA}/nco_4.9.0* dust.ess.uci.edu:/var/www/html/nco/src
scp ${DATA}/nco_4.9.0* zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
scp ${DATA}/nco_4.9.1* dust.ess.uci.edu:/var/www/html/nco/src
scp ${DATA}/nco_4.9.1* zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# NB: Make sure RPMs build before uploading to debian, since changing
# Debian versions is a PITA
# NB: Only upload pbuilder Debian Sid (not personal Ubuntu) .deb builds to Debian mentors
# cd ${DATA};dupload -t mentors nco_4.9.0-1_*.changes
# cd ${DATA};dupload -t mentors nco_4.9.1-1_*.changes
bsrc # Reset shell environment for regular development
# New build system #2
......@@ -202,52 +202,52 @@ DIST=sid sudo pbuilder update # Update chroot before building package in it
# dget http://ftp.debian.org/debian/pool/main/n/nco/nco_3.9.0-1.dsc
# dget http://ftp.debian.org/debian/pool/main/n/netcdf/netcdf_3.6.1-1.dsc
# apt-get source nco # Get package source
sudo /bin/rm /var/cache/pbuilder/result/nco_4.9.0* # Cleanup prior build
sudo /bin/rm /var/cache/pbuilder/result/nco_4.9.1* # Cleanup prior build
# To pass DEB_BUILD_OPTIONS to pbuilder while using sudo, one must first
# modify sudoers with visudo to prevent sudo from resetting environment
#export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
cd ${DATA};DIST=sid sudo pbuilder build nco_4.9.0-1.dsc > ~/foo.nco.pbuilder 2>&1
cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.9.0-1_*.changes
lintian /var/cache/pbuilder/result/nco_4.9.0-1_*.deb
cd ${DATA};DIST=sid sudo pbuilder build nco_4.9.1-1.dsc > ~/foo.nco.pbuilder 2>&1
cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.9.1-1_*.changes
lintian /var/cache/pbuilder/result/nco_4.9.1-1_*.deb
sudo dpkg --remove nco
sudo dpkg --install /var/cache/pbuilder/result/nco_4.9.0-1_*.deb
sudo dpkg --install /var/cache/pbuilder/result/nco_4.9.1-1_*.deb
cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
# NB: Upload pbuilder Debian Sid packages to Debian mentors, but not
# to personal or NCO websites since most people use Ubuntu not Debian
# NB: Debian versions are a PITA, ensure RPMs build before uploading to Debian
cd /var/cache/pbuilder/result;dupload -t mentors nco_4.9.0-1_*.changes
cd /var/cache/pbuilder/result;dupload -t mentors nco_4.9.1-1_*.changes
# RPM builds as root
export rpm_root='/usr/src/redhat'
# export sudo_sng='' # sudo not-necessary when builing in user directories
export sudo_sng='sudo' # sudo necessary when building in system directories
cd ~/nco;cvc;cvu
/bin/rm -rf ${DATA}/nco-4.9.0 ${DATA}/nco-4.9.0* # Cleanup last build
/bin/rm -rf ${DATA}/nco-4.9.1 ${DATA}/nco-4.9.1* # Cleanup last build
${sudo_sng} /bin/rm -r -f \
${rpm_root}/BUILD/nco-4.9.0 \
${rpm_root}/RPMS/i386/nco-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.0-?.i386.rpm \
${rpm_root}/SOURCES/nco-4.9.0.tar.gz \
${rpm_root}/SPECS/nco-4.9.0.spec \
${rpm_root}/SRPMS/nco-4.9.0-?.src.rpm
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.0-1 -d nco-4.9.0 nco # Export based on tag
${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.9.0.spec
tar cvzf ./nco-4.9.0.tar.gz --exclude='nco-4.9.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.0
${sudo_sng} /bin/cp ${DATA}/nco-4.9.0.tar.gz ${rpm_root}/SOURCES
${rpm_root}/BUILD/nco-4.9.1 \
${rpm_root}/RPMS/i386/nco-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.1-?.i386.rpm \
${rpm_root}/SOURCES/nco-4.9.1.tar.gz \
${rpm_root}/SPECS/nco-4.9.1.spec \
${rpm_root}/SRPMS/nco-4.9.1-?.src.rpm
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.1-1 -d nco-4.9.1 nco # Export based on tag
${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.9.1.spec
tar cvzf ./nco-4.9.1.tar.gz --exclude='nco-4.9.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.1
${sudo_sng} /bin/cp ${DATA}/nco-4.9.1.tar.gz ${rpm_root}/SOURCES
cd ${rpm_root}/SPECS
${sudo_sng} rpmbuild -ba --sign nco-4.9.0.spec > ~/foo.nco 2>&1
${sudo_sng} rpmbuild -ba --sign nco-4.9.1.spec > ~/foo.nco 2>&1
scp \
${rpm_root}/RPMS/i386/nco-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.0-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.9.0-?.src.rpm \
${rpm_root}/RPMS/i386/nco-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.1-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.9.1-?.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
${rpm_root}/RPMS/i386/nco-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.0-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.9.0-?.src.rpm \
${rpm_root}/RPMS/i386/nco-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.9.1-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.9.1-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.9.1-?.src.rpm \
zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
# RPM builds as user
......@@ -256,33 +256,33 @@ zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
export rpm_root="${DATA}/rpm/nco"
#cd ~/nco;cvc;cvu # This risks committing unwanted *.[ch]pp files
mkdir -p ${DATA}/rpm/nco/TMP ${DATA}/rpm/nco/BUILD
/bin/rm -rf ${DATA}/nco-4.9.0 ${DATA}/nco-4.9.0* # Cleanup last build
/bin/rm -rf ${DATA}/nco-4.9.1 ${DATA}/nco-4.9.1* # Cleanup last build
/bin/rm -r -f \
${rpm_root}/nco-4.9.0-?.src.rpm \
${rpm_root}/nco-4.9.0.spec \
${rpm_root}/nco-4.9.0.tar.gz \
${rpm_root}/*/nco-4.9.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.0-?.*.rpm
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.0-1 -d nco-4.9.0 nco # Export based on tag
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-4.9.0 nco # Export most recent and build as 4.9.0-1
tar cvzf ./nco-4.9.0.tar.gz --exclude='nco-4.9.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.0
/bin/cp ${DATA}/nco-4.9.0.tar.gz ${rpm_root}
${rpm_root}/nco-4.9.1-?.src.rpm \
${rpm_root}/nco-4.9.1.spec \
${rpm_root}/nco-4.9.1.tar.gz \
${rpm_root}/*/nco-4.9.1-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.1-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.1-?.*.rpm
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.9.1-1 -d nco-4.9.1 nco # Export based on tag
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-4.9.1 nco # Export most recent and build as 4.9.1-1
tar cvzf ./nco-4.9.1.tar.gz --exclude='nco-4.9.1/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.9.1
/bin/cp ${DATA}/nco-4.9.1.tar.gz ${rpm_root}
ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/nco.spec
cd ${rpm_root}
rpmbuild -ba --sign nco.spec > ~/foo.nco 2>&1
rpmlint ${rpm_root}/*/nco-4.9.0-?.*.rpm
rpmlint ${rpm_root}/*/nco-4.9.1-?.*.rpm
sudo yum remove nco
sudo yum install ${rpm_root}/*/nco-4.9.0-?.*.rpm
sudo yum install ${rpm_root}/*/nco-4.9.1-?.*.rpm
scp \
${rpm_root}/*/nco-4.9.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.0-?.*.rpm \
${rpm_root}/nco-4.9.0-?.*.src.rpm \
${rpm_root}/*/nco-4.9.1-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.1-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.1-?.*.rpm \
${rpm_root}/nco-4.9.1-?.*.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
${rpm_root}/*/nco-4.9.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.0-?.*.rpm \
${rpm_root}/nco-4.9.0-?.*.src.rpm \
${rpm_root}/*/nco-4.9.1-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.9.1-?.*.rpm \
${rpm_root}/*/nco-devel-4.9.1-?.*.rpm \
${rpm_root}/nco-4.9.1-?.*.src.rpm \
zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
......@@ -70,7 +70,7 @@ Try to disable Spammers' machines:
<p><h1 align="center">Bienvenue sur le netCDF Operator (NCO) site</h1>
<p><h2>
Current stable NCO version is 4.9.0 released <!--#flastmod file="src/nco-4.9.0.tar.gz"-->
Current stable NCO version is 4.9.1 released <!--#flastmod file="src/nco-4.9.1.tar.gz"-->
</h2>
<table border=0 width=100%>
......@@ -149,7 +149,8 @@ and
<h2>Recent Releases &amp; Milestones</h2>
<ul>
<li>2019 Mar&nbsp;??: 4.9.1 <i>In Progress...</i>
<li>2020 Mar&nbsp;??: 4.9.2 <i>In Progress...</i>
<li>2019 Dec&nbsp;19: 4.9.1 Sundry features/fixes
<li>2019 Dec&nbsp;04: 4.9.0 ncremap lollapalooza
<li>2019 Jul&nbsp;01: 4.8.1 Sundry features/fixes
<li>2019 May&nbsp;15; 4.8.0 Vertical interpolation
......@@ -632,7 +633,7 @@ Identical copies of those tarballs are also stored
<a href="http://nco.sf.net/src">here</a> on SourceForge for historical
continuity.
You may retrieve the source of tagged versions directly with, e.g.,
<tt>git clone -b 4.9.0 http://github.com/nco/nco.git nco-4.9.0</tt></a>.
<tt>git clone -b 4.9.1 http://github.com/nco/nco.git nco-4.9.1</tt></a>.
<ul>
<li><b>NCO 5.0.0</b>: (<i>Future</i>)
netCDF4 user-defined types support;
......@@ -722,9 +723,11 @@ Sanitize input/output filenames;
<!-- http://nco.sf.net#Binaries -->
<!-- http://nco.sf.net#exe -->
<!-- http://nco.sf.net#executables -->
<!-- http://nco.sf.net#Executables -->
<dt><a name="Binaries"></a><a name="bnr"><a name="binaries"></a></dt>
<dt><a name="Executables"></a><a name="exe"><a name="executables"></a></dt>
<!-- http://nco.sf.net#install -->
<!-- http://nco.sf.net#Install -->
<dt><a name="Install"></a><a name="install"></a><a name="Install"></a></dt>
<dt><a name="Binaries"></a><a name="bnr"></a><a name="binaries"></a><a name="Binaries"></a><a name="binary"></a></dt>
<dt><a name="Executables"></a><a name="exe"></a><a name="executables"></a></dt>
<h2>Pre-built Executables</h2>
<p>Pre-built binary executables are available for many platforms.
......@@ -736,6 +739,8 @@ Below are one-line installation instructions and links to these and to
packages for other platforms created by volunteers.
Anyone willing to perform regular regression testing and porting
of NCO to other platforms is welcome.
We highly recommend the Anaconda method to first-time users, as it
works on all platforms and is perhaps the most up-to-date pre-packaged version.
Previous versions of these executables are still available by searching
the directory index <a href="src">here</a>.
......@@ -749,7 +754,7 @@ Thanks to NSF for supporting AIX machines at NCAR over the years.
<a name="anaconda"></a> <!-- http://nco.sf.net#anaconda -->
<a name="conda"></a> <!-- http://nco.sf.net#conda -->
<h3><a href="https://www.continuum.io/why-anaconda">Anaconda</a></h3>
<h3><a href="https://www.continuum.io/why-anaconda">Anaconda (for *NIX, MacOS, and Windows)</a></h3>
<ul>
<a href="https://www.continuum.io/why-anaconda">Anaconda</a> is a coordinated,
cross-platform Python environment that utilizes the <tt>conda</tt> package manager.
......@@ -762,7 +767,7 @@ Or, alternatively, permanently add conda-forge (which teems with goodies besides
&lsquo;<tt>conda config --add channels conda-forge</tt>&rsquo;, then
install NCO with &lsquo;<tt>conda install nco</tt>&rsquo;.
The default NCO installed by <tt>conda</tt> is generally within a month of the latest release.
<li><a href="https://github.com/conda-forge/nco-feedstock">nco-4.9.0</a> Executables Anaconda-compatible. Maintained by Filipe Fernandes.</li>
<li><a href="https://github.com/conda-forge/nco-feedstock">nco-4.9.1</a> Executables Anaconda-compatible. Maintained by Filipe Fernandes.</li>
Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and others for developing and maintaining the NCO package for conda.
</ul>
......@@ -771,7 +776,7 @@ Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and ot
<h3><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux</a></h3>
<ul>
<!--
<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-4.9.0</a></li>
<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-4.9.1</a></li>
-->
<a href="http://packages.debian.org/unstable/science/nco">Debian NCO</a> and
<a href="https://launchpad.net/ubuntu/+source/nco">Ubuntu NCO</a> homepages.
......@@ -779,8 +784,8 @@ Thanks to Rich Signell, Filipe Fernandes, Pedro Vicente, Xylar Asay-Davis and ot
NCO packages in the Debian/Ubuntu repositories (e.g., Sid and Raring) generally lag the packages distributed here by 6&ndash;12 months.
<a name="beta"></a><a name="prerelease"> <!-- http://nco.sf.net#beta -->
Newer (beta- or pre-release) packages are often available for intrepid Debian/Ubuntu users as described <a href="https://github.com/nco/nco/tree/master/doc/beta.txt">here</a>.
<dt>Debian package for most recent NCO release (install with, e.g., &lsquo;<tt>dpkg --install nco_4.9.0-1_i386.deb</tt>&rsquo;):</dt>
<li><a href="https://launchpad.net/ubuntu/+source/nco/4.9.0-1">nco_4.9.0-1_amd64.deb</a> : Executables AMD64-compatible</li>
<dt>Debian package for most recent NCO release (install with, e.g., &lsquo;<tt>dpkg --install nco_4.9.1-1_i386.deb</tt>&rsquo;):</dt>
<li><a href="https://launchpad.net/ubuntu/+source/nco/4.9.1-1">nco_4.9.1-1_amd64.deb</a> : Executables AMD64-compatible</li>
Thanks to Daniel Baumann, Sebastian Couwenberg, Barry deFreese, Francesco Lovergine,
Brian Mays, Rorik Peterson, and Matej Vela for their help packaging
NCO for Debian over the years.
......@@ -824,10 +829,10 @@ Thanks to Gavin Burris and Kyle Wilcox for documenting build procedures for RHEL
<!--
# Mac OS X 10.15 (Mojave) systems (firn, sastrugi):
/usr/bin/scp ~/nco/doc/index.shtml zender,nco@web.sf.net:/home/project-web/nco/htdocs
cd ~/bin;tar cvzf ${DATA}/nco-4.9.0.macosx.10.15.tar.gz nc*;scp ${DATA}/nco-4.9.0.macosx.10.15.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
cd ~/bin;tar cvzf ${DATA}/nco-4.9.1.macosx.10.15.tar.gz nc*;scp ${DATA}/nco-4.9.1.macosx.10.15.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
-->
The most up-to-date executables are probably those in the tarball below. Those unfamiliar with installing executables from tarballs may try the (older) <a href="http://en.wikipedia.org/wiki/Apple_Disk_Image">DMG</a> files (you may need to add <tt>/opt/local/bin</tt> to your executable path to access those operators).
<li><a href="src/nco-4.9.0.macosx.10.15.tar.gz">nco-4.9.0.macosx.10.15.tar.gz</a> (<!--#fsize file="src/nco-4.9.0.macosx.10.15.tar.gz"-->): Executables MacOSX 10.15-compatible (last updated <!--#flastmod file="src/nco-4.9.0.macosx.10.15.tar.gz"-->).
<li><a href="src/nco-4.9.1.macosx.10.15.tar.gz">nco-4.9.1.macosx.10.15.tar.gz</a> (<!--#fsize file="src/nco-4.9.1.macosx.10.15.tar.gz"-->): Executables MacOSX 10.15-compatible (last updated <!--#flastmod file="src/nco-4.9.1.macosx.10.15.tar.gz"-->).
(NB: These executables require
the <a href="http://trac.macosforge.org/projects/macports/wiki">MacPorts</a>
<a href="#bld_macports">dependencies</a> for <a href="http://svn.macports.org/repository/macports/trunk/dports/science/nco">NCO</a>). Maintained by NCO Project.</li>
......@@ -849,9 +854,9 @@ To build NCO from source yourself using MSVC with CMake, please see example in <
<ul>
<!-- Copy files from http://glace.ess.uci.edu
/usr/bin/scp /home/pvicente/nco/doc/index.shtml pvicente,nco@web.sf.net:/home/project-web/nco/htdocs
/usr/bin/scp /home/pvicente/windows_setup/nco-4.8.1.windows.mvs.exe pvicente,nco@web.sf.net:/home/project-web/nco/htdocs/src
/usr/bin/scp /home/pvicente/windows_setup/nco-4.9.1.windows.mvs.exe pvicente,nco@web.sf.net:/home/project-web/nco/htdocs/src
-->
<li><a href="src/nco-4.8.1.windows.mvs.exe">nco-4.8.1.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.8.1.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.8.1.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
<li><a href="src/nco-4.9.1.windows.mvs.exe">nco-4.9.1.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.9.1.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.9.1.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
</ul>
<a name="cygwin"></a> <!-- http://nco.sf.net#cygwin -->
......@@ -1021,12 +1026,12 @@ On the <a href="https://sourceforge.net/p/nco/bugs">Bug Tickets</a> site.</li>
The simplest way to acquire the source is to download the compressed tarball:
<ul>
<li>
<!-- scp ${DATA}/nco-4.9.0.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src -->
<a href="https://github.com/nco/nco/archive/4.9.0.tar.gz">nco-4.9.0.tar.gz</a>
(<!--#fsize file="src/nco-4.9.0.tar.gz"--> compressed tar-file)<br>
<!--#exec cmd="openssl dgst -md5 src/nco-4.9.0.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha1 src/nco-4.9.0.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha256 src/nco-4.9.0.tar.gz"-->
<!-- scp ${DATA}/nco-4.9.1.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src -->
<a href="https://github.com/nco/nco/archive/4.9.1.tar.gz">nco-4.9.1.tar.gz</a>
(<!--#fsize file="src/nco-4.9.1.tar.gz"--> compressed tar-file)<br>
<!--#exec cmd="openssl dgst -md5 src/nco-4.9.1.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha1 src/nco-4.9.1.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha256 src/nco-4.9.1.tar.gz"-->
</li>
</ul>
......@@ -1045,8 +1050,8 @@ You may retrieve any NCO distribution you wish from
<a href="https://help.github.com">GitHub</a>.
Usually you wish to retrieve a recent tagged (i.e., released) version.
This command retrieves the entire NCO repository (&lt; 20&nbsp;MB) and
then checks out NCO version <tt>4.9.0</tt>:
<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 4.9.0</tt></p>
then checks out NCO version <tt>4.9.1</tt>:
<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 4.9.1</tt></p>
These commands retrieve the current (&ldquo;bleeding edge&rdquo;)
development version of NCO into a local directory named <tt>nco</tt>:
<p><tt>git clone https://github.com/nco/nco.git ~/nco</tt></p> or
......@@ -1054,9 +1059,9 @@ development version of NCO into a local directory named <tt>nco</tt>:
Track changes to the development version using
<p><tt>cd nco;git pull</tt></p>
One difference between running a "tagged" release
(e.g., <tt>4.9.0</tt>) and the development version is that the
(e.g., <tt>4.9.1</tt>) and the development version is that the
tagged release operators will print a valid version number (e.g.,
<tt>4.9.0</tt>) when asked to do so with the <tt>-r</tt> flag
<tt>4.9.1</tt>) when asked to do so with the <tt>-r</tt> flag
(e.g., <tt>ncks -r</tt>).
The development version simply places today's date in place of the
version.
......@@ -1204,9 +1209,9 @@ As of 20131101 there is no Cygwin package for ANTLR, and the netCDF package does
<li>Once you have installed the pre-requisites as shown above, you may then build the latest stable NCO and install it in, e.g., <tt>/usr/local</tt> with:
<tt>
<dt>wget https://github.com/nco/nco/archive/4.9.0.tar.gz</dt>
<dt>tar xvzf 4.9.0.tar.gz</dt>
<dt>cd nco-4.9.0</dt>
<dt>wget https://github.com/nco/nco/archive/4.9.1.tar.gz</dt>
<dt>tar xvzf 4.9.1.tar.gz</dt>
<dt>cd nco-4.9.1</dt>
<dt>./configure --prefix=/usr/local</dt>
<dt>make</dt>
<dt>sudo make install</dt>
......@@ -1667,7 +1672,7 @@ community.
<li><dt>
<a name="wenshan"></a><a name="Wenshan"></a> <!-- http://nco.sf.net#wenshan -->
<a href="http://dust.ess.uci.edu/wenshanw">Wenshan Wang</a>,
<a href="http://dust.ess.uci.edu/wenshanw">Dr. Wenshan Wang</a>,
<i>Roles</i>: Postdoc
<i>Current Research</i>:
1.&nbsp;Causes and implications of Greenland snowmelt.
......
......@@ -119,12 +119,12 @@ Octave TeXInfo manual shows clean TeXInfo structure
@setfilename nco.info
 
@c Define edition, date, ...
@set nco-edition 4.9.0
@set doc-edition 4.9.0
@set nco-edition 4.9.1
@set doc-edition 4.9.1
@set copyright-years 1995--2019
@set update-year 2019
@set update-date 4 December 2019
@set update-month November 2019
@set update-date 19 December 2019
@set update-month December 2019
 
@settitle @acronym{NCO} @value{nco-edition} User Guide
 
......@@ -17883,7 +17883,7 @@ SYNTAX
ncclimo [-3] [-4] [-5] [-6] [-7]
[-a @var{dec_md}] [-C @var{clm_md}] [-c @var{caseid}]
[-d @var{dbg_lvl}] [--d2f] [--dpt_fl=@var{dpt_fl}] [-E @var{yr_prv}] [-e @var{yr_end}]
[-f @var{fml_nm}] [--fl_fmt=@var{fl_fmt}] [-h @var{hst_nm}] [-i @var{drc_in}]
[-f @var{fml_nm}] [--fl_fmt=@var{fl_fmt}] [--glb_avg] [-h @var{hst_nm}] [-i @var{drc_in}]
[-j @var{job_nbr}] [-L @var{dfl_lvl}] [-l @var{lnk_flg}] [-m @var{mdl_nm}] [-n @var{nco_opt}]
[--no_cll_msr] [--no_frm_trm] [--no_ntv_tms] [--no_stg_grd] [--no_stdin]
[-O @var{drc_rgr}] [-o @var{drc_out}] [-p @var{par_typ}] [--ppc=@var{ppc_prc}]
......@@ -18411,6 +18411,25 @@ and @command{ncremap} add formula variables to the extraction list along
with the primary variable and other associated variables.
See @ref{CF Conventions} for a detailed description.
 
@html
<a name="glb_avg"></a> <!-- http://nco.sf.net/nco.html#glb_avg -->
<a name="global_average"></a> <!-- http://nco.sf.net/nco.html#global_average -->
@end html
@cindex @code{--glb_avg}
@cindex @code{--global_average}
@item --glb_avg (@code{--glb_avg}, @code{--global_average})
As of @acronym{NCO} version 4.9.1 (released TBD, 2020), this switch
(which takes no argument) tells the splitter to output horizontally
spatially averaged timeseries files instead of raw, native-grid
timeseries.
This switch only has effect in timeseries splitting mode.
This is useful, for example, to quickly diagnose the behavior of ongoing
model simulations prior to a full-blown analysis.
Thus the spatial mean files will be in the same location and have the same
name as the native grid timeseries would have been and had, respectively.
Note that this switch does not alter the capability of also outputting
the full regridded timeseries, if requested, at the same time.
@html
<a name="no_ntv_tms"></a> <!-- http://nco.sf.net/nco.html#no_ntv_tms -->
<a name="no_ntv"></a> <!-- http://nco.sf.net/nco.html#no_ntv -->
......@@ -18430,7 +18449,12 @@ That is the typical format in which Model Intercomparison Projects
(@acronym{MIP}s) request and disseminate contributions.
When the data producer has no use for the split timeseries on the native
grid, he/she can invoke this flag to cause @command{ncclimo} to
delete the native grid timeseries (not the raw native grid datafiles).
delete the native grid timeseries (not the raw native grid datafiles).
This functionality is implemented by first creating the native grid
timeseries, regridding it, and then overwriting the native grid
timeseries with the regridded timeseries.
Thus the regridded files will be in the same location and have the same
name as the native grid timeseries would have been and had, respectively.
 
@html
<a name="no_stg_grd"></a> <!-- http://nco.sf.net/nco.html#no_stg_grd -->
......@@ -22303,6 +22327,7 @@ or else the user must define an @command{alias}.
<a name="flt_byt"></a> <!-- http://nco.sf.net/nco.html#flt_byt -->
<a name="nxt_lsr"></a> <!-- http://nco.sf.net/nco.html#nxt_lsr -->
<a name="dbl_flt"></a> <!-- http://nco.sf.net/nco.html#dbl_flt -->
<a name="flt_dbl"></a> <!-- http://nco.sf.net/nco.html#flt_dbl -->
@end html
@cindex packing map
@cindex @var{pck_map}
......@@ -22323,6 +22348,7 @@ Six packing maps are currently implemented:@*
@cindex @samp{flt_byt}
@cindex @samp{nxt_lsr}
@cindex @samp{dbl_flt}
@cindex @samp{flt_dbl}
@cindex @code{NC_DOUBLE}
@cindex @code{NC_FLOAT}
@cindex @code{NC_INT64}
......@@ -22369,6 +22395,13 @@ Definition: Demote (via type-conversion, @emph{not packing}) double-precision va
Map: Demote @code{NC_DOUBLE} to @code{NC_FLOAT}.
Types copied instead of packed: All except @code{NC_DOUBLE}@*
@var{pck_map} key values: @samp{dbl_flt}, @samp{pck_map_dbl_flt}, @samp{dbl_sgl}, @samp{pck_map_dbl_sgl}@*
The @code{dbl_flt} map was introduced in @acronym{NCO} version 4.7.7 (September, 2018).
@item Promote Floats to Doubles
Definition: Promote (via type-conversion, @emph{not packing}) single-precision variables to double-precision@*
Map: Promote @code{NC_FLOAT} to @code{NC_DOUBLE}.
Types copied instead of packed: All except @code{NC_FLOAT}@*
@var{pck_map} key values: @samp{flt_dbl}, @samp{pck_map_flt_dbl}, @samp{sgl_dbl}, @samp{pck_map_sgl_dbl}@*
The @code{flt_dbl} map was introduced in @acronym{NCO} version 4.9.1 (TBD, 2020).
@end table
@noindent
The default @samp{all_new} packing policy with the default
......@@ -22378,12 +22411,24 @@ file size by @w{about 50%.}
@w{about 87%.}
 
@cindex @code{d2f}
The final packing map, @samp{pck_map_dbl_flt}, does a pure
type-conversion from @code{NC_DOUBLE} to @code{NC_FLOAT}.
The ``packing map'' @samp{pck_map_dbl_flt} does a pure type-conversion
(no packing is involved) from @code{NC_DOUBLE} to @code{NC_FLOAT}.
The resulting variables are not packed, they are just single-precision
floating point instead of double-precision floating point.
This operation is irreversible, and no attributes are created, modified,
or deleted for these variables.
Note that coordinate and coordinate-like variables will not be demoted
as best practices dictate maintaining coordinates in the highest
possible precision.
The ``packing map'' @samp{pck_map_flt_dbl} does a pure type-conversion
(no packing is involved) from @code{NC_FLOAT} to @code{NC_DOUBLE}.
The resulting variables are not packed, they are just double-precision
floating point instead of single-precision floating point.
This operation is irreversible, and no attributes are created, modified,
or deleted for these variables.
All single-precision variables, including coordinates, are promoted.
Note that this map can double the size of a dataset.
 
@cindex @var{_FillValue}
@cindex @code{_FillValue}
......@@ -27220,6 +27265,7 @@ Auxiliary coordinate support.
@item Scott Capps
Large work-load testing
@cindex Xylar Asay-Davis
@cindex Sterling Baldwin
@cindex Dave Blodgett
@cindex Peter Campbell
@cindex Philip Cameron-Smith
......@@ -27228,6 +27274,7 @@ Large work-load testing
@cindex Aleksandar Jelenak
@cindex Markus Liebig
@cindex Keith Lindsay
@cindex Daniel Macks,
@cindex Stu Muller
@cindex Daniel Neumann
@cindex Mike Page
......@@ -27243,7 +27290,7 @@ Large work-load testing
@cindex George White
@cindex Min Xu
@cindex Remik Ziemlinski
@item Xylar Asay-Davis, Dave Blodgett, Philip Cameron-Smith, Peter Campbell, Martin Dix, Mark Flanner, Aleksandar Jelenak, Markus Liebig, Keith Lindsay, Daniel Neumann, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Rich Signell, Bob Simons, Gary Strand, Matthew Thompson, Adrian Tompkins, George White Andrew Wittenberg, Min Xu, Remik Ziemlinski
@item Xylar Asay-Davis, Sterling Baldwin, Dave Blodgett, Philip Cameron-Smith, Peter Campbell, Martin Dix, Mark Flanner, Aleksandar Jelenak, Markus Liebig, Keith Lindsay, Daniel Macks, Daniel Neumann, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Rich Signell, Bob Simons, Gary Strand, Matthew Thompson, Adrian Tompkins, George White Andrew Wittenberg, Min Xu, Remik Ziemlinski
Excellent bug reports and feature requests.
@cindex Filipe Fernandes
@cindex Isuru Fernando
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -324,8 +324,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__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -392,10 +392,7 @@ ctags CTAGS:
cscope cscopelist:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
......