[emos] 01/07: new release 4.5.1

Alastair McKinstry mckinstry at moszumanska.debian.org
Wed Sep 20 15:33:25 UTC 2017


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to branch debian/master
in repository emos.

commit a7d5f011fc5c6d290317d1a0f4e8ded5a9ab8e0b
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sun Aug 13 13:11:36 2017 +0100

    new release 4.5.1
---
 CMakeLists.txt                                     |  4 +-
 ChangeLog                                          |  8 +++
 VERSION.cmake                                      |  2 +-
 cmake/FindGd.cmake                                 | 59 ++++++++++++++++++++++
 cmake/FindPangoCairo.cmake                         | 25 ++++++---
 cmake/VERSION.cmake                                |  4 +-
 cmake/contrib/FindNetCDF4.cmake                    |  4 +-
 cmake/ecbuild_add_library.cmake                    | 56 ++++++++++----------
 cmake/ecbuild_add_test.cmake                       | 48 +++++++++---------
 cmake/ecbuild_define_options.cmake                 |  6 +++
 cmake/ecbuild_find_package.cmake                   |  4 ++
 interpolation/describe_input_field.c               | 16 +++---
 interpolation/intf2.c                              | 12 ++---
 libemos-dp/CMakeLists.txt                          |  4 +-
 pbio/emosnum.F                                     |  2 +-
 sandbox/emos_tool.c                                |  8 +--
 share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake     |  6 +++
 share/ecbuild/toolchains/ecmwf-XC30-GNU.cmake      |  6 +++
 share/ecbuild/toolchains/ecmwf-XC30-Intel.cmake    |  6 +++
 tests/CMakeLists.txt                               |  4 +-
 tests/regress/CMakeLists.txt                       | 17 +++++++
 tests/regress/download_tests_regress_ref_files.txt |  1 +
 tests/regress/download_tests_regress_src_files.txt |  1 +
 tools/CMakeLists.txt                               |  4 +-
 tools/bufrtools_wmo/CMakeLists.txt                 |  4 +-
 tools/lsmReducedGaussian/CMakeLists.txt            |  4 +-
 tools/singlePointInterpolation/CMakeLists.txt      |  4 +-
 27 files changed, 228 insertions(+), 91 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 38f1231..c2947aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,7 +118,7 @@ set( ECCODES_FAIL_MSG
     "but we strongly advise you to upgrade to ecCodes. "
     "See https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home\n" )
 ecbuild_add_option( FEATURE ECCODES DESCRIPTION "Use eccodes instead of grib_api"
-                    REQUIRED_PACKAGES "PROJECT eccodes VERSION 0.14 REQUIRED FAILURE_MSG ECCODES_FAIL_MSG"
+                    REQUIRED_PACKAGES "PROJECT eccodes VERSION 2.4.1 REQUIRED FAILURE_MSG ECCODES_FAIL_MSG"
                     DEFAULT ON )
 
 if( HAVE_ECCODES)
@@ -128,7 +128,7 @@ if( HAVE_ECCODES)
   set( grib_api_BASE_DIR     ${eccodes_BASE_DIR} )
   set( grib_handling_pkg eccodes )
 else()
-  ecbuild_use_package( PROJECT grib_api VERSION 1.14.3 REQUIRED
+  ecbuild_use_package( PROJECT grib_api VERSION 1.23.1 REQUIRED
       FAILURE_MSG "We strongly advise to use ecCodes (enable with -DENABLE_ECCODES=ON)" )
   set( grib_handling_pkg grib_api )
 endif()
diff --git a/ChangeLog b/ChangeLog
index e06a32d..675cf7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+000451
+
+	Improvement
+		* [EMOS-320] - Use missingValuesPresent (eccodes/2.4.1) instead of bitmapPresent
+
+	Bug fixes
+		* [ECC-511] - Invalid data read from FRET grib2 files with grid_complex_spatial_differencing packing
+
 000450
 
 	Bug fixes
diff --git a/VERSION.cmake b/VERSION.cmake
index 263b4fe..ba4473d 100644
--- a/VERSION.cmake
+++ b/VERSION.cmake
@@ -2,4 +2,4 @@
 #  Do NOT forget to update  pbio/emosnum.F
 #
 #
-set( ${PROJECT_NAME}_VERSION_STR "4.5.0" )
+set( ${PROJECT_NAME}_VERSION_STR "4.5.1" )
diff --git a/cmake/FindGd.cmake b/cmake/FindGd.cmake
new file mode 100644
index 0000000..01b2586
--- /dev/null
+++ b/cmake/FindGd.cmake
@@ -0,0 +1,59 @@
+# - Try to find the GD library
+# Once done this will define
+#
+# GD_FOUND - system has GD
+# GD_INCLUDE_DIRS - the GD include directory
+# GD_LIBRARIES - Link these to use GD
+#
+# Define GD_MIN_VERSION for which version desired.
+
+
+if( NOT DEFINED GD_PATH AND NOT "$ENV{GD_PATH}" STREQUAL "" )
+    set( APPEND GD_PATH "$ENV{GD_PATH}" )
+endif()
+
+if( NOT DEFINED GD_PATH )
+
+    include(FindPkgConfig)
+
+    if(GD_FIND_REQUIRED)
+        set(_pkgconfig_REQUIRED "REQUIRED")
+    else()
+        set(_pkgconfig_REQUIRED "")
+    endif()
+
+    if(GD_MIN_VERSION)
+        pkg_check_modules(PKGD ${_pkgconfig_REQUIRED} GD>=${GD_MIN_VERSION})
+    else()
+        pkg_check_modules(PKGD ${_pkgconfig_REQUIRED} GD)
+    endif()
+
+    if( PKG_CONFIG_FOUND AND PKGD_FOUND )
+
+        find_path(GD_INCLUDE_DIR gd.h HINTS ${PKGD_INCLUDEDIR} ${PKGD_INCLUDE_DIRS} PATH_SUFFIXES GD NO_DEFAULT_PATH )
+        find_library(GD_LIBRARY  gd   HINTS ${PKGD_LIBDIR}     ${PKGD_LIBRARY_DIRS} PATH_SUFFIXES GD NO_DEFAULT_PATH )
+
+    endif()
+
+else()
+
+    find_path(GD_INCLUDE_DIR gd.h PATHS ${GD_PATH}/include PATH_SUFFIXES GD NO_DEFAULT_PATH )
+    find_library(GD_LIBRARY  gd   PATHS ${GD_PATH}/lib     PATH_SUFFIXES GD NO_DEFAULT_PATH )
+
+endif()
+
+find_path(GD_INCLUDE_DIR gd.h PATH_SUFFIXES GD )
+find_library( GD_LIBRARY gd   PATH_SUFFIXES GD )
+
+set( GD_LIBRARIES    ${GD_LIBRARY} )
+set( GD_INCLUDE_DIRS ${GD_INCLUDE_DIR} )
+
+include(FindPackageHandleStandardArgs)
+
+# handle the QUIET and REQUIRED arguments and set GD_FOUND to TRUE
+# if all listed variables are TRUE
+# Note: capitalisation of the package name must be the same as in the file name
+find_package_handle_standard_args(GD  DEFAULT_MSG
+                                  GD_LIBRARY GD_INCLUDE_DIR)
+
+mark_as_advanced( GD_INCLUDE_DIR GD_LIBRARY )
diff --git a/cmake/FindPangoCairo.cmake b/cmake/FindPangoCairo.cmake
index cb70737..15e2da4 100644
--- a/cmake/FindPangoCairo.cmake
+++ b/cmake/FindPangoCairo.cmake
@@ -3,8 +3,8 @@
 # This software is licensed under the terms of the Apache Licence Version 2.0
 # which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
 # In applying this licence, ECMWF does not waive the privileges and immunities
-# granted to it by virtue of its status as an intergovernmental organisation nor
-# does it submit to any jurisdiction.
+# granted to it by virtue of its status as an intergovernmental organisation
+# nor does it submit to any jurisdiction.
 
 # - Try to find PangoCairo
 
@@ -40,8 +40,6 @@ else()
 
     # this is to get magics compiling on mac with macbrew
 
-    include(FindPackageHandleStandardArgs)
-
     set(PANGO_VERSION 1.0)
     set(GLIB_VERSION 2.0)
 
@@ -69,7 +67,7 @@ else()
         ${_CAIRO_INCLUDE_DIRS}
         ${_GLIB_INCLUDE_DIRS_1}
         ${_GLIB_INCLUDE_DIRS_2}
-	${X11_INCLUDE_DIR}
+        ${X11_INCLUDE_DIR}
     )
 
     find_library( _PANGOCAIRO_LIBRARIES NAMES pangocairo pangocairo-${PANGO_VERSION})
@@ -82,15 +80,26 @@ else()
         ${_PANGO_LIBRARIES}
         ${_CAIRO_LIBRARIES}
         ${_GLIB_LIBRARIES}
-	${X11_LIBRARIES}
+        ${X11_LIBRARIES}
     )
 
+    include(FindPackageHandleStandardArgs)
+
     # Handle the QUIET and REQUIRED arguments and set PANGOCAIRO_FOUND to TRUE
     # if all listed variables are TRUE
     # Note: capitalisation of the package name must be the same as in file name
     find_package_handle_standard_args( PangoCairo  DEFAULT_MSG
-                                       PANGOCAIRO_LIBRARIES
-                                       PANGOCAIRO_INCLUDE_DIRS  )
+                                       _PANGOCAIRO_INCLUDE_DIRS
+                                       _CAIRO_INCLUDE_DIRS
+                                       _GLIB_INCLUDE_DIRS_1
+                                       _GLIB_INCLUDE_DIRS_2
+                                       X11_INCLUDE_DIR
+                                       _PANGOCAIRO_LIBRARIES
+                                       _PANGO_LIBRARIES
+                                       _CAIRO_LIBRARIES
+                                       _GLIB_LIBRARIES
+                                       X11_LIBRARIES )
 
 endif()
 
+mark_as_advanced( PANGOCAIRO_INCLUDE_DIRS PANGOCAIRO_LIBRARIES )
diff --git a/cmake/VERSION.cmake b/cmake/VERSION.cmake
index af2b0d2..3449f42 100644
--- a/cmake/VERSION.cmake
+++ b/cmake/VERSION.cmake
@@ -1,7 +1,7 @@
 set( ECBUILD_MAJOR_VERSION "2" )
 set( ECBUILD_MINOR_VERSION "7" )
-set( ECBUILD_PATCH_VERSION "1" )
+set( ECBUILD_PATCH_VERSION "2" )
 
-set( ECBUILD_VERSION_STR  "2.7.1" )
+set( ECBUILD_VERSION_STR  "2.7.2" )
 
 set( ECBUILD_MACRO_VERSION "${ECBUILD_VERSION_STR}" )
diff --git a/cmake/contrib/FindNetCDF4.cmake b/cmake/contrib/FindNetCDF4.cmake
index 70e54af..d050f01 100644
--- a/cmake/contrib/FindNetCDF4.cmake
+++ b/cmake/contrib/FindNetCDF4.cmake
@@ -195,15 +195,13 @@ else()
             list( APPEND NETCDF_INCLUDE_DIRS ${NETCDF_${INC}_INCLUDE_DIR} )
           else()
             list( FIND NETCDF_REQUIRED ${INC} location )
-            if( ${location} EQUAL -1 )
-              else()
+            if( ${location} GREATER -1 )
               if(NETCDF_FIND_REQUIRED)
                 ecbuild_error( "\"${INC}\" is not found for NetCDF component ${LANGUAGE}" )
               elseif( NOT NETCDF_FIND_QUIETLY )
                 message( STATUS "\"${INC}\" is not found for NetCDF component ${LANGUAGE}" )
               endif()
               set( NETCDF_${LANGUAGE}_FOUND 0 )
-            else()
             endif()
           endif()
         endforeach()
diff --git a/cmake/ecbuild_add_library.cmake b/cmake/ecbuild_add_library.cmake
index f9f567f..9dfe25b 100644
--- a/cmake/ecbuild_add_library.cmake
+++ b/cmake/ecbuild_add_library.cmake
@@ -445,41 +445,45 @@ function( ecbuild_add_library_impl )
         set( _h_destination "${INSTALL_INCLUDE_DIR}" )
       endif()
 
-      if( _PAR_INSTALL_HEADERS )
-        if( _PAR_INSTALL_HEADERS MATCHES "LISTED" )
-          foreach( file ${${_PAR_TARGET}_h_srcs} )
-            get_filename_component( _file_dir ${file} PATH )
-            install( FILES ${file} DESTINATION "${_h_destination}/${_file_dir}" )
-          endforeach()
-          if( DEFINED _PAR_TEMPLATES )
-            foreach( file ${_PAR_TEMPLATES} )
+      if(ECBUILD_INSTALL_LIBRARY_HEADERS)
+
+        if( _PAR_INSTALL_HEADERS )
+          if( _PAR_INSTALL_HEADERS MATCHES "LISTED" )
+            foreach( file ${${_PAR_TARGET}_h_srcs} )
               get_filename_component( _file_dir ${file} PATH )
               install( FILES ${file} DESTINATION "${_h_destination}/${_file_dir}" )
             endforeach()
+            if( DEFINED _PAR_TEMPLATES )
+              foreach( file ${_PAR_TEMPLATES} )
+                get_filename_component( _file_dir ${file} PATH )
+                install( FILES ${file} DESTINATION "${_h_destination}/${_file_dir}" )
+              endforeach()
+            endif()
+            if( DEFINED _PAR_PERSISTENT )
+              foreach( file ${_PAR_PERSISTENT} )
+                get_filename_component( _file_dir ${file} PATH )
+                get_filename_component( _file_we  ${file} NAME_WE )
+                set( pfile "${CMAKE_CURRENT_BINARY_DIR}/${_file_dir}/${_file_we}.b" )
+                install( FILES ${pfile} DESTINATION "${_h_destination}/${_file_dir}" )
+              endforeach()
+            endif()
           endif()
-          if( DEFINED _PAR_PERSISTENT )
-            foreach( file ${_PAR_PERSISTENT} )
-              get_filename_component( _file_dir ${file} PATH )
-              get_filename_component( _file_we  ${file} NAME_WE )
-              set( pfile "${CMAKE_CURRENT_BINARY_DIR}/${_file_dir}/${_file_we}.b" )
-              install( FILES ${pfile} DESTINATION "${_h_destination}/${_file_dir}" )
-            endforeach()
+          if( _PAR_INSTALL_HEADERS MATCHES "ALL" ) # "(\\.h|\\.b|\\.hxx|\\.hh|\\.hpp|\\.H)" ????
+            install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.h" )
+            install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.hh" )
+            install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.hpp" )
+            install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.H" )
           endif()
         endif()
-        if( _PAR_INSTALL_HEADERS MATCHES "ALL" ) # "(\\.h|\\.b|\\.hxx|\\.hh|\\.hpp|\\.H)" ????
-          install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.h" )
-          install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.hh" )
-          install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.hpp" )
-          install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "*.H" )
+
+        if( DEFINED _PAR_INSTALL_HEADERS_LIST )
+          install( FILES ${_PAR_INSTALL_HEADERS_LIST} DESTINATION ${_h_destination} )
         endif()
-      endif()
 
-      if( DEFINED _PAR_INSTALL_HEADERS_LIST )
-        install( FILES ${_PAR_INSTALL_HEADERS_LIST} DESTINATION ${_h_destination} )
-      endif()
+        if( DEFINED _PAR_INSTALL_HEADERS_REGEX )
+          install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "${_PAR_INSTALL_HEADERS_REGEX}")
+        endif()
 
-      if( DEFINED _PAR_INSTALL_HEADERS_REGEX )
-        install( DIRECTORY ./  DESTINATION ${_h_destination} FILES_MATCHING PATTERN "${_PAR_INSTALL_HEADERS_REGEX}")
       endif()
 
       # set build location
diff --git a/cmake/ecbuild_add_test.cmake b/cmake/ecbuild_add_test.cmake
index da0bd22..7050159 100644
--- a/cmake/ecbuild_add_test.cmake
+++ b/cmake/ecbuild_add_test.cmake
@@ -224,30 +224,6 @@ macro( ecbuild_add_test )
     endif()
   endif()
 
-  if( _PAR_TYPE MATCHES "PYTHON" )
-    if( PYTHONINTERP_FOUND )
-      set( _PAR_COMMAND ${PYTHON_EXECUTABLE} )
-      set( _PAR_LABELS python ${_PAR_LABELS} )
-    else()
-      ecbuild_warn( "Requested a python test but python interpreter not found - disabling test\nPYTHON_EXECUTABLE: [${PYTHON_EXECUTABLE}]" )
-      set( _PAR_ENABLED 0 )
-    endif()
-  endif()
-
-  ### further checks
-
-  if( _PAR_ENABLED AND NOT _PAR_TARGET AND NOT _PAR_COMMAND )
-    ecbuild_critical("The call to ecbuild_add_test() defines neither a TARGET nor a COMMAND.")
-  endif()
-
-  if( _PAR_ENABLED AND NOT _PAR_COMMAND AND NOT _PAR_SOURCES )
-    ecbuild_critical("The call to ecbuild_add_test() defines neither a COMMAND nor SOURCES, so no test can be defined or built.")
-  endif()
-
-  if( _PAR_TYPE MATCHES "SCRIPT" AND NOT _PAR_COMMAND )
-    ecbuild_critical("The call to ecbuild_add_test() defines a 'script' but doesn't specify the COMMAND.")
-  endif()
-
   ### conditional build
 
   if( DEFINED _PAR_CONDITION )
@@ -285,6 +261,30 @@ macro( ecbuild_add_test )
 
   if( ENABLE_TESTS AND _${_PAR_TARGET}_condition )
 
+    if( _PAR_TYPE MATCHES "PYTHON" )
+      if( PYTHONINTERP_FOUND )
+        set( _PAR_COMMAND ${PYTHON_EXECUTABLE} )
+        set( _PAR_LABELS python ${_PAR_LABELS} )
+      else()
+        ecbuild_warn( "Requested a python test but python interpreter not found - disabling test\nPYTHON_EXECUTABLE: [${PYTHON_EXECUTABLE}]" )
+        set( _PAR_ENABLED 0 )
+      endif()
+    endif()
+
+    ### further checks
+
+    if( _PAR_ENABLED AND NOT _PAR_TARGET AND NOT _PAR_COMMAND )
+      ecbuild_critical("The call to ecbuild_add_test() defines neither a TARGET nor a COMMAND.")
+    endif()
+
+    if( _PAR_ENABLED AND NOT _PAR_COMMAND AND NOT _PAR_SOURCES )
+      ecbuild_critical("The call to ecbuild_add_test() defines neither a COMMAND nor SOURCES, so no test can be defined or built.")
+    endif()
+
+    if( _PAR_TYPE MATCHES "SCRIPT" AND NOT _PAR_COMMAND )
+      ecbuild_critical("The call to ecbuild_add_test() defines a 'script' but doesn't specify the COMMAND.")
+    endif()
+
     # add resources
 
     if( DEFINED _PAR_RESOURCES )
