diff --git a/test/marine/CMakeLists.txt b/test/marine/CMakeLists.txt index 4dda602ca..92c880a58 100644 --- a/test/marine/CMakeLists.txt +++ b/test/marine/CMakeLists.txt @@ -88,7 +88,7 @@ CHECK_AND_SET_PATH( BUFR_TEST_DIR ) if (NOT BUFR_TEST_DIR_EXISTS) - message(STATUS "BUFR test file directory not found -- bufr to ioda tests not generted.") + message(WARNING "BUFR test file directory not found -- bufr to ioda tests not generated.") set(GENERATE_BUFR2IODA_TESTS FALSE) else() # message(STATUS "Found bufr test directory: ${BUFR_TEST_DIR}") @@ -105,7 +105,7 @@ else() OCEAN_BASIN_FILE ) if (NOT OCEAN_BASIN_FILE_EXISTS) - message("Ocean basin data file not found -- bufr to ioda tests not generated.") + message(WARNING "Ocean basin data file not found -- bufr to ioda tests not generated.") set(GENERATE_BUFR2IODA_TESTS FALSE) endif() # message(STATUS "Found ocean basin data in ${OCEAN_BASIN_FILE}") @@ -116,17 +116,26 @@ endif() function(ADD_INSITU_TEST testname testbufr) # set(CONFIG_TYPE "json") set(CONFIG_TYPE "yaml") - set(DATE "2021063006") + + if (testbufr STREQUAL "dbuoy") + set(DATE "2019010700") + set(CYCLE "00") + else() + set(DATE "2021063006") + set(CYCLE "06") + endif() + set(TEST "bufr2ioda_insitu_${testname}") set(TESTREF_FILE "${TEST}_${DATE}.ref") # stage the input file to directory ${BUFR_INPUT_DIR} set(BUFR_INPUT_DIR ${TEST_WORKING_DIR}) - set(BUFR_TEST_FILE "${DATE}-gdas.t06z.${testbufr}.tm00.bufr_d") + set(BUFR_TEST_FILE "${DATE}-gdas.t${CYCLE}z.${testbufr}.tm00.bufr_d") set(BUFR_FILE "${BUFR_TEST_DIR}/${BUFR_TEST_FILE}") if (NOT EXISTS ${BUFR_FILE}) - message(FATAL_ERROR "BUFR file ${BUFR_FILE} not found") + message(WARNING "BUFR file ${BUFR_FILE} not found, test not generated") + return() endif() file(COPY ${BUFR_FILE} DESTINATION ${BUFR_INPUT_DIR}) @@ -144,7 +153,7 @@ function(ADD_INSITU_TEST testname testbufr) ) add_test( - NAME test_${TEST} + NAME test_gdasapp_${TEST} COMMAND ${MARINE_BUFR2IODA_DIR}/${TEST}.py -c ${CONFIG_FILE} -t ${TESTREF_DIR}/${TESTREF_FILE} WORKING_DIRECTORY ${TEST_WORKING_DIR} ) @@ -156,6 +165,8 @@ if (GENERATE_BUFR2IODA_TESTS) ADD_INSITU_TEST("profile_bathy" "bathy") ADD_INSITU_TEST("profile_glider" "subpfl") ADD_INSITU_TEST("profile_tesac" "tesac") + ADD_INSITU_TEST("profile_tropical" "dbuoy") ADD_INSITU_TEST("profile_xbtctd" "xbtctd") + ADD_INSITU_TEST("surface_drifter" "dbuoy") ADD_INSITU_TEST("surface_trkob" "trkob") endif() diff --git a/test/marine/testinput/bufr2ioda_insitu_profile_tropical_2019010700.yaml.in b/test/marine/testinput/bufr2ioda_insitu_profile_tropical_2019010700.yaml.in new file mode 100644 index 000000000..1fa5a1856 --- /dev/null +++ b/test/marine/testinput/bufr2ioda_insitu_profile_tropical_2019010700.yaml.in @@ -0,0 +1,13 @@ +--- +data_format: dbuoy +subsets: dbuoy +source: NCEP data tank +data_type: drifter +cycle_type: gdas +cycle_datetime: '2019010700' +dump_directory: __BUFRINPUTDIR__ +ioda_directory: __IODAOUTPUTDIR__ +ocean_basin: __OCEANBASIN__ +data_description: 6-hrly in situ drifter profiles +data_provider: U.S. NOAA + diff --git a/test/marine/testinput/bufr2ioda_insitu_surface_drifter_2019010700.yaml.in b/test/marine/testinput/bufr2ioda_insitu_surface_drifter_2019010700.yaml.in new file mode 100644 index 000000000..1fa5a1856 --- /dev/null +++ b/test/marine/testinput/bufr2ioda_insitu_surface_drifter_2019010700.yaml.in @@ -0,0 +1,13 @@ +--- +data_format: dbuoy +subsets: dbuoy +source: NCEP data tank +data_type: drifter +cycle_type: gdas +cycle_datetime: '2019010700' +dump_directory: __BUFRINPUTDIR__ +ioda_directory: __IODAOUTPUTDIR__ +ocean_basin: __OCEANBASIN__ +data_description: 6-hrly in situ drifter profiles +data_provider: U.S. NOAA + diff --git a/test/marine/testref/bufr2ioda_insitu_profile_tropical_2019010700.ref b/test/marine/testref/bufr2ioda_insitu_profile_tropical_2019010700.ref new file mode 100644 index 000000000..915d09db3 --- /dev/null +++ b/test/marine/testref/bufr2ioda_insitu_profile_tropical_2019010700.ref @@ -0,0 +1,25 @@ +dateTime: 570, int64 min, max = 1546808400, 1546830000 +dateTime hash = cda368f6c8f06e883db7100f29073084ee92dc0a0021d995a6fe7ce477004da6 +rcptdateTime: 570, int64 min, max = -1, 1546871640 +rcptdateTime hash = d9545d679013eb8fcbc8fda146d184b83378faccf55c710416f4ad72d2819f68 +lon: 570, float32 min, max = -179.89999389648438, 165.10000610351562 +lon hash = c4a1e37e42a02279ec33a69b950b10327d2185adf99d5c0c6f5ffbe1f5c66292 +lat: 570, float32 min, max = -8.300000190734863, 8.0 +lat hash = d748eb8c0e55e7a2c684ee35d73a849ef945944967f8cb73ab31cf91bafdbcb2 +depth: 570, float32 min, max = 0.0, 500.0 +depth hash = 5b20e83513245f3f37e6c43a46cacd2c71d504da1ce175fbfe2eeffab487b20b +stationID: 570,