Skip to content

Commit 49625e0

Browse files
authored
Merge pull request #1120 from MPAS-Dev/develop
Merge `develop` into `main` for v1.14.0 release
2 parents 3842960 + 5c7c0ae commit 49625e0

File tree

160 files changed

+4451
-2093
lines changed

Some content is hidden

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

160 files changed

+4451
-2093
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ updates:
88
interval: "weekly"
99
assignees:
1010
- "xylar"
11-
- "altheaden"
1211
reviewers:
1312
- "xylar"
14-
- "altheaden"
13+
- "andrewdnolan"
1514

.github/workflows/build_workflow.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
shell: bash -l {0}
2828
strategy:
2929
matrix:
30-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
30+
python-version: ["3.10", "3.11", "3.12", "3.13"]
3131
fail-fast: false
3232
steps:
3333
- id: skip_check
@@ -37,7 +37,7 @@ jobs:
3737
paths_ignore: ${{ env.PATHS_IGNORE }}
3838

3939
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
40-
uses: actions/checkout@v4
40+
uses: actions/checkout@v5
4141

4242
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
4343
name: Cache Conda
@@ -53,21 +53,22 @@ jobs:
5353

5454
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
5555
name: Set up Conda Environment
56-
uses: conda-incubator/setup-miniconda@v3
56+
uses: mamba-org/setup-micromamba@v2
5757
with:
58-
activate-environment: "mpas_analysis_ci"
59-
miniforge-version: latest
60-
channels: conda-forge
61-
channel-priority: strict
62-
auto-update-conda: false
63-
python-version: ${{ matrix.python-version }}
58+
environment-name: mpas_analysis_dev
59+
init-shell: bash
60+
condarc: |
61+
channel_priority: strict
62+
channels:
63+
- conda-forge
64+
create-args: >-
65+
python=${{ matrix.python-version }}
6466
6567
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
6668
name: Install mpas_analysis
6769
run: |
68-
conda create -n mpas_analysis_dev --file dev-spec.txt \
69-
python=${{ matrix.python-version }}
70-
conda activate mpas_analysis_dev
70+
conda install -y --file dev-spec.txt \
71+
python=${{ matrix.python-version }}
7172
python -m pip install --no-deps --no-build-isolation -vv -e .
7273
7374
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
@@ -76,7 +77,6 @@ jobs:
7677
CHECK_IMAGES: False
7778
run: |
7879
set -e
79-
conda activate mpas_analysis_dev
8080
pip check
8181
pytest --pyargs mpas_analysis
8282
mpas_analysis --help
@@ -85,9 +85,5 @@ jobs:
8585
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
8686
name: Build Sphinx Docs
8787
run: |
88-
conda activate mpas_analysis_dev
89-
# sphinx-multiversion expects at least a "main" branch
90-
git branch main || echo "branch main already exists."
9188
cd docs
92-
sphinx-multiversion . _build/html
93-
89+
DOCS_VERSION=test make versioned-html

.github/workflows/docs_workflow.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
shell: bash -l {0}
2121
timeout-minutes: 20
2222
steps:
23-
- uses: actions/checkout@v4
23+
- uses: actions/checkout@v5
2424
with:
2525
persist-credentials: false
2626
fetch-depth: 0
@@ -37,52 +37,60 @@ jobs:
3737

