https://github.com/beliavsky/fortran-code-on-github
Directory of Fortran codes on GitHub, arranged by topic
https://github.com/beliavsky/fortran-code-on-github
cfd earth-science electronic-structure finite-elements fortran linear-algebra list machine-learning modern-fortran numerical-integration numerical-methods numerical-optimization nwp quantum-chemistry scientific-computing statistics
Last synced: 4 months ago
JSON representation
Directory of Fortran codes on GitHub, arranged by topic
- Host: GitHub
- URL: https://github.com/beliavsky/fortran-code-on-github
- Owner: Beliavsky
- License: unlicense
- Created: 2021-06-13T12:27:11.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-01-12T12:49:59.000Z (4 months ago)
- Last Synced: 2026-01-12T19:48:20.055Z (4 months ago)
- Topics: cfd, earth-science, electronic-structure, finite-elements, fortran, linear-algebra, list, machine-learning, modern-fortran, numerical-integration, numerical-methods, numerical-optimization, nwp, quantum-chemistry, scientific-computing, statistics
- Homepage: https://beliavsky.github.io/Fortran-code-on-GitHub/
- Size: 11 MB
- Stars: 370
- Watchers: 21
- Forks: 70
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Also see [fortran-lang package index](https://fortran-lang.org/packages/). Please suggest changes [here](https://github.com/Beliavsky/Fortran-code-on-GitHub/issues).
* [Art and Music](#art-and-music)
* [Automatic Differentiation](#automatic-differentiation)
* [Astronomy and Astrophysics](#astronomy-and-astrophysics)
* [Benchmarks and Benchmarking](#benchmarks-and-benchmarking)
* [Biology and Medicine](#biology-and-medicine)
* [Climate and Weather](#climate-and-weather)
* [Code Tools](#code-tools)
* [Compiler Tests](#compiler-tests)
* [Computational Chemistry](#computational-chemistry)
* [Computational Fluid Dynamics](#computational-fluid-dynamics)
* [Containers and Generic Programming](#containers-and-generic-programming)
* [Cryptography](#cryptography)
* [Databases](#databases)
* [Dates and Times](#dates-and-times)
* [Earth Science](#earth-science)
* [Economics](#economics)
* [Engineering](#engineering)
* [Error Handling](#error-handling)
* [Expression Parsers](#expression-parsers)
* [Fast Fourier Transform](#fast-fourier-transform)
* [File I/O](#file-io)
* [Finite Elements](#finite-elements)
* [Fortran Books and Tutorials](#fortran-books-and-tutorials)
* [Games and Puzzles](#games-and-puzzles)
* [Graphics, Plotting and User Interfaces](#graphics-plotting-and-user-interfaces)
* [General Purpose](#general-purpose)
* [Interoperability](#interoperability)
* [Interpolation](#interpolation)
* [Linear Algebra](#linear-algebra)
* [Materials Science](#materials-science)
* [Molecular Dynamics](#molecular-dynamics)
* [Mesh Generation](#mesh-generation)
* [Multiple Precision](#multiple-precision)
* [Neural Networks and Machine Learning](#neural-networks-and-machine-learning)
* [Nonlinear Equations](#nonlinear-equations)
* [Numerical Methods](#numerical-methods)
* [Numerical Integration (Quadrature)](#numerical-integration-quadrature)
* [Ordinary Differential Equations](#ordinary-differential-equations)
* [Optimization](#optimization)
* [Parallel Programming](#parallel-programming)
* [Partial Differential Equations](#partial-differential-equations)
* [Particle Physics](#particle-physics)
* [Physics](#physics)
* [Plasma Physics](#plasma-physics)
* [Random Number Generation](#random-number-generation)
* [Reactor Physics](#reactor-physics)
* [Regular Expressions](#regular-expressions)
* [Root Finding](#root-finding)
* [Quantum Chemistry and Electronic Structure](#Quantum-Chemistry-and-Electronic-Structure)
* [Sorting](#sorting)
* [Special Functions](#special-functions)
* [Statistics](#Statistics)
* [Strings](#strings)
* [Time Series](#time-series)
* [Unclassified](#unclassified)
* [Unit Testing](#unit-testing)
* [Web Programming](#web-programming)
* [XML](#xml)
## Art and Music
[Art1](https://github.com/ef1j/Art1): program written by Richard Williams in 1968. Its purpose was to give non-progammers access to an IBM System/360 Model 40 computer at the University of New Mexico in order to explore artistic and aesthetic uses of the machine.
[formidi](https://github.com/vmagnin/formidi): small Fortran MIDI sequencer for composing music and exploring algorithmic music, by Vincent Magnin
[forsynth](https://github.com/vmagnin/forsynth): small Fortran synthesizer to explore sound synthesis, sound effects, electronic music, algorithmic music, etc, by Vincent Magnin
[MUSICV](https://github.com/vlazzarini/MUSICV): Max Mathew's MUSIC V synthesis program, prepared by Bill Schottstaed for gfortran, with additions and fixes by Victor Lazzarini.
[MZ2SYNTH](https://github.com/frankenbeans/MZ2SYNTH): wavetable synthesizer by E. Lamprecht inspired by the ANS synthesizer built by Yevgeny Murzin
[TapTempo Fortran](https://github.com/vmagnin/TapTempo-Fortran): command line taptempo written in modern Fortran, by Vincent Magnin. Listen to a song and hit enter key with style and you'll get the corresponding number of beats per minute (BPM).
[Tonbandfetzen](https://github.com/janberges/Tonbandfetzen): collection of command-line tools to compose music based on audio fragments generated from plain text input, by Jan Berges
[uzura3](https://github.com/cure-honey/uzura3): mpeg audio layer 3 encoder written in Fortran 90/95 (mp3 encoder), by cure-honey. There is also [uzura1_fpm](https://github.com/cure-honey/uzura1_fpm) that works with the Fortran Package Manager.
[XenakisFreeStochasticMusicFortran](https://github.com/ThemosTsikas/XenakisFreeStochasticMusicFortran): working versions of a Xenakis FORTRAN program (Xenakis 1971 Formalized Music p 149)
## Astronomy and Astrophysics
[1-D-Supernova-shock-radius-evolution](https://github.com/lollocava00/1-D-Supernova-shock-radius-evolution): 1-D version of the [ZEUS 2-D CODE](https://www.astro.princeton.edu/~jstone/zeus.html) which solves hydrodynamic equations is applied to a SuperNova Remnant (SNR), by Lorenzo Cavazzini
[Adaptive Spherical Overdensity Halo Finder (ASOHF)](https://github.com/dvallesp/ASOHF): primarily designed to identify bound dark matter structures (dark matter haloes), as well as their stellar counterparts (galaxies) in the outputs of cosmological simulations. Associated paper: [The halo-finding problem revisited: a deep revision of the ASOHF code](https://www.aanda.org/articles/aa/full_html/2022/08/aa43712-22/aa43712-22.html), by David Vallés-Pérez, Susana Planelles, and Vicent Quilis, Astronomy&Astrophysics, 664 (2022).
[AI-based Reconstruction of the Geospace Unified System (ARGUS)](https://github.com/grantkstephens/ARGUS): an associated paper is [Global Empirical Picture of Magnetospheric Substorms Inferred From Multimission Magnetometer Data](https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2018JA025843), by G. K. Stephens et al., JGR Space Physics (2019)
[ALBUS_ionosphere](https://github.com/twillis449/ALBUS_ionosphere): determines the ionosphere total electron content (TEC) over any location on the Earth as a function of location and time, by Tony Willis. It then uses the TEC and a model of the Earth's magnetic field to compute the ionosphere's effect on the Faraday Rotion Measure (RM) observed for an astronomical radio source. The ionosphere's contribution to the RM can then be removed.
[aquila astrophotography package](https://github.com/gronki/aquila): small LRGB astrophotography reduction and processing package, by Dominik Gronkiewicz. The package consists of the programs aqstack for stacking and reduction of monochromatic CCD images and aqlrgb for compositing images from many filters into one color picture.
[ARTEMIS-P](https://github.com/maserlib/ARTEMIS-P): Anisotropic Ray Tracer for Electromagnetism in Magnetospheres, Ionospheres and Solar wind, including Polarisation, by Baptiste Cecconi and C. Baskevitch
[astro-api](https://github.com/FrankThomasTveter/astro-api): makes the astronomical calculations for yr.no, by Frank Thomas Tveter et al. The astro-api software uses the JPL ephemeride tables and the SOFA astronomical library, along with algorithms for quick and precise searches, to provide astronomical data on demand, such as sun/moon rise/set, twilight, polar day/night, moon phase, eclipse, solstice times.
[astro-fortran](https://github.com/jacobwilliams/astro-fortran): modern Fortran implementations of standard models used in fundamental astronomy, by Jacob Williams. It is a refactoring of [IAU SOFA](https://github.com/jacobwilliams/IAU_SOFA).
[Astrodynamics-Toolkit](https://github.com/LoayGouda/Astrodynamics-Toolkit): includes useful tools, functions, and methods to solve prominent orbital dynamics problems, by Loay Gouda. Also [initial-orbit-determination](https://github.com/LoayGouda/initial-orbit-determination) implementing the Double-R method for preliminary (initial) orbit determination using three sets of right-ascension and declination angles.
[astroTools](https://github.com/AstroFloyd/astroTools): command-line tools for astronomy and astrophysics, by AstroFloyd
[ATES-Code](https://github.com/AndreaCaldiroli/ATES-Code): ATES hydrodynamics code, by AndreaCaldiroli, computes the temperature, density, velocity and ionization fraction profiles of highly irradiated planetary atmospheres, along with the current, steady-state mass loss rate.
[Automatic Line Fitting Algorithm (ALFA)](https://github.com/rwesson/ALFA): identifies and fits hundreds of lines in emission line spectra in just a few seconds. It does this using a genetic algorithm to optimise the line parameters, by Roger Wesson
[BI-spectra and Non-Gaussianity Operator (BINGO)](https://github.com/dkhaz/bingo): numerically evaluates the scalar bi-spectrum and the non-Gaussianity parameter fNL in single field inflationary models involving the canonical scalar field, by dkhaz. The code is based on the Maldacena formalism to evaluate the bi-spectrum.
[CAMB](https://github.com/cmbant/CAMB): code for Anisotropies in the Microwave Background, by cmbant
[cleanest](https://github.com/nicocardiel/cleanest): semiautomatic removal of cosmic rays in astronomical images, by Nicolás Cardiel and Sergio Pascual
[code-ans-qnm-share](https://github.com/SYLau/code-ans-qnm-share): computes quasi-normal modes of anisotropic neutron stars, by Vincent Lau Shu Yan
[Commander](https://github.com/Cosmoglobe/Commander): optimal Monte-carlo Markov chAiN Driven EstimatoR which implements fast and efficient end-to-end CMB posterior exploration through Gibbs sampling, from Cosmoglobe
[Compact Object Synthesis and Monte Carlo Investigation Code (COSMIC)](https://github.com/COSMIC-PopSynth/COSMIC): rapid binary population synthesis suite with a special purpose of generating realistic compact binary populations. COSMIC can also be used to evolve binaries with BSE in a python environment.
[Complete History of Interaction-Powered Supernovae (CHIPS)](https://github.com/DTsuna/CHIPS): simulates the circumstellar matter and light curves of interaction-powered transients, by DTsuna et al. Coupling the MESA stellar evolution code and codes implemented by the authors, the user can obtain the circumstellar matter profile and light curves of the interaction-powered supernovae.
[ConFlow: Convective Flow Generator](https://github.com/predsci/ConFlow): computes a sequence of velocity maps for supergranule flows on the surface of the Sun, by R. M. Caplan and Raphael Attie. Such photospheric velocity fields are essential for developing and testing realistic flux transport models and the analysis techniques for observational data.
[Cosmology Object Oriented Package (COOP)](https://github.com/zqhuang/COOP): Reference: [Observational effects of a running Planck mass](https://arxiv.org/abs/1511.02808), by Zhiqi Huang
[CosmoSIS](https://cosmosis.readthedocs.io/en/latest/): cosmological parameter estimation code, by joezuntz et al. It is a framework for structuring cosmological parameter estimation with a focus on flexibility, re-usability, debugging, verifiability, and code sharing in the form of calculation modules.
[CUMC3D-Ver1.28](https://github.com/leon-astrophy/CUMC3D-Ver1.28): parallel code for high-energy astrophysical simulations, by Ho Sang (Leon) Chan et al. It includes basic MHD solvers and models for simulating accretion discs around supermassive black holes.
[cufQUMC](https://github.com/sideguchi/cufQUMC): CUDA Fortran version of QU-fitting with replica exchange MCMC method (parallel tempering), with a Python interface, by Shinsuke Ideguchi
[DAOPHOT-MCMC](https://github.com/skterry/daophot_mcmc): modified version of the subroutine NSTAR.F which implements a Markov chain Monte Carlo (MCMC) routine for fitting highly blended stellar positions and fluxes, by Sean Terry. This code is installed and implemented within the overall DAOPHOT-II structure.
[DarkLim](https://github.com/spice-herald/DarkLim): statistical tools for calculating dark matter exclusion limits and sensitivity estimates, from SPICE/HeRALD
[dasilva-invariants](https://github.com/ddasilva/dasilva-invariants): Python package with Fortran code to calculate the adiabiatic invariants K and L* from gridded models of Earth’s magnetic field, by Daniel da Silva and Scot Elkington
[D-NEAs](https://github.com/Fenu24/D-NEAs): Asteroid Thermal Inertia Analyzer (ASTERIA) software. An associated paper is [The low surface thermal inertia of the rapidly rotating near-Earth asteroid](https://www.aanda.org/articles/aa/abs/2023/07/aa46160-23), by M. Fenucci et al., Astronomy and Astrophysics (2023)
[dStar](https://github.com/nworbde/dStar): computing neutron star structure and evolution, by Edward Brown et al.
[DUMSES-hybrid](https://github.com/marcjoos-cea/dumses-hybrid): 3D MPI/OpenMP & MPI/OpenACC Eulerian second-order Godunov (magneto)hydrodynamic simulation code in cartesian, spherical and cylindrical coordinates, by Marc Joos
[DYnamics, Age and Metallicity Indicators Tracing Evolution (DYNAMITE)](https://github.com/dynamics-of-stellar-systems/dynamite): Schwarzschild- and stellar-population modelling of stellar systems
[ECLIPSE](https://github.com/CosmoTool/ECLIPSE): code for [paper](https://iopscience.iop.org/article/10.1088/1475-7516/2021/07/034) "ECLIPSE: a fast Quadratic Maximum Likelihood estimator for CMB intensity and polarization power spectra" (2021), by J.D. Bilbao-Ahedo et al.
[etfFinal](https://github.com/mgeshelley/etfFinal): Neutron star inner crust code, by mgeshelley
[evelchemevol](https://github.com/lukeshingles/evelchemevol): one-zone closed-box chemical evolution code written in Fortran with OpenMP, by lukeshingles
[exotrending](https://github.com/oscaribv/exotrending): fast and easy-to-use light curve detrending software for exoplanets, from oscaribv
[FastQSL](https://github.com/el2718/FastQSL): code associated with Zhang, P., Chen, J., Liu, R. and Wang, C., [FastQSL: A Fast Computation Method for Quasi-separatrix Layers](https://iopscience.iop.org/article/10.3847/1538-4357/ac8d61). The Astrophysical Journal, 2022, 937, 26
[fastSHT](https://github.com/liuhao-cn/fastSHT): code associated with the paper [Accelerating spherical harmonic transforms for a large number of sky maps](https://arxiv.org/abs/2208.10154), by Chi Tian, Siyu Li, and Hao Liu
[FEMlimb-Astrophysics](https://github.com/laya2020/FEMlimb-Astrophysics): algorithm described in the paper [Measuring limb darkening of stars in high-magnification microlensing events by the Finite Element Method](https://academic.oup.com/mnras/article-abstract/494/1/584/5809367), by L. Golchin and S. Rahvar, Monthly Notices of the Royal Astronomical Society (2020)
[FLRWSolver_public](https://github.com/hayleyjm/FLRWSolver_public): provides cosmological initial conditions for the Einstein Telescope. A related preprint is [Inhomogeneous Cosmology with Numerical Relativity](https://arxiv.org/abs/1611.05447) by Hayley J. Macpherson et al., (2017).
[FluxConserving](https://github.com/neutrinomuon/FluxConserving): Fortran code to compute the flux-density conservation, with a Python interface, by Jean Gomes
[Fortran-Astro](https://github.com/cengizyildirim-aerospace/Fortran-Astro): module for calculating [orbital elements](https://en.wikipedia.org/wiki/Orbital_elements), by Cengiz Yıldırım
[fortran-astrodynamics](https://github.com/Yuricst/fortran-astrodynamics): astrodynamics routines by Yuricst
[Fortran-Astrodynamics-Toolkit](https://github.com/jacobwilliams/Fortran-Astrodynamics-Toolkit): aims to be a comprehensive library, written in modern Fortran (Fortran 2003/2008), of all the standard orbital mechanics algorithms, by Jacob Williams
[fortranMR](https://github.com/jaiken17/fortranMR): library for reading output files generated by [MESA](https://github.com/MESAHub/mesa) (Modules for Experiments in Stellar Astrophysics), by Joshua Aiken. It extends [fortranDF](https://github.com/jaiken17/fortranDF) to read in files as a data frame.
[GaiaHub](https://github.com/AndresdPM/GaiaHub): Python/Fortran tool that computes proper motions combining data from Gaia and the Hubble Space Telescope, associated with paper [GaiaHub: A Method for Combining Data from the Gaia and Hubble Space Telescopes to Derive Improved Proper Motions for Faint Stars](https://ui.adsabs.harvard.edu/abs/2022ApJ...933...76D/abstract), by del Pino, Andrés et al., The Astrophysical Journal, Volume 933, Issue 1, id.76, 18 pp. (2022)
[galacticus](https://github.com/galacticusorg/galacticus): semi-analytic model of galaxy formation - a powerful toolkit for modeling the physics of how galaxies form
[GALAXEV-fortran](https://github.com/gbruzual/GALAXEV-fortran): Galaxy Spectral Evolution Library, by G. Bruzual and S. Charlot
[GAS gianT modeL for Interiors (GASTLI)](https://github.com/lorenaacuna/GASTLI): coupled interior-atmosphere model to unveil gas giant composition, by Lorena Acuña. It allows the computation of mass-radius curves, thermal evolution curves, and interior composition retrievals to fit a interior structure model to mass, radius, age, and if available, atmospheric metallicity data.
[GR1D](https://github.com/evanoconnor/GR1D): general relativistic, spherically symmetry, neutrino transport code for stellar collapse. Associated paper: [An Open-Source Neutrino Radiation Hydrodynamics Code for Core-Collapse Supernovae](https://iopscience.iop.org/article/10.1088/0067-0049/219/2/24), by Evan O'Connor, Astrophysical Journal Supplement Series, Volume 219, Number 2 (2015)
[GYRE Stellar Oscillation Code](https://github.com/rhdtownsend/gyre): Given an input stellar model, GYRE calculates the eigenfrequencies and eigenfunctions for the normal oscillation modes of the model, by rhdtownsend et al. These data can be put to a variety of uses; the most common is to compare them against observed oscillation frequencies of a star, allowing constraints on the star's fundamental parameters (mass, radius, etc.) to be established — the discipline of asteroseismology.
[halo](https://github.com/jacobwilliams/halo): orbit solver that can be used to generate long-duration Earth-Moon halo orbits in the ephemeris model. Reference: J. Williams et al., [Targeting Cislunar Near Rectilinear Halo Orbits for Human Space Exploration](https://www.researchgate.net/publication/322526659_Targeting_Cislunar_Near_Rectilinear_Halo_Orbits_for_Human_Space_Exploration), 27th AAS/AIAA Space Flight Mechanics Meeting, 2017
[hazel2](https://github.com/aasensio/hazel2): synthesis and inversion of Stokes profiles caused by the joint action of atomic level polarization and the Hanle and Zeeman effects, by aasensio
[High-performance Flux Transport (HipFT)](https://github.com/predsci/HipFT): computational core of the upcoming Open-source Flux Transport (OFT) software suite, from Predictive Science. OFT is a complete system for generating full-Sun magnetograms through acquiring & processing observational data, generating realistic convective flows, and running the flux transport model.
[HMcode](https://github.com/alexander-mead/HMcode): augmented halo model for accurate non-linear matter power spectrum calculations, by Alexander Mead and Tilman Troester.
[HORMONE](https://github.com/ryosuke-hirai/HORMONE): 3D grid-based Godunov-type magnetohydrodynamics code that uses the HLLD approximate Riemann solver, by Ryosuke Hirai et al. The main feature is the "hyperbolic self-gravity" solver, which enhances the computational cost for Newtonian self-gravity simulations by a significant margin.
[IMage COMbination (IMCOM)](https://github.com/barnabytprowe/imcom): software associated with [Optimal Linear Image Combination](https://iopscience.iop.org/article/10.1088/0004-637X/741/1/46), by Barnaby Rowe, Barnaby, Christopher and Jason Rhodes, The Astrophysical Journal, Volume 741, Issue 1, (2011).
[img2nc](https://github.com/ShinobuAmasaki/img2nc): converts planetary Digital Elevation Model (DEM) data into NetCDF, allowing one to draw a topographic map of the Moon, by ShinobuAmasaki.
[International Radiation Belt Environment Modeling (IRBEM) library](https://github.com/PRBEM/IRBEM): routines to compute magnetic coordinates for any location in the Earth's magnetic field, to perform coordinate conversions, to evaluate geophysics/space-physics models, and to propagate orbits in time.
[IONeq](https://github.com/efraingatuzz/IONeq): X-ray high-resolution photoabsorption model which compute the absorption coefficient assuming ionization equilibrium, associated with the paper [Probing the structure of the gas in the Milky Way through X-ray high-resolution spectroscopy](https://academic.oup.com/mnras/article/474/1/696/4569206), by Efraín Gatuzz and Eugene Churazov, Monthly Notices of the Royal Astronomical Society (2018)
[iso](https://github.com/aarondotter/iso): transforms MESA history files into a uniform basis for interpolation and then constructs new stellar evolution tracks and isochrones from that basis. An associated paper is [MESA Isochrones and Stellar Tracks (MIST) 0: Methods for the Construction of Stellar Isochrones](https://iopscience.iop.org/article/10.3847/0067-0049/222/1/8), by Aaron Dotter, The Astrophysical Journal Supplement Series (2016).
[JSPAM](https://github.com/jfwallin/JSPAM): software for simulating interacting galaxies using a restricted three-body approximation, in Fortran, Java, JavaScript, and Python, by aholinch and John Wallin
[Just Another Vehicle for Estimating Lags In Nuclei (JAVELIN)](https://github.com/nye17/javelin): version of the SPEAR algorithm written in Python to provide more flexibility in both functionality and visualization. One can use JAVELIN to model quasar variability using different covariance functions (Zu et al. 2013), and measure emission line lags using either spectroscopic light cruves (Zu et al. 2011) or photometric light curves (Zu et al. 2016).
[K2_Fortran_Modules](https://github.com/rootware/K2_Fortran_Modules): modules for space weather modelling by Shah Saad Alam, associated with paper [Simulation of radiation belt wave-particle interactions in an MHD-particle framework](https://www.frontiersin.org/articles/10.3389/fspas.2023.1239160/full), by Anthony A. Chan et al., Front. Astron. Space Sci. (2023)
[kcarta_gen](https://github.com/sergio66/kcarta_gen): fast, accurate, easy-to-use pseudo-monochromatic radiative transfer code, by sergio66
[kemimo](https://github.com/ssjensen92/kemimo): three-phase gas-grain astrochemical model, associated with the paper [Modeling chemistry during star formation: water deuteration in dynamic star-forming regions](https://www.aanda.org/articles/aa/full_html/2021/05/aa40196-20/aa40196-20.html), by S. S. Jensen et al., Astronomy & Astrophysics (2021)
[KiloNova Explosion Code (kNEC)](https://github.com/StevenWu1999/KNEC): simulates hydrodynamical evolution of BNS merger ejecta and the corresponding kilonova emission, by Zhenyu Wu. It is based on the SNEC code by Morozova et al., which is a Lagrangian radiation-hydrodynamics code for core-collapse supernova explosion.
[LAPS](https://github.com/chenshihelio/LAPS): UCLA-Pseudo-Spectral is a 3D MPI-parallelized Fourier-transform-based pseudo-spectral Hall-MHD code, with corotating-expanding-box-model implemented, by Chen Shi
[legolas](https://github.com/n-claes/legolas): modern tool for MHD spectroscopy, by n-claes
[libTheSky](https://github.com/MarcvdSluys/libTheSky): computes the positions and other properties of celestial bodies (Moon, planets, comets, asteroids, stars), events (e.g. lunar phases) and coordinate transformations, by Marc van der Sluys and AstroFloyd. It forms the core of the software that is used to create the Dutch popular-astronomy website http://hemel.waarnemen.com.
[madwave3](https://github.com/octavioroncero/madwave3): wave packet propagation program for reactive collisions and photodissociation of triatomic systems, by Octavio Roncero
[MAESTRO](https://github.com/AMReX-Astro/MAESTRO): solves the equations of low Mach number hydrodynamics for stratified atmospheres/stars with a general equation of state, from AMReX-Astro
[magnetizer](https://github.com/luizfelippesr/magnetizer): post-processes the output of a semi-analytic model of galaxy formation and produces a catalogue of galaxies with detailed radial dependent ISM properties, including magnetic fields, by luizfelippesr
[magmaps](https://github.com/glendama/magmaps): Generates magnification maps for extragalactic microlensing studies using the [Poisson and Inverse Polygon method](https://www.aanda.org/articles/aa/full_html/2021/09/aa40527-21/aa40527-21.html), by glendama. The code incorporates the presence of smoothly distributed matter, as well as two types of randomly distributed microlenses (stars and primordial black holes).
[Mars Subsurface Ice Model (MSIM)](https://github.com/nschorgh/MSIM): thermal and ice evolution models for Mars, by Norbert Schörghofer
[Mock AMR Sunyaev-Zeldovich Calculator (MASC)](https://github.com/oscarmonllor99/MASC): package associated with the paper [Imprints of the internal dynamics of galaxy clusters on the Sunyaev–Zeldovich effect](https://www.aanda.org/articles/aa/full_html/2024/06/aa48967-23/aa48967-23.html), by Óscar Monllor-Berbegal et al., Astronomy & Astrophysics (2024)
[MCGSuite](https://github.com/CIRADA-Tools/MCGSuite): set of codes designed to generate mock observations of tilted ring models, by Nate Deg and K. Spekkens. These mock observations mimic observations of axisymmetric HI gas disks.
[MCMax3D](https://github.com/michielmin/MCMax3D): Monte Carlo radiative transfer and disk modelling tool, described [here](https://www.exoclouds.com/Software/). It sets up a disk structure using physical processes or a parameterised structure.
[mercury](https://github.com/smirik/mercury): N-Body integrator based on Bulirsh-Stoer, Everhart and other methods, originally by John E. Chambers, that can integrate any star system, such as the Solar System
[MESA_custom_colours](https://github.com/nialljmiller/MESA_custom_colours): extension for the Modules for Experiments in Stellar Astrophysics (MESA) toolkit, designed to enable synthetic photometry calculations and provide additional stellar evolution diagnostics, by Niall J. Miller and M. Joyce
[MESSY](https://github.com/pau-amaro-seoane/MESSY): Hénon-style Monte-Carlo code to simulate spherical stellar clusters and galactic nuclei; i.e. Monte Carlo simulations for stellar dynamics, associated with the paper [Stellar Remnants in Galactic Nuclei: Mass Segregation](https://iopscience.iop.org/article/10.1086/506193), by Marc Freitag et al., Astrophysical Journal (2006)
[METhod of Interpolation for Single Star Evolution (METISSE)](https://github.com/TeamMETISSE/METISSE): code package designed for rapidly computing the evolution of a large number of stars by interpolating within a set of pre-computed evolutionary tracks. An associated paper is [Modelling stellar evolution in mass-transferring binaries and gravitational-wave progenitors with metisse](https://academic.oup.com/mnras/article/525/1/933/7235087), by Poojan Agrawal et al., Monthly Notices of the Royal Astronomical Society (2023).
[MGITM](https://github.com/dpawlows/MGITM): 3-D GCM of Mars atmosphere from the surface to 300 km aimed at solving for the dynamics of the upper atmosphere, by dpawlows
[MHD](https://github.com/JaimanP1/MHD): outputs both binary and vdc data to generate Magnetic Flux ropes in quadrupolar photosphere topologies for Coronal Mass Ejections, by Jaiman Parekh and Satoshi Inoue
[Microphysics](https://github.com/starkiller-astro/Microphysics): collection of astrophysical microphysics routines for stellar explosions, by Michael Zingale et al.
[Mini-chem](https://github.com/ELeeAstro/mini_chem): kinetic chemistry network solver primarily for gas giant atmospheric modelling, pared down from the large chemical networks, associated with paper [A mini-chemical scheme with net reactions for 3D general circulation models II. 3D thermochemical modelling of WASP-39b and HD 189733b](https://www.aanda.org/articles/aa/abs/2023/04/aa45473-22/aa45473-22.html), by Elspeth K. H. Lee, Shang-Min Tsai, Mark Hammond, and Xianyu Tan, Volume 672 (2023) Astronomy&Astrophysics, 672 (2023) A110
[Modules for Experiments in Stellar Astrophysics (MESA)](https://github.com/MESAHub/mesa): allow users to run experiments in stellar evolution. Stellar evolution calculations (i.e., stellar evolution tracks and detailed information about the evolution of internal and global properties) are a basic tool that enable a broad range of research in astrophysics.
[Molecular atmospheric Absorption with Rapid and Flexible Analysis (MARFA)](https://github.com/Razumovskyy/MARFA): tool designed to calculate volume absorption coefficients or monochromatic absorption cross-sections using initial spectroscopic data from spectral databases and atmospheric data from an external file, by Mikhail Razumovskiy
[MoonSun](https://github.com/AminKH/MoonSun): routines for computing Sun and Moon position in observer's sky, by Amin KHiabani. Also [Legendre-Polynomials](https://github.com/AminKH/Legendre-Polynomials) for Legendre fuctions and polynomials in physical geodesy and [SunDials](https://github.com/AminKH/SunDials), a program to create a table of coordinates (x,y) of shadow tip of gnomon, on sundial surface.
[msg](https://github.com/rhdtownsend/msg): Multidimensional Spectral Grids -- project for evaluating radiant properties of stellar atmospheres by rhdtownsend
[Multi-channel Image Reconstruction, Image Analysis, and Display (MIRIAD)](https://github.com/astroumd/miriad): radio interferometry data-reduction package, designed for taking raw data through to the image analysis stage, by Bob Sault et al.
[NASA Ames Mars Global Climate Model (AmesGCM)](https://github.com/nasa/AmesGCM): simulates the atmosphere and climate of the planet Mars using an external finite volume dynamical core to predict the global atmospheric state given various planetary parameters and physical parameters.
[NASA Ames Legacy Mars Global Climate Model](https://github.com/nasa/legacy-mars-global-climate-model): uses a modified version of the ARIES/GEOS dynamical core coupled with a set of Mars physics packages to simulate the martian climate.
[Naval Observatory Vector Astrometry Software (NOVAS)](https://github.com/jacobwilliams/NOVAS): integrated package of routines for computing various commonly needed quantities in positional astronomy, refactored by Jacob Williams. The package can provide, in one or two subroutine or function calls, the instantaneous coordinates of any star or planet in a variety of coordinate systems.
[Nbody6++GPU - Beijing version](https://github.com/nbody6ppgpu/Nbody6PPGPU-beijing): N-body star cluster simulation code, by Rainer Spurzem and team. It is an offspring of Sverre Aarseth's direct N-body [codes](http://www.sverre.com/).
[NEAT](https://github.com/rwesson/NEAT): calculates chemical abundances in photoionised nebulae, by Roger Wesson et al. It can propagate uncertainties and compensate for measurement biases affecting weak lines.
[NormalModes](https://github.com/js1019/NormalModes): applies a combination of several highly parallel algorithms to compute the planetary interior normal modes, by js1019
[NPI Ephemeris Propagation Tool with Uncertainty Extrapolation (NEPTUNE)](https://github.com/Space-Systems/neptune): state-of-the-art numerical orbit propagator, from Space-Systems. It allows the extrapolation of a state vector and the associated uncertainty forward and backward in time.
[NuLib](https://github.com/evanoconnor/NuLib): provides a basic standard set of neutrino matter interaction routines that can be readily incorporated in radiation-hydrodynamics codes for physics benchmarking, by Evan O'Connor et al.
[OrbFit](https://github.com/Fenu24/OrbFit): this version of the OrbFit package, by Marco Fenucci, contains a modified version of the orbit9 integrator. The integrator has been modified to integrate the spin axis dynamics of small asteroids, due to the Yarkovsky–O'Keefe–Radzievskii–Paddack (YORP) effect.
[oorb](https://github.com/oorb/oorb): contains the statistical orbital ranging method (hereafter referred to as Ranging). Ranging is used to solve the orbital inverse problem of computing non-Gaussian orbital-element probability density functions based on input astrometry.
[Optab](https://github.com/nombac/optab): computes opacity based on user-provided chemical equilibrium abundances, and outputs mean opacities as well as monochromatic opacities, by Shigenobu Hirose. Consequently, one can have opacity tables consistent with one's equation of state.
[optool](https://github.com/cdominik/optool): computes complex dust particle opacities from the command line, by Carsten Dominik and Ryo Tazaki. It is derived from Michiel Min’s DHS [OpacityTool](https://dianaproject.wp.st-andrews.ac.uk/data-results-downloads/fortran-package/) and also implements Ryo Tazaki’s MMF theory for highly porous aggregates.
[phantom](https://github.com/danieljprice/phantom): 3D Smoothed Particle Hydrodynamics and Magnetohydrodynamics code for astrophysics, by Daniel Price and others
[PhotochemPy](https://github.com/Nicholaswogan/PhotochemPy): photochemical model of rocky planet's atmospheres, by Nicholaswogan. Given inputs, like the stellar UV flux, the atmospheric temperature structure, etc., this code will find the steady-state chemical composition of an atmosphere, or evolve atmospheres through time. [Photochem](https://github.com/Nicholaswogan/photochem) is a rewrite in modern Fortran.
[PIERNIK](https://github.com/piernik-dev/piernik): grid-based MHD code using conservative numerical schemes: relaxing TVD scheme (Pen et al., 2003; Trac & Pen, 2003) and the recently implemented HLLD approximate Riemann MHD solver (Miyoshi & Kusano, 2005) combined with the Dedner et al. (2002) divergence cleaning algorithm.
[Planetary Code Collection](https://github.com/nschorgh/Planetary-Code-Collection): Thermal and Ice Evolution Models for Planetary Surfaces, by Norbert Schorghofer
[POT3D: High Performance Potential Field Solver](https://github.com/predsci/POT3D): computes potential field solutions to approximate the solar coronal magnetic field using observed photospheric magnetic fields as a boundary condition. A version of POT3D that includes GPU-acceleration with both MPI+OpenACC and MPI+OpenMP was released as part of the Standard Performance Evaluation Corporation's (SPEC) beta version of the SPEChpc(TM) 2021 benchmark suites.
[pycalc11](https://github.com/aelanman/pycalc11): Python interface by Adam Lanman for running the CALC delay modeling tool, written in Fortran, by providing parameters as astropy objects. CALC aims to compute VLBI baseline delays to picosecond precision by incorporating general relativistic deflection from the Sun, Earth, and other planets, solid Earth and ocean tide loading, and atmospheric contributions
[PyJKTEBOP](https://github.com/nmiller95/pyjktebop): Python interface by Nikki Miller for the Fortran code [JKTEBOP](https://www.astro.keele.ac.uk/jkt/codes/jktebop.html) for analyzing light and velocity curves of detached eclipsing binaries and transiting planets, by John Southworth
[pymoog](https://github.com/MingjieJian/pymoog): Python 3 wrapper for running the LTE spectrum synthesis part of the Fortran code [MOOG](https://www.as.utexas.edu/~chris/moog.html) by Chris Sneden
[python-fsps](https://github.com/dfm/python-fsps): Python bindings to Charlie Conroy's Flexible Stellar Population Synthesis (FSPS) Fortran code
[radbelt](https://github.com/jacobwilliams/radbelt): AE-8/AP-8 Van Allen belt model, describing the differential or integral, omnidirectional fluxes of electrons (AE-8) and protons (AP-8) in the inner and outer radiation belts, by Jacob Williams
[RADMC-3D Version 2.0](https://github.com/dullemond/radmc3d-2.0): computes the observational appearance of an astrophysical object on the sky of the observer, by dullemond. It solves the non-local radiative transfer problem of dusty media, including thermal radiative transport and scattering.
[radtrancode](https://github.com/nemesiscode/radtrancode): radiative transfer calculations and retrievals, originally written in Oxford University.
[ramses](https://github.com/ALaDyn/ramses): models astrophysical systems, featuring self-gravitating, magnetised, compressible, radiative fluid flows. It is based on the Adaptive Mesh Refinement (AMR) technique on a fully-threaded graded octree.
[riaf-sed](https://github.com/rsnemmen/riaf-sed): computes spectral energy distributions of radiatively inefficient accretion flows (RIAFs) around black holes, by rsnemmen
[Saturn-Mag-Model](https://github.com/NASA-Planetary-Science/Saturn-Mag-Model): Saturnian magnetospheric empirical magnetic field model derived from [Cassini magnetometer](https://science.nasa.gov/mission/cassini/spacecraft/cassini-orbiter/magnetometer/) data
[semianalyticResonance](https://github.com/NicolasPan/semianalyticResonance): Python class by Nicolas Pan providing resonance information using semianalytic methods coded in Fortran and developed in the paper [Semianalytical model for planetary resonances. Application to planets around single and binary stars](https://www.aanda.org/articles/aa/pdf/2021/02/aa39764-20.pdf) by Tabaré Gallardo et al., Astronomy & Astrophysics (2021)
[shark](https://github.com/ulebreui/shark): code associated with [Protostellar collapse simulations in spherical geometry with dust coagulation and fragmentation](https://academic.oup.com/mnras/article-abstract/518/3/3326/6815728) (2023), by Ugo Lebreuilly, Valentin Vallucci-Goy, Vincent Guillet, Maxime Lombart, and Pierre Marchand, Monthly Notices of the Royal Astronomical Society, Volume 518, Issue 3, Pages 3326–3343
[SMERCURY-T](https://github.com/SMKreyche/SMERCURY-T): upgrade of the SMERCURY orbital integrator that includes modules to enable the solar tidal spin torque as well as the general relativistic force, by Steven M. Kreyche
[Space geodesy data analysis software suite (SGDASS)](https://github.com/nasa/sgdass): collection of software programs with the primary goal of support of analysis of very long baseline interferometry (VLBI) observations, by Leonid Petrov et al.
[spacepy](https://github.com/spacepy/spacepy): Space Science library for Python, calling Fortran code - contains superposed epoch classes, drift shell tracing, access to magnetic field models, streamline tracing, bootstrap confidence limits, time and coordinate conversions, etc.
[SpectralBreaks](https://github.com/GammaRayBurstAfterglow/SpectralBreaks): models the shape of spectral breaks in gamma ray burst afterglows, by Damien Koon et al.
[SpectralRadex](https://github.com/uclchem/SpectralRadex): Python library for spectral modelling and RADEX, by Jon Holdship et al. SpectralRadex uses F2PY to compile a version of RADEX written in modern Fortran, most importantly dropping the use of common blocks. As a result, running a RADEX model creates no subprocesses and can be parallelized.
[spiralssched](https://github.com/lucasjord/spiralssched): schedules for the Southern Hemisphere Parallax Interferometric Radio Astrometry Legacy Project (SPiRALS) experiment series, including trigonometric parallax observations, test observations, compactness observations and 3D distance observations, by Lucas Hyland and Gabor Orosz
[splash](https://github.com/danieljprice/splash): visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations in one, two and three dimensions, developed mainly for astrophysics, by Daniel Price
[squishyplanet](https://github.com/ben-cassese/squishyplanet): package for modeling non-spherical exoplanets, by Ben Cassese et al, [published](https://joss.theoj.org/papers/10.21105/joss.06972) in the Journal of Open Source Software (2024)
[Starlib: Thermonuclear Rate Library](https://github.com/Starlib/Rate-Library): library of thermonuclear reaction and laboratory weak interaction rates. It can be used for studies of stellar models and nucleosynthesis.
[starlink](https://github.com/Starlink/starlink): astronomical data processing
[STARS](https://github.com/UoA-Stars-And-Supernovae/STARS): Aotearoa STARS code of the Jan Eldridge research group, forked from the original stellar evolution code of Peter Eggleton
[starsmasher](https://github.com/jalombar/starsmasher): smoothed particle hydrodynamics code for smashing stars (and planets), by jalombar
[stochastic-parker](https://github.com/xiaocanli/stochastic-parker): solves the Parker’s transport equation (and its extensions) using the stochastic method. Associated paper: [Modeling Electron Acceleration and Transport in the Early Impulsive Phase of the 2017 September 10th Solar Flare](https://iopscience.iop.org/article/10.3847/1538-4357/ac6efe), by Xiaocan Li, Fan Guo, Bin Chen, and Chengcai Shen, and Lindsay Glesener, The Astrophysical Journal Jun 2022
[swiftest](https://github.com/carlislewishard/swiftest): n-body Integrator for gravitational systems, by Carlisle Wishard et al. It contains the Wisdom-Holman Mapping (WHM), Regularized Mixed Variable Symplectic (RMVS), Democratic Heliocentric (HELIO), and Symplectic Massive Body Algorithm (SyMBA) numerical integrators.
[swiftest](https://github.com/MintonGroup/swiftest): models the long-term dynamical dynamics of n-body systems with a dominant central body, like the solar system, by David Minton et al. It is a re-write of the [Swifter](https://www.boulder.swri.edu/swifter/) software package that incorporates modern programming techniques and performance improvements.
[SWMF](https://github.com/SWMFsoftware/SWMF): Space Weather Modeling Framework is a software framework that provides a common operating environment for the various modeling components included. Each of the components models particular aspects of space weather (sun, heliosphere, magnetosphere, etc) and the various commands allow you to control how those models run and interact with each other.
[synow](https://github.com/eabaron/synow): embodiment of the [Elementary Supernova Framework](https://www.physics.unlv.edu/~jeffery/astro/radtran/jerus.pdf) as developed by David Branch and David Jeffery, by Adam Fisher et al.
[Toolkit for High-ORder Neutrino Radiation Hydrodynamics (thornado)](https://github.com/endeve/thornado): neutrino radiation-hydrodynamics code aiming to simulate core-collapse supernovae using discontinuous Galerkin methods, by Eirik Endeve et al.
[TRECS](https://github.com/abonaldi/TRECS): code to produce radio sources catalogs with user-defined frequencies, area and depth, associated with the paper [The Tiered Radio Extragalactic Continuum Simulation (T-RECS)](https://academic.oup.com/mnras/article/482/1/2/5108200), by Anna Bonaldi et al., Monthly Notices of the Royal Astronomical Society (2019)
[Triple stellar evolution (TSE)](https://github.com/stegmaja/TSE): single stellar evolution and binary interactions are modelled in Python using the binary population synthesis Fortran code [MOBSE](https://mobse-webpage.netlify.app/). An associated paper is [Evolution of massive stellar triples and implications for compact object binary formation](https://academic.oup.com/mnras/article/516/1/1406/6680250), by Jakob Stegmann et al., Monthly Notices of the Royal Astronomical Society (2022).
[TRIPTYCH](https://github.com/pau-amaro-seoane/triptych): simulates the collision of two stars, including the orbital trajectories, merger, and evolution of the merger product, by Pau Amaro Seoane and James C. Lombardi Jr. The code therefore joins three branches of stellar astrophysics: dynamics, hydrodynamics and evolution.
[Turbospectrum_NLTE](https://github.com/bertrandplez/Turbospectrum_NLTE): synthetic stellar spectra calculator in local/non-local thermodynamic equilibirum (LTE/NLTE), by Bertrand Plez et al.
[tycho](https://github.com/aerhianna/tycho): hydrodynamics/evolution code and suite of analysis programs. An associated paper is [TYCHO: Stellar evolution code](2013), by D. Arnett
[UCLCHEM](https://github.com/uclchem/UCLCHEM): gas-grain chemical code for Astrochemistry
[universe-age](https://github.com/shu-yusa/universe-age): calculate the age of the universe for various parameters by integrating Friedmann Equation, by shu-yusa
[vkompth](https://github.com/candebellavita/vkompth): code associated with paper [vKompth: a variable Comptonization model for low-frequency quasi-periodic oscillations in black hole X-ray binaries](https://academic.oup.com/mnras/article/515/2/2099/6649330), by Candela Bellavita et al., Monthly Notices of the Royal Astronomical Society (2022)
[weaklib](https://github.com/starkiller-astro/weaklib): code library for astrophysical applications, from starkiller-astro. It provides preprocessed equation of state (EoS) and neutrino opacity tables for use in neutrino transport calculations.
[White Dwarf Evolution Code (WDEC)](https://github.com/kim554/wdec): code associated with paper [WDEC: A Code for Modeling White Dwarf Structure and Pulsations](https://iopscience.iop.org/article/10.3847/1538-3881/aab70e) (2018), by Agnès Bischoff-Kim and Michael H. Montgomery
[WinNet](https://github.com/nuc-astro/WinNet): single zone nuclear reaction network, capable of calculating many different nucleosynthesis processes (i.e., r-process, nup-process, explosive nucleosynthesis, and many more), associated with paper [The Nuclear Reaction Network WinNet](https://iopscience.iop.org/article/10.3847/1538-4365/acf033), by M. Reichert et al., Astrophysical Journal (2023)
[XNet](https://github.com/starkiller-astro/XNet): thermonuclear reaction network for astrophysical applications, using a variety of temporal integration techniques, from starkiller-astro. It is written in portable modern Fortran and makes use of a variety of matrix solving packages to obtain excellent speed (as much as 50% of peak) on as many platforms as possible.
[xnirspec](https://github.com/nicocardiel/xnirspec): program to visualise and manipulate FITS images, by Nicolás Cardiel, originally written to reduce
spectroscopic data obtained with near-infrared spectrograph NIRSPEC, installed in one of the Keck Telescopes (Hawaii)
[Yet Another Particle Simulation (YAPS)](https://github.com/Daniel-Harrington/YAPS): high-performance astrophysics simulation modeling black hole migration resulting from the merger of a large host galaxy with a smaller galaxy, by Daniel Harrington et al. The simulation uses CUDA acceleration and Fourier transforms to compute gravitational interactions between 100 million particles, including two supermassive black holes (SMBHs).
## Automatic Differentiation
[AD_dnSVM](https://github.com/lauvergn/AD_dnSVM): Fortran Automatic Differentiation tool using forward mode for scalars (S), Vectors (V) and Matrices (M), by David Lauvergnat. It has no limit in terms of the number of independent variables (this number is defined at runtime) and can compute up to third derivatives.
[adjac](https://github.com/pv/adjac): automatic differentiation for generating sparse Jacobians, using Fortran 95 and operator overloading, by Pauli Virtanen
[Audito](https://github.com/Michel-Heinz/Audito): automatic differentiation tool for Fortran, by Michel V. Heinz. The mathematical operators have been overloaded to work with the newly defined types, which include not only the function value, but also the gradient, Hessian and Laplacian.
[autodiff](https://github.com/sgeard/autodiff): automatic differentiation for up to 4th derivatives, by Simon Geard
[Auto-Diff](https://github.com/zoziha/Auto-Diff): implementation in Modern Fortran of backward mode automatic differentiation, by zoziha
[Dual Number Automatic Differentiation (DNAD)](https://github.com/joddlehod/dnad): update of code from Yu, W. and Blair, M.: "DNAD, a Simple Tool for Automatic Differentiation of Fortran Codes Using Dual Numbers," Computer Physics Communications, vol. 184, 2013, pp. 1446-1452, by oddlehod. Related project: [Fortran_DNAD](https://github.com/nickbrady/Fortran_DNAD)
[Dual Numbers for Arbitrary Order Automatic Differentiation (DNAOAD)](https://github.com/fpenunuri/DNAOAD): implementation of automatic differentiation capable of handling derivatives of arbitrary order using dual numbers, by F. Peñuñuri et al. This implementation employs a direct approach to represent dual numbers without relying on recursive or nested structures, with associated preprint [here](https://arxiv.org/abs/2501.04159).
[fazang](https://github.com/yizhang-yiz/fazang): library for reverse-mode automatic differentiation, inspired by Stan/Math library, by Yi Zhang
[forwarddiff](https://github.com/Nicholaswogan/forwarddiff): allows for the computation for derivatives, gradients and Jacobians of Fortran subroutines or functions using forward mode automatic differentiation (AD), by Nicholas Wogan, inspired by [DNAD](https://github.com/joddlehod/dnad) and [ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl)
[m_ad](https://github.com/octoflar/m_ad): collection of matrix derivative tests for forward and reverse mode algorithmic differentiation, by R. Quast. Associated paper: Giles, M. (2008) [Collected matrix derivative results for forward and reverse mode algorithmic differentiation](https://link.springer.com/chapter/10.1007/978-3-540-68942-3_4), Advances in Automatic Differentiation pp 35–44
## Benchmarks and Benchmarking
[Assessment of Programming Languages for Computational Numerical Dynamics](https://github.com/arturofburgos/Assessment-of-Programming-Languages-for-Computational-Numerical-Dynamics): compares different programming languages performance in order to solve CFD and Heat Transfer problems, by arturofburgos
[Bandwidth Benchmark (Fortran version)](https://github.com/RRZE-HPC/TheBandwidthBenchmark-F90): collection of simple streaming kernels for teaching purposes, from RRZE-HPC. It is heavily inspired by John McCalpin's [STREAM](https://www.cs.virginia.edu/stream/).
[Basic Comparison of Various Computing Languages: Python, Julia, Matlab, IDL, R, Java, Scala, C, Fortran](https://github.com/JulesKouatchou/basic_language_comparison) by Jules Kouatchou and Alexander Medema
[bench_density_gradient_wfn](https://github.com/zyth0s/bench_density_gradient_wfn): analyze the performance of evaluating the density gradient with various language implementations (C++/Fortran/Rust/Julia), by zyth0s
[benchio](https://github.com/davidhenty/benchio): simple Fortran parallel IO benchmark for teaching and benchmarking purposes, by David Henty
[Benchmark.f](https://github.com/davidpfister/benchmark.f): KISS library for benchmarking functions and subroutines with precision, by David Pfister
[benchmarks](https://github.com/HPCL/benchmarks): high performance computing benchmarks and associated performance analysis workflows, from HPCL
[Comparison of Programming Languages in Economics](https://github.com/jesusfv/Comparison-Programming-Languages-Economics): code referenced in the paper "A Comparison of Programming Languages in Economics" by S. Borağan Aruoba and Jesús Fernández-Villaverde
[Compiler-benchmark-suites](https://github.com/quepas/Compiler-benchmark-suites): list of benchmark suites (and some loose kernels) in C and Fortran used in the research related to compilers, program performance, scientific computations etc.
[cumsum_benchmark](https://github.com/ivan-pi/cumsum_benchmark): benchmarks for the cumulative sum of an array, in Fortran, C++, Matlab, and Python, using various methods
[ForBenchmark](https://github.com/gha3mi/forbenchmark): a Fortran library for benchmarking (with support for coarrays). There are [dot_product](https://github.com/gha3mi/forbenchmark/tree/main/benchmarks/dot) benchmark results, by Seyed Ali Ghasemi
[Fortran Coarray Micro-Benchmark Suite (cafbench)](https://github.com/davidhenty/cafbench): set of benchmarks to measure the performance of various parallel operations involving Fortran coarrays, by David Henty. These include point-to-point ("ping-pong") data transfer patterns, synchronisation patterns and halo-swapping for 3D arrays.
[fortran-math-tests](https://github.com/lyuwen/fortran-math-tests): test programs for Fortran math libraries, by L. Fu
[fortran-speed](https://github.com/alex-robinson/fortran-speed): compares speed of looping over individual arrays of variables with multiple dimensions to looping over arrays of derived types, where e.g., the last dimension is contained within the derived type, by Alex Robinson
[Fortran-Stencil-Microbenchmarks](https://github.com/CogGrinder/Fortran-Stencil-Microbenchmarks): assesses the performance of different memory-bound finite difference kernels, by Vincent Meduski and Hugo Brunie. Compares the results using different hardware and software variables for use as machine-specific best practices.
[Himeno Benchmark in Modern Fortran](https://github.com/degawa/Himeno-Benchmark-in-Modern-Fortran): [Himeno benchmark](https://i.riken.jp/en/supercom/documents/himenobmt/) to evaluate performance of incompressible fluid analysis code, written in Modern Fortran style, achieving almost the same execution performance as the original version, by Tomohiro Degawa. In this program, global variables are eliminated, and some variable names and subroutine names are refactored.
[hpc-medley](https://github.com/moutai/hpc-medley): two publicly available hpc benchmarks: NPB (NAS) and the HPL part of the HPCC challenge. It is used to determine the performance of clustered computing resources.
[Julia, Matlab, Octave, and Fortran FEM Benchmark and Comparison](https://github.com/rdeits/julia-matlab-fortran-fem-benchmark): Benchmark and comparison of Julia, Matlab, Octave, and Fortran for a 2D Poisson problem solved on a unit square, by rdeits. The problem is discretized with Q1 bilinear Lagrange finite elements.
[julia-numpy-fortran-test](https://github.com/mdmaas/julia-numpy-fortran-test): comparing Julia vs Numpy vs Fortran for performance and code simplicity, by mdmaas
[julia-pde-benchmark](https://github.com/johnfgibson/julia-pde-benchmark): benchmarks a very simple numerical integration algorithm for a 1d nonlinear partial differential equation (PDE) in Julia, Python, Matlab, C++, C, and Fortran, by John F. Gibson and Frank Otto. Results include execution time versus size of discretized system, and execution time versus lines of code.
[Julia Syntax: Comparison with Fortran](https://github.com/pnavaro/fortran-vs-julia): simple cheatsheet and some performance comparison for scientific programmers who are interested in discover Julia, by Pierre Navaro
[LINPACK](https://github.com/zaniyah/LINPACK): original (1000x1000 double precision) LINPACK benchmark, with bugfixes, by zaniyah
[mandelbrot-f](https://github.com/jesper-olsen/mandelbrot-f): Mandelbrot benchmark in Fortran by Jesper Olsen, who also has versions in Rust, Erlang, and Mojo
[matmul](https://github.com/certik/matmul): matrix multiplication benchmark by Ondřej Čertík
[Microbenchmarks](https://github.com/JuliaLang/Microbenchmarks): micro benchmark comparison of Julia against other languages, including Fortran, from JuliaLang
[miniApps-for-hpc](https://github.com/vlkale/miniApps-for-hpc): set of small codes representative of larger application programs run on supercomputers, by Vivek Kale. The reason that these codes were developed was to experiment with performance optimizations done on larger application programs.
[NetworkDynamicsBenchmarks](https://github.com/PIK-ICoNe/NetworkDynamicsBenchmarks): scripts for benchmarking dynamical systems on networks, from paper "NetworkDynamics.jl -- Composing and simulating complex networks in Julia", by Michael Lindner et al.
[NPB](https://github.com/LLNL/NPB): fork of the NASA Advanced Supercomputing Division's NAS Parallel Benchmarks, extended to include new benchmarks for unstructured adaptive meshes, parallel I/O, multi-zone applications, and computational grids
[nwchem-tce-triples-kernels](https://github.com/jeffhammond/nwchem-tce-triples-kernels): NWChem TCE CCSD(T) loop-driven kernels for performance optimization experiments, by jeffhammond
[Performance comparison R, Julia, Fortran for Bayesian binary probit](https://github.com/driesbenoit/benchmark_R_Julia_Fortran) by driesbenoit
[pi_examples](https://github.com/UCL-RITS/pi_examples): calculate pi using numerical integration of `1/(1+x**2)`, using Fortran with do concurrent, MPI, OpenMP, OpenACC, and other languages, by Owain Kenway et al.
[plb2](https://github.com/attractivechaos/plb2): nqueen, matmul, sudoku, and bedcov benchmarks in Fortran, C, Lisp, Go, Java, JavaScript, Julia, Python, Rust, and other languages
[Python Performance](https://github.com/scivision/python-performance): performance benchmarks of Python, Numpy, etc. vs. other languages such as Matlab, Julia, Fortran, from scivision
[raytracer](https://github.com/edin/raytracer): raytracer benchmark in dozens of languages, by edin. Associated with paper M. Moreira-Soares, R. Coimbra, L. Rebelo, J. Carvalho & R. D. M. Travasso. "Angiogenic Factors produced by Hypoxic Cells are a leading driver of Anastomoses in Sprouting Angiogenesis–a computational study". Scientific Reports 8, 8726 (2018)
[ScalSALE](https://github.com/Scientific-Computing-Lab-NRCN/ScalSALE): Scalable SALE Benchmark Framework for Supercomputers, from Scientific Computing Lab NRCN
[Simple N-Body with LeapFrog integrator](https://github.com/marblestation/benchmark-leapfrog): Implementation in C, Fortran, Go, Julia and Rust of a very simple N-Body simulator with 3 particles using a LeapFrog integrator. Presented in What can the programming language Rust do for astrophysics?, to appear in the Proceedings of the IAU Symposium 325 on Astroinformatics.
[STREAM2](https://github.com/jklinkenberg-benchmarks/STREAM2): STREAM2 is an attempt to extend the functionality of the STREAM benchmark in two important ways: STREAM2 measures sustained bandwidth at all levels of the cache hierarchy and more clearly exposes the performance differences between reads and writes
[Traveling Salesman Problem Exact algorithm](https://github.com/harveytriana/TspApproach): fastest to slowest are C++, Rust, Go, C#, Fortran, Dart, and Python, by
Luis Harvey Triana Vega
## Biology and Medicine
[AHA-R1](https://github.com/sbudaev/AHA-R1): large scale simulation model that implements a general decision-making architecture in evolutionary agents, by Sergey Budaev. Each agent is programmed as a whole virtual organism including the genome, rudimentary physiology, the hormonal system, a cognitive architecture and behavioural repertoire.
[All Ages Lead Model (AALM)](https://github.com/USEPA/AALM): evaluates the impact of lead exposures on lead levels in humans, from the U.S. Environmental Protection Agency. It rapidly estimates the effect of exposures on lead concentrations in tissues of children and adults; can assess exposures of a day or more, as well as chronic exposures; and can be applied to specific individuals or to groups of similarly exposed individuals.
[ANCC](https://github.com/YoushanLiu/ANCC): Python scripts and Fortran code for ambient noise tomography, such as computing cross-correlation (with parallel computing), and extracting dispersion curves, by Youshan Liu
[angio](https://github.com/phydev/angio): 3D phase-field modelling for tumor angiogenesis, by phydev. Associated with [paper](https://www.nature.com/articles/s41598-018-27034-8) M. Moreira-Soares, R. Coimbra, L. Rebelo, J. Carvalho & R. D. M. Travasso. Angiogenic Factors produced by Hypoxic Cells are a leading driver of Anastomoses in Sprouting Angiogenesis–a computational study. Scientific Reports 8, 8726 (2018)
[Asexual Penna model](https://github.com/jben-estrada/asexual-penna-model): implementation of a biological aging model, as introduced in the paper by Thadeu Penna, [A Bit-String Model for Biological Aging](https://link.springer.com/article/10.1007/BF02180147), Journal of Statistical Physics 78 (1995)
[BrainTumors](https://github.com/veneciachm/BrainTumors): time and space evolution of a brain tumor in 3D using the reaction-diffusion equation and finite differences to solve it numerically, by veneciachm
[CardiacFEM](https://github.com/Levrero/CardiacFEM): cardiac electro-mechanics solver based on ParaFEM, by Levrero
[CAMI-Gz-Effects-Model-CGEM-](https://github.com/AAM-631/CAMI-Gz-Effects-Model-CGEM-): resource flow-based model of symptom induction and recovery from Gz accelerations in aeronauts. Associated report: [Cerebral Blood Flow Based Computer
Modeling of Gz-Induced Effects](https://pubmed.ncbi.nlm.nih.gov/37069756/), by Kyle Copeland and James E. Whinnery, Civil Aerospace Medical Institute (CAMI) (2023)
[Charge_inversion_and_nanoscales_of_human_cells](https://github.com/Mtanaka77/Charge_inversion_and_nanoscales_of_human_cells): studies giant charge inversion and/or nanoscale phenomena for living cells and does molecular dynamics simulations. An associated paper is [DNA in Nanopores: Counterion Condensation and Coion Depletion](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.94.148103), by Yitzhak Rabin and Motohiko Tanaka, Physical Review Letters (2005).
[Chromatin_Code](https://github.com/achalmahajan1/Chromatin_Code): simulates the genome organization at a resolution of ~100 kbp, along with phase separation of active and silent regions of the genome using first principles. Associated paper: [Euchromatin Activity Enhances Segregation and Compaction of Heterochromatin in the Cell Nucleus](https://journals.aps.org/prx/abstract/10.1103/PhysRevX.12.041033), by Achal Mahajan et al., Phys. Rev. X (2022)
[COVID-testbias](https://github.com/dkhaz/COVID-testbias): Understanding the Bias between the Number of Confirmed Cases and Actual Number of Infections in the COVID-19 Pandemic, by dkhaz and xingangchen
[covid19-vac-st](https://github.com/wcota/covid19-vac-st): code and data for the paper [Effects of infection fatality ratio and social contact matrices on vaccine prioritization strategies](https://pubs.aip.org/aip/cha/article-abstract/32/9/093102/2835812/Effects-of-infection-fatality-ratio-and-social), by A. Schulenburg, W. Cota, G. S. Costa, and S. C. Ferreira, Chaos. 2022 Sep;32(9):093102
[droplets_simulation](https://github.com/Enehentaro/droplets_simulation): simulation of virus-laden droplets behavior from AFDET (Advanced Fluid Dynamics and Energy Transfer Lab)
[dynSIS](https://github.com/wcota/dynSIS): code for paper [Optimized Gillespie algorithms for the simulation of Markovian epidemic processes on large and heterogeneous networks](https://www.sciencedirect.com/science/article/abs/pii/S0010465517301893), by Wesley Cota and Silvio C. Ferreira, Computer Physics Communications v. 219 (2017) pp 303-312
[ECOSYS](https://github.com/jinyun1tang/ECOSYS): code for terrestrial ecosystem biogeochemistry, by Robert Grant. A related project is [EcoSim](https://github.com/jinyun1tang/EcoSIM).
[EpiDetector](https://github.com/pecanka/epidetector): identifies epistasis (i.e., gene-to-gene interactions) in a genome-wide analysis setting, by Jakub Pecanka. EpiDetector implements several flavors of a two-stage testing approach. The underlying methodology is described in this [paper](https://academic.oup.com/biostatistics/article/18/3/477/2970370?) and [book chapter](https://link.springer.com/protocol/10.1007/978-1-0716-0947-7_6).
[Euplectella_HPC](https://github.com/giacomofalcucci/Euplectella_HPC): code for paper [Extreme flow simulations reveal skeletal adaptations of deep-sea sponges](https://www.nature.com/articles/s41586-021-03658-1), by Giacomo Falcucci et al., Nature volume 595, pp 537–541 (2021)
[Fortran Image Processing](https://github.com/hpcnpatel/Fortran_Image_Processing): processing, manipulating, and filtering CT scan data, by Nisarg Patel. A CT scan data could be binary RAW data or VTK data.
[FSATOOL](https://github.com/fsatool/fsatool): fast sampling and analysis tool for biomolecules, by haomiao et al.
[GENeralized-Ensemble SImulation System (GENESIS)](https://github.com/genesis-release-r-ccs/genesis-2.0): molecular dynamics and modeling software for bimolecular systems such as proteins, lipids, nucleic acids, glycans, and their complexes. Main site is [here](https://www.r-ccs.riken.jp/labs/cbrt/).
[Genetic load, eco-evolutionary feedback and extinction in metapopulations](https://github.com/O23325/Genetic-load-eco-evolutionary-feedback-and-extinction-in-metapopulations): simulations by Oluwafunmilola Olusanya et al.
[GR-Eye](https://github.com/fbraeu90/GR-Eye): 3D Homogenized Constrained Mixture Model for Eye Growth and Remodeling - A Model of Staphyloma Formation, implemented as an Abaqus UMAT, by Fabian A. Braeu
[hole2](https://github.com/osmart/hole2): analysis and visualisation of the pore dimensions of the holes through molecular structures of ion channels, by Oliver Smart et al.
[Illustrate](https://github.com/ccsb-scripps/Illustrate): biomolecular illustration tool. Associated paper: Goodsell, D.S., Autin, L, Olson, A.J.,Goodsell, D. S., Autin, L., & Olson, A. J. (2019). [*Illustrate*: Software for biomolecular illustration](https://www.cell.com/structure/fulltext/S0969-2126(19)30282-5). *Structure*, 27(11), 1716-1720.e1.
[ktz-phasediag](https://github.com/mgirardis/ktz-phasediag): generates phase diagram for the KTz Neuron. Code written for the paper Girardi-Schappo M, Bortolotto GS, Stenzinger RV, Gonsalves JJ, Tragtenberg MHR (2017) [Phase diagrams and dynamics of a computationally efficient map-based neuron model](https://github.com/mgirardis/ktz-phasediag). PLoS ONE 12(3): e0174621.
[lungsim (Aether)](https://github.com/LungNoodle/lungsim): pulmonary simulation library
[Motility Analysis of T-Cell Histories in Activation (MATCHA)](https://github.com/BerkeleyLab/matcha): designs virtual T cells that move like biological T cells, from BerkeleyLab and Northern New Mexico College. The virtual T cells will match the speed and turning angle distributions of biological cells.
[MycoplasmaGenitalium](https://github.com/ccsb-scripps/MycoplasmaGenitalium): modelling of Mycoplasma genitalium based on the WC computational model, by Ludovic Autin and Martina Maritan
[NuPoP_Fortran](https://github.com/jipingw/NuPoP_Fortran): code to predict the nucleosome positioning based on DNA sequences underlying the [NuPoP](https://bioconductor.org/packages/release/bioc/html/NuPoP.html) R package. Associated paper: [Predicting nucleosome positioning using a duration Hidden Markov Model](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-11-346), by Liqun Xi et al., BMC Bioinformatics (2010).
[Open Continuum Mechanics, Imaging, Signal processing and System identification (OpenCMISS-Iron)](https://github.com/OpenCMISS/iron): computational back-end for a mathematical modelling environment that enables the application of finite element analysis techniques to a variety of complex bioengineering problems, by Chris Bradley et al.
[ParizPLOS2021](https://github.com/ITNG/ParizPLOS2021): code associated with paper Pariz A, Fischer I, Valizadeh A, Mirasso C (2021) [Transmission delays and frequency detuning can regulate information flow between brain regions](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1008129). PLoS Comput Biol 17(4)
[Parse](https://github.com/stevewhitten/Parse): predicts protein regions that are disordered, and which subset of those can undergo phase separation. Associated paper: Paiz, E.A., Allen, J.H., Correia, J.J., Fitzkee, N.C., Hough, L.E., Whitten, S.T. [Beta turn propensity and a model polymer scaling exponent identify intrinsically disordered phase-separating proteins](https://www.jbc.org/article/S0021-9258(21)01149-2/fulltext) J. Biol. Chem. 297, 101343 (2021).
[PLOSCB2022](https://github.com/mholla/PLOSCB2022): code associated with [Orchestrated neuronal migration and cortical folding: A computational and experimental study](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010190), by Shuolun Wang et al., PLOS Computational Biology (2022)
[QMCube (ren-qm3)](https://github.com/sergio-marti/ren-qm3): suite written in Python, calling Fortran codes, initially focused
on multiscale QM/MM simulations of biological systems, but open enough to address other kinds of problems. Associated paper: [QMCube (QM3): An all-purpose suite for multiscale QM/MM calculations](https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.26465), by Sergio Martí, J. Comput. Chem. 2021, 42, 447-457
[qptabsearch](https://github.com/stivalaa/qptabsearch): tableau-based protein substructure search using quadratic programming. Associated paper: Stivala, A., Wirth, A. and Stuckey, P., [Tableau-based protein substructure search using quadratic programming](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-10-153), BMC Bioinformatics 2009, 10:153
[RBC3D](https://github.com/comp-physics/RBC3D): spectral boundary integral solver for cell-scale blood flow. Associated paper: Bryngelson, S. H., Guéniat, F., & Freund, J. B. (2019), [Irregular dynamics of cellular blood flow in a model microvessel](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.100.012203), Physical Review E, 100, 012203.
[Reproductive Simulation Library (reprosim)](https://github.com/VirtualPregnancy/reprosim): placenta and uterus simulation libraries by Monika Byrne et al.
[sequoia_notR](https://github.com/JiscaH/sequoia_notR): stand-alone equivalent to the R package [sequoia](https://cran.r-project.org/web/packages/sequoia/index.html), associated with paper [Pedigree reconstruction from SNP data: parentage assignment, sibship clustering and beyond](https://onlinelibrary.wiley.com/doi/10.1111/1755-0998.12665), by Jisca Huisman, Molecular Ecology Resources (2017). A related project is [sequoiaExtra](https://github.com/JiscaH/sequoiaExtra), a collection of R functions and Fortran programs loosely associated with R package sequoia and/or for general population genetics purposes.
[snakedali](https://github.com/Doudna-lab/snakedali): program for protein structural alignment and structure database search, based on the Dali (distance matrix alignment) method, from Doudna-lab
[songbird-evo-model-FORTRAN](https://github.com/Kaw-Han/songbird-evo-model-FORTRAN): models evolution in a genetically simple population of songbirds, by Kaw-Han
[SPECIES](https://github.com/jipingw/SPECIES): R package for species number estimation with underlying Fortran code, by Ji-Ping Wang
[svFSI](https://github.com/SimVascular/svFSI): multi-physics finite element solver for patient-specific blood flow simulation including fluid-structure interaction and cardiac electrophysiology, by Vijay Vedula et al.
[System for Processing Image Data from Electron microscopy and Related fields (SPIDER)](https://github.com/spider-em/SPIDER): image processing system for electron microscopy, especially useful for single-particle reconstruction, by Joachim Frank et al.
[siQ-ChIP: sans spike-in Quantitative ChIP-seq](https://github.com/BradleyDickson/siQ-ChIP): small package of bash and Fortran codes used to quantify ChIP-seq data without requiring "spike-ins" to be added to the ChIP-seq protocol. Associated with [paper](https://www.jbc.org/article/S0021-9258(17)50412-3/fulltext) J Biol Chem. 2020 Nov 20;295(47):15826-15837. "A physical basis for quantitative ChIP-sequencing" by Bradley M Dickson, Rochelle L Tiedemann, Alison A Chomiak, Evan M Cornett, Robert M Vaughan, and Scott B Rothbart
[Texture-Toolbox](https://github.com/cgreen259/Texture-Toolbox): allows the user to input a 2D or 3D image, in the form of a NumPy array and calculate 43 commonly used, texture features of the image, by cgreen259. Quantisation methods are also avaiable to improve feature stability in the form of Fixed Bin Width (FBW) and Fixed Bin Number (FBN).
[TRIDENT](https://github.com/TRIBO-Pprime/TRIDENT): program for [dental microwear analysis](https://en.wikipedia.org/wiki/Dental_microwear), by Arthur Francisco
[umat_cartilage](https://github.com/shayansss/umat_cartilage): subroutines for a multiphasic and fibril-reinforced model of articular cartilage, by shayansss
## Climate and Weather
[asgs](https://github.com/StormSurgeLive/asgs): the ADCIRC Surge Guidance System (ASGS), from
StormSurgeLive, provides software infrastructure for automating ADCIRC for real time or operational deployments, as well as a variety of tools for pre- and post-processing ADCIRC data.
[Automatic Lidar and Ceilometer Processing Framework (ALCF)](https://github.com/alcf-lidar/alcf): tool for processing of automatic lidar and ceilometer (ALC) data and intercomparison with atmospheric models such as general circulation models (GCMs), numerical weather prediction models (NWP) and reanalyses with a lidar simulator using the COPS instrument simulator framework running offline on model output
[bin-microphysics-model](https://github.com/UoM-maul1609/bin-microphysics-model): bin-microphysics cloud model used in research and teaching, by Paul J. Connolly, who has other projects for cloud physics
[CAPE](https://github.com/KlemensBarfus/CAPE): calculates Convectively Available Potential Energy (CAPE), which describes the instabilily of the atmosphere and provides an approximation of updraft strength within a thunderstorm, by Klemens Barfus
[C_ClWxSim](https://github.com/RosesHaveThorns/C_ClWxSim): very simplistic weather and climate simulator for worldbuilding, from RosesHaveThorns
[Climate Modelling and Diagnostics Toolkit (climt)](https://github.com/CliMT/climt): Python based library which provides a modular and intuitive approach to writing numerical models of the climate system. climt provides state-of-the art components and an easy-to-use interface to allow writing research quality models without modifying the underlying Fortran code.
[Cloud-J](https://github.com/geoschem/Cloud-J): multi-scattering eight-stream radiative transfer model for solar radiation based on [Fast-J](https://www.ess.uci.edu/group/prather/scholar_software), originally developed by Michael J. Prather (UCI)
[Cloud Layers Unified By Binormals (clubb_release)](https://github.com/larson-group/clubb_release): single-column atmospheric model, with associated preprint [CLUBB-SILHS: A parameterization of subgrid variability in the atmosphere](https://arxiv.org/pdf/1711.03675.pdf), by Vincent E. Larson
[Cloud Model 1 (CM1)](https://github.com/NCAR/CM1): three-dimensional, non-hydrostatic, non-linear, time-dependent numerical model designed for idealized studies of atmospheric phenomena, by David Ahijevych and George H. Bryan
[convert_mpas](https://github.com/mgduda/convert_mpas): general conversion utility for MPAS-Atmosphere output files, by Michael Duda and David Ahijevych
[CRUST](https://github.com/ClimaticResearchUnit/CRUST): Climatic Research Unit Standardisation of Tree-ring data
[CTSM](https://github.com/ESCOMP/CTSM): Community Terrestrial Systems Model (includes the Community Land Model of CESM), from ESCOMP
[dinsol-v1.0-linux](https://github.com/Emerson-D-Oliveira/dinsol-v1.0-linux): simulates the incoming solar radiation at the top of the atmosphere following the Milankovitch cycles theory, by Emerson Damasceno Oliveira. The tool is ideal for preparing the boundary conditions of climate models, beyond being a helpful tool for educational purposes.
[Dutch Atmospheric Large Eddy Simulation (DALES)](https://github.com/dalesteam/dales): An associated paper is [Large-Eddy Simulation Comparison of Neutral Flow Over a Canopy: Sensitivities to Physical and Numerical Conditions, and Similarity to Other Representations](https://link.springer.com/article/10.1007/s10546-016-0182-5), by H.G. Ouwersloot et al., Boundary-Layer Meteorology (2017)
[dwarf-p-cloudsc](https://github.com/ecmwf-ifs/dwarf-p-cloudsc): standalone mini-app of the ECMWF cloud microphysics parameterization, by Michael Lange, Willem Deconinck, and Balthasar Reuter
[E3SM](https://github.com/E3SM-Project/E3SM): Energy Exascale Earth System Model source code, by E3SM-Project
[easyclimate-backend](https://github.com/shenyulu/easyclimate-backend): back end for the [Easy Climate](https://easyclimate.readthedocs.io/en/latest/overview.html) project for climate data analysis, by Yi Zhang
[ecrad](https://github.com/ecmwf/ecrad): offline version of a radiation scheme suitable for use in atmospheric weather and climate models, from ecmwf
[ExoRT](https://github.com/storyofthewolf/ExoRT): reasonably flexible two-stream radiative transfer code designed for use with 3D climate models, by Eric T. Wolf. In this software, contained are builds for a 1-D offline version, and for directly interfacing with CESM/CAM4.
[firedanger](https://github.com/ARVE-Research/firedanger): convert monthly meteorology into daily estimates of weather and fire danger, by Leo Lai
[flash-drought](https://github.com/jb6465/flash-drought): code for [flash drought](https://www.drought.gov/what-is-drought/flash-drought) decomposition, by Jessica Bhardwaj and Mike Hobbins
[FMS](https://github.com/NOAA-GFDL/FMS): Flexible Modeling System (FMS), from NOAA-GFDL, is a software environment that supports the efficient development, construction, execution, and scientific interpretation of atmospheric, oceanic, and climate system models
[fst-tools](https://github.com/ECCC-ASTD-MRD/fst-tools): tools to manipulate [RPN standard files](https://web.unbc.ca/~funnel0/fst2grib/resources/fstd.pdf), from Meteorological Research Informatics Services of Canada
[gcm](https://github.com/pqnelson/gcm): Toy General Circulation Model in Literate Fortran, by pqnelson
[Global ECMWF Fire Forecast (GEFF) model (geff)](https://github.com/ecmwf-projects/geff): calculates fire danger indices from atmospheric inputs. It implements the Fire Weather Index, the National Fire Danger Rating System and the McArthur ratings in one single infrastructure.
[GEOCLIM-dynsoil-steady-state](https://github.com/piermafrost/GEOCLIM-dynsoil-steady-state): computes geographically-distributed chemical weathering rates (along with associated parameters) at steady-state, according to the given climatology (temperature and runoff) for several CO2 levels (2 at least), the topographic slope and the lithology fraction in each grid cell, by Nick Swanson-Hysell and Yuem Park
[Global-Regional Integrated Forecast System (GRIST)](https://github.com/GRIST-Dev/GRIST): atmospheric model framework system that aims at the development of global-regional and weather-climate integration. An associated paper is [Intercomparison of two model climates simulated by a unified weather-climate model system (GRIST), part II: Madden–Julian oscillation](https://link.springer.com/article/10.1007/s00382-024-07527-1), by Zhen Fu et al., Climate Dynamics (2025).
[Finite Element Sea Ice-Ocean Model (FESOM2)](https://github.com/FESOM/fesom2): Multi-resolution ocean general circulation model that solves the equations of motion describing the ocean and sea ice using finite-element and finite-volume methods on unstructured computational grids. The model is developed and supported by researchers at the Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research (AWI), in Bremerhaven, Germany.
[fv3gfs](https://github.com/NOAA-EMC/fv3gfs): Finite Volume Cubed-Sphere dynamical core (FV3) Global Forecasting System (GFS), from NOAA-EMC
[GARD](https://github.com/NCAR/GARD): Generalized Analog Regression Downscaling code, from NCAR
[GemmesF90](https://github.com/timongo/GemmesF90): code corresponding to paper "Financial impacts of climate change mitigation policies and their macroeconomic implications: a stock-flow consistent approach." Climate Policy 20.2 (2020): 179-198, by timongo
[GFDL_atmos_cubed_sphere](https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere): GFDL atmos_cubed_sphere dynamical core code, from NOAA-GFDL
[Global Environmental Multiscale Model (GEM)](https://github.com/ECCC-ASTD-MRD/gem): integrated forecasting and data assimilation system developed by the Atmospheric Numerical Prediction Research Section, Meteorological Research Division, of Environment and Climate Change Canada.
[Gridded Meteorological Ensemble Tool (GMET)](https://github.com/NCAR/GMET): software for created gridded meteorological datasets for precipitation and temperature, by Andy Newman. The current applications have been at a daily timestep, yielding daily total precipitation, mean temperature and temperature range.
[GVTD-X](https://github.com/tomonori-93/GVTD-X): implements numerical method to retrieve tangential and radial wind components in atmospheric vortices from single-Doppler radar observations, which is named from pronounciation of a abbreviation "GVTD-HeCs" (Generalized Velocity Track Display with the Helmholtz-decomposition-based Closure assumption). By Satoki Tsujino.
[gwgen_f90](https://github.com/ARVE-Research/gwgen_f90): globally applicable weather generator, associated with the paper [A globally calibrated scheme for generating daily meteorology from monthly statistics: Global-WGEN (GWGEN) v1.0](https://gmd.copernicus.org/articles/10/3771/2017/), by Philipp S. Sommer and Jed O. Kaplan, Geoscientific Model Development (2017)
[Hail Trajectory Clustering](https://github.com/adams-selin/trajectory_clustering): groups three-dimensional hail trajectories into similar clusters. Associated with paper Adams-Selin, R., 2023: A three-dimensional trajectory clustering technique. Monthly Weather Review
[HexKloud](https://github.com/louiswicker/HexKloud): Joe Klemp's toy cloud model modified by NSSL scientists
[High-resolution Intermediate Complexity Atmospheric Research model (HICAR)](https://github.com/HICAR-Model/HICAR): variant of the Intermediate Complexity Atmospheric Research (ICAR) model developed for sub-kilometer resolutions. Associated preprint: Reynolds, D. S., et al., [The High-resolution Intermediate Complexity Atmospheric Research (HICAR v1.0) Model Enables Fast Dynamic Downscaling to the Hectometer Scale](https://gmd.copernicus.org/preprints/gmd-2023-16/gmd-2023-16.pdf), Geosci. Model Dev. (2023) in review
[Himawari_HSD_Reader](https://github.com/simonrp84/Himawari_HSD_Reader): reader for data from Japan's [Himawari satellite](https://en.wikipedia.org/wiki/Himawari_8), by Simon Proud. This utility reads 'raw' HSD format data and can convert it into more friendly formats such as NetCDF4.
[Hurricane Analysis and Forecast System (HAFS)](https://github.com/hafs-community/HAFS): Unified Forecast System (UFS) hurricane application, an FV3 (Finite Volume Cubed-Sphere Dynamical Core) based multi-scale model and data assimilation system capable of providing tropical cyclone (TC, including hurricane and typhoon) analyses and forecasts of the inner core structure
[icar](https://github.com/NCAR/icar): Intermediate Complexity Atmospheric Research Model (ICAR), from NCAR, a simplified atmospheric model designed primarily for climate downscaling, atmospheric sensitivity tests, and hopefully educational uses
[KW_TC_boundary_layer](https://github.com/thomas-fred/KW_TC_boundary_layer): implementation of the [Kepert and Wang (2001)](https://journals.ametsoc.org/view/journals/atsc/58/17/1520-0469_2001_058_2485_tdoblj_2.0.co_2.xml) boundary layer model for coupling gradient-level tropical cyclone winds to the earth's surface, by Yuqing Wang et al.
[libsim](https://github.com/ARPA-SIMC/libsim): libraries from ARPA-SIMC include a general purpose ''base'' library with modules for handling character variables, csv files, command-line arguments, physical constants, date and time computations, georeferenced coordinates, growable arrays and list structures of any type and other. Another set of libraries is specific to Meteorology and Earth Science and allows to work with gridded and sparse georeferenced data, perform interpolations, statistical processing in time, data quality control, thermodynamic computations.
[libtdlpack](https://github.com/NOAA-MDL/libtdlpack): subset of subroutines from the MOS-2000 Software System for the TDLPACK data format, from NOAA-MDL
[LMDZE](https://github.com/lguez/LMDZE): simplified version of the [LMDZ](http://lmdz.lmd.jussieu.fr/) atmospheric general circulation model, by Lionel Guez. It has evolved aiming at clarity and robustness of the source code, taking advantage of modern features of the Fortran language.
[MITgcm](https://github.com/MITgcm/MITgcm): A numerical model designed for study of the atmosphere, ocean, and climate, MITgcm’s (General Circulation Model) flexible non-hydrostatic formulation enables it to efficiently simulate fluid phenomena over a wide range of scales; its adjoint capabilities enable it to be applied to sensitivity questions and to parameter and state estimation problems.
[Ml2pl](https://github.com/lguez/Ml2pl): interpolates atmospheric data at model levels to pressure levels, by Lionel Guez. Input and output are in NetCDF format.
[Model Coupling Toolkit (MCT)](https://github.com/MCSclimate/MCT): toolkit to support the construction of highly portable and extensible high-performance couplers for distributed memory parallel coupled models, by Robert Jacob et al.
[Model for Prediction Across Scales (MPAS)](https://github.com/MPAS-Dev/MPAS-Model): develops atmosphere, ocean, and other earth-system simulation components for use in climate, regional climate, and weather studies. The primary development partners are the climate modeling group at Los Alamos National Laboratory (COSIM) and the National Center for Atmospheric Research.
[Model of an idealized Moist Atmosphere (MiMA)](https://github.com/mjucker/MiMA): intermediate-complexity General Circulation Model with interactive water vapor and full radiation. It is published in M Jucker and EP Gerber, 2017: [Untangling the annual cycle of the tropical tropopause layer with an idealized moist model](https://journals.ametsoc.org/view/journals/clim/30/18/jcli-d-17-0127.1.xml), Journal of Climate 30, 7339-7358.
[multio](https://github.com/ecmwf/multio): package developed by ECMWF that provides an application programming interface (API) for I/O-server functionality for distributed earth-system models and post-processing pipelines of a user-programmable list of actions
[NoahMP](https://github.com/ESMWG/NoahMP): Noah with multiparameterization options (NoahMP) land surface model, from ESMWG
[Noah-OWP-Modular](https://github.com/NOAA-OWP/noah-owp-modular): extended, refactored version of the [Noah-MP](https://github.com/NCAR/noahmp/) land surface model, by K. Jennings et al. In order to ease readability, adaptability, and interoperability, the model has been broken out into a series of modules and data types that represent various components of model information and parameters as well as the energy and water balances.
[National Ocean Service Operational Forecast System from NCEP Central Operations (nosofs-NCO)](https://github.com/ioos/nosofs-NCO): copy from NOAA's PMB website. This repository contains updates needed to run using GCC/GFortran compilers.
[NCEPLIBS G2](https://github.com/NOAA-EMC/NCEPLIBS-g2): Utilities for coding/decoding GRIB2 messages, by Hang Lei et al. This library contains Fortran 90 decoder/encoder routines for GRIB edition 2, as well as indexing/searching utility routines.
[PrecisionSpec-Analyzer](https://github.com/Razumovskyy/PrecisionSpec-Analyzer), a high-precision tool for atmospheric absorption calculations over narrow spectral ranges, focusing on detailed spectroscopic analysis using HITRAN and HITEMP data with standard and custom line shapes for terrestrial atmospheric studies, by Mikhail Razumovskiy
[prepbufr_decoder](https://github.com/ShawnMurdzek-NOAA/prepbufr_decoder): decode prepBUFR files to CSVs and encode CSVs to prepBUFR files, by Shawn Murdzek. BUFR (Binary Universal Form for the Representation of meteorological data) is Table Driven Data Representation Forms approved by the World Meteorological Organization (WMO) for operational use since 1988.
[prodsim](https://github.com/ARPA-SIMC/prodsim): collection of shell scripts and Fortran programs based on libsim, by Davide Cesari and ddales3. It is designed for processing raw numerical weather prediction (NWP) model output data and perform physically-based operations in order to obtain postprocessed data
[pytdlpack](https://github.com/eengl/pytdlpack): Python interface for reading and writing TDLPACK data, by eengl
[RegCM](https://github.com/ictp-esp/RegCM): Regional Climate Model system RegCM, originally developed at the National Center for Atmospheric Research (NCAR), is maintained in the Earth System Physics (ESP) section of the ICTP.
[Regional Atmospheric Modeling System (RAMS)](https://github.com/RAMSmodel/RAMS): highly versatile numerical code
developed by several groups over the years, including the scientists at Colorado State University, the ASTER division of Mission Research Corporation, and ATMET. RAMS is used for
simulating and forecasting meteorological phenomena.
[RTE+RRTMGP](https://github.com/earth-system-radiation/rte-rrtmgp) computes radiative fluxes in planetary atmospheres, from earth-system-radiation. RTE+RRTMGP is described in a paper in Journal of Advances in Modeling Earth Systems.
[Scalable Computing for Advanced Library and Environment (SCALE)](https://github.com/scale-met/scale): basic library for weather and climate model of the earth and planets aimed to be widely used in various models. The SCALE library is developed with co-design by researchers of computational science and computer science.
[scream](https://github.com/E3SM-Project/scream): global atmosphere model targeted towards 3 km ("cloud resolving") resolution. It is part of the Energy Exascale Earth System Model (E3SM)
[shumlib](https://github.com/metomi/shumlib): libraries which are used by the UM; the UK Met Office's Unified Model, that may be of use to external tools or applications where identical functionality is desired. The hope of the project is to enable developers to quickly and easily access parts of the UM code that are commonly duplicated elsewhere.
[simple atmospheric models](https://github.com/mathewbarlow/simple-atmospheric-models): simple models of the atmosphere (and ocean), for classroom examples, by Mathew Barlow
[SPARTACUS-Surface - Canopy radiation scheme](https://github.com/ecmwf/spartacus-surface): computes radiative transfer in complex 3D surface canopies, such as forests and cities, by Robin Hogan and VakankGrang. It makes use of the "SPARTACUS" technique, originally developed for clouds.
[speedy.f90](https://github.com/samhatfield/speedy.f90): intermediate complexity atmospheric general circulation model written in modern Fortran, by Sam Hatfield and Leo Saffin It is based on [SPEEDY](http://users.ictp.it/~kucharsk/speedy-net.html), developed by Fred Kucharski, Franco Molteni and Martin P. King.
[SPEEDY-ML](https://github.com/Arcomano1234/SPEEDY-ML): combines the atmospheric general circulation model (AGCM) SPEEDY with a reservoir computing-based machine learning algorithm for weather prediction and climate simulations, by Troy Arcomano.
[tcane_fortran](https://github.com/eabarnes1010/tcane_fortran): evaluate pre-trained artificial neural networks to estimate consensus hurricane intensity and track errors, as well as the associated uncertainties of the network predictions. Associated paper: Barnes, Elizabeth A., Randal J. Barnes and Nicolas Gordillo, 2021: [Adding Uncertainty to Neural Network Regression Tasks in the Geosciences](https://arxiv.org/abs/2109.07250)
[TorchClim](https://github.com/dudek313/torchclim): framework that allows the introduction of ML/AI models that were trained using PyTorch into a climate model (aka GCM), by dudek313 and ktrapeznikov. It facilitates a fast turnover of the train-test-run workflow allowing for quick development of ML/AI-based parametrizations into parallel and distributed environments.
[UCLALES-SALSA](https://github.com/UCLALES-SALSA/UCLALES-SALSA): large-eddy model coupled with a detailed sectional microphysics module for aerosol, clouds and precipitation, by Juha Tonttila et al.
[urban Dutch Atmospheric Large Eddy Simulation (u-dales)](https://github.com/uDALES/u-dales): large-eddy simulation (LES) model for urban environments. LES is an approach to turbulence modelling used in computational fluid dynamics to simulate turbulent flows over a wide range of spatial and temporal scales.
[Unified Forecast System (UFS) weather model](https://github.com/ufs-community/ufs-weather-model): weather model is used in several of the UFS applications, including the medium-range weather application and the short-range weather application.
[WAve Model (WAM)](https://github.com/myWAveModel/WAM): spectral wave model, by r-hartmann et al. A related paper is [The WAM Model -- A Third Generation Ocean Wave Prediction Model](https://journals.ametsoc.org/view/journals/phoc/18/12/1520-0485_1988_018_1775_twmtgo_2_0_co_2.xml), Journal of Physical Oceanography (1988).
[weather-buoys](https://github.com/modern-fortran/weather-buoys): Processing weather buoy data in parallel, from modern-fortran
[WRF](https://github.com/wrf-model/WRF): Weather Research and Forecasting (WRF) model
## Code Tools
[bench-cli](https://github.com/Lateralus138/bench-cli): cross-platform command line tool to benchmark commands and other executables/scripts in command lines written in Fortran, by Lateralus138. Very precise and fast.
[exception_handling](https://github.com/tillackseb/exception_handling): tools for exception handling and tracing, by Sebastian Tillack
[exceptions](https://github.com/arjenmarkus/exceptions): experiment with exceptions in Fortran via a simple preprocessing step, by Arjen Markus
[f2f90](https://github.com/btrettel/f2f90): utility to convert FORTRAN 77 fixed source form to Fortran 90 free source form, by Michael Metcalf, Peter A. Rochford, and Ben Trettel
[ffixed2free](https://github.com/MeteoSwiss/ffixed2free): converts FORTRAN fixed-format source code (FORTRAN 77 style) to free-format source code (Fortran 90 style), by Pirmin Kaufmann and Martin Schraner. Ffixed2free does not require the fixed-format code to be restricted to the FORTRAN 77 standard.
[flavanaly](https://github.com/degawa/flavanaly): wrapper for [Fortran-stdlib logger](https://stdlib.fortran-lang.org/page/specs/stdlib_logger.html) that enhances log messages with purpose classification and message categorization, by Tomohiro Degawa
[fortran2018-conditional-memory](https://github.com/kevinmatthes/fortran2018-conditional-memory): library for the conditional allocation and deallocation of allocatable objects of Fortran intrinsic types, by Kevin Matthes
[Fortran Debug Utilities](https://github.com/plevold/fortran-debug-utils): collection of some utilities useful for debugging code, by Pål Levold
[fortran-git](https://github.com/interkosmos/fortran-git): Fortran 2008 ISO C binding interfaces to [libgit2](https://github.com/libgit2/libgit2), by interkosmos
[fortran-logger](https://github.com/tkdhss111/fortran-logger): simple multi-threaded logger for Fortran, with ANSI coloring on terminal {Fatal, Error, Warn, Debug, Info} and email capability with "sendmail" argument, by Hisashi Takeda
[Fortran-RefCount](https://github.com/LadaF/Fortran-RefCount): simple reference counting for Fortran
[fpm-deps](https://github.com/ivan-pi/fpm-deps): generates dependency graphs of Fortran packages, by Ivan Pribec
[fpm-search](https://github.com/urbanjost/fpm-search): finds information about registered fpm (Fortran Package Manager) packages, by urbanjost
[libfde](https://github.com/Zorkator/libfde): Fortran Development Extensions (library), by Zorkator
[m_err2](https://github.com/mgoonde/m_err2): independent error-storing and reporting type, using the __FILE__ and __LINE__ macros of the C-preprocessor, by Miha Gunde
[prep](https://github.com/urbanjost/prep): streamlined pre-processor primarily designed for use with Fortran, by urbanjost. It does not support procedural macros but does support variable substitution and reusable free-format text blocks which allows for basic templating as well as easy construction of multi-line CHARACTER variables; and is quite capable of supporting traditional conditional compilation.
[progress-bar](https://github.com/zoziha/progress-bar): simple progress bar module that is typically used to display the time integration process, by zoziha
[progRESS+repORT (progrep}](https://github.com/SomajitDey/progrep): utility to show live progress, status and stats of a running simulation or any compute job that executes a given number of iterations, by SomajitDey. Progrep can report for both serial (single-core) and parallel (multi-core/multi-node - e.g. OpenMP/MPI) jobs.
[symengine.f90](https://github.com/symengine/symengine.f90): Fortran wrappers by Rikard Nordgren and Ondřej Čertík of SymEngine, a fast symbolic manipulation library, written in C++
[to_f90](https://github.com/jbdv-no/to_f90): Alan Miller's tool for converting Fortran 77 code to free-form Fortran 90 code, from jbdv-no
[urclfortran](https://github.com/Verlio-H/urclfortran): work-in-progress Fortran compiler written in modern fortran, currently targeting 16 bit URCL, by Verlio-H. Also [urcl-ld](https://github.com/Verlio-H/urcl-ld) to link URCL files.
[version-f](https://github.com/minhqdao/version-f): implementation of [Semantic Versioning 2.0.0](https://semver.org/) by Minh Dao that aims to be a user-friendly tool for handling versions in Fortran projects.
## Compiler Tests
[AdHoc](https://github.com/rouson/bug-reports): archives ad hoc tests for modern Fortran compilers used by Sourcery Institute, Sourcery, Inc., their collaborators, sponsors, and clients. These tests emphasize support for the Fortran 2003 and 2008 standards along with features proposed for Fortran 2015 in technical specification TS 29113 Further Interoperability with C and the draft technical specification TS 18508 Additional Parallel Features in Fortran.
[compiler-bugs](https://github.com/btrettel/compiler-bugs): bug reports for Fortran compilers made by Ben Trettel
[compiler-test-suite](https://github.com/fujitsu/compiler-test-suite): test suite for C/C++/Fortran compilers developed by Fujitsu
[FCVS_95](https://github.com/gklimowicz/FCVS_95): modified version of NIST F77 validation suite, updated for Fortran 95. The original is [FCVS](https://github.com/gklimowicz/FCVS).
[fortran-compiler-tests](https://github.com/nncarlson/fortran-compiler-tests): collection of Fortran compiler bug examples and tests, by nncarlson
[fortran_oo](https://github.com/pletzer/fortran_oo): tests compiler support of object-oriented programming features, by Alex Pletzer and Wolfgang Hayek
[Fortran Tests](https://github.com/lanl/fortran-tests): set of tests for Modern Fortran, by Galen M. Shipman
[fortran-wringer-tests](https://github.com/klausler/fortran-wringer-tests): collection of non-portable Fortran usage, standard-conformant or otherwise, by Peter Klausler, accumulated during the development of the f18 Fortran compiler (also known as "LLVM Flang")
[infnan](https://github.com/