Skip to content
Commits on Source (4)
......@@ -170,25 +170,19 @@ if (has_nc_inq_format)
endif()
#/////////////////////////////////////////////////////////////////////////////////////
#netCDF 4.6.0
#nc_def_var_filter , has_inq_var_filter, define NC_LIB_VERSION=460 if both found
#netcdf_meta.h defines NC_VERSION_MAJOR NC_VERSION_MINOR NC_VERSION_PATCH
#NCO defines NC_LIB_VERSION ( NC_VERSION_MAJOR * 100 + NC_VERSION_MINOR * 10 + NC_VERSION_PATCH )
#/////////////////////////////////////////////////////////////////////////////////////
check_library_exists(${NETCDF_LIBRARY} nc_def_var_filter "" has_nc_def_var_filter)
if (has_nc_def_var_filter)
message("-- Found nc_def_var_filter in: " ${NETCDF_LIBRARY})
add_definitions(-DHAVE_NC_DEF_VAR_FILTER)
endif()
check_library_exists(${NETCDF_LIBRARY} nc_inq_var_filter "" has_inq_var_filter)
if (has_inq_var_filter)
message("-- Found has_inq_var_filter in: " ${NETCDF_LIBRARY})
add_definitions(-DHAVE_NC_INQ_VAR_FILTER)
find_path(path_netcdf_meta_h netcdf_meta.h PATHS ${NETCDF_INCLUDE})
if(path_netcdf_meta_h)
message("-- Found netcdf_meta.h in " ${path_netcdf_meta_h})
add_definitions(-DNC_HAVE_META_H)
else()
message("-- netcdf_meta.h was not found; defining NC_LIB_VERSION=360")
add_definitions(-DNC_LIB_VERSION=360)
endif()
if (has_nc_def_var_filter AND has_inq_var_filter)
add_definitions(-DNC_LIB_VERSION=460)
endif ()
find_path(path_netcdf_mem_h netcdf_mem.h PATHS ${NETCDF_INCLUDE})
if (path_netcdf_mem_h)
......@@ -492,6 +486,12 @@ set(nco_SOURCES ${nco_SOURCES} src/nco/nco_var_lst.c src/nco/nco_var_lst.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_var_rth.c src/nco/nco_var_rth.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_var_scv.c src/nco/nco_var_scv.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_var_utl.c src/nco/nco_var_utl.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_ply.c src/nco/nco_ply.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_ply_lst.c src/nco/nco_ply_lst.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_map.c src/nco/nco_map.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_sph.c src/nco/nco_sph.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/nco_crt.c src/nco/nco_crt.h)
set(nco_SOURCES ${nco_SOURCES} src/nco/kd.c src/nco/kd.h)
# Type of library (SHARED, STATIC) is configured using BUILD_SHARED_LIBS
add_library(nco ${nco_SOURCES})
......@@ -789,18 +789,6 @@ if (HAVE_STRINGS_H)
add_definitions(-DHAVE_STRINGS_H)
endif()
check_include_file(netcdf_meta.h HAVE_NC_META_H)
if (HAVE_NC_META_H)
message("-- Found header netcdf_meta.h")
add_definitions(-DHAVE_NC_META_H)
endif()
check_include_file(netcdf_mem.h HAVE_NC_MEM_H)
if (HAVE_NC_MEM_H)
message("-- Found header netcdf_mem.h")
add_definitions(-DHAVE_NC_MEM_H)
endif()
#//////////////////////////
# regex
#//////////////////////////
......
......@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
Version: 4.7.9
Version: 4.8.0
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
URL: http://nco.sf.net/
# Obtain NCO version 4.7.9-1 tar.gz from Sourceforge using CVS:
# Obtain NCO version 4.8.0-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.7.9-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.7.9/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.8.0-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.8.0/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
......@@ -108,6 +108,9 @@ fi
# %{_libdir}/libnco++.so
%changelog
* Wed May 15 2019 Charlie Zender <zender@uci.edu> - 4.8.0-1
- new upstream 4.8.0
* Thu Feb 20 2019 Charlie Zender <zender@uci.edu> - 4.7.9-1
- new upstream 4.7.9
......
......@@ -5,20 +5,20 @@
# Usage:
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.7.9.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.7.9 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.7.9 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.7.9 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.7.9 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.7.9
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.7.9
# /usr/bin/scp ${DATA}/nco-4.8.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.8.0 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.8.0 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.8.0 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.8.0 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.8.0
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.8.0
# 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.7.9/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.8.0/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
......
......@@ -112,6 +112,11 @@ sub tst_rgr {
# 460 (for library 4.6.0.x)
# 461 (for library 4.6.1)
# 462 (for library 4.6.2)
# 463 (for library 4.6.3)
# 464 (for library 4.6.4)
# 470 (for library 4.7.0)
# 471 (for library 4.7.1)
# 472 (for library 4.7.2)
if($exit_value == 410){print "netCDF version 4.1.x detected\n";}
if($exit_value == 431){print "netCDF version 4.3.1 detected\n";}
......@@ -124,6 +129,11 @@ sub tst_rgr {
if($exit_value == 460){print "netCDF version 4.6.0 detected\n";}
if($exit_value == 461){print "netCDF version 4.6.1 detected\n";}
if($exit_value == 462){print "netCDF version 4.6.2 detected\n";}
if($exit_value == 463){print "netCDF version 4.6.3 detected\n";}
if($exit_value == 464){print "netCDF version 4.6.4 detected\n";}
if($exit_value == 470){print "netCDF version 4.7.0 detected\n";}
if($exit_value == 471){print "netCDF version 4.7.1 detected\n";}
if($exit_value == 472){print "netCDF version 4.7.2 detected\n";}
if($exit_value >= 400){$RUN_NETCDF4_TESTS=1;}
if($exit_value >= 431){$RUN_NETCDF4_TESTS_VERSION_GE_431=1;}
......@@ -512,9 +522,6 @@ if($USER eq 'zender'){
NCO_bm::tst_run(\@tst_cmd);
$#tst_cmd=0; # Reset array
if($dodap eq "FALSE"){
####################
#### ncatted tests #
......
......@@ -66,7 +66,7 @@ edit hdf5-static.vcxproj and add full path of ZLIB and SZIP libraries as depende
```
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:x64</AdditionalOptions>
<AdditionalDependencies>E:\nco\cmake\build\zlib\build\Debug\zlibstaticd.lib;E:\nco\cmake\build\szip\build\bin\Debug\libszip_D.lib</AdditionalDependencies>
<AdditionalDependencies>G:\nco\cmake\build\zlib\build\Debug\zlibstaticd.lib;G:\nco\cmake\build\szip\build\bin\Debug\szip.lib</AdditionalDependencies>
</Lib>
```
......@@ -77,7 +77,7 @@ edit hdf5-static.vcxproj and add full path of ZLIB and SZIP libraries as depende
```
<Lib>
<AdditionalOptions>%(AdditionalOptions) /machine:x64</AdditionalOptions>
<AdditionalDependencies>E:\nco\cmake\build\hdf5\build\bin\Debug\libhdf5_hl_D.lib;E:\nco\cmake\build\hdf5\build\bin\Debug\libhdf5_D.lib;E:\nco\cmake\build\curl\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\libcurl_a_debug.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>G:\nco\cmake\build\hdf5\build\bin\Debug\libhdf5_hl_D.lib;G:\nco\cmake\build\hdf5\build\bin\Debug\libhdf5_D.lib;G:\nco\cmake\build\curl\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\libcurl_a_debug.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
```
......@@ -117,7 +117,7 @@ git checkout tags/v4.6.0
popd
git clone https://github.com/curl/curl
git clone https://github.com/madler/zlib
git clone https://github.com/soumagne/szip
git clone https://github.com/nextgis-borsch/lib_szip
git clone https://github.com/live-clones/hdf5
git clone https://github.com/Unidata/UDUNITS-2
git clone https://github.com/libexpat/libexpat
......
......@@ -36,7 +36,7 @@ echo using %MSVC_VERSION%
:: git clone https://github.com/Unidata/netcdf-c
:: git clone https://github.com/curl/curl
:: git clone https://github.com/madler/zlib
:: git clone https://github.com/soumagne/szip
:: git clone https://github.com/nextgis-borsch/lib_szip szip
:: git clone https://github.com/live-clones/hdf5
:: git clone https://github.com/Unidata/UDUNITS-2
:: git clone https://github.com/libexpat/libexpat
......@@ -83,7 +83,7 @@ if not exist %build%\zlib (
)
if not exist %build%\szip (
git clone https://github.com/soumagne/szip
git clone https://github.com/nextgis-borsch/lib_szip szip
) else (
echo skipping szip git clone
)
......@@ -198,7 +198,7 @@ if exist %build%\hdf5\build\bin\Debug\h5dump.exe (
-DHDF5_ENABLE_SZIP_SUPPORT=ON ^
-DSZIP_USE_EXTERNAL=ON ^
-DSZIP_FOUND=ON ^
-DSZIP_STATIC_LIBRARY:FILEPATH=%root%/szip/build/bin/Debug/libszip_D.lib ^
-DSZIP_STATIC_LIBRARY:FILEPATH=%root%/szip/build/bin/Debug/szip.lib ^
-DSZIP_INCLUDE_DIRS:PATH=%root%/szip/src
msbuild HDF5.sln /target:build /property:configuration=debug /nologo /verbosity:minimal
popd
......@@ -361,7 +361,7 @@ if exist %build%\netcdf-c\build\ncdump\ncdump.exe (
-DHDF5_C_LIBRARY=%root%/hdf5/build/bin/Debug/libhdf5_D.lib ^
-DHDF5_INCLUDE_DIR=%root%/hdf5/src ^
-DZLIB_LIBRARY:FILE=%root%/zlib/build/Debug/zlibstaticd.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/libszip_D.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/szip.lib ^
-DZLIB_INCLUDE_DIR:PATH=%root%/zlib ^
-DHAVE_HDF5_H=%root%/hdf5/build ^
-DHDF5_HL_INCLUDE_DIR=%root%/hdf5/hl/src ^
......@@ -406,7 +406,7 @@ if exist %build%\Debug\ncks.exe (
-DHDF5_LIBRARY:FILE=%root%/hdf5/build/bin/Debug/libhdf5_D.lib ^
-DHDF5_HL_LIBRARY:FILE=%root%/hdf5/build/bin/Debug/libhdf5_hl_D.lib ^
-DZLIB_LIBRARY:FILE=%root%/zlib/build/Debug/zlibstaticd.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/libszip_D.lib ^
-DSZIP_LIBRARY:FILE=%root%/szip/build/bin/Debug/szip.lib ^
-DCURL_LIBRARY:FILE=%root%/curl/builds/libcurl-vc14-x64-debug-static-ipv6-sspi-winssl/lib/libcurl_a_debug.lib ^
-DUDUNITS2_INCLUDE:PATH=%root%/UDUNITS-2/lib ^
-DUDUNITS2_LIBRARY:FILE=%root%/UDUNITS-2/build/lib/Debug/udunits2.lib ^
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.7.9.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.8.0.
#
# 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.7.9'
PACKAGE_STRING='NCO netCDF Operators 4.7.9'
PACKAGE_VERSION='4.8.0'
PACKAGE_STRING='NCO netCDF Operators 4.8.0'
PACKAGE_BUGREPORT='nco-bugs@lists.sourceforge.net'
PACKAGE_URL=''
 
......@@ -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.7.9 to adapt to many kinds of systems.
\`configure' configures NCO netCDF Operators 4.8.0 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.7.9:";;
short | recursive ) echo "Configuration of NCO netCDF Operators 4.8.0:";;
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.7.9
NCO netCDF Operators configure 4.8.0
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.7.9, which was
It was created by NCO netCDF Operators $as_me 4.8.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -3746,7 +3746,7 @@ fi
 
# Define the identity of the package.
PACKAGE='nco'
VERSION='4.7.9'
VERSION='4.8.0'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -21575,7 +21575,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.7.9, which was
This file was extended by NCO netCDF Operators $as_me 4.8.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21641,7 +21641,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.7.9
NCO netCDF Operators config.status 4.8.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......
......@@ -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.7.9],[nco-bugs@lists.sourceforge.net],[nco])
AC_INIT([NCO netCDF Operators],[4.8.0],[nco-bugs@lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
......
......@@ -314,14 +314,14 @@ make install
# Sysadmin upgrade request:
# Latest sysadmin-compiled module usage:
# Personal recipe last modified: 20180912
# Personal recipe last used successfully: 20190216
# Personal recipe last used successfully: 20190511
# NB: aims4 and acme1 only accept connections from whitelisted domains (e.g., uci.edu)
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
export PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/bin':${PATH}
export LD_LIBRARY_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/lib':${LD_LIBRARY_PATH}
export PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/bin':${PATH}
export LD_LIBRARY_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib':${LD_LIBRARY_PATH}
# NB: Necessary to explicitly specify NETCDF_BIN and NETCDF_LIB. NETCDF_ROOT may be borken.
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
/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
......@@ -333,12 +333,12 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Sysadmin upgrade request:
# Latest sysadmin-compiled module usage:
# Personal recipe last modified: 2016??
# Personal recipe last used successfully: 20190216
# Personal recipe last used successfully: 20190216 (aims4 access stopped working ~201904)
# NB: aims4 and acme1 only accept connections from whitelisted domains (e.g., uci.edu)
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
# NB: Necessary to explicitly specify NETCDF_BIN and NETCDF_LIB. NETCDF_ROOT may be borken.
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.2_py2.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' NETCDF_INC='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/include' NETCDF_LIB='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib' UDUNITS2_PATH='/usr/local/e3sm_unified/envs/base/envs/e3sm_unified_1.2.5_py3.7_nox' ./configure --prefix=${HOME} --bindir=${MY_BIN_DIR} --datadir=${HOME}/nco/data --libdir=${MY_LIB_DIR} --mandir=${HOME}/nco/man > nco.configure.${GNU_TRP}.foo 2>&1
/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
......@@ -353,7 +353,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Latest ticket: AREQ0215917 on 20180413
# Latest sysadmin-compiled module usage: soft add +netcdf-4.6.1 soft add +nco-4.7.4 # 20180417
# Personal recipe last modified: 20180729
# Personal recipe last used successfully: 20190216 (up to ncap2 linking with antlr)
# Personal recipe last used successfully: 20190510
# Fails to link to system-installed udunits...why?
# nm -a /soft/udunits/2.1.21/lib/libudunits2.a | grep ut_read_xml
# soft add +antlr-2.7.7 # 20161223 this ANTLR appears to be stock and not NCO-compatible
......@@ -395,7 +395,7 @@ cd ~/nco/bld;make ANTLR_ROOT=${HOME} GSL_ROOT='/glade/u/apps/ch/opt/gsl/2.4/gnu/
# Latest ticket: alcf-support #367012 on 20180413
# Latest sysadmin-compiled module usage: soft add +nco-4.6.8, soft add +netcdf-4.4.1.1
# Personal recipe last modified: 20170825
# Personal recipe last used successfully: 20180921
# Personal recipe last used successfully: 20190420
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
cd ~/nco;git reset --hard origin/master
......@@ -411,15 +411,15 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do # NERSC Maintainer = Yun (Helen) He
# Latest ticket: INC0118469 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.7.4 # 20180430 (without ncap2)
# Personal recipe last modified: 20180125
# Personal recipe last used successfully: 20190216
# Personal recipe last modified: 20190417 (updated from 4.4.1.1.3 to 4.6.1.3)
# Personal recipe last used successfully: 20190227
module load szip
module load gsl
module load udunits
module load cray-netcdf
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
ANTLR_ROOT=${HOME} ANTLR_LIB=${HOME}/lib_cori CC='icc' CXX='icpc' GSL_ROOT='/usr/common/software/gsl/2.1/intel' NETCDF_INC='/opt/cray/pe/netcdf/4.4.1.1.3/INTEL/16.0/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.4.1.1.3/INTEL/16.0/lib' NETCDF_ROOT='/opt/cray/pe/netcdf/4.4.1.1.3' UDUNITS2_PATH='/usr/common/software/udunits/2.2.19/hsw/intel' ./configure --prefix=${HOME} --bindir=${HOME}/bin_cori --datadir=${HOME}/nco/data --libdir=${HOME}/lib_cori --mandir=${HOME}/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} ANTLR_LIB=${HOME}/lib_cori CC='icc' CXX='icpc' GSL_ROOT='/usr/common/software/gsl/2.1/intel' NETCDF_INC='/opt/cray/pe/netcdf/4.6.1.3/intel/16.0/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.6.1.3/intel/16.0/lib' NETCDF_ROOT='/opt/cray/pe/netcdf/4.4.1.1.3' UDUNITS2_PATH='/usr/common/software/udunits/2.2.19/hsw/intel' ./configure --prefix=${HOME} --bindir=${HOME}/bin_cori --datadir=${HOME}/nco/data --libdir=${HOME}/lib_cori --mandir=${HOME}/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
......@@ -432,7 +432,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Sysadmin upgrade request: https://nersc.service-now.com/navpage.do
# Latest ticket: INC0118469 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.7.4 # 20180430 (without ncap2)
# Personal recipe last modified: 20170807
# Personal recipe last modified: 20190420 (updated to netCDF 4.6.1.3)
# Personal recipe last used successfully: 20190216 (but must manually link to -L${HOME}/lib_edison to find antlr)
module load szip
module load gsl
......@@ -440,7 +440,7 @@ module load udunits2
module load cray-netcdf
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
ANTLR_ROOT=${HOME} ANTLR_LIB=${HOME}/lib_edison CC='icc' CXX='icpc' GSL_ROOT='/usr/common/usg/gsl/2.3/intel' NETCDF_INC='/opt/cray/pe/netcdf/4.4.1.1.3/INTEL/16.0/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.4.1.1.3/INTEL/16.0/lib' NETCDF_ROOT='/opt/cray/pe/netcdf/4.4.1.1.3' UDUNITS2_PATH='/usr/common/usg/udunits/2.1.24/intel' ./configure --prefix=${HOME} --bindir=${HOME}/bin_edison --datadir=${HOME}/nco/data --libdir=${HOME}/lib_edison --mandir=${HOME}/man > nco.configure.${GNU_TRP}.foo 2>&1
ANTLR_ROOT=${HOME} ANTLR_LIB=${HOME}/lib_edison CC='icc' CXX='icpc' GSL_ROOT='/usr/common/usg/gsl/2.3/intel' NETCDF_INC='/opt/cray/pe/netcdf/4.6.1.3/intel/16.0/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.6.1.3/intel/16.0/lib' NETCDF_ROOT='/opt/cray/pe/netcdf/4.6.1.3' UDUNITS2_PATH='/usr/common/usg/udunits/2.1.24/intel' ./configure --prefix=${HOME} --bindir=${HOME}/bin_edison --datadir=${HOME}/nco/data --libdir=${HOME}/lib_edison --mandir=${HOME}/man > nco.configure.${GNU_TRP}.foo 2>&1
/bin/cp -f config.log nco.config.log.${GNU_TRP}.foo
/bin/cp -f libtool nco.libtool.${GNU_TRP}.foo
make clean;make > nco.make.${GNU_TRP}.foo 2>&1
......@@ -468,20 +468,35 @@ 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: 20170814
# Personal recipe last used successfully: 20190216
# Personal recipe last used successfully: 20190227
# 20190420: Everything broke due to major system upgrade (Summit?). Most packages no longer present.
# Block below no longer works, just keeping it until I cobble together a replacement in the following block
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'
module unload PE-intel # CSZ
module load PE-gnu # CSZ
module add gsl hdf5
module load netcdf/4.4.1
module load intel
export LD_LIBRARY_PATH=/autofs/nccs-svm1_sw/rhea/.swci/0-core/opt/spack/20170224/linux-rhel6-x86_64/gcc-4.4.7/netcdf-4.4.1-uroyzcwi6fc3kerfidguoof7g2vimo57/lib:/sw/redhat6/szip/2.1/rhel6.6_gnu4.8.2/lib:${LD_LIBRARY_PATH}
export NETCDF_ROOT=/autofs/nccs-svm1_sw/rhea/.swci/0-core/opt/spack/20170224/linux-rhel6-x86_64/gcc-4.4.7/netcdf-4.4.1-uroyzcwi6fc3kerfidguoof7g2vimo57
export PATH=/autofs/nccs-svm1_sw/rhea/.swci/0-core/opt/spack/20170224/linux-rhel6-x86_64/gcc-4.4.7/netcdf-4.4.1-uroyzcwi6fc3kerfidguoof7g2vimo57/bin:${PATH}
cd ~/nco;git reset --hard origin/master
cd ~/nco/bld;make ANTLR_ROOT=${HOME} NETCDF_ROOT='/autofs/nccs-svm1_sw/rhea/.swci/0-core/opt/spack/20170224/linux-rhel6-x86_64/gcc-4.4.7/netcdf-4.4.1-uroyzcwi6fc3kerfidguoof7g2vimo57' SZ=Y SZ_LIB='/sw/redhat6/szip/2.1/rhel6.6_gnu4.8.2/lib' UDUNITS_INC='/sw/redhat6/udunits/2.1.24/rhel6.4_intel13.1.3/include' UDUNITS_LIB='/sw/redhat6/udunits/2.1.24/rhel6.4_intel13.1.3/lib' OPTS=D OMP=Y allinone;cd -
# gcc/g++ 20160107 Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on rhea:
# Sysadmin upgrade request: https://www.olcf.ornl.gov/support/submit-ticket
# 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: 20190420
# Personal recipe last used successfully: 20190227
source /ccs/proj/cli900/sw/rhea/e3sm-unified/load_latest_e3sm_unified.sh
export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE'
export LINUX_CXX='g++ -std=c++11'
export LINUX_FC='gfortran'
export LD_LIBRARY_PATH=/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox/lib:${LD_LIBRARY_PATH}
export NETCDF_ROOT=/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox
export PATH=/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox/bin:${PATH}
cd ~/nco;git reset --hard origin/master
cd ~/nco/bld;make ANTLR_ROOT=${HOME} NETCDF_ROOT='/ccs/proj/cli900/sw/rhea/e3sm-unified/base/envs/e3sm_unified_1.2.5_py3.7_nox' OPTS=D OMP=Y allinone;cd -
# 20160421: gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on roger:
# Sysadmin upgrade request: Yan Liu <yanliu@illinois.edu>
# Latest sysadmin-compiled module usage: module load nco/4.6.5 # 20170315
......@@ -505,7 +520,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Latest sysadmin-compiled module usage: # fxm
# Personal recipe last modified: 20180823
# Problem is that .bashrc resets PATH so cannot find icc/gcc ...
# Personal recipe last used successfully: 20180823 (Traditional build only)
# Personal recipe last used successfully: 20190313 (Traditional build only, no ncap2)
# module unload python
# module use /projects/ClimateEnergy_2/software/modulefiles/all
# module load e3sm-unified/1.1.2
......@@ -773,10 +788,6 @@ CC='gcc' CFLAGS='' CXX='g++' CXXFLAGS='' ./configure --prefix=${HOME} --bindir=$
ANTLR_ROOT=${HOME} CC='gcc' CFLAGS='' CXX='g++' CXXFLAGS='' ./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
# Sastrugi 20180729 (works)
ANTLR_ROOT=${HOME} CC=${LINUX_CC} CFLAGS='' CXX=${LINUX_CXX} CXXFLAGS='' ./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
# Sastrugi 20180917 Build with libraries/headers from Anaconda (borken: compiles and links but run-time linker fails)
export PATH=${HOME}/anaconda/bin:${PATH}
export LD_LIBRARY_PATH=${HOME}/anaconda/lib:${LD_LIBRARY_PATH}
ANTLR_ROOT=${HOME} CC=${LINUX_CC} CFLAGS='' CXX=${LINUX_CXX} CXXFLAGS='' NETCDF_ROOT=${HOME}/anaconda ./configure --disable-openmp --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
......
// -*-C++-*-
// Generate netCDF file with:
// ncgen -k netCDF-4 -b -o ~/nco/data/cf_grp.nc ~/nco/data/cf_grp.cdl
netcdf cf_grp {
:Conventions = "CF-1.8";
:title = "A template/test dataset for Groups in CF";
:history = "Global history attribute";
dimensions:
lat=180;
lon=360;
group: e3sm {
:title = "group-level title attribute is allowed";
dimensions:
lat=2;
lon=3;
time=unlimited;
variables:
double lat(lat);
lat:long_name = "latitude" ;
lat:standard_name = "latitude" ;
lat:units = "degrees_north" ;
lat:axis = "Y" ;
double lon(lon) ;
lon:long_name = "longitude" ;
lon:standard_name = "longitude" ;
lon:units = "degrees_east" ;
lat:axis = "X" ;
double time(time) ;
time:long_name = "time of measurement" ;
time:standard_name = "time" ;
time:units = "days since 1964-03-12 12:09:00 -9:00";
time:calendar = "leap" ;
data:
lat=-90,90;
lon=0,120,240;
time=1.,2.,3.,4.;
group: e3sm_01 {
:Realization = "1";
:history = "Group-level history attributes are OK too";
variables:
float tas(time,lat,lon);
tas:long_name = "surface air temperature";
tas:standard_name = "air_temperature" ;
tas:units = "kelvin" ;
tas:coordinates = "time lat lon";
data:
tas=271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15;
} // e3sm_01
group: e3sm_02 {
:Realization = "2";
variables:
float tas(time,lat,lon);
tas:long_name = "surface air temperature";
tas:standard_name = "air_temperature" ;
tas:coordinates = "/e3sm/time /e3sm/lat /e3sm/lon";
data:
tas=272.15,272.15,272.15,272.15,272.15,272.15,
272.15,272.15,272.15,272.15,272.15,272.15,
272.15,272.15,272.15,272.15,272.15,272.15,
272.15,272.15,272.15,272.15,272.15,272.15;
} // e3sm_02
group: e3sm_03 {
:Realization = "3";
variables:
float tas(time,lat,lon);
tas:long_name = "surface air temperature";
tas:standard_name = "air_temperature" ;
tas:coordinates = "../time ../lat ../lon";
data:
tas=273.15,273.15,273.15,273.15,273.15,273.15,
273.15,273.15,273.15,273.15,273.15,273.15,
273.15,273.15,273.15,273.15,273.15,273.15,
273.15,273.15,273.15,273.15,273.15,273.15;
} // e3sm_03
} // e3sm
group: nasa {
dimensions:
lat=2;
lon=3;
time=unlimited;
group: nasa_data {
:history = "Group-level history attributes are OK too";
variables:
float tas(time,lat,lon);
tas:long_name = "surface air temperature";
tas:standard_name = "air_temperature" ;
tas:units = "kelvin" ;
tas:coordinates = "time lat lon";
float sic(time,lat,lon);
sic:long_name = "sea-ice concentration";
sic:standard_name = "sea_ice_area_fraction" ;
sic:units = "1" ;
sic:coordinates = "/nasa/nasa_geo/time /nasa/nasa_geo/lat /nasa/nasa_geo/lon";
float sit(time,lat,lon);
sit:long_name = "sea-ice thickness";
sit:standard_name = "sea_ice_thickness" ;
sit:units = "meter" ;
sit:coordinates = "../nasa_geo/time ../nasa_geo/lat ../nasa_geo/lon";
data:
tas=271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15,
271.15,271.15,271.15,271.15,271.15,271.15;
sic=0.73,0.73,0.73,0.73,0.73,0.73,
0.73,0.73,0.73,0.73,0.73,0.73,
0.73,0.73,0.73,0.73,0.73,0.73,
0.73,0.73,0.73,0.73,0.73,0.73;
sit=3.7,3.7,3.7,3.7,3.7,3.7,
3.7,3.7,3.7,3.7,3.7,3.7,
3.7,3.7,3.7,3.7,3.7,3.7,
3.7,3.7,3.7,3.7,3.7,3.7;
} // nasa_data
group: nasa_geo {
variables:
double lat(lat);
lat:long_name = "latitude" ;
lat:standard_name = "latitude" ;
lat:units = "degrees_north" ;
lat:axis = "Y" ;
double lon(lon) ;
lon:long_name = "longitude" ;
lon:standard_name = "longitude" ;
lon:units = "degrees_east" ;
lat:axis = "X" ;
double time(time) ;
time:long_name = "time of measurement" ;
time:standard_name = "time" ;
time:units = "days since 1964-03-12 12:09:00 -9:00";
time:calendar = "leap" ;
data:
lat=-90,90;
lon=0,120,240;
time=1.,2.,3.,4.;
} // nasa_geo
} // nasa
group: nsidc {
dimensions:
time=unlimited;
group: nsidc {
variables:
float tas(time);
tas:long_name = "surface air temperature";
tas:standard_name = "air_temperature" ;
tas:units = "kelvin" ;
double time(time);
time:long_name = "time of measurement" ;
time:standard_name = "time" ;
time:units = "days since 1964-03-12 12:09:00 -9:00";
time:calendar = "leap" ;
data:
tas=274.15,274.15,274.15,274.15,274.15;
time=1.,2.,3.,4.,5.;
} // nsidc
} // nsidc
} // root group
This diff is collapsed.
This diff is collapsed.
nco (4.7.9-2) UNRELEASED; urgency=medium
nco (4.8.0-1) UNRELEASED; urgency=medium
* New upstream release.
* Remove package name from lintian overrides.
* Add license & copyright for sources by Joseph O'Rourke.
-- Bas Couwenberg <sebastic@debian.org> Fri, 15 Mar 2019 15:33:24 +0100
-- Bas Couwenberg <sebastic@debian.org> Thu, 16 May 2019 06:41:24 +0200
nco (4.7.9-1) unstable; urgency=medium
......
......@@ -26,6 +26,13 @@ Comment: Charlie Zender wrote most of NCO and holds all NCO copyrights.
University of California, Irvine
License: GPL-3 with NCO exception
Files: src/nco/nco_crt.c
src/nco/nco_sph.c
Copyright: 1997, Joseph O'Rourke
License: crt
It may be freely redistributed in its entirety provided that this
copyright notice is not removed.
Files: src/nco/nco_getopt.c
src/nco/nco_getopt.h
Copyright: 1997, 2000-2002, Benjamin Sittler
......
......@@ -17,6 +17,7 @@
/nco.ky
/nco.log
/nco.pg
/nco.tmp
/nco.toc
/nco.tp
/nco.vr
$Header$ -*-text-*-
The netCDF Operators NCO version 4.7.9 art b'rn
The netCDF Operators NCO version 4.8.0 art b'rn
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Producing data for submission to CMIP6 has led to many improvemnts to
the two workflow tools ncclimo and ncremap. Dozens of changes have
made both tools more robust, clearer, and better documented. Notable
changes include include improved sub-gridscale remapping, adding depth
coordinates, CDL updates for hidden attributes, and support for GCC9
and OpenMP 5.0.0.
Version 4.8.0 contains, as usual, numerous enhancements to ncremap
and ncclimo. The most significant is vertical interpolation, which
is useful to create new initial conditions for models, and to convert
data to/from any desired hybrid coordinate or pure pressure vertical
grid. Also we have changed NCO_PATH_OVERRIDE from opt-out to opt-in
due to the increased maturity and use of the Conda NCO package which
now pulls-in both ESMF_RegridWeightGen and TempestRemap.
ncap2 now allows creating brand-new files without specifying an
existing input file, which eliminates an indefensible and annoying
requirement. ncks can now easily detect and identify NaNs in datasets.
See below for a fuller list of new features and pointers to more info.
Work on NCO 4.8.1 has commenced. This will include plumbing work that
allows simultaneous horizontal and vertical regridding, and that
allows ncclimo to invoke the vertical regridding features.
Work on NCO 5.0.0 has commenced "under the hood". The key leap in that
release will be support for netCDF4 user-defined types. Printing of
......@@ -25,99 +35,89 @@ Charlie
NEW FEATURES (full details always in ChangeLog):
A. ncremap now names the SGS map as per the -m map_fl option.
Previously there was no way to name SGS maps for archival.
This capability eases the generation of SGS maps for CMIP6,
since models (like ELM, CTSM) with time-invariant land units can
regrid all variables with the same SGS map.
http://nco.sf.net/nco.html#sgs
B. ncremap and ncclimo support MPAS files with a 'depth' dimension,
and also adding a depth coordinate to raw MPAS output files.
Both add 'depth' to MPAS files with the new option --dpt_fl:
ncremap -P mpas --dpt_fl=refBottomDepth_60lyr.nc ...
ncremap -m mpaso --dpt_fl=refBottomDepth_60lyr.nc ...
To work, the Python code add_depth.py must be on the $PATH, and
dpt_fl must contain the MPAS-Ocean field refBottomDepth.
Thanks to Xylar Asay-Davis of LANL for creating a robust
add_depth.py.
http://nco.sf.net/nco.html#dpt
http://nco.sf.net/nco.html#dpt_fl
C. The regridder utilizes the lat_dmn_nm and lon_dmn_nm options, when
specified, to name the dimensions for regridded logically
rectangular files. Previously these options were only used to
specify horizontal dimension names in input file. Consistent
with this, lat_nm_out and lon_nm_out now specify only the
horizontal variable names, not the dimension names as before.
The indepdendent configurability of dimension and variable names
allows ncremap to regrid files with map projections as expected
by Panoply and other software. Thanks to Xylar Asay-Davis of LANL
for suggesting this feature.
ncremap --rgr_opt='--rgr lat_dmn_nm=x#lon_dmn_nm=y'
We realize this API is ugly and will create more aesthetic options
like ncremap --lat_dmn=x --lon_dmn=y if enough users lovingly
petition our representatives now standing-by at call centers.
http://nco.sf.net/nco.html#rgr_opt
D. ncclimo writes more explicit information about parallelism,
including job_nbr, var_nbr, and nd_nbr. This will help users
tune throughput for large climatology and splitting jobs.
http://nco.sf.net/nco.html#ncclimo
E. The splitter in ncclimo now outputs progress more clearly,
and shows the elapsed time to split each timeseries.
http://nco.sf.net/nco.html#split
F. ncra/ncrcat now perform time-rebasing in rec_apn mode using
calendar units from the destination not the source file.
This makes more sense when you think about it.
Thanks to Ian McHugh of Monash University for prompting this.
http://nco.sf.net/nco.html#rbs
G. NCO now writes more intelligible error messages with HINTS for
likely causes of and responses to NC_EHDFERR and NC_EBADCHUNK
errors.
http://nco.sf.net/nco.html#hdf
http://nco.sf.net/nco.html#cnk
H. ncks emulates ncdump more closely and prints hidden attribute
_NoFill (not _NOFILL) values as "true" or "false" not 1 or 0.
ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl
I. ncks prints CDL for hidden _Filters attribute, if any, with
all filter values.
ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl
J. ncks prints hidden _Endianness attribute for floating point types
not just multi-byte integers as before.
ncks --hidden -m in.nc
http://nco.sf.net/nco.html#cdl
A. ncremap now accepts two new Tempest map configurations, "se2se" and
"fv2fv". Use them to regrid one spectral element grid to another,
or one finite volume grid to another with TempestRemap.
http://nco.sf.net/nco.html#se2se
http://nco.sf.net/nco.html#fv2fv
B. ncap2 now allows creating brand-new files without specifying an
input filename. Previously, users had to specify an input file
even if the output file had no dependency on it.
ncap2 -s 'foo=1' ~/foo.nc # Create new or modify existing foo.nc
ncap2 -O -s 'foo=1' ~/foo.nc # Overwrite old with new foo.nc
ncap2 -s 'foo=1' ~/foo.nc ~/foo.nc # Add to old foo.nc
http://nco.sf.net/nco.html#ncap2
C. ncremap and ncclimo have a new flag, --no_stdin, that disables
checking stdin for input files. This is a flag that takes no
argument, not a key-value option. Add --no_stdin to any command
that might run in an environment, like Azure CI or CWL, that uses
stdin for other purposes.
ncclimo --no_stdin --caseid=foo ...
ncremap --no_stdin --map=map.nc in.nc out.nc
http://nco.sf.net/nco.html#no_stdin
D. ncremap can now interpolate files in the vertical dimension.
The --vrt_fl=vrt_fl option points to a vertical grid file
that specifies the desired vertical grid for the output file.
Currently supported grids include the hybrid vertical coordinate
employed by E3SM and CESM, and pure pressure coordinates.
ncremap --vrt_fl=vrt_fl in.nc out.nc
http://nco.sf.net/nco.html#vrt
E. ncremap and ncclimo now accept the --xcl_var switch. This switch
changes the extraction list (specified with -v vars or --vars=vars)
into an exclusion list. Behavior is identical to the common NCO -x
option:
ncremap --xcl_var --vars=excluded,from,output in.nc out.nc
http://nco.sf.net/nco.html#xcl_var
F. ncremap and ncclimo now alter paths on certain supercomputers at
DOE HPC centers only when requested to. Previously, these commands
used pre-defined paths, when available, to ensure users could
easily run the executables in CZ's directories. Users could opt-out
of these paths by exporting NCO_PATH_OVERRIDE=No in their
environment. Thanks to inclusion of external (non-NCO) executables
such as ESMF_RegridWeightGen and TempestRemap in Anaconda
environments widely used at DOE labs, this is no longer necessary.
Now users must opt-in to the preset paths by exporting
NCO_PATH_OVERRIDE=Yes in their environments.
export NCO_PATH_OVERRIDE=Yes # Use CZ's ESMF, TR, and NCO
ncremap -a conserve --map=map.nc in.nc out.nc
http://nco.sf.net/nco.html#ncremap
G. ncclimo adopts a default job_nbr of var_nbr in splitter mode.
Previusly the default was 2. However, the splitter is extremely
memory efficient and scales well up to over a hundred variables on
all HPCs tested. Hence this change.
http://nco.sf.net/nco.html#job_nbr
H. ncks has a new --chk_nan option. This option invokes a special
checker that looks for NaN of NaNf in double- and single-precision
floating-point variables, respectively. If a NaN is encountered,
NCO prints its location and then exits with an error code. Thanks
to Matthew Thompson of NASA for this suggestion.
ncks --chk_nan in.nc
http://nco.sf.net/nco.html#chk_nan
I. New synonyms --xtr_ass_var and --xcl_ass_var, which stand for
"exclude associated variables" and "extract associated variables",
have been added to the -C and -c switches, respectively.
Simultaneously, the --no-coords and --no-crd synonyms have been
renamed --no_coords and --no_crd because NCO is standardizing on
underscores not dashes for multi-component option names.
ncks --xcl_ass_var lat in.nc
ncks --xtr_ass_var lat in.nc
http://nco.sf.net/nco.html#xcl_ass_var
http://nco.sf.net/nco.html#xtr_ass_var
BUG FIXES:
A. Fix a bug exposed in NCO 4.7.1 that could attempt to dereference
a NULL pointer, resulting in a core dump. The solution is to
install 4.7.9. The workaround to that is to run a version of NCO
prior to 4.7.1.
B. ncremap used an inappropriate area to weight SGS variables.
Thanks to Min Xu of ORNL for reporting and providing the fix.
SGS regridding is once again BFB with global means.
C. ncremap orders Tempest remap commands in execution-order in the
history attribute. Previously they were recorded in an ad hoc
order. Thanks to Ben Hilman of SNL for suggesting this.
D. Cause ncclimo in MPI mode to exit when no nodes are available.
E. Ensure ncclimo writes nd_fl to writable directory
F. ncap2 exits gracefully when no output file is specified
G. ncap2 exits gracefully when no -s or -S argument given
A. ncremap runs 20-30x faster on Cori KNL than before.
Cori KNL has an unusual default setting for OMP_PROC_BIND that
causes hardware thread contention with NCO. Thanks to Noel Keen of
NERSC for help diagnosing this problem.
Full release statement at http://nco.sf.net/ANNOUNCE
......@@ -125,7 +125,7 @@ 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.7.9 built/tested under
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.
......
2019-05-15 Charlie Zender <zender@uci.edu>
* NCO 4.8.0 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0: Becoming';git push
git tag -a 4.8.0 -m 'ncremap se2se/fv2fv, no_stdin, vrt_fl, xcl_var;ncclimo job_nbr, OMP_PROC_BIND;ncap2 no foo.nc;ncks chk_nan';git push --tags
* Add --vrt_fl stubs to ncclimo
* Merge Henry's latest RLL weight-generation code
2019-05-12 Charlie Zender <zender@uci.edu>
* Change tst-wrt-map*.nc to nco_map_tst*.nc
* Change --no-crd, --no-coords to --no_crd, --no_coords
* Add synonyms --xcl_ass_var, --xtr_ass_var
2019-05-11 Charlie Zender <zender@uci.edu>
* Document NCO regridding algorithm
* ncremap invoke NCO weight-generation with alg_typ=nco_xxx :)
* NCO 4.8.0-beta01 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-beta01: Spaghetti';git push
git tag -a 4.8.0-beta01 -m 'vrt ntp timeseries';git push --tags
* Update documentation for time-varying vertical grids
* nco_ntp_vrt() Verify that time-series interpolation works for hybrid grids
* nco_ntp_vrt() Move pressure calcuations into time loop
* nco_ntp_vrt() Copy non-vertical variables only once (on first timestep)
2019-05-10 Charlie Zender <zender@uci.edu>
* Read/write vertical variables in single timeslices when output vertical grid time-varies
2019-05-09 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha12 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha12: UCLA';git push
git tag -a 4.8.0-alpha12 -m 'ncclimo no_stdin, aims4/acme1 NCO_PATH_OVERRIDE';git push --tags
* Document --no_stdin
* Add --no_stdin to ncclimo to prevent false-positive stdin detection in CWL code
2019-05-06 Charlie Zender <zender@uci.edu>
* Add stubs for input vertical grid timeseries
* Add cf_grp.cdl as template/test file for CF Conventions
2019-04-30 Charlie Zender <zender@uci.edu>
* ncremap/ncclimo add paths for aims4/acme1 to NCO_PATH_OVERRIDE section
2019-04-24 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha11 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha11: Jazz Fest';git push
git tag -a 4.8.0-alpha11 -m 'NCO_PATH_OVERRIDE opt-in;job_nbr=12,OMP_PROC_BIND ncks,ncra;ncclimo/ncremap --xcl_var;documentation';git push --tags
* ncremap --vrt_fl now obeys --vars=var_lst
* Document --xcl_var
* ncremap/ncclimo Fix --nco_opt to not overwrite filetype choice
* ncremap/ncclimo --xcl_var toggles extraction list to exclusion list
2019-04-23 Charlie Zender <zender@uci.edu>
* ncremap, ncclimo set OMP_PROC_BIND=false as script environment variable to prevent MPI breakage
2019-04-22 Charlie Zender <zender@uci.edu>
* Change default job_nbr from 2 to var_nbr in splitter
* Document --job_nbr in nco.texi
* Document --vrt_fl in nco.texi
2019-04-21 Charlie Zender <zender@uci.edu>
* Change NCO_PATH_OVERRIDE override default from opt-out to opt-in
2019-04-20 Charlie Zender <zender@uci.edu>
* ncremap, ncclimo set OMP_PROC_BIND=false when calling ncks, ncra to speed-up Cori KNL Intel builds
* NCO_rgr.pm, nco_exit_lbr_rcd() handle netCDF libraries 4.6.3, 4.6.4, 4.7.0
* nco_rgr_wgt() re-arrange initialization code to suit layer-by-layer regridding, use memset()
* nco_rgr_wgt() remove ~150 lines of unused/unfinished Non-MRV and extensive variable (!flg_mrv, flg_xtn) code
2019-04-19 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha10 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha10: Hanna';git push
git tag -a 4.8.0-alpha10 -m 'ncks --chk_nan;OMP_PROC_BIND=false ncrcat';git push --tags
* ncclimo set OMP_PROC_BIND=false when calling ncrcat to speed-up Cori KNL Intel builds
* Pass thr_nbr into OpenMP loops as shared variable, avoid omp_get_thread_num() when thr_nbr < 2
* ncra.c only call nco_omp_ini() when thr_nbr > 1
* ncclimo splitter defaults to 1 OpenMP thread
* ncclimo print OpenMP thread request in output header
* Re-unify Windows/UNIX block in nco_netcdf.h to #include <netcdf_mem.h> and define ncmemio struct
* Deprecate NC_HAVE_META_H from CMakeLists.txt
2019-04-18 Charlie Zender <zender@uci.edu>
* ncks add --chk_nan option to check input file for NaNs and exit(EXIT_FAILURE) if found
Feature requested by Matthew Thompson of NASA
2019-04-17 Charlie Zender <zender@uci.edu>
* Noel Keen solves Cori-KNL slowness issue, reduces Min Xu benchmark time from ~27m30s to ~2m30s
* Appveyor errors are due to CMakeLists.txt flaw that overrides correct NC_LIB_VERSION
2019-04-16 Charlie Zender <zender@uci.edu>
* Fail to solve Appveyor errors on Windows by never defining NC_memio for Windows for netCDF <= 4.6.1
2019-04-15 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha09 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha09: Boulder Bay Proposal';git push
git tag -a 4.8.0-alpha09 -m 'ncap2 allows no input file;ncremap --no_stdin';git push --tags
* ncap2 uses FORCE_OVERWRITE to decide on append mode vs. dummy input file in nco_fl_lst_mk()
2019-04-14 Charlie Zender <zender@uci.edu>
* Changes to kd.h and nco_crt.h suggested by Pedro for Windows compatibility
* ncremap add option --no_stdin flag to explicitly turn-off checking stdin for input file list.
Xylar realized this is necessary for ncremap to work in build environments that co-opt stdin for other purposes.
* Allow ncap2 to have no positional arguments when no input filename and output specified by -o fl_out
2019-04-10 Charlie Zender <zender@uci.edu>
* Add stubs for ncap2 to use nco_fl_dmm_mk() to circumvent required input file argument
* NCO 4.8.0-alpha08 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha08: Whiskey Ginger Beer';git push
git tag -a 4.8.0-alpha08 -m 'ncremap --vrt_fl pure pressure, CMIP ta & zg, mnt ncr/dcr';git push --tags
* nco_ntp_vrt() Fix and validate increasing and decreasing input/output vertical grids
2019-04-08 Charlie Zender <zender@uci.edu>
* ncremap: Correct bug introduced in 4.8.0-alpha08 that only regrids when dbg_lvl > 1 (DOH!) noticed by Min Xu
2019-04-04 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() allow monotonically decreasing input or output grids
2019-04-03 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() Plumb for pure pressure grids
* nco_ntp_vrt() Treat variables named "ta" and "zg" with temperature and geopotential height extrapolation rules, respectively
2019-04-01 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha07 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha07: Bond-o';git push
git tag -a 4.8.0-alpha07 -m 'ncremap --vrt_fl features and optimizations';git push --tags
2019-03-31 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() allocate and define only needed pressure grids, reduce memory consumption by 2x if ilev not needed
* nco_ntp_vrt() extrapolate geopotential height using hypsometric equation on LHS and RHS, fixes Z3
* nco_ntp_vrt() implement poor subterranean geopotential extrapolation for variables named Z3
* nco_ntp_vrt() implement and validate subterranean temperature extrapolation for variables named T
* nco_ntp_vrt() re-factor extrapolation flags into structures with an enumerated constant for each type
* nco_ntp_vrt() isolate log(pressure) assumption
* nco_ntp_vrt() allow possibility that PS has time dimension > 1
2019-03-30 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha06 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha06: Marathon Man';git push
git tag -a 4.8.0-alpha06 -m 'ncremap --vrt_fl';git push --tags
* nco_ntp_vrt() verify interpolation works on cami dataset
* nco_ntp_vrt() verify interpolation looks OK (i.e., nearest neighbor above model top) on EAM L30->L72
* nco_ntp_vrt() verify identity interpolation is BFB on EAM L30->L30
* nco_ntp_vrt() use 1D interpolation code from CSZ's libcsz.a library source code ~/sw/c++/vec.hh
2019-03-29 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() compute ilev_out and lev_out if not supplied in vertical grid file
* nco_ntp_vrt() use horizontal grid from input dataset if vertical grid file does not have horizontal grid
2019-03-28 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() adjust OpenMP pragmas to work on old compilers
* nco_ntp_vrt() swap _in and _out from file-based to grid-based meanings to increase code clarity
2019-03-27 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() defines all variables and copies their metadata to output file
* nco_ntp_vrt() fill-in output file with hybrid coordinate vertical grid data and metadata
2019-03-26 Charlie Zender <zender@uci.edu>
* nco_ntp_vrt() compute midpoint and interface pressures on input and output grids
* ncremap call vertical OR horizontal interpolation routines. ncks add skeleton nco_ntp_vrt().
* ncremap add stubs for vertical coordinate file
* NCO 4.8.0-alpha05 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha05: Dawn Wall';git push
git tag -a 4.8.0-alpha05 -m 'ncemap SGS MPAS-SeaIce, GSG protoype; ncclimo Cori KNL bms, orphans';git push --tags
* ncremap -P mpascice can employ old SGS mode to evaluate new GSG mode
* ncremap nco_rgr_wgt() remove extraneous test on sum total of sgs_frc_out
2019-03-25 Charlie Zender <zender@uci.edu>
* ncap2 more precise ERROR message that allows output filename to equal input filename
* Use fp_stdout not stdout in OpenMP regions
2019-03-24 Charlie Zender <zender@uci.edu>
* ncremap -P mpascice now invokes sgs_frc normalization
* ncremap print more accurate description of pre-processing
* Splitter prints more explicit description of parallelism/looping
2019-03-23 Charlie Zender <zender@uci.edu>
* ncclimo when parent dies, kill instead of orphan or reap children
* Simplify sgs_frc_out regridding, add has_mss_val branch to sgs_frc normalization
2019-03-22 Charlie Zender <zender@uci.edu>
* Add stubs to read sgs_frc in nco_rgr.c
* Allow nco_rgr_wgt() to work with nco_rgr_mpf_typ=unknown
2019-03-21 Charlie Zender <zender@uci.edu>
* Annotate nco_rgr_wgt() major loops
2019-03-15 Charlie Zender <zender@uci.edu>
* nco_rgr_wgt() read mask_b, if present, from Tempest maps
* ncclimo/ncremap print details of parallelism strategy in header
* Re-learn and document in code ncclimo and ncremap node-allocation rules
* ncremap fix cmd_mpi assignment on cooley
2019-03-14 Charlie Zender <zender@uci.edu>
* Diagnose and explain when ERWG is found yet cannot run due to, e.g., dynamic linking errors
* NCO 4.8.0-alpha04 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha04: Sand';git push
git tag -a 4.8.0-alpha04 -m 'ncclimo --job_nbr, cooley, Henry regridding';git push --tags
* Clean-up compiler warnings
* Merge Henry's regridding code
2019-03-13 Charlie Zender <zender@uci.edu>
* Use correct home bin/lib path when on cooley compute nodes
* ncclimo fine-grain parallelism in monthly loop of regular monthly climos
* Deprecate ACME from ncclimo/ncremap
2019-03-12 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha03 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha03: 55';git push
git tag -a 4.8.0-alpha03 -m 'nco_mpf_typ_nco, mpirun -hosts cooley, SAS formula';git push --tags
* Add NCO map-file type to nco_rgr_mpf_typ in nco_rgr.c so we can eat our own dogfood
2019-03-11 Charlie Zender <zender@uci.edu>
* Change Cooley DATA from ClimateEnergy_2 to OceanClimate_2
2019-03-10 Charlie Zender <zender@uci.edu>
* Cooley mpirun now uses -hosts instead of -H for hostname option
2019-03-05 Charlie Zender <zender@uci.edu>
* Use surface angle not interior angle in SAS formula
* Implement SAS formula where L'Huilier's formula is ill-conditioned
2019-03-03 Charlie Zender <zender@uci.edu>
* Add stubs for TR quasi-equal-area mode
2019-02-28 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha02 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha02: 300-degree Club';git push
git tag -a 4.8.0-alpha02 -m 'ncremap fv2fv MPI;ncks JSON deprecate type;ncclimo fix drc_out nd_fl bug';git push --tags
* Insert MPI parallelism commands for cheyenne, constance, theta from ncclimo into ncremap
* ncclimo/ncremap Add proper error diagnostics to mkdir failures
* ncclimo create drc_out before using for nd_fl, fixes bug introduced in 4.7.9
2019-02-27 Charlie Zender <zender@uci.edu>
* Add HINT to parallelism error in ncclimo/ncremap
* Add --mono to se2se and --mono3 --nonconserve to fv2fv
2019-02-26 Charlie Zender <zender@uci.edu>
* Omit JSON variable "type" clause when jsn_var_fmt=0
* Add JSON stubs to distinguish between attribute and variable format levels
2019-02-24 Charlie Zender <zender@uci.edu>
* Explain how EHDFERR can be caused by un/mis-configured HDF5_PLUGIN_PATH
* ncremap add Tempest alg_typ fv2fv/rll2rll for finite volume to finite volume
2019-02-22 Charlie Zender <zender@uci.edu>
* NCO 4.8.0-alpha01 release procedure:
cd ~/nco;git commit -a -m 'Version 4.8.0-alpha01: Thin Mints';git push
git tag -a 4.8.0-alpha01 -m 'Functionally identical to 4.7.9;ncremap se2se';git push --tags
* ncremap add Tempest alg_typ se2se/cs2cs for spectral element cube-sphere to cube-sphere
2019-02-20 Charlie Zender <zender@uci.edu>
 
* NCO 4.7.9 release procedure:
......
......@@ -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.7.9
First we create a clean source distribution of nco and place it in nco-4.7.9
For starters, we wish to create .debs of tagged releases, e.g., nco-4.8.0
First we create a clean source distribution of nco and place it in nco-4.8.0
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.7.9
/bin/rm nco.tar.gz;tar cvzf nco-4.7.9.tar.gz ./nco-4.7.9/*
cd ~/nco/nco-4.7.9
dh_make -e zender@uci.edu -f ../nco-4.7.9.tar.gz
cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.8.0
/bin/rm nco.tar.gz;tar cvzf nco-4.8.0.tar.gz ./nco-4.8.0/*
cd ~/nco/nco-4.8.0
dh_make -e zender@uci.edu -f ../nco-4.8.0.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.7.9.tar.gz
from previous build
cd ~/nco;/bin/rm *.gz
cd ~/nco/nco-4.7.9
cd ~/nco/nco-4.8.0
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.7.9 with X.Y.Z+1
# tags-query replace 4.8.0 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.7.9-1 # Update changelog (-b forces this version number)
cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.8.0-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.7.9
${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4.8.0
# Upload tarball to SF https://sourceforge.net/projects/nco/files
cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.7.9.tar.gz .
cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.8.0.tar.gz .
7. Ubuntu PPA
https://help.launchpad.net/Packaging/PPA
dput NCO nco_4.7.9-2~ppa1_source.changes
dput NCO nco_4.8.0-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.7.9-1.dpkg-buildpackage.txt
http://dust.ess.uci.edu/nco/src/nco_4.7.9-1.dsc
http://dust.ess.uci.edu/nco/src/nco_4.7.9-1_i386.changes
http://dust.ess.uci.edu/nco/src/nco_4.7.9-1_i386.deb
http://dust.ess.uci.edu/nco/src/nco_4.7.9.orig.tar.gz
http://dust.ess.uci.edu/nco/src/nco_4.8.0-1.dpkg-buildpackage.txt
http://dust.ess.uci.edu/nco/src/nco_4.8.0-1.dsc
http://dust.ess.uci.edu/nco/src/nco_4.8.0-1_i386.changes
http://dust.ess.uci.edu/nco/src/nco_4.8.0-1_i386.deb
http://dust.ess.uci.edu/nco/src/nco_4.8.0.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.7.9 ${DATA}/nco_4.7.9* ${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.7.9-1 -d nco-4.7.9 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.7.9 nco # Export most recent
tar cvzf ./nco_4.7.9.orig.tar.gz --exclude='nco-4.7.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.7.9
/bin/rm -rf ${DATA}/nco-4.7.9 # Remove cvs-exported directory
tar xvzf ./nco_4.7.9.orig.tar.gz # Untar to get directory without excluded files
mkdir -p ${DATA}/nco-4.7.9/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.7.9/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.7.9/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
sudo /bin/rm -rf ${DATA}/nco-4.8.0 ${DATA}/nco_4.8.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.8.0-1 -d nco-4.8.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.8.0 nco # Export most recent
tar cvzf ./nco_4.8.0.orig.tar.gz --exclude='nco-4.8.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.8.0
/bin/rm -rf ${DATA}/nco-4.8.0 # Remove cvs-exported directory
tar xvzf ./nco_4.8.0.orig.tar.gz # Untar to get directory without excluded files
mkdir -p ${DATA}/nco-4.8.0/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.8.0/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.8.0/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.7.9;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
#cd ${DATA}/nco-4.7.9;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
cd ${DATA}/nco-4.7.9;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
#cd ${DATA}/nco-4.8.0;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
#cd ${DATA}/nco-4.8.0;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
cd ${DATA}/nco-4.8.0;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
sudo dpkg --remove nco
sudo dpkg --install ${DATA}/nco_4.7.9-1_*.deb
sudo dpkg --install ${DATA}/nco_4.8.0-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.7.9-1_*.deb
ls -l ${DATA}/nco_4.7.9*
lintian ${DATA}/nco_4.8.0-1_*.deb
ls -l ${DATA}/nco_4.8.0*
m ~/foo.nco
# Upload Ubuntu (rather than Debian) packages to websites
scp ${DATA}/nco_4.7.9* dust.ess.uci.edu:/var/www/html/nco/src
scp ${DATA}/nco_4.7.9* zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
scp ${DATA}/nco_4.8.0* dust.ess.uci.edu:/var/www/html/nco/src
scp ${DATA}/nco_4.8.0* 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.7.9-1_*.changes
# cd ${DATA};dupload -t mentors nco_4.8.0-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.7.9* # Cleanup prior build
sudo /bin/rm /var/cache/pbuilder/result/nco_4.8.0* # 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.7.9-1.dsc > ~/foo.nco.pbuilder 2>&1
cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.7.9-1_*.changes
lintian /var/cache/pbuilder/result/nco_4.7.9-1_*.deb
cd ${DATA};DIST=sid sudo pbuilder build nco_4.8.0-1.dsc > ~/foo.nco.pbuilder 2>&1
cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.8.0-1_*.changes
lintian /var/cache/pbuilder/result/nco_4.8.0-1_*.deb
sudo dpkg --remove nco
sudo dpkg --install /var/cache/pbuilder/result/nco_4.7.9-1_*.deb
sudo dpkg --install /var/cache/pbuilder/result/nco_4.8.0-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.7.9-1_*.changes
cd /var/cache/pbuilder/result;dupload -t mentors nco_4.8.0-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.7.9 ${DATA}/nco-4.7.9* # Cleanup last build
/bin/rm -rf ${DATA}/nco-4.8.0 ${DATA}/nco-4.8.0* # Cleanup last build
${sudo_sng} /bin/rm -r -f \
${rpm_root}/BUILD/nco-4.7.9 \
${rpm_root}/RPMS/i386/nco-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.7.9-?.i386.rpm \
${rpm_root}/SOURCES/nco-4.7.9.tar.gz \
${rpm_root}/SPECS/nco-4.7.9.spec \
${rpm_root}/SRPMS/nco-4.7.9-?.src.rpm
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.7.9-1 -d nco-4.7.9 nco # Export based on tag
${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.7.9.spec
tar cvzf ./nco-4.7.9.tar.gz --exclude='nco-4.7.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.7.9
${sudo_sng} /bin/cp ${DATA}/nco-4.7.9.tar.gz ${rpm_root}/SOURCES
${rpm_root}/BUILD/nco-4.8.0 \
${rpm_root}/RPMS/i386/nco-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.8.0-?.i386.rpm \
${rpm_root}/SOURCES/nco-4.8.0.tar.gz \
${rpm_root}/SPECS/nco-4.8.0.spec \
${rpm_root}/SRPMS/nco-4.8.0-?.src.rpm
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.8.0-1 -d nco-4.8.0 nco # Export based on tag
${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.8.0.spec
tar cvzf ./nco-4.8.0.tar.gz --exclude='nco-4.8.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.8.0
${sudo_sng} /bin/cp ${DATA}/nco-4.8.0.tar.gz ${rpm_root}/SOURCES
cd ${rpm_root}/SPECS
${sudo_sng} rpmbuild -ba --sign nco-4.7.9.spec > ~/foo.nco 2>&1
${sudo_sng} rpmbuild -ba --sign nco-4.8.0.spec > ~/foo.nco 2>&1
scp \
${rpm_root}/RPMS/i386/nco-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.7.9-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.7.9-?.src.rpm \
${rpm_root}/RPMS/i386/nco-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.8.0-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.8.0-?.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
${rpm_root}/RPMS/i386/nco-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.7.9-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.7.9-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.7.9-?.src.rpm \
${rpm_root}/RPMS/i386/nco-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-debuginfo-4.8.0-?.i386.rpm \
${rpm_root}/RPMS/i386/nco-devel-4.8.0-?.i386.rpm \
${rpm_root}/SRPMS/nco-4.8.0-?.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.7.9 ${DATA}/nco-4.7.9* # Cleanup last build
/bin/rm -rf ${DATA}/nco-4.8.0 ${DATA}/nco-4.8.0* # Cleanup last build
/bin/rm -r -f \
${rpm_root}/nco-4.7.9-?.src.rpm \
${rpm_root}/nco-4.7.9.spec \
${rpm_root}/nco-4.7.9.tar.gz \
${rpm_root}/*/nco-4.7.9-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.7.9-?.*.rpm \
${rpm_root}/*/nco-devel-4.7.9-?.*.rpm
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.7.9-1 -d nco-4.7.9 nco # Export based on tag
cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-4.7.9 nco # Export most recent and build as 4.7.9-1
tar cvzf ./nco-4.7.9.tar.gz --exclude='nco-4.7.9/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.7.9
/bin/cp ${DATA}/nco-4.7.9.tar.gz ${rpm_root}
${rpm_root}/nco-4.8.0-?.src.rpm \
${rpm_root}/nco-4.8.0.spec \
${rpm_root}/nco-4.8.0.tar.gz \
${rpm_root}/*/nco-4.8.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.8.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.8.0-?.*.rpm
# cd ${DATA};cvs -d zender@nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4.8.0-1 -d nco-4.8.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.8.0 nco # Export most recent and build as 4.8.0-1
tar cvzf ./nco-4.8.0.tar.gz --exclude='nco-4.8.0/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.8.0
/bin/cp ${DATA}/nco-4.8.0.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.7.9-?.*.rpm
rpmlint ${rpm_root}/*/nco-4.8.0-?.*.rpm
sudo yum remove nco
sudo yum install ${rpm_root}/*/nco-4.7.9-?.*.rpm
sudo yum install ${rpm_root}/*/nco-4.8.0-?.*.rpm
scp \
${rpm_root}/*/nco-4.7.9-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.7.9-?.*.rpm \
${rpm_root}/*/nco-devel-4.7.9-?.*.rpm \
${rpm_root}/nco-4.7.9-?.*.src.rpm \
${rpm_root}/*/nco-4.8.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.8.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.8.0-?.*.rpm \
${rpm_root}/nco-4.8.0-?.*.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
${rpm_root}/*/nco-4.7.9-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.7.9-?.*.rpm \
${rpm_root}/*/nco-devel-4.7.9-?.*.rpm \
${rpm_root}/nco-4.7.9-?.*.src.rpm \
${rpm_root}/*/nco-4.8.0-?.*.rpm \
${rpm_root}/*/nco-debuginfo-4.8.0-?.*.rpm \
${rpm_root}/*/nco-devel-4.8.0-?.*.rpm \
${rpm_root}/nco-4.8.0-?.*.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.7.9 released <!--#flastmod file="src/nco-4.7.9.tar.gz"-->
Current stable NCO version is 4.8.0 released <!--#flastmod file="src/nco-4.8.0.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.8.0 <i>In Progress...</i>
<li>2019 Jun&nbsp;??: 4.8.1 <i>In Progress...</i>
<li>2019 May&nbsp;15; 4.8.0 Vertical interpolation
<li>2019 Feb&nbsp;20: 4.7.9 Sundry features/fixes
<li>2018 Nov&nbsp;16: 4.7.8 CMIP6
<li>2018 Sep&nbsp;21: 4.7.7 Sundry features/fixes
......@@ -326,7 +327,7 @@ This may incentivize us to tackle your favorite <a href="./TODO"><tt>TODO</tt></
Inspired by President Obama's plan to bring more transparency to
government investment, these homepage donation counters track the
influence of your monetary donations on NCO development:
<dt>Donations received between 20030624 and 20181210: US$189.55. Thank you, donors!</dt>
<dt>Donations received between 20030624 and 20190308: US$199.77. Thank you, donors!</dt>
<dt>NCO features &ldquo;incentivized&rdquo; by these donations: More emoticons in the documentation :)</dt>
<hr></p>
......@@ -629,16 +630,28 @@ 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.7.9 http://github.com/nco/nco.git nco-4.7.9</tt></a>.
<tt>git clone -b 4.8.0 http://github.com/nco/nco.git nco-4.8.0</tt></a>.
<ul>
<li><b>NCO 5.0.0</b>: (<i>Future</i>)
netCDF4 user-defined types support;
<tt>ncremap</tt> weight generation;
<tt>ncks --xtn</tt> better extensive variable treatment?;
<tt>ncclimo -v</tt> splitter support for regular expressions?;</li>
<li><b>NCO 4.8.0</b>: (<i>In Progress, features in-progress or complete include</i>)
<li><b>NCO 4.8.1</b>: (<i>In Progress, features in-progress or complete include</i>)
<tt>ncks --bsa</tt> Byte-swap algoritm;</li>
<li><b>NCO 4.7.9</b>: (<i>Current Stable Release</i>)
<tt>ncremap</tt> simulaneous horizontal and vertical regridding;
<tt>ncremap</tt> invokes NCO weight-generator;
<tt>ncclimo</tt> allows vertical interpolation;
<li><b>NCO 4.8.0</b>: (<i>Current Stable Release</i>)
<tt>ncap2</tt> allows no input file;
<tt>ncclimo --job_nbr</tt> climo granularity;
<tt>ncclimo</tt> ~20x faster on Cori;
<tt>ncclimo</tt> kill not orphan children;
<tt>ncks --rgr</tt> NCO generates intersection meshes and weights;
<tt>ncks --chk_nan</tt> Check file for NaNs;
<tt>ncremap --no_stdin</tt> for Conda-feedstock tests;
<tt>ncremap --vrt_fl</tt> Vertical interpolation/regridding;</li>
<li><b>NCO 4.7.9</b>:
<tt>ncatted --hdn</tt> Improved compliance;
<tt>ncrcat --rec_apn</tt> Re-basing;
<tt>ncclimo --dpt_fl</tt> depth-coordinates;
......@@ -817,7 +830,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.7.9</a> Executables Anaconda-compatible. Maintained by Filipe Fernandes.</li>
<li><a href="https://github.com/conda-forge/nco-feedstock">nco-4.8.0</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>
......@@ -826,7 +839,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.7.9</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.8.0</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.
......@@ -834,8 +847,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.7.9-1_i386.deb</tt>&rsquo;):</dt>
<li><a href="https://launchpad.net/ubuntu/+source/nco/4.7.9-1">nco_4.7.9-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.8.0-1_i386.deb</tt>&rsquo;):</dt>
<li><a href="https://launchpad.net/ubuntu/+source/nco/4.8.0-1">nco_4.8.0-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.
......@@ -879,10 +892,10 @@ Thanks to Gavin Burris and Kyle Wilcox for documenting build procedures for RHEL
<!--
# Mac OS X 10.14 (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.7.9.macosx.10.14.tar.gz nc*;scp ${DATA}/nco-4.7.9.macosx.10.14.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src
cd ~/bin;tar cvzf ${DATA}/nco-4.8.0.macosx.10.14.tar.gz nc*;scp ${DATA}/nco-4.8.0.macosx.10.14.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.7.9.macosx.10.14.tar.gz">nco-4.7.9.macosx.10.14.tar.gz</a> (<!--#fsize file="src/nco-4.7.9.macosx.10.14.tar.gz"-->): Executables MacOSX 10.14-compatible (last updated <!--#flastmod file="src/nco-4.7.9.macosx.10.14.tar.gz"-->).
<li><a href="src/nco-4.8.0.macosx.10.14.tar.gz">nco-4.8.0.macosx.10.14.tar.gz</a> (<!--#fsize file="src/nco-4.8.0.macosx.10.14.tar.gz"-->): Executables MacOSX 10.14-compatible (last updated <!--#flastmod file="src/nco-4.8.0.macosx.10.14.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>
......@@ -904,9 +917,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.7.9.windows.mvs.exe pvicente,nco@web.sf.net:/home/project-web/nco/htdocs/src
/usr/bin/scp /home/pvicente/windows_setup/nco-4.8.0.windows.mvs.exe pvicente,nco@web.sf.net:/home/project-web/nco/htdocs/src
-->
<li><a href="src/nco-4.7.9.windows.mvs.exe">nco-4.7.9.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.7.9.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.7.9.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
<li><a href="src/nco-4.8.0.windows.mvs.exe">nco-4.8.0.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.8.0.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.8.0.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
</ul>
<a name="cygwin"></a> <!-- http://nco.sf.net#cygwin -->
......@@ -1076,12 +1089,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.7.9.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src -->
<a href="https://github.com/nco/nco/archive/4.7.9.tar.gz">nco-4.7.9.tar.gz</a>
(<!--#fsize file="src/nco-4.7.9.tar.gz"--> compressed tar-file)<br>
<!--#exec cmd="openssl dgst -md5 src/nco-4.7.9.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha1 src/nco-4.7.9.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha256 src/nco-4.7.9.tar.gz"-->
<!-- scp ${DATA}/nco-4.8.0.tar.gz zender,nco@web.sf.net:/home/project-web/nco/htdocs/src -->
<a href="https://github.com/nco/nco/archive/4.8.0.tar.gz">nco-4.8.0.tar.gz</a>
(<!--#fsize file="src/nco-4.8.0.tar.gz"--> compressed tar-file)<br>
<!--#exec cmd="openssl dgst -md5 src/nco-4.8.0.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha1 src/nco-4.8.0.tar.gz"--><br>
<!--#exec cmd="openssl dgst -sha256 src/nco-4.8.0.tar.gz"-->
</li>
</ul>
......@@ -1100,8 +1113,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.7.9</tt>:
<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 4.7.9</tt></p>
then checks out NCO version <tt>4.8.0</tt>:
<p><tt>git clone https://github.com/nco/nco.git;cd nco;git checkout 4.8.0</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
......@@ -1109,9 +1122,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.7.9</tt>) and the development version is that the
(e.g., <tt>4.8.0</tt>) and the development version is that the
tagged release operators will print a valid version number (e.g.,
<tt>4.7.9</tt>) when asked to do so with the <tt>-r</tt> flag
<tt>4.8.0</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.
......@@ -1259,9 +1272,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.7.9.tar.gz</dt>
<dt>tar xvzf 4.7.9.tar.gz</dt>
<dt>cd nco-4.7.9</dt>
<dt>wget https://github.com/nco/nco/archive/4.8.0.tar.gz</dt>
<dt>tar xvzf 4.8.0.tar.gz</dt>
<dt>cd nco-4.8.0</dt>
<dt>./configure --prefix=/usr/local</dt>
<dt>make</dt>
<dt>sudo make install</dt>
......