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

Candidate packages to get working #17

Open
10 of 17 tasks
certik opened this issue Jan 15, 2020 · 8 comments
Open
10 of 17 tasks

Candidate packages to get working #17

certik opened this issue Jan 15, 2020 · 8 comments
Labels
good first issue Good for newcomers

Comments

@certik
Copy link
Member

certik commented Jan 15, 2020

@milancurcic
Copy link
Member

I added nc4fortran and netcdf-fortran to the list.

@ivan-pi
Copy link
Member

ivan-pi commented Feb 17, 2021

I recall reading a comment once (might have been from @jacobwilliams) that "Netlib is where Fortran codes go to die".

Well I just resurrected the y12m package for sparse linear systems published all the way back in 1981!

In the documentation the library claims to use only standard Fortran features (at the time), and indeed - it builds with both gfortran (warnings about deprecated syntax) and Intel Fortran (no errors) straight out of the box! I thinks it's a great showcase of the strength of Fortran and also fpm. 👍

One of the authors - Zahari Zlatev - is an established scientist in environmental modelling and sparse linear algebra. I presume the code was used in the Unified Danish Eulerian Model - an atmospheric model used to study transport of air pollutants.

Several more netlib packages are interesting candidates: http://www.netlib.org/liblist.html

Someone teaching a Fortran programming class (@awvwgk) chould give this as a homework assignment: each student who wants to pass should create the manifest and interface module for one Netlib package. The Intel Fortran compiler already knows how to automatically generate interface blocks. Then it is just a matter of aggregating them in a single interface module.

Maybe the maintainers of Netlib from University of Tennessee and Oak Ridge National Laboratory would also be willing to support such a modernization effort.

@ivan-pi
Copy link
Member

ivan-pi commented Feb 19, 2021

LINPACK now also works with fpm, even if superceded by LAPACK for modern usage.

Some of the available Netlib packages (still) depend on LINPACK, so an fpm package is the best way to fulfill these dependencies.

I think I might create a table to track which Netlib codes are already fpm-compatible. What do you think?

@certik
Copy link
Member Author

certik commented Feb 19, 2021

@ivan-pi yes!

We should setup some automatic tests to ensure things keep working when we upgrade fpm, such as after treating .f as free form, which would require to add a flag to fpm.toml.

This is exciting, I might actually start using some of these Fortran packages!

@awvwgk
Copy link
Member

awvwgk commented Feb 19, 2021

I think I might create a table to track which Netlib codes are already fpm-compatible. What do you think?

We already have a keywords and categories entry for the package manifest, netlib might qualify as category, if not then at least as keyword. The fpm registry could certainly help with indexing those projects.

@certik
Copy link
Member Author

certik commented Feb 19, 2021

I just created an issue #365 where we should discuss where to host such packages.

@ivan-pi
Copy link
Member

ivan-pi commented Dec 14, 2021

Just ticked off two more packages from @jacobwilliams. Thanks Jacob for your effort.

@scivision
Copy link
Member

h5fortran and nc4fortran now work with FPM thanks to input from @milancurcic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

5 participants