feat: enforce StencilTest conventions programmatically and other minor fixes#1116
feat: enforce StencilTest conventions programmatically and other minor fixes#1116
Conversation
|
cscs-ci run default |
|
Mandatory Tests Please make sure you run these tests via comment before you merge!
Optional Tests To run benchmarks you can use:
To run tests and benchmarks with the DaCe backend you can use:
To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:
For more detailed information please look at CI in the EXCLAIM universe. |
There was a problem hiding this comment.
Pull request overview
This PR tightens and standardizes the StencilTest testing API by introducing dedicated decorators for reference and input_data, renaming internal fixtures for clarity, and updating a large set of stencil tests to conform to the new conventions (including fixture signatures and parametrization patterns).
Changes:
- Added
static_referenceandinput_data_fixturehelpers (with validation/markers) and enforced their usage viaStencilTest.__init_subclass__. - Renamed/reshaped core fixtures (
configured_program,device_input_data) and improved error handling in GT4Py metrics extraction. - Updated many stencil test suites to use the new decorators and (where needed) reorder
input_dataarguments to match the enforced signature.
Reviewed changes
Copilot reviewed 199 out of 199 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| model/testing/src/icon4py/model/testing/stencil_tests.py | Implements new decorators/markers, renames fixtures, and enforces subclass conformance checks. |
| model/common/tests/common/math/unit_tests/test_operators.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/math/unit_tests/test_helpers.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/math/stencil_tests/test_compute_first_vertical_derivative.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/math/stencil_tests/test_cell_horizontal_gradients_by_green_gauss_method.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_mo_intp_rbf_rbf_vec_interpol_vertex.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_interpolate_edge_field_to_half_levels_vp.py | Migrates imports and switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_edge_2_cell_vector_rbf_interpolation.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_diagnose_temperature.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_diagnose_surface_pressure.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_diagnose_pressure.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_compute_cell_2_vertex_interpolation.py | Switches reference/input_data to the new decorators. |
| model/common/tests/common/interpolation/stencil_tests/test_cell_2_edge_interpolation.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vel_scale_factor_snow.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vel_scale_factor_ice.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_snow.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_snow_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_ice.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_ice_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_graupel.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_vapor_x_graupel_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_T_from_internal_energy.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_to_rain.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_to_rain_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_to_graupel.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_to_graupel_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_number.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_number_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_snow_lambda.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_saturation_adjustment.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_sat_pres_water.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_sat_pres_ice.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_vapor.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_vapor_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_graupel_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_graupel_3.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_graupel_2.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_rain_to_graupel_1.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_qsat_rho.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_qsat_rho_tmelt.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_qsat_ice_rho.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_internal_energy.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_to_snow.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_to_snow_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_to_graupel.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_to_graupel_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_sticking.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_number.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_mass.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_deposition_nucleation.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_ice_deposition_nucleation_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_graupel_to_rain.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_graupel_to_rain_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_fall_speed.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_dqsatdT_rho.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_deposition_factor.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_deposition_auto_conversion.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_deposition_auto_conversion_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_x_ice.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_x_ice_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_snow.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_snow_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_rain.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_rain_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_graupel.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/subgrid_scale_physics/muphys/tests/muphys/stencil_tests/test_cloud_to_graupel_default.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_vertically_implicit_dycore_solver_at_predictor_step.py | Switches reference/input_data decorators and reorders fixture args to satisfy enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_vertically_implicit_dycore_solver_at_corrector_step.py | Switches reference/input_data decorators and reorders fixture args to satisfy enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_wind.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_theta_and_exner_in_halo.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_mass_volume_flux.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_mass_flux_weighted.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_dynamical_exner_time_increment.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_update_density_exner_wind.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_spatially_average_flux_or_velocity.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_solve_tridiagonal_matrix_for_w_forward_sweep.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_solve_tridiagonal_matrix_for_w_back_substitution.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_set_theta_v_prime_ic_at_lower_boundary.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_set_lower_boundary_condition_for_w_and_contravariant_correction.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_mo_math_divrot_rot_vertex_ri_dsl.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_mo_icon_interpolation_scalar_cells2verts_scalar_ri_dsl.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_vt_to_interface_edges.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_vn_to_half_levels_and_compute_kinetic_energy_on_edges.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_vn_and_vt_to_ie_and_compute_ekin_on_edges.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_to_surface.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_to_cell_center.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_rho_theta_v_to_half_levels_and_compute_temperature_vertical_gradient.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_contravariant_vertical_velocity_to_full_levels.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_interpolate_cell_field_to_half_levels_vp.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_init_two_edge_kdim_fields_with_zero_wp.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_init_cell_kdim_field_with_zero_wp.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_extrapolate_temporally_exner_pressure.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_extrapolate_at_top.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_copy_cell_kdim_field_to_vp.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_vn_on_lateral_boundary.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_virtual_potential_temperatures_and_pressure_gradient.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_theta_rho_face_values_and_pressure_gradient_and_update_vn.py | Switches reference/input_data decorators and reorders fixture args to satisfy enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_tangential_wind.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_solver_coefficients_matrix.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_rho_virtual_potential_temperatures_and_pressure_gradient.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_results_for_thermodynamic_variables.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_perturbed_quantities_and_interpolation.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_perturbation_of_rho_and_theta.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_perturbation_of_rho_and_theta_and_rho_interface_cell_centers.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_maximum_cfl_and_clip_contravariant_vertical_velocity.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_mass_flux.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_hydrostatic_correction_term.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_velocity_quantities_and_fluxes.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_kinetic_energy.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_gradient_of_exner_pressure_for_nonflat_coordinates.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_gradient_of_exner_pressure_for_multiple_levels.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_gradient_of_exner_pressure_for_flat_coordinates.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_advection_term_for_vertical_velocity.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_horizontal_advection_of_rho_and_theta.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_graddiv2_of_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_explicit_vertical_wind_speed_and_vertical_wind_times_density.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_explicit_vertical_wind_from_advection_and_vertical_wind_density.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_explicit_part_for_rho_and_exner.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_exner_from_rhotheta.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_dwdz_for_divergence_damping.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_divergence_of_fluxes_of_rho_and_theta.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_diagnostics_from_normal_wind.py | Converts reference to static_reference and switches input_data to the new decorator. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_contravariant_correction.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_contravariant_correction_of_w.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_contravariant_correction_of_w_for_lower_boundary.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_avg_vn_and_graddiv_vn_and_vt.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_averaged_vn_and_fluxes_and_prepare_tracer_advection.py | Switches reference/input_data decorators and reorders fixture args to satisfy enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_approx_of_2nd_vertical_derivative_of_exner.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_airmass.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_advective_vertical_wind_tendency.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_advection_in_vertical_momentum_equation.py | Switches reference/input_data to the new decorators (incl. parametrized input_data). |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_compute_advection_in_horizontal_momentum_equation.py | Switches decorators and reorders fixture args to satisfy enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_apply_weighted_2nd_and_4th_order_divergence_damping.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_apply_rayleigh_damping_mechanism.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_apply_divergence_damping_and_update_vn.py | Migrates imports and switches decorators; reorders fixture args for enforced signature. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_apply_4th_order_divergence_damping.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_apply_2nd_order_divergence_damping.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_vertical_wind_derivative_to_divergence_damping.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_temporal_tendencies_to_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_temporal_tendencies_to_vn_by_interpolating_between_time_levels.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_interpolated_horizontal_advection_of_w.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_extra_diffusion_for_w_con_approaching_cfl.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_extra_diffusion_for_normal_wind_tendency_approaching_cfl.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_analysis_increments_to_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_add_analysis_increments_from_data_assimilation.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/dycore/tests/dycore/stencil_tests/test_accumulate_prep_adv_fields.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_update_theta_and_exner.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_truly_horizontal_diffusion_nabla_of_theta_over_steep_points.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_temporary_fields_for_turbulence_diagnostics.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_temporary_field_for_grid_point_cold_pools_enhancement.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_enhance_diffusion_coefficient_for_grid_point_cold_pools.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_nabla4.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_nabla2_of_theta.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_nabla2_for_z.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_nabla2_for_w.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_nabla2_and_smag_coefficients_for_vn.py | Switches reference/input_data to the new decorators and simplifies imports. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_horizontal_gradients_for_turbulence.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_calculate_diagnostics_for_turbulence.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_nabla2_to_w.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_nabla2_to_w_in_upper_damping_layer.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_nabla2_to_vn_in_lateral_boundary.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_nabla2_and_nabla4_to_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_nabla2_and_nabla4_global_to_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_diffusion_to_w_and_compute_horizontal_gradients_for_turbulence.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_diffusion_to_vn.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/diffusion/tests/diffusion/stencil_tests/test_apply_diffusion_to_theta_and_exner.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_reconstruct_cubic_coefficients_svd.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_postprocess_antidiffusive_cell_fluxes_and_min_max.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_limit_vertical_slope_semi_monotonically.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_limit_vertical_parabola_semi_monotonically.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_integrate_tracer_vertically.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_integrate_tracer_horizontally.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_integrate_tracer_density_horizontally.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_vertical_tracer_flux_upwind.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_vertical_parabola_limiter_condition.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_tendency.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ppm4gpu_parabola_coefficients.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ppm_slope.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ppm_quartic_face_values.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ppm_quadratic_face_values.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ppm_all_face_values.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_positive_definite_horizontal_multiplicative_flux_factor.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_horizontal_tracer_flux_from_linear_coefficients.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_horizontal_tracer_flux_from_linear_coefficients_alt.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_horizontal_tracer_flux_from_cubic_coefficients.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ffsl_backtrajectory.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ffsl_backtrajectory_length_indicator.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_ffsl_backtrajectory_counterclockwise_indicator.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_barycentric_backtrajectory.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_barycentric_backtrajectory_alt.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_compute_antidiffusive_cell_fluxes_and_min_max.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_average_horizontal_flux_subcycling_3.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_average_horizontal_flux_subcycling_2.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_apply_vertical_density_increment.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_apply_interpolated_tracer_time_tendency.py | Switches reference/input_data to the new decorators. |
| model/atmosphere/advection/tests/advection/stencil_tests/test_apply_horizontal_density_increment.py | Switches reference/input_data to the new decorators. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| yield device_data | ||
| finally: | ||
| # explicitly clear data dict after test to prevent potential memory leaks | ||
| device_data.clear() |
There was a problem hiding this comment.
Good idea to make this explicit.
Create custom helpers for the reference and input_data fixtures in StencilTests, to have more control over its behavior and test for conformance.
Additionally, add review suggestions from @edopao in #1111 (https://github.com/C2SM/icon4py/pull/1111/changes/BASE..fe21507847b5ef0fd2029fe7615ef2c420bb02e3#r2941397453) and ideas from @iomaganaris in #968