From 9a88cdc51ec26172907775796f245e4687408c22 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Wed, 9 Jul 2025 13:48:28 +0200 Subject: [PATCH 01/16] FindHypre: Added cusolver to linking step Hypre 2.33.0 requires this. --- cmake/modules/FindHypre.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/modules/FindHypre.cmake b/cmake/modules/FindHypre.cmake index 933955435..d7a56ff3d 100644 --- a/cmake/modules/FindHypre.cmake +++ b/cmake/modules/FindHypre.cmake @@ -149,6 +149,12 @@ if (Hypre_FOUND AND NOT TARGET Hypre::Hypre) list(APPEND _cuda_targets CUDA::cusparse) endif() + if(TARGET CUDA::cusolver_static) + list(APPEND _cuda_targets CUDA::cusolver_static) + elseif(TARGET CUDA::cusolver) + list(APPEND _cuda_targets CUDA::cusolver) + endif() + string(JOIN ", " _hypre_cuda_targets ${_cuda_targets}) target_link_libraries(Hypre::Hypre INTERFACE ${_cuda_targets}) message(STATUS "Found Hypre with CUDA backend. The ff. CUDA targets will be added to the linker options: ${_hypre_cuda_targets}") From b181df1b58c4ba576fed9db66ae31d2633b4e97a Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 13:20:39 +0200 Subject: [PATCH 02/16] ppend MPI include dir to CMAKE_CUDA_FLAGS Fixes the ff. compile issue: [ 12%] Building CUDA object pfsimulator/amps/CMakeFiles/amps.dir/oas3/amps_gpupacking.cu.o In file included from parflow/pfsimulator/amps/oas3/amps_gpupacking.cu:24: parflow/pfsimulator/amps/oas3/amps.h:80:10: fatal error: mpi.h: No such file or directory 80 | #include | ^~~~~~~ --- CMakeLists.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39c03febb..ae28b51c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -224,6 +224,30 @@ if ( ${PARFLOW_AMPS_LAYER} IN_LIST PARFLOW_AMPS_LAYER_REQUIRE_MPI ) set(PARFLOW_HAVE_MPI "yes") set(HAVE_MPI ${PARFLOW_HAVE_MPI}) message(STATUS "Found MPIEXEC: ${MPIEXEC}") + + # Need to pass MPI include header to nvcc to avoid missing error at amps.h. + if (${PARFLOW_HAVE_CUDA}) + if (MPI_C_INCLUDE_DIRS) + # Construct the compiler string for the include directories. + foreach(dir ${MPI_C_INCLUDE_DIRS}) + string(APPEND CUDA_MPI_INCLUDES "-I${dir} ") + endforeach() + else() + # Guess MPI include dir from MPI_HOME (if it exists) + # https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/FindMPI.cmake?ref_type=heads#L120 + if(DEFINED CACHE{MPI_HOME}) + set(CUDA_MPI_INCLUDES -I${MPI_HOME}/include) + elseif(DEFINED ENV{MPI_HOME}) + set(CUDA_MPI_INCLUDES -I$ENV{MPI_HOME}/include) + endif() + endif() + + if(CUDA_MPI_INCLUDES) + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${CUDA_MPI_INCLUDES}") + else() + message(WARNING "MPI include dir not found. This might cause compile problems when building CUDA sources with MPI headers.") + endif() + endif() endif (${MPI_C_FOUND}) endif ( ${PARFLOW_AMPS_LAYER} IN_LIST PARFLOW_AMPS_LAYER_REQUIRE_MPI ) From 793255bd0ad376bd10ca7cf8d806088374c08bd0 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 14:10:20 +0200 Subject: [PATCH 03/16] CI: Build CUDA-aware Hypre for ParFlow CUDA backend --- .github/workflows/linux.yml | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a7aadc95e..6e7e740a4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -467,15 +467,37 @@ jobs: - name: HYPRE Install env: CACHE_HIT: ${{steps.cache-parflow-dependencies.outputs.cache-hit}} + if: matrix.config.backend != 'cuda' run: | if [[ "$CACHE_HIT" != 'true' ]]; then - URL=https://github.com/hypre-space/hypre/archive/v2.26.0.tar.gz - mkdir hypre - cd hypre - curl -L $URL | tar --strip-components=1 -xz - cd src - ./configure --prefix=$PARFLOW_DEP_DIR - make -j 2 install + # Download + wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz + tar xf v2.33.0.tar.gz && cd hypre-2.33.0 + + # Install + cmake -S src -B bld \ + -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ + -DHYPRE_ENABLE_OPENMP="ON" + cmake --build bld --parallel 4 + cmake --install bld + fi + + - name: HYPRE Install for CUDA + env: + CACHE_HIT: ${{steps.cache-parflow-dependencies.outputs.cache-hit}} + if: matrix.config.backend == 'cuda' + run: | + if [[ "$CACHE_HIT" != 'true' ]]; then + # Download + wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz + tar xf v2.33.0.tar.gz && cd hypre-2.33.0 + + # Install + cmake -S src -B bld \ + -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ + -DHYPRE_ENABLE_CUDA="ON" + cmake --build bld --parallel 4 + cmake --install bld fi - name: ParFlow CMake Configure From 049d3e6eec09a720b5333f9afbefce6f77137896 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 14:23:20 +0200 Subject: [PATCH 04/16] CI: Combined Hypre OpenMP/CUDA build into a single step --- .github/workflows/linux.yml | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 6e7e740a4..21fff6db9 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -467,37 +467,24 @@ jobs: - name: HYPRE Install env: CACHE_HIT: ${{steps.cache-parflow-dependencies.outputs.cache-hit}} - if: matrix.config.backend != 'cuda' run: | if [[ "$CACHE_HIT" != 'true' ]]; then # Download wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz tar xf v2.33.0.tar.gz && cd hypre-2.33.0 + if [[ "${{ matrix.config.backend }}" == "cuda" ]]; then + BACKEND="CUDA" + else + BACKEND="OPENMP" + fi # Install cmake -S src -B bld \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ - -DHYPRE_ENABLE_OPENMP="ON" - cmake --build bld --parallel 4 - cmake --install bld - fi - - - name: HYPRE Install for CUDA - env: - CACHE_HIT: ${{steps.cache-parflow-dependencies.outputs.cache-hit}} - if: matrix.config.backend == 'cuda' - run: | - if [[ "$CACHE_HIT" != 'true' ]]; then - # Download - wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz - tar xf v2.33.0.tar.gz && cd hypre-2.33.0 - - # Install - cmake -S src -B bld \ - -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ - -DHYPRE_ENABLE_CUDA="ON" + -DHYPRE_ENABLE_${BACKEND}="ON" cmake --build bld --parallel 4 cmake --install bld + echo "" && echo "Successfully built Hypre-${BACKEND}" fi - name: ParFlow CMake Configure From 841ae883d1e5badc3aed6782d56f32a969d5e1d9 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 15:12:38 +0200 Subject: [PATCH 05/16] CI: Installed NVidia and CUDA from official Ubuntu apt repos --- .github/workflows/linux.yml | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 21fff6db9..edf93846a 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -305,27 +305,14 @@ jobs: fi echo "$HOME/depend/cmake-3.26.5-linux-x86_64/bin" >> $GITHUB_PATH - - name: NVidia Driver Install + - name: NVidia compiler and CUDA toolkit Install if: matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos' - run: | - sudo add-apt-repository -y ppa:graphics-drivers - sudo apt-get update -qq - sudo apt-get install -y nvidia-driver-535 - - - name: CUDA Install - if: matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos' - run: | - export CUDA_VERSION_MAJOR_MINOR=12.4.0 - export CUDA_SHORT=12.4 - export CUDA_OS=${{ matrix.config.cudaos }} - ./bin/install-cuda.sh - export CUDA_HOME=/usr/local/cuda-${CUDA_SHORT} - echo "CUDA_HOME=${CUDA_HOME}" >> $GITHUB_ENV - export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} - echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" >> $GITHUB_ENV - export LIBRARY_PATH=${CUDA_HOME}/lib64/stubs - echo "LIBRARY_PATH=${LIBRARY_PATH}" >> $GITHUB_ENV - echo "${CUDA_HOME}/bin" >> $GITHUB_PATH + name: Install CUDA compiler and libraries + uses: awalsh128/cache-apt-pkgs-action@latest + with: + packages: nvidia-cuda-toolkit nvidia-cuda-dev + version: 1.0 + execute_install_scripts: true - name: UCX if: matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos' From 109c48928c5ceebb012afdd48d970982687d948b Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 15:32:27 +0200 Subject: [PATCH 06/16] CI: Removed duplicate "name" --- .github/workflows/linux.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index edf93846a..d60a7cf55 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -307,7 +307,6 @@ jobs: - name: NVidia compiler and CUDA toolkit Install if: matrix.config.backend == 'cuda' || matrix.config.backend == 'kokkos' - name: Install CUDA compiler and libraries uses: awalsh128/cache-apt-pkgs-action@latest with: packages: nvidia-cuda-toolkit nvidia-cuda-dev From def9dc036bfd0efa1003ce7a5f952a14d690b78e Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 15:54:01 +0200 Subject: [PATCH 07/16] CI: Build Umpire with mpicxx to bypass GCC 13.x error thrown by nvcc --- .github/workflows/linux.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d60a7cf55..ce0118909 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -352,11 +352,12 @@ jobs: if [[ "$CACHE_HIT" != 'true' ]]; then git clone --recursive https://github.com/LLNL/Umpire.git cd Umpire - mkdir build - cd build - cmake ../ -DCMAKE_INSTALL_PREFIX=$PARFLOW_DEP_DIR/Umpire -DENABLE_CUDA=On - make - make install + cmake -S . -B bld \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -DCMAKE_INSTALL_PREFIX=$PARFLOW_DEP_DIR/Umpire \ + -DENABLE_CUDA=On + cmake --build bld --parallel 4 + cmake --install bld fi echo "UMPIRE_FLAGS=-Dumpire_ROOT=$PARFLOW_DEP_DIR/Umpire" >> $GITHUB_ENV From 90f2b6eb4f9376a07752418b878e6eb221dda1a0 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 15:59:56 +0200 Subject: [PATCH 08/16] CI: Fixed typo at Umpire build --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ce0118909..8ef119c04 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -355,7 +355,7 @@ jobs: cmake -S . -B bld \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_INSTALL_PREFIX=$PARFLOW_DEP_DIR/Umpire \ - -DENABLE_CUDA=On + -DENABLE_CUDA="ON" cmake --build bld --parallel 4 cmake --install bld fi From 8a45d004b2101ea5a826f5a3d1b7089390bf03f8 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 18:46:31 +0200 Subject: [PATCH 09/16] CI: Fixed typo at Umpire build --- .github/workflows/linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8ef119c04..557cf018b 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -352,9 +352,9 @@ jobs: if [[ "$CACHE_HIT" != 'true' ]]; then git clone --recursive https://github.com/LLNL/Umpire.git cd Umpire - cmake -S . -B bld \ - -DCMAKE_CXX_COMPILER=mpicxx \ - -DCMAKE_INSTALL_PREFIX=$PARFLOW_DEP_DIR/Umpire \ + cmake -S . -B bld \ + -DCMAKE_CXX_COMPILER=mpicxx \ + -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}/Umpire" \ -DENABLE_CUDA="ON" cmake --build bld --parallel 4 cmake --install bld From ca20e41458d33b9552d4b24ecac08cbcaec5083d Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 19:09:41 +0200 Subject: [PATCH 10/16] CI: Compiled Hypre with mpicc --- .github/workflows/linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 557cf018b..362869ea8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -467,6 +467,7 @@ jobs: fi # Install cmake -S src -B bld \ + -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ -DHYPRE_ENABLE_${BACKEND}="ON" cmake --build bld --parallel 4 From c3757fb6708858f52d7b58efbd3fc7431dc79038 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 19:29:22 +0200 Subject: [PATCH 11/16] CI: More tweaks to Hypre build options. --- .github/workflows/linux.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 362869ea8..dd29656d0 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -460,15 +460,22 @@ jobs: wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz tar xf v2.33.0.tar.gz && cd hypre-2.33.0 + # Set Hypre backend if [[ "${{ matrix.config.backend }}" == "cuda" ]]; then BACKEND="CUDA" else BACKEND="OPENMP" fi - # Install + + # Default Hypre build options are exposed below to know which Hypre features are enabled/disabled. + # See the full list of options here: https://hypre.readthedocs.io/en/latest/ch-misc.html#build-system-options cmake -S src -B bld \ -DCMAKE_C_COMPILER=mpicc \ + -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ + -DHYPRE_ENABLE_MPI="ON" \ + -DHYPRE_ENABLE_HYPRE_LAPACK="OFF" \ + -DHYPRE_ENABLE_HYPRE_BLAS="OFF" \ -DHYPRE_ENABLE_${BACKEND}="ON" cmake --build bld --parallel 4 cmake --install bld From c1f6ef244f5090d6918e84ace53ce46221b32dae Mon Sep 17 00:00:00 2001 From: kvrigor Date: Thu, 10 Jul 2025 19:46:59 +0200 Subject: [PATCH 12/16] CI: More tweaks to Hypre and Umpire build options. --- .github/workflows/linux.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index dd29656d0..0bcaac564 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -355,6 +355,7 @@ jobs: cmake -S . -B bld \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}/Umpire" \ + -DENABLE_MPI="ON" \ -DENABLE_CUDA="ON" cmake --build bld --parallel 4 cmake --install bld @@ -460,22 +461,19 @@ jobs: wget https://github.com/hypre-space/hypre/archive/v2.33.0.tar.gz tar xf v2.33.0.tar.gz && cd hypre-2.33.0 - # Set Hypre backend + # Set Hypre accelerator backend if [[ "${{ matrix.config.backend }}" == "cuda" ]]; then - BACKEND="CUDA" + BACKEND="CUDA" # GPU else - BACKEND="OPENMP" + BACKEND="OPENMP" # CPU fi - # Default Hypre build options are exposed below to know which Hypre features are enabled/disabled. - # See the full list of options here: https://hypre.readthedocs.io/en/latest/ch-misc.html#build-system-options + # Install Hypre. See https://hypre.readthedocs.io/en/latest/ch-misc.html#build-system-options cmake -S src -B bld \ -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}" \ -DHYPRE_ENABLE_MPI="ON" \ - -DHYPRE_ENABLE_HYPRE_LAPACK="OFF" \ - -DHYPRE_ENABLE_HYPRE_BLAS="OFF" \ -DHYPRE_ENABLE_${BACKEND}="ON" cmake --build bld --parallel 4 cmake --install bld From 47477250e2932123c7083a15158595cdd6d2fc4c Mon Sep 17 00:00:00 2001 From: kvrigor Date: Fri, 11 Jul 2025 08:19:29 +0200 Subject: [PATCH 13/16] CI: Disabled MPI in Umpire --- .github/workflows/linux.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0bcaac564..386ea9873 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -355,7 +355,6 @@ jobs: cmake -S . -B bld \ -DCMAKE_CXX_COMPILER=mpicxx \ -DCMAKE_INSTALL_PREFIX="${PARFLOW_DEP_DIR}/Umpire" \ - -DENABLE_MPI="ON" \ -DENABLE_CUDA="ON" cmake --build bld --parallel 4 cmake --install bld From 258fb925f5a02c7f231507799fad0a1b867578e5 Mon Sep 17 00:00:00 2001 From: kvrigor Date: Fri, 11 Jul 2025 08:45:49 +0200 Subject: [PATCH 14/16] CI: Dropped Ubuntu 22.04 support --- .github/workflows/linux.yml | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 386ea9873..dbeeb5b44 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: style-check: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 name: Check Style steps: - name: Checkout commit @@ -121,9 +121,9 @@ jobs: memory_manager: "none" } - { - name: "Ubuntu 22.04 GCC Python", - os: ubuntu-22.04, - cudaos: 'ubuntu2204', + name: "Ubuntu 24.04 GCC Python", + os: ubuntu-24.04, + cudaos: 'ubuntu2404', cc: "gcc", cxx: "g++", fc: "gfortran", python: "true", backend: "none", @@ -143,9 +143,9 @@ jobs: memory_manager: "none" } - { - name: "Ubuntu 22.04 GCC OMP", - os: ubuntu-22.04, - cudaos: 'ubuntu2204', + name: "Ubuntu 24.04 GCC OMP", + os: ubuntu-24.04, + cudaos: 'ubuntu2404', cc: "gcc", cxx: "g++", fc: "gfortran", python: "false", backend: "omp", @@ -156,7 +156,7 @@ jobs: - { name: "Ubuntu 24.04 LLVM OASIS3-MCT Build", os: ubuntu-24.04, - cudaos: 'ubuntu2204', + cudaos: 'ubuntu2404', cc: "clang-18", cxx: "clang++-18", fc: "gfortran", python: "false", backend: "omp", @@ -181,7 +181,7 @@ jobs: cc: "gcc", cxx: "g++", fc: "gfortran", python: "false", backend: "cuda", - cudaos: 'ubuntu2204', + cudaos: 'ubuntu2404', amps_layer: mpi1, netcdf: "false", memory_manager: "umpire" @@ -203,7 +203,7 @@ jobs: cc: "gcc", cxx: "g++", fc: "gfortran", python: "false", backend: "kokkos", - cudaos: 'ubuntu2204', + cudaos: 'ubuntu2404', amps_layer: mpi1, netcdf: "false", memory_manager: "umpire" @@ -217,15 +217,7 @@ jobs: sudo apt-get -qq update sudo apt-get -qq install curl cmake build-essential tcl-dev tk-dev gfortran hdf5-helpers libcurl4 libcurl4-gnutls-dev - - name: HDF5 and OpenMPI Install on Ubuntu 22.04 - if: matrix.config.os == 'ubuntu-22.04' - run: | - sudo apt-get -qq update - sudo apt -qq install libhdf5-openmpi-103 libhdf5-openmpi-dev - - # libhdf5-openmpi-103 has been renamed in Ubuntu 24.04. - - name: HDF5 and OpenMPI Install on Ubuntu 24.04 - if: matrix.config.os == 'ubuntu-24.04' + - name: HDF5 and OpenMPI Install run: | sudo apt-get -qq update sudo apt -qq install libhdf5-openmpi-103-1t64 libhdf5-openmpi-dev From d52af09c10e890445352a03f39a336ed84ef10e6 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 11 Jul 2025 16:57:58 +0200 Subject: [PATCH 15/16] remove `wrf_parflow.c` from source files tackling `multiple definition of `Solver_module'` error --- pfsimulator/parflow_lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pfsimulator/parflow_lib/CMakeLists.txt b/pfsimulator/parflow_lib/CMakeLists.txt index d52d53f96..1dc377d46 100644 --- a/pfsimulator/parflow_lib/CMakeLists.txt +++ b/pfsimulator/parflow_lib/CMakeLists.txt @@ -119,7 +119,7 @@ set (SRC_FILES_CONST advect.F wells_lb.c reservoir.c reservoir_package.c - wrf_parflow.c + # wrf_parflow.c cpl_parflow.c write_clm_netcdf.c write_parflow_binary.c From 254eab9c90b70fc587023447e0673623a9c4339a Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 11 Jul 2025 17:21:27 +0200 Subject: [PATCH 16/16] remove `cpl_parflow.c` from source files tackling `multiple definition of `Solver_module'` error --- pfsimulator/parflow_lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pfsimulator/parflow_lib/CMakeLists.txt b/pfsimulator/parflow_lib/CMakeLists.txt index 1dc377d46..98570f346 100644 --- a/pfsimulator/parflow_lib/CMakeLists.txt +++ b/pfsimulator/parflow_lib/CMakeLists.txt @@ -120,7 +120,7 @@ set (SRC_FILES_CONST advect.F reservoir.c reservoir_package.c # wrf_parflow.c - cpl_parflow.c + # cpl_parflow.c write_clm_netcdf.c write_parflow_binary.c write_parflow_netcdf.c