Skip to content

Commit 28272b3

Browse files
authored
Merge branch 'develop' into omega/design-doc-v1-eqns
2 parents 2a09c78 + 23830b8 commit 28272b3

File tree

632 files changed

+23029
-72791
lines changed

Some content is hidden

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

632 files changed

+23029
-72791
lines changed

.github/workflows/e3sm-gh-md-linter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
with:
2626
files: '**/*.md'
2727
separator: ","
28-
- uses: DavidAnson/markdownlint-cli2-action@v19
28+
- uses: DavidAnson/markdownlint-cli2-action@v20
2929
if: steps.changed-files.outputs.any_changed == 'true'
3030
with:
3131
config: 'docs/.markdownlint.json'
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "eamxx-format"
2+
3+
# if .{cpp,hpp} files are touched in a PR, lint them!
4+
5+
on:
6+
pull_request:
7+
branches: ["master"]
8+
paths:
9+
- 'components/eamxx/**/*.cpp'
10+
- 'components/eamxx/**/*.hpp'
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
clang-format-linter:
18+
if: ${{ github.repository == 'E3SM-Project/E3SM' }}
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
with:
23+
fetch-depth: 0
24+
- uses: tj-actions/changed-files@v46
25+
id: changed-files
26+
with:
27+
files: 'components/eamxx/**/*.{cpp,hpp}'
28+
separator: " "
29+
# 1. runs clang-format on the files changed by this PR, and returns pass/fail
30+
# error code.
31+
# 2. prints the diff to screen (action log), comparing to the changes
32+
# that *would* be made
33+
# 3. the E3SM-Project fork of DoozyX/[email protected]
34+
# adds a Step summary to the workflow page, and, on failure, lists the
35+
# files that fail the clang-format test
36+
- uses: E3SM-Project/[email protected]
37+
with:
38+
source: ${{ steps.changed-files.outputs.all_changed_files }}
39+
exclude: ''
40+
extensions: 'hpp,cpp'
41+
clangFormatVersion: 14
42+
style: 'file:components/eamxx/.clang-format'

.github/workflows/eamxx-v1-testing.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ jobs:
7272
short_name: ERS_P16_Ln22.ne30pg2_ne30pg2.FIOP-SCREAMv1-DP.eamxx-dpxx-arm97
7373
- full_name: ERS_Ln22.ne4pg2_ne4pg2.F2010-SCREAMv1.ghci-snl-cpu_gnu.eamxx-small_kernels--eamxx-output-preset-5
7474
short_name: ERS_Ln22.ne4pg2_ne4pg2.F2010-SCREAMv1.eamxx-small_kernels--eamxx-output-preset-5
75-
- full_name: SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.ghci-snl-cpu_gnu.eamxx-mam4xx-all_mam4xx_procs
76-
short_name: SMS_D_Ln5.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.eamxx-mam4xx-all_mam4xx_procs
75+
- full_name: REP_D_Ln5.ne4pg2_oQU480.F2010-EAMxx-MAM4xx.ghci-snl-cpu_gnu
76+
short_name: REP_D_Ln5.ne4pg2_oQU480.F2010-EAMxx-MAM4xx
77+
- full_name: "ERS.ne4pg2_ne4pg2.F2010-SCREAMv1.ghci-snl-cpu_gnu.eamxx-prod"
78+
short_name: ERS.ne4pg2_ne4pg2.F2010-SCREAMv1.eamxx-prod
7779
fail-fast: false
7880
name: cpu-gcc / ${{ matrix.test.short_name }}
7981
steps:
Lines changed: 20 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,66 @@
1-
name: CI/CD Build Workflow
1+
name: omega-pr
22

33
on:
44
push:
55
branches: [develop]
6+
paths:
7+
- 'components/omega/**'
68

79
pull_request:
810
branches: [develop]
11+
paths:
12+
- 'components/omega/**'
913

1014
workflow_dispatch:
1115

1216
env:
1317
CANCEL_OTHERS: false
1418
PATHS_IGNORE: '["**/README.md", "**/doc/**"]'
19+
PYTHON_VERSION: "3.13"
1520

