Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dycore in mixed-precision #301

Merged
merged 20 commits into from
Nov 27, 2023
Merged

Dycore in mixed-precision #301

merged 20 commits into from
Nov 27, 2023

Conversation

ninaburg
Copy link
Contributor

@ninaburg ninaburg commented Oct 24, 2023

This PR enables to use the gt4py ICON dycore in mixed-precision. Parts of the variables are mixed e.g. single or double precision (typed in ICON as vpfloat = variable precision) which depends on whether the --enable-mixed-precision compilation option has been set and some are always in double precision (wpfloat = working precision). This mode has been transfered to the gt4py dycore which is currently all in double-precision.

The key changes include:

  • The addition of the --enable-mixed-precision option in the command-line interface (CLI) for compiling stencils, enabling mixed-precision computation.
  • Definition of type aliases wpfloat and vpfloat in common/type_alias.py to be imported in stencils, providing flexibility in specifying precision.
  • Adaptation of data types and explicit casting using astype in dycore stencils to allow mixed-precision computations.
  • Integration of pytest tests using the --enable-mixed-precision flag to ensure comprehensive testing in mixed-precision mode.
  • The introduction of a dtype argument in the random_field testing helpers function to control data types.
  • Modification of unit tests to accommodate and validate mixed-precision mode, ensuring robust testing for this new feature.

To test the stencils in mixed precision:

  • add the --enable-mixed-precision option to the pytest command : pytest -v --enable-mixed-precision

@samkellerhals
Copy link
Contributor

cscs-ci run

Copy link
Contributor

@samkellerhals samkellerhals left a comment

Choose a reason for hiding this comment

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

I did not look in detail at ICON and double-checked if the precision level of those variables correspond to the ones here, but other than that it looks good to me. I do think it would be useful to add a unit test to test this new option in icon4pygen though.

tools/src/icon4pytools/icon4pygen/cli.py Show resolved Hide resolved
@samkellerhals samkellerhals self-requested a review October 25, 2023 13:34
Copy link
Contributor

@huppd huppd left a comment

Choose a reason for hiding this comment

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

This has been a huge effort and is quite an achievement. Congrats. The code is very solid.
I only have some minor suggestions.

  • One recurring thing is that I would cast all double literals, which is right now not a problem. But might cause a problem once we want to run in all single precession.
  • I have two suggestion that I would check before merging if they have an impact on the validation.

I focused in the review on the field_operators specially on their casting of literals and intermediate results. I didnot look on the interfaces. The unittests I reviewed only very briefly.

Nina Burgdorfer added 4 commits November 13, 2023 16:04
Conflicts:
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_diagnostics_for_turbulence.py
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_nabla2_and_smag_coefficients_for_vn.py
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_nabla4.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_and_nabla4_global_to_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_and_nabla4_to_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_vn_in_lateral_boundary.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_w.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_w_in_upper_damping_layer.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_diagnostics_for_turbulence.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_horizontal_gradients_for_turbulence.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_and_smag_coefficients_for_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_for_w.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_for_z.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_of_theta.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla4.py
	model/atmosphere/diffusion/tests/stencil_tests/test_enhance_diffusion_coefficient_for_grid_point_cold_pools.py
	model/atmosphere/diffusion/tests/stencil_tests/test_temporary_field_for_grid_point_cold_pools_enhancement.py
	model/atmosphere/diffusion/tests/stencil_tests/test_temporary_fields_for_turbulence_diagnostics.py
	model/atmosphere/diffusion/tests/stencil_tests/test_truly_horizontal_diffusion_nabla_of_theta_over_steep_points.py
	model/atmosphere/diffusion/tests/stencil_tests/test_update_theta_and_exner.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_21.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_36.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_66.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_14.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_18.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_20.py
	model/atmosphere/dycore/tests/stencil_tests/test_compute_airmass.py
	model/atmosphere/dycore/tests/stencil_tests/test_fused_solve_nonhydro_stencil_39_40.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_icon_interpolation_scalar_cells2verts_scalar_ri_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_math_divrot_rot_vertex_ri_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_math_gradients_grad_green_gauss_cell_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_4th_order_divdamp.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_01.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_02.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_03.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_04.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_05.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_06.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_07.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_08.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_09.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_10.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_11_lower.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_11_upper.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_12.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_13.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_14.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_15.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_16_fused_btraj_traj_o1.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_17.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_18.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_19.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_20.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_21.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_22.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_23.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_24.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_25.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_26.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_27.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_28.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_29.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_30.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_31.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_32.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_33.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_34.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_35.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_36.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_37.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_38.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_39.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_40.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_41.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_42.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_43.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_44.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_45.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_46.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_47.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_48.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_49.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_50.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_52.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_53.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_54.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_55.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_56_63.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_57.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_58.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_59.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_60.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_61.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_62.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_64.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_65.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_66.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_67.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_68.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_01.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_02.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_03.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_04.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_05.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_06.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_07.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_08.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_09.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_10.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_11.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_12.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_13.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_14.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_15.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_16.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_17.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_18.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_19.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_20.py
	model/common/src/icon4py/model/common/test_utils/helpers.py
	model/common/tests/stencil_tests/test_mo_intp_rbf_rbf_vec_interpol_vertex.py
