Skip to content

np.assert_allclose instead of isclose.all - #91

Merged
pdziekan merged 2 commits into
igfuw:masterfrom
pdziekan:clean_allclose
Aug 25, 2026
Merged

np.assert_allclose instead of isclose.all#91
pdziekan merged 2 commits into
igfuw:masterfrom
pdziekan:clean_allclose

Conversation

@pdziekan

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI lite review requested due to automatic review settings August 24, 2026 14:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates numerical-comparison assertions in the test suite by replacing np.isclose(...).all() patterns with np.testing.assert_allclose(...), improving failure reporting for array comparisons.

Changes:

  • Replace np.isclose(...).all() with np.testing.assert_allclose(...) in multiple tests.
  • Add custom err_msg strings to preserve existing diagnostic context on failure.
  • Adjust relative tolerances for two spectrum-moment parameter cases (dradii_m0, lindradii_m0).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
unit_test/test_pressure.py Uses np.testing.assert_allclose for ref-vs-output comparisons in test_pressure_diff.
unit_test_debug/test_spectrum.py Switches to assert_allclose for bin checks and spectrum diffs; also changes eps values for two moments.
long_test/test_timestep.py Switches to assert_allclose for timestep-ref comparisons in test_timestep_diff.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

f_ref = netcdf.netcdf_file(os.path.join("long_test/refdata", filename), "r")
for var in ["t", "z", "th_d", "T", "p", "r_v", "rhod"]:
assert np.isclose(f_test.variables[var][:], f_ref.variables[var][:], atol=0, rtol=eps).all(), "differs e.g. " + str(var) + "; max(ref diff) = " + str(np.where(f_ref.variables[var][:] != 0., abs((f_test.variables[var][:]-f_ref.variables[var][:])/f_ref.variables[var][:]), 0.).max())
np.testing.assert_allclose(f_test.variables[var][:], f_ref.variables[var][:], atol=0, rtol=eps, err_msg="differs e.g. " + str(var) + "; max(ref diff) = " + str(np.where(f_ref.variables[var][:] != 0., abs((f_test.variables[var][:]-f_ref.variables[var][:])/f_ref.variables[var][:]), 0.).max()))
Comment on lines +67 to 69
@pytest.mark.parametrize("mom, eps", [("wradii_m0", 1e-15), ("dradii_m0", 1e-14),
("lindradii_m0", 1e-14), ("linwradii_m0", 1e-15),
("wradii_m1", 7e-4), ("dradii_m1", 5e-15),
@pdziekan
pdziekan merged commit 55f1073 into igfuw:master Aug 25, 2026
2 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.

2 participants