Skip to content

Make iau runtime#972

Merged
havogt merged 27 commits intomainfrom
make_iau_runtime
Mar 25, 2026
Merged

Make iau runtime#972
havogt merged 27 commits intomainfrom
make_iau_runtime

Conversation

@muellch
Copy link
Contributor

@muellch muellch commented Dec 9, 2025

No description provided.

@muellch
Copy link
Contributor Author

muellch commented Mar 17, 2026

cscs-ci run default

1 similar comment
@muellch
Copy link
Contributor Author

muellch commented Mar 17, 2026

cscs-ci run default

@muellch
Copy link
Contributor Author

muellch commented Mar 17, 2026

cscs-ci run distributed

@muellch
Copy link
Contributor Author

muellch commented Mar 18, 2026

cscs-ci run default

@muellch
Copy link
Contributor Author

muellch commented Mar 18, 2026

cscs-ci run distributed

@muellch
Copy link
Contributor Author

muellch commented Mar 18, 2026

cscs-ci run default

1 similar comment
@muellch
Copy link
Contributor Author

muellch commented Mar 18, 2026

cscs-ci run default

@muellch
Copy link
Contributor Author

muellch commented Mar 20, 2026

cscs-ci run default

@havogt havogt requested a review from OngChia March 20, 2026 11:26
@muellch
Copy link
Contributor Author

muellch commented Mar 20, 2026

cscs-ci run default

# TODO(halungge): Decouple the vertical from horizontal grid.
vertical_size: int
limited_area: bool = True
iau_init: bool = False
Copy link
Contributor

Choose a reason for hiding this comment

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

I think iau_init should not be a property of grid because it is only mostly related to how we initialize the numerical setup and read the data, nothing to do with the underlying grid, Although our python driver is still far from that stage, the best place to add this boolean switch is probably DriverConfig in standalone_driver. Could you either add a TODO here saying that this will be moved to DriverConfig or just simply move there if you have time?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So iau_init should be in the driver config, yes. We unfortunately do not have such a driver config object being passed or being constructed when we go from the blue line. We only have grid_init, solve_nh_init and diffusion_init. Since iau_init is a global parameter in ICON (also affects OCEAN), I put it into grid_init. Should we do a global_init for the blue line?

at_first_substep=self._is_first_substep(dyn_substep),
at_last_substep=self._is_last_substep(dyn_substep),
is_iau_active=False,
iau_wgt_dyn=0.0,
Copy link
Contributor

Choose a reason for hiding this comment

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

This is fine for now.

lprep_adv=lprep_adv,
at_first_substep=(substep_init == 1),
at_last_substep=(substep_init == ndyn_substeps),
is_iau_active=False,
Copy link
Contributor

Choose a reason for hiding this comment

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

Just to let @jcanton know that this can be known from init_mode in initicon_nml in this PR
#1091 when you clean up the fixture
However, init_mode is mode_iau, we have to read from serialized data.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added is_iau_active and iau_wgt_dyn to the list of fixtures.

Copy link
Contributor

@OngChia OngChia Mar 25, 2026

Choose a reason for hiding this comment

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

You now can use the fixture as you did in test_solve_nonhydro.py

Suggested change
is_iau_active=False,
is_iau_active=is_iau_active,
iau_wgt_dyn=iau_wgt_dyn,

@muellch
Copy link
Contributor Author

muellch commented Mar 20, 2026

cscs-ci run default

1 similar comment
@havogt
Copy link
Contributor

havogt commented Mar 23, 2026

cscs-ci run default

@havogt
Copy link
Contributor

havogt commented Mar 23, 2026

cscs-ci run distributed

@muellch
Copy link
Contributor Author

muellch commented Mar 24, 2026

cscs-ci run default

@muellch
Copy link
Contributor Author

muellch commented Mar 24, 2026

cscs-ci run distributed

@muellch
Copy link
Contributor Author

muellch commented Mar 25, 2026

cscs-ci run default

@havogt
Copy link
Contributor

havogt commented Mar 25, 2026

cscs-ci run distributed

2 similar comments
@havogt
Copy link
Contributor

havogt commented Mar 25, 2026

cscs-ci run distributed

@muellch
Copy link
Contributor Author

muellch commented Mar 25, 2026

cscs-ci run distributed

@havogt
Copy link
Contributor

havogt commented Mar 25, 2026

cscs-ci run default

1 similar comment
@muellch
Copy link
Contributor Author

muellch commented Mar 25, 2026

cscs-ci run default

@muellch muellch requested a review from OngChia March 25, 2026 12:59
Copy link
Contributor

@OngChia OngChia left a comment

Choose a reason for hiding this comment

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

Thanks! I think it is overall good. I left two comments about the usage of fixtures. Otherwise good!

)

from .. import utils
from ..fixtures import * # noqa: F403
Copy link
Contributor

Choose a reason for hiding this comment

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

You can keep this and add iau_wgt_dyn and icon_grid in model/atmosphere/dycore/tests/dycore/fixtures.py instead of from directly importing icon4py.model.testing.fixtures as you do on Line 30.

lprep_adv=lprep_adv,
at_first_substep=(substep_init == 1),
at_last_substep=(substep_init == ndyn_substeps),
is_iau_active=False,
Copy link
Contributor

@OngChia OngChia Mar 25, 2026

Choose a reason for hiding this comment

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

You now can use the fixture as you did in test_solve_nonhydro.py

Suggested change
is_iau_active=False,
is_iau_active=is_iau_active,
iau_wgt_dyn=iau_wgt_dyn,

lowest_layer_thickness: ta.wpfloat,
model_top_height: ta.wpfloat,
stretch_factor: ta.wpfloat,
damping_height: ta.wpfloat,
Copy link
Contributor

@OngChia OngChia Mar 25, 2026

Choose a reason for hiding this comment

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

Here you add is_iau_active and iau_wgt_dyn

Suggested change
is_iau_active: bool,
iau_wgt_dyn: ta.wpfloat,

@muellch
Copy link
Contributor Author

muellch commented Mar 25, 2026

cscs-ci run default

Copy link
Contributor

@jcanton jcanton left a comment

Choose a reason for hiding this comment

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

more fixtures to cleanup, yay :-)

@github-actions
Copy link

Mandatory Tests

Please make sure you run these tests via comment before you merge!

  • cscs-ci run default
  • cscs-ci run distributed

Optional Tests

To run benchmarks you can use:

  • cscs-ci run benchmark-bencher

To run tests and benchmarks with the DaCe backend you can use:

  • cscs-ci run dace

To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:

  • cscs-ci run extra

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

@muellch
Copy link
Contributor Author

muellch commented Mar 25, 2026

cscs-ci run default

@havogt havogt merged commit c18cbe0 into main Mar 25, 2026
53 checks passed
@havogt havogt deleted the make_iau_runtime branch March 25, 2026 16:56
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.

4 participants