Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/validation_grid_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@

import typer

from icon4py.model.testing import definitions, grid_utils
from icon4py.model.testing import definitions as test_defs, grid_utils


VALIDATION_GRIDS = (
definitions.Grids.R01B01_GLOBAL,
definitions.Grids.R02B04_GLOBAL,
definitions.Grids.MCH_CH_R04B09_DSL,
definitions.Grids.MCH_OPR_R04B07_DOMAIN01,
definitions.Grids.TORUS_50000x5000,
test_defs.Grids.R01B01_GLOBAL,
test_defs.Grids.R02B04_GLOBAL,
test_defs.Grids.MCH_CH_R04B09_DSL,
test_defs.Grids.MCH_OPR_R04B07_DOMAIN01,
test_defs.Grids.TORUS_50000x5000,
) # change to MCH_OPR_R04B07_DOMAIN01
app = typer.Typer()

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ testdata
simple_mesh*.nc
/prof
.profile
pyrightconfig.json

### Sphinx ###
**/docs/_source/*.rst
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from icon4py.model.common.interpolation.interpolation_fields import compute_lsq_coeffs
from icon4py.model.common.utils import data_allocation as data_alloc
from icon4py.model.testing import (
definitions,
definitions as test_defs,
grid_utils,
grid_utils as gridtest_utils,
serialbox as sb,
Expand Down Expand Up @@ -66,7 +66,7 @@

@pytest.mark.embedded_remap_error
@pytest.mark.datatest
@pytest.mark.parametrize("experiment", [definitions.Experiments.MCH_CH_R04B09])
@pytest.mark.parametrize("experiment", [test_defs.Experiments.MCH_CH_R04B09])
@pytest.mark.parametrize(
"date, even_timestep, ntracer, horizontal_advection_type, horizontal_advection_limiter, vertical_advection_type, vertical_advection_limiter",
[
Expand Down Expand Up @@ -125,7 +125,7 @@ def test_advection_run_single_step(
backend,
advection_init_savepoint,
advection_exit_savepoint,
experiment: definitions.Experiment,
experiment: test_defs.ExperimentDescription,
):
# TODO(OngChia): the last datatest fails on GPU (or even CPU) backend when there is no advection because the horizontal flux is not zero. Further check required.
if (
Expand Down Expand Up @@ -223,7 +223,7 @@ def test_compute_lsq_coeffs(
grid_savepoint: sb.IconGridSavepoint,
backend: gtx_typing.Backend,
interpolation_savepoint: sb.InterpolationSavepoint,
experiment: definitions.Experiment,
experiment: test_defs.ExperimentDescription,
) -> None:
gm = grid_utils.get_grid_manager_from_identifier(
experiment.grid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from icon4py.model.common.grid import geometry_attributes as geometry_meta, vertical as v_grid
from icon4py.model.common.utils import data_allocation as data_alloc
from icon4py.model.testing import (
definitions,
definitions as test_defs,
grid_utils,
reference_funcs as ref_funcs,
serialbox as sb,
Expand All @@ -38,23 +38,23 @@
grid_functionality = collections.defaultdict(dict)


def get_grid_for_experiment(experiment: definitions.Experiment, backend: gtx_typing.Backend):
def get_grid_for_experiment(experiment: test_defs.ExperimentDescription, backend: gtx_typing.Backend):
return _get_or_initialize(experiment, backend, "grid")


def get_edge_geometry_for_experiment(
experiment: definitions.Experiment, backend: gtx_typing.Backend
experiment: test_defs.ExperimentDescription, backend: gtx_typing.Backend
):
return _get_or_initialize(experiment, backend, "edge_geometry")


def get_cell_geometry_for_experiment(
experiment: definitions.Experiment, backend: gtx_typing.Backend
experiment: test_defs.ExperimentDescription, backend: gtx_typing.Backend
):
return _get_or_initialize(experiment, backend, "cell_geometry")


def _get_or_initialize(experiment: definitions.Experiment, backend: gtx_typing.Backend, name: str):
def _get_or_initialize(experiment: test_defs.ExperimentDescription, backend: gtx_typing.Backend, name: str):
if not grid_functionality[experiment.name].get(name):
geometry_ = grid_utils.get_grid_geometry(backend, experiment)
grid = geometry_.grid
Expand Down Expand Up @@ -95,7 +95,7 @@ def _get_or_initialize(experiment: definitions.Experiment, backend: gtx_typing.B


def test_diffusion_coefficients_with_hdiff_efdt_ratio(experiment):
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=5)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=5)
config.hdiff_efdt_ratio = 1.0
config.hdiff_w_efdt_ratio = 2.0

Expand All @@ -108,7 +108,7 @@ def test_diffusion_coefficients_with_hdiff_efdt_ratio(experiment):


def test_diffusion_coefficients_without_hdiff_efdt_ratio(experiment):
config = definitions.construct_diffusion_config(experiment)
config = test_defs.construct_diffusion_config(experiment)
config.hdiff_efdt_ratio = 0.0
config.hdiff_w_efdt_ratio = 0.0

Expand All @@ -121,7 +121,7 @@ def test_diffusion_coefficients_without_hdiff_efdt_ratio(experiment):


def test_smagorinski_factor_for_diffusion_type_4(experiment):
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=5)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=5)
config.smagorinski_scaling_factor = 0.15
config.diffusion_type = 4

Expand All @@ -134,7 +134,7 @@ def test_smagorinski_factor_for_diffusion_type_4(experiment):
def test_smagorinski_heights_diffusion_type_5_are_consistent(
experiment,
):
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=5)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=5)
config.smagorinski_scaling_factor = 0.15
config.diffusion_type = 5

Expand All @@ -150,7 +150,7 @@ def test_smagorinski_heights_diffusion_type_5_are_consistent(

def test_smagorinski_factor_diffusion_type_5(experiment):
params = diffusion.DiffusionParams(
definitions.construct_diffusion_config(experiment, ndyn_substeps=5)
test_defs.construct_diffusion_config(experiment, ndyn_substeps=5)
)
assert len(params.smagorinski_factor) == len(params.smagorinski_height)
assert len(params.smagorinski_factor) == 4
Expand All @@ -163,8 +163,8 @@ def test_smagorinski_factor_diffusion_type_5(experiment):
@pytest.mark.parametrize(
"experiment,step_date_init",
[
(definitions.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
(definitions.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:20.000"),
(test_defs.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
(test_defs.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:20.000"),
],
)
def test_diffusion_init(
Expand All @@ -180,7 +180,7 @@ def test_diffusion_init(
ndyn_substeps,
backend,
):
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
additional_parameters = diffusion.DiffusionParams(config)

grid = get_grid_for_experiment(experiment, backend)
Expand Down Expand Up @@ -294,10 +294,10 @@ def _verify_init_values_against_savepoint(
@pytest.mark.parametrize(
"experiment,step_date_init",
[
(definitions.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
(definitions.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:20.000"),
(definitions.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000"),
(definitions.Experiments.EXCLAIM_APE, "2000-01-01T00:00:04.000"),
(test_defs.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
(test_defs.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:20.000"),
(test_defs.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000"),
(test_defs.Experiments.EXCLAIM_APE, "2000-01-01T00:00:04.000"),
],
)
@pytest.mark.parametrize("ndyn_substeps", (2,))
Expand All @@ -318,7 +318,7 @@ def test_verify_diffusion_init_against_savepoint(
grid = get_grid_for_experiment(experiment, backend)
cell_params = get_cell_geometry_for_experiment(experiment, backend)
edge_params = get_edge_geometry_for_experiment(experiment, backend)
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
additional_parameters = diffusion.DiffusionParams(config)
vertical_config = v_grid.VerticalGridConfig(
grid.num_levels,
Expand Down Expand Up @@ -356,12 +356,12 @@ def test_verify_diffusion_init_against_savepoint(
"experiment, step_date_init, step_date_exit",
[
(
definitions.Experiments.MCH_CH_R04B09,
test_defs.Experiments.MCH_CH_R04B09,
"2021-06-20T12:00:10.000",
"2021-06-20T12:00:10.000",
),
(
definitions.Experiments.EXCLAIM_APE,
test_defs.Experiments.EXCLAIM_APE,
"2000-01-01T00:00:02.000",
"2000-01-01T00:00:02.000",
),
Expand Down Expand Up @@ -418,7 +418,7 @@ def test_run_diffusion_single_step(
vct_b=vct_b,
)

config = definitions.construct_diffusion_config(experiment, ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps)
additional_parameters = diffusion.DiffusionParams(config)

diffusion_granule = diffusion.Diffusion(
Expand Down Expand Up @@ -447,7 +447,7 @@ def test_run_diffusion_single_step(
"experiment, step_date_init, step_date_exit",
[
(
definitions.Experiments.MCH_CH_R04B09,
test_defs.Experiments.MCH_CH_R04B09,
"2021-06-20T12:00:10.000",
"2021-06-20T12:00:10.000",
),
Expand Down Expand Up @@ -494,7 +494,7 @@ def test_run_diffusion_multiple_steps(
config=vertical_config, vct_a=grid_savepoint.vct_a(), vct_b=grid_savepoint.vct_b()
)

config = definitions.construct_diffusion_config(experiment, ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps)
additional_parameters = diffusion.DiffusionParams(config)

######################################################################
Expand Down Expand Up @@ -574,7 +574,7 @@ def test_run_diffusion_multiple_steps(

@pytest.mark.datatest
@pytest.mark.embedded_remap_error
@pytest.mark.parametrize("experiment", [definitions.Experiments.MCH_CH_R04B09])
@pytest.mark.parametrize("experiment", [test_defs.Experiments.MCH_CH_R04B09])
@pytest.mark.parametrize("linit", [True])
# TODO(): Enable dace orchestration, currently broken by precompiled programs
@pytest.mark.parametrize("orchestration", [False])
Expand Down Expand Up @@ -619,7 +619,7 @@ def test_run_diffusion_initial_step(
dwdy=savepoint_diffusion_init.dwdy(),
)
prognostic_state = savepoint_diffusion_init.construct_prognostics()
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=2)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=2)
params = diffusion.DiffusionParams(config)

diffusion_granule = diffusion.Diffusion(
Expand Down Expand Up @@ -657,14 +657,14 @@ def test_run_diffusion_initial_step(
@pytest.mark.parametrize(
"experiment,step_date_init",
[
(definitions.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
(test_defs.Experiments.MCH_CH_R04B09, "2021-06-20T12:00:10.000"),
],
)
def test_verify_special_diffusion_inital_step_values_against_initial_savepoint(
savepoint_diffusion_init, experiment, icon_grid, linit, ndyn_substeps, backend
):
savepoint = savepoint_diffusion_init
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)

params = diffusion.DiffusionParams(config)
expected_diff_multfac_vn = savepoint.diff_multfac_vn()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from icon4py.model.common import dimension as dims, type_alias as ta
from icon4py.model.common.decomposition import definitions as decomposition, mpi_decomposition
from icon4py.model.common.grid import icon, vertical as v_grid
from icon4py.model.testing import definitions, parallel_helpers, serialbox, test_utils
from icon4py.model.testing import definitions as test_defs, parallel_helpers, serialbox, test_utils

from .. import utils
from ..fixtures import * # noqa: F403
Expand All @@ -34,18 +34,18 @@
"experiment, step_date_init, step_date_exit",
[
(
definitions.Experiments.MCH_CH_R04B09,
test_defs.Experiments.MCH_CH_R04B09,
"2021-06-20T12:00:10.000",
"2021-06-20T12:00:10.000",
),
(definitions.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000", "2000-01-01T00:00:02.000"),
(test_defs.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000", "2000-01-01T00:00:02.000"),
],
)
@pytest.mark.parametrize("ndyn_substeps", [2])
@pytest.mark.parametrize("orchestration", [False])
@pytest.mark.parametrize("processor_props", [True], indirect=True)
def test_parallel_diffusion(
experiment: definitions.Experiment,
experiment: test_defs.ExperimentDescription,
step_date_init: str,
step_date_exit: str,
linit: bool,
Expand All @@ -71,7 +71,7 @@ def test_parallel_diffusion(
caplog.set_level("INFO")
parallel_helpers.check_comm_size(processor_props)
_log.info(
f"rank={processor_props.rank}/{processor_props.comm_size}: initializing diffusion for experiment '{definitions.Experiments.MCH_CH_R04B09}'"
f"rank={processor_props.rank}/{processor_props.comm_size}: initializing diffusion for experiment '{experiment}'"
)
_log.info(
f"local cells = {decomposition_info.global_index(dims.CellDim, decomposition.DecompositionInfo.EntryType.ALL).shape} "
Expand All @@ -85,7 +85,7 @@ def test_parallel_diffusion(
_log.info(
f"rank={processor_props.rank}/{processor_props.comm_size}: using local grid with {icon_grid.num_cells} Cells, {icon_grid.num_edges} Edges, {icon_grid.num_vertices} Vertices"
)
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
dtime = savepoint_diffusion_init.get_metadata("dtime").get("dtime")
_log.info(
f"rank={processor_props.rank}/{processor_props.comm_size}: setup: using {processor_props.comm_name} with {processor_props.comm_size} nodes"
Expand Down Expand Up @@ -161,17 +161,17 @@ def test_parallel_diffusion(
"experiment, step_date_init, step_date_exit",
[
(
definitions.Experiments.MCH_CH_R04B09,
test_defs.Experiments.MCH_CH_R04B09,
"2021-06-20T12:00:10.000",
"2021-06-20T12:00:10.000",
),
(definitions.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000", "2000-01-01T00:00:02.000"),
(test_defs.Experiments.EXCLAIM_APE, "2000-01-01T00:00:02.000", "2000-01-01T00:00:02.000"),
],
)
@pytest.mark.parametrize("ndyn_substeps", [2])
@pytest.mark.parametrize("processor_props", [True], indirect=True)
def test_parallel_diffusion_multiple_steps(
experiment: definitions.Experiment,
experiment: test_defs.ExperimentDescription,
step_date_init: str,
step_date_exit: str,
linit: bool,
Expand All @@ -198,7 +198,7 @@ def test_parallel_diffusion_multiple_steps(
caplog.set_level("INFO")
parallel_helpers.check_comm_size(processor_props)
_log.info(
f"rank={processor_props.rank}/{processor_props.comm_size}: initializing diffusion for experiment '{definitions.Experiments.MCH_CH_R04B09}'"
f"rank={processor_props.rank}/{processor_props.comm_size}: initializing diffusion for experiment '{experiment}'"
)
_log.info(
f"local cells = {decomposition_info.global_index(dims.CellDim, decomposition.DecompositionInfo.EntryType.ALL).shape} "
Expand All @@ -222,7 +222,7 @@ def test_parallel_diffusion_multiple_steps(
stretch_factor=stretch_factor,
rayleigh_damping_height=damping_height,
)
config = definitions.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
config = test_defs.construct_diffusion_config(experiment, ndyn_substeps=ndyn_substeps)
diffusion_params = diffusion_.DiffusionParams(config)
dtime = savepoint_diffusion_init.get_metadata("dtime").get("dtime")
_log.info(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from icon4py.model.common import dimension as dims
from icon4py.model.common.grid import base, horizontal as h_grid
from icon4py.model.common.utils.data_allocation import random_field, zero_field
from icon4py.model.testing import definitions
from icon4py.model.testing.stencil_tests import StandardStaticVariants, StencilTest

from .test_apply_nabla2_to_w import apply_nabla2_to_w_numpy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from icon4py.model.common import dimension as dims, type_alias as ta
from icon4py.model.common.grid import base, horizontal as h_grid
from icon4py.model.common.utils import data_allocation as data_alloc
from icon4py.model.testing import definitions, stencil_tests
from icon4py.model.testing import stencil_tests


@pytest.mark.continuous_benchmarking
Expand Down
Loading
Loading