Commit 9dd2233a authored by Uwe Schulzweida's avatar Uwe Schulzweida

Merge branch 'develop'

parents 497bf0e2 4bc54ea7
Schulzweida, U. (2017), Climate Data Operators (CDO) User Guide, Version 1.8.0,
https://code.zmaw.de/projects/cdo/embedded/index.html
https://code.zmaw.de/projects/cdo/embedded/cdo.pdf
2017-04-13 Uwe Schulzweida
* Using CDI library version 1.8.1
* Version 1.8.1 release
2017-04-10 Uwe Schulzweida
* Use Proj4 to convert GRIB LCC grids to geographic coordinates
2017-04-09 Uwe Schulzweida
* Refactor GRID_LCC to GRID_PROJECTION
2017-04-07 Uwe Schulzweida
* setpartab: added support for values in single quotes [Bug #7662]
2017-04-03 Uwe Schulzweida
* Arith: set varID2 to varID (bug fix for variables with different grid size)
2017-03-29 Uwe Schulzweida
* collgrid: combination of nx and names does not work (bug fix)
2017-03-24 Uwe Schulzweida
* remap_grids_init: bug fix for CDI_PROJ_LCC
2017-03-21 Uwe Schulzweida
* remapdis: potentialy wrong results on non global grids [Bug #7626] (bug was introduced in last revision)
2017-03-13 Uwe Schulzweida
* selindexbox: added support for LCC grid
2017-03-09 Uwe Schulzweida
* New operator delgridcell - Delete grid cells by indexes
2017-03-06 Uwe Schulzweida
* New operator selmulti: Select multiple fields (patch from Michal Koutek, KMNI)
* New operator delmulti: Delete multiple fields (patch from Michal Koutek, KMNI)
* New operator changemulti: Change identication of multiple fields (patch from Michal Koutek, KMNI)
2017-03-03 Uwe Schulzweida
* New operator rotuvNorth: Rotate grid-relative wind(u,v) to North_pole-relative (patch from Michal Koutek, KMNI)
* New operator projuvLatLon: Cylindrical Equidistant projection (patch from Michal Koutek, KMNI)
2017-02-28 Uwe Schulzweida
* New operator uvDestag: Destaggering of wind components (patch from Michal Koutek, KMNI)
2017-02-27 Uwe Schulzweida
* Added support for grid flag uvRelativeToGrid
2017-02-24 Uwe Schulzweida
* New operator usegridnumber (patch from Michal Koutek, KMNI)
2017-02-23 Uwe Schulzweida
* New operator showgrid: show grids (patch from Michal Koutek, KMNI)
2017-02-22 Uwe Schulzweida
* option -k auto: set chunk_size_max to 65536.
2017-02-21 Uwe Schulzweida
* New operator xinfon:
2017-02-20 Uwe Schulzweida
* New operator samplegrid: resample grid (patch from Michal Koutek, KMNI)
* New operator subgrid: selindexbox for LCC grids (patch from Michal Koutek, KMNI)
* setgridtype,curvilinear: bug fix for source gridtype GRID_LCC
2017-02-16 Uwe Schulzweida
* invertlat: added support for gridtype projection
2017-02-14 Uwe Schulzweida
* Using CDI library version 1.8.0
......@@ -121,7 +207,7 @@
2016-07-29 Uwe Schulzweida
* New operator selindex - Select grid indices
* New operator selindex - Select grid cells by indices
2016-07-18 Uwe Schulzweida
......
......@@ -213,6 +213,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASH = @BASH@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
......
CDO NEWS
--------
Version 1.8.1 (6 April 2017):
New features:
* selindexbox: added support for LCC grid
New operators:
* selgridcell - Select grid cells
* delgridcell - Delete grid cells
New operators (KMNI contribution):
* selmulti - Select multiple fields
* delmulti - Delete multiple fields
* changemulti - Change identication of multiple fields
* samplegrid - Resample grid
* uvDestag - Destaggering of wind components
* rotuvNorth - Rotate u/v wind to North pole
* projuvLatLon - Cylindrical Equidistant projection
Fixed bugs:
* collgrid: combination of nx and names does not work
* Remapping bug for non global grids [Bug #7625]
* remapdis and remapcon produces wrong results for some grid combinations [Bug #7626] (introduced in last revision)
Version 1.8.0 (26 October 2016):
New features:
......
......@@ -69,6 +69,9 @@ Operator catalog:
-------------------------------------------------------------
Select select Select fields
Select delete Delete fields
Selmulti selmulti Select multiple fields
Selmulti delmulti Delete multiple fields
Selmulti changemulti Change identication of multiple fields
Selvar selparam Select parameters by identifier
Selvar delparam Delete parameters by identifier
Selvar selcode Select parameters by code number
......@@ -94,6 +97,9 @@ Operator catalog:
Seltime selsmon Select single month
Selbox sellonlatbox Select a longitude/latitude box
Selbox selindexbox Select an index box
Selgridcell selgridcell Select grid cells
Selgridcell delgridcell Delete grid cells
Samplegrid samplegrid Resample grid
-------------------------------------------------------------
Conditional selection
-------------------------------------------------------------
......@@ -121,7 +127,7 @@ Operator catalog:
-------------------------------------------------------------
Modification
-------------------------------------------------------------
Setattributes setattribute Set attributes
Setattribute setattribute Set attributes
Setpartab setpartabp Set parameter table
Setpartab setpartabn Set parameter table
Set setcodetab Set parameter code table
......@@ -532,6 +538,9 @@ Operator catalog:
Vargen topo Create a field with topography
Vargen for Create a time series
Vargen stdatm Create values for pressure and temperature for hydrostatic atmosphere
WindTrans uvDestag Destaggering of u/v wind components
WindTrans rotuvNorth Rotate u/v wind to North pole.
WindTrans projuvLatLon Cylindrical Equidistant projection
Rotuv rotuvb Backward rotation
Mastrfu mastrfu Mass stream function
Derivepar sealevelpressure Sea level pressure
......
......@@ -85,9 +85,10 @@ case "${HOSTNAME}" in
# --with-curl=/opt/local"
CDOLIBS="--enable-nearpt3 \
--with-fftw3 \
--with-grib_api=$HOME/local/gribapi-1.13.0 \
--with-netcdf=$HOME/local \
--with-hdf5=$HOME/local \
--with-szlib=$HOME/local \
--with-grib_api=$HOME/local/grib_api-1.21.0 \
--with-netcdf=$HOME/local/netcdf-c-4.4.1.1 \
--with-hdf5=$HOME/local/hdf5-1.8.18 \
--with-libxml2=/opt/local \
--with-proj=/opt/local"
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for cdo 1.8.0.
# Generated by GNU Autoconf 2.68 for cdo 1.8.1.
#
# Report bugs to <http://mpimet.mpg.de/cdo>.
#
......@@ -570,8 +570,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cdo'
PACKAGE_TARNAME='cdo'
PACKAGE_VERSION='1.8.0'
PACKAGE_STRING='cdo 1.8.0'
PACKAGE_VERSION='1.8.1'
PACKAGE_STRING='cdo 1.8.1'
PACKAGE_BUGREPORT='http://mpimet.mpg.de/cdo'
PACKAGE_URL=''
......@@ -628,6 +628,8 @@ BUILD_AVX_TESTS_FALSE
BUILD_AVX_TESTS_TRUE
BUILD_SSE42_TESTS_FALSE
BUILD_SSE42_TESTS_TRUE
ENABLE_HIRLAM_EXTENSIONS_FALSE
ENABLE_HIRLAM_EXTENSIONS_TRUE
ENABLE_ALL_STATIC_FALSE
ENABLE_ALL_STATIC_TRUE
subdirs
......@@ -688,6 +690,7 @@ CXXFLAGS
AS
OPENMP_CFLAGS
CXX
BASH
CPP
OTOOL64
OTOOL
......@@ -838,6 +841,7 @@ with_magics
with_libxml2
enable_cdi_lib
enable_all_static
enable_hirlam_extensions
enable_cxx
'
ac_precious_vars='build_alias
......@@ -1395,7 +1399,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 cdo 1.8.0 to adapt to many kinds of systems.
\`configure' configures cdo 1.8.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1465,7 +1469,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of cdo 1.8.0:";;
short | recursive ) echo "Configuration of cdo 1.8.1:";;
esac
cat <<\_ACEOF
......@@ -1499,6 +1503,8 @@ Optional Features:
[default=no]
--enable-all-static build a completely statically linked CDO binary
[default=no]
--enable-hirlam-extensions
HIRLAM extensions [default=no]
--enable-cxx Use CXX as default compiler [default=no]
Optional Packages:
......@@ -1613,7 +1619,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cdo configure 1.8.0
cdo configure 1.8.1
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
......@@ -2206,7 +2212,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 cdo $as_me 1.8.0, which was
It was created by cdo $as_me 1.8.1, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
......@@ -3155,7 +3161,7 @@ fi
# Define the identity of the package.
PACKAGE='cdo'
VERSION='1.8.0'
VERSION='1.8.1'
cat >>confdefs.h <<_ACEOF
......@@ -12000,6 +12006,106 @@ CC="$lt_save_CC"
# bash
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}bash", so it can be a program name with args.
set dummy ${ac_tool_prefix}bash; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_BASH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $BASH in
[\\/]* | ?:[\\/]*)
ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_BASH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
BASH=$ac_cv_path_BASH
if test -n "$BASH"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH" >&5
$as_echo "$BASH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_path_BASH"; then
ac_pt_BASH=$BASH
# Extract the first word of "bash", so it can be a program name with args.
set dummy bash; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_BASH+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_BASH in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_BASH="$ac_pt_BASH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_BASH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ac_pt_BASH=$ac_cv_path_ac_pt_BASH
if test -n "$ac_pt_BASH"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_BASH" >&5
$as_echo "$ac_pt_BASH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_pt_BASH" = x; then
BASH=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
BASH=$ac_pt_BASH
fi
else
BASH="$ac_cv_path_BASH"
fi
# Check building environment
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
......@@ -20833,6 +20939,35 @@ else
ENABLE_ALL_STATIC_FALSE=
fi
# ----------------------------------------------------------------------
# Build CDO with HIRLAM extensions
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HIRLAM extensions" >&5
$as_echo_n "checking for HIRLAM extensions... " >&6; }
# Check whether --enable-hirlam-extensions was given.
if test "${enable_hirlam_extensions+set}" = set; then :
enableval=$enable_hirlam_extensions; if test "x$enable_hirlam_extensions" != "xno"; then :
$as_echo "#define HIRLAM_EXTENSIONS 1" >>confdefs.h
enable_hirlam_extensions=yes
else
enable_hirlam_extensions=no
fi
else
enable_hirlam_extensions=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_hirlam_extensions" >&5
$as_echo "$enable_hirlam_extensions" >&6; }
if test x$enable_hirlam_extensions = 'xyes'; then
ENABLE_HIRLAM_EXTENSIONS_TRUE=
ENABLE_HIRLAM_EXTENSIONS_FALSE='#'
else
ENABLE_HIRLAM_EXTENSIONS_TRUE='#'
ENABLE_HIRLAM_EXTENSIONS_FALSE=
fi
#
# ----------------------------------------------------------------------
......@@ -21070,7 +21205,7 @@ ac_config_files="$ac_config_files test/File.test test/Read_grib.test test/Read_n
ac_config_files="$ac_config_files test/Comp.test test/Compc.test"
ac_config_files="$ac_config_files test/Cat.test test/Gridarea.test test/Genweights.test test/Remap.test"
ac_config_files="$ac_config_files test/Cat.test test/Gridarea.test test/Genweights.test test/Remap.test test/Remap2.test"
ac_config_files="$ac_config_files test/EOF.test test/Select.test test/Spectral.test test/Vertint.test"
......@@ -21241,6 +21376,10 @@ if test -z "${ENABLE_ALL_STATIC_TRUE}" && test -z "${ENABLE_ALL_STATIC_FALSE}";
as_fn_error $? "conditional \"ENABLE_ALL_STATIC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${ENABLE_HIRLAM_EXTENSIONS_TRUE}" && test -z "${ENABLE_HIRLAM_EXTENSIONS_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_HIRLAM_EXTENSIONS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_SSE42_TESTS_TRUE}" && test -z "${BUILD_SSE42_TESTS_FALSE}"; then
as_fn_error $? "conditional \"BUILD_SSE42_TESTS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
......@@ -21662,7 +21801,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 cdo $as_me 1.8.0, which was
This file was extended by cdo $as_me 1.8.1, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -21728,7 +21867,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="\\
cdo config.status 1.8.0
cdo config.status 1.8.1
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
......@@ -22245,6 +22384,7 @@ do
"test/Gridarea.test") CONFIG_FILES="$CONFIG_FILES test/Gridarea.test" ;;
"test/Genweights.test") CONFIG_FILES="$CONFIG_FILES test/Genweights.test" ;;
"test/Remap.test") CONFIG_FILES="$CONFIG_FILES test/Remap.test" ;;
"test/Remap2.test") CONFIG_FILES="$CONFIG_FILES test/Remap2.test" ;;
"test/EOF.test") CONFIG_FILES="$CONFIG_FILES test/EOF.test" ;;
"test/Select.test") CONFIG_FILES="$CONFIG_FILES test/Select.test" ;;
"test/Spectral.test") CONFIG_FILES="$CONFIG_FILES test/Spectral.test" ;;
......@@ -23776,6 +23916,7 @@ _LT_EOF
"test/Gridarea.test":F) chmod a+x "$ac_file" ;;
"test/Genweights.test":F) chmod a+x "$ac_file" ;;
"test/Remap.test":F) chmod a+x "$ac_file" ;;
"test/Remap2.test":F) chmod a+x "$ac_file" ;;
"test/EOF.test":F) chmod a+x "$ac_file" ;;
"test/Select.test":F) chmod a+x "$ac_file" ;;
"test/Spectral.test":F) chmod a+x "$ac_file" ;;
......
......@@ -4,7 +4,7 @@
# autoconf 2.68
# libtool 2.4.2
AC_INIT([cdo], [1.8.0], [http://mpimet.mpg.de/cdo])
AC_INIT([cdo], [1.8.1], [http://mpimet.mpg.de/cdo])
AC_DEFINE_UNQUOTED(CDO, ["$PACKAGE_VERSION"], [CDO version])
......@@ -25,6 +25,9 @@ AM_PROG_AR
AC_MSG_NOTICE([setting up libtool])
LT_INIT
# bash
AC_PATH_TOOL([BASH],[bash],[:])
# Check building environment
AC_CHECK_TOOL([CC],[gcc],[:])
AC_CHECK_TOOL([CXX],[g++],[:])
......@@ -249,7 +252,7 @@ AC_PROG_AWK
AC_CONFIG_FILES([test/File.test test/Read_grib.test test/Read_netcdf.test test/Copy_netcdf.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Comp.test test/Compc.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Cat.test test/Gridarea.test test/Genweights.test test/Remap.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Cat.test test/Gridarea.test test/Genweights.test test/Remap.test test/Remap2.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/EOF.test test/Select.test test/Spectral.test test/Vertint.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Timstat.test test/Timselstat.test test/Seasstat.test test/Runstat.test test/Multiyearstat.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Gridboxstat.test test/Vertstat.test test/Fldstat.test test/Fldpctl.test test/Ensstat.test test/Enspctl.test],[chmod a+x "$ac_file"])
......
......@@ -123,6 +123,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASH = @BASH@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
......
......@@ -15,16 +15,19 @@ Splitsel File operations
Distgrid File operations
Collgrid File operations
Select Selection
Selmulti Selection
Selvar Selection
Seltime Selection
Selbox Selection
Selgridcell Selection
Samplegrid Selection
Cond Conditional selection
Cond2 Conditional selection
Condc Conditional selection
MapReduce Conditional selection
Comp Comparison
Compc Comparison
Setattributes Modification
Setattribute Modification
Setpartab Modification
Set Modification
Settime Modification
......@@ -128,6 +131,7 @@ Smooth Miscellaneous
Replacevalues Miscellaneous
Timsort Miscellaneous
Vargen Miscellaneous
WindTrans Miscellaneous
Rotuv Miscellaneous
Mastrfu Miscellaneous
Derivepar Miscellaneous
......
......@@ -188,7 +188,7 @@ keepaspectratio]{cdo_libdep.pdf}}%
\begin{titlepage}
\vspace*{50mm}
%\vspace*{25mm}
{\Huge{\CDO}} \ {\Huge \textbf{User's Guide}}
{\Huge{\CDO}} \ {\Huge \textbf{User Guide}}
\setlength{\unitlength}{1cm}
\begin{picture}(16,0.4)
......@@ -198,7 +198,7 @@ keepaspectratio]{cdo_libdep.pdf}}%
\end{picture}
\begin{flushright}
\large \textbf{Climate Data Operators \\ Version 1.8.0 \\ February 2017}
\large \textbf{Climate Data Operators \\ Version 1.8.1 \\ April 2017}
\end{flushright}
\vfill
......
......@@ -14,7 +14,7 @@
\put(0,0.0){\line(1,0){3.95}}
\end{picture}
\begin{flushright}
{\small{Climate Data Operators \\ Version 1.8.0 \\ February 2017}}
{\small{Climate Data Operators \\ Version 1.8.1 \\ April 2017}}
\end{flushright}
\vspace*{0mm}
......
Contributors
CDO was initially written by Uwe Schulzweida.
CDO was mainly written by Uwe Schulzweida.
* History
CDO has incorporated code from several sources. Users have contributed patches and suggestions over time. This work has been undertaken by MPIM and as been funded by MPIM.
CDO was inspired by the PINGO package and the GRIB-Modules.
CDO was originally developed by Uwe Schulzweida at the Max Planck Institute for Meteorology (MPI-M).
The MPI-M, together with the DKRZ, has a long history in the development of tools for processing climate data.
CDO was inspired by some of these tools, such as the PINGO package and the GRIB-Modules.
PINGO was developed by Jürgen Waszkewitz, Peter Lenzen, and Nathan Gillet in 1995 at the DKRZ, Hamburg (Germany).
CDO has a similar user interface and uses some of PINGO routines.
The GRIB-Modules was developed by
* External sources
* Procedural INterface for GRIB formatted Objects
CDO has incorporated code from several sources: