Skip to content

Commit

Permalink
Merge branch 'feature/aronson/strainOutput' of https://github.com/GEO…
Browse files Browse the repository at this point in the history
…S-DEV/GEOS into feature/aronson/strainOutput
  • Loading branch information
ryar9534 committed Jun 20, 2024
2 parents b33ab2d + 0255567 commit 0956ef2
Show file tree
Hide file tree
Showing 335 changed files with 19,702 additions and 2,818 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"build": {
"dockerfile": "Dockerfile",
"args": {
"GEOS_TPL_TAG": "263-252"
"GEOS_TPL_TAG": "262-349"
}
},
"runArgs": [
Expand Down
1 change: 0 additions & 1 deletion .devcontainer/postCreateCommand.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
/usr/bin/ln -s /workspaces/GEOS/.vscode-codespaces /workspaces/GEOS/.vscode
# Activate the appropriate submodules
git submodule init
git submodule deinit integratedTests
git submodule update
# Load the pretty printer for LvArray
echo "source /workspaces/GEOS/src/coreComponents/LvArray/scripts/gdb-printers-shallow.py" > ~/.gdbinit
84 changes: 67 additions & 17 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,16 @@ on:
RUNS_ON:
required: true
type: string
UPLOAD_BASELINES:
required: false
type: string
USE_SCCACHE:
required: false
type: boolean
default: true
REQUIRED_LABEL:
required: false
type: string
LOCAL_BASELINE_DIR:
required: false
type: string
secrets:
GOOGLE_CLOUD_GCP:
required: false
Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
SHORT_COMMIT=${COMMIT:0:7}
script_args+=(--install-dir-basename GEOSX-${SHORT_COMMIT})
# All the data exchanged with the docker container is eventually meant to be send to the cloud.
# All the data exchanged with the docker container is eventually meant to be sent to the cloud.
if [[ ! -z "${{ inputs.GCP_BUCKET }}" ]]; then
if [ "${{ inputs.BUILD_TYPE }}" = "build" ]; then
DATA_BASENAME=GEOSX-and-TPL-${SHORT_COMMIT}.tar.gz
Expand Down Expand Up @@ -205,6 +205,45 @@ jobs:
script_args+=(--code-coverage)
fi
if [[ -n "${{ inputs.LOCAL_BASELINE_DIR }}" ]]; then
# Extract the 'baseline' value
# Define the path to the YAML file
YAML_FILE_PATH="${GITHUB_WORKSPACE}/.integrated_tests.yaml"
# Verify the YAML file path
if [[ ! -f "${YAML_FILE_PATH}" ]]; then
echo "Error: File $YAML_FILE_PATH does not exist."
else
echo "Found integratedTests file: $YAML_FILE_PATH."
fi
# Extract the baseline field
BASELINE_FULL_PATH=$(grep -A 2 'baselines:' "${YAML_FILE_PATH}" | grep 'baseline:' | awk '{print $2}')
# Remove the 'integratedTests/' prefix
BASELINE_TAG=${BASELINE_FULL_PATH#integratedTests/}
echo "Baseline: ${BASELINE_TAG}"
# Extract the folder name
PR_NUMBER=$(echo "$BASELINE_TAG" | grep -o 'pr[0-9]*')
PR_BASELINE_FOLDER_NAME=baselines_${PR_NUMBER}
echo "Baseline folder name: ${PR_BASELINE_FOLDER_NAME}"
CURRENT_BASELINE_DIR=${{ inputs.LOCAL_BASELINE_DIR }}/${PR_BASELINE_FOLDER_NAME}
echo "Current baseline dir: ${CURRENT_BASELINE_DIR}"
if [ -d ${CURRENT_BASELINE_DIR} ];then
echo "Current baseline dir found."
ls -l ${CURRENT_BASELINE_DIR}
# We defined a mount point and mount it read-only inside the container.
CURRENT_BASELINE_DIR_MOUNT=/tmp/geos/baselines
docker_args+=(--volume=${CURRENT_BASELINE_DIR}:${CURRENT_BASELINE_DIR_MOUNT}:ro)
else
echo "Current baselines directory (${CURRENT_BASELINE_DIR}) not found"
fi
fi
echo running "docker run \
${docker_args[@]} \
Expand Down Expand Up @@ -241,22 +280,33 @@ jobs:
echo "Download integrated test logs here: https://storage.googleapis.com/${{ inputs.GCP_BUCKET }}/test_logs_${DATA_BASENAME}"
fi
# if $UPLOAD_BASELINES; then
if [ -f ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} ];then
CLOUDSDK_PYTHON=python3 gsutil cp -a public-read ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} gs://${{ inputs.GCP_BUCKET }}/
echo "Download test baselines here: https://storage.googleapis.com/${{ inputs.GCP_BUCKET }}/baseline_${DATA_BASENAME}"
echo "New baseline ID: baseline_${DATA_BASENAME::-7}"
else
echo "Baselines ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} were not uploaded. Likeyly because no rebaseline was necessary."
if [ -f ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} ];then
if [[ -n "${{ inputs.LOCAL_BASELINE_DIR }}" ]]; then
# 1. We copy the baselines to a local directory to store them
# 1.a Create the new target directory to store the new baselines
THIS_PR_NUMBER=pr${{ github.event.number }}
NEW_PR_BASELINE_FOLDER_NAME=baselines_${THIS_PR_NUMBER}
TARGET_DIR="${{ inputs.LOCAL_BASELINE_DIR }}/${NEW_PR_BASELINE_FOLDER_NAME}"
echo "Create folder ${TARGET_DIR}"
mkdir -p "${TARGET_DIR}"
# 1.b We copy the new baselines to the new target directory
SOURCE_FILE="${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME}"
echo "Copy ${SOURCE_FILE} to ${TARGET_DIR}"
cp "${SOURCE_FILE}" "${TARGET_DIR}"
fi
# fi
# 2. We push the baselines to the cloud
CLOUDSDK_PYTHON=python3 gsutil cp -a public-read ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} gs://${{ inputs.GCP_BUCKET }}/
echo "Download test baselines here: https://storage.googleapis.com/${{ inputs.GCP_BUCKET }}/baseline_${DATA_BASENAME}"
echo "New baseline ID: baseline_${DATA_BASENAME::-7}"
else
echo "Baselines ${DATA_EXCHANGE_DIR}/baseline_${DATA_BASENAME} were not uploaded. Likeyly because no rebaseline was necessary."
fi
fi
fi
# manually remove the workspace to avoid issues with the next job when using self-hosted runners
if [ -d "${GITHUB_WORKSPACE}/integratedTests" ]; then
rm -rf ${GITHUB_WORKSPACE}/integratedTests
fi
exit ${EXIT_STATUS}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -199,13 +199,13 @@ jobs:
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
GCP_BUCKET: geosx/integratedTests
RUNS_ON: streak2
RUNS_ON: streak2-32core
NPROC: 32
DOCKER_RUN_ARGS: "--cpus=32 --memory=384g -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro"
DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates"
DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates"
REQUIRED_LABEL: "ci: run integrated tests"
UPLOAD_BASELINES: "ci: upload test baselines"
LOCAL_BASELINE_DIR: /data/GEOS/baselines

