Skip to content

Commit f2ea3b4

Browse files
Merge branch 'NOAA-GFDL:dev/gfdl' into refactor_BTS
2 parents 8449071 + 9351353 commit f2ea3b4

File tree

282 files changed

+44602
-20454
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+44602
-20454
lines changed

.github/actions/macos-setup/action.yml

+15
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,18 @@ runs:
1616
brew install netcdf-fortran
1717
brew install mpich
1818
echo "::endgroup::"
19+
20+
# NOTE: Floating point exceptions are currently disabled due to an error in
21+
# HDF5 1.4.3. They will be re-enabled when the default brew version has
22+
# been updated to a working version.
23+
24+
- name: Set compiler flags
25+
shell: bash
26+
run: |
27+
cd .testing
28+
echo "FCFLAGS_DEBUG = -g -O0 -Wextra -Wno-compare-reals -fbacktrace -fcheck=bounds" >> config.mk
29+
echo "FCFLAGS_REPRO = -g -O2 -fbacktrace" >> config.mk
30+
echo "FCFLAGS_INIT = -finit-real=snan -finit-integer=2147483647 -finit-derived" >> config.mk
31+
echo "FCFLAGS_FMS = -g -fbacktrace -O0" >> config.mk
32+
cat config.mk
33+
echo "::endgroup::"

.github/actions/testing-setup/action.yml

+1-12
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,7 @@ runs:
2828
run: |
2929
echo "::group::Compile FMS library"
3030
cd .testing
31-
REPORT_ERROR_LOGS=true make deps/lib/libFMS.a -s -j
32-
echo "::endgroup::"
33-
34-
- name: Store compiler flags used in Makefile
35-
shell: bash
36-
run: |
37-
echo "::group::config.mk"
38-
cd .testing
39-
echo "FCFLAGS_DEBUG=-g -O0 -Wextra -Wno-compare-reals -fbacktrace -ffpe-trap=invalid,zero,overflow -fcheck=bounds" >> config.mk
40-
echo "FCFLAGS_REPRO=-g -O2 -fbacktrace" >> config.mk
41-
echo "FCFLAGS_INIT=-finit-real=snan -finit-integer=2147483647 -finit-derived" >> config.mk
42-
cat config.mk
31+
REPORT_ERROR_LOGS=true make build/deps/lib/libFMS.a -s -j
4332
echo "::endgroup::"
4433
4534
- name: Compile MOM6 in symmetric memory mode

.github/actions/ubuntu-setup/action.yml

+12
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,15 @@ runs:
1717
sudo apt-get install libopenmpi-dev
1818
sudo apt-get install linux-tools-common
1919
echo "::endgroup::"
20+
21+
- name: Store compiler flags used in Makefile
22+
shell: bash
23+
run: |
24+
echo "::group::config.mk"
25+
cd .testing
26+
echo "FCFLAGS_DEBUG = -g -O0 -Wextra -Wno-compare-reals -fbacktrace -ffpe-trap=invalid,zero,overflow -fcheck=bounds" >> config.mk
27+
echo "FCFLAGS_REPRO = -g -O2 -fbacktrace" >> config.mk
28+
echo "FCFLAGS_INIT = -finit-real=snan -finit-integer=2147483647 -finit-derived" >> config.mk
29+
echo "FCFLAGS_FMS = -g -fbacktrace -O0" >> config.mk
30+
cat config.mk
31+
echo "::endgroup::"

.github/workflows/coupled-api.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

@@ -28,7 +28,3 @@ jobs:
2828
- name: Compile MOM6 for the NUOPC driver
2929
shell: bash
3030
run: make check_mom6_api_nuopc -j
31-
32-
- name: Compile MOM6 for the MCT driver
33-
shell: bash
34-
run: make check_mom6_api_mct -j

.github/workflows/coverage.yml

+15-15
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,38 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

1818
- uses: ./.github/actions/ubuntu-setup
1919

2020
- uses: ./.github/actions/testing-setup
2121

22-
- name: Compile unit testing
23-
run: make -j build/unit/MOM_unit_tests
22+
- name: Compile file parser unit tests
23+
run: make -j build/unit/test_MOM_file_parser
2424

25-
- name: Run unit tests
25+
- name: Run file parser unit tests
2626
run: make run.cov.unit
2727

