Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
5ecfe67
add single to wp/vp definition
starkphi Dec 3, 2025
f7c326b
vp/wp not needed to define dtype correspondance
starkphi Dec 3, 2025
a75f6e6
cast to vp/wp, import directly (no ta.wpfloat), use WP_EPS instead of…
starkphi Dec 3, 2025
050bbb5
add single_precision_marker to pytests
starkphi Dec 4, 2025
98476ac
also use the convenient IconSavepoint.dtime()
starkphi Dec 4, 2025
ea4a0a3
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Dec 5, 2025
adcf8fb
test_apply_diffusion_to_vn made single precision ready
starkphi Dec 5, 2025
d031445
small formatting change by ruff
starkphi Dec 5, 2025
5daea04
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Dec 8, 2025
8bdaa4b
Merge branch 'main' into add_single_precision_dycore_part1
muellch Dec 8, 2025
7604fd5
Apply suggestions from code review
starkphi Dec 19, 2025
20b7f8e
fix type error in compiled _calculate_divdamp_fields
starkphi Dec 29, 2025
af5777e
directly use WP_EPS/VP_EPS from constants and capitalize constant var…
starkphi Dec 30, 2025
b65791a
remove obsolete lines
starkphi Dec 30, 2025
b1fccb3
reduce to one 'global' statement
starkphi Dec 30, 2025
53b2c44
keep --enable_output a boolean flag
starkphi Dec 30, 2025
ab3bce6
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Dec 30, 2025
173badc
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Dec 30, 2025
37f59c6
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Feb 17, 2026
8a1cada
Merge branch 'main' from 15.04.2026 (incl. #1185) into add_single_pre…
starkphi May 20, 2026
04ee97b
Merge branch 'main-temp_260508' into add_single_precision_dycore_part1
starkphi May 21, 2026
43ad1d2
Remove logic error
starkphi May 21, 2026
7eb7d3f
Merge branch 'main' into add_single_precision_dycore_part1
starkphi May 21, 2026
0311e85
typos and small merge errors
starkphi May 26, 2026
9409567
more casting to wpfloat
starkphi Jun 2, 2026
279ef41
concise way to cast elements of config classes to wpfloat
starkphi Jun 2, 2026
9f674d7
keep RBF calculations in double-precision
starkphi Jun 2, 2026
944a39e
add casts for advection in single
starkphi Jun 3, 2026
102a2dc
make field factories strictly double-precision
starkphi Jun 9, 2026
5adf4c2
explicitly use gtx.float64, no casting of float literals needed
starkphi Jun 9, 2026
671aef0
use export_field from factories to granules
starkphi Jun 11, 2026
1730672
first field_op that's needed in both precisions (cell_2_edge_interpol…
starkphi Jun 11, 2026
9949f06
more from wpfloat to gtx.float64
starkphi Jun 11, 2026
b288285
Setup jabw fields in double, cast for init
starkphi Jun 12, 2026
55d35bf
use gtx.sqrt directly
starkphi Jun 12, 2026
5aed3aa
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jun 12, 2026
ae9c225
fix typo, fix type verification in factories, update handling of empt…
starkphi Jun 18, 2026
974d039
add more missing casts
starkphi Jun 18, 2026
b803bca
change tolerances
starkphi Jun 18, 2026
1fd9f38
make more tests single-precision-ready
starkphi Jun 18, 2026
3d4bc1d
more general name: dataclass_scalars_to_wp
starkphi Jun 19, 2026
a830eca
scale tolerance factor in default rtol with eps
starkphi Jun 19, 2026
574b19a
add wpfloat casts to advection
starkphi Jun 19, 2026
5a72b9a
mark test_advection single_precision_ready
starkphi Jun 19, 2026
e00e698
fix standalone driver datatests for single
starkphi Jun 22, 2026
1c0a480
make muphys test single precision ready
starkphi Jun 22, 2026
8abcd29
update missing fct name change
starkphi Jun 23, 2026
5cdae18
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Jun 23, 2026
e6011a9
revert to atol=0.0 as default
starkphi Jun 24, 2026
d49256b
use direct call to wpfloat and make SaturationAdjustmentConfig more r…
starkphi Jun 26, 2026
5235eda
use math from gtx
starkphi Jun 26, 2026
be0d204
[tmp] cast math functions on scalars to wpfloat (with gtx.astype)
starkphi Jun 26, 2026
057741b
small casting fix
starkphi Jun 29, 2026
6b31915
pre-commit changes (ruff)
starkphi Jun 29, 2026
6d3c982
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jun 29, 2026
5f8bf39
make sure type is a float
starkphi Jun 30, 2026
5a16537
have to use np.astype directly here (no gtx.field)
starkphi Jun 30, 2026
32ee9e6
fix merge error
starkphi Jun 30, 2026
0e4eaa7
more wpfloat casts
starkphi Jun 30, 2026
4d3f8c0
more casts and single precision specific tolerance
starkphi Jun 30, 2026
c905782
Make Newton steps in double precision
starkphi Jul 22, 2026
b991f73
[ok?] add break condition for faster runs in single
starkphi Jul 22, 2026
e06a765
casts and tolerances for some single precision integration tests in d…
starkphi Jul 22, 2026
375605f
more casts
starkphi Jul 22, 2026
5eb9343
prepare standalone driver test for single (still needs tol adjustment…
starkphi Jul 22, 2026
1791ccd
adjust tols for single
starkphi Jul 23, 2026
0c0db75
adjust tols for single
starkphi Jul 24, 2026
d1f40d1
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jul 24, 2026
52eb451
precision adjustment for changes that were merged in from main
starkphi Jul 27, 2026
cd837c9
directly calculate vct_a/_b in wp
starkphi Jul 27, 2026
7e03aa9
adjust tols for single
starkphi Jul 27, 2026
a84b03a
readd ruff hint (merge error)
starkphi Jul 27, 2026
98f387a
rm comment
starkphi Jul 27, 2026
db0ca62
mention single-precision testing
starkphi Jul 27, 2026
413e445
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jul 27, 2026
a9fce47
add single tests to CI
starkphi Jul 27, 2026
0f7a728
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jul 27, 2026
bc34a21
double and single to default?
starkphi Jul 27, 2026
1d1ab92
fix __post_init__duplicate (merge error)
starkphi Jul 28, 2026
d1871b1
Revert "[ok?] add break condition for faster runs in single"
starkphi Jul 28, 2026
24fd9e9
only cast if not None
starkphi Jul 28, 2026
ae13076
pre-commit formatting changes
starkphi Jul 28, 2026
eb6957a
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Jul 28, 2026
5bc2bec
changes to make pre-commit happy
starkphi Jul 28, 2026
a0ed564
fix reverting error
starkphi Jul 28, 2026
bacc214
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jul 28, 2026
aede9c4
more pre-commit oriented changes
starkphi Jul 28, 2026
bbc1985
more pre-commit
starkphi Jul 28, 2026
180d8e1
fix errors I introduced earlier
starkphi Jul 29, 2026
af35539
muphys and microphysics integration tests single_precision_ready
starkphi Jul 31, 2026
c5c7572
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Jul 31, 2026
ffcf033
use hash of job name for build
starkphi Aug 4, 2026
2bc8d72
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Aug 12, 2026
22c5a3b
Rename precision env var
starkphi Aug 24, 2026
d52c59f
readding mdformat-myst
starkphi Aug 25, 2026
64ee7ce
change tols and fix type errors
starkphi Aug 25, 2026
5e6f41b
pre-commit
starkphi Aug 25, 2026
f4b0466
Keep the ta.{wp,vp}float spelling where main uses it
starkphi Aug 26, 2026
df8ec66
add return type and fix a type warning
starkphi Aug 27, 2026
646612b
Wire PRECISION_VARIANTS through the CI pipeline generator
starkphi Aug 27, 2026
d064583
Use GTXFieldType as return type for FieldSource.export_field
starkphi Aug 27, 2026
0f527a2
Update ci/default.yml
starkphi Aug 28, 2026
157f7b4
Merge branch 'add_single_p1_santis_280826' into add_single_precision_…
starkphi Aug 31, 2026
2015b28
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Aug 31, 2026
5028151
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Aug 31, 2026
3094ed3
Make {w,v}pfloat use a little more consistent
starkphi Sep 1, 2026
d14f1f4
rm comment
starkphi Sep 2, 2026
611f658
remove cast to int
starkphi Sep 2, 2026
8ec043a
simplify TypeVar T, inline state_utils.to_data_array
starkphi Sep 2, 2026
eee65c3
ci: normalize float precision to a matrix dimension
starkphi Sep 2, 2026
6be2df2
fix max_nudging_coeffient use
starkphi Sep 2, 2026
4f42e9d
pre-commit changes
starkphi Sep 2, 2026
9ff0fb7
mypy: remove broad valid-type ignore
starkphi Sep 4, 2026
48097c1
Update .cscs-ci/merge.yml
starkphi Sep 8, 2026
e60f3a8
Revert old change
starkphi Sep 8, 2026
72b8f6c
clean up
starkphi Sep 8, 2026
d10d30b
Apply suggestion from @msimberg
starkphi Sep 8, 2026
33f288e
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Sep 9, 2026
a908017
uniformly use _set_constant_.. style
starkphi Sep 9, 2026
f33b187
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Sep 10, 2026
7603d8b
rename factory internal type provider
starkphi Sep 10, 2026
1ecce6c
Revert "remove cast to int"
Sep 11, 2026
4f8447d
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Sep 11, 2026
c3a1f4c
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Sep 14, 2026
0ae83be
fix AttributeError: 'str' object has no attribute 'append'
starkphi Sep 14, 2026
5a77fbd
rename dataclass wpfloat cast helper and default to cast all floats
starkphi Sep 14, 2026
c20412d
rename dataclass wpfloat cast helper and default to cast all floats
starkphi Sep 14, 2026
2066282
pre-commit formatting
starkphi Sep 14, 2026
dbbb3ee
Fix test command for single-precision execution
starkphi Sep 15, 2026
16c8dad
Rename export_field -> get (#1472)
starkphi Sep 16, 2026
65072a0
Update model/atmosphere/diffusion/src/icon4py/model/atmosphere/diffus…
starkphi Sep 17, 2026
5ddf51a
Merge branch 'add_single_precision_dycore_part1' of github.com:C2SM/i…
starkphi Sep 18, 2026
9f00fd9
add missing cast
starkphi Sep 14, 2026
3857c92
move double precision variable one level up for benchmarks' yml
starkphi Sep 17, 2026
56c217c
let <no dtype> be wpfloat
starkphi Sep 17, 2026
c172087
add missing casts
starkphi Sep 18, 2026
9c6023b
change tols for single
starkphi Sep 18, 2026
19f7f87
ruff formatting
starkphi Sep 18, 2026
cd86826
remove unnecessary line
starkphi Sep 18, 2026
53ac11a
agent updated agent file
starkphi Sep 18, 2026
b42acb1
use 'get' -> for double precision it is no different than get_full_pr…
starkphi Sep 18, 2026
25643c4
remove weird exchange "or"
starkphi Sep 19, 2026
edb6fde
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Sep 21, 2026
498fe35
remove 'astype' around math fct like sqrt, exp, log, gamma on scalars
starkphi Sep 21, 2026
c92148c
ruff formatting
starkphi Sep 21, 2026
7b08342
fix some tests
starkphi Sep 21, 2026
f169bfe
Merge branch 'main' into add_single_precision_dycore_part1
starkphi Sep 22, 2026
562a634
use dtime fct in tests
starkphi Sep 22, 2026
8be974b
fix typo
starkphi Sep 22, 2026
e388163
make mypy happy
starkphi Sep 22, 2026
36e0e53
fix dtypes in diffusion
starkphi Sep 22, 2026
567696a
more single precision tests in diffusion
starkphi Sep 22, 2026
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
1 change: 1 addition & 0 deletions .cscs-ci/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ variables:
LEVELS: "all"
GRIDS: "all"
TOOLS_SUBSETS: "all"
FLOAT_PRECISIONS: "all"


build_baseimage_aarch64:
Expand Down
1 change: 1 addition & 0 deletions .cscs-ci/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ variables:
ICON4PY_CI_GT4PY_BUILD_CACHE_BASE_DIR: /gt4py_cache
ICON4PY_DALLCLOSE_PRINT_INSTEAD_OF_FAIL: false
ICON4PY_DRIVER_LOGGING_LEVEL: critical
ICON4PY_FLOAT_PRECISION: "${FLOAT_PRECISION}"
PYTEST_ADDOPTS: "--durations=0"
# gt4py skips formatting generated code when `$CLANG_FORMAT_EXECUTABLE --version` fails.
CLANG_FORMAT_EXECUTABLE: /bin/false
Expand Down
1 change: 1 addition & 0 deletions .cscs-ci/benchmark_bencher_common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
variables:
ICON4PY_ENABLE_GRID_DOWNLOAD: true
ICON4PY_ENABLE_TESTDATA_DOWNLOAD: true
FLOAT_PRECISION: "double"
PYTHONOPTIMIZE: 2
STENCIL_TEST_SELECTION: "test_Test and compile_time_domain"
GRANULE_TEST_SELECTION: "test_diffusion_benchmark or test_benchmark_solve_nonhydro"
Expand Down
3 changes: 2 additions & 1 deletion .cscs-ci/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ variables:
# IDs. These are the defaults for the pipeline and don't include all possible
# jobs. They are meant to be overridden with e.g.
#
# cscs-ci run default;BACKENDS=gtfn_cpu;LEVELS=unit;MODEL_SUBPACKAGES=common:driver;MODEL_MPI_SUBPACKAGES=common;SESSIONS=model;MODEL_SUBSETS=datatest
# cscs-ci run default;BACKENDS=gtfn_cpu;LEVELS=unit;MODEL_SUBPACKAGES=common:driver;MODEL_MPI_SUBPACKAGES=common;SESSIONS=model;MODEL_SUBSETS=datatest;FLOAT_PRECISIONS=double
SESSIONS: "all"
MODEL_SUBPACKAGES: "all"
MODEL_SUBSETS: "datatest"
Expand All @@ -18,6 +18,7 @@ variables:
LEVELS: "unit"
GRIDS: "icon_regional"
TOOLS_SUBSETS: "unittest"
FLOAT_PRECISIONS: "double"


build_baseimage_aarch64:
Expand Down
1 change: 1 addition & 0 deletions .cscs-ci/merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ variables:
LEVELS: "unit:integration"
GRIDS: "simple:icon_regional"
TOOLS_SUBSETS: "datatest:unittest"
FLOAT_PRECISIONS: "single:double"

.only_merge_queue:
rules: &only_merge_queue
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/mandatory_and_optional_test_reminder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
* `BACKENDS`: backends
* `GRIDS`: grids for stencil tests (`simple`, `icon_regional`, or `icon_global`)
* `LEVELS`: testing level for non-stencil tests (`unit` or `integration`)
* `FLOAT_PRECISIONS`: `single` or `double`

For each option, `all` can be used as a shorthand for all possible values of that variable, e.g. `LEVELS=all`.

Expand Down
21 changes: 16 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ If a `shell.nix` exists in the repo root, you can use it to provide these depend
- `GT4PY_BUILD_CACHE_DIR`: GT4Py stencil compilation cache location
- `GT4PY_BUILD_JOBS`: limit parallel stencil compilation jobs (unset by default)
- `PYTEST_ADDOPTS`: default pytest options (xdist workers, verbosity)
- `ICON4PY_FLOAT_PRECISION`: choose precision setting from `double` (default), `single`, `mixed` (broken)

### Clean rebuild

Expand Down Expand Up @@ -119,6 +120,9 @@ uv run --group test --frozen pytest --datatest-skip model/<component>/
# Only datatests (requires test data):
uv run --group test --frozen pytest --datatest-only model/<component>/

# Single-precision mode (only runs tests with the pytest marker `single_precision_ready`):
ICON4PY_FLOAT_PRECISION=single uv run --group test --frozen pytest model/<component>/

# MPI tests (requires mpi4py, distributed extra; always use -n0 for sequential):
mpirun -np 4 .cscs-ci/scripts/ci-mpi-wrapper.sh uv run --group test --frozen pytest -v -s --with-mpi -n0 -k mpi_tests model/<component>/
# --with-mpi: enables MPI test mode (from pytest-mpi plugin)
Expand All @@ -139,7 +143,6 @@ Registered by `icon4py.model.testing.pytest_hooks` (auto-loaded via `addopts`):
| `--datatest-skip` | Skip all datatests |
| `--backend <name>` | GT4Py backend (default: embedded; others: gtfn_cpu, gtfn_gpu, dace_cpu, dace_gpu) |
| `--grid <name>` | Grid to use |
| `--enable-mixed-precision` | Switch from double to mixed-precision |
| `--level {any,unit,integration,validation}` | Filter by `@pytest.mark.level` marker. `any` (default) excludes validation tests. |
| `--skip-stenciltest-verification` | Skip verification of StencilTest against reference outputs |

Expand Down Expand Up @@ -182,11 +185,19 @@ Nox mirrors the CI pipeline. Useful for running comprehensive test suites:
uv run --group test --frozen nox -l

# Run all tests for a specific component and subset:
uv run --group test --frozen nox -s 'test_common(datatest=True)'
uv run --group test --frozen nox -s 'test_common(datatest=False)'
uv run --group test --frozen nox -s "test_model-3.13(datatest, common)"

# Select one subset across all subpackages by tag:
uv run --group test --frozen nox -t basic
uv run --group test --frozen nox -t datatest

# Run tests in single-precision mode:
ICON4PY_FLOAT_PRECISION=single uv run --group test --frozen nox -s "test_model-3.13(basic, dycore)"
```

Subset options: `datatest`, `stencils`, `basic` (datatest-skip, no stencils/benchmarks).
Subset options: `datatest`, `stencils`, `basic` (datatest-skip, no stencils/benchmarks). `test_model_mpi` has no `stencils` subset because stencil tests are serial by definition.

Subpackage IDs are the last path component of the package directory: `tracer_advection`, `diffusion`, `dycore`, `microphysics`, `muphys`, `physics_driver`, `common`, `driver`, `testing`.

## Triggering CSCS CI

Expand All @@ -200,4 +211,4 @@ See `.github/workflows/mandatory_and_optional_test_reminder.yml` for the authori
- `cscs-ci run default;MODEL_SUBPACKAGES=common:driver;SESSIONS=model`
- The `cscs/merge` pipeline runs automatically on the merge queue; do not trigger it manually. It runs as a dummy pipeline on PR pushes and runs no tests.
- Some pipelines, especially those running on the normal slrum partition, can in the worst case take hours to schedule (when cluster is busy) and run (see SLURM_TIMELIMIT in the CSCS CI configs). Keep this in mind when waiting for jobs to finish. Test jobs may also need to populate GT4Py caches which can take long.
- CSCS CI configs are in the ci/ subdirectory. The CI runs using GitLab runners and the configuration is the same as for regular GitLab pipelines.
- CSCS CI configs are in the `.cscs-ci/` subdirectory. The CI runs using GitLab runners and the configuration is the same as for regular GitLab pipelines.
8 changes: 4 additions & 4 deletions bindings/src/icon4py/bindings/diffusion_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ def diffusion_init( # noqa: PLR0917 [too-many-positional-arguments]
if zd_cellidx is None:
# then zdiffu_t is False or the list on that rank is empty, then all of the following are not initialized
assert zd_vertidx is None and zd_intcoef is None and zd_diffcoef is None
zd_diffcoef = gtx.zeros(cell_k_domain, dtype=theta_ref_mc.dtype, allocator=allocator)
zd_intcoef = gtx.zeros(cell_c2e2c_k_domain, dtype=wgtfac_c.dtype, allocator=allocator)
zd_diffcoef = gtx.zeros(cell_k_domain, dtype=wpfloat, allocator=allocator)
zd_intcoef = gtx.zeros(cell_c2e2c_k_domain, dtype=wpfloat, allocator=allocator)
zd_vertoffset = gtx.zeros(cell_c2e2c_k_domain, dtype=xp.int32, allocator=allocator)
else:
# transform lists to fields
Expand All @@ -183,7 +183,7 @@ def diffusion_init( # noqa: PLR0917 [too-many-positional-arguments]
data_alloc.adjust_fortran_indices(zd_cellidx),
data_alloc.adjust_fortran_indices(zd_vertidx),
),
default_value=gtx.float64(0.0),
default_value=wpfloat(0.0),
allocator=allocator,
)
zd_intcoef = data_alloc.scattered_field(
Expand All @@ -194,7 +194,7 @@ def diffusion_init( # noqa: PLR0917 [too-many-positional-arguments]
slice(None),
data_alloc.adjust_fortran_indices(zd_vertidx),
),
default_value=gtx.float64(0.0),
default_value=wpfloat(0.0),
allocator=allocator,
)
zd_vertoffset = data_alloc.scattered_field(
Expand Down
6 changes: 3 additions & 3 deletions bindings/tests/bindings/test_diffusion_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ def test_diffusion_wrapper_granule_inputs( # noqa: PLR0917 [too-many-positional
exner = test_utils.array_to_array_info(savepoint_diffusion_init.exner().ndarray)
theta_v = test_utils.array_to_array_info(savepoint_diffusion_init.theta_v().ndarray)
rho = test_utils.array_to_array_info(savepoint_diffusion_init.rho().ndarray)
dtime = savepoint_diffusion_init.get_metadata("dtime")["dtime"]
dtime = savepoint_diffusion_init.dtime()
Comment thread
starkphi marked this conversation as resolved.

# --- Expected objects that form inputs into init and run functions
expected_icon_grid = icon_grid
expected_dtime = savepoint_diffusion_init.get_metadata("dtime").get("dtime")
expected_dtime = savepoint_diffusion_init.dtime()
expected_edge_geometry: grid_states.EdgeParams = grid_savepoint.construct_edge_geometry()
expected_cell_geometry: grid_states.CellParams = grid_savepoint.construct_cell_geometry()
expected_interpolation_state = diffusion_states.DiffusionInterpolationState(
Expand Down Expand Up @@ -327,7 +327,7 @@ def test_diffusion_wrapper_single_step( # noqa: PLR0917 [too-many-positional-ar
exner = test_utils.array_to_array_info(savepoint_diffusion_init.exner().ndarray)
theta_v = test_utils.array_to_array_info(savepoint_diffusion_init.theta_v().ndarray)
rho = test_utils.array_to_array_info(savepoint_diffusion_init.rho().ndarray)
dtime = savepoint_diffusion_init.get_metadata("dtime")["dtime"]
dtime = savepoint_diffusion_init.dtime()

ffi = cffi.FFI()
# Call diffusion_init
Expand Down
8 changes: 4 additions & 4 deletions bindings/tests/bindings/test_dycore_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ def test_dycore_wrapper_granule_inputs( # noqa: PLR0917 [too-many-positional-ar
) # undo the -1 to go back to Fortran value

# other params
dtime = sp.get_metadata("dtime").get("dtime")
dtime = sp.dtime()
prepare_fluxes_for_advection = sp.get_metadata("prep_adv").get("prep_adv")

# metric state parameters
Expand Down Expand Up @@ -534,7 +534,7 @@ def test_dycore_wrapper_granule_inputs( # noqa: PLR0917 [too-many-positional-ar
), # TODO(): sp.vol_flx_ic(),
)
expected_second_order_divdamp_factor = sp.divdamp_fac_o2()
expected_dtime = sp.get_metadata("dtime").get("dtime")
expected_dtime = sp.dtime()
expected_prepare_fluxes_for_advection = sp.get_metadata("prep_adv").get("prep_adv")
expected_at_first_substep = substep_init == 1
expected_at_last_substep = substep_init == ndyn_substeps
Expand Down Expand Up @@ -809,7 +809,7 @@ def test_granule_solve_nonhydro_single_step_regional( # noqa: PLR0917 [too-many
sp_step_exit = savepoint_nonhydro_step_final

# other params
dtime = sp.get_metadata("dtime").get("dtime")
dtime = sp.dtime()
prepare_fluxes_for_advection = sp.get_metadata("prep_adv").get("prep_adv")

# solve nh run parameters
Expand Down Expand Up @@ -991,7 +991,7 @@ def test_granule_solve_nonhydro_multi_step_regional( # noqa: PLR0917 [too-many-
sp_step_exit = savepoint_nonhydro_step_final

# other params
dtime = sp.get_metadata("dtime").get("dtime")
dtime = sp.dtime()
prepare_fluxes_for_advection = sp.get_metadata("prep_adv").get("prep_adv")

# solve nh run parameters
Expand Down
Loading
Loading