baseline_log:
needs: [is_not_draft_pull_request]
Expand Down
3 changes: 1 addition & 2 deletions .integrated_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
baselines:
bucket: geosx
baseline: integratedTests/baseline_integratedTests-pr3125-5101-7764ffb
baseline: integratedTests/baseline_integratedTests-pr3170-5687-d6e16c7

allow_fail:
all: ''
Expand Down
96 changes: 90 additions & 6 deletions BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,128 @@ This file is designed to track changes to the integrated test baselines.
Any developer who updates the baseline ID in the .integrated_tests.yaml file is expected to create an entry in this file with the pull request number, date, and their justification for rebaselining.
These notes should be in reverse-chronological order, and use the following time format: (YYYY-MM-DD).

PR #3170 (2024-06-19)
======================
Fix tutorial example for thermal debonding wellbore problem. Test case modified.


PR #3130 (2024-06-19)
======================
New solver for contact mechanics based on the Augmented Lagrangian Method (ALM). New test case added.


PR #3160 (2024-06-18)
======================
Two experimental options for compositional flow solver. Rebaseline because of the new input flags.


PR #3165 (2024-06-18)
======================
Small bug fix. Rebaseline required due to appearance of useTotalMassEquation in well solver params. No real results change.


PR #3088 (2024-06-17)
======================
Adding temperature-dependent Solid Volumetric Heat Capacity. Rebaseline because of the parameter change in SolidInternalEnergy.


PR #3100 (2024-06-14)
======================
Adding pressure stabilization for single phase poromechanics.


PR #3133 (2024-06-14)
======================
Fix node ordering for faceElements.


PR #3021 (2024-06-13)
======================
Preparatory work for fractures + wells. New test case added.


PR #3152 (2024-06-13)
======================
Some random things. Baseline update because of the new parameter (minScalingFactor).


PR #3138 (2024-06-11)
======================
Properly sync nonlinear solver params for coupled solver. Baseline update mostly due to number of iterations change in baseline files.


PR #3140 (2024-06-11)
======================
Fixed derivative in EzrokhiBrineDensity


PR #3080 (2024-06-07)
=====================
Rebaseline after adding viscoelastic wave propagator.


PR #3075 (2024-06-05)
=====================
Introduce configuration tolerance. Rebaseline because of the new parameter in NonlinearSolverParameters.


PR #3120 (2024-06-05)
=====================
Add missing compositionalMultiphaseFlow tests into ATS and adjust output naming. Rebaseline accordingly.


PR #3113 (2024-06-05)
=====================
Add general version updateConfiguration. Rebaseline of some edfm cases is needed.


PR #3050 (2024-05-20)
=====================
Spatially varying grain bulk modulus. Rebaseline of all poromechanics cases needed.


PR #3141 (2024-05-28)
=====================
Test cashing baselines locally.


PR #3125 (2024-05-16)
=====================
Remove field to store pressure gradient cell-wise for solvers that don't need it.


