Skip to content
Commits on Source (8)
environment:
matrix:
- TARGET_ARCH: x64
CONDA_PY: 36
CONDA_INSTALL_LOCN: C:\\Miniconda36-x64
TARGET_ARCH: x64
CONDA_PY: 36
SRC_DIR: C:\projects\nco
platform:
- x64
image:
- Visual Studio 2015
init:
# We need to define these b/c we are not using conda-build.
- "ECHO %MINICONDA%"
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" set VCVARPATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" set VCARGUMENT=%PLATFORM%
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Previous Visual Studio 2017" if "%PLATFORM%" == "x64" set VCVARPATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- echo "%VCVARPATH% %VCARGUMENT%"
- "%VCVARPATH% %VCARGUMENT%"
install:
# If there is a newer build queued for the same PR, cancel this one.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
......@@ -16,22 +28,30 @@ install:
# Add path, activate `conda` and update conda.
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- cmd: conda config --set always_yes yes --set changeps1 no --set show_channel_urls true --set auto_update_conda false
- cmd: conda update conda
# We need to pin conda until https://github.com/conda/conda/issues/6556 is fixed.
- cmd: conda config --system --add pinned_packages defaults::conda
- cmd: conda config --add channels conda-forge --force
# Install conda-build.
- cmd: conda install conda-build
- cmd: conda.exe config --set always_yes yes --set changeps1 no --set show_channel_urls true
- cmd: conda.exe update conda
- cmd: conda.exe config --remove channels defaults --force
- cmd: conda.exe config --add channels conda-forge --force
- cmd: set PYTHONUNBUFFERED=1
- cmd: conda info --all
- cmd: conda.exe create --name TEST python=%PY% cmake antlr=2.7.7 curl expat gsl hdf5 libnetcdf udunits2 zlib
- cmd: conda activate TEST
- cmd: conda.exe info --all
- cmd: conda.exe list
# Skip .NET project specific build phase.
build: off
test_script:
- conda build conda.recipe
# Build
- build.cmd
# Tests
- ncks --help
- ncap2 --help
- ncks -M "http://tds.marine.rutgers.edu/thredds/dodsC/roms/espresso/2013_da/his/ESPRESSO_Real-Time_v2_History_Best" || exit 1
- cd %SRC_DIR%\data
- ncgen -o in.nc in.cdl || exit 1
- ncks -H --trd -v one in.nc || exit 1
- ncap2 -O -v -s "erf_one=float(gsl_sf_erf(1.0f));" in.nc foo.nc || exit 1
- ncks -v erf_one foo.nc || exit 1
......@@ -71,6 +71,7 @@ techniques for climate data analysis:
| `ncap2` | netCDF Arithmetic Processor | [here](http://nco.sf.net/nco.html#ncap2) |
| `ncatted` | netCDF ATTribute EDitor | [here](http://nco.sf.net/nco.html#ncatted) |
| `ncbo` | netCDF Binary Operator | [here](http://nco.sf.net/nco.html#ncbo) |
| `ncclimo` | netCDF CLIMatOlogy Generator | [here](http://nco.sf.net/nco.html#ncclimo) |
| `nces` | netCDF Ensemble Statistics | [here](http://nco.sf.net/nco.html#nces) |
| `ncecat` | netCDF Ensemble conCATenator | [here](http://nco.sf.net/nco.html#ncecat) |
| `ncflint` | netCDF FiLe INTerpolator | [here](http://nco.sf.net/nco.html#ncflint) |
......
......@@ -639,6 +639,8 @@ ${MY_DPN_DIR}/%.d : %.cc
CPP_TKN_OS := -DHAVE_REGEX_H -DNCO_HAVE_REGEX_FUNCTIONALITY -DHAVE_GETPAGESIZE -DHAVE_GETRUSAGE -DNEED_STRCASESTR
# Assume netCDF >= 3.6.1
CPP_TKN_OS += -DHAVE_NC_INQ_FORMAT
# Assume netCDF >= 4.3.1
CPP_TKN_OS += -DHAVE_NC_RENAME_GRP
# Assume netCDF >= 4.3.2
CPP_TKN_OS += -DHAVE_NC_INQ_PATH
# Assume netCDF >= 4.4.0, but Ubuntu 4.4.0 (e.g., on grele) fumbled netcdf_mem.h header
......
......@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
Version: 4.7.6
Version: 4.7.7
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
URL: http://nco.sf.net/
# Obtain NCO version 4.7.6-1 tar.gz from Sourceforge using CVS:
# Obtain NCO version 4.7.7-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.6-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.7.6/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.7.7-1 -d nco-%{version} nco
# tar czf nco-%{version}.tar.gz --exclude='nco-4.7.7/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
......@@ -108,6 +108,9 @@ fi
# %{_libdir}/libnco++.so
%changelog
* Fri Sep 21 2018 Charlie Zender <zender@uci.edu> - 4.7.7-1
- new upstream 4.7.7
* Sat Aug 11 2018 Charlie Zender <zender@uci.edu> - 4.7.6-1
- new upstream 4.7.6
......
......@@ -5,20 +5,20 @@
# Usage:
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.7.6.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.6 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.7.6 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.7.6 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.7.6 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.7.6
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.7.6
# /usr/bin/scp ${DATA}/nco-4.7.7.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.7 # Build, do not release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4.7.7 # Build, release on SF
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4.7.7 # Install, do not build
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4.7.7 # Build and install
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4.7.7
# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4.7.7
# 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.6/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.7.7/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
......
......@@ -3065,7 +3065,7 @@ if($RUN_NETCDF4_TESTS_VERSION_GE_431){
$#tst_cmd=0; # Reset array
# Check that xmllint exists
my $xmllint_code=system("xmllint --version 1>: 2>&1");
my $xmllint_code=system("xmllint --version > /dev/null 2>&1");
if($xmllint_code == 0){
# 20180701: csz xmllint produces more false negatives than Emacs XML-validator, only catches egregious mistakes
......
......@@ -4,6 +4,12 @@ cd %SRC_DIR%\build
set "CFLAGS=%CFLAGS% -DWIN32 -DGSL_DLL"
set "CXXFLAGS=%CXXFLAGS% -DWIN32 -DGSL_DLL"
:: We need to define these b/c we are not using conda-build.
set LIBRARY_PREFIX=%CONDA_PREFIX%\Library
set LIBRARY_INC=%CONDA_PREFIX%\Library\include
set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
set LIBRARY_BIN=%CONDA_PREFIX%\Library\bin
cmake -G "NMake Makefiles" ^
-D CMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
-D CMAKE_BUILD_TYPE=Release ^
......@@ -25,10 +31,7 @@ cmake -G "NMake Makefiles" ^
if errorlevel 1 exit 1
nmake
if errorlevel 1 exit 1
nmake install
if errorlevel 1 exit 1
nmake || exit 1
nmake install || exit 1
move %LIBRARY_PREFIX%\*.exe %LIBRARY_BIN% || exit 1
......@@ -57,54 +57,8 @@ ncks.exe -v lat http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/cmap/enh/pre
it requires curl built with WinSSL (default)
# Changes needed for static CRT
To static linking of the C Run-time Library (CRT), these changes must be made for the following libraries,
in the CMakeLists.txt file
```
set(MSVC_USE_STATIC_CRT off CACHE BOOL "Use MT flags when compiling in MSVC")
if (MSVC)
if (MSVC_USE_STATIC_CRT)
message("-- Using static CRT ${MSVC_USE_STATIC_CRT}")
foreach(flag_var CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
string(REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
endforeach()
endif()
endif()
```
## hdf5
edit CMakeLists.txt at root and add for case when static linking of the C Run-time Library (CRT)
```
INCLUDE(config/cmake/UserMacros/WINDOWS_MT.cmake)
```
## zlib
git clone https://github.com/madler/zlib
## szip
git clone https://github.com/soumagne/szip
## expat (dependency for UDUNITS-2)
git clone https://github.com/libexpat/libexpat
## UDUNITS-2
git clone https://github.com/Unidata/UDUNITS-2
# Changes needed for ZLIB and SZIP detection in NCO
## hdf5
edit hdf5-static.vcxproj and add full path of ZLIB and SZIP libraries as dependencies
......@@ -118,7 +72,7 @@ edit hdf5-static.vcxproj and add full path of ZLIB and SZIP libraries as depende
## netcdf
edit netcdf.vcxproj and add full path of HDF5 and curl libraries as dependencies
1) edit netcdf.vcxproj and add full path of HDF5 and curl libraries as dependencies
```
<Lib>
......@@ -127,13 +81,32 @@ edit netcdf.vcxproj and add full path of HDF5 and curl libraries as dependencies
</Lib>
```
add as "Additional Dependencies" the libraries
2) add as "Additional Dependencies" the libraries
```
Ws2_32.lib;CRYPT32.LIB;Wldap32.lib;Normaliz.lib
```
and set "Link Library Dependencies" to Yes
3) set "Link Library Dependencies" to Yes
4) build ncgen and ncdump whitin Visual Studio (needed for NCO tests)
## zlib
git clone https://github.com/madler/zlib
## szip
git clone https://github.com/soumagne/szip
## expat (dependency for UDUNITS-2)
git clone https://github.com/libexpat/libexpat
## UDUNITS-2
git clone https://github.com/Unidata/UDUNITS-2
# List of dependencies
......@@ -152,6 +125,33 @@ git clone https://github.com/ampl/gsl
git clone https://github.com/nco/antlr
```
## Changes needed for static CRT
## hdf5
edit CMakeLists.txt at root and add for case when static linking of the C Run-time Library (CRT)
```
INCLUDE(config/cmake/UserMacros/WINDOWS_MT.cmake)
```
To static linking of the C Run-time Library (CRT), these changes must be made for the following libraries,
in the CMakeLists.txt file
```
set(MSVC_USE_STATIC_CRT off CACHE BOOL "Use MT flags when compiling in MSVC")
if (MSVC)
if (MSVC_USE_STATIC_CRT)
message("-- Using static CRT ${MSVC_USE_STATIC_CRT}")
foreach(flag_var CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
string(REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
endforeach()
endif()
endif()
```
## Changes needed for libcurl if building with CMake
......
......@@ -94,8 +94,12 @@ if not exist %build%\hdf5 (
echo skipping hdf5 git clone
)
:: use tag version that builds
if not exist %build%\UDUNITS-2 (
git clone https://github.com/Unidata/UDUNITS-2
pushd UDUNITS-2
git checkout tags/v2.2.27.6
popd
) else (
echo skipping UDUNITS-2 git clone
)
......@@ -217,9 +221,9 @@ if exist %build%\curl\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl\lib\
pushd winbuild
@echo on
if %STATIC_CRT% == ON (
nmake /f Makefile.vc mode=static vc=14 debug=yes gen_pdb=yes MACHINE=x64 RTLIBCFG=static
nmake /f Makefile.vc mode=static vc=14 debug=yes gen_pdb=yes MACHINE=x64 ENABLE_WINSSL=yes RTLIBCFG=static
) else (
nmake /f Makefile.vc mode=static vc=14 debug=yes gen_pdb=yes MACHINE=x64
nmake /f Makefile.vc mode=static vc=14 debug=yes gen_pdb=yes MACHINE=x64 ENABLE_WINSSL=yes
)
@echo off
popd
......@@ -258,7 +262,7 @@ if exist %build%\libexpat\expat\build\expat.sln (
:: //////////////////////////////////////////////////////////
:build_udunits
if exist %build%\UDUNITS-2\build\udunits.sln (
if exist %build%\UDUNITS-2\build\lib\Debug\udunits2.lib (
echo skipping udunits build
goto build_gsl
) else (
......
{% set version = "dev" %}
package:
name: nco
version: {{ version }}
source:
path: ../
build:
number: 0
features:
- vc14
requirements:
build:
- python
- cmake
- antlr >=2.7.7,<3
- curl >=7.44.0,<8
- expat 2.2.*
- gsl >=2.2,<2.3
- hdf5 1.10.1
- libnetcdf 4.4.*
- udunits2
- zlib 1.2.11
- vc 14
run:
- curl >=7.44.0,<8
- expat 2.2.*
- gsl >=2.2,<2.3
- hdf5 1.10.1
- libnetcdf 4.4.*
- udunits2
- vc 14
test:
source_files:
- data/in.cdl
commands:
- ncks --help
- ncap2 --help
- ncks -M "http://tds.marine.rutgers.edu/thredds/dodsC/roms/espresso/2013_da/his/ESPRESSO_Real-Time_v2_History_Best"
cd data
ncgen -o in.nc in.cdl || exit 1
ncks -H --trd -v one in.nc || exit 1
ncap2 -O -v -s "erf_one=float(gsl_sf_erf(1.0f));" in.nc foo.nc || exit 1
ncks -v erf_one foo.nc || exit 1
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.7.6.
# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.7.7.
#
# 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.6'
PACKAGE_STRING='NCO netCDF Operators 4.7.6'
PACKAGE_VERSION='4.7.7'
PACKAGE_STRING='NCO netCDF Operators 4.7.7'
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.6 to adapt to many kinds of systems.
\`configure' configures NCO netCDF Operators 4.7.7 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.6:";;
short | recursive ) echo "Configuration of NCO netCDF Operators 4.7.7:";;
esac
cat <<\_ACEOF
 
......@@ -1483,44 +1483,48 @@ Optional Features:
sometimes confusing) to the casual installer
--disable-largefile omit support for large files
--enable-netcdf4 Enable netCDF Version 4 features (same as
enable-netcdf-4) [[default=yes]]
enable-netcdf-4) [default=yes]
--enable-netcdf-4 Enable netCDF Version 4 features (same as
enable-netcdf4) [[default=yes]]
--enable-openmp Build NCO with OpenMP [[default=yes]]
enable-netcdf4) [default=yes]
--enable-openmp Build NCO with OpenMP [default=yes]
--disable-openmp do not use OpenMP
--enable-dap Build DAP-enabled NCO with netCDF-provided DAP
[[default=yes]]
[default=yes]
--enable-ncoxx Build libnco++ and ncap2 (same as enable-ncap2)
[[default=yes]]
[default=yes]
--enable-ncap2 Build ncap2 and libnco++ (same as enable-ncoxx)
[[default=yes]]
[default=yes]
--enable-mpi Build NCO for Message Passing Interface (NB: Do not
use, this is not yet supported) [[default=no]]
--enable-fortran Use Fortran arithmetic (deprecated) [[default=no]]
use, this is not yet supported) [default=no]
--enable-fortran Use Fortran arithmetic (deprecated) [default=no]
--enable-i18n Internationalization (i18n) support (WARNING:
Experimental, for future use) [[default=no]]
--enable-nco_cplusplus Build NCO C++ interface library [[default=yes]]
Experimental, for future use) [default=no]
--enable-nco_cplusplus Build NCO C++ interface library [default=yes]
--enable-esmf Build-in ESMF support for integrated (instead of
off-line) regridding. WARNING: Development code =
Unsupported (and not necessary for regridding!
Dragons lurk here.) [[default=no]]
--enable-gsl Build-in GSL support if possible [[default=yes]]
--enable-regex Allow extended regular expressions [[default=yes]]
--enable-udunits Build-in UDUnits support if possible [[default=no]]
--enable-udunits2 Build-in UDUnits2 support if possible
[[default=yes]]
Dragons lurk here.) [default=no]
--enable-gsl Build-in GSL support if possible [default=yes]
--enable-regex Allow extended regular expressions [default=yes]
--enable-udunits Build-in UDUnits support if possible [default=no]
--enable-udunits2 Build-in UDUnits2 support if possible [default=yes]
--enable-debug-custom Activate all known, helpful compile-time and
run-time debugging checks such as pedantic warnings,
bounds checking (slowest execution). Automatically
activates --enable-debug-symbols. [[default=no]]
activates --enable-debug-symbols. NB: This option
may interact unfavorably with some versions of Flex.
De-activate this if building fails with with errors
involving "yyget_leng()". [default=no]
--enable-debug-symbols Debugging symbols: Produce symbols for debuggers
(e.g., dbx, gdb) [[default=no]]
(e.g., dbx, gdb) [default=no]
--enable-optimize-custom
Activate all known, helpful switches for fastest
possible run-time performance (slowest compilation)
[[default=no]]
Activate compiler switches for potentially faster
run-time performance (slower compilation). NB: This
option may interact unfavorably with some versions
of Flex. De-activate this if building fails with
with errors involving "yyget_leng()". [default=no]
--enable-doc Build/install NCO TexInfo-based documentation (info
hierarchy and PDF/HTML Users Guide)[[default=yes]]
hierarchy and PDF/HTML Users Guide) [default=yes]
 
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
......@@ -1621,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.6
NCO netCDF Operators configure 4.7.7
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2487,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.6, which was
It was created by NCO netCDF Operators $as_me 4.7.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -3742,7 +3746,7 @@ fi
 
# Define the identity of the package.
PACKAGE='nco'
VERSION='4.7.6'
VERSION='4.7.7'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -17517,44 +17521,8 @@ echo "################################"
# sudo port install netcdf
# installs to /opt/local/include, /opt/local/lib
# Add this path to CPPFLAGS if it exists, otherwise do nothing
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/include/netcdf.h" >&5
$as_echo_n "checking for /opt/local/include/netcdf.h... " >&6; }
if ${ac_cv_file__opt_local_include_netcdf_h+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/opt/local/include/netcdf.h"; then
ac_cv_file__opt_local_include_netcdf_h=yes
else
ac_cv_file__opt_local_include_netcdf_h=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__opt_local_include_netcdf_h" >&5
$as_echo "$ac_cv_file__opt_local_include_netcdf_h" >&6; }
if test "x$ac_cv_file__opt_local_include_netcdf_h" = xyes; then :
CPPFLAGS="$CPPFLAGS -I/opt/local/include"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /opt/local/lib/libnetcdf.a" >&5
$as_echo_n "checking for /opt/local/lib/libnetcdf.a... " >&6; }
if ${ac_cv_file__opt_local_lib_libnetcdf_a+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/opt/local/lib/libnetcdf.a"; then
ac_cv_file__opt_local_lib_libnetcdf_a=yes
else
ac_cv_file__opt_local_lib_libnetcdf_a=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__opt_local_lib_libnetcdf_a" >&5
$as_echo "$ac_cv_file__opt_local_lib_libnetcdf_a" >&6; }
if test "x$ac_cv_file__opt_local_lib_libnetcdf_a" = xyes; then :
LDFLAGS="$LDFLAGS -L/opt/local/lib -lnetcdf"
fi
#AC_CHECK_FILE([/opt/local/include/netcdf.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include"], [])
#AC_CHECK_FILE([/opt/local/lib/libnetcdf.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib -lnetcdf"], [])
 
# Begin mandatory link test with libnetcdf.a
# Make precious variables for ./configure --help
......@@ -17562,7 +17530,7 @@ fi
 
 
# User-specified netCDF locations, if any, take precedence
if test "${NETCDF_ROOT}" != ''; then
if test "${NETCDF_ROOT}"; then
if test -d "${NETCDF_ROOT}"; then
CPPFLAGS="-I${NETCDF_ROOT}/include ${CPPFLAGS}";
LDFLAGS="-L${NETCDF_ROOT}/lib ${LDFLAGS}";
......@@ -19993,12 +19961,10 @@ fi
if test -d "${UDUNITS2_PATH}"; then
# NB: Use ${UDUNITS2_PATH} not ${UDUNITS2_ROOT} because UDUnits software looks for ${UDUNITS2_PATH}
# Add ${UDUNITS2_PATH}/lib to search path if present
# Some systems install 64bit libraries into $prefix/lib64 instead of
# $prefix/lib. If NCO libraries are installed into $prefix/lib64,
# UDUNITS presumably was installed in $UDUNITS2_PATH/lib64 as well.
# Therefore, we take `basename $libdir` (libdir=$prefix/lib|lib64),
# which is 'lib' or 'lib64', and append it to UDUNITS2_PATH. If this
# directory does not exist, we append 'lib' to UDUNITS2_PATH.
# Some systems install 64bit libraries into $prefix/lib64 instead of $prefix/lib
# If NCO libraries were installed in $prefix/lib64, then UDUNITS presumably was installed in $UDUNITS2_PATH/lib64
# Therefore, we take `basename $libdir` (libdir=$prefix/lib|lib64), which is 'lib' or 'lib64', and append it to UDUNITS2_PATH
# If this directory does not exist, we append 'lib' to UDUNITS2_PATH
# (Daniel Neumann, 3rd June 2017)
nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
if test -d "${UDUNITS2_PATH}/`basename $libdir`"; then
......@@ -20144,7 +20110,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__opt_local_lib_libudunits2_a" >&5
$as_echo "$ac_cv_file__opt_local_lib_libudunits2_a" >&6; }
if test "x$ac_cv_file__opt_local_lib_libudunits2_a" = xyes; then :
LDFLAGS="$LDFLAGS -L/opt/local/lib/"
LDFLAGS="$LDFLAGS -L/opt/local/lib"
fi
 
# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
......@@ -21510,7 +21476,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.6, which was
This file was extended by NCO netCDF Operators $as_me 4.7.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -21576,7 +21542,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.6
NCO netCDF Operators config.status 4.7.7
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.6],[nco-bugs@lists.sourceforge.net],[nco])
AC_INIT([NCO netCDF Operators],[4.7.7],[nco-bugs@lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
......@@ -231,8 +231,8 @@ echo "################################"
# sudo port install netcdf
# installs to /opt/local/include, /opt/local/lib
# Add this path to CPPFLAGS if it exists, otherwise do nothing
AC_CHECK_FILE([/opt/local/include/netcdf.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include"], [])
AC_CHECK_FILE([/opt/local/lib/libnetcdf.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib -lnetcdf"], [])
#AC_CHECK_FILE([/opt/local/include/netcdf.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include"], [])
#AC_CHECK_FILE([/opt/local/lib/libnetcdf.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib -lnetcdf"], [])
# Begin mandatory link test with libnetcdf.a
# Make precious variables for ./configure --help
......@@ -240,7 +240,7 @@ AC_ARG_VAR(NETCDF_INC,Location of netCDF headers (compile-time))
AC_ARG_VAR(NETCDF_LIB,Location of netCDF library (compile-time))
# User-specified netCDF locations, if any, take precedence
if test "${NETCDF_ROOT}" != ''; then
if test "${NETCDF_ROOT}"; then
if test -d "${NETCDF_ROOT}"; then
CPPFLAGS="-I${NETCDF_ROOT}/include ${CPPFLAGS}";
LDFLAGS="-L${NETCDF_ROOT}/lib ${LDFLAGS}";
......@@ -272,10 +272,10 @@ echo "#################################"
echo "# Test for netCDF4 support #"
echo "#################################"
AC_ARG_ENABLE(netcdf4,AS_HELP_STRING([--enable-netcdf4],[Enable netCDF Version 4 features (same as enable-netcdf-4) [[default=yes]]]),enable_netcdf4=${enableval},enable_netcdf4=yes)
AC_ARG_ENABLE(netcdf4,AS_HELP_STRING([--enable-netcdf4],[Enable netCDF Version 4 features (same as enable-netcdf-4) [default=yes]]),enable_netcdf4=${enableval},enable_netcdf4=yes)
# 20100105: make --enable-netcdf-4 synonym for --enable-netcdf4
if test "x${enable_netcdf4}" = 'xno' ; then
AC_ARG_ENABLE(netcdf-4,AS_HELP_STRING([--enable-netcdf-4],[Enable netCDF Version 4 features (same as enable-netcdf4) [[default=yes]]]),enable_netcdf4=${enableval},enable_netcdf4=yes)
AC_ARG_ENABLE(netcdf-4,AS_HELP_STRING([--enable-netcdf-4],[Enable netCDF Version 4 features (same as enable-netcdf4) [default=yes]]),enable_netcdf4=${enableval},enable_netcdf4=yes)
fi # !netCDF4
AC_ARG_VAR([NETCDF_ROOT],[Root of netCDF4 installation] (compile-time))
......@@ -325,7 +325,7 @@ fi
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)
# Begin OpenMP
AC_ARG_ENABLE(openmp,AS_HELP_STRING([--enable-openmp],[Build NCO with OpenMP [[default=yes]]]),enable_openmp=${enableval},enable_openmp=yes)
AC_ARG_ENABLE(openmp,AS_HELP_STRING([--enable-openmp],[Build NCO with OpenMP [default=yes]]),enable_openmp=${enableval},enable_openmp=yes)
# Enable OpenMP unless told not to
if ((test "x${enable_openmp}" != 'xno') && (test "x${enable_netcdf4}" = 'xyes')); then
AC_OPENMP
......@@ -343,7 +343,7 @@ fi
echo "Beginning generic tests for DAP support"
# Store pre-DAP LIBS value to restore from later
nco_LIBS_no_DAP="${LIBS}"
AC_ARG_ENABLE(dap,AS_HELP_STRING([--enable-dap],[Build DAP-enabled NCO with netCDF-provided DAP [[default=yes]]]),enable_dap=${enableval},enable_dap=yes)
AC_ARG_ENABLE(dap,AS_HELP_STRING([--enable-dap],[Build DAP-enabled NCO with netCDF-provided DAP [default=yes]]),enable_dap=${enableval},enable_dap=yes)
# Check for DAP in netCDF library unless told not to
if test "${enable_dap}" != 'no'; then
echo "Testing for DAP-netCDF support (is DAP in libnetcdf.a?)..."
......@@ -417,8 +417,8 @@ echo "# Testing for ANTLR support #"
echo "#################################"
AC_ARG_VAR(ANTLR_ROOT,Location of ANTLR version 2.7.x installation (compile-time))
AC_ARG_ENABLE(ncoxx,AS_HELP_STRING([--enable-ncoxx],[Build libnco++ and ncap2 (same as enable-ncap2) [[default=yes]]]),enable_ncoxx=${enableval},[enable_ncoxx=yes])
AC_ARG_ENABLE(ncap2,AS_HELP_STRING([--enable-ncap2],[Build ncap2 and libnco++ (same as enable-ncoxx) [[default=yes]]]),enable_ncoxx=${enableval},[enable_ncoxx=yes])
AC_ARG_ENABLE(ncoxx,AS_HELP_STRING([--enable-ncoxx],[Build libnco++ and ncap2 (same as enable-ncap2) [default=yes]]),enable_ncoxx=${enableval},[enable_ncoxx=yes])
AC_ARG_ENABLE(ncap2,AS_HELP_STRING([--enable-ncap2],[Build ncap2 and libnco++ (same as enable-ncoxx) [default=yes]]),enable_ncoxx=${enableval},[enable_ncoxx=yes])
if test "${C_INC}"; then
# Prepend ${C_INC} to search path if present
# C_INC refers to a directory that is guaranteed to be searched first
......@@ -484,13 +484,13 @@ AC_LANG_POP([C++])
# end ANTLR
# Begin MPI (deprecated)
AC_ARG_ENABLE(mpi,AS_HELP_STRING([--enable-mpi],[Build NCO for Message Passing Interface (NB: Do not use, this is not yet supported) [[default=no]]]),enable_mpi=${enableval},enable_mpi=no)
AC_ARG_ENABLE(mpi,AS_HELP_STRING([--enable-mpi],[Build NCO for Message Passing Interface (NB: Do not use, this is not yet supported) [default=no]]),enable_mpi=${enableval},enable_mpi=no)
AM_CONDITIONAL(ENABLE_MPI,[test "${enable_mpi}" = 'yes'])
# End MPI
# Begin Fortran (obsolete)
# If --enable-fortran define USE_FORTRAN_ARITHMETIC
AC_ARG_ENABLE(fortran,AS_HELP_STRING([--enable-fortran],[Use Fortran arithmetic (deprecated) [[default=no]]]),enable_fortran=${enableval},enable_fortran=no)
AC_ARG_ENABLE(fortran,AS_HELP_STRING([--enable-fortran],[Use Fortran arithmetic (deprecated) [default=no]]),enable_fortran=${enableval},enable_fortran=no)
if test "${enable_fortran}" = 'yes'; then
AC_DEFINE(USE_FORTRAN_ARITHMETIC,1,Use Fortran arithmetic)
fi
......@@ -511,7 +511,7 @@ else
I18N_SHARE='/usr/share/locale'
fi
fi
AC_ARG_ENABLE(i18n,AS_HELP_STRING([--enable-i18n],[Internationalization (i18n) support (WARNING: Experimental, for future use) [[default=no]]]),enable_i18n=${enableval},enable_i18n=no)
AC_ARG_ENABLE(i18n,AS_HELP_STRING([--enable-i18n],[Internationalization (i18n) support (WARNING: Experimental, for future use) [default=no]]),enable_i18n=${enableval},enable_i18n=no)
# Check for i18n libraries unless told otherwise
if test "${enable_i18n}" != 'no'; then
......@@ -538,7 +538,7 @@ fi
# Begin nco_c++
# If --enable-nco_cplusplus, compile NCO C++ interface library
AC_ARG_ENABLE(nco_cplusplus,AS_HELP_STRING([--enable-nco_cplusplus],[Build NCO C++ interface library [[default=yes]]]),enable_nco_cxx=${enableval},enable_nco_cxx=yes)
AC_ARG_ENABLE(nco_cplusplus,AS_HELP_STRING([--enable-nco_cplusplus],[Build NCO C++ interface library [default=yes]]),enable_nco_cxx=${enableval},enable_nco_cxx=yes)
# End nco_c++
echo "##################################################"
......@@ -555,7 +555,7 @@ AC_ARG_VAR(ESMF_LIB,Location of ESMF library (compile-time))
# Store pre-ESMF LIBS value to restore from later
nco_LIBS_no_ESMF="${LIBS}"
nco_CPPFLAGS_no_ESMF="${CPPFLAGS}"
AC_ARG_ENABLE(esmf,AS_HELP_STRING([--enable-esmf],[Build-in ESMF support for integrated (instead of off-line) regridding. WARNING: Development code = Unsupported (and not necessary for regridding! Dragons lurk here.) [[default=no]]]),enable_esmf=${enableval},enable_esmf=no)
AC_ARG_ENABLE(esmf,AS_HELP_STRING([--enable-esmf],[Build-in ESMF support for integrated (instead of off-line) regridding. WARNING: Development code = Unsupported (and not necessary for regridding! Dragons lurk here.) [default=no]]),enable_esmf=${enableval},enable_esmf=no)
if test "${enable_esmf}" != 'yes'; then
enable_esmf='no'
fi
......@@ -622,7 +622,7 @@ echo "########################################"
# Store pre-GSL LIBS value to restore from later
nco_LIBS_no_GSL="${LIBS}"
nco_CPPFLAGS_no_GSL="${CPPFLAGS}"
AC_ARG_ENABLE(gsl,AS_HELP_STRING([--enable-gsl],[Build-in GSL support if possible [[default=yes]]]),enable_gsl=${enableval},enable_gsl=yes)
AC_ARG_ENABLE(gsl,AS_HELP_STRING([--enable-gsl],[Build-in GSL support if possible [default=yes]]),enable_gsl=${enableval},enable_gsl=yes)
if test "${enable_gsl}" = 'yes'; then
if test "${GSL_ROOT}"; then
......@@ -697,7 +697,7 @@ AM_CONDITIONAL(ENABLE_GSL,[test "${enable_gsl}" = 'yes'])
# Begin rx
# Check to enable regular expression stuff, allow user to override
AC_ARG_ENABLE(regex,AS_HELP_STRING([--enable-regex],[Allow extended regular expressions [[default=yes]]]),nco_have_regex=${enableval},nco_have_regex=yes)
AC_ARG_ENABLE(regex,AS_HELP_STRING([--enable-regex],[Allow extended regular expressions [default=yes]]),nco_have_regex=${enableval},nco_have_regex=yes)
if test "x${nco_have_regex}" = 'xyes'; then
AC_CHECK_HEADER([regex.h],AC_DEFINE([HAVE_REGEX_H],1,[Define to 1 if <regex.h> is present]),nco_have_regex=no)
AC_CHECK_HEADER([sys/types.h],AC_DEFINE([HAVE_SYS_TYPES_H],1,[Define to 1 if <sys/types.h> is present]),nco_have_regex=no)
......@@ -721,8 +721,8 @@ echo "########################################"
echo "# Testing for UDUNITS support #"
echo "########################################"
AC_ARG_ENABLE(udunits,AS_HELP_STRING([--enable-udunits],[Build-in UDUnits support if possible [[default=no]]]),enable_udunits=${enableval},enable_udunits=yes)
AC_ARG_ENABLE(udunits2,AS_HELP_STRING([--enable-udunits2],[Build-in UDUnits2 support if possible [[default=yes]]]),enable_udunits2=${enableval},enable_udunits2=yes)
AC_ARG_ENABLE(udunits,AS_HELP_STRING([--enable-udunits],[Build-in UDUnits support if possible [default=no]]),enable_udunits=${enableval},enable_udunits=yes)
AC_ARG_ENABLE(udunits2,AS_HELP_STRING([--enable-udunits2],[Build-in UDUnits2 support if possible [default=yes]]),enable_udunits2=${enableval},enable_udunits2=yes)
# Are both UDUnits and UDUnits2 requested?
if (test "${enable_udunits}" != 'no' && test "${enable_udunits2}" != 'no'); then
# Override UDUnits request
......@@ -739,12 +739,10 @@ if test "${enable_udunits2}" != 'no'; then
if test -d "${UDUNITS2_PATH}"; then
# NB: Use ${UDUNITS2_PATH} not ${UDUNITS2_ROOT} because UDUnits software looks for ${UDUNITS2_PATH}
# Add ${UDUNITS2_PATH}/lib to search path if present
# Some systems install 64bit libraries into $prefix/lib64 instead of
# $prefix/lib. If NCO libraries are installed into $prefix/lib64,
# UDUNITS presumably was installed in $UDUNITS2_PATH/lib64 as well.
# Therefore, we take `basename $libdir` (libdir=$prefix/lib|lib64),
# which is 'lib' or 'lib64', and append it to UDUNITS2_PATH. If this
# directory does not exist, we append 'lib' to UDUNITS2_PATH.
# Some systems install 64bit libraries into $prefix/lib64 instead of $prefix/lib
# If NCO libraries were installed in $prefix/lib64, then UDUNITS presumably was installed in $UDUNITS2_PATH/lib64
# Therefore, we take `basename $libdir` (libdir=$prefix/lib|lib64), which is 'lib' or 'lib64', and append it to UDUNITS2_PATH
# If this directory does not exist, we append 'lib' to UDUNITS2_PATH
# (Daniel Neumann, 3rd June 2017)
nco_udunits2_xml=${UDUNITS2_PATH}/share/udunits/udunits2.xml
if test -d "${UDUNITS2_PATH}/`basename $libdir`"; then
......@@ -784,7 +782,7 @@ if test "${enable_udunits2}" != 'no'; then
# Add this path to CPPFLAGS if it exists, otherwise do nothing
AC_CHECK_FILE([/opt/local/include/udunits2/udunits2.h], [CPPFLAGS="$CPPFLAGS -I/opt/local/include/udunits2"], [])
#/opt/local/lib/libudunits2.a
AC_CHECK_FILE([/opt/local/lib/libudunits2.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib/"], [])
AC_CHECK_FILE([/opt/local/lib/libudunits2.a], [LDFLAGS="$LDFLAGS -L/opt/local/lib"], [])
# 20101011 Debian installs udunits2.xml in /usr/share/xml/udunits/udunits2
# NB: 20100729 udunits2.xml location seems to have changed from
# /usr/local/share/udunits2.xml (in Fedora Core 6) to /usr/local/share/udunits/udunits2.xml
......@@ -928,7 +926,7 @@ fi
# Begin enable_debug_custom
# Custom debug: Activate all known, helpful compile-time and run-time debugging checks
AC_ARG_ENABLE(debug-custom,AS_HELP_STRING([--enable-debug-custom],[Activate all known, helpful compile-time and run-time debugging checks such as pedantic warnings, bounds checking (slowest execution). Automatically activates --enable-debug-symbols. [[default=no]]]),enable_debug_custom=${enableval},enable_debug_custom=no)
AC_ARG_ENABLE(debug-custom,AS_HELP_STRING([--enable-debug-custom],[Activate all known, helpful compile-time and run-time debugging checks such as pedantic warnings, bounds checking (slowest execution). Automatically activates --enable-debug-symbols. NB: This option may interact unfavorably with some versions of Flex. De-activate this if building fails with with errors involving "yyget_leng()". [default=no]]),enable_debug_custom=${enableval},enable_debug_custom=no)
if test "${enable_debug_custom}" = 'yes'; then
AC_DEFINE(ENABLE_DEBUG_CUSTOM,1,[Custom debugging: Pedantic, bounds checking (slowest execution)])
if (test "x${GCC}" = 'xyes'); then
......@@ -1006,7 +1004,7 @@ fi
# Begin enable_debug_symbols
# If --enable-debug-symbols, add these compiler flags
AC_ARG_ENABLE(debug-symbols,AS_HELP_STRING([--enable-debug-symbols],[Debugging symbols: Produce symbols for debuggers (e.g., dbx, gdb) [[default=no]]]),enable_debug_symbols=${enableval},enable_debug_symbols=no)
AC_ARG_ENABLE(debug-symbols,AS_HELP_STRING([--enable-debug-symbols],[Debugging symbols: Produce symbols for debuggers (e.g., dbx, gdb) [default=no]]),enable_debug_symbols=${enableval},enable_debug_symbols=no)
# Custom debug automatically invokes debugging symbols
if test "${enable_debug_custom}" = 'yes'; then
enable_debug_symbols='yes';
......@@ -1022,7 +1020,7 @@ fi
# Activate all known, helpful switches for fastest possible run-time performance
# These switches are highly compiler and architecture dependent
# Settings should improve performance relative to default ./configure setttings
AC_ARG_ENABLE(optimize-custom,AS_HELP_STRING([--enable-optimize-custom],[Activate all known, helpful switches for fastest possible run-time performance (slowest compilation) [[default=no]]]),enable_optimize_custom=${enableval},enable_optimize_custom=no)
AC_ARG_ENABLE(optimize-custom,AS_HELP_STRING([--enable-optimize-custom],[Activate compiler switches for potentially faster run-time performance (slower compilation). NB: This option may interact unfavorably with some versions of Flex. De-activate this if building fails with with errors involving "yyget_leng()". [default=no]]),enable_optimize_custom=${enableval},enable_optimize_custom=no)
if test "${enable_optimize_custom}" = 'yes'; then
AC_DEFINE(ENABLE_OPTIMIZE_CUSTOM,1,Fastest possible execution (slowest compilation))
#echo "DEBUG: x\$CC=x${CC}, x\$GCC=x${GCC}"
......@@ -1238,7 +1236,7 @@ AC_SUBST(NCOXX)
# Begin Doc
# Mac OS X has outdated TeXInfo, and fails build docs (unless MacPorts is installed)
# Enable doc-building by default (subject to later checks) unless told otherwise
AC_ARG_ENABLE(doc,AS_HELP_STRING([--enable-doc],[Build/install NCO TexInfo-based documentation (info hierarchy and PDF/HTML Users Guide)[[default=yes]]]),enable_doc=${enableval},enable_doc=yes)
AC_ARG_ENABLE(doc,AS_HELP_STRING([--enable-doc],[Build/install NCO TexInfo-based documentation (info hierarchy and PDF/HTML Users Guide) [default=yes]]),enable_doc=${enableval},enable_doc=yes)
# End Doc
# Conditional build of doc/Makefile
......
......@@ -231,7 +231,7 @@ Status: Works
Commands for LINUX are the only ones "regularly" used after ~2010
************************************************************************
# Post upgrade requests to sysadmins at ALCF, LCRC, LLNL, NCAR, NCSA, NERSC, OLCF
# support@alcf.anl.gov # ALCF Maintainer =
# support@alcf.anl.gov # ALCF Maintainer = Robert Scott <scott@alcf.anl.gov>
# conda update nco # Anaconda Maintainer = Filipe Fernandes (github: ocefpaf)
# support@lcrc.anl.gov # LCRC Maintainer = Adam
# Tony Hoang <hoang1@llnl.gov> # LLNL
......@@ -309,14 +309,15 @@ make install
# gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on acme1:
# Sysadmin upgrade request:
# Latest sysadmin-compiled module usage:
# Personal recipe last modified: 20180405
# Personal recipe last used successfully: 20180406
# Personal recipe last modified: 20180912
# Personal recipe last used successfully: 20180912
# 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/uvcdat/2016-01-21/Externals/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/uvcdat/2016-01-21/Externals/lib64:${LD_LIBRARY_PATH}
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/uvcdat/2016-01-21/Externals' UDUNITS2_PATH='/usr/local/uvcdat/2016-01-21/Externals' ./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
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}
# 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
/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
......@@ -328,11 +329,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: 20180406
# Personal recipe last used successfully: 20180811
# 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
ANTLR_ROOT=${HOME} CC='gcc' CXX='g++' NETCDF_ROOT='/usr/local/uvcdat/2016-01-21/Externals' UDUNITS2_PATH='/usr/local/uvcdat/2016-01-21/Externals' ./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
# 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
/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
......@@ -347,7 +349,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: 20180729 (up to ncap2 linking with antlr)
# Personal recipe last used successfully: 20180811 (up to ncap2 linking with antlr)
# 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
......@@ -371,7 +373,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# Latest ticket: 216373 on 20180413
# Latest sysadmin-compiled module usage: module load netcdf/4.6.1 module load nco/4.7.4 # 20180417
# Personal recipe last modified: 20180427
# Personal recipe last used successfully: 20180711 (getopt errors were eliminated by removing ~/include/getopt*.h)
# Personal recipe last used successfully: 20180811 (getopt errors were eliminated by removing ~/include/getopt*.h)
module purge
module load ncarenv intel ncarcompilers mpt netcdf
module add intel
......@@ -406,7 +408,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# 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: 20180406
# Personal recipe last used successfully: 20180811
module load szip
module load gsl
module load udunits
......@@ -427,7 +429,7 @@ scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU
# 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 used successfully: 20180808 (but must manually link to -L${HOME}/lib_edison to find antlr)
# Personal recipe last used successfully: 20180811 (but must manually link to -L${HOME}/lib_edison to find antlr)
module load szip
module load gsl
module load udunits2
......@@ -462,7 +464,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: 20170814
# Personal recipe last used successfully: 20180406
# Personal recipe last used successfully: 20180811
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'
......@@ -494,11 +496,12 @@ make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# 20180124: gcc/g++ Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on theta:
# Sysadmin upgrade request:
# Sysadmin upgrade request: support@alcf.anl.gov
# Latest ticket: 368436 on 20180502
# Latest sysadmin-compiled module usage: # fxm
# Personal recipe last modified: 20180124
# Personal recipe last modified: 20180823
# Problem is that .bashrc resets PATH so cannot find icc/gcc ...
# Personal recipe last used successfully: fxm
# Personal recipe last used successfully: 20180823 (Traditional build only)
# module unload python
# module use /projects/ClimateEnergy_2/software/modulefiles/all
# module load e3sm-unified/1.1.2
......@@ -515,13 +518,25 @@ make clean;make > nco.make.${GNU_TRP}.foo 2>&1
make check >> nco.make.${GNU_TRP}.foo 2>&1
make install >> nco.make.${GNU_TRP}.foo 2>&1
scp nco.configure.${GNU_TRP}.foo nco.config.log.${GNU_TRP}.foo nco.libtool.${GNU_TRP}.foo nco.make.${GNU_TRP}.foo dust.ess.uci.edu:Sites/nco/rgr
# 20180823 Attempt with bld/Makefile:
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 PrgEnv-intel # CSZ
module load PrgEnv-gnu # CSZ
module load cray-netcdf
export LD_LIBRARY_PATH=/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/lib:${LD_LIBRARY_PATH}
export NETCDF_ROOT=/opt/cray/pe/netcdf/4.6.1.2
export PATH=/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/bin:${PATH}
cd ~/nco;git reset --hard origin/master
cd ~/nco/bld;make ANTLR_ROOT=${HOME} GSL=N NETCDF_INC='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/include' NETCDF_LIB='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/lib' NETCDF_INC='/opt/cray/pe/netcdf/4.6.1.2' UDUNITS=N OPTS=D OMP=Y allinone;cd -
# gcc/g++ 20160420 Zender uses this to develop/install/update netCDF4-enabled NCO in personal directories on titan:
# Sysadmin upgrade request: https://www.olcf.ornl.gov/support/submit-ticket
# Latest ticket: 347675 on 20170316, 381695 on 20180413
# Latest sysadmin-compiled module usage: module load nco/4.6.6 # 20170411
# Personal recipe last modified: 20170814
# Personal recipe last used successfully: 20180406
# Personal recipe last used successfully: 20180811 (except ncap2 error with antlr link)
export LINUX_CC='gcc -std=c99 -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE'
module add gcc # change GCC from v 4.3.4 to 4.9.0
#module add gsl # not used yet
......@@ -748,12 +763,16 @@ x86_64-unknown-linux-gnu
# Zender uses this on MACOSX aerosol/firn as well
export GNU_TRP=`~/nco/autobld/config.guess`
cd ~/nco;/bin/rm -f *.${GNU_TRP}.foo;make distclean
# Pre-20180729 (antlr from macports seemed to have stopped linking, so build it from scratch)
# Pre-20180729 (antlr from macports seems to have stopped linking, so build it from scratch)
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
# Firn 20180729
# Firn 20180729 (works)
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
# Aerosol 20180729
# Aerosol 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
# Aerosol 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
......
......@@ -37,7 +37,8 @@
# E3SM/ACME Climatology Requirements: https://acme-climate.atlassian.net/wiki/display/ATM/Climo+Files+-+v0.3+AMIP+runs
# Insta-install:
# scp ~/nco/data/ncclimo aims4.llnl.gov:bin
# scp ~/nco/data/ncremap zender1@acme1.llnl.gov:bin
# scp ~/nco/data/ncremap zender1@aims4.llnl.gov:bin
# scp ~/nco/data/ncclimo blues.lcrc.anl.gov:bin
# scp ~/nco/data/ncclimo cheyenne.ucar.edu:bin
# scp ~/nco/data/ncclimo cooley.alcf.anl.gov:bin
......@@ -46,6 +47,7 @@
# scp ~/nco/data/ncclimo edison.nersc.gov:bin_edison
# scp ~/nco/data/ncclimo rhea.ccs.ornl.gov:bin_rhea
# scp ~/nco/data/ncclimo skyglow.ess.uci.edu:bin
# scp ~/nco/data/ncclimo theta.alcf.anl.gov:bin_theta
# scp dust.ess.uci.edu:nco/data/ncclimo ~/bin
# Set script name, directory, PID, run directory
......@@ -177,6 +179,9 @@ if [ "${hrd_pth}" != 'No' ] && [ "${NCO_PATH_OVERRIDE}" != 'No' ]; then
fi # !NCARG_ROOT
export PATH='/ccs/home/zender/bin_rhea'\:${PATH}
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:/ccs/home/zender/lib_rhea'\:${LD_LIBRARY_PATH} ; ;;
theta* )
export PATH='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/bin'\:${PATH}
export LD_LIBRARY_PATH='/opt/cray/pe/netcdf/4.6.1.2/gnu/7.1/lib'\:${LD_LIBRARY_PATH} ; ;;
titan* )
source ${MODULESHOME}/init/sh # 20150607: PMC Ensures find module commands will be found
module load gcc
......
This diff is collapsed.
nco (4.7.7-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
-- Bas Couwenberg <sebastic@debian.org> Thu, 27 Sep 2018 07:25:53 +0200
nco (4.7.7-1) unstable; urgency=medium
* New upstream release.
* Update watch file to limit matches to archive path.
* Bump Standards-Version to 4.2.1, no changes.
-- Bas Couwenberg <sebastic@debian.org> Sat, 22 Sep 2018 08:45:41 +0200
nco (4.7.6-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
......
......@@ -18,9 +18,9 @@ Build-Depends: debhelper (>= 9),
libudunits2-dev,
libdap-dev,
texinfo
Standards-Version: 4.2.0
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/debian-gis-team/nco
Vcs-Git: https://salsa.debian.org/debian-gis-team/nco.gi -b stretch-backportst
Vcs-Git: https://salsa.debian.org/debian-gis-team/nco.git -b stretch-backports
Homepage: http://nco.sourceforge.net/
Package: nco
......
......@@ -4,4 +4,4 @@ dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$//,\
uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/RC/rc/;s/\-/\./g,\
filenamemangle=s/(?:.*?\/)?(?:rel|v|nco)?[\-\_]?(\d\S+)\.(tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))/nco-$1.$2/ \
https://github.com/nco/nco/releases \
(?:.*?/)?(?:rel|v|nco)?[\-\_]?(\d[\d\.]+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
(?:.*?/archive/)?(?:rel|v|nco)?[\-\_]?(\d[\d\.]+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
$Header$ -*-text-*-
The netCDF Operators NCO version 4.7.6 have hatched.
The netCDF Operators NCO version 4.7.7 have hatched.
http://nco.sf.net (Homepage, Mailing lists, Help)
http://github.com/nco (Source Code, Issues, Releases, Developers)
What's new?
Version 4.7.6 is primarily a feature release for ncremap.
There are two new processing modes, one for regridding regional data,
and one for generating all mapfile permutations with all interpolation
algorithms. There is also improved support for auxiliary coordinates
that lack coordinaes/standard_name conventions, improved ncap2
command-line script handling in Windows, and less intrusive HPSS file
system support.
What's new? Version 4.7.7 has modest new features everywhere:
Improved forward and backward compatibility with newer and older
versions of ESMF_RegridWeightGen; Generation and inferral of grids
running north->south (à la ECMWF); exact symmetry for Gaussian grid
interfaces; an ncpdq compression map that converts doubles to floats;
production of "skeleton files" for new grids; equivalent treatment of
MPAS and CESM grid variables in arithmetic; and reversion of the
filename whitelist security.
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
netCDF4 user-defined types ENUM and VLEN is ready now (though
unsupported) with the --udt flag. 5.0.0 will contain the finished
version of that, and progress on weight generation by ncremap.
version of that, and progress on native weight generation by ncremap.
Enjoy,
Charlie
NEW FEATURES (full details always in ChangeLog):
A. NCO versions 4.6.6+ (April, 2017) has looked for files on an HPSS
filesystem when it could not find them elsewhere. This produces
messages considered intrusive by many users, who do not have HPSS.
Now users must opt-in to HPSS searches by adding the --hpss flag:
ncks -l . --hpss /home/zender/nco/in.nc
http://nco.sf.net#hpss
A. ncremap now regrids regional output produced by CESM CAM-SE and
E3SM EAM models. Models output these RRG (for "regional
regridding" format) files if requested by the finclNlonlat
namelist parameter. RRG files from FV-dycore simulations were
already regriddable, and now SE-dycore RRG files are too:
ncremap --dat_glb=dat_glb.nc --grd_glb=grd_glb.nc -g grd_rgn.nc dat_rgn.nc dat_rgr.nc
Documentation is currently available to E3SM users at
A. ncpdq has a new packing map: dbl_flt
The map converts to double-precision to single-precision,
so it is technically a precision change, not packing.
It is in ncpdq because it reduces space by ~50%, like packing.
Like packing the precision loss is irreversible.
Unlike packing, no attributes are created, modified, or deleted.
ncpdq -M dbl_flt in.nc out.nc
http://nco.sf.net/nco.html#dbl_flt
http://nco.sf.net/nco.html#ncpdq
B. Filename sanitization via character whitelists, first introduced in
NCO 4.7.3 to increase security against malicious filenames, has
been turned-off, possibly permanently. Points passionately raised
by a user led us to turn-off this feature until lack of it is shown
to lead to a real-world exploit.
https://github.com/nco/nco/issues/104
http://nco.sf.net/nco.html#wht_lst
C. The CCM/CAM/EAM family of atmospheric models does not output a
"bounds" variable or attribute corresponding to its "lev"
coordinate. This prevents NCO from activating some desirable CF
machinery. To workaround this, NCO now outputs the ilev coordinate
(and hyai, hybi) whenever the lev coordinate is also output.
ncks -v T in.nc out.nc
http://nco.sf.net/nco.html#bnd
D. Equivalent treatment of MPAS and CESM grid variables.
NCO does not arithmetically alter grid-related variables.
Who wants to subtract latitude coordinates from eachother?
Previously it only skipped arithmetic on CESM'ish grid variables.
Now NCO has an extensive (pun intended!) list of MPAS and other
grid variables that it will not subtract. For the most part,
ncremap will not regrid these variables either.
http://nco.sf.net/nco.html#cnv_CCSM
http://nco.sf.net/nco.html#cnv_MPAS
http://nco.sf.net/nco.html#ncremap
E. I greatly expanded the field manual to regridding with ncremap.
The documentation is currently available to E3SM users at
https://acme-climate.atlassian.net/wiki/spaces/SIM/pages/754286611/Regridding+E3SM+Data+with+ncremap
and to others via email request (it will be in Users Guide soon).
A. ncremap includes an MWF-mode (for "Make All Weight Files") that
generates and names, with one command and in a self-consistent
manner, all combinations of E3SM global atmosphere<->ocean maps
with both ERWG and Tempest. MWF-mode automates the laborious and
error-prone process of generating numerous map-files with various
switches. Its chief use occurs when developing and testing new
global grid-pairs for the E3SM atmosphere and ocean components:
ncremap -P mwf -s grd_ocn -g grd_atm --nm_src=ocn_nm --nm_dst=atm_nm --dt_sng=date
Documentation is currently available to E3SM users at
https://acme-climate.atlassian.net/wiki/spaces/SIM/pages/754286611/Regridding+E3SM+Data+with+ncremap
and to others via email request (it will be in Users Guide soon).
A. ncap2 string-handling is now more compatible between Windows and
better OSs. Previously, some ncap2 scripts could behave differently
due to the Windows definition of the C++ c_str() function.
F. ncremap adds --ignore_degenerate to default ESMF_RegridWeightGen
(ERWG) options when ERWG version >= 7.0. This is done to preserve
backwards compatibility since ERWG 7.1.0r and later require
--ignore_degenerate to successfully regrid some datasets (e.g.,
CICE) that previous ERWG versions handle fine.
ncremap -m map.nc in.nc out.nc
http://nco.sf.net/nco.html#wgt_opt
G. Not only do the British drive on the wrong side of the road, they
prefer North-to-South (n2s) grids over South-to-North (s2n) grids.
NCO now implements a latitude direction keyword lat_drc.
Grid generation implements n2s ordering via --rgr lat_drc=n2s.
Grid diagnosis now recognizes n2s ordering for all rectangular grids.
http://nco.sf.net/nco.html#lat_drc
H. ncremap now generates exactly symmetric interface latitudes for
Gaussian grids. To our knowledge only NCO generates accurate
Gaussian interfaces (via a Newton-Raphson iteration of boundaries
to enclose the area indicated by the Gaussian weight). However,
previously the interface latitudes could accumulate rounding errors
during Newton-Raphson iteration differ between the hemispheres by
~1.0e-14. Now symmetry properties are used to ensure exact symmetry.
http://nco.sf.net/nco.html#gss
I. ncremap now produces a "skeleton file" of grids it generates
when requested with --skl_fl.
ncremap -G latlon=2560,5136#lat_typ=gss#lon_typ=grn_ctr#lat_drc=n2s -g grd_ecmwf.nc --skl=skl_ecmwf.nc
http://nco.sf.net/nco.html#skl_fl
http://nco.sf.net/nco.html#skeleton
BUG FIXES:
A. NCO completes when chunking into non-netCDF4 files (of course it
ignores the chunking request). Previous NCO tried to complete but
dumped-core.
A. ncks -r could incorrectly report that CDF5 was enabled.
This occurred when linked to netCDF 4.5.x-4.6.1.
This has been fixed.
A. NCO now only prints one WARNING about user-specified chunk size for
record dimension being too big.
B. ncremap previously broke on weight files that lacked a num_wgts
dimension, even if that dimension was unused (orphaned).
Dependence on num_wgts has been eliminated and fixes this.
This also enables compressed maps to work correctly.
A. Repeated notice: netCDF 4.6.1 fixes the CDF5 bug described here
http://nco.sf.net#bug_cdf5
We STRONGLY recommend that CDF5 users upgrade to netCDF 4.6.1.
NCO error messages and HINTs have been updated to better describe
the best practices to identify and avoid this nasty bug.
C. Fixed a bug in the convergence test to detect Gaussian grids
Full release statement at http://nco.sf.net/ANNOUNCE
......@@ -79,8 +116,8 @@ 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.6 built/tested under
MacOS 10.13.6 with netCDF 4.4.1.1 on HDF5 1.10.2 and with
These problems occur with NCO 4.7.7 built/tested under
MacOS 10.13.6 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.
A. NOT YET FIXED (NCO problem)
......