Skip to content

Improve Initial Condition Config - #1445

Open
DropD wants to merge 6 commits into
mainfrom
ricoh-declarative-ic
Open

Improve Initial Condition Config#1445
DropD wants to merge 6 commits into
mainfrom
ricoh-declarative-ic

Conversation

@DropD

@DropD DropD commented Aug 26, 2026

Copy link
Copy Markdown
Contributor
  • Make the config classes ready for generating documentation
  • Pass config options from other components during application of the IC instead of into their configuration
  • rename initial_configuration.create -> initial_condition.apply (since it doesn't create anything)

@DropD
DropD requested review from OngChia and jcanton August 26, 2026 08:38
@jcanton

jcanton commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

not much feedback, other than it looks better than before and I like it.
@OngChia can come up with good descriptions for the config params

more things I'd like to see is the ad hoc names be replaced by a common interface so we have something like

initial_conditions
   jabw
      config
      create()
    gauss
      config
      create()

which should simplify the config.py match cases

possibly also move create out of config.py and into a create.py or something more appropriate :)

@DropD
DropD force-pushed the ricoh-declarative-ic branch from 3cc6f78 to 19d4f80 Compare August 31, 2026 07:24
@DropD
DropD force-pushed the ricoh-c37-config-cleanup branch from 6396d7b to a8b5b2c Compare August 31, 2026 07:24
@DropD
DropD changed the base branch from ricoh-c37-config-cleanup to main August 31, 2026 12:01
@DropD
DropD force-pushed the ricoh-declarative-ic branch from 19d4f80 to 69499cb Compare August 31, 2026 12:01
@DropD DropD changed the title FEEDBACK ONLY: Improve Initial Condition Config Improve Initial Condition Config Aug 31, 2026
@DropD
DropD marked this pull request as ready for review August 31, 2026 12:01
@DropD
DropD force-pushed the ricoh-declarative-ic branch from 69499cb to a7b6032 Compare September 1, 2026 09:27

@OngChia OngChia left a comment

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 fill in the description. When the unit contains a superscript, I use the LaTeX format $^{-1}$. However, I haven’t actually tested whether it displays correctly or not.

Comment thread model/common/src/icon4py/model/common/initial_condition/analytical/gauss3d.py Outdated
Comment thread model/common/src/icon4py/model/common/initial_condition/analytical/gauss3d.py Outdated
Comment thread model/common/src/icon4py/model/common/initial_condition/analytical/gauss3d.py Outdated
@DropD

DropD commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

I fill in the description. When the unit contains a superscript, I use the LaTeX format $^{-1}$. However, I haven’t actually tested whether it displays correctly or not.

In terminal output (which includes the current experimental config documentation browser), the best we could do is use a library that turns it into ^-1 like this one. For pdf and html output we'll have to make sure it runs through some sort of latex engine. That's in the future though.

@DropD
DropD force-pushed the ricoh-declarative-ic branch from ccfb3df to 24e1aa4 Compare September 9, 2026 11:38
@github-actions

github-actions Bot commented Sep 9, 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.

Multiple values can be given to each option with : used as the separator (; separates options and , separates pipelines).

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.

3 participants