Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
219dd7e
fix acronym
gspetro-NOAA Sep 28, 2025
bde5f6f
chg pull_request_target labels to pull_request
gspetro-NOAA Sep 28, 2025
dc9450b
add pull_request_target for labels
gspetro-NOAA Sep 28, 2025
a940bb1
change task names
gspetro-NOAA Sep 28, 2025
4d619c4
change task names
gspetro-NOAA Sep 28, 2025
e296f58
Merge branch 'feature/pr-management' into feature/add-labels
gspetro-NOAA Sep 28, 2025
63640dd
rename tasks; rm pull_request (no target)
gspetro-NOAA Sep 28, 2025
e03930c
clarify PR template language around test_changes.list
gspetro-NOAA Sep 28, 2025
6eb07b7
chg data in to pull_request from pr target
gspetro-NOAA Sep 28, 2025
a2bb75a
chg to pull_request from pr target
gspetro-NOAA Sep 28, 2025
b5421fe
fix critical priority
gspetro-NOAA Sep 29, 2025
658f60a
fix parentheses?
gspetro-NOAA Sep 29, 2025
2865a96
add quotes for BL labels
gspetro-NOAA Sep 29, 2025
0d0caa4
fix spaces
gspetro-NOAA Sep 29, 2025
44af740
rm extraneous quotes
gspetro-NOAA Sep 29, 2025
8fc40b7
fix whitespace
gspetro-NOAA Sep 29, 2025
d0267a6
remove labeled for add PR to project
gspetro-NOAA Sep 29, 2025
414fe28
rename file
gspetro-NOAA Sep 29, 2025
02f245d
address combinability for priority
gspetro-NOAA Sep 29, 2025
72d05e0
get priority field
gspetro-NOAA Sep 29, 2025
14e6521
rm extra -
gspetro-NOAA Sep 29, 2025
487c964
properly assign
gspetro-NOAA Sep 29, 2025
ed2f680
properly assign
gspetro-NOAA Sep 29, 2025
493b3ab
properly assign
gspetro-NOAA Sep 29, 2025
ac3287b
access
gspetro-NOAA Sep 29, 2025
6ca0294
fix project/resource url
gspetro-NOAA Sep 29, 2025
539dfb9
fix typo
gspetro-NOAA Sep 29, 2025
f7918e6
echo priority
gspetro-NOAA Sep 29, 2025
135c7a1
access
gspetro-NOAA Sep 29, 2025
5fdd223
test syntax
gspetro-NOAA Sep 29, 2025
7ebad44
test combinability
gspetro-NOAA Sep 29, 2025
d6003df
add test echo
gspetro-NOAA Sep 29, 2025
eabf75a
resolve conflicts
gspetro-NOAA Sep 29, 2025
6ae4a01
Glacier modifications in NoahMP to address GFSv17 biases (#2886)
barlage Sep 30, 2025
437cf97
ZStd with Netcdf; Modified tests to compare netcdf parallel output of…
BrianCurtis-NOAA Oct 1, 2025
4bee751
Add noahmp and UFSATM hashes // Add Spack CI #2654 // PR Project Boar…
dpsarmie Oct 2, 2025
c8fecd7
rm rt_intelllvm.conf
gspetro-NOAA Oct 3, 2025
d2e5b36
Fix time-averaged radiation computation (#2660)
grantfirl Oct 7, 2025
b1308c1
Feature/rte rrtmgp v1.8 (#2823)
dustinswales Oct 14, 2025
4c89700
sync w/develop
gspetro-NOAA Oct 16, 2025
35d18d2
resolve merge conflicts
gspetro-NOAA Oct 16, 2025
605f6c9
set date opened
gspetro-NOAA Oct 21, 2025
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
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
- [ ] All subcomponent pull requests (if any) have been reviewed by their code managers.
- [ ] Run the full Intel+GNU RT suite (compared to current baselines), preferably on Ursa (Derecho or Hercules are acceptable alternatives). **Exceptions:** documentation-only PRs, CI-only PRs, etc.
- [ ] Commit log file w/full results from RT suite run (if applicable).
- [ ] Commit 'test_changes.list' (unless file is empty).
- [ ] Verify that `test_changes.list` indicates which tests, if any, are changed by this PR. Commit `test_changes.list`, even if it is empty.
- [ ] Fill out all sections of this template.

---
Expand Down Expand Up @@ -68,7 +68,7 @@ Add the related UFS WM Github Issue here:
<!--
Provide a list of subcomponents involved with this PR and include links to subcomponent PRs.
Example:
* FV3: NOAA-EMC/fv3atm#734
* UFSATM: NOAA-EMC/UFSATM#734
* ccpp-physics: ufs-community/ccpp-physics#33
* WW3: NOAA-EMC/WW3#321
Delete sections that are not needed.
Expand All @@ -78,7 +78,7 @@ Delete sections that are not needed.
* CICE:
* CMEPS:
* CMakeModules:
* FV3:
* UFSATM:
* ccpp-physics:
* atmos_cubed_sphere:
* GOCART:
Expand Down
75 changes: 75 additions & 0 deletions .github/workflows/Spack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# This is a CI workflow for the ufs-weather-model repository that builds the
# modified UWM in a given PR with Spack.
#
# Alex Richert, Mar 2025

name: Spack
on: [push,pull_request,workflow_dispatch]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
Spack:
strategy:
matrix:
# See ci/package.py for variant definitions.
config:
- {
os: "ubuntu-24.04",
app: "S2SWA",
ccpp_suites: "FV3_GFS_v17_coupled_p8,FV3_GFS_v17_coupled_p8_ugwpv1",
other-variants: ' ^esmf@8.8.0',
}
- {
os: "ubuntu-24.04",
app: "ATM",
ccpp_suites: "FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v16_ras,FV3_GFS_v17_p8,FV3_GFS_v17_p8_ugwpv1",
other-variants: ' ^esmf@8.8.0',
}

runs-on: ${{ matrix.config.os }}
permissions:
# For repo-level build caching by NOAA-EMC/ci-test-spack-package action
actions: write

steps:

- name: "Install dependencies with APT"
shell: bash
run: |
sudo mv /usr/local /usr/local_mv # relocate so CMake doesn't pick up on bad libraries
sudo apt install libopenmpi-dev openmpi-bin cmake

- name: "Build Spack package"
uses: NOAA-EMC/ci-test-spack-package@develop
with:
package-name: ufs-weather-model
# ufs-weather-model Spack recipe variants, plus additional package constraints:
package-variants: app=${{ matrix.config.app }} ccpp_suites=${{ matrix.config.ccpp_suites }} ${{ matrix.config.other-variants }}
custom-recipe: ci/package.py
spack-compiler: gcc@13
spack-test-flag: '' # disable 'make test' for Spack
use-common-build-cache: true
repo-cache-key-suffix: ${{ matrix.config.os }}-1 # Update to create and use a fresh cache
save-repo-cache: ${{ matrix.config.app == 'S2SWA' }} # Only need to save cache from one job
# Set to save to a different cache key than the restored one (in order to add new packages etc.).
# Be sure to unset it after a new cache is generated or a new one will be created each time!
repo-save-key-suffix: ''

# The recipe-check job validates the Spack recipe by making sure each CMake
# build option is represented. If this check fails due to the addition of a
# new CMake option, ci/package.py should be updated in order to make that
# new build option configurable through Spack.
recipe-check:

runs-on: ubuntu-24.04

steps:

- name: recipe-check
uses: NOAA-EMC/ci-check-spack-recipe@develop
with:
recipe-file: package/spack/package.py
cmakelists-txt: package/CMakeLists.txt
11 changes: 10 additions & 1 deletion .github/workflows/add_pr_to_project.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,17 @@ jobs:
pull-requests: write
issues: write
steps:
- uses: actions/add-to-project@v1.0.2
- name: Add PR
uses: actions/add-to-project@v1.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
- name: Add date created
uses: nipe0324/update-project-v2-item-field@v2.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: 'Date Opened'
field-value: ${{ github.event.pull_request.created_at }}
2 changes: 1 addition & 1 deletion .github/workflows/superlinter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
LINTER_RULES_PATH: '.github/linters/'
DEFAULT_BRANCH: origin/develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FILTER_REGEX_EXCLUDE: .*(tests/fv3_conf/.*|tests/ci/.*|tests/auto/.*|tests/auto-jenkins/.*|tests/opnReqTests/.*|tests/opnReqTest|tests/atparse.bash).*
FILTER_REGEX_EXCLUDE: .*(tests/fv3_conf/.*|tests/ci/.*|tests/auto/.*|tests/auto-jenkins/.*|tests/opnReqTests/.*|tests/opnReqTest|tests/atparse.bash|ci/package.py).*
VALIDATE_BASH: true
BASH_SEVERITY: style
#VALIDATE_GITHUB_ACTIONS: true
Expand Down
67 changes: 67 additions & 0 deletions .github/workflows/update_project_labels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,70 @@ jobs:
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: "Input Data Req'd"
field-value: 'No'
priority-labels:
name: Priority
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
env:
PRIORITY: ''
steps:
- name: Read Priority field
uses: EndBug/project-fields@v2.1.0
id: priority_field
with:
operation: get
fields: Priority
github_token: ${{ secrets.PR_PROJECT_TOKEN }}
#project_url: https://github.com/orgs/ufs-community/projects/70
project_url: https://github.com/orgs/NOAA-EPIC/projects/18
resource_url: ${{ github.event.pull_request.html_url }}
- name: Assign value to Priority field
run: |
priority="${{ steps.priority_field.outputs.values }}"
echo "PRIORITY=$priority" >> $GITHUB_ENV
echo $PRIORITY
echo $( [ $PRIORITY != 'Combine' ] )
- name: Normal Priority
if: |
!contains(github.event.pull_request.labels.*.name, 'Priority: Critical') &&
!contains(github.event.pull_request.labels.*.name, 'Priority: High') &&
${{ env.PRIORITY != 'Combine' }}
uses: nipe0324/update-project-v2-item-field@v2.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: 'Priority'
field-value: 'Normal'
- name: Critical priority
if: "contains(github.event.pull_request.labels.*.name, 'Priority: Critical')"
uses: nipe0324/update-project-v2-item-field@v2.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: 'Priority'
field-value: 'Critical'
- name: High Priority
if: "(contains(github.event.pull_request.labels.*.name, 'Priority: High'))"
uses: nipe0324/update-project-v2-item-field@v2.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: 'Priority'
field-value: 'High'
- name: Unknown Priority
if: |
contains(github.event.pull_request.labels.*.name, 'Priority: Critical') &&
contains(github.event.pull_request.labels.*.name, 'Priority: High')
uses: nipe0324/update-project-v2-item-field@v2.0.2
with:
#project-url: https://github.com/orgs/ufs-community/projects/70
project-url: https://github.com/orgs/NOAA-EPIC/projects/18
github-token: ${{ secrets.PR_PROJECT_TOKEN }}
field-name: 'Priority'
field-value: 'Unknown'
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ message("FIRE_BEHAVIOR .... ${FIRE_BEHAVIOR}")
###############################################################################
set(32BIT OFF CACHE BOOL "Enable 32BIT (single precision arithmetic in dycore and fast physics)")
set(CCPP_32BIT OFF CACHE BOOL "Enable CCPP_32BIT (single precision arithmetic in slow physics)")
set(RRTMGP_32BIT OFF CACHE BOOL "Enable 32BIT (single precision arithmetic in rte-rrtmgp radiation)")
set(AVX2 ON CACHE BOOL "Enable AVX2 instruction set")
set(AVX OFF CACHE BOOL "Enable AVX-I instruction set")
set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets")
Expand Down Expand Up @@ -118,6 +119,7 @@ endif()
message("")
message("32BIT ............ ${32BIT}")
message("CCPP_32BIT ....... ${CCPP_32BIT}")
message("RRTMGP_32BIT ..... ${RRTMGP_32BIT}")
message("AVX2 ............. ${AVX2}")
message("SIMDMULTIARCH .... ${SIMDMULTIARCH}")
message("DEBUG ............ ${DEBUG}")
Expand Down
2 changes: 1 addition & 1 deletion NOAHMP-interface/noahmp
2 changes: 1 addition & 1 deletion UFSATM
Submodule UFSATM updated 60 files
+16 −0 ccpp/CMakeLists.txt
+1 −2 ccpp/config/ccpp_prebuild_config_fv3.py
+1 −2 ccpp/config/ccpp_prebuild_config_mpas.py
+4 −30 ccpp/data/GFS_typedefs.F90
+2 −20 ccpp/data/GFS_typedefs.meta
+1 −1 ccpp/physics
+1 −1 ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15p2.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16_csawmg.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16_flake.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v16_ras.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_p8.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml
+4 −3 ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_thompson.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml
+1 −1 ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml
+1 −1 ccpp/suites/suite_FV3_HRRR.xml
+1 −1 ccpp/suites/suite_FV3_HRRR_c3.xml
+1 −1 ccpp/suites/suite_FV3_HRRR_gf.xml
+1 −1 ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml
+1 −1 ccpp/suites/suite_FV3_RAP.xml
+1 −1 ccpp/suites/suite_FV3_RAP_cires_ugwp.xml
+1 −1 ccpp/suites/suite_FV3_RAP_clm_lake.xml
+1 −1 ccpp/suites/suite_FV3_RAP_flake.xml
+1 −1 ccpp/suites/suite_FV3_RAP_noah.xml
+1 −1 ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml
+1 −1 ccpp/suites/suite_FV3_RAP_sfcdiff.xml
+1 −1 ccpp/suites/suite_FV3_RAP_unified_ugwp.xml
+1 −1 ccpp/suites/suite_FV3_RRFS_v1beta.xml
+1 −1 ccpp/suites/suite_FV3_RRFS_v1nssl.xml
+1 −1 ccpp/suites/suite_FV3_WoFS_v0.xml
+1 −1 ccpp/suites/suite_FV3_coupled_lowres.xml
+1 −1 ccpp/suites/suite_FV3_global_nest_v1.xml
+1 −1 ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml
+1 −1 ccpp/suites/suite_FV3_lowres.xml
+1 −1 ccpp/suites/suite_MPAS_RRFS.xml
+1 −1 ccpp/suites/suite_RRFS_sas.xml
+1 −1 ccpp/suites/suite_RRFS_sas_nogwd.xml
+1 −1 ccpp/suites/suite_RRFSens_phy1.xml
+1 −1 ccpp/suites/suite_RRFSens_phy2.xml
+1 −1 ccpp/suites/suite_RRFSens_phy3.xml
+1 −1 ccpp/suites/suite_RRFSens_phy4.xml
+1 −1 ccpp/suites/suite_RRFSens_phy5.xml
+3 −1 fv3/atmos_model.F90
+3 −0 fv3/module_fcst_grid_comp.F90
+8 −8 io/fv3atm_history_io.F90
2 changes: 1 addition & 1 deletion WW3
Submodule WW3 updated 1 files
+105 −21 model/src/wav_history_mod.F90
3 changes: 3 additions & 0 deletions ci/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This directory contains package.py, a local copy of the ufs-weather-model Spack recipe: https://github.com/spack/spack-packages/blob/develop/repos/spack_repo/builtin/packages/ufs_weather_model/package.py

It will not need frequent updates, but it is used by the GitHub Actions workflow under .github/workflows/Spack.yml. It only needs updates for changes to minimum version requirements, new dependencies, and new build options. In package.py, `depends_on("esmf@8.8.0:", when="@develop")` for example means that the minimum version that Spack will consider using for UFS Weather Model's ESMF dependency is 8.8.0. These minimum versions should generally track with what is in CMakeLists.txt, though in practice, Spack will typically attempt to use the most recent release of a package available in that package's recipe.
Loading
Loading