PR #2110 (2024-05-13)
=====================
new field to store pressure gradient cell-wise.


PR #3060 (2024-05-13)
======================

Rebaselined after addition of elastic VTI wave propagator.


PR #4950 (2024-05-10)
======================

Added smoke tests for SeismicityRate solver in inducedSeismicity.


PR #3086 (2024-05-09)
======================

Added a presure-dependent permeability model and the transmissibility calculation in the CellElementStencil


PR #3105 (2024-05-08)
======================

Added missing derivative for temperature, hence small numerical diffs in thermal tests results and numeracal behavior


PR #2917 (2024-05-07)
======================

New fields for wellsControls: wellControls1_ConstantMassRate_table, targetMassRate, massDensity, ...


PR #3044 (2024-05-02)
======================

Removed old integratedTests submodule
Implemented new baseline storage
Implemented new CI integrated tests
1 change: 0 additions & 1 deletion host-configs/LLNL/lassen-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ set(ESSL_LIBRARIES /usr/tcetmp/packages/essl/essl-6.3.0.2/lib64/libesslsmpcuda.s
# TPL
set(ENABLE_PAPI OFF CACHE BOOL "")
set(SILO_BUILD_TYPE powerpc64-unknown-linux-gnu CACHE STRING "")
set(ENABLE_FESAPI OFF CACHE BOOL "" FORCE)

# GEOSX specific options
set(ENABLE_PVTPackage ON CACHE BOOL "")
Expand Down
2 changes: 0 additions & 2 deletions host-configs/LLNL/quartz-base.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ set(YAPF_EXECUTABLE /usr/gapps/GEOSX/thirdPartyLibs/python/quartz-gcc-python/pyt
set(SPHINX_EXECUTABLE /usr/gapps/GEOSX/thirdPartyLibs/python/quartz-gcc-python/python/bin/sphinx-build CACHE PATH "" FORCE)


set(ENABLE_FESAPI OFF CACHE BOOL "" FORCE)

# caliper
set(ENABLE_CALIPER ON CACHE BOOL "" FORCE)
set(ENABLE_CALIPER_HYPRE ON CACHE BOOL "" FORCE)
Expand Down
65 changes: 65 additions & 0 deletions host-configs/TOTAL/pangea4-base.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#######################################
#
# Pangea4 - base config for CPU cluster
#
# - RAJA CPU
# - CHAI CPU
# - CUDA OFF
# - OPENMP OFF
# - HYPRE ON
#
#######################################

#######################################
# SCIENTIFIC LIBRARIES
#######################################

set( ENABLE_HYPRE ON CACHE BOOL "" FORCE )
set( ENABLE_MATHPRESSO ON CACHE BOOL "" FORCE )
set( ENABLE_PAMELA ON CACHE BOOL "" FORCE )
set( ENABLE_PETSC OFF CACHE BOOL "" FORCE )
set( ENABLE_PVTPackage ON CACHE BOOL "" FORCE )
set( ENABLE_SCOTCH ON CACHE BOOL "" FORCE )
set( ENABLE_SUITESPARSE ON CACHE BOOL "" FORCE )
set( ENABLE_TRILINOS OFF CACHE BOOL "" FORCE )
set( ENABLE_VTK ON CACHE BOOL "" FORCE )

#######################################
# DEVELOPMENT TOOLS
#######################################

set( ENABLE_DOXYGEN ON CACHE BOOL "" FORCE )
set( ENABLE_GTEST_DEATH_TESTS ON CACHE BOOL "" FORCE )
set( ENABLE_SPHINX ON CACHE BOOL "" FORCE )
set( ENABLE_UNCRUSTIFY ON CACHE BOOL "" FORCE )
set( ENABLE_XML_UPDATES ON CACHE BOOL "" FORCE )

#######################################
# PERFORMANCE TOOLS
#######################################

set( ENABLE_BENCHMARKS ON CACHE BOOL "" FORCE )
set( ENABLE_CALIPER ON CACHE BOOL "" FORCE )

#######################################
# RAJA/CHAI SETUP
#######################################

set( ENABLE_OPENMP OFF CACHE BOOL "" FORCE )
set( ENABLE_CUDA OFF CACHE BOOL "" FORCE )

set( ENABLE_CHAI ON CACHE BOOL "" FORCE )
set( CHAI_BUILD_TYPE "cpu-no-rm" CACHE STRING "" FORCE )
set( CHAI_ARGS "" CACHE STRING "" FORCE )

set( ENABLE_RAJA ON CACHE BOOL "" FORCE )
set( RAJA_ENABLE_HIP OFF CACHE BOOL "" FORCE )
set( RAJA_ENABLE_OPENMP OFF CACHE BOOL "" FORCE )
set( RAJA_ENABLE_TBB OFF CACHE BOOL "" FORCE )

#######################################
# PYTHON SETUP
#######################################

set( ENABLE_PYGEOSX ON CACHE BOOL "" )
set( ENABLE_VTK_WRAP_PYTHON ON CACHE BOOL "" )
Loading

0 comments on commit 0956ef2

Please sign in to comment.