From 1f32133cb138db09c139b8488f8e57819a5cc7a5 Mon Sep 17 00:00:00 2001
From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de>
Date: Fri, 14 Mar 2025 18:16:23 +0100
Subject: [PATCH] enable-hirlam-extensions failed since release 2.5.1 (bug fix)

---
 ChangeLog              | 1 +
 configure.ac           | 2 +-
 libcdi                 | 2 +-
 src/cdo.cc             | 4 ----
 src/cdo_def_options.cc | 4 ++++
 src/vertical_interp.cc | 2 +-
 6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 247c0c56f..59a1af4eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2025-03-14  Uwe Schulzweida
 
 	* cat, mergetime: unpack input data
+	* enable-hirlam-extensions failed since release 2.5.1 (bug fix)
 
 2025-03-05  Uwe Schulzweida
 
diff --git a/configure.ac b/configure.ac
index 075839b1f..20a557a12 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 #  libtool  2.4.2
 
 AC_PREREQ([2.69])
-AC_INIT([cdo],[2.5.1],[https://mpimet.mpg.de/cdo])
+AC_INIT([cdo],[2.5.2],[https://mpimet.mpg.de/cdo])
 
 AC_DEFINE_UNQUOTED(CDO, ["$PACKAGE_VERSION"], [CDO version])
 
diff --git a/libcdi b/libcdi
index b9a7b1f01..6729bee6d 160000
--- a/libcdi
+++ b/libcdi
@@ -1 +1 @@
-Subproject commit b9a7b1f01600456c195ea4b1611098e0d39cdfe7
+Subproject commit 6729bee6d0a040c99d0f6aac7d768b1adb5a81ee
diff --git a/src/cdo.cc b/src/cdo.cc
index 042d8bc7b..8e258f153 100644
--- a/src/cdo.cc
+++ b/src/cdo.cc
@@ -53,10 +53,6 @@ cdo_exit(std::string msg = "")
 
 static bool applyDryRun = false;
 
-#ifdef HIRLAM_EXTENSIONS
-extern "C" void streamGrbDefDataScanningMode(int scanmode);
-#endif
-
 static void
 cdo_display_syntax_help(std::string const &help, FILE *p_target)
 {
diff --git a/src/cdo_def_options.cc b/src/cdo_def_options.cc
index 5884f029c..28d9eb824 100644
--- a/src/cdo_def_options.cc
+++ b/src/cdo_def_options.cc
@@ -19,6 +19,10 @@
 #include "cdo_zaxis.h"
 #include "chunkspec.h"
 
+#ifdef HIRLAM_EXTENSIONS
+extern "C" void streamGrbDefDataScanningMode(int scanmode);
+#endif
+
 static void
 set_chunkspec_parameter(std::string const &argument)
 {
diff --git a/src/vertical_interp.cc b/src/vertical_interp.cc
index 13a266fa7..111a21da8 100644
--- a/src/vertical_interp.cc
+++ b/src/vertical_interp.cc
@@ -171,7 +171,7 @@ extrapolate_Z(double pres, double halfPress, double fullPress, double geop, doub
 
   if (tmsl > ztlim && tstar <= ztlim) tmsl = ztlim;
 
-  if (tmsl - tstar < 0.000001 && tstar - tmsl < 0.000001)
+  if ((tmsl - tstar) < 0.000001 && (tstar - tmsl) < 0.000001)
     alpha = 0.0;
   else if (geop > 0.0001 || geop < -0.0001)
     alpha = PlanetRD * (tmsl - tstar) / geop;
-- 
GitLab