Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factor the OA Fortran lib out of the package #72

Open
ocefpaf opened this issue Oct 23, 2024 · 2 comments
Open

Factor the OA Fortran lib out of the package #72

ocefpaf opened this issue Oct 23, 2024 · 2 comments

Comments

@ocefpaf
Copy link
Contributor

ocefpaf commented Oct 23, 2024

Building Fortran extensions in Python became quite a nightmare with Python dropping distutils, numpy dropping numpy.distutils, setuptools >=65 dropping the vendored distutils, etc. Also There is no clear substitute (meson? cmake?). Factoring out the OA part will allow the rest of the package be noarch, easy to build and maintain, while depending on an optional OA Fortran extension that, can evolve faster outside of this package, maybe even get a re-write in another language.

If that is something of interest please let me know and I can help with the re-factor.

@powellb
Copy link
Owner

powellb commented Oct 28, 2024

There are other Fortran functions in addition to OA that are used throughout seapy. In addition, OA is scattered throughout a number of routines. So, elimination of the fortran code is not a trivial task. We try to use a number of ROMS fortran routines directly to ensure correct calculations (previous Python attempts didn't match perfectly).

Moving away from distutils has been on the priority, but since we haven't upgraded our cluster beyond Python 3.11 it hasn't hit the top yet. Over the next couple of months I had planned to examine the replacement for distutils. It seems it isn't too onerous.

@ocefpaf
Copy link
Contributor Author

ocefpaf commented Oct 29, 2024

In addition, OA is scattered throughout a number of routines.

This factored out package would still be a dependency here and that would not change. The idea would be to make a build migration easier by having it in its own package.

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

No branches or pull requests

2 participants