Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
5b482c1e
Commit
5b482c1e
authored
Nov 07, 2017
by
Fabian Wachsmann
Browse files
Merge branch 'develop' into cmor3
parents
cfb5f66d
8ad4f10b
Changes
186
Expand all
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
5b482c1e
2017-11-23 Uwe Schulzweida
* Using CDI library version 1.9.2
* Version 1.9.2 release
2017-11-02 Uwe Schulzweida
* expr: nesting of ?: operator lost in cdo-1.9.1 [Bug #7992]
2017-10-26 Uwe Schulzweida
* select with start=end range aborts with 'Invalid character' [Bug #7976]
2017-10-25 Uwe Schulzweida
* Expr: convert constant parameter to float for 32-bit float data (bug fix)
* Condc: convert constant parameter to float for 32-bit float data (bug fix)
* Cond: convert data to float for 32-bit float data (bug fix)
2017-10-23 Uwe Schulzweida
* Added operator uv2vr_cfd: U and V wind to relative vorticity (interface to NCL)
* Added operator uv2dv_cfd: U and V wind to divergence (interface to NCL)
* gengrid: bug fix
2017-10-20 Uwe Schulzweida
* Ydaystat: don't adjust the output year if the last input year is incomplete (bug fix)
2017-10-08 Uwe Schulzweida
* changed type of nmiss to size_t
...
...
Makefile.am
View file @
5b482c1e
# Process this file with automake to produce Makefile.in
SUBDIRS
=
libcdi src contrib
test
/data
test
SUBDIRS
=
libcdi
src/lib/ncl
src contrib
test
/data
test
#
EXTRA_DIST
=
config/default OPERATORS doc/cdo.pdf doc/cdo_cmor.pdf doc/cdo_eca.pdf doc/cdo_magics.pdf doc/cdo_refcard.pdf cdo.spec README
#
...
...
Makefile.in
View file @
5b482c1e
...
...
@@ -92,7 +92,9 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)
/config/missing
\
$(top_srcdir)
/config/tap-driver.sh
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/acx_options.m4
\
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/acx_cfortran_flags.m4
\
$(top_srcdir)
/m4/acx_check_cfortran.m4
\
$(top_srcdir)
/m4/acx_options.m4
\
$(top_srcdir)
/m4/ax_cxx_compile_stdcxx.m4
\
$(top_srcdir)
/m4/ax_cxx_compile_stdcxx_11.m4
\
$(top_srcdir)
/m4/ax_pthread.m4
$(top_srcdir)
/m4/libtool.m4
\
...
...
@@ -246,18 +248,22 @@ ENABLE_CDI_LIB = @ENABLE_CDI_LIB@
ENABLE_CGRIBEX
=
@ENABLE_CGRIBEX@
ENABLE_DATA
=
@ENABLE_DATA@
ENABLE_EXTRA
=
@ENABLE_EXTRA@
ENABLE_FORTRAN
=
@ENABLE_FORTRAN@
ENABLE_GRIB
=
@ENABLE_GRIB@
ENABLE_GRIBAPI
=
@ENABLE_GRIBAPI@
ENABLE_IEG
=
@ENABLE_IEG@
ENABLE_NC2
=
@ENABLE_NC2@
ENABLE_NC4
=
@ENABLE_NC4@
ENABLE_NC4HDF5
=
@ENABLE_NC4HDF5@
ENABLE_NEARPT3
=
@ENABLE_NEARPT3@
ENABLE_NETCDF
=
@ENABLE_NETCDF@
ENABLE_SERVICE
=
@ENABLE_SERVICE@
ENABLE_THREADS
=
@ENABLE_THREADS@
EXEEXT
=
@EXEEXT@
FCFLAGS
=
@FCFLAGS@
F77
=
@F77@
FFLAGS
=
@FFLAGS@
FGREP
=
@FGREP@
FORTRAN_WORKS
=
@FORTRAN_WORKS@
GREP
=
@GREP@
GRIB_API_INCLUDE
=
@GRIB_API_INCLUDE@
GRIB_API_LIBS
=
@GRIB_API_LIBS@
...
...
@@ -333,6 +339,7 @@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC
=
@ac_ct_CC@
ac_ct_CXX
=
@ac_ct_CXX@
ac_ct_DUMPBIN
=
@ac_ct_DUMPBIN@
ac_ct_F77
=
@ac_ct_F77@
am__include
=
@am__include@
am__leading_dot
=
@am__leading_dot@
am__quote
=
@am__quote@
...
...
@@ -382,7 +389,7 @@ top_builddir = @top_builddir@
top_srcdir
=
@top_srcdir@
# Process this file with automake to produce Makefile.in
SUBDIRS
=
libcdi src contrib
test
/data
test
SUBDIRS
=
libcdi
src/lib/ncl
src contrib
test
/data
test
#
EXTRA_DIST
=
config/default OPERATORS doc/cdo.pdf doc/cdo_cmor.pdf doc/cdo_eca.pdf doc/cdo_magics.pdf doc/cdo_refcard.pdf cdo.spec README
#
...
...
NEWS
View file @
5b482c1e
CDO NEWS
--------
Version 1.9.2 (23 November 2017):
Fixed bugs:
* sign of grid size increment changes [Bug #7974]
* compilation fails on OpenBSD [Bug #7961]
* expr: nesting of ?: operator lost in cdo-1.9.1 [Bug #7992]
* select with start=end range aborts with 'Invalid character' [Bug #7976]
Version 1.9.1 (27 September 2017):
New features:
...
...
OPERATORS
View file @
5b482c1e
...
...
@@ -582,6 +582,11 @@ Operator catalog:
Strgal strgal Strong gale days index per time period
Hurr hurr Hurricane days index per time period
CMORlite cmorlite CMOR lite
-------------------------------------------------------------
NCL
-------------------------------------------------------------
NCL_wind uv2vr_cfd U and V wind to relative vorticity
NCL_wind uv2dv_cfd U and V wind to divergence
-------------------------------------------------------------
CMOR
-------------------------------------------------------------
...
...
aclocal.m4
View file @
5b482c1e
...
...
@@ -1243,6 +1243,8 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/acx_cfortran_flags.m4])
m4_include([m4/acx_check_cfortran.m4])
m4_include([m4/acx_options.m4])
m4_include([m4/ax_cxx_compile_stdcxx.m4])
m4_include([m4/ax_cxx_compile_stdcxx_11.m4])
...
...
cdo.settings.in
View file @
5b482c1e
{
"CXX" : "@CXX@",
"CC" : "@CC@",
"CPP" : "@CPP@",
"CPPFLAGS" : "@CPPFLAGS@",
"CXXFLAGS" : "@CXXFLAGS@",
"CFLAGS" : "@CFLAGS@",
"LDFLAGS" : "@LDFLAGS@",
"LIBS" : "@LIBS@",
"FCFLAGS" : "@FCFLAGS@",
"INCLUDES" : "@INCLUDES@",
"LD" : "@LD@",
"NM" : "@NM@",
"AR" : "@AR@",
"AS" : "@AS@",
"DLLTOOL" : "@DLLTOOL@",
"OBJDUMP" : "@OBJDUMP@",
"STRIP" : "@STRIP@",
"RANLIB" : "@RANLIB@",
"INSTALL" : "@INSTALL@",
"cdi" : {
"enable_cdi_lib" : @ENABLE_CDI_LIB@
},
"threads" : {
"lib" : "@THREADS_LIBS@",
"include" : "@THREADS_INCLUDE@"
"szlib" : {
"lib" : "@SZLIB_LIBS@",
"include" : "@SZLIB_INCLUDE@"
"build" : {
"tools" : {
"CXX" : "@CXX@",
"CC" : "@CC@",
"CPP" : "@CPP@",
"CPPFLAGS" : "@CPPFLAGS@",
"CXXFLAGS" : "@CXXFLAGS@",
"CFLAGS" : "@CFLAGS@",
"F77" : "@F77@",
"FFLAGS" : "@FFLAGS@",
"LDFLAGS" : "@LDFLAGS@",
"LIBS" : "@LIBS@",
"FCFLAGS" : "@FCFLAGS@",
"INCLUDES" : "@INCLUDES@",
"LD" : "@LD@",
"NM" : "@NM@",
"AR" : "@AR@",
"AS" : "@AS@",
"DLLTOOL" : "@DLLTOOL@",
"OBJDUMP" : "@OBJDUMP@",
"STRIP" : "@STRIP@",
"RANLIB" : "@RANLIB@",
"INSTALL" : "@INSTALL@",
},
"libraries" : {
"threads" : {
"lib" : "@THREADS_LIBS@",
"include" : "@THREADS_INCLUDE@"
},
"szlib" : {
"lib" : "@SZLIB_LIBS@",
"include" : "@SZLIB_INCLUDE@"
},
"hdf5" : {
"lib" : "@HDF5_LIBS@",
"include" : "@HDF5_INCLUDE@"
},
"netcdf" : {
"lib" : "@NETCDF_LIBS@",
"include" : "@NETCDF_INCLUDE@"
},
"udunits2" : {
"lib" : "@UDUNITS_LDFLAGS@",
"include" : "@UDUNITS_INCLUDE@"
},
"proj" : {
"lib" : "@PROJ_LDFLAGS@",
"include" : "@PROJ_INCLUDE@"
},
"magics" : {
"lib" : "@MAGICS_LIBS@",
"include" : "@MAGICS_INCLUDE@"
}
},
"platform" : {
"USER_NAME" : "@USER_NAME@",
"HOST_NAME" : "@HOST_NAME@",
"SYSTEM_TYPE" : "@SYSTEM_TYPE@"
},
},
"hdf5" : {
"lib" : "@HDF5_LIBS@",
"include" : "@HDF5_INCLUDE@"
},
"netcdf" : {
"lib" : "@NETCDF_LIBS@",
"include" : "@NETCDF_INCLUDE@"
},
"udunits2" : {
"lib" : "@UDUNITS_LDFLAGS@",
"include" : "@UDUNITS_INCLUDE@"
},
"proj" : {
"lib" : "@PROJ_LDFLAGS@",
"include" : "@PROJ_INCLUDE@"
},
"magics" : {
"lib" : "@MAGICS_LIBS@",
"include" : "@MAGICS_INCLUDE@"
},
"USER_NAME" : "@USER_NAME@",
"HOST_NAME" : "@HOST_NAME@",
"SYSTEM_TYPE" : "@SYSTEM_TYPE@"
"features" : {
"enable_cdi_lib" : @ENABLE_CDI_LIB@,
"enable_data" : @ENABLE_DATA@,
"enable_fortran" : @ENABLE_FORTRAN@,
"fortran_works" : "@FORTRAN_WORKS@",
}
}
config/default
View file @
5b482c1e
...
...
@@ -128,8 +128,9 @@ case "${HOSTNAME}" in
${
CONFPATH
}
configure
--prefix
=
$HOME
/local
\
--enable-maintainer-mode
\
$CDOLIBS
LDFLAGS
=
"-Wl,-rpath,
$HOME
/local/eccodes-2.3.0/lib"
\
CXX
=
g++
CXXFLAGS
=
"-g -pipe -Wall -W -Wfloat-equal -pedantic -O3 -march=native -Wa,-q -fstack-protector"
\
CC
=
gcc
CFLAGS
=
"-g -pipe -Wall -W -Wfloat-equal -pedantic -O3 -march=native -Wa,-q -fstack-protector"
F77
=
gfortran
FFLAGS
=
"-g -O2"
\
CXX
=
g++
CXXFLAGS
=
"-g -pipe -Wall -W -Wfloat-equal -pedantic -O3 -fstack-protector"
\
CC
=
gcc
CFLAGS
=
"-g -pipe -Wall -W -Wfloat-equal -pedantic -O3 -fstack-protector"
# --with-libxml2=/usr \
# --with-magics=/Users/m214003/local/Magics-2.18.14nio \
fi
...
...
@@ -232,6 +233,7 @@ case "${HOSTNAME}" in
--with-fftw3
\
$CDOLIBS
\
LDFLAGS
=
"-Wl,-rpath,/sw/rhel6-x64/eccodes/eccodes-2.3.0-gcc48/lib"
\
F77
=
ifort
FFLAGS
=
"-g -O2"
\
CXX
=
icpc
CXXFLAGS
=
"-g -Wall -O2 -qopt-report=5 -march=core-avx2"
\
CC
=
icc
CFLAGS
=
"-g -Wall -O2 -qopt-report=5 -march=core-avx2"
elif
test
"
$COMP
"
=
pgi
;
then
...
...
@@ -245,6 +247,7 @@ case "${HOSTNAME}" in
--with-fftw3
\
$CDOLIBS
\
LDFLAGS
=
"-Wl,-rpath,/sw/rhel6-x64/eccodes/eccodes-2.3.0-gcc48/lib"
\
F77
=
gfortran
FFLAGS
=
"-g -O2"
\
CXX
=
g++
CXXFLAGS
=
'-g -Wall -O3 -march=native -mavx2'
\
CC
=
gcc
CFLAGS
=
'-g -Wall -O3 -march=native -mavx2'
fi
...
...
configure
View file @
5b482c1e
This diff is collapsed.
Click to expand it.
configure.ac
View file @
5b482c1e
...
...
@@ -34,6 +34,7 @@ AC_CHECK_TOOL([CXX],[g++],[:])
AC_PROG_CC_C99
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_F77
AC_C_RESTRICT
AX_CXX_COMPILE_STDCXX_11
AC_OPENMP
...
...
@@ -51,6 +52,7 @@ AC_PROG_INSTALL
#
FC=no
export FC
#
# ----------------------------------------------------------------------
# Check large file support on 32 bit system
AC_SYS_LARGEFILE
...
...
@@ -104,12 +106,21 @@ case "$CC" in
*) C_VERSION=`$CC -V 2>&1 | head -n 1 | grep -v error`;;
esac
case "$F77" in
pgf*) F77_VERSION=`$F77 -V | head -2 | tail -n 1`;;
gfortran*) F77_VERSION=`$F77 --version | head -n 1`;;
*) F77_VERSION=`$F77 -V 2>&1 | head -n 1 | grep -v error`;;
esac
if test -z "$CXX_VERSION" ; then CXX_VERSION="unknown"; fi;
AC_DEFINE_UNQUOTED(CXX_VERSION, ["$CXX_VERSION"], [CXX Compiler version])
if test -z "$C_VERSION" ; then C_VERSION="unknown"; fi;
AC_DEFINE_UNQUOTED(C_VERSION, ["$C_VERSION"], [C Compiler version])
if test -z "$F77_VERSION" ; then F77_VERSION="unknown"; fi;
AC_DEFINE_UNQUOTED(F77_VERSION, ["$F77_VERSION"], [F77 Compiler version])
# Checks for username, hostname and system type
USERNAME=$LOGNAME
if test -z "$USERNAME" ; then USERNAME=$USER; fi;
...
...
@@ -138,16 +149,50 @@ AC_CHECK_FUNCS(sqrtl)
AC_CHECK_FUNCS(feenableexcept)
#
AC_CHECK_MEMBERS([fenv_t.__control, fenv_t.__mxcsr],,,[[#include <fenv.h>]])
# ----------------------------------------------------------------------
# Create the Interface to Fortran77 routines via cfortran.h
AC_ARG_ENABLE([fortran],
[AS_HELP_STRING([--disable-fortran],
[Omit building of Fortran routines])],
[enable_fortran=${enableval}],[enable_fortran=yes])
AS_IF([test "x${enable_fortran}" = "xyes"], [
dnl ######################################################################
dnl Test whether cfortran.h works correctly
dnl ######################################################################
ACX_FIND_CFORTRAN_DEF
ACX_XLF_QEXTNAME_ADD_APPENDUS
AS_IF([test -n "$F77" -a X"$F77" != Xno],
[ACX_CHECK_CFORTRAN([$srcdir/src],
[AC_DEFINE([HAVE_CF_INTERFACE],[1],
[Defined to 1 if C / Fortran interface cfortran.h works])],
[AS_CASE([x"$acx_cv_cfortran_works"],
[x"error"],
[AC_MSG_NOTICE([Linking/Running with C EXTERNAL built with cfortran.h does not work!])],
[x"compiling with cfortran.h failed"],
[AC_MSG_NOTICE([Compilation with cfortran.h is not working!])],
[x"error compiling Fortran subroutine"],
[AC_MSG_NOTICE([compilation of simple Fortran source failed!])],
[AC_MSG_NOTICE([Unexpected error when linking C and Fortran via cfortran.h!])])
AC_MSG_NOTICE([Disabling cfortran.h bindings generation])
acx_cv_cfortran_works=no])])
])
AS_IF([test x$enable_fortran = 'xno'],[AC_SUBST([ENABLE_FORTRAN],[false])],[AC_SUBST([ENABLE_FORTRAN],[true])])
#
AM_CONDITIONAL([USE_F77],[test -n "$F77" -a X"$F77" != Xno -a x"$acx_cv_cfortran_works" = xyes])
AS_IF([test x$acx_cv_cfortran_works = 'xno'],[AC_SUBST([FORTRAN_WORKS],[no])],[AC_SUBST([FORTRAN_WORKS],[yes])])
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Enable NEARPT3 support
#
AC_MSG_CHECKING([for nearpt3 support])
#
AC_ARG_ENABLE([nearpt3], AS_HELP_STRING([--enable-nearpt3],[nearpt3 support [default=no]]))
#
AS_IF([test "x$enable_nearpt3" = "xyes"], [
#
AC_DEFINE(ENABLE_NEARPT3, [1], [Define to 1 for nearpt3 support])
#
])
#
AC_MSG_RESULT([$enable_nearpt3])
#
AC_SUBST([ENABLE_NEARPT3],[$enable_nearpt3])
#
AM_CONDITIONAL([ENABLE_NEARPT3],[test x$enable_nearpt3 = 'xyes'])
AC_MSG_CHECKING([for nearpt3 support])
AC_ARG_ENABLE([nearpt3], AS_HELP_STRING([--enable-nearpt3],[nearpt3 support [default=no]]))
AS_IF([test "x$enable_nearpt3" = "xyes"], [
AC_DEFINE(ENABLE_NEARPT3, [1], [Define to 1 for nearpt3 support])
])
AC_MSG_RESULT([$enable_nearpt3])
AC_SUBST([ENABLE_NEARPT3],[$enable_nearpt3])
AM_CONDITIONAL([ENABLE_NEARPT3],[test x$enable_nearpt3 = 'xyes'])
# ----------------------------------------------------------------------
# Enable DATA support
AC_MSG_CHECKING([for DATA support])
...
...
@@ -156,7 +201,7 @@ AS_IF([test "x$enable_data" != 'xno'], [
AC_DEFINE(ENABLE_DATA, [1], [Define to 1 for DATA support])
])
AC_MSG_RESULT([$enable_data])
A
C_SUBST([ENABLE_DATA],[$enable_data
])
A
S_IF([test x$enable_data = 'xno'],[AC_SUBST([ENABLE_DATA],[false])],[AC_SUBST([ENABLE_DATA],[true])
])
# ----------------------------------------------------------------------
CFLAGS="$CFLAGS ${OPENMP_CFLAGS}"
CXXFLAGS="$CXXFLAGS ${OPENMP_CFLAGS}"
...
...
@@ -165,8 +210,6 @@ CXXFLAGS="$CXXFLAGS ${OPENMP_CFLAGS}"
# Add configure options
ACX_OPTIONS
# ----------------------------------------------------------------------
# configure code from valgrind
# does the x86/amd64 assembler understand SSE 4.2 instructions?
...
...
@@ -242,7 +285,7 @@ AM_CONDITIONAL(BUILD_AVX2_TESTS, test x$ac_have_as_avx2 = xyes)
# ----------------------------------------------------------------------
AC_SUBST([CXXFLAGS])
AC_SUBST([CPPFLAGS])
AC_SUBST([F
C
FLAGS])
AC_SUBST([FFLAGS])
AC_SUBST([CLDFLAGS])
AC_SUBST([CLIBS])
#AC_SUBST([INCLUDES])
...
...
@@ -254,6 +297,8 @@ C_COMPILER="$CC $CFLAGS"
AC_DEFINE_UNQUOTED(C_COMPILER, ["$C_COMPILER"], [C Compiler])
CXX_COMPILER="$CXX $CXXFLAGS"
AC_DEFINE_UNQUOTED(CXX_COMPILER, ["$CXX_COMPILER"], [CXX Compiler])
F77_COMPILER="$F77 $FFLAGS"
AC_DEFINE_UNQUOTED(F77_COMPILER, ["$F77_COMPILER"], [F77 Compiler])
AC_REQUIRE_AUX_FILE([tap-driver.sh])
AC_PROG_AWK
...
...
@@ -268,7 +313,7 @@ AC_CONFIG_FILES([test/Merstat.test test/Zonstat.test test/Mergetime.test],[chmod
AC_CONFIG_FILES([test/Afterburner.test test/Detrend.test test/Arithc.test test/Arith.test test/Expr.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/Gradsdes.test test/Collgrid.test test/threads.test test/tsformat.test test/wildcard.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([test/MapReduce.test test/Ninfo.test],[chmod a+x "$ac_file"])
AC_CONFIG_FILES([Makefile src/Makefile contrib/Makefile test/Makefile test/data/Makefile cdo.spec cdo.settings])
AC_CONFIG_FILES([Makefile
src/lib/ncl/Makefile
src/Makefile contrib/Makefile test/Makefile test/data/Makefile cdo.spec cdo.settings])
AC_OUTPUT
# ----------------------------------------------------------------------
...
...
contrib/Makefile.in
View file @
5b482c1e
...
...
@@ -81,7 +81,9 @@ subdir = contrib
DIST_COMMON
=
$(srcdir)
/Makefile.in
$(srcdir)
/Makefile.am
\
$(top_srcdir)
/config/mkinstalldirs COPYING
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/acx_options.m4
\
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/acx_cfortran_flags.m4
\
$(top_srcdir)
/m4/acx_check_cfortran.m4
\
$(top_srcdir)
/m4/acx_options.m4
\
$(top_srcdir)
/m4/ax_cxx_compile_stdcxx.m4
\
$(top_srcdir)
/m4/ax_cxx_compile_stdcxx_11.m4
\
$(top_srcdir)
/m4/ax_pthread.m4
$(top_srcdir)
/m4/libtool.m4
\
...
...
@@ -156,18 +158,22 @@ ENABLE_CDI_LIB = @ENABLE_CDI_LIB@
ENABLE_CGRIBEX
=
@ENABLE_CGRIBEX@
ENABLE_DATA
=
@ENABLE_DATA@
ENABLE_EXTRA
=
@ENABLE_EXTRA@
ENABLE_FORTRAN
=
@ENABLE_FORTRAN@
ENABLE_GRIB
=
@ENABLE_GRIB@
ENABLE_GRIBAPI
=
@ENABLE_GRIBAPI@
ENABLE_IEG
=
@ENABLE_IEG@
ENABLE_NC2
=
@ENABLE_NC2@
ENABLE_NC4
=
@ENABLE_NC4@
ENABLE_NC4HDF5
=
@ENABLE_NC4HDF5@
ENABLE_NEARPT3
=
@ENABLE_NEARPT3@
ENABLE_NETCDF
=
@ENABLE_NETCDF@
ENABLE_SERVICE
=
@ENABLE_SERVICE@
ENABLE_THREADS
=
@ENABLE_THREADS@
EXEEXT
=
@EXEEXT@
FCFLAGS
=
@FCFLAGS@
F77
=
@F77@
FFLAGS
=
@FFLAGS@
FGREP
=
@FGREP@
FORTRAN_WORKS
=
@FORTRAN_WORKS@
GREP
=
@GREP@
GRIB_API_INCLUDE
=
@GRIB_API_INCLUDE@
GRIB_API_LIBS
=
@GRIB_API_LIBS@
...
...
@@ -243,6 +249,7 @@ ac_ct_AR = @ac_ct_AR@
ac_ct_CC
=
@ac_ct_CC@
ac_ct_CXX
=
@ac_ct_CXX@
ac_ct_DUMPBIN
=
@ac_ct_DUMPBIN@
ac_ct_F77
=
@ac_ct_F77@
am__include
=
@am__include@
am__leading_dot
=
@am__leading_dot@
am__quote
=
@am__quote@
...
...
doc/tex/Modules
View file @
5b482c1e
...
...
@@ -148,6 +148,7 @@ Strbre Miscellaneous
Strgal Miscellaneous
Hurr Miscellaneous
CMORlite Miscellaneous
NCL_wind NCL
CMOR CMOR
Magplot Magics
Magvector Magics
...
...
doc/tex/cdo.tex
View file @
5b482c1e
...
...
@@ -198,7 +198,7 @@ keepaspectratio]{cdo_libdep.pdf}}%
\end{picture}
\begin{flushright}
\large
\textbf
{
Climate Data Operators
\\
Version 1.9.
1
\\
Octo
ber 2017
}
\large
\textbf
{
Climate Data Operators
\\
Version 1.9.
2
\\
Novem
ber 2017
}
\end{flushright}
\vfill
...
...
doc/tex/cdoprog.tex
View file @
5b482c1e
...
...
@@ -14,7 +14,7 @@
\put
(0,0.0)
{
\line
(1,0)
{
3.95
}}
\end{picture}
\begin{flushright}
{
\small
{
Climate Data Operators
\\
Version 1.9.
1
\\
Octo
ber 2017
}}
{
\small
{
Climate Data Operators
\\
Version 1.9.
2
\\
Novem
ber 2017
}}
\end{flushright}
\vspace*
{
0mm
}
...
...
doc/tex/grid.tex
View file @
5b482c1e
...
...
@@ -298,6 +298,31 @@ The grid cell corners xbounds and ybounds have to rotate counterclockwise.
\vspace
{
2mm
}
The description for a projection is somewhat more complicated.
Use the first section to describe the coordinates of the projection with the above keywords.
Add the keyword
\textbf
{
grid
\_
mapping
\_
name
}
to descibe the mapping between the given coordinates and the true
latitude and longitude coordinates.
\textbf
{
grid
\_
mapping
\_
name
}
takes a string
value that contains the name of the projection. A list of attributes can be added to define the mapping.
The name of the attributes depend on the projection. The valid names
of the projection and there attributes follow the NetCDF CF-Convention.
{
\CDO
}
supports the special grid mapping attribute
\textbf
{
proj4
\_
params
}
.
These parameter will be passed directly to the proj4 library to
generate the geographic coordinates if needed.
The geographic coordinates of the following projections can be
generated without the attribute
\textbf
{
proj4
\_
params
}
, if all other
attributes are available:
\begin{itemize}
\item
\textbf
{
rotated
\_
latitude
\_
longitude
}
\item
\textbf
{
lambert
\_
conformal
\_
conic
}
\item
\textbf
{
lambert
\_
azimuthal
\_
equal
\_
area
}
\item
\textbf
{
sinusoidal
}
\end{itemize}
\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
]
...
...
doc/tex/makedoc
View file @
5b482c1e
...
...
@@ -264,7 +264,7 @@ while (<MOFILE>) {
print
TRLIST
"
Here is a short overview of all operators in this section:
\\\\\n
";
print
TRLIST
"
\n
";
if
(
$shortname
ne
"
climat
"
&&
$shortname
ne
"
magics
"
&&
$shortname
ne
"
cmor
"
)
{
if
(
$shortname
ne
"
climat
"
&&
$shortname
ne
"
magics
"
&&
$shortname
ne
"
cmor
"
&&
$shortname
ne
"
ncl
"
)
{
print
TROVER
"
\\
newpage
\n
";
print
TROVER
"
\\
section{
$chap
}
\n
";
print
TROVER
"
\\
input{ref_intro_
${shortname}
}
\n
";
...
...
@@ -476,9 +476,15 @@ while (<MOFILE>) {
if
(
index
(
$tag
,
"
[
")
==
0
)
{
$nopt
++
;
$x1
=
1
;
$len
=
$len
-
2
;
$len
=
$len
-
1
;
$oparameter
=
"
$oparameter
\
[
";
}
if
(
$x1
==
1
&&
index
(
$tag
,
"
]
")
==
$len
)
{
$len
=
$len
-
1
;
}
if
(
$x1
==
0
&&
index
(
$tag
,
"
]
")
==
$len
-
1
)
{
$len
=
$len
-
1
;
}
$otag
=
substr
$tag
,
$x1
,
$len
;
$oparameter
=
"
$oparameter
,
$otag
";
}
...
...
doc/tex/mod/CMOR
View file @
5b482c1e
...
...
@@ -35,7 +35,7 @@ If questions remain, do not hesitate to ask and send an email to wachsmannATdkrz
@BeginOperator_cmor
@Title = Climate Model Output Rewriting
@Parameter = MIPtable [cmor_name=VarList
,
[key=value
,
...]
]
@Parameter = MIPtable [cmor_name=VarList
]
[key=value
] [
...]
@EndOperator
...
...
doc/tex/mod/Exprf
View file @
5b482c1e
...
...
@@ -55,6 +55,8 @@ Absolute value of x
Round to largest integral value not greater than x
@Item = ceil(x)
Round to smallest integral value not less than x
@Item = float(x)
32-bit float value of x
@Item = int(x)
Integer value of x
@Item = nint(x)
...
...
doc/tex/mod/MapReduce
View file @
5b482c1e
...
...
@@ -20,7 +20,7 @@ coordinates a completely suppressed.
@Name = reducegrid
@Title = Reduce input file variables to locations, where mask is non-zero.
Horizontal grids of @file{mask} and @file{infile} must be identical
@Parameter = mask[
,
limitCoordsOutput]
@Parameter = mask
[limitCoordsOutput]
@EndOperator
@BeginParameter
...
...
doc/tex/mod/NCL_wind
0 → 100644
View file @
5b482c1e
@BeginModule
@NewPage
@Name = NCL_wind
@Title = Wind transformation
@Section = NCL
@Class = NCL
@Arguments = infile outfile
@Operators = uv2vr_cfd uv2dv_cfd
@BeginDescription
This module contains CDO operators with an interface to NCL functions.
The corresponding NCL functions have the same name. A more detailed description
of those NCL function can be found on the NCL homepage https://www.ncl.ucar.edu.
@EndDescription
@EndModule
@BeginOperator_uv2vr_cfd
@Title = U and V wind to relative vorticity
@Parameter = [u v boundOpt outMode]
@BeginDescription
Computes relative vorticity for a latitude-longitude grid using centered finite differences.
The grid need not be global and missing values are allowed.
@EndDescription
@EndOperator
@BeginOperator_uv2dv_cfd
@Title = U and V wind to divergence
@Parameter = [u v boundOpt outMode]
@BeginDescription
Computes divergence for a latitude-longitude grid using centered finite differences.
The grid need not be global and missing values are allowed.
@EndDescription
@EndOperator
@BeginParameter boundOpt
@Item = u
STRING Name of variable u (default: u)
@Item = v
STRING Name of variable v (default: v)
@Item = boundOpt
INTEGER Boundary condition option (0-3) (default: 0/1 for cyclic grids)
@Item = outMode
STRING Output mode new/append (default: new)
@EndParameter
Prev
1
2
3
4
5
…
10
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment