# [ICON4Py] Hannes' fixes 3: Fix validation errors - Shaped by: Enrique - Appetite (FTEs, weeks): - Developers: ## Problem [Hannes' handover document](https://hackmd.io/@gridtools/BJN-Fn3Jee) contains a list of changes used in ICON4Py ([PR #731](https://github.com/C2SM/icon4py/pull/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: - https://github.com/C2SM/icon4py/pull/739 (merged through other PR) - https://github.com/C2SM/icon-exclaim/pull/338 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 <!-- The core elements we came up with, presented in a form that’s easy for people to immediately understand --> ## Rabbit holes <!-- Details about the solution worth calling out to avoid problems --> ## Progress - [x] Task 1 ([PR#xxxx](https://github.com/GridTools/gt4py/pulls)) - [x] Subtask A - [x] Subtask X - [ ] Task 2 - [x] Subtask H - [ ] Subtask J - [ ] Discovered Task 3 - [ ] Subtask L - [ ] Subtask S - [ ] Task 4