fortran-lang / stdlib

Fortran Standard Library
https://stdlib.fortran-lang.org
MIT License
1.05k stars 164 forks source link

List of popular open source Fortran projects #28

Closed certik closed 3 years ago

certik commented 4 years ago

In order to more easily judge how Fortran developers actually use Fortran in real production codes (this can be useful for issues like #25), let's maintain a list of popular open source Fortran projects here, sorted by the number of stars at GitHub (in parentheses).

The list was moved to a Wiki:

https://github.com/fortran-lang/stdlib/wiki/List-of-popular-open-source-Fortran-projects

certik commented 4 years ago

Everybody, can you please help find Fortran projects at GitHub that have more than let's say ~30 stars, so that we have a complete list above? I will update the issue description. GitHub makes this really hard to find for some reason.

marshallward commented 4 years ago

Maybe activate the wiki for this?

Also I feel obliged to link MOM6: https://github.com/NOAA-GFDL/MOM6

(The GFDL framework almost hits the threshold at 29: https://github.com/NOAA-GFDL/FMS)

jacobwilliams commented 4 years ago

Here are mine:

certik commented 4 years ago

I am moving this to a wiki so that we can all edit. Give me a second.

milancurcic commented 4 years ago

I added a few more of mine (neural-fortran, tsunami, tcp-client-server).

Awesome Fortran is a useful list.

certik commented 4 years ago

Done: https://github.com/fortran-lang/stdlib/wiki/List-of-popular-open-source-Fortran-projects

@marshallward, @jacobwilliams would you mind putting the codes you mentioned into the wiki please?

certik commented 4 years ago

@marshallward We can lower the threshold. I set it at 30 to make the number of codes manageable, but it looks like there is not that many. We can lower it to 25 or 20.

certik commented 4 years ago

@milancurcic there is lots of Fortran codes out there, but if it is not on GitHub, not even a GitHub mirror (like I've done for LFortran), then I feel those codes are pretty much not developed anymore (or not open source). So restricting to only codes at GitHub I think is a proxy for codes that are "modern enough". (There are some codes however that didn't get a single commit in 5 or more years...)

marshallward commented 4 years ago

I couldn't see a way to edit the wiki, might need a permissions change?

certik commented 4 years ago

@marshallward try again, I made the wiki editable by any GitHub user.

marshallward commented 4 years ago

Thanks, working now.

certik commented 4 years ago

I found a nice list here: https://github.com/topics/fortran, again, not all the codes, but quite a few listed above are there plus more. Let's keep the number of stars at 29 or more, and we'll see how many codes we get.

certik commented 4 years ago

I extracted all projects that I was able to find so far. The github page https://github.com/topics/fortran as well as the various searches do not actually show all the projects for some reason, but I think the list is starting to get quite accurate. Here is some statistics:

# of contributors, # of projects
1 - 10
2 - 5
3 - 5
4 - 4
5 - 5
6 - 2
7 - 1
8 - 2
9 - 0
10 - 0
...
13 - 1
14 - 1
22 - 1
23 - 1
25 - 1
27 - 1
30 - 1
41 - 2
43 - 1
46 - 1

Total: 45

In particular, if we require at least 3 contributors to exclude one man projects, then there are only ~ 30 projects with at least 29 stars. And there is only 11 projects with more than 8 contributors.

rweed commented 4 years ago

Don't know if its still actively maintained but Fortranwiki (fortranwiki.org/fortran/show/HomePage) used to have some lists of codes/projects broken down by application type etc. I would guess some of the links though are stale or broken.

certik commented 4 years ago

@rweed thanks! You are right, the links there are broken, but the names of packages are correct. I will go through it soon. I already found one (it's on GitLab, not GitHub, that's why I didn't find it before): https://gitlab.com/octopus-code/octopus, which looks healthy. For LFortran, the GitLab / GitHub star ratio is 52 to 113. So Octopus has 22 stars on GitLab, so that could have been something like 50 on GitHub, which is not bad.

There will be more codes like that, no doubt.

milancurcic commented 4 years ago

I added over a dozen more projects, some of them heavy-hitters.

Some comments:

certik commented 4 years ago

@milancurcic thank you so much for adding more projects --- indeed some of them are doing well. Can you add your comments into the Wiki?

This has been very helpful to get an overview how the opensource Fortran landscape looks like.

milancurcic commented 4 years ago

Interesting that fortran-machine (web server) by @mapmeld has Arjen's flibs as a dependency (for the CGI and SQL pieces if I recall correctly). That dependency could be stdlib for some similar future project.

milancurcic commented 4 years ago

Relevant article by Nick from few years back: https://medium.com/@mapmeld/fortran-culture-on-github-a257dd595061

septcolor commented 4 years ago

(Edit: Both have been added to Wiki)

Are these packages also candidates? HANDE (QMC code) https://github.com/hande-qmc/hande DFTB+ (density functional tight-binding code) https://github.com/dftbplus/dftbplus

certik commented 4 years ago

Yes! Would you mind adding it in please?

On Fri, Dec 20, 2019, at 7:10 PM, septcolor wrote:

Is this also a candidate? HANDE (QMC code) https://github.com/hande-qmc/hande

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/fortran-lang/stdlib/issues/28?email_source=notifications&email_token=AAAFAWGC3EJ6H7Z6BTS3MTLQZV3INA5CNFSM4J6CBZX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHOS2XY#issuecomment-568143199, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFAWEF5CV65WQI7SILF3DQZV3INANCNFSM4J6CBZXQ.

ivan-pi commented 4 years ago

These codes all have more than 30 stars and are not yet in the list. Some have only one or two contributors though.

Node-Fortran https://github.com/IonicaBizau/node-fortran https://github.com/IonicaBizau/node.fortran DBCSR: Distributed Block Compressed Sparse Row matrix library https://github.com/cp2k/dbcsr Starlink software collection: https://github.com/Starlink/starlink Particle-in-Cell Skeleton Codes https://github.com/UCLA-Plasma-Simulation-Group/PIC-skeleton-codes CompDam - Deformation Gradient Decomposition (DGD) https://github.com/nasa/CompDam_DGD Flexi - Open Source High-Order Unstructured Discontinuous Galerkin Fluid Dynamics Solver https://github.com/flexi-framework/flexi specfem3d https://github.com/geodynamics/specfem3d kdtree2 https://github.com/jmhodges/kdtree2 ADflow - finite volume RANS solver tailored for gradient-based aerodynamic design optimization https://github.com/mdolab/adflow clfortran - Open source implementation of a Fortran interface to Khronos OpenCL API https://github.com/cass-support/clfortran MODFLOW6 https://github.com/MODFLOW-USGS/modflow6 Nek5000 https://github.com/Nek5000/Nek5000 fds - Fire Dynamics Simulator https://github.com/firemodels/fds ElmerFEM https://github.com/ElmerCSC/elmerfem arpack-ng https://github.com/opencollab/arpack-ng GALAHAD - A library of modern Fortran modules for nonlinear optimization https://github.com/ralna/GALAHAD fgsl - Fortran interface to the GNU Scientific Library https://github.com/reinh-bader/fgsl FortranPatterns - Popular design patterns implemented in Fortran https://github.com/farhanjk/FortranPatterns LaGriT - Los Alamos Grid Toolbox https://github.com/lanl/LaGriT fluidity https://github.com/FluidityProject/fluidity fortranlib https://github.com/astrofrog/fortranlib ogpf - Object based interface to GnuPlot from Fortran 2003, 2008 and later https://github.com/kookma/ogpf coretran https://github.com/leonfoks/coretran sigma - Fortran 2003 library for sparse matrix algebra https://github.com/danshapero/sigma aenet - Atomic interaction potentials based on artificial neural networks https://github.com/atomisticnet/aenet IAMR - A parallel, adaptive mesh refinement (AMR) code https://github.com/AMReX-Codes/IAMR PoisFFT - Free parallel fast Poisson solver https://github.com/LadaF/PoisFFT OpenSWPC https://github.com/tktmyd/OpenSWPC

milancurcic commented 4 years ago

Yes! Nek5000, how could I've missed that! :)

@ivan-pi Can you please add these to the wiki?

ivan-pi commented 4 years ago

It will be painful to sort them in the right positions. I'll see what I can do.

Edit: The list is updated! With the help of some Sublime multi-cursor magic it turned out to be easier than expected.

certik commented 4 years ago

@ivan-pi thanks a lot for this! The list looks a lot better than when I first started. It's revealing to see these different Fortran projects and see how people use Fortran.

ivan-pi commented 4 years ago

From what I can see it is mostly codes for computational chemistry, sparse and dense linear algebra (including eigenvalue problems), computational fluid dynamics and solid mechanics, computational seismology, reservoir simulation, nonlinear optimization, and the rest are general Fortran utilities (file I/O, containers, patterns, plotting...).

rweed commented 4 years ago

Obviously we have LOTs of open source/public domain software to choose from, I think we should stick to the things a standard library to support Fortran programming should be focused on. That is what functions/capabilities that don't current exist in Fortran that Matlab, NumPy/SciPy, and the C++ STL provide that reduce the amount of code you need to generate a CFD, FEM, sparse/dense matrix code etc. My priority list is as follows

Containers/ADTs I would draw (because I already have) from Ruegers FTL project, Arjen's FLIBS, and implementation ideas outlined in a few books. However, if someone can point to a better approach I'm all in on that to.

Commonly used mathematical/statistical functions not current part of Fortran Things like mean and standard deviations. Probability Density Functions, Cumlative Distribution Functions (CDF) and their siblings, normal (Gaussian) distributions, (ie better support for random distributions and perturbations), factorials, and binomial coefficients and a host of other functions in this area. A feature comparison of what is supported in Fortran and what NumPi/SciPy provides would probably be a good first step. We can then cherry pick all of the current and old implementations of these functions as candidates for the library.

Better support for creating, modifying, and manipulating arrays and matrices (which I remind everyone are not the same thing. one is a container, the other is a mathematical entity) These include things like identity matrix (eye), linspace, meshgrid, the ability to generate real or integer sequences based on an fixed increment, dynamically adding rows and columns to a matrix dynamically, sorting rows and/or columns, and a form of reallocate or resize that wraps MOVE_ALLOC to allow a dynamic reallocations capability.

Finally, sorting. There are lots of implementations of all most commonly used sorting algorithms (quicksort, mergesort, heapsort, hashsort etc). The trick is to find a way to make them generic.

certik commented 4 years ago

@rweed would you mind posting your last comment into #1? The issue here is about looking at the Fortran landscape of what (opensource) projects use Fortran, so that we can see what conventions they use and these projects can end up depending on stdlib. Your comment seemed to indicate that we can choose these projects as dependencies for stdlib, which is not the intention, and that's why I think your comment belongs into #1.

rweed commented 4 years ago

@certik no problem. I just thought when we start listing CFD codes etc we were straying from what I thought the intent of the library was. My comments were an attempt to get the discussion focused back on what I thought the purpose of the library was.

certik commented 4 years ago

I think the intent of the library, as discussed in #1, is to provide basic functionality, for example along the lines of your comment, so that stdlib can be used in codes such as listed in this issue #28, including the CFD codes.

certik commented 4 years ago

I added stdlib to the list. ;) With 47 stars and 7 contributors, we now belong there too.

rjfarmer commented 4 years ago

Do you want non-github open-source fortran projects listed?

certik commented 4 years ago

Yes! But only if we can reasonably estimate to have over 30 stars if they were on github.

On Sat, Jan 11, 2020, at 10:39 AM, Robert Farmer wrote:

Do you want non-github open-source fortran projects listed?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fortran-lang/stdlib/issues/28?email_source=notifications&email_token=AAAFAWE7WPLJMSIWAY2J6L3Q5H73RA5CNFSM4J6CBZX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWG7SQ#issuecomment-573337546, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFAWFJJJWZ6O7REBXX74DQ5H73RANCNFSM4J6CBZXQ.

urbanjost commented 4 years ago

Yeah. The 30 stars on github is reasonable in a lot of ways, but some of those sites have been up for years. I have a fledgling one whose goal was exactly to promote something like the functionality of a standard utility library that only has a few stars that I still thought was a good fit as a seed for discussion in this project, which I would like to move towards contributing to.

Previously I was trying to start a group of github repositories with a similar goal relatively recently but I was primarily concentrating on setting up an automated process to extract codes from my heavily personalized development environment to a simple release format ( hopefully requiring others to have no need for more than a modern Fortran compiler and make(1)) so I could reduce the issues I had with putting something on github.

After this project started I wanted to switch to contributing to it and felt some of the materials I started were a good fit at least as part of discussion points about various utilities, various documentation methods, what APIs should look like, what compiler requirements should be for experimental codes ... (ie good for part 2 and 3).

But, since I do not have thirty stars, is there still an approved way to have others give the materials a look and let me know if there is anything there that would be a good candidate for moving to this project?

after looking at this sites' documenation:

I started by opening an issue here for a topic covered by one of the modules I thought would be a simple starting point; but that did not seem to elicit any response(but I'm not sure I have figured out how this all works yet).

So before surrendering I thought I would try directly eliciting feedback. Does anyone find anything worth discussing at

https://github.com/urbanjost?tab=repositories

So If no one finds anything interesting there that's fine and I can do my own thing; but there are some things on date and time, strings, and a POSIX interface I have seen discussed here that I thought were a good fit.

Mine has some basic PD self-contained modules that anyone here can feel free to use for anything they want for discussion or use. The larger GPF development repository has some mixed MIT, GNU, ... licensing in it so even though it has a lot more stuff in it, it is not 100% unencumbered at this point (working on that).

So for something that does not meet the "github thirty stars" criteria should I have

This project has all the goals and more collaborators and stars than I could reasonably hope for at this point, so I was basically hoping to contribute any generic functions to this project and just leave mine for some esoteric stuff that would not fit into a standard library.

jvdp1 commented 4 years ago

@urbanjost thanks for the info. Many of your things are of interest for stdlib. You could probably start an issue similar to #103 or #104, and listing all the things that could contribute to stdlib

milancurcic commented 4 years ago

@urbanjost I agree with @jvdp1. Much of what you have is in scope in my opinion, and the issue you opened for dates and times (#106) is the correct approach. Don't worry if there hasn't been feedback yet. I will write there soon and request feedback from others. We should handle dates and times with stdlib, we just need to work toward an API that most of the community will agree upon.

The 30 stars mentioned in this thread is arbitrary and meant only to keep the list of projects in the Wiki manageable. These projects are not meant as projects for transition to stdlib, but more as reference projects for us to learn how if Fortran used in real-life applications.

awvwgk commented 4 years ago

The of popular Fortran projects in the wiki got quite out of date, in case it should still be maintained, one could automate at least the way meta data is fetched, a hacky example to do so using shields.io is in the details below.

| Project | Stars | Contributors | | --- | ---:| ---:| | [ABINIT](https://github.com/abinit/abinit) | ![stars](https://img.shields.io/github/stars/abinit/abinit?label=%20) | ![contributors](https://img.shields.io/github/contributors/abinit/abinit?label=%20) | | [ADflow](https://github.com/mdolab/adflow) | ![stars](https://img.shields.io/github/stars/mdolab/adflow?label=%20) | ![contributors](https://img.shields.io/github/contributors/mdolab/adflow?label=%20) | | [aenet](https://github.com/atomisticnet/aenet) | ![stars](https://img.shields.io/github/stars/atomisticnet/aenet?label=%20) | ![contributors](https://img.shields.io/github/contributors/atomisticnet/aenet?label=%20) | | [arpack-ng](https://github.com/opencollab/arpack-ng) | ![stars](https://img.shields.io/github/stars/opencollab/arpack-ng?label=%20) | ![contributors](https://img.shields.io/github/contributors/opencollab/arpack-ng?label=%20) | | [bandup](https://github.com/band-unfolding/bandup) | ![stars](https://img.shields.io/github/stars/band-unfolding/bandup?label=%20) | ![contributors](https://img.shields.io/github/contributors/band-unfolding/bandup?label=%20) | | [bspline-fortran](https://github.com/jacobwilliams/bspline-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/bspline-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/bspline-fortran?label=%20) | | [Castro](https://github.com/AMReX-Astro/Castro) | ![stars](https://img.shields.io/github/stars/AMReX-Astro/Castro?label=%20) | ![contributors](https://img.shields.io/github/contributors/AMReX-Astro/Castro?label=%20) | | [CFD](https://github.com/liruipengyu/CFD) | ![stars](https://img.shields.io/github/stars/liruipengyu/CFD?label=%20) | ![contributors](https://img.shields.io/github/contributors/liruipengyu/CFD?label=%20) | | [CFL3D](https://github.com/nasa/CFL3D) | ![stars](https://img.shields.io/github/stars/nasa/CFL3D?label=%20) | ![contributors](https://img.shields.io/github/contributors/nasa/CFL3D?label=%20) | | [clfortran](https://github.com/cass-support/clfortran) | ![stars](https://img.shields.io/github/stars/cass-support/clfortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/cass-support/clfortran?label=%20) | | [CompDam](https://github.com/nasa/CompDam_DGD) | ![stars](https://img.shields.io/github/stars/nasa/CompDam_DGD?label=%20) | ![contributors](https://img.shields.io/github/contributors/nasa/CompDam_DGD?label=%20) | | [coretran](https://github.com/leonfoks/coretran) | ![stars](https://img.shields.io/github/stars/leonfoks/coretran?label=%20) | ![contributors](https://img.shields.io/github/contributors/leonfoks/coretran?label=%20) | | [cp2k](https://github.com/cp2k/cp2k) | ![stars](https://img.shields.io/github/stars/cp2k/cp2k?label=%20) | ![contributors](https://img.shields.io/github/contributors/cp2k/cp2k?label=%20) | | [CTSM](https://github.com/ESCOMP/CTSM) | ![stars](https://img.shields.io/github/stars/ESCOMP/CTSM?label=%20) | ![contributors](https://img.shields.io/github/contributors/ESCOMP/CTSM?label=%20) | | [datetime-fortran](https://github.com/wavebitscientific/datetime-fortran) | ![stars](https://img.shields.io/github/stars/wavebitscientific/datetime-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/wavebitscientific/datetime-fortran?label=%20) | | [DBCSR](https://github.com/cp2k/dbcsr) | ![stars](https://img.shields.io/github/stars/cp2k/dbcsr?label=%20) | ![contributors](https://img.shields.io/github/contributors/cp2k/dbcsr?label=%20) | | [DFTB+](https://github.com/dftbplus/dftbplus) | ![stars](https://img.shields.io/github/stars/dftbplus/dftbplus?label=%20) | ![contributors](https://img.shields.io/github/contributors/dftbplus/dftbplus?label=%20) | | [ElmerFEM](https://github.com/ElmerCSC/elmerfem) | ![stars](https://img.shields.io/github/stars/ElmerCSC/elmerfem?label=%20) | ![contributors](https://img.shields.io/github/contributors/ElmerCSC/elmerfem?label=%20) | | [fdict](https://github.com/zerothi/fdict) | ![stars](https://img.shields.io/github/stars/zerothi/fdict?label=%20) | ![contributors](https://img.shields.io/github/contributors/zerothi/fdict?label=%20) | | [fds](https://github.com/firemodels/fds) | ![stars](https://img.shields.io/github/stars/firemodels/fds?label=%20) | ![contributors](https://img.shields.io/github/contributors/firemodels/fds?label=%20) | | [FEconv](https://github.com/victorsndvg/FEconv) | ![stars](https://img.shields.io/github/stars/victorsndvg/FEconv?label=%20) | ![contributors](https://img.shields.io/github/contributors/victorsndvg/FEconv?label=%20) | | [fgsl](https://github.com/reinh-bader/fgsl) | ![stars](https://img.shields.io/github/stars/reinh-bader/fgsl?label=%20) | ![contributors](https://img.shields.io/github/contributors/reinh-bader/fgsl?label=%20) | | [FLAP](https://github.com/szaghi/FLAP) | ![stars](https://img.shields.io/github/stars/szaghi/FLAP?label=%20) | ![contributors](https://img.shields.io/github/contributors/szaghi/FLAP?label=%20) | | [Flexi](https://github.com/flexi-framework/flexi) | ![stars](https://img.shields.io/github/stars/flexi-framework/flexi?label=%20) | ![contributors](https://img.shields.io/github/contributors/flexi-framework/flexi?label=%20) | | [fluidity](https://github.com/FluidityProject/fluidity) | ![stars](https://img.shields.io/github/stars/FluidityProject/fluidity?label=%20) | ![contributors](https://img.shields.io/github/contributors/FluidityProject/fluidity?label=%20) | | [FMS](https://github.com/NOAA-GFDL/FMS) | ![stars](https://img.shields.io/github/stars/NOAA-GFDL/FMS?label=%20) | ![contributors](https://img.shields.io/github/contributors/NOAA-GFDL/FMS?label=%20) | | [FOODIE](https://github.com/Fortran-FOSS-Programmers/FOODIE) | ![stars](https://img.shields.io/github/stars/Fortran-FOSS-Programmers/FOODIE?label=%20) | ![contributors](https://img.shields.io/github/contributors/Fortran-FOSS-Programmers/FOODIE?label=%20) | | [forpy](https://github.com/ylikx/forpy) | ![stars](https://img.shields.io/github/stars/ylikx/forpy?label=%20) | ![contributors](https://img.shields.io/github/contributors/ylikx/forpy?label=%20) | | [fortran2018-examples](https://github.com/scivision/fortran2018-examples) | ![stars](https://img.shields.io/github/stars/scivision/fortran2018-examples?label=%20) | ![contributors](https://img.shields.io/github/contributors/scivision/fortran2018-examples?label=%20) | | [Fortran-Astrodynamics-Toolkit](https://github.com/jacobwilliams/Fortran-Astrodynamics-Toolkit) | ![stars](https://img.shields.io/github/stars/jacobwilliams/Fortran-Astrodynamics-Toolkit?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/Fortran-Astrodynamics-Toolkit?label=%20) | | [fortran-csv-module](https://github.com/jacobwilliams/fortran-csv-module) | ![stars](https://img.shields.io/github/stars/jacobwilliams/fortran-csv-module?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/fortran-csv-module?label=%20) | | [fortranlib](https://github.com/astrofrog/fortranlib) | ![stars](https://img.shields.io/github/stars/astrofrog/fortranlib?label=%20) | ![contributors](https://img.shields.io/github/contributors/astrofrog/fortranlib?label=%20) | | [fortran-machine](https://github.com/mapmeld/fortran-machine) | ![stars](https://img.shields.io/github/stars/mapmeld/fortran-machine?label=%20) | ![contributors](https://img.shields.io/github/contributors/mapmeld/fortran-machine?label=%20) | | [FortranPatterns](https://github.com/farhanjk/FortranPatterns) | ![stars](https://img.shields.io/github/stars/farhanjk/FortranPatterns?label=%20) | ![contributors](https://img.shields.io/github/contributors/farhanjk/FortranPatterns?label=%20) | | [fortran-utils](https://github.com/certik/fortran-utils/) | ![stars](https://img.shields.io/github/stars/certik/fortran-utils/?label=%20) | ![contributors](https://img.shields.io/github/contributors/certik/fortran-utils/?label=%20) | | [fox](https://github.com/andreww/fox) | ![stars](https://img.shields.io/github/stars/andreww/fox?label=%20) | ![contributors](https://img.shields.io/github/contributors/andreww/fox?label=%20) | | [freeCappuccino](https://github.com/nikola-m/freeCappuccino) | ![stars](https://img.shields.io/github/stars/nikola-m/freeCappuccino?label=%20) | ![contributors](https://img.shields.io/github/contributors/nikola-m/freeCappuccino?label=%20) | | [ftl](https://github.com/SCM-NV/ftl) | ![stars](https://img.shields.io/github/stars/SCM-NV/ftl?label=%20) | ![contributors](https://img.shields.io/github/contributors/SCM-NV/ftl?label=%20) | | [functional-fortran](https://github.com/wavebitscientific/functional-fortran) | ![stars](https://img.shields.io/github/stars/wavebitscientific/functional-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/wavebitscientific/functional-fortran?label=%20) | | [FV3-GFS](https://github.com/NOAA-EMC/fv3gfs) | ![stars](https://img.shields.io/github/stars/NOAA-EMC/fv3gfs?label=%20) | ![contributors](https://img.shields.io/github/contributors/NOAA-EMC/fv3gfs?label=%20) | | [GALAHAD](https://github.com/ralna/GALAHAD) | ![stars](https://img.shields.io/github/stars/ralna/GALAHAD?label=%20) | ![contributors](https://img.shields.io/github/contributors/ralna/GALAHAD?label=%20) | | [GFR](https://github.com/nasa/GFR) | ![stars](https://img.shields.io/github/stars/nasa/GFR?label=%20) | ![contributors](https://img.shields.io/github/contributors/nasa/GFR?label=%20) | | [gtk-fortran](https://github.com/vmagnin/gtk-fortran) | ![stars](https://img.shields.io/github/stars/vmagnin/gtk-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/vmagnin/gtk-fortran?label=%20) | | [h5fortran](https://github.com/scivision/h5fortran) | ![stars](https://img.shields.io/github/stars/scivision/h5fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/scivision/h5fortran?label=%20) | | [HANDE-QMC](https://github.com/hande-qmc/hande) | ![stars](https://img.shields.io/github/stars/hande-qmc/hande?label=%20) | ![contributors](https://img.shields.io/github/contributors/hande-qmc/hande?label=%20) | | [IAMR](https://github.com/AMReX-Codes/IAMR) | ![stars](https://img.shields.io/github/stars/AMReX-Codes/IAMR?label=%20) | ![contributors](https://img.shields.io/github/contributors/AMReX-Codes/IAMR?label=%20) | | [ICAR](https://github.com/NCAR/icar) | ![stars](https://img.shields.io/github/stars/NCAR/icar?label=%20) | ![contributors](https://img.shields.io/github/contributors/NCAR/icar?label=%20) | | [json-fortran](https://github.com/jacobwilliams/json-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/json-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/json-fortran?label=%20) | | [kdtree2](https://github.com/jmhodges/kdtree2) | ![stars](https://img.shields.io/github/stars/jmhodges/kdtree2?label=%20) | ![contributors](https://img.shields.io/github/contributors/jmhodges/kdtree2?label=%20) | | [LaGriT](https://github.com/lanl/LaGriT) | ![stars](https://img.shields.io/github/stars/lanl/LaGriT?label=%20) | ![contributors](https://img.shields.io/github/contributors/lanl/LaGriT?label=%20) | | [LAPACK](https://github.com/Reference-LAPACK/lapack) | ![stars](https://img.shields.io/github/stars/Reference-LAPACK/lapack?label=%20) | ![contributors](https://img.shields.io/github/contributors/Reference-LAPACK/lapack?label=%20) | | [lesgo](https://github.com/lesgo-jhu/lesgo) | ![stars](https://img.shields.io/github/stars/lesgo-jhu/lesgo?label=%20) | ![contributors](https://img.shields.io/github/contributors/lesgo-jhu/lesgo?label=%20) | | [MODFLOW6](https://github.com/MODFLOW-USGS/modflow6) | ![stars](https://img.shields.io/github/stars/MODFLOW-USGS/modflow6?label=%20) | ![contributors](https://img.shields.io/github/contributors/MODFLOW-USGS/modflow6?label=%20) | | [MOM6](https://github.com/NOAA-GFDL/MOM6) | ![stars](https://img.shields.io/github/stars/NOAA-GFDL/MOM6?label=%20) | ![contributors](https://img.shields.io/github/contributors/NOAA-GFDL/MOM6?label=%20) | | [MPAS](https://github.com/MPAS-Dev/MPAS-Model) | ![stars](https://img.shields.io/github/stars/MPAS-Dev/MPAS-Model?label=%20) | ![contributors](https://img.shields.io/github/contributors/MPAS-Dev/MPAS-Model?label=%20) | | [NASTRAN-93](https://github.com/nasa/NASTRAN-93) | ![stars](https://img.shields.io/github/stars/nasa/NASTRAN-93?label=%20) | ![contributors](https://img.shields.io/github/contributors/nasa/NASTRAN-93?label=%20) | | [NASTRAN-95](https://github.com/nasa/NASTRAN-95) | ![stars](https://img.shields.io/github/stars/nasa/NASTRAN-95?label=%20) | ![contributors](https://img.shields.io/github/contributors/nasa/NASTRAN-95?label=%20) | | [Nek5000](https://github.com/Nek5000/Nek5000) | ![stars](https://img.shields.io/github/stars/Nek5000/Nek5000?label=%20) | ![contributors](https://img.shields.io/github/contributors/Nek5000/Nek5000?label=%20) | | [NetCDF-Fortran](https://github.com/Unidata/netcdf-fortran) | ![stars](https://img.shields.io/github/stars/Unidata/netcdf-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/Unidata/netcdf-fortran?label=%20) | | [neural-fortran](https://github.com/modern-fortran/neural-fortran) | ![stars](https://img.shields.io/github/stars/modern-fortran/neural-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/modern-fortran/neural-fortran?label=%20) | | [node-fortran](https://github.com/IonicaBizau/node-fortran) | ![stars](https://img.shields.io/github/stars/IonicaBizau/node-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/IonicaBizau/node-fortran?label=%20) | | [node.fortran](https://github.com/IonicaBizau/node.fortran) | ![stars](https://img.shields.io/github/stars/IonicaBizau/node.fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/IonicaBizau/node.fortran?label=%20) | | [numerical-methods-fortran](https://github.com/planelles20/numerical-methods-fortran) | ![stars](https://img.shields.io/github/stars/planelles20/numerical-methods-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/planelles20/numerical-methods-fortran?label=%20) | | [NWChem](https://github.com/nwchemgit/nwchem) | ![stars](https://img.shields.io/github/stars/nwchemgit/nwchem?label=%20) | ![contributors](https://img.shields.io/github/contributors/nwchemgit/nwchem?label=%20) | | [OFF](https://github.com/szaghi/OFF) | ![stars](https://img.shields.io/github/stars/szaghi/OFF?label=%20) | ![contributors](https://img.shields.io/github/contributors/szaghi/OFF?label=%20) | | [ogpf](https://github.com/kookma/ogpf) | ![stars](https://img.shields.io/github/stars/kookma/ogpf?label=%20) | ![contributors](https://img.shields.io/github/contributors/kookma/ogpf?label=%20) | | [OpenBLAS](https://github.com/xianyi/OpenBLAS) | ![stars](https://img.shields.io/github/stars/xianyi/OpenBLAS?label=%20) | ![contributors](https://img.shields.io/github/contributors/xianyi/OpenBLAS?label=%20) | | [OpenCMISS](https://github.com/OpenCMISS/cm) | ![stars](https://img.shields.io/github/stars/OpenCMISS/cm?label=%20) | ![contributors](https://img.shields.io/github/contributors/OpenCMISS/cm?label=%20) | | [OpenCoarrays](https://github.com/sourceryinstitute/OpenCoarrays) | ![stars](https://img.shields.io/github/stars/sourceryinstitute/OpenCoarrays?label=%20) | ![contributors](https://img.shields.io/github/contributors/sourceryinstitute/OpenCoarrays?label=%20) | | [OpenSWPC](https://github.com/tktmyd/OpenSWPC) | ![stars](https://img.shields.io/github/stars/tktmyd/OpenSWPC?label=%20) | ![contributors](https://img.shields.io/github/contributors/tktmyd/OpenSWPC?label=%20) | | [pFUnit](https://github.com/Goddard-Fortran-Ecosystem/pFUnit) | ![stars](https://img.shields.io/github/stars/Goddard-Fortran-Ecosystem/pFUnit?label=%20) | ![contributors](https://img.shields.io/github/contributors/Goddard-Fortran-Ecosystem/pFUnit?label=%20) | | [PIC Skeleton Codes](https://github.com/UCLA-Plasma-Simulation-Group/PIC-skeleton-codes) | ![stars](https://img.shields.io/github/stars/UCLA-Plasma-Simulation-Group/PIC-skeleton-codes?label=%20) | ![contributors](https://img.shields.io/github/contributors/UCLA-Plasma-Simulation-Group/PIC-skeleton-codes?label=%20) | | [PoisFFT](https://github.com/LadaF/PoisFFT) | ![stars](https://img.shields.io/github/stars/LadaF/PoisFFT?label=%20) | ![contributors](https://img.shields.io/github/contributors/LadaF/PoisFFT?label=%20) | | [pyplot-fortran](https://github.com/jacobwilliams/pyplot-fortran) | ![stars](https://img.shields.io/github/stars/jacobwilliams/pyplot-fortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/pyplot-fortran?label=%20) | | [Quantum ESPRESSO](https://github.com/QEF/q-e) | ![stars](https://img.shields.io/github/stars/QEF/q-e?label=%20) | ![contributors](https://img.shields.io/github/contributors/QEF/q-e?label=%20) | | [ROMS](https://github.com/kshedstrom/roms) | ![stars](https://img.shields.io/github/stars/kshedstrom/roms?label=%20) | ![contributors](https://img.shields.io/github/contributors/kshedstrom/roms?label=%20) | | [SciFortran](https://github.com/aamaricci/SciFortran) | ![stars](https://img.shields.io/github/stars/aamaricci/SciFortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/aamaricci/SciFortran?label=%20) | | [SHTOOLS](https://github.com/SHTOOLS/SHTOOLS) | ![stars](https://img.shields.io/github/stars/SHTOOLS/SHTOOLS?label=%20) | ![contributors](https://img.shields.io/github/contributors/SHTOOLS/SHTOOLS?label=%20) | | [sigma](https://github.com/danshapero/sigma) | ![stars](https://img.shields.io/github/stars/danshapero/sigma?label=%20) | ![contributors](https://img.shields.io/github/contributors/danshapero/sigma?label=%20) | | [slsqp](https://github.com/jacobwilliams/slsqp) | ![stars](https://img.shields.io/github/stars/jacobwilliams/slsqp?label=%20) | ![contributors](https://img.shields.io/github/contributors/jacobwilliams/slsqp?label=%20) | | [SNAP](https://github.com/lanl/SNAP) | ![stars](https://img.shields.io/github/stars/lanl/SNAP?label=%20) | ![contributors](https://img.shields.io/github/contributors/lanl/SNAP?label=%20) | | [specfem3d](https://github.com/geodynamics/specfem3d) | ![stars](https://img.shields.io/github/stars/geodynamics/specfem3d?label=%20) | ![contributors](https://img.shields.io/github/contributors/geodynamics/specfem3d?label=%20) | | [Starlink](https://github.com/Starlink/starlink) | ![stars](https://img.shields.io/github/stars/Starlink/starlink?label=%20) | ![contributors](https://img.shields.io/github/contributors/Starlink/starlink?label=%20) | | [stdlib](https://github.com/fortran-lang/stdlib) | ![stars](https://img.shields.io/github/stars/fortran-lang/stdlib?label=%20) | ![contributors](https://img.shields.io/github/contributors/fortran-lang/stdlib?label=%20) | | [StringiFor](https://github.com/szaghi/StringiFor) | ![stars](https://img.shields.io/github/stars/szaghi/StringiFor?label=%20) | ![contributors](https://img.shields.io/github/contributors/szaghi/StringiFor?label=%20) | | [tcp-client-server](https://github.com/modern-fortran/tcp-client-server) | ![stars](https://img.shields.io/github/stars/modern-fortran/tcp-client-server?label=%20) | ![contributors](https://img.shields.io/github/contributors/modern-fortran/tcp-client-server?label=%20) | | [TRACMASS](https://github.com/TRACMASS/tracmass) | ![stars](https://img.shields.io/github/stars/TRACMASS/tracmass?label=%20) | ![contributors](https://img.shields.io/github/contributors/TRACMASS/tracmass?label=%20) | | [Truchas](https://github.com/truchas/truchas) | ![stars](https://img.shields.io/github/stars/truchas/truchas?label=%20) | ![contributors](https://img.shields.io/github/contributors/truchas/truchas?label=%20) | | [tsunami](https://github.com/modern-fortran/tsunami) | ![stars](https://img.shields.io/github/stars/modern-fortran/tsunami?label=%20) | ![contributors](https://img.shields.io/github/contributors/modern-fortran/tsunami?label=%20) | | [VTKFortran](https://github.com/szaghi/VTKFortran) | ![stars](https://img.shields.io/github/stars/szaghi/VTKFortran?label=%20) | ![contributors](https://img.shields.io/github/contributors/szaghi/VTKFortran?label=%20) | | [WAVEWATCH III](https://github.com/NOAA-EMC/WW3) | ![stars](https://img.shields.io/github/stars/NOAA-EMC/WW3?label=%20) | ![contributors](https://img.shields.io/github/contributors/NOAA-EMC/WW3?label=%20) | | [WPS](https://github.com/wrf-model/WPS) | ![stars](https://img.shields.io/github/stars/wrf-model/WPS?label=%20) | ![contributors](https://img.shields.io/github/contributors/wrf-model/WPS?label=%20) | | [wrf_hydro_nwm_public](https://github.com/NCAR/wrf_hydro_nwm_public) | ![stars](https://img.shields.io/github/stars/NCAR/wrf_hydro_nwm_public?label=%20) | ![contributors](https://img.shields.io/github/contributors/NCAR/wrf_hydro_nwm_public?label=%20) | | [WRF](https://github.com/wrf-model/WRF) | ![stars](https://img.shields.io/github/stars/wrf-model/WRF?label=%20) | ![contributors](https://img.shields.io/github/contributors/wrf-model/WRF?label=%20) |
ivan-pi commented 3 years ago

I found one more large Fortran project: https://github.com/MITgcm/MITgcm (the MIT General Circulation Model, homepage: http://mitgcm.org/)

ivan-pi commented 3 years ago

@awvwgk: is it possible to sort the list by the number of stars?

ivan-pi commented 3 years ago

These projects are not meant as projects for transition to stdlib, but more as reference projects for us to learn how if Fortran used in real-life applications.

Speaking of real-life applications, I also found this huge list of programs from the Radiation Safety Information Computational Center: https://rsicc.ornl.gov/Catalog.aspx?c=CCC

I'm sure there are several other government agencies, where Fortran is(was) the go-to language ;)

awvwgk commented 3 years ago

Not without accessing the GH API directly, I'm currently cheating by using shields.io to access to GH API.

My suggestion would be to add all the packages from this list to the package index on fortran-lang and than we can figure out how to get this functionality into the package index.

certik commented 3 years ago

I don't want to maintain the list of projects at the wiki anymore. I want to port all of them to https://fortran-lang.org/packages/ and remove the wiki. We can implement sorting by stars at https://fortran-lang.org/packages/ or any other statistics that we need.

milancurcic commented 3 years ago

Closing in favor of https://fortran-lang.org/packages.