Skip to content

Remove KOKKOS_MUPHYS scheme and retain only AES_GRAUPEL in muphys module - #1454

Open
edopao wants to merge 7 commits into
mainfrom
remove-muphys-wrapper-scheme-kokkos
Open

Remove KOKKOS_MUPHYS scheme and retain only AES_GRAUPEL in muphys module#1454
edopao wants to merge 7 commits into
mainfrom
remove-muphys-wrapper-scheme-kokkos

Conversation

@edopao

@edopao edopao commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

This PR removes the legacy KOKKOS_MUPHYS scheme from the muphys microphysics module, making AES_GRAUPEL the sole remaining scheme. Changes include:

  • Deletion of MuphysScheme enum and related configuration
  • Removal of use_aes_graupel flag and conditional branching throughout the codebase
  • Deletion of muphys_wrapper.py (Fortran binding for graupel-only driver)
  • Removal of dependency on icon4py-atmosphere-muphys in bindings/pyproject.toml
  • Cleanup of driver setup functions that previously accepted scheme parameters
  • Deletion of redundant test files (integration and stencil tests) specific to KOKKOS_MUPHYS
  • Updates to driver and test references to reflect scheme removal

The AES_GRAUPEL scheme (based on ICON's mo_aes_graupel.f90) is now the only microphysics implementation, simplifying maintenance and reducing code complexity.

@@ -1,127 +0,0 @@
# ICON4Py - ICON inspired code in Python and GT4Py

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should discuss if we keep them (we could great a new reference from the icon4py implementation). Briefly discussed this with Jacopo, but forgot what the conclusion was. We should define what the muphys component in icon4py should be, the one that is tested in these tests or the one that returns tendencies...

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

When developing, you can test your changes on CSCS CI before merge with the default pipeline: cscs-ci run default. This will run a default subset of tests.

You can pass options to override pipeline variables, for example:

  • cscs-ci run default;BACKENDS=gtfn_cpu;LEVELS=unit
  • cscs-ci run default;MODEL_SUBPACKAGES=common:driver;SESSIONS=model
    Avoid running the pipeline for all tests when you are developing.

Available options are:

  • SESSIONS: model, model_mpi, or tools (correspond to nox sessions)
  • MODEL_SUBSETS: datatest, basic, or stencils (correspond to nox session selections)
  • MODEL_SUBPACKAGES: subpackages for non-MPI tests (last component, e.g. diffusion, driver)
  • MODEL_MPI_SUBPACKAGES: subpackages for MPI tests (as above)
  • BACKENDS: backends
  • GRIDS: grids for stencil tests (simple, icon_regional, or icon_global)
  • LEVELS: testing level for non-stencil tests (unit or integration)

For each option, all can be used as a shorthand for all possible values of that variable, e.g. LEVELS=all.

See scripts/python/generate_ci_pipeline.py and noxfile.py for available values for each option.

The all pipeline can be run with cscs-ci run all. This will run all icon4py tests in CSCS CI which can be expensive. This pipeline runs on a schedule on main, and can be run when extensive validation is needed (e.g. before releases).

Merging

Once your PR is approved and ready for merging, add it to the merge queue. The merge CSCS CI pipeline will run automatically on the merge-queue branch and must pass before the PR is merged. A dummy merge check will be triggered on the PR itself since it's required to add a PR to the merge queue.

Optional Tests

To run benchmarks you can use:

  • cscs-ci run benchmark-bencher

For more detailed information please look at CI in the EXCLAIM universe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants