Try   HackMD

[ICON4Py] Hannes' fixes 3: Fix validation errors

  • Shaped by: Enrique
  • Appetite (FTEs, weeks):
  • Developers:

Problem

Hannes' handover document contains a list of changes used in ICON4Py (PR #731) done in his experiments to get better performance. We need to clean up these changes and merge them cleanly in ICON4Py.

This project deals with fixing pure ICON4Py errors not related to gt4py features.

Solution

There are 3 tasks.

vn_incr optional

This fix deals with changes in the interface of the granule (a new optional field was added). This is already implemented in the followin WIP PRs:

The other arguments for incremental analysis update should probably also be optional. So same should be done for rho_incr and exner_incr.

ddt_w_adv_ntl1/2 not verifying

Show as wrong in build_xpu2py_verify because they don't match (intentionally) in the halo. Daniel implemented a feature that allows to decide were to verify. For these fields the range needs to be fixed.

bug in divdamp_type == 32

See https://github.com/C2SM/icon4py/blob/242f29f285bfd5374b8aa257ee680172398feb0a/model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/solve_nonhydro.py#L546

and the following line. This bug can be triggered by exp.mch_icon-ch2.

  • It should be _backend
  • the where is missing 2 arguments? -> np.asarray(condition).nonzero() -> return tuple of arrays with the components of the indices where the condition is non-zero
    • The problem is probably that it returns a tuple of arrays, not just an array

Solved by: https://github.com/C2SM/icon4py/pull/750

Solution

Rabbit holes

Progress

  • Task 1 (PR#xxxx)
    • Subtask A
    • Subtask X
  • Task 2
    • Subtask H
    • Subtask J
  • Discovered Task 3
    • Subtask L
    • Subtask S
  • Task 4