diff --git a/cmake/ecbuild_define_options.cmake b/cmake/ecbuild_define_options.cmake
index fc6376e..cf5ff00 100644
--- a/cmake/ecbuild_define_options.cmake
+++ b/cmake/ecbuild_define_options.cmake
@@ -33,6 +33,12 @@ option( CHECK_UNUSED_FILES       "check for unused project files (slow)"  OFF )
 mark_as_advanced( DEVELOPER_MODE  )
 mark_as_advanced( CHECK_UNUSED_FILES  )
 
+option( ECBUILD_INSTALL_LIBRARY_HEADERS "Will install library headers" ON )
+mark_as_advanced( ECBUILD_INSTALL_LIBRARY_HEADERS )
+
+option( ECBUILD_INSTALL_FORTRAN_MODULES "Will install Fortran modules" ON )
+mark_as_advanced( ECBUILD_INSTALL_FORTRAN_MODULES )
+
 include( CMakeDependentOption ) # make options depend on one another
 
 cmake_dependent_option( ENABLE_OS_TYPES_TEST     "Run sizeof tests on C types" ON "ENABLE_OS_TESTS" OFF)
diff --git a/cmake/ecbuild_find_package.cmake b/cmake/ecbuild_find_package.cmake
index b69741e..3f5d72a 100644
--- a/cmake/ecbuild_find_package.cmake
+++ b/cmake/ecbuild_find_package.cmake
@@ -125,6 +125,10 @@ macro( ecbuild_find_package )
     ecbuild_critical("Call to ecbuild_find_package() requests EXACT but doesn't specify VERSION.")
   endif()
 
+  if( _PAR_QUIET )
+    set( _find_quiet QUIET )
+  endif()
+
   # If the package is required, set TYPE to REQUIRED
   # Due to shortcomings in CMake's argument parser, passing TYPE REQUIRED has no effect
   if( _PAR_REQUIRED )
