Skip to content

Commit 065ae1e

Browse files
authored
Merge pull request #1192 from GEOS-ESM/develop
Sync develop into main
2 parents 7653db0 + ec98d1c commit 065ae1e

File tree

23 files changed

+677
-347
lines changed

23 files changed

+677
-347
lines changed

.github/workflows/push-to-develop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout repo
14-
uses: actions/checkout@v3.3.0
14+
uses: actions/checkout@v5
1515
with:
1616
fetch-depth: 0
1717
- name: Run the action

.github/workflows/spack-ci.yml

Lines changed: 0 additions & 123 deletions
This file was deleted.

.github/workflows/workflow.yml

Lines changed: 17 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -17,69 +17,20 @@ concurrency:
1717

1818
jobs:
1919
build_gcm:
20-
name: Build GEOSgcm
21-
if: "!contains(github.event.pull_request.labels.*.name, '0 diff trivial')"
22-
runs-on: ubuntu-24.04
23-
container:
24-
image: gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.13-ifort_2021.13
25-
# Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495
26-
# It seems like we might not need secrets on GitHub Actions which is good for forked
27-
# pull requests
28-
#credentials:
29-
#username: ${{ secrets.DOCKERHUB_USERNAME }}
30-
#password: ${{ secrets.DOCKERHUB_TOKEN }}
31-
32-
env:
33-
OMPI_ALLOW_RUN_AS_ROOT: 1
34-
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
35-
OMPI_MCA_btl_vader_single_copy_mechanism: none
36-
37-
steps:
38-
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
39-
- name: Delete huge unnecessary tools folder
40-
run: rm -rf /opt/hostedtoolcache
41-
42-
- name: Checkout GCM
43-
uses: actions/checkout@v4
44-
with:
45-
fetch-depth: 1
46-
filter: blob:none
47-
repository: GEOS-ESM/GEOSgcm
48-
49-
- name: Set all directories as git safe
50-
run: |
51-
git config --global --add safe.directory '*'
52-
53-
- name: Versions etc.
54-
run: |
55-
ifort --version
56-
mpirun --version
57-
echo $BASEDIR
58-
59-
- name: Mepo clone external repos
60-
run: |
61-
mepo clone --partial blobless
62-
mepo status
63-
64-
- name: Mepo develop usual suspects
65-
run: |
66-
mepo develop GEOSgcm_GridComp GEOSgcm_App GMAO_Shared GEOS_Util
67-
mepo status
68-
69-
- name: Debug PR branch
70-
run: echo "PR is coming from ${{ github.event.pull_request.head.ref }}"
71-
72-
- name: Update other branches
73-
if: ${{ github.event.pull_request.head.ref != 'main' && github.event.pull_request.head.ref != 'develop' }}
74-
run: |
75-
mepo checkout-if-exists ${GITHUB_HEAD_REF}
76-
mepo status
77-
78-
- name: CMake
79-
run: |
80-
cmake -B build -S . --install-prefix=${pwd}/install -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe' -DUSE_F2PY=OFF
81-
82-
- name: Build
83-
run: |
84-
cmake --build build -j 4
85-
cmake --install build
20+
strategy:
21+
matrix:
22+
compiler: [ifort, gfortran-14, gfortran-15]
23+
build-type: [Debug]
24+
uses: GEOS-ESM/CI-workflows/.github/workflows/geosgcm_build_tests.yml@project/geosgcm
25+
with:
26+
compiler: ${{ matrix.compiler }}
27+
cmake-build-type: ${{ matrix.build-type }}
28+
fixture-repo: GEOS-ESM/GEOSgcm
29+
30+
spack_build:
31+
uses: GEOS-ESM/CI-workflows/.github/workflows/spack_gcc_build.yml@project/geosgcm
32+
secrets:
33+
BUILDCACHE_USERNAME: ${{ secrets.BUILDCACHE_USERNAME }}
34+
BUILDCACHE_TOKEN: ${{ secrets.BUILDCACHE_TOKEN }}
35+
with:
36+
fixture-repo: GEOS-ESM/GEOSgcm

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSmoist_GridComp/CMakeLists.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,21 @@ endif ()
2323

2424
if (CMAKE_Fortran_COMPILER_ID MATCHES GNU AND CMAKE_BUILD_TYPE MATCHES Release)
2525
string (REPLACE "${FOPT3}" "${FOPT2}" CMAKE_Fortran_FLAGS_RELEASE ${CMAKE_Fortran_FLAGS_RELEASE})
26-
# There is some odd interaction between GCC 15 and the GF code. FPEs
27-
# that do not occur with GCC 14 or earlier. For now, we compile GF
26+
27+
# GCC 15+ workaround for some moist sources
28+
# There is some odd interaction between GCC 15 and some moist code. FPEs
29+
# that do not occur with GCC 14 or earlier. For now, we compile some
2830
# codes with -O1 which seems to avoid the bad instruction. Tests show
2931
# not much of a speed difference with GCC 14
30-
if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 15)
31-
message (STATUS "[GCC15+] Setting GF Code to use -O1 for GCC 15")
32-
set_source_files_properties(ConvPar_GF2020.F90 PROPERTIES COMPILE_OPTIONS ${FOPT1})
33-
set_source_files_properties(ConvPar_GF_GEOS5.F90 PROPERTIES COMPILE_OPTIONS ${FOPT1})
32+
if (CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 15)
33+
message(STATUS "[GCC15+] Setting GF Code to use -O1 for GCC 15")
34+
set(degrade_o1_sources
35+
ConvPar_GF2020.F90
36+
ConvPar_GF_GEOS5.F90
37+
aer_actv_single_moment.F90
38+
)
39+
set_source_files_properties(${degrade_o1_sources}
40+
PROPERTIES COMPILE_OPTIONS "${FOPT1}")
3441
endif()
3542
endif ()
3643

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/Raster/makebcs/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ else ()
3737
target_compile_definitions(${this} PRIVATE STDC)
3838
endif ()
3939

40-
esma_add_subdirectories (@ncar_topo utils_topo)
4140

4241
ecbuild_add_executable (TARGET CombineRasters.x SOURCES CombineRasters.F90 LIBS MAPL ${this})
4342
ecbuild_add_executable (TARGET mkCatchParam.x SOURCES mkCatchParam.F90 LIBS MAPL ${this} OpenMP::OpenMP_Fortran)

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/Raster/makebcs/utils_topo/scrip_to_restart_topo.py

Lines changed: 0 additions & 99 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
esma_add_subdirectories (soil routing)
1+
esma_add_subdirectories (soil routing topography)

GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/Raster/makebcs/.gitignore renamed to GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/Raster/preproc/topography/.gitignore

File renamed without changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# CMakeLists.txt for Utils/Raster/preproc/topography
2+
esma_add_subdirectories(ncar_topo utils_topo)

0 commit comments

Comments
 (0)