Giter VIP home page Giter VIP logo

Comments (8)

ivan-pi avatar ivan-pi commented on August 29, 2024 7

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.

from fpm.

ivan-pi avatar ivan-pi commented on August 29, 2024 3

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?

from fpm.

milancurcic avatar milancurcic commented on August 29, 2024 2

I added nc4fortran and netcdf-fortran to the list.

from fpm.

awvwgk avatar awvwgk commented on August 29, 2024 2

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.

from fpm.

certik avatar certik commented on August 29, 2024 1

@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!

from fpm.

ivan-pi avatar ivan-pi commented on August 29, 2024 1

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

from fpm.

scivision avatar scivision commented on August 29, 2024 1

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

from fpm.

certik avatar certik commented on August 29, 2024

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

from fpm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.