1621
jobs:
1722
build:
18-
name: lint with pre-commit and build docs
23+
if: ${{ github.repository == 'E3SM-Project/E3SM' }} or \
24+
${{ github.repository == 'E3SM-Project/Omega' }}
25+
name: lint and test docs
1926
runs-on: ubuntu-latest
2027
timeout-minutes: 20
2128
defaults:
2229
run:
2330
shell: bash -l {0}
24-
strategy:
25-
matrix:
26-
python-version: ["3.10",]
2731
steps:
28-
- id: skip_check
29-
uses: fkirc/skip-duplicate-actions@master
30-
with:
31-
cancel_others: ${{ env.CANCEL_OTHERS }}
32-
paths_ignore: ${{ env.PATHS_IGNORE }}
33-
34-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
35-
name: Checkout Code Repository
32+
- name: Checkout Code Repository
3633
uses: actions/checkout@v3
3734

38-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
39-
name: Cache Conda
40-
uses: actions/cache@v3
41-
env:
42-
# Increase this value to reset cache if conda-dev-spec.template has not changed in the workflow
43-
CACHE_NUMBER: 0
44-
with:
45-
path: ~/conda_pkgs_dir
46-
key:
47-
${{ runner.os }}-${{ matrix.python-version }}-conda-${{ env.CACHE_NUMBER }}-${{
48-
hashFiles('components/omega/dev-conda.txt') }}
49-
50-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
51-
name: Set up Conda Environment
52-
uses: conda-incubator/setup-miniconda@v2
35+
- name: Set up Conda Environment
36+
uses: conda-incubator/setup-miniconda@v3
5337
with:
5438
activate-environment: "omega_ci"
5539
miniforge-version: latest
56-
channels: conda-forge,defaults
40+
channels: conda-forge
5741
channel-priority: strict
5842
auto-update-conda: true
59-
python-version: ${{ matrix.python-version }}
43+
python-version: ${{ env.PYTHON_VERSION }}
6044

61-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
62-
name: Install dependencies
45+
- name: Install dependencies
6346
run: |
6447
conda create -n omega_dev --file components/omega/dev-conda.txt \
65-
python=${{ matrix.python-version }}
48+
python=${{ env.PYTHON_VERSION }}
6649
conda activate omega_dev
6750
conda list
6851
69-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
70-
id: file_changes
52+
- id: file_changes
7153
uses: trilom/[email protected]
7254
with:
7355
output: ' '
7456

75-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
76-
name: Cache pre-commit
77-
uses: actions/cache@v4
78-
with:
79-
path: ~/.cache/pre-commit/
80-
key: ${{ runner.os }}-${{ matrix.python-version }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
81-
82-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
83-
# Run all pre-commit hooks on all the files.
84-
# Getting only staged files can be tricky in case a new PR is opened
85-
# since the action is run on a branch in detached head state
86-
name: Run pre-commit
57+
- name: Run pre-commit
8758
run: |
8859
conda activate omega_dev
8960
pre-commit run --show-diff-on-failure --files ${{ steps.file_changes.outputs.files}}
9061
91-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
92-
name: Build Sphinx Docs
62+
- name: Build Sphinx Docs
9363
run: |
9464
conda activate omega_dev
9565
cd components/omega/doc
96-
make html
66+
make html-strict

.github/workflows/omega-docs-workflow.yml

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
name: CI/CD Release Workflow
1+
name: omega-release
22

33
on:
44
push:
55
branches: [develop]
6+
# But only if Omega docs-related files are touched
7+
paths:
8+
- components/omega/doc/**
9+
10+
env:
11+
PYTHON_VERSION: "3.13"
612

713
jobs:
814
publish-docs:
15+
if: ${{ github.repository == 'E3SM-Project/E3SM' }} or \
16+
${{ github.repository == 'E3SM-Project/Omega' }}
917
runs-on: ubuntu-latest
1018
defaults:
1119
run:
@@ -17,38 +25,25 @@ jobs:
1725
persist-credentials: false
1826
fetch-depth: 0
1927

20-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
21-
name: Cache Conda
22-
uses: actions/cache@v3
23-
env:
24-
# Increase this value to reset cache if conda-dev-spec.template has not changed in the workflow
25-
CACHE_NUMBER: 0
26-
with:
27-
path: ~/conda_pkgs_dir
28-
key:
29-
${{ runner.os }}-${{ matrix.python-version }}-conda-${{ env.CACHE_NUMBER }}-${{
30-
hashFiles('components/omega/dev-conda.txt') }}
31-
32-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
33-
name: Set up Conda Environment
34-
uses: conda-incubator/setup-miniconda@v2
28+
- name: Set up Conda Environment
29+
uses: conda-incubator/setup-miniconda@v3
3530
with:
3631
activate-environment: "omega_ci"
3732
miniforge-version: latest
38-
channels: conda-forge,defaults
33+
channels: conda-forge
3934
channel-priority: strict
4035
auto-update-conda: true
41-
python-version: ${{ matrix.python-version }}
36+
python-version: ${{ env.PYTHON_VERSION }}
4237

43-
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
44-
name: Install dependencies
38+
- name: Install dependencies
4539
run: |
4640
conda create -n omega_dev --file components/omega/dev-conda.txt \
47-
python=${{ matrix.python-version }}
41+
python=${{ env.PYTHON_VERSION }}
4842
conda activate omega_dev
4943
conda list
5044
51-
- name: Build Sphinx Docs
45+
- name: Build Omega Docs with Sphinx
46+
# Use 'make html' (not html-strict) so docs always update, even if warnings exist.
5247
run: |
5348
conda activate omega_dev
5449
cd components/omega/doc
@@ -58,19 +53,13 @@ jobs:
5853
conda activate omega_dev
5954
cd components/omega/doc
6055
# gh-pages branch must already exist
61-
git clone https://github.com/E3SM-Project/Omega.git --branch gh-pages --single-branch gh-pages
56+
git clone https://github.com/${{ github.repository }}.git --branch gh-pages --single-branch gh-pages
6257
# Make sure we're in the gh-pages directory.
6358
cd gh-pages
64-
# Create `.nojekyll` (if it doesn't already exist) for proper GH Pages configuration.
65-
touch .nojekyll
66-
# Create an omega directory to store the documentation
67-
mkdir -p omega
68-
# Add `index.html` to point to the `main` branch automatically.
69-
printf '<meta http-equiv="refresh" content="0; url=./develop/index.html" />' > omega/index.html
70-
# Replace `develop` docs with latest changes
71-
rm -rf omega/develop
72-
mkdir omega/develop
73-
cp -r ../_build/html/* omega/develop/
59+
# Replace `Omega` docs with latest changes
60+
rm -rf Omega
61+
mkdir Omega
62+
cp -r ../_build/html/* Omega/
7463
# Configure git using GitHub Actions credentials.
7564
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
7665
git config --local user.name "github-actions[bot]"

.gitmodules

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
branch = scorpio_classic
2323
[submodule "cosp2"]
2424
path = components/eam/src/physics/cosp2/external
25-
url = [email protected]:bartgol/COSPv2.0.git
26-
branch = bartgol/fix-cosp_optical_inputs
25+
url = [email protected]:e3sm-project/COSPv2.0.git
26+
branch = e3sm-master
2727
[submodule "cime"]
2828
path = cime
2929
url = [email protected]:ESMCI/cime.git
@@ -85,3 +85,12 @@
8585
[submodule "externals/cpptrace"]
8686
path = externals/cpptrace
8787
url = [email protected]:jeremy-rifkin/cpptrace
88+
[submodule "components/omega/external/yaml-cpp"]
89+
path = components/omega/external/yaml-cpp
90+
url = https://github.com/jbeder/yaml-cpp.git
91+
[submodule "components/omega/external/GSW-C"]
92+
path = components/omega/external/GSW-C
93+
url = [email protected]:E3SM-Project/GSW-C.git
94+
[submodule "components/omega/external/yaml-cpp"]
95+
path = components/omega/external/yaml-cpp
96+
url = https://github.com/jbeder/yaml-cpp.git

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
Energy Exascale Earth System Model (E3SM)
66
================================================================================
77

8-
E3SM is a state-of-the-art fully coupled model of the Earth's climate including
8+
E3SM is a state-of-the-art fully coupled model of the Earth System including
99
important biogeochemical and cryospheric processes. It is intended to address
10-
the most challenging and demanding climate-change research problems and
10+
the most challenging and demanding earth system research problems and
1111
Department of Energy mission needs while efficiently using DOE Leadership
1212
Computing Facilities.
1313

0 commit comments

Comments
 (0)