Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Out of place ATS #2964

Merged
merged 18 commits into from
Feb 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions host-configs/LLNL/quartz-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,12 @@ set(MKL_LIBRARIES ${MKL_ROOT}/lib/intel64/libmkl_intel_lp64.so

# ATS
set(ATS_ARGUMENTS "--machine slurm36" CACHE STRING "")
# set(USER $ENV{USER} CACHE STRING "")
# set(ATS_WORKING_DIR "/p/lustre2/${USER}/integratedTests/${CONFIG_NAME}" CACHE PATH "")
# set(ATS_BASELINE_DIR "/p/lustre2/${USER}/integratedTests/baselines" CACHE PATH "")

# Temporary argument for python module change testing
# set(GEOS_PYTHON_PACKAGES_BRANCH "feature/sherman/outOfPlaceATS" CACHE STRING "" FORCE)


include(${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import geos_ats
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So are you adding new tests? Or are you basically "removing" the links with the file they are pointing to?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm just about ready to start testing on the CI. The last steps are to figure out how we want to fetch the baselines and the default path for things on the CI.

I'm not adding/removing any tests here. Essentially, the script that I wrote did the following:

  1. Find any .ats files in the integrated tests repo
  2. Find any corresponding .xml file links in the same repo, resolving their absolute paths
  3. For each set of (absolute) test directories, create a new test file with correct xml names (or a flag to indicate that a file isn't present in the target directory)

This was followed by some manual cleanup of invalid tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We 100% should go through and further curate the test files

from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(
name="deadOilSpe10Layers84_85_smoke_2d",
description=
"Smoke test for SPE10 (2D displacement, 2-phase dead-oil, Brooks-Corey pairwise 2-phase relperm curves)",
partitions=((1, 1, 1), (2, 2, 1)),
restart_step=49,
check_step=89,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(
name="buckleyLeverett_smoke",
description=
"Smoke test for a CO2 core flood experiment (1D displacement, 2-phase dead-oil, Brooks-Corey pairwise 2-phase relperm curves)",
partitions=((1, 1, 1), (2, 1, 1)),
restart_step=9,
check_step=13,
restartcheck_params=RestartcheckParameters(**restartcheck_params))
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(
name="isothermalLeakyWell_smoke_3d",
description=
"Smoke test for isothermalLeakyWell (3D displacement, 2-phase dead-oil, hydrostatic initial condition)",
partitions=((1, 1, 1), (2, 2, 1)),
restart_step=60,
check_step=104,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(
name="thermalLeakyWell_smoke_3d",
description=
"Smoke test for thermalLeakyWell (3D displacement, 2-phase co2-brine, hydrostatic initial condition)",
partitions=((1, 1, 1), (2, 2, 1)),
restart_step=60,
check_step=104,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
17 changes: 17 additions & 0 deletions inputFiles/compositionalMultiphaseFlow/c1-ppu/c1_ppu.ats
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(name="grav_seg_c1ppu_hyst",
description="Smoke test for C1-PPU (1D displacement, C1-PPU)",
partitions=((1, 1, 1), (1, 1, 2)),
restart_step=87,
check_step=109,
restartcheck_params=RestartcheckParameters(atol=1e-4, rtol=1e-3)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

decks = [
TestDeck(
name="4comp_2ph_1d",
description=
"Compositional multiphase flow test (1D displacement, 2-phase 4-component)",
partitions=((1, 1, 1), (2, 1, 1), (3, 1, 1)),
restart_step=6,
check_step=11,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="4comp_2ph_cap_1d",
description=
"Compositional multiphase flow test (1D displacement, 2-phase 4-component, capillary pressure)",
partitions=((1, 1, 1), (2, 1, 1), (3, 1, 1)),
restart_step=118,
check_step=218,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_3ph_corey_1d",
description=
"Compositional multiphase flow test (1D displacement, 3-phase dead-oil, Brooks-Corey pairwise 2-phase relperm curves)",
partitions=((1, 1, 1), (2, 1, 1), (3, 1, 1)),
restart_step=109,
check_step=209,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="co2_hybrid_1d",
description=
"Compositional co2-brine flow test (1D displacement, hybrid FVM, Brooks-Corey pairwise 2-phase relperm curves)",
partitions=((1, 1, 1), (2, 1, 1), (3, 1, 1)),
restart_step=5,
check_step=10,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_3ph_baker_1d",
description=
"Compositional multiphase flow test (1D displacement, 3-phase dead-oil, Brooks-Corey-Baker 3-phase relperm curves)",
partitions=((1, 1, 1), (2, 1, 1), (3, 1, 1)),
restart_step=109,
check_step=209,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_3ph_staircase_3d",
description=
"Compositional multiphase flow test (3D staircase, 3-phase dead-oil, Brooks-Corey-Baker 3-phase relperm curves)",
partitions=((1, 1, 1), (2, 2, 2)),
restart_step=28,
check_step=38,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_3ph_staircase_hybrid_3d",
description=
"Compositional multiphase flow test (3D staircase, hybrid FVM, 3-phase dead-oil, Brooks-Corey-Baker 3-phase relperm curves)",
partitions=((1, 1, 1), (2, 2, 2)),
restart_step=28,
check_step=38,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_2ph_staircase_gravity_segregation_3d",
description=
"Compositional multiphase flow test (3D staircase, no-flow BC, 2-phase dead-oil, hysteresis)",
partitions=((1, 1, 1), (2, 2, 2)),
restart_step=61,
check_step=121,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="co2_flux_3d",
description=
"Compositional co2-brine flow test (3D co2 injection, 2-phase co2-brine, Brooks-Corey 2-phase relperm curves)",
partitions=((1, 1, 1), (2, 2, 2), (3, 3, 3)),
restart_step=10,
check_step=20,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="deadoil_3ph_staircase_obl_3d",
description=
"Smoke test for a staircase deadoil test (3D displacement, 3-phase dead-oil, OBL)",
partitions=((1, 1, 1), (2, 2, 2)),
restart_step=28,
check_step=38,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import os
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

# exclude any derivative fields from restart checks
# example field name: dGlobalComponentFraction_dPressure
#restartcheck_params["exclude"] = [r"d[A-Z]\w+_d[A-Z]\w+"]

decks = [
TestDeck(
name="class09_pb3_smoke_3d",
description=
"Smoke test for the Johansen model (3D displacement, structured mesh, CO2-brine)",
partitions=[(1, 1, 1), (2, 2, 2)],
restart_step=5,
check_step=10,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import os
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

# exclude any derivative fields from restart checks
# example field name: dGlobalComponentFraction_dPressure
#restartcheck_params["exclude"] = [r"d[A-Z]\w+_d[A-Z]\w+"]

decks = [
TestDeck(
name="deadOilEgg_smoke_3d",
description=
"Smoke test for the Egg model (3D displacement, structured mesh, 2-phase dead-oil, many wells)",
partitions=[
(1, 1, 1),
],
restart_step=20,
check_step=35,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
]

generate_geos_tests(decks)
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
import os
import geos_ats
from geos_ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests

restartcheck_params = {}
restartcheck_params["atol"] = 1.0E-6
restartcheck_params["rtol"] = 1.0E-5

# exclude any derivative fields from restart checks
# example field name: dGlobalComponentFraction_dPressure
#restartcheck_params["exclude"] = [r"d[A-Z]\w+_d[A-Z]\w+"]

decks = [
TestDeck(
name="compositional_multiphase_wells_1d",
description=
"Compositional multiphase well test (1D displacement, 2-phase 4-component, 2 wells)",
partitions=[(1, 1, 1), (2, 1, 1)],
restart_step=5,
check_step=10,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="compositional_multiphase_wells_2d",
description=
"Compositional multiphase flow test (2D displacement, 2-phase 4-component, 3 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=3,
check_step=7,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="dead_oil_wells_2d",
description=
"Dead oil well test (2D displacement, 3-phase dead-oil, 3 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=50,
check_step=100,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="dead_oil_wells_hybrid_2d",
description=
"Dead oil well test (2D displacement, hybrid FVM, 3-phase dead-oil, 3 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=50,
check_step=100,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="black_oil_wells_saturated_3d",
description=
"Black oil well test (3D displacement, 3-phase black-oil, 2 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=13,
check_step=25,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="black_oil_wells_unsaturated_3d",
description=
"Black oil well test (3D displacement, hybrid FVM, 3-phase black-oil, 2 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=8,
check_step=12,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="staircase_co2_wells_3d",
description=
"CO2 well test (3D staircase, 2-phase 2-component, 2 wells)",
partitions=[(1, 1, 1), (2, 2, 2)],
restart_step=3,
check_step=5,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="staircase_co2_wells_hybrid_3d",
description=
"CO2 well test (3D staircase, unstructured mesh, hybrid FVM, 2-phase 2-component, 2 wells)",
partitions=[(1, 1, 1), (2, 2, 2)],
restart_step=0,
check_step=17,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="black_oil_wells_saturated_3d_stone2",
description=
"Black oil well test using stone2 interp (3D displacement, hybrid FVM, 3-phase black-oil, 2 wells)",
partitions=[(1, 1, 1), (2, 2, 1)],
restart_step=12,
check_step=25,
restartcheck_params=RestartcheckParameters(**restartcheck_params))
]

generate_geos_tests(decks)
Loading