-
Notifications
You must be signed in to change notification settings - Fork 182
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
List of popular open source Fortran projects #28
Comments
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. |
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) |
Here are mine:
|
I am moving this to a wiki so that we can all edit. Give me a second. |
I added a few more of mine (neural-fortran, tsunami, tcp-client-server). Awesome Fortran is a useful list. |
@marshallward, @jacobwilliams would you mind putting the codes you mentioned into the wiki please? |
@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. |
@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...) |
I couldn't see a way to edit the wiki, might need a permissions change? |
@marshallward try again, I made the wiki editable by any GitHub user. |
Thanks, working now. |
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. |
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:
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. |
Don't know if its still actively maintained but Fortranwiki (fortranwiki.org/fortran/show/HomePage) |
@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. |
I added over a dozen more projects, some of them heavy-hitters. Some comments:
|
@milancurcic thank you so much for adding more projects --- indeed some of them are doing well. This has been very helpful to get an overview how the opensource Fortran landscape looks like. |
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. |
Relevant article by Nick from few years back: https://medium.com/@mapmeld/fortran-culture-on-github-a257dd595061 |
(Edit: Both have been added to Wiki) Are these packages also candidates? |
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
<#28?email_source=notifications&email_token=AAAFAWGC3EJ6H7Z6BTS3MTLQZV3INA5CNFSM4J6CBZX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHOS2XY#issuecomment-568143199>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAFAWEF5CV65WQI7SILF3DQZV3INANCNFSM4J6CBZXQ>.
|
Yes! Nek5000, how could I've missed that! :) @ivan-pi Can you please add these to the wiki? |
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. |
@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. |
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...). |
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 Commonly used mathematical/statistical functions not current part of Fortran 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) Finally, sorting. |
@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 |
@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. |
I added |
Do you want non-github open-source fortran projects listed? |
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
<#28?email_source=notifications&email_token=AAAFAWE7WPLJMSIWAY2J6L3Q5H73RA5CNFSM4J6CBZX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWG7SQ#issuecomment-573337546>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAAFAWFJJJWZ6O7REBXX74DQ5H73RANCNFSM4J6CBZXQ>.
|
Yeah. The 30 stars on github is reasonable in a lot of ways, but some of those sites have been up 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 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 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 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. |
@urbanjost thanks for the info. Many of your things are of interest for |
@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. |
I found one more large Fortran project: https://github.com/MITgcm/MITgcm (the MIT General Circulation Model, homepage: http://mitgcm.org/) |
@awvwgk: is it possible to sort the list by the number of stars? |
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 ;) |
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. |
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. |
Closing in favor of https://fortran-lang.org/packages. |
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
The text was updated successfully, but these errors were encountered: