Skip to content

Add divdamp order options except 24 (add 2 and 4)#1046

Merged
muellch merged 3 commits intomainfrom
add_divdamp_namelist_options_besides_24
Feb 23, 2026
Merged

Add divdamp order options except 24 (add 2 and 4)#1046
muellch merged 3 commits intomainfrom
add_divdamp_namelist_options_besides_24

Conversation

@muellch
Copy link
Copy Markdown
Contributor

@muellch muellch commented Feb 5, 2026

No description provided.

@muellch
Copy link
Copy Markdown
Contributor Author

muellch commented Feb 5, 2026

cscs-ci run default

1 similar comment
@muellch
Copy link
Copy Markdown
Contributor Author

muellch commented Feb 9, 2026

cscs-ci run default

@muellch muellch requested a review from vectorflux February 9, 2026 13:10
Copy link
Copy Markdown
Contributor

@vectorflux vectorflux left a comment

Choose a reason for hiding this comment

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

Seems good to me as long at the OR condition in solve_nonhydro.py is definitely correct.

if self.iadv_rhotheta != dycore_states.RhoThetaAdvectionType.MIURA:
raise NotImplementedError("iadv_rhotheta can only be 2 (Miura scheme)")

if self.divdamp_order != dycore_states.DivergenceDampingOrder.COMBINED:
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.

So if I understand correctly, the 24 limitation did not really exist, in spite of this error message.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Well, at least 2 was not correctly implemented.
4 might already have worked, yes.

and second_order_divdamp_scaling_coeff > 1.0e-6
self._config.divdamp_order == dycore_states.DivergenceDampingOrder.SECOND_ORDER
or (
self._config.divdamp_order == dycore_states.DivergenceDampingOrder.COMBINED
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'm not sure I understand how this ensures 2 and 4 are also allowed, but I'll take your word for it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This just adds the logic for 2 or SECOND_ORDER exactly how it is in the ICON Fortran code.
This logic path in the logic tree was missing ...

@muellch
Copy link
Copy Markdown
Contributor Author

muellch commented Feb 11, 2026

cscs-ci run default

@muellch
Copy link
Copy Markdown
Contributor Author

muellch commented Feb 11, 2026

cscs-ci run default

@github-actions
Copy link
Copy Markdown

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
Copy Markdown
Contributor Author

muellch commented Feb 11, 2026

cscs-ci run distributed

@muellch muellch merged commit 9a7f7d6 into main Feb 23, 2026
48 checks passed
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