Conversation
* main: Fix license specification in muphys pyproject.toml (#1244)
There was a problem hiding this comment.
Pull request overview
This PR updates the serialization workflow to also persist the ICON namelist as JSON during output collection, and adjusts the run_serialization CLI to use lazy imports and updated repository directory settings.
Changes:
- Add
f90nmlas a scripts dependency and lock it inuv.lock. - Extend
copy_ser_data()to convertNAMELIST_ICON_output_atmto JSON and save it alongside copied outputs. - Refactor
run_serialization.pysettings (repo dir fields) and introduce lazy loading foricon4py.model.testingimports.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
uv.lock |
Locks f90nml and updates the lock revision/markers. |
scripts/python/run_serialization.py |
Adds namelist-to-JSON conversion, lazy imports, and updates settings/path wiring. |
pyproject.toml |
Adds f90nml>=1.5 to the scripts dependency group. |
model/testing/src/icon4py/model/testing/definitions.py |
Adds NAMELIST_ICON_FNAME constant for the ICON output namelist filename. |
Comments suppressed due to low confidence (1)
scripts/python/run_serialization.py:76
SerializationSettings.defaults()now relies on the module-leveldefinitionsbeing initialized elsewhere (it was previously imported locally). This makesdefaults()fragile if it’s ever called without first running the lazy-import bootstrap. Consider importingdefinitions(and any other required modules) insidedefaults()again, or refactor sodefaults()doesn’t depend on mutable module globals.
def defaults(cls) -> SerializationSettings:
# ======================================
# START DEFAULT USER CONFIGURATION
# ======================================
# We hardcode the settings here for simplicity, but they could be
# extended to be read from a config file or command-line arguments
# if needed in the future.
COMM_SIZES: list[int] = [1, 2, 4]
EXPERIMENTS = [
definitions.Experiments.MCH_CH_R04B09,
definitions.Experiments.JW,
definitions.Experiments.EXCLAIM_APE,
definitions.Experiments.GAUSS3D,
definitions.Experiments.WEISMAN_KLEMP_TORUS,
]
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
cscs-ci run default |
|
Mandatory Tests Please make sure you run these tests via comment before you merge!
Optional Tests To run benchmarks you can use:
To run tests and benchmarks with the DaCe backend you can use:
To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:
For more detailed information please look at CI in the EXCLAIM universe. |
|
cscs-ci run distributed |
and bug-fix the run_serialization script with lazy loading