Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
6adf418
Fix to prevent extrapolation
MartinDix Mar 4, 2026
30dc88a
#603 for iliabermous - fixing vectorisation problems in f_shum_spiral…
Jan 6, 2023
99903b0
#629 for charlotteturner - Shumlib release 2023.03.1
Mar 23, 2023
789e5b2
#623 for saracusworth - Increase rigour of NAG testing
Mar 29, 2023
8f2fe96
#624 : adamvoysey : meto-ex1a-gfortran-gcc.mk should use -Wl,--as-needed
May 5, 2023
55b36e8
#589 for adamvoysey - Fix -Wno-conversion failures
May 12, 2023
f25ed6c
#637 : adamvoysey : Add thread utils barrier
May 19, 2023
c31c0a9
#586 for adamvoysey - Create a compiler detection header
May 23, 2023
3af4a35
#646 for lianneparkhouse - Update Shumlib version for UM vn13.3
Jun 28, 2023
ab97c41
#655 : adavoysey : Fix string initialisation in fruit_test_shum_wgdos…
Aug 14, 2023
506cc06
#652 : adamvoysey : Improve meto_install_shumlib.sh for debugging
Aug 14, 2023
3b011de
#665 : saracusworth : EXZ update
Aug 21, 2023
67ad4c9
#666 : richardgilham : Shumlib release for EXZ
Aug 21, 2023
dc99eae
#667 : saracusworth : Update builds on meto x86
Oct 5, 2023
e78ddb6
#654 : adamvoysey : Add new module for fixed-size KIND definintions.
Oct 9, 2023
161f3ae
#679 : jamesbruten : Fix missing \ in shumlib
Oct 9, 2023
8b32696
#682 : samclarkegreen : Update shumlib for UM13.4
Oct 31, 2023
c8b3dc8
#695 : saracusworth : Allow threading in meto-ex1a-cce builds of mule
Feb 21, 2024
69db5af
#698 : samclarkegreen : Update shumlib version for UM vn13.5
Mar 27, 2024
5acc473
#696 : adamvoysey : Whitespace fixes
Jun 3, 2024
f76562f
#712 : charlotteturner : Add LFRic compilers to SHUMLIB
Oct 18, 2024
9180161
#707 : jamesbruten : Set up shumlib on new spice
Nov 5, 2024
17c09ce
#734 : ericaneininger : Update shumlib for vn13.7
Nov 5, 2024
e9defcf
#753 : jamesbruten : Shumlib remove spice and xc40
Apr 29, 2025
6d3d68d
shumlib release changes
james-bruten-mo Sep 30, 2025
44f47ae
add files for git/github (#2)
james-bruten-mo Sep 30, 2025
2b0cf0e
Update documentation and configuration files; add CI workflow and enh…
yaswant Sep 30, 2025
348c34d
Empty Commit
yaswant Sep 30, 2025
cd7ad57
Refactor CI workflows and documentation; remove unused files and upda…
yaswant Sep 30, 2025
1fb642f
Update CI workflow for improved linting and documentation checks; ref…
yaswant Sep 30, 2025
ecaaa6f
Fix formatting in CI workflow for detecting documentation changes
yaswant Sep 30, 2025
8efb24c
Add cache minimization step to CI workflows for improved efficiency
yaswant Sep 30, 2025
eb44fff
Rename CI workflows for clarity and consistency; update job names and…
yaswant Sep 30, 2025
9f71dd3
Fix path in CI workflow for building and testing
yaswant Sep 30, 2025
63b1fe1
Fix typo in Makefile path for build and test step in CI workflow
yaswant Sep 30, 2025
8ea8f82
Remove concurrency settings from CI workflow
yaswant Sep 30, 2025
5c80f00
Remove concurrency settings from Docs CI workflow
yaswant Sep 30, 2025
d39b6ea
add permissions step to build (#4)
james-bruten-mo Oct 1, 2025
f5a3957
add configure step
james-bruten-mo Oct 1, 2025
874d668
remove url
james-bruten-mo Oct 1, 2025
67bd874
copy github deploy
james-bruten-mo Oct 1, 2025
24a1f4f
update if
james-bruten-mo Oct 1, 2025
3248718
change to pages-artifact
james-bruten-mo Oct 1, 2025
78af0ae
line length
james-bruten-mo Oct 2, 2025
6031fe3
rename ci jobs for clarity (#9)
james-bruten-mo Oct 2, 2025
93de451
add github files (#13)
james-bruten-mo Dec 2, 2025
108d04d
Update grammar of PR template (#14)
james-bruten-mo Dec 3, 2025
e284761
Add cla files (#15)
james-bruten-mo Dec 9, 2025
8ab5d80
add project workflow (#17)
james-bruten-mo Jan 20, 2026
cac7158
Fix memory bug in SHUM_TMPDIR handling (#20)
t00sa Feb 10, 2026
bb52611
update trigger project workflow (#21)
james-bruten-mo Feb 11, 2026
e209f8b
Linting to reduce number of Fortitude exemptions (#22)
t00sa Feb 12, 2026
f2c82a0
Sign Contributors (#23)
jennyhickson Mar 2, 2026
500e5a9
Add CMake support to shumlib (#26)
t00sa Apr 20, 2026
fd26262
Use absolute paths to subdirectories (#27)
t00sa May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# PR Summary

Code Reviewer: <!-- CR id, filled by SSD -->

<!-- To be completed by the developer -->

<!-- Provide a brief description of the changes in this PR, including any notes
useful for reviewers -->

<!-- List any linked PRs here
- linked MetOffice/<REPO-NAME>#<pr-number>
-->

<!-- List any blocking PRs or issues to be closed here
- is blocked-by #pr-number
- blocks #pr-number
- closes #issue-number
- fixes #issue-number
- is related to #issue-number
-->

## Code Quality Checklist

(_Some checks are automatically carried out via the CI pipeline_)

- [ ] I have performed a self-review of my own code
- [ ] My code follows the project's style guidelines
- [ ] Comments have been included that aid undertanding and enhance the
readability of the code
- [ ] My changes generate no new warnings

## Testing

- [ ] I have tested this change locally, using the rose-stem suite
- [ ] If any tests fail (rose-stem or CI) the reason is understood and
acceptable (eg. kgo changes)
- [ ] I have added tests to cover new functionality as appropriate (eg. system
tests, unit tests, etc.)

<!-- Describe other testing performed (if applicable) -->

### trac.log

<!-- Paste your trac.log from testing output here -->

## Security Considerations

- [ ] This change does not introduce security vulnerabilities
- [ ] I have reviewed the code for potential security issues
- [ ] Sensitive data is properly handled (if applicable)
- [ ] Authentication and authorisation are properly implemented (if applicable)

## Performance Impact

- [ ] Performance of the code has been considered and, if applicable, suitable
performance measurements have been conducted

## AI Assistance and Attribution

- [ ] Some of the content of this change has been produced with the assistance
of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,
Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
[Simulation Systems AI policy](https://metoffice.github.io/simulation-systems/FurtherDetails/ai.html)(including attribution labels)

<!-- If AI has been used, please provide more details here -->

## Documentation

- [ ] Where appropriate I have updated documentation related to this change and
confirmed that it builds correctly

# Code Review

<!-- To be completed by the Code Reviewer -->

- [ ] All dependencies have been resolved
- [ ] Related Issues have been properly linked and addressed
- [ ] CLA compliance has been confirmed
- [ ] Code quality standards have been met
- [ ] Tests are adequate and have passed
- [ ] Documentation is complete and accurate
- [ ] Security considerations have been addressed
- [ ] Performance impact is acceptable
11 changes: 11 additions & 0 deletions .github/workflows/check-cr-approved.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Check CR approved

on:
pull_request_review:
types: [submitted, edited, dismissed]
workflow_dispatch:

jobs:
check_cr_approved:
if: ${{ github.event.pull_request.number }}
uses: MetOffice/growss/.github/workflows/check-cr-approved.yaml@main
66 changes: 66 additions & 0 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
name: Quality

on: # yamllint disable-line rule:truthy
push:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions: read-all

jobs:

check-shumlib:
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup uv
uses: astral-sh/setup-uv@v6
- name: Install dependencies
run: uv sync
- name: Fortran
# See: fortitude.toml
run: |
uv run fortitude check --respect-gitignore --show-fixes --statistics .
- name: C
# See: CPPLINT.cfg
if: always()
run: |
uv run cpplint --recursive --extensions=c,h \
--exclude=.git --exclude=.venv .

# - name: Detect changes in doc
# id: doc_changes
# run: |
# if git diff --name-only ${{ github.sha }} ${{ github.event.before }} | grep '^doc/'; then
# echo "doc_changed=true" >> $GITHUB_OUTPUT
# else
# echo "doc_changed=false" >> $GITHUB_OUTPUT
# fi
- name: RestructuredText
# if: steps.doc_changes.outputs.doc_changed == 'true'
working-directory: ./doc
run: uv run sphinx-lint .
- name: Link Checks
# if: steps.doc_changes.outputs.doc_changed == 'true'
working-directory: ./doc
run: |
uv run sphinx-build -q -b linkcheck \
-d _build/doctrees . _build/linkcheck || true
echo "== Ignored and Redirected links, if any =="
jq -c 'select([.status] | inside(["ignored", "redirected"]))' \
_build/linkcheck/output.json

- name: Minimize uv cache
run: uv cache prune --ci
24 changes: 24 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: CI
on: # yamllint disable-line rule:truthy
push:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

permissions: read-all

jobs:
build-shumlib:
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Build and Test
run: |
make -f ./make/vm-x86-gfortran-gcc.mk check
10 changes: 10 additions & 0 deletions .github/workflows/cla-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Legal

on:
pull_request_target:

jobs:
cla:
uses: MetOffice/growss/.github/workflows/cla-check.yaml@main
with:
runner: 'ubuntu-24.04'
68 changes: 68 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
name: Docs

on: # yamllint disable-line rule:truthy
push:
branches:
- main
- 'releases/**'
pull_request:
types: [opened, synchronize, reopened]
paths:
- 'doc/**'
- '.github/workflows/docs.yaml'
workflow_dispatch:

permissions: read-all

jobs:

build-docs:
runs-on: ubuntu-latest
timeout-minutes: 3

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup uv
uses: astral-sh/setup-uv@v6
- name: Install dependencies
run: uv sync
- name: Build docs
run: uv run make clean html
working-directory: ./doc
- id: permissions
name: Set permissions
run: |
chmod -c -R +rX "./doc/_build/html/"
- name: Upload artifacts
uses: actions/upload-pages-artifact@v4
with:
name: github-pages
path: ./doc/_build/html
- name: Minimize uv cache
run: uv cache prune --ci

# Deploy job
deploy:
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
# Add a dependency to the build job
needs: build-docs

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action

17 changes: 17 additions & 0 deletions .github/workflows/track-review-project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Track Review Project

on:
workflow_run:
workflows: [Trigger Review Project]
types:
- completed

permissions:
actions: read
contents: read
pull-requests: write

jobs:
track_review_project:
uses: MetOffice/growss/.github/workflows/track-review-project.yaml@main
secrets: inherit
17 changes: 17 additions & 0 deletions .github/workflows/trigger-project-workflow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Trigger Review Project

on:
pull_request_target:
types: ["opened", "synchronize", "reopened", "edited", "review_requested", "review_request_removed", "closed"]
pull_request_review:
pull_request_review_comment:

permissions:
actions: read
contents: read
pull-requests: write

jobs:
trigger_project_workflow:
uses: MetOffice/growss/.github/workflows/trigger-project-workflow.yaml@main
secrets: inherit
54 changes: 54 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Copied from github c++ template

# Default build directory
_build/
build/

# Virtual environment
.venv/
uv.lock

# From old svn repository
*_version_mod.f90

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Linker files
*.ilk

# Debugger Files
*.pdb

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# debug information files
*.dwo
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12.11
Loading
Loading