# Fortran code on GitHub by category

**URL:** <https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415>\
**Category:** Uncategorized\
**Created:** [June 22, 2021, 12:07pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415 "2021-06-22T12:07:04Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [June 22, 2021, 12:07pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/1 "2021-06-22T12:07:04Z")

</div>

I made a categorized list of [Fortran code on GitHub](https://github.com/Beliavsky/Fortran-code-on-GitHub/blob/main/README.md#computational-fluid-dynamics), gleaned from the [Fortran Wiki libraries](http://fortranwiki.org/fortran/show/Libraries) section and updated by [searching GitHub for recently updated Fortran code](https://github.com/search?o=desc&q=fortran&s=updated&type=Repositories). Fortran-lang has a [curated package list](https://fortran-lang.org/packages/), not all from GitHub. More categories will be created and populated. Here is the current classification, which gives an idea of what Fortran is currently used for:

## [Fortran code on GitHub](https://github.com/Beliavsky/Fortran-code-on-GitHub)

- [Biology and Medicine](https://github.com/Beliavsky/Fortran-code-on-GitHub#biology-and-medicine)
- [Climate and Weather](https://github.com/Beliavsky/Fortran-code-on-GitHub#climate-and-weather)
- [Code Tools](https://github.com/Beliavsky/Fortran-code-on-GitHub#code-tools)
- [Compiler Tests](https://github.com/Beliavsky/Fortran-code-on-GitHub#compiler-tests)
- [Computational Fluid Dynamics](https://github.com/Beliavsky/Fortran-code-on-GitHub#computational-fluid-dynamics)
- [Dates and Times](https://github.com/Beliavsky/Fortran-code-on-GitHub#dates-and-times)
- [Earth Science](https://github.com/Beliavsky/Fortran-code-on-GitHub#earth-science)
- [Economics](https://github.com/Beliavsky/Fortran-code-on-GitHub#economics)
- [Engineering](https://github.com/Beliavsky/Fortran-code-on-GitHub#engineering)
- [File I/O](https://github.com/Beliavsky/Fortran-code-on-GitHub#file-io)
- [Finite Elements](https://github.com/Beliavsky/Fortran-code-on-GitHub#finite-elements)
- [Graphics, plotting and user interfaces](https://github.com/Beliavsky/Fortran-code-on-GitHub#graphics-plotting-and-user-interfaces)
- [General Purpose](https://github.com/Beliavsky/Fortran-code-on-GitHub#general-purpose)
- [Interoperability](https://github.com/Beliavsky/Fortran-code-on-GitHub#interoperability)
- [Linear Algebra](https://github.com/Beliavsky/Fortran-code-on-GitHub#linear-algebra)
- [Materials Science](https://github.com/Beliavsky/Fortran-code-on-GitHub#materials-science)
- [Neural Networks and Machine Learning](https://github.com/Beliavsky/Fortran-code-on-GitHub#neural-networks-and-machine-learning)
- [Numerical](https://github.com/Beliavsky/Fortran-code-on-GitHub#numerical)
- [Optimization](https://github.com/Beliavsky/Fortran-code-on-GitHub#optimization)
- [Parallel Programing](https://github.com/Beliavsky/Fortran-code-on-GitHub#parallel-programming)
- [Physics](https://github.com/Beliavsky/Fortran-code-on-GitHub#physics)
- [Quantum Chemistry and Electronic Structure](https://github.com/Beliavsky/Fortran-code-on-GitHub#Quantum-Chemistry-and-Electronic-Structure)
- [Statistics](https://github.com/Beliavsky/Fortran-code-on-GitHub#Statistics)
- [Strings](https://github.com/Beliavsky/Fortran-code-on-GitHub#strings)
- [Time Series](https://github.com/Beliavsky/Fortran-code-on-GitHub#time-series)
- [Unclassified](https://github.com/Beliavsky/Fortran-code-on-GitHub#unclassified)

---

<div class="post-metadata">

**Author:** ![gardhor](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/gardhor/32/88_2.png) [@gardhor](https://fortran-lang.discourse.group/u/gardhor)\
**Post date:** [June 22, 2021, 8:09pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/2 "2021-06-22T20:09:35Z")

</div>

Excellent initiative.

I just want to propose a modification in one category: “Quantum Chemistry and Electronic Structure”.

From my point of view, “Quantum Chemistry” and “Electronic Structure” are almost synonym and “TROVE” and “duo” are not “Electronic Structure” codes. They deal with the quantum motion of the nuclei/atoms for spectroscopy.

I’m proposing to use “Computational Chemistry” instead, so that you can fit in this category “Molecular Modeling”, “Molecular dynamics”, “Quantum dynamics” and of course “Electronic Structure”.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [June 22, 2021, 9:16pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/3 "2021-06-22T21:16:53Z")

</div>

@Beliavsky thanks for starting this effort. How do you feel about contributing this list to the package index or have a separate package page at [fortran-lang.org](http://fortran-lang.org) to host this information?

I want to raise that there was a similar list of popular Fortran projects in the stdlib repository a while ago. It didn’t turned out that great when I tried to add the whole list to the package index later, because lots of the meta data for the projects was buried in long issue threads or not present at all and I basically had to reevaluate the entire project list again for categorizing and tagging. I know your rigor from the Fortran wiki, therefore I am not worried about the quality of the information you collected at all.

I certainly think this it would be a great addition to the [fortran-lang.org](http://fortran-lang.org) package index and your contributions would be more than welcome there.

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [June 22, 2021, 11:18pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/4 "2021-06-22T23:18:14Z")

</div>

> [@gardhor](#):
>
> Excellent initiative.
> 
> I just want to propose a modification in one category: “Quantum Chemistry and Electronic Structure”.
> 
> From my point of view, “Quantum Chemistry” and “Electronic Structure” are almost synonym and “TROVE” and “duo” are not “Electronic Structure” codes. They deal with the quantum motion of the nuclei/atoms for spectroscopy.
> 
> I’m proposing to use “Computational Chemistry” instead, so that you can fit in this category “Molecular Modeling”, “Molecular dynamics”, “Quantum dynamics” and of course “Electronic Structure”.

Thanks for the feedback. Should I create a Chemistry category (“computational” is implied for a directory of Fortran codes) and put TROVE and duo in that category?

R has about 18000 (!) [packages](https://cran.r-project.org/web/packages/available_packages_by_name.html) and [task views](https://cran.r-project.org/web/views/) curated by experts in various field who group the R packages into sub-categories, identify the most important ones, and explain what they do. It would be nice if Fortran had such a system, although reviewing the software of other people takes time.

---

<div class="post-metadata">

**Author:** ![certik](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/certik/32/4_2.png) [@certik](https://fortran-lang.discourse.group/u/certik)\
**Post date:** [June 23, 2021, 3:17am UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/5 "2021-06-23T03:17:10Z")

</div>

I think that we already have in some sense a curated set of packages at [Fortran Packages - Fortran Programming Language](https://fortran-lang.org/packages/). Once `fpm` registry has a nice webpage of packages, we can then link them somehow and perhaps provide even more curated list for each category — although perhaps a good “proxy” is to use github stars, or github contributors, or how many `fpm` projects depend on a given library, and sort the packages automatically based on that.

---

<div class="post-metadata">

**Author:** ![veryreverie](https://avatars.discourse-cdn.com/v4/letter/v/dc4da7/32.png) [@veryreverie](https://fortran-lang.discourse.group/u/veryreverie)\
**Post date:** [June 23, 2021, 8:12am UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/6 "2021-06-23T08:12:33Z")

</div>

> [@Beliavsky](#):
>
> Should I create a Chemistry category (“computational” is implied for a directory of Fortran codes) and put TROVE and duo in that category?

As a physicist I can just about tolerate working under the “computational chemistry” brand, but calling it “chemistry” is going a bit far. (I jest, of course…)

More seriously though, I think the “computational” in “computational chemistry” has a bit more meaning than just “chemistry on a computer”. It specifies that what you’re doing is simulating materials directly, as opposed to just using a computer to aid whatever else it is that chemists do.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [June 23, 2021, 9:36am UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/7 "2021-06-23T09:36:22Z")

</div>

> [@Beliavsky](#):
>
> updated by [searching GitHub for recently updated Fortran code](https://github.com/search?o=desc&q=fortran&s=updated&type=Repositories).

This search query might not be the best one. It only captures projects that have Fortran in the name or description, but not all projects really put the name of the language they are using in the description. It will of course show you tools that work with Fortran but are not written in Fortran, but you might miss plenty of actual Fortran projects.

Maybe try searching with an empty query for repositories using Fortran: [https://github.com/search?l=&p=2&q=stars%3A"\>+1"+language%3AFortran&ref=advsearch&type=Repositories](https://github.com/search?l=&p=2&q=stars%3A%22%3E+1%22+language%3AFortran&ref=advsearch&type=Repositories). You could also try to search for Fortran programmers with [https://github.com/search?q=followers%3A"\>+1"+repos%3A"\>+1"+language%3AFortran&type=Users](https://github.com/search?q=followers%3A%22%3E+1%22+repos%3A%22%3E+1%22+language%3AFortran&type=Users) and look around in their projects. I usually use the former query to check for Fortran projects on GitHub once a while and try to update the package index with those results.

I tried searching GitLab and Bitbucket as well, but the search interface there didn’t provide a good way to narrow down popular and active Fortran projects.

---

<div class="post-metadata">

**Author:** ![gardhor](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/gardhor/32/88_2.png) [@gardhor](https://fortran-lang.discourse.group/u/gardhor)\
**Post date:** [June 23, 2021, 8:46pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/8 "2021-06-23T20:46:25Z")

</div>

Yes a “Chemistry” category is fine. About “TROVE” and “duo”, those codes are in between Chemistry and Molecular Physics or Molecular spectroscopy. They can be in both category.

---

<div class="post-metadata">

**Author:** ![ivanpribec](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/ivanpribec/32/3290_2.png) [@ivanpribec](https://fortran-lang.discourse.group/u/ivanpribec)\
**Post date:** [June 29, 2021, 9:53pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/9 "2021-06-29T21:53:36Z")

</div>

In the Art and Music section you could also add [stringsim](https://gitlab.com/certik/stringsim/-/tree/26a0ad4612e3f2e1ac8d5e0eb42b96ae49e7b3e2). It is hosted on GitLab and not GitHub.

---

<div class="post-metadata">

**Author:** ![R\_cubed](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/r_cubed/32/263_2.png) [@R\_cubed](https://fortran-lang.discourse.group/u/R_cubed)\
**Post date:** [July 9, 2021, 3:45pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/10 "2021-07-09T15:45:12Z")

</div>

I found a similar attempt to collect some more general purpose Fortran code on github. There appears to be some duplication to the list above, but some other general purpose code libraries are also listed.

> **[rabbiabram/awesome-fortran](https://github.com/rabbiabram/awesome-fortran)**
>
> Awesome list of Fortran libs. Contribute to rabbiabram/awesome-fortran development by creating an account on GitHub.

A similar list exists for C++ and C. This is a reasonable place to look if someone wants to extend Fortran code with pre-existing C/C++ libraries.

> **[fffaraz/awesome-cpp](https://github.com/fffaraz/awesome-cpp)**
>
> A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. - fffaraz/awesome-cpp

> **[oz123/awesome-c](https://github.com/oz123/awesome-c)**
>
> A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there. - oz123/awesome-c

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [September 9, 2021, 3:18pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/11 "2021-09-09T15:18:58Z")

</div>

I have just found that site which is listing open source projects, apparently based on GitHub content:

> **[204+ Best Fortran Open Source Software Projects](https://opensourcelibs.com/libs/fortran)**
>
> Click to see the best open source fortran code project including an engine, API, generator, and tools.

We can see stdlib, fpm, LFortran, etc.

---

<div class="post-metadata">

**Author:** ![milancurcic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/milancurcic/32/2_2.png) [@milancurcic](https://fortran-lang.discourse.group/u/milancurcic)\
**Post date:** [September 9, 2021, 4:13pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/12 "2021-09-09T16:13:40Z")

</div>

Nice summary site, though unfortunately it seems like the GitHub data is not fetched and parsed on page load from the client, but loaded from an outdated DB. For example, stdlib now has 490 stars (reported 305), functional-fortran 330 (reported 289), etc.

If it were up-to-date, stdlib would surpass both Time2code and Cmakeconverter and appear #4 on this list.

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [September 9, 2021, 7:08pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/13 "2021-09-09T19:08:51Z")

</div>

Yes, and the “About” or “Terms” pages don’t say anything about the functioning of the site: I don’t know if their DB is just a snapshot at an unknown date, or if it will be updated regularly.  
If you click on a project, you just systematically read “🕒 Last Update a year ago”.

---

<div class="post-metadata">

**Author:** ![simong](https://avatars.discourse-cdn.com/v4/letter/s/df788c/32.png) [@simong](https://fortran-lang.discourse.group/u/simong)\
**Post date:** [September 9, 2021, 9:11pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/14 "2021-09-09T21:11:51Z")

</div>

It would be nice if my Fortran project on GitHub were to appear on someones list. I’m not expecting to make the top ten or even top 100 but it is Fortran and it is on GitHub - sigh.

---

<div class="post-metadata">

**Author:** ![certik](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/certik/32/4_2.png) [@certik](https://fortran-lang.discourse.group/u/certik)\
**Post date:** [September 9, 2021, 9:20pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/15 "2021-09-09T21:20:51Z")

</div>

@simong, can you send a link?

---

<div class="post-metadata">

**Author:** ![simong](https://avatars.discourse-cdn.com/v4/letter/s/df788c/32.png) [@simong](https://fortran-lang.discourse.group/u/simong)\
**Post date:** [September 10, 2021, 5:02pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/16 "2021-09-10T17:02:00Z")

</div>

[autodiff](https://github.com/sgeard/autodiff)

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [September 10, 2021, 5:18pm UTC](https://fortran-lang.discourse.group/t/fortran-code-on-github-by-category/1415/17 "2021-09-10T17:18:33Z")

</div>

> [@simong](#):
>
> [autodiff](https://github.com/sgeard/autodiff)

That is now added to my list. People can raise an issue on GitHub, post here, or message me to add an entry.