diff --git a/interpolation/describe_input_field.c b/interpolation/describe_input_field.c
index f5eaff6..4081582 100644
--- a/interpolation/describe_input_field.c
+++ b/interpolation/describe_input_field.c
@@ -95,7 +95,7 @@ long describe_input_field(grib_handle* handle, long outputRepresentation) {
     long scanningMode;
     long table;
     long date;
-    long bitmapPresent = 0;
+    long missingValuesPresent = 0;
     char *intf2_debug = getenv("INTF2_DEBUG");
     long localNumber = 0;
     char typeOfLevel[50]={0,};
@@ -336,25 +336,25 @@ long describe_input_field(grib_handle* handle, long outputRepresentation) {
         fprintf(stderr,"Parameter Number setup INTIN failed %d\n",err);
     }
 
-    /* If bitmap Present  */
-    if ((err = grib_get_long(handle,"bitmapPresent",&bitmapPresent))!= GRIB_SUCCESS)
+    /* If missing values present  */
+    if ((err = grib_get_long(handle,"missingValuesPresent",&missingValuesPresent))!= GRIB_SUCCESS)
     {
-        fprintf(stderr,"Cannot get bitmapPresent  %s\n",grib_get_error_message(err));
+        fprintf(stderr,"Cannot get missingValuesPresent %s\n",grib_get_error_message(err));
         return err;
     }
     /*  There are exeptions for a few centres  */
     if ((err = grib_get_long(handle,"centre",&centre)))
     {
-        fprintf(stderr,"Cannot get centre  %s\n",grib_get_error_message(err));
+        fprintf(stderr,"Cannot get centre %s\n",grib_get_error_message(err));
     }
     if(levelType == 100 && parameter == 129)
-        bitmapPresent = 0;
+        missingValuesPresent = 0;
 
     /* if(table == 128 && (parameter == 31 || parameter == 130)){ */
     /* Live emoslib to use its own values
      * Can Not set allways external missing value in case bitmap is Present because of some inconsistensy in LIBEMOS
      */
-    if(bitmapPresent) {
+    if(missingValuesPresent) {
         /* Try to play in a same style as Libemos
             missingValue = -2147483647.0;
             err = grib_set_double(handle,"missingValue",missingValue);
@@ -366,7 +366,7 @@ long describe_input_field(grib_handle* handle, long outputRepresentation) {
             fprintf(stderr,"Missing value %s\n",grib_get_error_message(err));
         }
         if(intf2_debug)
-            printf("DESCRIBE_INPUT_FIELD: BITMAP PRESENT Missing Value %f \n",missingValue);
+            printf("DESCRIBE_INPUT_FIELD: missingValuesPresent Missing Value %f \n",missingValue);
         if(err == GRIB_SUCCESS) {
             realv[0] = missingValue;
             text = "yes";
diff --git a/interpolation/intf2.c b/interpolation/intf2.c
index 4bfc845..8297796 100644
--- a/interpolation/intf2.c
+++ b/interpolation/intf2.c
@@ -62,7 +62,7 @@ fortint intf2_(char* grib_in, fortint* length_in, char* grib_out, fortint* lengt
     int  resetOutput = 0;
     long nins, niwe;
     long acc = 0;
-    long bitmapPresent = 0;
+    long missingValuesPresent = 0;
 
     size_t size;
 
@@ -122,20 +122,20 @@ fortint intf2_(char* grib_in, fortint* length_in, char* grib_out, fortint* lengt
         }
     }
 
-   /* If bitmap Present  */
-    if((err = grib_get_long(handle,"bitmapPresent",&bitmapPresent))!= GRIB_SUCCESS)
+   /* If missing values present  */
+    if((err = grib_get_long(handle,"missingValuesPresent",&missingValuesPresent))!= GRIB_SUCCESS)
      {
-        fprintf(stderr,"Cannot get bitmapPresent  %s\n",grib_get_error_message(err));
+        fprintf(stderr,"Cannot get missingValuesPresent %s\n",grib_get_error_message(err));
         return err;
      }
 
     /* if bitmap present Set missing value which correspond WAVE in Emos  */
-    if(bitmapPresent)
+    if(missingValuesPresent)
     {
         /* if(err = grib_set_double(handle,"missingValue",12345.0)) */
         if ((err = grib_set_double(handle,"missingValue",-9999999.0)))
         {
-            fprintf(stdout,"INTF2: Cannot set Missing Value %s\n",grib_get_error_message(err));
+            fprintf(stdout,"INTF2: Cannot set missingValue %s\n",grib_get_error_message(err));
             goto cleanup;
         }
     }
diff --git a/libemos-dp/CMakeLists.txt b/libemos-dp/CMakeLists.txt
index 7e7e2cf..3e800e2 100644
--- a/libemos-dp/CMakeLists.txt
+++ b/libemos-dp/CMakeLists.txt
@@ -7,7 +7,9 @@ endforeach()
 # compiler definitions:
 # - configure Fortran-based targets for double precision (compilation & linking)
 # - allow/disallow GRIBEX with configuration
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 if( HAVE_GRIBEX_ABORT )
   set_source_files_properties(
     "../gribex/gribex.F"
diff --git a/pbio/emosnum.F b/pbio/emosnum.F
index 689883e..6c9fab2 100644
--- a/pbio/emosnum.F
+++ b/pbio/emosnum.F
@@ -88,7 +88,7 @@ C
       CHARACTER*35 CMESS
 C     CHARACTER*20 YNUMBER
 C
-      DATA INUMBER/000450/, ICOUNT/0/
+      DATA INUMBER/000451/, ICOUNT/0/
       DATA CMESS/'* EMOSLIB version number = ****** *'/
 C
 C ------------------------------------------------------------------
diff --git a/sandbox/emos_tool.c b/sandbox/emos_tool.c
index 9756c66..d725b22 100644
--- a/sandbox/emos_tool.c
+++ b/sandbox/emos_tool.c
@@ -349,8 +349,8 @@ fortint hirlam(const char *ingrib, fortint inlen, char *outgrib, fortint *outlen
     }
 
 
-    // long bitmap;
-    // GRIB_CALL(grib_get_long(grib_, "bitmapPresent", &bitmap));
+    // long missingValuesPresent;
+    // GRIB_CALL(grib_get_long(grib_, "missingValuesPresent", &missingValuesPresent));
 
     // double missing;
     // GRIB_CALL(grib_get_double(grib_, "missingValue", &missing));
@@ -513,8 +513,8 @@ fortint hirlamw(const char *u_ingrib, const char *v_ingrib, fortint inlen, char
     }
 
 
-    // long bitmap;
-    // GRIB_CALL(grib_get_long(grib_, "bitmapPresent", &bitmap));
+    // long missingValuesPresent;
+    // GRIB_CALL(grib_get_long(grib_, "missingValuesPresent", &missingValuesPresent));
 
     // double missing;
     // GRIB_CALL(grib_get_double(grib_, "missingValue", &missing));
diff --git a/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake b/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
index be3ed8f..a4d1813 100644
--- a/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
+++ b/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
@@ -3,6 +3,11 @@
 ####################################################################
 
 set( EC_HAVE_C_INLINE 1 )
+set( EC_HAVE_FUNCTION_DEF 1 )
+set( EC_HAVE_CXXABI_H 1 )
+set( EC_HAVE_CXX_BOOL 1 )
+set( EC_HAVE_CXX_SSTREAM 1 )
+set( EC_HAVE_CXX_INT_128 0 )
 set( CMAKE_SIZEOF_VOID_P 8 )
 set( EC_SIZEOF_PTR 8 )
 set( EC_SIZEOF_CHAR 1 )
@@ -83,6 +88,7 @@ set( EC_HAVE_GMTIME_R 1 )
 set( EC_HAVE_GETPWUID_R 1 )
 set( EC_HAVE_GETPWNAM_R 1 )
 set( EC_HAVE_READDIR_R 1 )
+set( EC_HAVE_DIRENT_D_TYPE 1 )
 set( EC_HAVE_GETHOSTBYNAME_R 1 )
 set( EC_HAVE_ATTRIBUTE_CONSTRUCTOR 1 )
 set( EC_ATTRIBUTE_CONSTRUCTOR_INITS_ARGV 0 )
diff --git a/share/ecbuild/toolchains/ecmwf-XC30-GNU.cmake b/share/ecbuild/toolchains/ecmwf-XC30-GNU.cmake
index 5acd12e..d98fe29 100644
--- a/share/ecbuild/toolchains/ecmwf-XC30-GNU.cmake
+++ b/share/ecbuild/toolchains/ecmwf-XC30-GNU.cmake
@@ -3,6 +3,11 @@
 ####################################################################
 
 set( EC_HAVE_C_INLINE 1 )
+set( EC_HAVE_FUNCTION_DEF 1 )
+set( EC_HAVE_CXXABI_H 1 )
+set( EC_HAVE_CXX_BOOL 1 )
+set( EC_HAVE_CXX_SSTREAM 1 )
+set( EC_HAVE_CXX_INT_128 1 )
 set( CMAKE_SIZEOF_VOID_P 8 )
 set( EC_SIZEOF_PTR 8 )
 set( EC_SIZEOF_CHAR 1 )
@@ -83,6 +88,7 @@ set( EC_HAVE_GMTIME_R 1 )
 set( EC_HAVE_GETPWUID_R 1 )
 set( EC_HAVE_GETPWNAM_R 1 )
 set( EC_HAVE_READDIR_R 1 )
+set( EC_HAVE_DIRENT_D_TYPE 1 )
 set( EC_HAVE_GETHOSTBYNAME_R 1 )
 set( EC_HAVE_ATTRIBUTE_CONSTRUCTOR 1 )
 set( EC_ATTRIBUTE_CONSTRUCTOR_INITS_ARGV 0 )
diff --git a/share/ecbuild/toolchains/ecmwf-XC30-Intel.cmake b/share/ecbuild/toolchains/ecmwf-XC30-Intel.cmake
index 8e6b41d..042d3da 100644
--- a/share/ecbuild/toolchains/ecmwf-XC30-Intel.cmake
+++ b/share/ecbuild/toolchains/ecmwf-XC30-Intel.cmake
@@ -3,6 +3,11 @@
 ####################################################################
 
 set( EC_HAVE_C_INLINE 1 )
+set( EC_HAVE_FUNCTION_DEF 1 )
+set( EC_HAVE_CXXABI_H 1 )
+set( EC_HAVE_CXX_BOOL 1 )
+set( EC_HAVE_CXX_SSTREAM 1 )
+set( EC_HAVE_CXX_INT_128 1 )
 set( CMAKE_SIZEOF_VOID_P 8 )
 set( EC_SIZEOF_PTR 8 )
 set( EC_SIZEOF_CHAR 1 )
@@ -83,6 +88,7 @@ set( EC_HAVE_GMTIME_R 1 )
 set( EC_HAVE_GETPWUID_R 1 )
 set( EC_HAVE_GETPWNAM_R 1 )
 set( EC_HAVE_READDIR_R 1 )
+set( EC_HAVE_DIRENT_D_TYPE 1 )
 set( EC_HAVE_GETHOSTBYNAME_R 1 )
 set( EC_HAVE_ATTRIBUTE_CONSTRUCTOR 1 )
 set( EC_ATTRIBUTE_CONSTRUCTOR_INITS_ARGV 0 )
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index ad31d01..d90965a 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -3,7 +3,9 @@
 include("${PROJECT_SOURCE_DIR}/tests/settings.cmake")
 
 # configure Fortran-based targets for double precision (compilation & linking)
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 
 
 ################ I N T E R P O L A T I O N ################
diff --git a/tests/regress/CMakeLists.txt b/tests/regress/CMakeLists.txt
index f0c5cb2..f071df4 100644
--- a/tests/regress/CMakeLists.txt
+++ b/tests/regress/CMakeLists.txt
@@ -244,5 +244,22 @@ foreach( snap "snap-milli-degree" "snap-sub-milli-degree_bad" "snap-sub-milli-de
 endforeach()
 
 
+#################### ECC-511 / EMOS-320 ####################
+
+set( label "regress_ECC-511_intf2_sde_regular_ll_complex_spatial_differencing_to_regular_ll" )
+set( input "sde_regular_ll_complex_spatial_differencing.grib2" )
+set( output "${label}.grib2" )
+set( opt "--INTOUT:grid=3/3" )
+list( APPEND opt "--intf2" )
+
+interpolation_add_test_interpol( ${label} "${input}" "${output}" "${opt}" download_tests_regress_src_files )
+interpolation_add_test_compare(  ${label} "${output}" "${output}.ref"     download_tests_regress_ref_files )
+
+unset( opt )
+unset( output )
+unset( input )
+unset( label )
+
+
 ############################################################
 
diff --git a/tests/regress/download_tests_regress_ref_files.txt b/tests/regress/download_tests_regress_ref_files.txt
index f687ae4..6e319c1 100644
--- a/tests/regress/download_tests_regress_ref_files.txt
+++ b/tests/regress/download_tests_regress_ref_files.txt
@@ -1,3 +1,4 @@
+regress_ECC-511_intf2_sde_regular_ll_complex_spatial_differencing_to_regular_ll.grib2.ref
 regress_EMOS-216_intf2_2t_F640_sub-area_to_F48_sub-area.grib.ref
 regress_EMOS-216_intf2_2t_F640_sub-area_to_F80_sub-area.grib.ref
 regress_EMOS-216_intf2_2t_F640_sub-area_to_regular_ll_sub-area.grib.ref
diff --git a/tests/regress/download_tests_regress_src_files.txt b/tests/regress/download_tests_regress_src_files.txt
index 33a3b8d..27e9266 100644
--- a/tests/regress/download_tests_regress_src_files.txt
+++ b/tests/regress/download_tests_regress_src_files.txt
@@ -13,6 +13,7 @@ msl_O1280.grib
 msl_regular_ll.grib
 msl_regular_ll_sub-area.grib
 mwd3_reduced_ll.grib
+sde_regular_ll_complex_spatial_differencing.grib2
 swh_reduced_ll.grib
 swh_reduced_ll_sub-area.grib
 u-v_sh.grib
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 435f3c3..7adaa09 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -1,5 +1,7 @@
 # configure Fortran-based targets for double precision (compilation & linking)
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 
 if( HAVE_LIBEMOS_BUFRDC )
   add_subdirectory( bufrtools_wmo )
diff --git a/tools/bufrtools_wmo/CMakeLists.txt b/tools/bufrtools_wmo/CMakeLists.txt
index f10532a..477e6cb 100644
--- a/tools/bufrtools_wmo/CMakeLists.txt
+++ b/tools/bufrtools_wmo/CMakeLists.txt
@@ -1,6 +1,8 @@
 
 # configure Fortran-based targets for double precision (compilation & linking)
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 
 
 # if( CMAKE_Fortran_COMPILER_ID MATCHES "GNU" )
diff --git a/tools/lsmReducedGaussian/CMakeLists.txt b/tools/lsmReducedGaussian/CMakeLists.txt
index ae37de6..2268b99 100644
--- a/tools/lsmReducedGaussian/CMakeLists.txt
+++ b/tools/lsmReducedGaussian/CMakeLists.txt
@@ -1,6 +1,8 @@
 
 # configure Fortran-based targets for double precision (compilation & linking)
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 
 ecbuild_add_executable(
   TARGET      ginout_c2 NOINSTALL
diff --git a/tools/singlePointInterpolation/CMakeLists.txt b/tools/singlePointInterpolation/CMakeLists.txt
index f8d094e..437dc3a 100644
--- a/tools/singlePointInterpolation/CMakeLists.txt
+++ b/tools/singlePointInterpolation/CMakeLists.txt
@@ -1,6 +1,8 @@
 
 # configure Fortran-based targets for double precision (compilation & linking)
-ecbuild_add_fortran_flags(${emos_double_precision_flags})
+if (NOT emos_double_precision_flags STREQUAL "")
+  ecbuild_add_fortran_flags(${emos_double_precision_flags})
+endif()
 
 
 # executable

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/emos.git



More information about the debian-science-commits mailing list