3838
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
3939
name: Set up Conda Environment
40-
uses: conda-incubator/setup-miniconda@v3
40+
uses: mamba-org/setup-micromamba@v2
4141
with:
42-
activate-environment: "mpas_analysis_ci"
43-
miniforge-version: latest
44-
channels: conda-forge
45-
channel-priority: strict
46-
auto-update-conda: false
47-
python-version: ${{ env.PYTHON_VERSION }}
42+
environment-name: mpas_analysis_dev
43+
init-shell: bash
44+
condarc: |
45+
channel_priority: strict
46+
channels:
47+
- conda-forge
48+
create-args: >-
49+
python=${{ env.PYTHON_VERSION }}
4850
4951
- if: ${{ steps.skip_check.outputs.should_skip != 'true' }}
5052
name: Install mpas_analysis
5153
run: |
5254
git config --global url."https://github.com/".insteadOf "[email protected]:"
53-
conda create -n mpas_analysis_dev --file dev-spec.txt \
55+
conda install -y --file dev-spec.txt \
5456
python=${{ env.PYTHON_VERSION }}
55-
conda activate mpas_analysis_dev
5657
python -m pip install -vv --no-deps --no-build-isolation -e .
5758
5859
- name: Build Sphinx Docs
5960
run: |
6061
set -e
61-
conda activate mpas_analysis_dev
6262
pip check
6363
mpas_analysis sync diags --help
6464
cd docs
65-
sphinx-multiversion . _build/html
65+
DOCS_VERSION=${{ github.ref_name }} make versioned-html
6666
- name: Copy Docs and Commit
6767
run: |
6868
set -e
69-
conda activate mpas_analysis_dev
7069
pip check
7170
mpas_analysis sync diags --help
7271
cd docs
7372
# gh-pages branch must already exist
7473
git clone https://github.com/MPAS-Dev/MPAS-Analysis.git --branch gh-pages --single-branch gh-pages
74+
75+
# Only replace docs in a directory with the destination branch name with latest changes. Docs for
76+
# releases should be untouched.
77+
rm -rf gh-pages/${{ github.ref_name }}
78+
79+
# don't clobber existing release versions (in case we retroactively fixed them)
80+
cp -r _build/html/${{ github.ref_name }} gh-pages/
81+
82+
mkdir -p gh-pages/shared
83+
cp shared/version-switcher.js gh-pages/shared/version-switcher.js
84+
85+
# Update the list of versions with all versions in the gh-pages directory.
86+
python generate_versions_json.py
87+
7588
# Make sure we're in the gh-pages directory.
7689
cd gh-pages
7790
# Create `.nojekyll` (if it doesn't already exist) for proper GH Pages configuration.
7891
touch .nojekyll
7992
# Add `index.html` to point to the `develop` branch automatically.
8093
printf '<meta http-equiv="refresh" content="0; url=./develop/index.html" />' > index.html
81-
# Only replace docs in a directory with the destination branch name with latest changes. Docs for
82-
# releases should be untouched.
83-
rm -rf ${{ github.head_ref || github.ref_name }}
84-
# don't clobber existing release versions (in case we retroactively fixed them)
85-
cp -r -n ../_build/html/* .
8694
# Configure git using GitHub Actions credentials.
8795
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
8896
git config --local user.name "github-actions[bot]"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,6 @@ ENV/
9999
/chrysalis_test_suite/
100100
/cori_test_suite/
101101
/compy_test_suite/
102+
103+
# vscode settings
104+
.vscode/

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ environment):
5454
``` bash
5555
conda config --add channels conda-forge
5656
conda config --set channel_priority strict
57-
conda create -y -n mpas_dev --file dev-spec.txt
58-
conda activate mpas_dev
57+
conda create -y -n mpas_analysis_dev --file dev-spec.txt
58+
conda activate mpas_analysis_dev
5959
python -m pip install --no-deps --no-build-isolation -e .
6060
```
6161

@@ -64,16 +64,16 @@ for MPAS-Tools or geometric\_features), you should first comment out the other
6464
package in `dev-spec.txt`. Then, you can install both packages in the same
6565
development environment, e.g.:
6666
``` bash
67-
conda create -y -n mpas_dev --file tools/MPAS-Tools/conda_package/dev-spec.txt \
67+
conda create -y -n mpas_analysis_dev --file tools/MPAS-Tools/conda_package/dev-spec.txt \
6868
--file analysis/MPAS-Analysis/dev-spec.txt
69-
conda activate mpas_dev
69+
conda activate mpas_analysis_dev
7070
cd tools/MPAS-Tools/conda_package
7171
python -m pip install --no-deps --no-build-isolation -e .
7272
cd ../../../analysis/MPAS-Analysis
7373
python -m pip install --no-deps --no-build-isolation -e .
7474
```
7575
Obviously, the paths to the repos may be different in your local clones. With
76-
the `mpas_dev` environment as defined above, you can make changes to both
76+
the `mpas_analysis_dev` environment as defined above, you can make changes to both
7777
`mpas_tools` and `mpas-analysis` packages in their respective branches, and
7878
these changes will be reflected when refer to the packages or call their
7979
respective entry points (command-line tools).
@@ -294,8 +294,7 @@ developers". Then run:
294294
To generate the `sphinx` documentation, run:
295295
```
296296
cd docs
297-
make clean
298-
make html
297+
DOCS_VERSION=test make clean versioned-html
299298
```
300299
The results can be viewed in your web browser by opening:
301300
```

ci/python3.9.yaml

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

ci/recipe/meta.yaml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{% set name = "MPAS-Analysis" %}
2-
{% set version = "1.13.0" %}
2+
{% set version = "1.14.0" %}
3+
{% set python_min = "3.10" %}
34

45
package:
56
name: {{ name|lower }}
@@ -9,49 +10,52 @@ source:
910
path: ../..
1011

1112
build:
12-
number: 0
13-
script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation -vv .
14-
noarch: python
13+
number: 0
14+
script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vv
15+
noarch: python
16+
entry_points:
17+
- mpas_analysis = mpas_analysis.__main__:main
18+
- download_analysis_data = mpas_analysis.download_data:download_analysis_data
1519

1620
requirements:
1721
host:
18-
- python >=3.9
22+
- python {{ python_min }}
1923
- pip
20-
- setuptools
24+
- setuptools >=60
2125
run:
22-
- python >=3.9
26+
- python >={{ python_min }},<3.13
2327
- cartopy >=0.18.0
2428
- cartopy_offlinedata
2529
- cmocean
2630
- dask
2731
- esmf >=8.4.2,<9.0.0
28-
- esmf=*=mpi_mpich_*
2932
- f90nml
3033
- geometric_features >=1.6.1
3134
- gsw
3235
- lxml
3336
- mache >=1.11.0
3437
- matplotlib-base >=3.9.0
35-
- mpas_tools >=0.34.1,<1.0.0
38+
- mpas_tools >=1.3.0,<2.0.0
3639
- nco >=4.8.1,!=5.2.6
3740
- netcdf4
3841
- numpy >=2.0,<3.0
3942
- pandas
4043
- pillow >=10.0.0,<11.0.0
4144
- progressbar2
4245
- pyproj
43-
- pyremap >=1.2.0,<2.0.0
46+
- pyremap >=2.0.0,<3.0.0
4447
- python-dateutil
4548
- requests
4649
- scipy >=1.7.0
47-
- setuptools
4850
- shapely >=2.0,<3.0
51+
- tranche >=0.2.3
4952
- xarray >=0.14.1
5053

5154
test:
5255
requires:
5356
- pytest
5457
- pip
58+
- python {{ python_min }}
5559
imports:
5660
- mpas_analysis
5761
- pytest
@@ -78,5 +82,6 @@ about:
7882

7983
extra:
8084
recipe-maintainers:
85+
- andrewdnolan
8186
- xylar
8287
- jhkennedy

configs/alcf/job_script.cooley.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
source /lus/theta-fs0/projects/ccsm/acme/tools/e3sm-unified/load_latest_e3sm_unified_cooley.sh
77
# alternatively, you can load your own development environment
88
# source ~/mambaforge/etc/profile.d/conda.sh
9-
# conda activate mpas_dev
9+
# conda activate mpas_analysis_dev
1010
# export E3SMU_MACHINE=cooley
1111

1212
export HDF5_USE_FILE_LOCKING=FALSE

configs/compy/job_script.compy.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export OMP_NUM_THREADS=1
1111
source /share/apps/E3SM/conda_envs/load_latest_e3sm_unified_compy.sh
1212
# alternatively, you can load your own development environment
1313
# source ~/mambaforge/etc/profile.d/conda.sh
14-
# conda activate mpas_dev
14+
# conda activate mpas_analysis_dev
1515
# export E3SMU_MACHINE=compy
1616

1717
export HDF5_USE_FILE_LOCKING=FALSE

configs/job_script.default.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
export OMP_NUM_THREADS=1
99

1010
source ~/mambaforge/etc/profile.d/conda.sh
11-
conda activate mpas_dev
11+
conda activate mpas_analysis_dev
1212
# if you are on an E3SM supported machine, you can specify it:
1313
# export E3SMU_MACHINE=chrysalis
1414

0 commit comments

Comments
 (0)