Skip to content

Commit

Permalink
IOSS: Add two conjoin changeset tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gdsjaar committed Jan 17, 2025
1 parent f0760b0 commit 1d0b9cd
Showing 1 changed file with 56 additions and 3 deletions.
59 changes: 56 additions & 3 deletions packages/seacas/libraries/ioss/src/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,11 @@ TRIBITS_ADD_ADVANCED_TEST(exodus32_to_exodus32
)

if (TPL_Netcdf_Enables_Netcdf4)
SET(IOSHELL_ARG --split_times 1 --in_type generated 10x10x10+shell:xXyYzZ+times:4+variables:element,2,nodal,3)
SET(IOSHELL_ARG --in_type generated 10x10x10+shell:xXyYzZ+times:4+variables:element,2,nodal,3)
SET(SPLIT_ARG --split_times 1)
TRIBITS_ADD_ADVANCED_TEST(
io_shell_group_ungroup
TEST_0 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS ${IOSHELL_ARG} splits.g
TEST_0 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS ${SPLIT_ARG} ${IOSHELL_ARG} splits.g
TEST_1 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS splits.g_1 splits.g_2 splits.g_3 splits.g_4 grouped.g
TEST_2 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --extract_group splits.g_1 grouped.g split-extract.g_1
TEST_3 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --extract_group splits.g_2 grouped.g split-extract.g_2
Expand All @@ -155,7 +156,59 @@ TRIBITS_ADD_ADVANCED_TEST(exodus32_to_exodus32
COMM serial
FINAL_PASS_REGULAR_EXPRESSION
)
endif()

if (${CMAKE_PROJECT_NAME}_ENABLE_SEACASConjoin)
# Use io_shell to generate several files with each timestep in a separate file
# Then join those sepearte files into a single file with each in a separate changeset
# Then use conjoin to "squash" the changesets into a single "normal" file
# Compare this file with the same file generated without using changesets...
TRIBITS_ADD_ADVANCED_TEST(
io_shell_cs_time_conjoin
TEST_0 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS ${SPLIT_ARG} ${IOSHELL_ARG} csplits.g
TEST_1 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS csplits.g_1 csplits.g_2 csplits.g_3 csplits.g_4 changesets.g
TEST_2 EXEC conjoin ARGS --output conjoined.g --element_status_variable=NONE --nodal_status_variable=NONE changesets.g
DIRECTORY ../../../../applications/conjoin
NOEXEPREFIX NOEXESUFFIX
NUM_MPI_PROCS 1
TEST_3 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS ${IOSHELL_ARG} generated.g
TEST_4 EXEC exodiff ARGS -pedantic conjoined.g generated.g
DIRECTORY ../../../../applications/exodiff
NOEXEPREFIX NOEXESUFFIX
NUM_MPI_PROCS 1
COMM serial
FINAL_PASS_REGULAR_EXPRESSION
)

# Use io_shell to generate multiple files with different geometry, but similar variable names
# Then join those sepearte files into a single file with each in a separate changeset
# Then use conjoin to "squash" the changesets into a single "normal" file
# Then use conjoin to "squash" the individual files into a single "normal" file
# Compare the two conjoin outputs...
SET(GENARG tdelta:0.1+variables:global,1,nodal,2,element,3+bbox:0,0,0,1,1,1)
TRIBITS_ADD_ADVANCED_TEST(
io_shell_cs_geometry_conjoin
TEST_0 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --in_type generated 1x1x1+times:2+tinit:0.0+${GENARG} single.g
TEST_1 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --in_type generated 2x2x2+times:2+tinit:0.3+${GENARG} double.g
TEST_2 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --in_type generated 3x3x3+times:2+tinit:0.5+${GENARG} triple.g
TEST_3 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS --in_type generated 4x4x4+times:2+tinit:0.7+${GENARG} quad.g
TEST_4 NOEXEPREFIX NOEXESUFFIX EXEC io_shell ARGS single.g double.g triple.g quad.g geometry.g
TEST_5 EXEC conjoin ARGS --output cs_conjoined.g geometry.g
DIRECTORY ../../../../applications/conjoin
NOEXEPREFIX NOEXESUFFIX
NUM_MPI_PROCS 1
TEST_6 EXEC conjoin ARGS --output raw_conjoined.g single.g double.g triple.g quad.g
DIRECTORY ../../../../applications/conjoin
NOEXEPREFIX NOEXESUFFIX
NUM_MPI_PROCS 1
TEST_7 EXEC exodiff ARGS -pedantic cs_conjoined.g raw_conjoined.g
DIRECTORY ../../../../applications/exodiff
NOEXEPREFIX NOEXESUFFIX
NUM_MPI_PROCS 1
COMM serial
FINAL_PASS_REGULAR_EXPRESSION
)
endif()
endif()

if (TPL_ENABLE_MPI)
IF (TPL_Netcdf_PARALLEL)
Expand Down

0 comments on commit 1d0b9cd

Please sign in to comment.