Skip to content

Commit

Permalink
Add bufr2ioda ctest (#207)
Browse files Browse the repository at this point in the history
A new ctest is added called `rrfs_bufr2ioda_msonet`. It runs `bufr2ioda.x` for a given prepbufr file. Then,`iodaconv_comp_rrfs.sh` is run to compare the output between the `ioda_msonet.nc` generated during the ctest and a reference version.
  • Loading branch information
SamuelDegelia-NOAA authored Oct 23, 2024
1 parent 6967dd5 commit a5e1c2f
Show file tree
Hide file tree
Showing 4 changed files with 451 additions and 4 deletions.
36 changes: 33 additions & 3 deletions rrfs-test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,9 @@ if(FV3_DYCORE)
set(MPI_ARGS ${RESTORE_MPI_ARGS})
endif()

endif()

endif()

if(MPAS_DYCORE)
if(MPAS_DYCORE)

message(STATUS "MACHINE_ID is " ${MACHINE_ID})
if("${MACHINE_ID}" STREQUAL "orion")
Expand Down Expand Up @@ -117,4 +116,35 @@ if(FV3_DYCORE)
set(MPI_ARGS ${RESTORE_MPI_ARGS})
endif()

########################
### Bufr2ioda ctests ###
########################

# YAML-based bufr2ioda
set(case "rrfs_bufr2ioda_msonet")
set(casedir "${CMAKE_CURRENT_BINARY_DIR}/rundir-${case}")
set(src_casedir "${rrfs-test_data_local}/rrfs-data_mpasjedi_2024052700")
if (NOT EXISTS "${casedir}")
file(MAKE_DIRECTORY ${casedir})
endif()
file(CREATE_LINK ${src_casedir}/data ${casedir}/data SYMBOLIC)
configure_file(${src_casedir}/data/obs/bufr/rap.t00z.prepbufr.tm00 ${casedir}/prepbufr COPYONLY)
file(COPY ${src_yaml}/${case}.yaml DESTINATION ${casedir})
set(MPI_ARGS "--time=00:05:00 --mem=64G")
set(IODA_CONV_COMP_TOL "5.0e-4")
ecbuild_add_test( TARGET ${case}
MPI 1
TYPE SCRIPT
COMMAND bash
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rundir-${case}
ARGS ${CMAKE_SOURCE_DIR}/rrfs-test/ush/iodaconv_comp_rrfs.sh
netcdf
"${CMAKE_BINARY_DIR}/bin/bufr2ioda.x ${case}.yaml"
data/obs/ioda_mesonet.nc
ioda_mesonet.nc
${IODA_CONV_COMP_TOL}
DEPENDS bufr2ioda.x )


endif()

Loading

0 comments on commit a5e1c2f

Please sign in to comment.