Commit 6152b65b authored by Uwe Schulzweida's avatar Uwe Schulzweida

Merge branch 'develop'

parents 07ca7d58 94610781
2017-01-24 Uwe Schulzweida
* using CDI library version 1.8.0
* Version 1.8.0 release
2017-01-19 Uwe Schulzweida
* using CDI library version 1.8.0rc6
* Version 1.8.0rc6 release
2017-01-17 Uwe Schulzweida
* check hdf5 grid files for NetCDF4 attributes [Bug #7480]
2017-01-11 Uwe Schulzweida
* env CDO_GRIDSEARCH_RADIUS: added support for units deg, rad, km, m [request: Stefan Hagemann]
2017-01-03 Uwe Schulzweida
* eofcoeff: changed docu to "non weighted" (bug fix) [report: Torben Kunz]
2017-01-02 Reiner Schnur
* griddx/griddy: changed yv to xv in call to grid_to_radian() (bug fix)
2016-11-24 Uwe Schulzweida
* using CDI library version 1.8.0rc5
......@@ -5,7 +31,7 @@
2016-11-14 Uwe Schulzweida
* Cond: bug fix for ntsteps1 == 1 && ntsteps2 != 1
* Cond: bug fix for ntsteps1 == 1 && ntsteps2 != 1
2016-11-10 Uwe Schulzweida
......
......@@ -324,6 +324,7 @@ case "${HOSTNAME}" in
--program-suffix=-dev \
--enable-maintainer-mode \
--enable-data \
--with-magics \
--with-netcdf \
--with-hdf5 \
--with-szlib \
......@@ -333,7 +334,7 @@ case "${HOSTNAME}" in
--with-fftw3 \
--with-proj \
--with-pic \
CC=$COMP CFLAGS="-g -Wall -O3" LIBS="-lopenjpeg" LDFLAGS='-lelf -v'
CC=$COMP CPPFLAGS=-I/usr/include/magics CFLAGS="-g -Wall -O3" LIBS="-lopenjpeg" LDFLAGS='-lelf -v'
;;
g++|clang++)
case "$COMP" in
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for cdo 1.8.0rc5.
# Generated by GNU Autoconf 2.68 for cdo 1.8.0rc6.
#
# 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.0rc5'
PACKAGE_STRING='cdo 1.8.0rc5'
PACKAGE_VERSION='1.8.0rc6'
PACKAGE_STRING='cdo 1.8.0rc6'
PACKAGE_BUGREPORT='http://mpimet.mpg.de/cdo'
PACKAGE_URL=''
......@@ -1395,7 +1395,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.0rc5 to adapt to many kinds of systems.
\`configure' configures cdo 1.8.0rc6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1465,7 +1465,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of cdo 1.8.0rc5:";;
short | recursive ) echo "Configuration of cdo 1.8.0rc6:";;
esac
cat <<\_ACEOF
......@@ -1613,7 +1613,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
cdo configure 1.8.0rc5
cdo configure 1.8.0rc6
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
......@@ -2206,7 +2206,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.0rc5, which was
It was created by cdo $as_me 1.8.0rc6, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
......@@ -3155,7 +3155,7 @@ fi
# Define the identity of the package.
PACKAGE='cdo'
VERSION='1.8.0rc5'
VERSION='1.8.0rc6'
cat >>confdefs.h <<_ACEOF
......@@ -18942,7 +18942,19 @@ fi
if test "x$NC_CONFIG" != "x"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking netcdf's nc2 support" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking netcdf's OpenDAP support" >&5
$as_echo_n "checking netcdf's OpenDAP support... " >&6; }
if test "x$($NC_CONFIG --has-dap)" = "xyes"; then :
$as_echo "#define HAVE_LIBNC_DAP 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking netcdf's nc2 support" >&5
$as_echo_n "checking netcdf's nc2 support... " >&6; }
if test "x$($NC_CONFIG --has-nc2)" = "xyes"; then :
......@@ -19204,7 +19216,7 @@ for ac_lib in '' netcdf; do
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib -lhdf5_hl -lhdf5 $ac_func_search_save_LIBS"
LIBS="-l$ac_lib -lhdf5 $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_H5TS_mutex_lock=$ac_res
......@@ -21650,7 +21662,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.0rc5, which was
This file was extended by cdo $as_me 1.8.0rc6, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -21716,7 +21728,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.0rc5
cdo config.status 1.8.0rc6
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
......
......@@ -4,7 +4,7 @@
# autoconf 2.68
# libtool 2.4.2
AC_INIT([cdo], [1.8.0rc5], [http://mpimet.mpg.de/cdo])
AC_INIT([cdo], [1.8.0rc6], [http://mpimet.mpg.de/cdo])
AC_DEFINE_UNQUOTED(CDO, ["$PACKAGE_VERSION"], [CDO version])
......
......@@ -176,16 +176,16 @@ Keyword & Datatype & Description \\ \hline
\textbf{nvertex} & INTEGER & Number of the vertices for all grid cells. \\
\textbf{xbounds} & FLOAT ARRAY & X bounds of each gridbox. \\
\textbf{ybounds} & FLOAT ARRAY & Y bounds of each gridbox. \\
%xname & STRING & name of the x axis \\
%xlongname & STRING & longname of the x axis \\
%xunits & STRING & units of the x axis \\
%yname & STRING & name of the y axis \\
%ylongname & STRING & longname of the y axis \\
%yunits & STRING & units of the y axis \\
\textbf{xfirst, xinc} & FLOAT, FLOAT & Macros to define xvals with a constant increment, \\
& & xfirst is the x value of the first grid cell center. \\
\textbf{yfirst, yinc} & FLOAT, FLOAT & Macros to define yvals with a constant increment, \\
& & yfirst is the y value of the first grid cell center. \\
%xname & STRING & name of the x axis \\
%xlongname & STRING & longname of the x axis \\
\textbf{xunits} & STRING & units of the x axis \\
%yname & STRING & name of the y axis \\
%ylongname & STRING & longname of the y axis \\
\textbf{yunits} & STRING & units of the y axis \\
\end{tabular}
\vspace{4mm}
......@@ -213,27 +213,31 @@ with respect to the different grid types.
\vspace{2mm}
\hspace{2cm}
\begin{tabular}[c]{|>{\columncolor{pcolor1}}l|c|c|c|c|}
\begin{tabular}[c]{|>{\columncolor{pcolor1}}l|c|c|c|c|c|}
\hline
\rowcolor{pcolor1}
\cellcolor{pcolor2}
gridtype & lonlat & gaussian & curvilinear & unstructured \\
gridtype & lonlat & gaussian & projection &curvilinear & unstructured \\
\hline
gridsize & xsize*ysize & xsize*ysize & xsize*ysize & xsize*ysize & \textbf{ncell} \\
\hline
xsize & \textbf{nlon} & \textbf{nlon} & \textbf{nx} & \textbf{nlon} & gridsize \\
\hline
gridsize & xsize*ysize & xsize*ysize & xsize*ysize & \textbf{ncell} \\
ysize & \textbf{nlat} & \textbf{nlat} & \textbf{ny} & \textbf{nlat} & gridsize \\
\hline
xsize & \textbf{nlon} & \textbf{nlon} & \textbf{nlon} & gridsize \\
xvals & xsize & xsize & xsize & gridsize & gridsize \\
\hline
ysize & \textbf{nlat} & \textbf{nlat} & \textbf{nlat} & gridsize \\
yvals & ysize & ysize & ysize & gridsize & gridsize \\
\hline
xvals & xsize & xsize & gridsize & gridsize \\
nvertex & 2 & 2 & 2 & 4 & \textbf{nv} \\
\hline
yvals & ysize & ysize & gridsize & gridsize \\
xbounds & 2*xsize & 2*xsize & 2*xsize & 4*gridsize & nv*gridsize \\
\hline
nvertex & 2 & 2 & 4 & \textbf{nv} \\
ybounds & 2*ysize & 2*ysize & 2*xsize & 4*gridsize & nv*gridsize \\
\hline
xbounds & 2*xsize & 2*xsize & 4*gridsize & nv*gridsize \\
xunits & degrees & degrees & m & degrees & degrees \\
\hline
ybounds & 2*ysize & 2*ysize & 4*gridsize & nv*gridsize \\
yunits & degrees & degrees & m & degrees & degrees \\
\hline
%xname & & & & \\
%\hline
......@@ -292,22 +296,25 @@ The grid cell corners xbounds and ybounds have to rotate counterclockwise.
% As far as you define the keywords xnpole/ynpole all coordinate values
% are for the rotated system.
% \vspace{2mm}
\vspace{2mm}
% %\begin{minipage}[t]{\textwidth}
% {\CDO} grid description example of a regional rotated lon/lat grid:
% \begin{lstlisting}[frame=single, backgroundcolor=\color{pcolor1}, basicstyle=\footnotesize]
% gridtype = lonlat
% xsize = 81
% ysize = 91
% xfirst = -19.5
% xinc = 0.5
% yfirst = -25.0
% yinc = 0.5
% xnpole = -170
% ynpole = 32.5
% \end{lstlisting}
% %\end{minipage}
%\begin{minipage}[t]{\textwidth}
{\CDO} grid description example of a regional rotated lon/lat grid:
\begin{lstlisting}[frame=single, backgroundcolor=\color{pcolor1}, basicstyle=\footnotesize]
gridtype = projection
xsize = 81
ysize = 91
xunits = "degrees"
yunits = "degrees"
xfirst = -19.5
xinc = 0.5
yfirst = -25.0
yinc = 0.5
grid_mapping_name = rotated_latitude_longitude
grid_north_pole_longitude = -170
grid_north_pole_latitude = 32.5
\end{lstlisting}
%\end{minipage}
Example {\CDO} descriptions of a curvilinear and an unstructured grid can be found
in \htmlref{Appendix C}{appendixgrid}.
......
......@@ -12,16 +12,19 @@ This module calculates the time series of the principal coefficients for given E
(empirical orthogonal functions) and data. Time steps in @file{ifile1} are assumed to be the EOFs,
time steps in @file{ifile2} are assumed to be the time series.
@C Weights are taken into account, which is why EOF output is @bold{not} weighted.
Note, that this operator calculates a weighted dot product of the fields in @file{ifile1} and @file{ifile2}.
Note, that this operator calculates a non weighted dot product of the fields in @file{ifile1} and @file{ifile2}.
For consistency set the environment variable @env{CDO_WEIGHT_MODE=off} when using @mod{eof} or @mod{eof3d}.
@IfDoc
Given a set of EOFs @math{e_j} and a time series of data @math{z(t)}
with @math{p} entries for each timestep from which @math{e_j} have been calculated, this
operator calculates the time series of the projections of data onto each EOF
@C @BeginDisplayMath
@C o_j(t) = \sum_{x=1}^{p} W(x,x) z(t,x)e_j(x)
@C @EndDisplayMath
@C where @math{W} is the diagonal matrix containing area weights as above.
@BeginDisplayMath
o_j(t) = \sum_{x=1}^{p} W(x,x) z(t,x)e_j(x)
o_j(t) = \sum_{x=1}^{p} z(t,x)e_j(x)
@EndDisplayMath
where @math{W} is the diagonal matrix containing area weights as above.
There will be a seperate file @math{o_j} for the principal coefficients of each EOF.
As the EOFs @math{e_j} are uncorrelated, so are their principal coefficients, i.e.
......
......@@ -132,6 +132,10 @@ AC_ARG_WITH([netcdf],
NETCDF_LIBS=" -lnetcdf"
AC_CHECK_PROG(NC_CONFIG,nc-config,nc-config)
AS_IF([test "x$NC_CONFIG" != "x"],
[AC_MSG_CHECKING([netcdf's OpenDAP support])
AS_IF([test "x$($NC_CONFIG --has-dap)" = "xyes"],
[AC_DEFINE([HAVE_LIBNC_DAP],[1],[Define to 1 for NetCDF OpenDAP])
AC_MSG_RESULT([yes])],[AC_MSG_RESULT([no])])]
[AC_MSG_CHECKING([netcdf's nc2 support])
AS_IF([test "x$($NC_CONFIG --has-nc2)" = "xyes"],
[AC_DEFINE([HAVE_NETCDF2],[1],[Define to 1 for NetCDF2 support])
......@@ -189,8 +193,7 @@ AC_ARG_WITH([netcdf],
AS_IF([test "x$ENABLE_NC4HDF5" = "xyes"],
[AC_SEARCH_LIBS([H5TS_mutex_lock], [netcdf],
[AC_DEFINE([HAVE_NC4HDF5_THREADSAFE],[1],[Define to 1 for NetCDF4/HDF5 threadsafe support])],,
[-lhdf5_hl -lhdf5])])
[AC_DEFINE([HAVE_NC4HDF5_THREADSAFE],[1],[Define to 1 for NetCDF4/HDF5 threadsafe support])],,[-lhdf5])])
AC_SUBST([ENABLE_NETCDF])
AC_SUBST([ENABLE_NC2])
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.m1pg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.m1pg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......@@ -50,7 +50,7 @@ const char *datatypestr(int datatype)
snprintf(str, sizeof(str), "%d bit packed", datatype);
if ( datatype == CDI_DATATYPE_PACK ) return ("P0");
else if ( datatype > 0 && datatype <= 32 ) return (str);
else if ( datatype > 0 && datatype <= 32 ) return (str);
else if ( datatype == CDI_DATATYPE_CPX32 ) return ("C32");
else if ( datatype == CDI_DATATYPE_CPX64 ) return ("C64");
else if ( datatype == CDI_DATATYPE_FLT32 ) return ("32 bit floats");
......@@ -61,18 +61,16 @@ const char *datatypestr(int datatype)
else if ( datatype == CDI_DATATYPE_UINT8 ) return ("U8");
else if ( datatype == CDI_DATATYPE_UINT16 ) return ("U16");
else if ( datatype == CDI_DATATYPE_UINT32 ) return ("U32");
else return ("");
else return ("");
}
static
void print_stat(const char *sinfo, int memtype, int datatype, int filetype, off_t nvalues, double data_size, double file_size, double tw)
{
double rout;
nvalues /= 1000000;
data_size /= 1024.*1024.*1024.;
rout = 0;
double rout = 0;
if ( tw > 0 ) rout = nvalues/tw;
if ( memtype == MEMTYPE_FLOAT )
......@@ -223,6 +221,7 @@ void *CDIwrite(void *argument)
filetype = streamInqFiletype(streamID);
datatype = vlistInqVarDatatype(vlistID, 0);
if ( datatype == CDI_UNDEFID ) datatype = CDI_DATATYPE_FLT32;
julday = date_to_julday(CALENDAR_PROLEPTIC, 19870101);
......
......@@ -459,7 +459,7 @@ static void register_cmor_grid(int gridID, int *axis_ids, int *cmor_grid_id)
static void register_cmor_grid_mapping(int projID, int cmor_grid_id)
{
char grid_mapping[CDI_MAX_NAME] = "";
cdiGridInqKeyStr(projID, CDI_KEY_MAPPING, CDI_MAX_NAME, grid_mapping);
cdiGridInqKeyStr(projID, CDI_KEY_MAPNAME, CDI_MAX_NAME, grid_mapping);
if ( grid_mapping[0] )
{
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
Copyright (C) 2003-2017 Uwe Schulzweida, <uwe.schulzweida AT mpimet.mpg.de>
See COPYING file for copying and redistribution conditions.
This program is free software; you can redistribute it and/or modify
......
......@@ -2,7 +2,7 @@
This file is part of CDO. CDO is a collection of Operators to
manipulate and analyse Climate model Data.
Copyright (C) 2003-2016 Uwe Schulzweida, <uwe