PyMPDATA icon indicating copy to clipboard operation
PyMPDATA copied to clipboard

Comparison with PyPDE: Integrate Benchmarking and Compatibility Analysis

Open pepe5p opened this issue 8 months ago • 5 comments

This pull request introduces a detailed comparison between PyMPDATA and the PyPDE framework. It adds benchmarking scripts, analysis notebooks, and documentation updates to help users evaluate performance and compatibility between the two libraries. Key changes include:

  • New scripts for running side-by-side benchmarks with PyPDE
  • Jupyter notebooks illustrating test cases and results
  • Test for compatibility with PyPDE

pepe5p avatar Jun 09 '25 15:06 pepe5p

CI reports this failure (https://github.com/open-atmos/PyMPDATA/actions/runs/15552679887/job/43825446170?pr=576):

  File "/home/runner/work/PyMPDATA/PyMPDATA/examples/PyMPDATA_examples/comparison_against_pypde_2025/diffusion_2d.py", line 69
    type Two2DiffusionSolution = npt.NDArray[np.float64]
         ^
SyntaxError: invalid syntax

slayoo avatar Jun 18 '25 06:06 slayoo

image I have a problem with dependencies. If python's version is 3.11 or lower, the requries numba's version is lower than 0.59 required by py-pde. Because of that, the pylint test can't install the dependencies correctly. Genuinely no idea how to solve this.

Eniterusx avatar Jun 21 '25 22:06 Eniterusx

image I have a problem with dependencies. If python's version is 3.11 or lower, the requries numba's version is lower than 0.59 required by py-pde. Because of that, the pylint test can't install the dependencies correctly. Genuinely no idea how to solve this.

could we work with an older version of py-pde on CI?

slayoo avatar Jun 21 '25 22:06 slayoo

could we work with an older version of py-pde on CI?

I tried downgrading py-pde, but the earliest version that doesn't have the numba requirement is 0.36.0, and our solution uses some features that are not present in that version.

Eniterusx avatar Jun 21 '25 22:06 Eniterusx

could we work with an older version of py-pde on CI?

I tried downgrading py-pde, but the earliest version that doesn't have the numba requirement is 0.36.0, and our solution uses some features that are not present in that version.

so let's run these tests only for Python 3.13 (using pytest.skipif for older Pythons) and in setup.py, if CI env var is set, let's only add the dependency on py-pde if we run on Python 3.13

slayoo avatar Jun 21 '25 22:06 slayoo