diff --git a/src/bufr/IodaEncoder/IodaEncoder.cpp b/src/bufr/IodaEncoder/IodaEncoder.cpp index 931ff1712..97b6d34ae 100644 --- a/src/bufr/IodaEncoder/IodaEncoder.cpp +++ b/src/bufr/IodaEncoder/IodaEncoder.cpp @@ -62,6 +62,16 @@ namespace Ingester + path); } + if (path.substr(0, 1) != "*") + { + std::ostringstream errStr; + errStr << "ioda::dimensions: "; + errStr << "Path " << path << " must start with *. "; + errStr << "Subset specific named dimensions are not supported."; + + throw eckit::BadParameter(errStr.str()); + } + dimPaths.insert(path); } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 4b51e741c..1abd7cb7c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -939,7 +939,7 @@ ecbuild_add_test( TARGET test_${PROJECT_NAME}_mopitt_co -i testinput/mopitt_co.he5 -o testrun/mopitt_co.nc -r 2021092903 2021092921" - mopitt_co.nc ${IODA_CONV_COMP_TOL_ZERO}) + mopitt_co.nc ${IODA_CONV_COMP_TOL_ZERO}) ecbuild_add_test( TARGET test_${PROJECT_NAME}_modis_aod TYPE SCRIPT @@ -1201,7 +1201,6 @@ if(iodaconv_bufr_ENABLED) ecbuild_add_test( TARGET test_iodaconv_bufr_adpupa TYPE SCRIPT COMMAND bash - COMMAND bash ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh netcdf "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/adpupa_prepbufr.yaml" diff --git a/tools/bufr/print_queries.cpp b/tools/bufr/print_queries.cpp index 8fbb485c8..3765cb787 100644 --- a/tools/bufr/print_queries.cpp +++ b/tools/bufr/print_queries.cpp @@ -41,7 +41,7 @@ getDimPaths(const std::vector& queryData) for (auto& query : queryData) { std::stringstream pathStream; - pathStream << query.pathComponents[0]; + pathStream << "*"; for (size_t idx=1; idx <= query.dimIdxs.back(); idx++) { pathStream << "/" << query.pathComponents[idx]; @@ -124,7 +124,7 @@ void printDimPaths(std::vector> dimPaths) { for (auto& dimPath : dimPaths) { - std::cout << " " << dimPath.first << "d " << dimPath.second << std::endl; + std::cout << " " << dimPath.first << "d " << dimPath.second << std::endl; } } @@ -133,7 +133,7 @@ void printQueryList(const std::vector& queries) for (auto query : queries) { std::ostringstream ostr; - ostr << dimStyledStr(query.dimIdxs.size()) << " "; + ostr << dimStyledStr(query.dimIdxs.size()) << " "; ostr << query.pathComponents[0]; for (size_t pathIdx = 1; pathIdx < query.pathComponents.size(); pathIdx++) {