Conflicts:
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_diagnostics_for_turbulence.py
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_nabla2_and_smag_coefficients_for_vn.py
	model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffusion/stencils/calculate_nabla4.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_and_nabla4_global_to_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_and_nabla4_to_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_vn_in_lateral_boundary.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_w.py
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_to_w_in_upper_damping_layer.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_diagnostics_for_turbulence.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_horizontal_gradients_for_turbulence.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_and_smag_coefficients_for_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_for_w.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_for_z.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_of_theta.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla4.py
	model/atmosphere/diffusion/tests/stencil_tests/test_enhance_diffusion_coefficient_for_grid_point_cold_pools.py
	model/atmosphere/diffusion/tests/stencil_tests/test_temporary_field_for_grid_point_cold_pools_enhancement.py
	model/atmosphere/diffusion/tests/stencil_tests/test_temporary_fields_for_turbulence_diagnostics.py
	model/atmosphere/diffusion/tests/stencil_tests/test_truly_horizontal_diffusion_nabla_of_theta_over_steep_points.py
	model/atmosphere/diffusion/tests/stencil_tests/test_update_theta_and_exner.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_21.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_36.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_solve_nonhydro_stencil_66.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_14.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_18.py
	model/atmosphere/dycore/src/icon4py/model/atmosphere/dycore/mo_velocity_advection_stencil_20.py
	model/atmosphere/dycore/tests/stencil_tests/test_compute_airmass.py
	model/atmosphere/dycore/tests/stencil_tests/test_fused_solve_nonhydro_stencil_39_40.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_icon_interpolation_scalar_cells2verts_scalar_ri_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_math_divrot_rot_vertex_ri_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_math_gradients_grad_green_gauss_cell_dsl.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_4th_order_divdamp.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_01.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_02.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_03.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_04.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_05.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_06.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_07.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_08.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_09.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_10.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_11_lower.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_11_upper.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_12.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_13.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_14.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_15.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_16_fused_btraj_traj_o1.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_17.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_18.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_19.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_20.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_21.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_22.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_23.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_24.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_25.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_26.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_27.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_28.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_29.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_30.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_31.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_32.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_33.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_34.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_35.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_36.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_37.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_38.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_39.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_40.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_41.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_42.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_43.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_44.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_45.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_46.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_47.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_48.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_49.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_50.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_52.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_53.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_54.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_55.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_56_63.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_57.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_58.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_59.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_60.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_61.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_62.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_64.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_65.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_66.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_67.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_68.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_01.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_02.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_03.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_04.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_05.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_06.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_07.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_08.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_09.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_10.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_11.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_12.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_13.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_14.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_15.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_16.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_17.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_18.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_19.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_20.py
	model/common/src/icon4py/model/common/test_utils/helpers.py
	model/common/tests/stencil_tests/test_mo_intp_rbf_rbf_vec_interpol_vertex.py
… mixed_precision_dycore

Conflicts:
	model/atmosphere/diffusion/tests/stencil_tests/test_apply_nabla2_and_nabla4_global_to_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_horizontal_gradients_for_turbulence.py
	model/atmosphere/diffusion/tests/stencil_tests/test_temporary_fields_for_turbulence_diagnostics.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_01.py
@ninaburg
Copy link
Contributor Author

cscs-ci run

…ycore

Conflicts:
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla2_and_smag_coefficients_for_vn.py
	model/atmosphere/diffusion/tests/stencil_tests/test_calculate_nabla4.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_solve_nonhydro_stencil_16_fused_btraj_traj_o1.py
	model/atmosphere/dycore/tests/stencil_tests/test_mo_velocity_advection_stencil_19.py
@ninaburg ninaburg marked this pull request as ready for review November 17, 2023 09:23
@ninaburg
Copy link
Contributor Author

cscs-ci run

3 similar comments
@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

launch jenkins spack

@ninaburg
Copy link
Contributor Author

launch jenkins spack

@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

launch jenkins spack

@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

launch jenkins spack

…ycore

Conflicts:
	model/common/src/icon4py/model/common/test_utils/helpers.py
Copy link

Mandatory Tests

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

  • cscs-ci run
  • launch jenkins spack

Optional Tests

In case your change might affect downstream icon-exclaim, please consider running

  • launch jenkins icon

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

@ninaburg
Copy link
Contributor Author

cscs-ci run

@ninaburg
Copy link
Contributor Author

launch jenkins spack

@ninaburg ninaburg merged commit 2d2460a into main Nov 27, 2023
4 of 5 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.

3 participants