Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
841 commits
Select commit Hold shift + click to select a range
a5e41ef
Fixes and builds
jgfouca Oct 2, 2025
2e49956
EAMxx: add proxy settings for front
mahf708 Oct 2, 2025
6705b4e
EAMxx: only enable mvk for ne4
mahf708 Oct 2, 2025
30d6fce
Merge branch 'stephenprice/update-default-greenland-pelayouts' (PR #7…
jonbob Oct 2, 2025
30af831
EAMxx: disable automatic baseline compare
mahf708 Oct 2, 2025
55d2f5f
EAMxx: allow diags in sci notation
mahf708 Oct 2, 2025
e9991f4
EAMxx: disable AeroComCld diags for now
mahf708 Oct 2, 2025
85d0cda
EAMxx: improve error msg for aerocom_cld
mahf708 Oct 2, 2025
09db230
Set EAM/ELM config options for CMIP7 compsets
wlin7 Oct 2, 2025
e7505d0
Merge branch 'improvement-eamxx-zonal_average_diagnostic' (PR #7481)
tcclevenger Oct 2, 2025
1707afb
EAMxx: remove aerocomcld from tests
mahf708 Oct 2, 2025
a67d614
Merge branch 'bartgol/eamxx/libs-reorg-part-4' (PR #7698)
bartgol Oct 2, 2025
4b9547e
Update OmegaV1GoverningEqns.md
hyungyukang Oct 2, 2025
76b34cd
More fixes to gen-boiler with new tests
jgfouca Oct 2, 2025
e6be575
additional things to remove PAM submodule
whannah1 Oct 2, 2025
340c589
gw_convect now workingon cpu
jgfouca Oct 2, 2025
dc96461
EAMxx: move scorpio-interface library into its own folder
bartgol Sep 15, 2025
862bde5
EAMxx: turn remap folder into its own library
bartgol Sep 15, 2025
be48d2b
EAMxx: remove io includes from remappers impl
bartgol Sep 15, 2025
5be333a
EAMxx: turn property checks folder into its own library
bartgol Sep 15, 2025
c94dfca
EAMxx: split property_check test into multiple smaller unit tests
bartgol Sep 16, 2025
4a011dc
EAMxx: reinstate field mgr unit tests
bartgol Oct 2, 2025
e130af0
Fix non gpu function
jgfouca Oct 2, 2025
a7a719e
Merge remote-tracking branch 'origin/master' into jgfouca/port_gw_con…
jgfouca Oct 2, 2025
9146e9a
Merge branch 'mahf708/eamxx/minor-diag-touchups' (PR #7748)
bartgol Oct 3, 2025
49e0bea
Merge branch 'jgfouca/port_gw_convect' into master (PR #7750)
jgfouca Oct 3, 2025
f32e216
Merge 'bartgol/eamxx/libs-reorg-part-5 (PR #7749)
bartgol Oct 3, 2025
c732e3c
EAMxx: turn share/manager folder into its own library
bartgol Sep 16, 2025
21bc3fc
Fix DMS files for 1850-CMIP7 compsets
wlin7 Oct 3, 2025
4794fa9
More enhancements to gen-boiler
jgfouca Oct 3, 2025
79875a9
Merge branch 'lnd/fates-api41-update'(PR #7665)
peterdschwartz Oct 3, 2025
c790278
builds
jgfouca Oct 3, 2025
9f59303
Works on CPU
jgfouca Oct 3, 2025
1534053
EAMxx: change share/manager to share/data_managers
bartgol Sep 16, 2025
7c2db38
EAMxx: move SCDataManager to share/data_managers
bartgol Sep 16, 2025
db98373
EAMxx: move IOPDataManager to data_managers lib
bartgol Oct 4, 2025
f7a27be
Add 'top' superscript to the last term of Eq. (52)
hyungyukang Oct 6, 2025
de82383
Correct a sign of pseudo thickness in Overview.
hyungyukang Oct 6, 2025
29b14d8
Merge branch E3SM-Project/ndk/machinefiles/perlmutter-module-updates-…
ndkeen Oct 6, 2025
856a4e8
adding the harvest to product pool fluxes to the carbon balance checks
ckoven Oct 9, 2024
e889591
added summary NBP, NEP, and NEE fluxes, plus related changes
ckoven Mar 7, 2025
7446da1
added fates C stock vars to TOTECOSYSC
ckoven Mar 20, 2025
0c13d7c
unit fixes on TOTECOSYSC calc
ckoven Apr 4, 2025
587932c
elm-side bugfixes for lupft-dimensioned hist vars
ckoven Feb 5, 2025
9bc67dc
remove fates_error_el from fates test
glemieux Aug 5, 2025
5195b10
add call to update bc_outs
glemieux Aug 7, 2025
968bef1
removed unused call to build gpp/ar bc_out
rgknox Sep 11, 2025
91d15a1
Refactored timing of fates-elm fragmentation fluxes to fix restart b4…
rgknox Sep 12, 2025
df3d75b
update fates two stream tests to use climate-utils
glemieux Sep 20, 2025
f1b74a6
update two stream fates test to use the new namelist option
glemieux Sep 20, 2025
7563787
update fates twostream test mod per API38
glemieux Sep 20, 2025
5f1e4e4
remote readme from twostream testmod
glemieux Sep 20, 2025
d47039d
update fates to sci.1.87.3_api.41.0.0 to include gpp and ar fixes
glemieux Oct 6, 2025
35c7d09
EAMxx: add missing sync in mesh free grid manager
bartgol Oct 6, 2025
01df1dc
Fix ACC pragmas in ocn_surface_bulk_forcing_vel
jonbob Oct 6, 2025
7fd42be
Progress on storm_speed, builds
jgfouca Oct 6, 2025
5fedc56
Merge branch 'bartgol/eamxx/libs-reorg-part-6' (PR #7751)
bartgol Oct 6, 2025
7b4f12c
EAMxx: turn atm_process folder into its own library
bartgol Sep 23, 2025
24beb1a
EAMxx: split atm procs test into smaller unit tests
bartgol Sep 23, 2025
719cc76
EAMxx: move column ops to util lib
bartgol Oct 2, 2025
00d8a9d
EAMxx: declare test support lib right away
bartgol Oct 2, 2025
d106bbe
EAMxx: consolidate testing-support cmake targets
bartgol Oct 2, 2025
3320785
EAMxx: include test-related header with full path
bartgol Oct 2, 2025
66c83b7
EAMxx: link io lib to the test support lib
bartgol Oct 3, 2025
826c60e
EAMxx: disable mvk test for now
mahf708 Oct 7, 2025
6c5dca1
Merge branch 'origin/mahf708/eamxx/mvk-fixes' into master (PR #7747)
jgfouca Oct 7, 2025
bafb7a0
Merge branch 'jonbob/cpl/update-albav' (PR #7741)
jonbob Oct 7, 2025
e97b42d
Update OPENACC ifdefs after enddo to match beginning of loop.
mark-petersen Oct 7, 2025
3c5e9b0
EAMxx: fix cyclic dep between share/io/diag libs
bartgol Oct 7, 2025
72f341c
EAMxx: fix dependency of scream_control
bartgol Oct 7, 2025
68e3f17
Fixing the time interpolation for LINOZ and oxidants.
odiazib Sep 22, 2025
09acb5d
EAMxx: Updating NetCDF files for standalone testing. The previous fil…
odiazib Sep 23, 2025
05f5ff9
EAMxx: expose h2otemp, add water thermo fixer
mahf708 Oct 7, 2025
0572063
Merge branch 'jonbob/mpaso/fix-acc-bulk-forcing' (PR #7754)
jonbob Oct 8, 2025
cb4dc4d
storm speed working on CPU and PTD refactor
jgfouca Oct 8, 2025
1349af9
Need approx for GPU
jgfouca Oct 8, 2025
f974b60
Merge branch 'bartgol/eamxx/libs-reorg-part-7' (PR #7756)
bartgol Oct 8, 2025
71d6c63
EAMxx: move physics/share to share/physics
bartgol Oct 2, 2025
85adf5b
EAMxx: move common physics unit test to share/physics folder
bartgol Oct 3, 2025
e551bd7
port gw_sources, builds
jgfouca Oct 8, 2025
1193a0b
Update ekat submodule
bartgol Oct 8, 2025
a6c2021
EAMxx: remove usage of user-defined yaml tags in buildnml
bartgol Oct 8, 2025
1e98951
EAMxx: adapt to ParameterList API change
bartgol Oct 8, 2025
ffcb41a
Update CIME submodule
jgfouca Oct 8, 2025
8ac45a8
EAMxx: fix includes of physics share headers
bartgol Oct 2, 2025
cf0b9f6
EAMxx: build some physics/share stuff only for testing
bartgol Oct 2, 2025
cd001cc
EAMxx: fix homme interface warning
bartgol Oct 3, 2025
caf4894
EAMxx: fix source files for physics share library
bartgol Oct 8, 2025
408cb89
after changing to 128 default vert levels, make changes to test names
ndkeen Oct 9, 2025
f2622f2
default vert levels to 128 from 72
ndkeen Oct 9, 2025
19c83bf
Merge branch 'bartgol/eamxx/libs-reorg-part-8' (PR #7774)
bartgol Oct 9, 2025
106797f
CPU works
jgfouca Oct 9, 2025
f4e6a32
port beres
jgfouca Oct 9, 2025
72531cd
EAMxx: slightly better docs for ieflx
mahf708 Oct 10, 2025
615a2ab
Merge branch 'jonbob/runscript/fix-mpas-branch-hybrid' (PR #7580)
jonbob Oct 10, 2025
3865329
Merge branch 'mark-petersen/mpas/fix-openacc-loops' (PR #7759)
jonbob Oct 10, 2025
8cea8c9
Replaces -- with . to fix the L72 test mod for MAM4xx test
singhbalwinder Oct 10, 2025
754ca4d
Merge branch 'jgfouca/cime_update_2025_10_08' into master (PR #7775)
jgfouca Oct 10, 2025
339ba28
Merge branch 'mahf708/eamxx/ieflx' into master (PR #7758)
jgfouca Oct 10, 2025
d787db7
Merge branch 'rfiorella/lnd/add-era5-to-couplerbypass' (PR #7480)
peterdschwartz Oct 10, 2025
c2e67e1
Fixes for heating deapth
jgfouca Oct 10, 2025
7a99457
Merge branch E3SM-Project/ndk/eamxx/default-vertical-levels-128b (PR …
ndkeen Oct 10, 2025
51b9de6
Update files for E90, oxidant, chlorine loading and linozv3 files
wlin7 Oct 10, 2025
ea81c8e
For top-level beres, need team-shared locals
jgfouca Oct 10, 2025
eb82040
Merge remote-tracking branch 'origin/master' into jgfouca/port_more_c…
jgfouca Oct 10, 2025
b0b03aa
Merge branch 'whannah/mmf/disable-MMF2' (PR #7728)
singhbalwinder Oct 13, 2025
83efe4e
Rebased all commits into one commit for GACM-E3SM coupling
mark-petersen Sep 20, 2022
b3b6c32
Replace resolution in A-case tests
rljacob Oct 13, 2025
ab07d56
for pm-gpu (and related machines), change the maxwalltime for debug q…
ndkeen Oct 14, 2025
0abe496
Merge branch E3SM-Project/ndk/machinefiles/pm-gpu-debug-qos (PR #7793)
ndkeen Oct 14, 2025
69b0df7
Set eamxx standalone default levels back to 72
jgfouca Oct 14, 2025
61ecb22
add tunable aerosol mode diameter threholds for renaming to strat coa…
mingxuanwupnnl Oct 14, 2025
627e81f
Fix more tests by setting them back to 72
jgfouca Oct 14, 2025
df26470
Add missing args for phys_getopts
mingxuanwupnnl Oct 14, 2025
ab421be
Fix typo in CI
jgfouca Oct 14, 2025
1b6eb36
Merge branch 'jgfouca/eamxx_levs_back_to_72' into master (PR #7794)
jgfouca Oct 14, 2025
016aa47
Update oneapi compiler on Aurora
amametjanov Sep 10, 2025
59bfba7
Load pnetcdf-1.14.0
amametjanov Sep 11, 2025
b3be50c
Keep collective-tuning optional
amametjanov Sep 12, 2025
1beb8f2
Remove next-eval queue
amametjanov Oct 15, 2025
77777bf
Reference GH issue for oneapi v2025.2.0 ICE
amametjanov Oct 15, 2025
0da87a3
Update aerosol mode1 and mode5 physprops files for CMIP7 compsets
wlin7 Oct 15, 2025
ecf69f2
Merge remote-tracking branch 'origin/master' into jgfouca/port_more_c…
jgfouca Oct 15, 2025
3c5d181
EAMxx: fix some broken includes
bartgol Oct 15, 2025
436cda3
EAMxx: revive time interpolation test
bartgol Oct 15, 2025
907c29b
Merge single
jgfouca Oct 15, 2025
37bf054
Merge branch 'jgfouca/port_more_convect' into master (PR #7784)
jgfouca Oct 15, 2025
af1d1d4
Add CMIP7 land use_case files and use CMIP7 popdens file
wlin7 Oct 15, 2025
6c110b5
EAMxx: misc fixes for time interp unit test
bartgol Oct 15, 2025
607d102
Port front_init
jgfouca Oct 15, 2025
6d1dccf
Port front_project_winds
jgfouca Oct 15, 2025
2fb487a
Disable adding iac variables to cplstate using a new namelist
singhbalwinder Oct 15, 2025
09a20ac
Fixes name of the namelist variable
singhbalwinder Oct 15, 2025
7318eaa
revise the description for the two threshold diameter
mingxuanwupnnl Oct 15, 2025
d46eb4c
Adds back deleted MOAB ifdefs and fixed some comments/indentation
singhbalwinder Oct 15, 2025
f3fe207
Merge branch 'bartgol/eamxx/fix-broken-includes' (PR #7799)
bartgol Oct 16, 2025
2082a77
Merge branch 'bartgol/eamxx/rm-user-defined-yaml-tags' (PR #7776)
bartgol Oct 16, 2025
fe836e0
EAMxx: move diagnostics folder inside share, and changed target name
bartgol Oct 2, 2025
9c55f84
EAMxx: renamed scream_io->eamxx_io
bartgol Oct 4, 2025
247ab6f
EAMxx: build less tests when only generating baselines
bartgol Oct 4, 2025
4863461
EAMxx: turn algorithm folder into its own target
bartgol Oct 16, 2025
e7065ca
EAMxx: fix some include/link issues
bartgol Oct 16, 2025
f211b5f
port gw_front_gw_sources
jgfouca Oct 16, 2025
a8ed7dc
GPU fixes
jgfouca Oct 16, 2025
a86823f
Moves call to set iac_present before calling elm_cpl_indices_set
singhbalwinder Oct 16, 2025
7ad752d
Fix comment lines containing CMIP6 in EAM use_case files
wlin7 Oct 16, 2025
91fcf68
Port gw_cm_src_bfb
jgfouca Oct 16, 2025
053b0e6
Update sim_year_range in ELM 20thC_CMIP7 use_case
wlin7 Oct 16, 2025
9716e90
revise and add description for the two namelist variable according to…
mingxuanwupnnl Oct 16, 2025
b02e506
Build superbfb test exes without sharing
amametjanov Oct 17, 2025
84219bd
Adds domain maps info for IAC in MOAB
singhbalwinder Oct 17, 2025
3a07ac2
Progress with oro_src
jgfouca Oct 17, 2025
9d82f7f
Merge branch 'singhbalwinder/evasinha/e3sm_gcam6_maint-2.1_rebased3-t…
rljacob Oct 17, 2025
33a593d
Merge branch 'azamat/aurora/oneapi-202520' (PR #7693)
amametjanov Oct 17, 2025
0484caa
Works without kokkos
jgfouca Oct 17, 2025
c5e8279
Merge branch 'PR_kmelm_03312025' (PR #7208)
peterdschwartz Oct 17, 2025
8ce6705
Fixes works on CPU
jgfouca Oct 17, 2025
20a616e
Fix add_defaults for the new parameters only when defaults are available
wlin7 Oct 17, 2025
810b81d
Pacer: handle the case of empty container
mwarusz Oct 17, 2025
287b7cf
GPU fix
jgfouca Oct 17, 2025
7970016
Update evelated SO2 emission file for CMIP7 20TR-HR use_case
wlin7 Oct 17, 2025
625937f
Minor adjustment
jgfouca Oct 17, 2025
69ce0d0
Merge branch 'bartgol/eamxx/libs-reorg-part-9' (PR #7780)
bartgol Oct 17, 2025
8fb486c
Adds fpic and mcmodel medium to Compy's Intel C and Frotran flags
singhbalwinder Oct 18, 2025
a437652
Correct seq_hist_writeaux use for the iac case
rljacob Oct 20, 2025
8ba1f82
Move init of iac component
rljacob Oct 20, 2025
f5894d8
Merge remote-tracking branch 'odiazib/eamxx/time_interpolation_linoz_…
singhbalwinder Oct 20, 2025
bcf9631
Merge branch 'azamat/superbfb/rm-shared-exe' (PR #7801)
amametjanov Oct 20, 2025
ee1959b
Merge branch 'mwarusz/share/pacer-fix' (PR #7805)
amametjanov Oct 20, 2025
b59f750
Merge branch 'jgfouca/gw_port_front' into master (PR #7804)
jgfouca Oct 20, 2025
27db2ad
Merge branch 'jgfouca/gw_port_front' into master (PR #7804)
jgfouca Oct 20, 2025
d7b4672
EAMxx: fix include error
bartgol Oct 21, 2025
245d659
Merge branch 'singhbalwinder/gcam/add-compy-fpic-flags' #7806)
singhbalwinder Oct 21, 2025
92fa034
Set r025 fsurdat and lulc for CMIP7 1850 and 20TR use_cases
wlin7 Oct 21, 2025
5902e9f
Merge branch 'bartgol/eamxx/gw-include-fix' (PR #7814)
bartgol Oct 21, 2025
2e06078
Set dust_emis_scheme=2 for CMIP7 compsets
wlin7 Oct 21, 2025
de4952f
Merge branch 'fates_nbp_totecosysc'(PR #7231)
peterdschwartz Oct 21, 2025
8064a91
Merge branch 'rljacob/mbcpl/fix-iac' (PR #7808)
rljacob Oct 21, 2025
15f033b
remove the testmod that causes 128 levels to fails
ndkeen Oct 21, 2025
f0cd0c3
remove eamxx-L128 testmods as 128 default
ndkeen Oct 21, 2025
110098f
Remove where-clauses causing nvidia compiler error
matthewhoffman Oct 21, 2025
67bc953
Update EKAT subm
jgfouca Oct 21, 2025
6931399
Update EKAT again to fix missing install header
jgfouca Oct 21, 2025
582e4be
Merge branch 'wlin/v3hr_cmip7' (PR #7735)
wlin7 Oct 22, 2025
ebe5d0c
Merge branch 'mingxuanwupnnl/atm/MAM5_tuning_forv3HR' (PR #7795)
wlin7 Oct 22, 2025
fa74e72
Merge branch 'jgfouca/update_ekat_2025_10_21' into master (PR #7819)
jgfouca Oct 22, 2025
97f15c0
A last round of easy cleanup for the GW port
jgfouca Oct 22, 2025
2f2a380
Merge branch 'rljacob/new-a-case' (PR #7786)
rljacob Oct 22, 2025
cd7410a
EAMxx: do not add dependencies to test support lib
bartgol Oct 20, 2025
90ee302
EAMxx: fix libs linked by physics_share unit test
bartgol Oct 20, 2025
a601e32
EAMxx: move tests/generic/bfbhash to src/share/utils/tests
bartgol Oct 20, 2025
bee75ee
EAMxx: move remaining tests in tests/generic to share/core
bartgol Oct 20, 2025
c0e1fe7
revert last commit where i was trying to remove the eamxx-L128 test m…
ndkeen Oct 22, 2025
e9e20b9
Merge branch 'bartgol/eamxx/fix-test-support-lib' (PR #7812)
bartgol Oct 22, 2025
a7dbeea
Tol needed in a couple places
jgfouca Oct 22, 2025
0af9aec
Go ahead and update EKAT too
jgfouca Oct 22, 2025
cc68cdb
GPU didn't like this constant for some reason
jgfouca Oct 22, 2025
9e80d4a
Merge branch 'jgfouca/gw_cleanup_round' into master (PR #7827)
jgfouca Oct 23, 2025
814f415
Merge branch E3SM-Project/ndk/machinefiles/eamxx-remove-a-testmod (PR…
ndkeen Oct 23, 2025
2e7b342
Merge branch 'matthewhoffman/mali/sgh-nvidia-error' (PR #7816)
jonbob Oct 24, 2025
7be4290
Merge branch 'E3SM-Project:master' into develop
amametjanov Oct 24, 2025
8cc552c
Fix order of `MaxCellsOnEdge`/`TWO` dimension read
xylar Oct 27, 2025
d112926
Merge pull request #305 from xylar/omega/fix-max-cells-on-edge-dim-re…
xylar Oct 28, 2025
dc9e497
Merge pull request #295 from mwarusz/omega/kokkos-wrappers
sbrus89 Oct 29, 2025
68661a0
Add hierarchical parallelism wrappers
mwarusz Oct 6, 2025
be42a71
Add hierarchical parallelism docs
mwarusz Oct 14, 2025
9165d7b
Add tests for hierarchical wrappers
mwarusz Oct 6, 2025
df1161b
Rename Kokkos test
mwarusz Oct 15, 2025
ec1403c
Disable outer reduce tests on SYCL with older Kokkos
mwarusz Oct 15, 2025
b4292ed
Remove unused function
mwarusz Oct 15, 2025
dc83b06
Fix SYCL and add static assert
mwarusz Oct 15, 2025
f60e847
Incorporate suggestions from review
mwarusz Oct 20, 2025
37173f1
Add arraysEqual to OmegaKokkos.h. Use in tests.
mwarusz Oct 20, 2025
9baac66
fixes stream read failure when freq is never
philipwjones Oct 29, 2025
593e0de
fix linting error
philipwjones Oct 29, 2025
785230d
Merge pull request #299 from mwarusz/omega/hipar-kokkos-wrappers
sbrus89 Oct 29, 2025
209776a
fixes stream read failure when freq is never
philipwjones Oct 30, 2025
ba2f369
Merge pull request #296 from hyungyukang/omega/gov-eq-modification
vanroekel Nov 3, 2025
e7222c7
add readarea argument to moab load seq_map_mod
iulian787 Jul 8, 2025
3f0c42b
change API names
iulian787 Jul 15, 2025
cc1df70
Ensure both offline and online workflows execute correctly for fully …
vijaysm Jul 23, 2025
f4f1ed0
implement fixer
oksanaguba Jul 28, 2025
7802974
namelist variable for water flux conservation in ocean-only simulation
zhangshixuan1987 May 2, 2025
43fde54
Code change to dynamically compute a scaling factor for the fresh wat…
zhangshixuan1987 May 6, 2025
c571219
Refactoring to enhance code readability and consistency with MPAS-O …
zhangshixuan1987 May 14, 2025
7f2b316
Initial plan
Copilot Aug 1, 2025
667d5de
EAMxx: update docs
mahf708 Aug 2, 2025
cacb3f6
Add CF-compliant metadata to output in EAMxx
AaronDonahue Jul 29, 2025
9f8cf19
add cell method for instant output, fix min/max attribute
AaronDonahue Jul 29, 2025
78c54fe
Add and A case and an ELM case to CI
jgfouca Aug 20, 2025
9cbcbf1
Add crevasse-depth calving law with enhancement from face melting
trhille Jun 25, 2025
7e03ff9
Remove curly braces around exponents in the unit attribute
hollyhan May 25, 2022
aca5d15
Add salt + temp to ocean extrapolation
alexolinhager Sep 5, 2024
ff9ddc5
Add debugging output variable
alexolinhager Feb 27, 2025
88a7cb8
Zero temp/salt, TF in ice-dammed inland seas
alexolinhager Mar 3, 2025
c7d6a09
Zero face melting at inland seas
alexolinhager Mar 12, 2025
7cb91fb
Revert "Zero face melting at inland seas"
alexolinhager Mar 18, 2025
0e5b133
Remove flood fill masks from Registry
alexolinhager Apr 24, 2025
551f02a
Debug seedMasks and connectedMarineMasks
alexolinhager Apr 28, 2025
a6b85f4
Rename T/S fields to more general
alexolinhager May 7, 2025
997a88c
Updates availOceanMask and validOceanMask Registry definitions
alexolinhager Jul 15, 2025
aee21b2
Rebase against develop.
overfelt Sep 1, 2025
2c15867
Add HorzUtil.h
overfelt Sep 1, 2025
b9c374a
Fixes some seg faults due to bad array indexing.
Sep 22, 2025
5d0cd73
Runs but the convergence factor is negative.
overfelt Sep 27, 2025
af6b88f
Stash before rewrite.
overfelt Oct 15, 2025
be0ee3c
Save snapshot that works and has order 1.7 convergence.
overfelt Oct 23, 2025
e8724a0
Fixes for errors in gpu compile.
Oct 30, 2025
f714637
Remove some debug print statements.
Nov 9, 2025
d905c06
Fix for compile errors after rebase.
overfelt Nov 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
54 changes: 54 additions & 0 deletions .github/DISCUSSION_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
title: "[Brief Title for Feature] "
labels: ["Feature Request"]
body:
- type: markdown
attributes:
value: |
This template will help you fill out the New Feature Overview Document. You do not have to fill
out everything and will be able to edit the resulting page later. NOTE. E3SM is not accepting new
feature requests for EAM or MPAS-Ocean.
- type: textarea
id: high-level-description
attributes:
label: High Level Description
description: "Include: High-level description of code changes and/or new code, an overview of the design, infrastructure changes if needed. You can also attach figures or papers."
placeholder: "add text, figures, papers"
validations:
required: false
- type: textarea
id: improvements
attributes:
label: Expected Improvements
description: "Expected improvements and how these will be demonstrated"
placeholder: "add text"
validations:
required: false
- type: dropdown
id: performance
attributes:
label: Expected impact on performance
description: "Choose an option. Use box below for future explanation"
options:
- Significant improvement
- Slight improvement
- No significant change
- Slight decline
- Significant decline
validations:
required: true
- type: textarea
id: perf-explanation
attributes:
label: Performance explanation
description: "Add more details on performance changes"
placeholder: "add text"
validations:
required: false
- type: textarea
id: publications
attributes:
label: Planned Publications
description: "If relevant and known, describe papers that will be published"
placeholder: "add text"
validations:
required: false
27 changes: 27 additions & 0 deletions .github/actions/test-all-eamxx/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ inputs:
description: 'Semicolon-separated list of key=value pairs for CMake to pass to test-all-eamxx'
required: false
default: ''
kokkos_develop:
description: 'Whether or not this is a test using Kokkos develop branch'
required: false
default: 'false'
valid_values:
- 'true'
- 'false'

runs:
using: "composite"
Expand Down Expand Up @@ -77,6 +84,18 @@ runs:
echo " generate : ${{ inputs.generate }}"
echo " submit : ${{ inputs.submit }}"
echo " cmake-configs: ${{ inputs.cmake-configs }}"
echo " kokkos dev : ${{ inputs.kokkos_develop }}"
shell: sh
- name: Checkout Kokkos develop branch
if: ${{ inputs.kokkos_develop == 'true' }}
working-directory: externals/ekat/extern/kokkos
run: |
echo "Check out up-to-date Kokkos develop branch"
if ! git remote | grep -q upstream; then
git remote add upstream https://github.com/kokkos/kokkos.git
fi
git fetch upstream
git checkout upstream/develop
shell: sh
- name: Run test-all-eamxx
working-directory: components/eamxx
Expand All @@ -98,6 +117,14 @@ runs:
cmd+=" -c $config"
done

# Add suffix for CDASH build name, and necessary cmake vars if this is a kokkos-develop test
if [ "${{ inputs.kokkos_develop }}" = "true" ]; then
cmd+=" --build-name-suffix kokkos_develop"
cmd+=" -c CMAKE_CXX_STANDARD=20"
cmd+=" -c Kokkos_ENABLE_IMPL_VIEW_LEGACY=ON"
cmd+=" -c Kokkos_ENABLE_DEPRECATED_CODE_4=ON"
fi

# Print the full command, then run it
echo "test-all-eamxx call: $cmd"
$cmd
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/e3sm-gh-ci-cime-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ jobs:
- ERS_Ld5_P4.ne4pg2_oQU480.F2010.ghci-oci_gnu.eam-wcprod_F2010
- SMS_D_Ln5_P4.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.ghci-oci_gnu
- ERS_Ld5_P4.ne4pg2_oQU480.F2010-SCREAMv1-MPASSI.ghci-oci_gnu.eamxx-prod
- ERS_P4.ne4pg2_oQU480.A.ghci-oci_gnu
- ERS_P4.ne4pg2_oQU480.I1850ELMCN.ghci-oci_gnu.elm-qian_1948
- ERS.f19_g16_rx1.A.ghci-oci_gnu
- ERS.f19_g16.I1850ELM.ghci-oci_gnu.elm-betr
container:
image: ghcr.io/e3sm-project/containers-ghci:ghci-0.2.1

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e3sm-gh-md-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: tj-actions/changed-files@v46
- uses: tj-actions/changed-files@v47
id: changed-files
with:
files: '**/*.md'
Expand Down
117 changes: 82 additions & 35 deletions .github/workflows/eamxx-gh-clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ name: "eamxx-format"
# if .{cpp,hpp} files are touched in a PR, lint them!

on:
# pull_request:
# branches: ["master"]
# paths:
# - 'components/eamxx/**/*.cpp'
# - 'components/eamxx/**/*.hpp'
pull_request:
branches: ["master"]
paths:
- 'components/eamxx/**/*.cpp'
- 'components/eamxx/**/*.hpp'
- .github/workflows/eamxx-gh-clang-format.yml

# Manual run
workflow_dispatch:
Expand All @@ -16,50 +17,75 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

# RECIPE:
# 0. install clang-format via conda. This allows us to pick virtually any clang-format
# version we want, without having to rely on what's available on the runner
# 1a. runs clang-format on the files changed by this PR, modifying them in-place
# 1b. in case of workflow_disaptch, run clang-format on ALL eamxx cpp/hpp files
# 2. any files that required formatting are returned by a 'git diff --name-only'
# and written to the job summary along with an informational message
# if (formatting required) {
# 3. runs a full diff to generate a patch file
# 4. uploads the patch as an artifact
# }
# 5. return the pass/fail status of the job

jobs:
clang-format-linter:
if: ${{ github.repository == 'E3SM-Project/E3SM' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: tj-actions/changed-files@v46
- uses: tj-actions/changed-files@v47
id: changed-files
with:
files: 'components/eamxx/**/*.{cpp,hpp}'
separator: " "
# 1. runs clang-format on the files changed by this PR, modifying them in-place
# 2. any files that required formatting are returned by a 'git diff --name-only'
# and written to the job summary along with an informational message
# if (formatting required) {
# 3. runs a full diff to generate a patch file
# 4. uploads the patch as an artifact
# }
# 5. return the pass/fail status of the job
# NOTE: different versions of clang-format are likely to give different
# results, so we keep an eye on this
- name: get version clang-format-18
run: |
ver=$(clang-format-18 --version)
if [ "${ver}" = "18.1.3" ]; then
echo "Running clang-format version ${ver}."
else
echo "Warning! clang-format version has changed! (default 18.1.3)"
echo "Please inform developers by opening an issue."
echo "Running clang-format with non-standard version ${ver}."
fi
- name: run formatter looping over files
- name: setup micromamba env
uses: mamba-org/setup-micromamba@v2
with:
init-shell: bash
environment-name: clang-format
create-args:
clang-format=20.1.8
- name: run formatter looping over PR-changed files, then diff - PR trigger
# Note: this (json) variable contains a handful of sub-fields, but its
# existence encapsulates all of the PR-related triggers
# this is the best option because github.event_name could be something
# like "synchronization," which falls under the umbrella of PR triggers
if: ${{ github.event.pull_request }}
shell: bash -leo pipefail {0}
run: |
flist="${{ steps.changed-files.outputs.all_changed_files }}"
run_cfmt () {
clang-format-18 -i --style=file:"components/eamxx/.clang-format" $1
clang-format -i --style=file:"components/eamxx/.clang-format" $1
}
clang-format --version
for f in ${flist[@]}; do
echo "--Running clang-format on ${f}--"
run_cfmt "${f}"
done
git diff --name-only > diffiles.txt
- name: run formatter looping over all files, then diff - manual trigger
# Note: different from above, this trigger does not result in a variable
# github.event.workflow_dispatch, but this will always be the event_name
if: ${{ github.event_name == 'workflow_dispatch' }}
shell: bash -leo pipefail {0}
run: |
# when it's a manual trigger, we'll choose to consider all cpp/hpp files
flist=($(find components/eamxx -depth -name "*.?pp"))
run_cfmt () {
clang-format -i --style=file:"components/eamxx/.clang-format" $1
}
clang-format --version
for f in ${flist[@]}; do
echo "--Running clang-format on ${f}--"
run_cfmt "${f}"
done
git diff --name-only > diffiles.txt
- name: examine diff and write to summary
run: |
if [[ $(wc -l < diffiles.txt) -gt 0 ]]; then
# we don't want to return a nonzero exit code in this step because
# it'll stop the job, so we store it in the ENV
Expand All @@ -82,22 +108,43 @@ jobs:
"execute \`git apply <patch-file>\` from your local E3SM " \
"branch." >> "${GITHUB_STEP_SUMMARY}"
echo "Then commit the changes and push to your remote branch." >> "${GITHUB_STEP_SUMMARY}"
echo "" >> "${GITHUB_STEP_SUMMARY}"
echo "For diffs with ***fewer than 100 lines***, we also include the text of " \
"the patch file in a collapsed section, below." >> "${GITHUB_STEP_SUMMARY}"
else
echo "status_fail=false" >> "${GITHUB_ENV}"
echo "## Status: \`clang-format\` Check Passed!" > "${GITHUB_STEP_SUMMARY}"
fi
- name: diff format changes
run: git diff > "components/eamxx/clang-format-patch.diff"
run: |
d_str=$(date +"%Y%m%d%H%M%S")
fname="clang-format-patch_${{ github.event.pull_request.number || github.event_name }}-${d_str}.diff"
echo "fname=${fname}" >> "${GITHUB_ENV}"
git diff > "components/eamxx/${fname}"
if [[ ${status_fail} = true ]] && [[ $(wc -l < "components/eamxx/${fname}") -lt 100 ]]; then
echo "<details>" >> "${GITHUB_STEP_SUMMARY}"
echo "" >> "${GITHUB_STEP_SUMMARY}"
echo "<summary>" >> "${GITHUB_STEP_SUMMARY}"
echo "<b>Contents of</b> <tt>clang-format-patch.diff</tt>" >> "${GITHUB_STEP_SUMMARY}"
echo "</summary>" >> "${GITHUB_STEP_SUMMARY}"
echo "To apply this version of the patch, save the text to a local file, " \
"and <tt>git apply &lt;patch-file&gt;</tt>, etc., as above." >> "${GITHUB_STEP_SUMMARY}"
echo "" >> "${GITHUB_STEP_SUMMARY}"
echo "\`\`\`" >> "${GITHUB_STEP_SUMMARY}"
cat "components/eamxx/${fname}" >> "${GITHUB_STEP_SUMMARY}"
echo "\`\`\`" >> "${GITHUB_STEP_SUMMARY}"
echo "" >> "${GITHUB_STEP_SUMMARY}"
echo "</details>" >> "${GITHUB_STEP_SUMMARY}"
fi
- name: upload diff patch
if: ${{ env.status_fail }}
if: ${{ env.status_fail == 'true' }}
uses: actions/upload-artifact@v4
with:
name: clang-format-patch_${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_id }}.diff
path: |
components/eamxx/clang-format-patch.diff
name: ${{ env.fname }}
path: "components/eamxx/${{ env.fname }}"
- name: return pass-fail status
run: |
if [[ ${status_fail} ]]; then
if [[ ${status_fail} = true ]]; then
exit 1
else
exit 0
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/eamxx-sa-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ on:
- 'externals/haero'
- 'externals/scorpio'
# second, no to these
- '!components/eamxx/.clang-format'
- '!components/eamxx/docs/**'
- '!components/eamxx/mkdocs.yml'
- '!components/eamxx/cime_config/**'
Expand All @@ -41,10 +42,15 @@ on:
description: 'Force cdash submission'
required: true
type: boolean
use_kokkos_dev:
description: 'Run with Kokkos develop branch'
required: true
type: boolean

# Add schedule trigger for nightly runs at midnight MT (Standard Time)
schedule:
- cron: '0 7 * * *' # Runs at 7 AM UTC, which is midnight MT during Standard Time
- cron: '0 7 * * 1' # Weekly run every Monday at 7 AM UTC (using Kokkos develop branch)

concurrency:
# Two runs are in the same group if they are testing the same git ref
Expand All @@ -59,6 +65,8 @@ env:
generate: ${{ github.event_name == 'workflow_dispatch' && inputs.bless }}
# Do EKAT testing for nightlies or (TODO: if EKAT label is present)
ekat: ${{ github.event_name == 'schedule' }}
# For the weekly run, we test using the kokkos develop branch
kokkos_dev_test: ${{ github.event_name == 'schedule' && github.event.schedule == '0 7 * * 1' || (github.event_name == 'workflow_dispatch' && inputs.use_kokkos_dev) }}

jobs:
gcc-openmp:
Expand Down Expand Up @@ -94,6 +102,7 @@ jobs:
submit: ${{ env.submit }}
cmake-configs: Kokkos_ENABLE_OPENMP=ON
ekat: ${{ env.ekat }}
kokkos_develop: ${{ env.kokkos_dev_test }}
gcc-cuda:
if: |
${{
Expand Down Expand Up @@ -162,3 +171,4 @@ jobs:
submit: ${{ env.submit }}
cmake-configs: Kokkos_ARCH_HOPPER90=${{ env.Hopper }};Kokkos_ARCH_AMPERE80=${{ env.Ampere }};Kokkos_ARCH_VOLTA70=${{ env.Volta }};CMAKE_CUDA_ARCHITECTURES=${{ env.CUDA_ARCH }};SCREAM_SMALL_KERNELS=${{ matrix.test.SK }}
ekat: ${{ env.ekat }}
kokkos_develop: ${{ env.kokkos_dev_test }}
Loading