28-
- name: Report unit test coverage to CI (PR)
29-
if: github.event_name == 'pull_request'
30-
run: make report.cov.unit REQUIRE_COVERAGE_UPLOAD=true
28+
- name: Compile unit testing
29+
run: make -j build.unit
30+
31+
- name: Run (single processor) unit tests
32+
run: make run.unit
3133

32-
- name: Report unit test coverage to CI (Push)
33-
if: github.event_name != 'pull_request'
34+
- name: Report unit test coverage to CI
3435
run: make report.cov.unit
36+
env:
37+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
3538

3639
- name: Compile ocean-only MOM6 with code coverage
3740
run: make -j build/cov/MOM6
3841

3942
- name: Run coverage tests
4043
run: make -j -k run.cov
4144

42-
- name: Report coverage to CI (PR)
43-
if: github.event_name == 'pull_request'
44-
run: make report.cov REQUIRE_COVERAGE_UPLOAD=true
45-
46-
- name: Report coverage to CI (Push)
47-
if: github.event_name != 'pull_request'
45+
- name: Report coverage to CI
4846
run: make report.cov
47+
env:
48+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/documentation-and-style.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99

1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v3
1212
with:
1313
submodules: recursive
1414

.github/workflows/expression.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

.github/workflows/macos-regression.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@ jobs:
1010
env:
1111
CC: gcc
1212
FC: gfortran
13+
FMS_COMMIT: 2019.01.03
1314

1415
defaults:
1516
run:
1617
working-directory: .testing
1718

1819
steps:
19-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v3
2021
with:
2122
submodules: recursive
2223

.github/workflows/macos-stencil.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@ jobs:
1010
env:
1111
CC: gcc
1212
FC: gfortran
13+
FMS_COMMIT: 2019.01.03
1314

1415
defaults:
1516
run:
1617
working-directory: .testing
1718

1819
steps:
19-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v3
2021
with:
2122
submodules: recursive
2223

.github/workflows/other.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

.github/workflows/perfmon.yml

+39-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Performance Monitor
22

3-
on: [pull_request]
3+
on: [push, pull_request]
44

55
jobs:
66
build-test-perfmon:
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

@@ -20,19 +20,56 @@ jobs:
2020
- uses: ./.github/actions/testing-setup
2121

2222
- name: Compile optimized models
23+
if: ${{ github.event_name == 'pull_request' }}
2324
run: >-
2425
make -j build.prof
2526
MOM_TARGET_SLUG=$GITHUB_REPOSITORY
2627
MOM_TARGET_LOCAL_BRANCH=$GITHUB_BASE_REF
2728
DO_REGRESSION_TESTS=true
2829
2930
- name: Generate profile data
31+
if: ${{ github.event_name == 'pull_request' }}
3032
run: >-
3133
pip install f90nml &&
3234
make profile
3335
DO_REGRESSION_TESTS=true
3436
3537
- name: Generate perf data
38+
if: ${{ github.event_name == 'pull_request' }}
3639
run: |
3740
sudo sysctl -w kernel.perf_event_paranoid=2
3841
make perf DO_REGRESSION_TESTS=true
42+
43+
# This job assumes that build/target_codebase was cloned above
44+
- name: Compile timing tests for reference code
45+
if: ${{ github.event_name == 'pull_request' }}
46+
run: >-
47+
make -j build.timing_target
48+
MOM_TARGET_SLUG=$GITHUB_REPOSITORY
49+
MOM_TARGET_LOCAL_BRANCH=$GITHUB_BASE_REF
50+
DO_REGRESSION_TESTS=true
51+
52+
- name: Compile timing tests
53+
run: |
54+
make -j build.timing
55+
56+
# DO_REGERESSION_TESTS=true is needed here to set the internal macro TARGET_CODEBASE
57+
- name: Run timing tests for reference code
58+
if: ${{ github.event_name == 'pull_request' }}
59+
run: >-
60+
make -j run.timing_target
61+
DO_REGRESSION_TESTS=true
62+
63+
- name: Run timing tests
64+
run: |
65+
make -j run.timing
66+
67+
- name: Display timing results
68+
run: |
69+
make -j show.timing
70+
71+
- name: Display comparison of timing results
72+
if: ${{ github.event_name == 'pull_request' }}
73+
run: >-
74+
make -j compare.timing
75+
DO_REGRESSION_TESTS=true

.github/workflows/regression.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

.github/workflows/stencil.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
working-directory: .testing
1212

1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717

0 commit comments

Comments
 (0)