# New Fortran projects

**URL:** <https://fortran-lang.discourse.group/t/new-fortran-projects/2000>\
**Category:** Uncategorized\
**Created:** [October 4, 2021, 3:44pm UTC](https://fortran-lang.discourse.group/t/new-fortran-projects/2000 "2021-10-04T15:44:46Z")\
**Posts on this page:** 4\
**Page:** 4

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [March 5, 2025, 7:38pm UTC](https://fortran-lang.discourse.group/t/new-fortran-projects/2000/61 "2025-03-05T19:38:00Z")

</div>

update since Feb 8, full list [here](https://github.com/Beliavsky/Fortran-code-on-GitHub/blob/main/README.md)

## Art and Music

[MZ2SYNTH](https://github.com/frankenbeans/MZ2SYNTH): wavetable synthesizer by E. Lamprecht inspired by the ANS synthesizer built by Yevgeny Murzin

## Astronomy and Astrophysics

[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.

[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)

[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).

[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.

[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).

[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.

[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

[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.

[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)

## Benchmarks and Benchmarking

[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.

## Biology and Medicine

[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.

[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).

## Climate and Weather

[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)

[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).

[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.

[libtdlpack](https://github.com/NOAA-MDL/libtdlpack): subset of subroutines from the MOS-2000 Software System for the TDLPACK data format, from NOAA-MDL

## Code Tools

[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

[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.

## Computational Chemistry

[freemol](https://github.com/mariotti/freemol): framework for computational chemistry, containing the programs **adfrom** , a code to work with ADF (Amsterdam Density Functional), **ch4sym2cart** to convert coordinates from symmetric to Cartesian for CH4 (Methane)-like molecules, **CSMG** to compute the CSM “Continuous Symmetry Measure” of weighted point objects using Gaussian functions, **fit1Dpol** to fit 1-D functions, and **XY4Coord** and **XY4PolySphere** for coordinate transformations, by Fabio Mariotti

[symm](https://github.com/watfros/symm): integration and modification of [VMD](https://www.ks.uiuc.edu/Research/vmd/) and [SYVA](https://www.sciencedirect.com/science/article/abs/pii/S0010465517300310) software to analyze the symmetrical elements and point groups of molecules, as well as to visualize them, associated with the paper [Visualizing Symmetry: A Resource for Chemical Education with VMD and SYVA Programs](https://pubs.acs.org/doi/10.1021/acs.jchemed.4c00530), by Qingyan Zeng and Jinglin Mu, _Journal of Chemical Education_ (2024)

## Containers and Generic Programming

[murmur3f](https://github.com/marshallward/murmur3f): implementation of Murmur3, a non-cryptographic hash function, by Marshall Ward

[Traits-for-Fortran](https://github.com/difference-scheme/Traits-for-Fortran): A traits system for Fortran is described, by Konstantinos Kifonidis et al. Its aim is to endow the language with state-of-the-art capabilities for both compile-time and run-time polymorphism, that are similar to those of the Swift, Rust, Go, or Carbon languages.

## Computational Fluid Dynamics

[Compressible-Flow](https://github.com/obdwinston/Compressible-Flow): Riemann solver for the Euler equations on an unstructured triangular mesh using the finite volume method, by Winston Ong. The HLLC fluxes are computed by solving the x-split Riemann problem at each face, taking advantage of the rotational invariance of the flux vectors. Also [Incompressible-Flow](https://github.com/obdwinston/Incompressible-Flow) which implements Chorin’s projection method to solve the incompressible Navier-Stokes equations on an unstructured triangular mesh using the finite volume method.

[flop](https://github.com/degawa/flop): operator-oriented library for two-dimensional incompressible fluid flow simulation, by Tomohiro Degawa

[fvm-source-wb](https://github.com/hanveiga/fvm-source-wb): finite volume method code for Euler equations with source and well balancedness, by Maria Veiga. Also [1d-dg-nn](https://github.com/hanveiga/1d-dg-nn), a 1D discontinuous Galerkin code integrated with a neural net.

[Glenn Flux Reconstruction (GFR)](https://github.com/nasa/GFR): high-order computational fluid dynamics code for large-eddy simulations, by scspiegel and Jason Duley. It is based on the simple and efficient flux reconstruction method and accurate to arbitrary order through a user-supplied input parameter.

[MUltiScale Simulation Tribology (MUSST)](https://github.com/TRIBO-Pprime/MUSST): implements the finite element method on Reynolds’ equation, by Noël Brunetière and Arthur Francisco. It can solve a large variety of problems with standard geometries like sliders, bearings and pockets.

[NavierStokes-2D-ChannelFlow](https://github.com/MRLintern/NavierStokes-2D-ChannelFlow): 2D Navier-Stokes equation solver, discretized using Finite Differences and solved via the successive over-Relaxation (SOR) method, by Matthew Lintern-Monro

[Neko](https://github.com/ExtremeFLOW/neko): portable framework for high-order spectral element flow simulations, by Niclas Jansson et al. It adopts an object-oriented approach, allowing multi-tier abstractions of the solver stack and facilitating various hardware backends ranging from general-purpose processors, CUDA and HIP enabled accelerators to SX-Aurora vector processors.

[TLNS3D](https://github.com/nasa/TLNS3D): solves Reynolds-averaged Navier-Stokes Equations to simulate turbulent, viscous flows over three-dimensional configurations, from NASA. A general multiblock grid approach is used to model complex configurations.

[VortoNeX](https://github.com/CPimentelMx/VortoNeX): code associated with paper [The Full Non-linear Vortex Tube-Vorton Method: the pre-stall condition](https://github.com/CPimentelMx/VortoNeX), by Jesus Carlos Pimentel-Garcia, _Advances in Aerodynamics_, (2024)

## Dates and Times

[Fortran Date/Time Utilities](https://github.com/artkula/fortran-datetime-utils): comprehensive module for handling date and time operations with robust error handling and formatting capabilities, by artkula. It can display current date, time, and day of week, show timezone information, calculate days left in the current year, detect leap years, and calculate time differences.

## Earth Science

[2DGeoHF](https://github.com/MRLintern/2DGeoHF): object-oriented multithreaded (via the OpenMP API) solver for 2D heat diffusion through different geological materials (rock types), by Matthew Lintern-Monro

[buoyant-tracers](https://github.com/jmeach97/buoyant-tracers): code for buoyant tracer simulations, by jmeach97

[Coastal Generalized Ecosystem Model (CGEM)](https://github.com/USEPA/CGEM): biogeochemical model designed to address eutrophication, dissolved oxygen, and acidification dynamics in coastal and freshwater ecosystems, by Cody Simmons and Wilson Melendez. It simulates biogeochemical processes regulating carbon, oxygen, nutrients, phytoplankton, and zooplankton, and includes numerous model formulations and variable phytoplankton functional types that can be modified based on site specific model requirements.

[dgswem](https://github.com/foci/dgswem): Discontinuous Galerkin Shallow Water Equation Model, by Dylan Wood et al.

[Flexible Snow Model (FSM2)](https://github.com/RichardEssery/FSM2): multi-physics energy balance model of snow accumulation and melt, extending the Factorial Snow Model with additional physics, driving and output options. An associated preprint is [A Flexible Snow Model (FSM 2.1.0) including a forest canopy](https://egusphere.copernicus.org/preprints/2024/egusphere-2024-2546/), by Richard Essery et al., _EGUsphere_ (2024).

[gflow1](https://github.com/USEPA/gflow1): analytic element groundwater solver by Henk M. Haitjema. It solves steady state groundwater flow in a single aquifer, with support for conjunctive groundwater/surface water solutions, and interface seawater intrusion solutions.

[H08](https://github.com/h08model/H08): global hydrological model that can be applied to elucidate various global water and environmental issues and be used for regional simulations at high spatial resolution, by Chihiro298 et al.

[hydroanalyzer\_fortran](https://github.com/khaors/hydroanalyzer_fortran): program to analyze hydrological information, focused on frequency analysis of discharge data, calculating the potential evapotranspiration on a monthly scale using different methods, and performing a simple soil water balance using the [Thornwaite method](https://wwwbrr.cr.usgs.gov/projects/SW_MoWS/Thornthwaite.html), by Oscar Garcia-Cabrejo

[HYPO3D](https://github.com/firbas/hypo3d): program to determine the hypocenter and magnitude of local earthquakes, by Milan Werl and Petr Firbas. It solves earthquake location within a 3-dimensional velocity model.

[HypoInverse](https://github.com/BORONG-SEIS/HypoInverse): program that processes files of seismic station data for an earthquake (like p wave arrival times and seismogram amplitudes and durations) into earthquake locations and magnitudes, by Fred W. Klein, updated for use in [QuakeFlow](https://github.com/AI4EPS/QuakeFlow)

[isola](https://github.com/esokos/isola): moment tensor retrieval software, a combination of Matlab graphic user interface (by E. Sokos) and Fortran codes (by J. Zahradník), intended for a transparent and detailed manual processing of selected events (earthquakes)

[k223d](https://github.com/s-murfy/k223d): produces fractal stochastic slip distributions on non-planar faults that are described by triangular mesh, by Shane Murphy. The program will also provide the rupture time for each location on the fault plane for a given nucleation location and rupture velocity. Also [StrikeSlipDef](https://github.com/s-murfy/StrikeSlipDef) to calculate surface displacement due to a slowly propagating earthquake source.

[modaem](https://github.com/kelsonengineering/modaem): single-layer, steady-state analytic element groundwater flow model that has been enhanced for use with [GMS](https://aquaveo.com/software/gms/introduction), by Vic Kelson

[Modified\_Cam\_Clay\_Potts](https://github.com/CriticalSoilModels/Modified_Cam_Clay_Potts): [Modified cam clay](https://doc.comsol.com/5.5/doc/com.comsol.help.sme/sme_ug_theory.06.31.html#3443214) with Mohr-Coulomb surface in the deviatoric plane, from CriticalSoilModels. Also [Strain\_Rate\_Mohr\_Coulomb](https://github.com/CriticalSoilModels/Strain_Rate_Mohr_Coulomb), associated with the paper [Constitutive modelling of non-cohesive soils under high-strain rates: a consistency approach](https://www.icevirtuallibrary.com/doi/10.1680/jgeot.21.00192) by Luis E. Zambrano-Cruzatty et al., _Géotechnique_ (2024).

[NMSplit90](https://github.com/williameaton/NMSplit90): programs to compute splitting functions of normal modes due to Inner Core anisotropy, by Will Eaton, in some cases translating code by Jeroen Tromp

[Piecewise Potential Vorticity Inversion (PPVI)](https://github.com/1JunGu/PPVI): ingests model forecast and analysis from the GFS, IFS and GFDL SHiELD models, so that the total potential vorticity (PV) field can be calculated from total ϕ, T, and u-,v-wind fields, by Jun Gu

[Orchestrator-TSDHN (picv-2025)](https://github.com/totallynotdavid/picv-2025): tool for estimating distant source tsunami parameters using numerical simulations, by David. It combines the TSDHN model in Fortran with an API in Python that processes initial seismic data, such as earthquake location and magnitude, to calculate variables such as: seismic rupture dimensions, seismic moment and crustal displacement.

[(T)emperature, Heat Flow (Q), (Tec)tonics (tqtec)](https://github.com/mherman09/tqtec): calculates the one-dimensional transient thermal field for an area that experiences processes occurring at tectonic plate boundaries, by Matthew Herman et al. The package includes tools for estimating thermochronologic observables corresponding to the temperature history.

## Error Handling

[assert](https://github.com/BerkeleyLab/assert): simple assertion utility taking advantage of the Fortran 2018 standard’s introduction of variable stop codes and error termination inside pure procedures, by Damian Rouson

## Fast Fourier Transform

[DataTyped Fast Fourier Transform (dtFFT)](https://github.com/ShatrovOA/dtFFT): performs FFT on a distributed memory cluster, using MPI to handle communications between processes, by Oleg Shatrov. The main idea of this library is to implement zero-copy algorithms in 2d and 3d cases.

## File I/O

[fcat](https://github.com/soonsimple/fcat): port of `cat` command used to concatenate file(s) to standard output, by soonsimple

[fed](https://github.com/degawa/fed): functions to make it easier to create Fortran edit descriptors, by Tomohiro Degawa

## Finite Elements

[rbf](https://github.com/nasa/rbf): mode shape interpolation via radial basis functions, by Steven J. Massey

## Games and Puzzles

[FORage](https://github.com/sebastian-mutz/forage): simple, postapocalyptic, pigeon-themed expedition manager game, by Sebastian Mutz

[Fortran-Engine](https://github.com/hyper2snyper/Fortran-Engine): game engine in Fortran, only using C as a way to call NCurses functions for ease of display, by hyper2snyper. The games created are Snake, Tanks and Dungeon.

## General Purpose

[fortran-requests](https://github.com/14NGiestas/fortran-requests): analog to the Python [requests](https://pypi.org/project/requests/) module, by Ian Giestas Pauli – a work in progress

[fortran-time-measurement](https://github.com/degawa/fortran-time-measurement): provides timing routines using `system_clock`, `cpu_time`, `date_and_time`, and `omp_get_wtime` for the Intel, PGI, GNU Fortran compilers, and `QueryPerformanceCounter` on Windows, by Tomohiro Degawa

[orbs](https://github.com/degawa/orbs): wrapper that allows arithmetic operations for [stdlib\_bitsets](https://stdlib.fortran-lang.org/page/specs/stdlib_bitsets.html), by Tomohiro Degawa. It expands the range of information conveyed by bitsets by providing several operators, including logical, shift, and arithmetic operators on the bitset.

[Watch](https://github.com/Beliavsky/Watch): compute and display the CPU and wall time elapsed at break points in a program, by Beliavsky

## Graphics, Plotting, and User Interfaces

[FVisualizer](https://github.com/Lor1290/FVisualizer): tool made with GTK to visualize math equations, by PoliCoding

## Interoperability

[node-fortran](https://github.com/IonicaBizau/node-fortran): bridge allowing Fortran code to be run from Node.js, by Ionică Bizău. Also [node.fortran](https://github.com/IonicaBizau/node.fortran) to execute Node.js in Fortran programs.

## Interpolation

[gf\_int\_node](https://github.com/gfell/gf_int_node): subroutines to find the index of the right interpolating node for each data point in an ordered array, by Giulio Fella. It speeds up computation by exploiting the ordering of both the array of interpolating nodes and of the array of data points.

[polynomial\_interpolation](https://github.com/jlm785/polynomial_interpolation): Lagrange polynomial interpolation with derivatives and error indication, by José Luís Martins

[spline\_interpolation\_fortran](https://github.com/jlm785/spline_interpolation_fortran): spline subroutines written by Rondall E. Jones, modernized by José Luís Martins

## Linear Algebra

[Bolander-Linear-Algebra-Library](https://github.com/bolanderc/Bolander-Linear-Algebra-Library): implements several numerical linear algebra techniques for solving systems of equations, finding eigenvalues and decomposition techniques, by Christian Bolander

[hello-sparse-blas](https://github.com/jfdev001/hello-sparse-blas): minimal sparse BLAS CMake project with Fortran and Intel MKL, demonstrating sparse matrix-vector multiplication, by Jared Frazier

[Interpolative Decomposition Library (libid)](https://github.com/fastalgorithms/libid): a related preprint is [ID: a software package for low-rank approximation of matrices via interpolative decompositions](https://tygert.com/id_doc.4.pdf), by P. Martinsson et al. (2014)

[kiss](https://github.com/ivan-pi/kiss): Krylov-based iterative sparse solvers, by Ivan Pribec

[polynomial\_arnoldi](https://github.com/loiseaujc/polynomial_arnoldi): polynomial Arnoldi preconditioner for GMRES, applied to the 2D Poisson equation, by Jean-Christophe Loiseau

[SpecialMatrices](https://github.com/loiseaujc/SpecialMatrices): simple package providing specialized routines for operations such as computing the determinant, inverse, singular value decomposition, and eigenvalues, for common structured matrix types, such as diagonal, bidiagonal, tridiagonal, symmetric tridiagonal, Poisson2D, by Jean-Christophe Loiseau

## Materials Science

[AMSimulator](https://github.com/Shahid718/AMSimulator): code associated with the paper [High performance additive manufacturing phase field simulation: Fortran Do Concurrent vs OpenMP](https://www.sciencedirect.com/science/article/abs/pii/S0927025625001314), by Shahid Maqbool and Byeong-Joo Lee, _Computational Materials Science_ (2025)

[CompDam - Deformation Gradient Decomposition (DGD)](https://github.com/nasa/CompDam_DGD): continuum damage mechanics (CDM) material model intended for use with the Abaqus finite element code, by Frank A. Leone et al. It aims to provide an accurate representation of mesoscale damage modes in fiber-reinforced polymer composite materials in finite element models in which each ply is discretely represented.

[LUSE\_ENGR851\_ICME](https://github.com/jmanthony3/LUSE_ENGR851_ICME): scripts necessary to bridge certain length scales of Integrated Computational Materials Engineering design process, by Joby M. Anthony III

## Molecular Dynamics

[dynamon](https://github.com/boneta/dynamon): general-purpose script for common calculations with fDynamo, associated with the book [A Practical Introduction to the Simulation of Molecular Systems](https://www.amazon.com/Practical-Introduction-Simulation-Molecular-Systems/dp/052158129X), by Martin J. Field, Cambridge University Press (1999)

[laser\_diatom\_md](https://github.com/Shikshokio/laser_diatom_md): time-dependent molecular dynamics simulation of a gas of diatomic molecules (several molecular parameters, such as mass, bond length and force parameters may be chosen), by Shikshokio. A related paper is [Dynamics and Hydrodynamics of Molecular Superrotors](https://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cphc.201600508), by Uri Steinitz et al., _ChemPhysChem_ (2016).

## Multiple Precision

[814-fm-2001](https://github.com/ToMs-Algo/814-fm-2001): [Algorithm 814: Fortran 90 software for floating-point multiple precision arithmetic, gamma and related functions](https://dl.acm.org/doi/10.1145/504210.504211), by David M. Smith, whose [site](https://dmsmith.lmu.build/) has the latest version. Also [911-fm-2010](https://github.com/ToMs-Algo/911-fm-2010), Algorithm 911: Multiple-Precision Exponential Integral and Related Functions, and [786-fm-1997](https://github.com/ToMs-Algo/786-fm-1997), Algorithm 786: multiple-precision complex arithmetic and functions.

[MPFUN2020](https://github.com/jacobwilliams/MPFUN2020): thread-safe arbitrary precision package that enables one to perform floating-point computations (real and complex) to arbitrarily high numeric precision, by making only relatively minor changes to existing Fortran-90 programs (mostly changes to type statements), by David H. Bailey. All basic arithmetic operations and transcendental functions are supported, together with several special functions. FPM package by Jacob Williams [here](https://github.com/jacobwilliams/mpfun2020-var1). Bailey’s [High-Precision Software Directory](https://www.davidhbailey.com/dhbsoftware/) also has **DQFUN** : A double-quad precision package with special functions (approx. 66 digits), **QXFUN** : A quad precision package with special functions (approx. 33 digits), and **DDFUN** : A double-double precision package with special functions (approx. 30 digits).

[QD](https://github.com/BL-highprecision/QD): double-double and quad-double package for Fortran and C++, by Michael Orlitzky and X. Sherry Li

## Neural Networks and Machine Learning

[Fortran-ML-Interface](https://github.com/RWTH-HPC/Fortran-ML-Interface): interface to the [AIxeleratorService](https://github.com/RWTH-HPC/AIxeleratorService), a library to couple HPC applications with machine/deep learning inference accelerated on GPUs or other devices, from RWTH-HPC

[KohonenF08](https://github.com/khaors/KohonenF08): library for Self-Organizing Maps using object-oriented programming and modern Fortran features, by Oscar Garcia-Cabrejo

## Nonlinear Equations

[NITSOL2](https://github.com/vadim-z/NITSOL2): version of NITSOL, the inexact Newton-Krylov solver, without common blocks and some extra parameters, such as to set the finite-difference precision, by Vadim Zborovskii

## Numerical

[Burkardt-Fortran-90-codes](https://github.com/Beliavsky/Burkardt-Fortran-90-codes): codes for cluster analysis, combinatorics, computational geometry, eigenvalues, FFTs, graph algorithms, interpolation and approximation, dense and sparse linear algebra, nonlinear equations and nonlinear least squares, uniform and non-uniform random number generation, quasirandom number generation, optimization, probability distributions, numerical integration, root-finding, sorting, special functions, wavelet transforms, and other topics, by John Burkardt. Codes from his older site are [here](https://github.com/Beliavsky/Burkardt-Fortran-90-codes-SC).

[Numeric Library for Modern Fortran (fortran-numeric)](https://github.com/degawa/fortran-numeric): deals with integers (handling integer constants, digits, convert to string with format), reals (handling real constants, convert to string with format), and NaN (handling quiet NaN and positive/negative inf as constants, check whether an array of floating-point numbers has at least one quiet nan, positive/negative inf value), by Tomohiro Degawa

## Optimization

[conmin](https://github.com/jacobwilliams/conmin): subroutine for the solution of linear or nonlinear constrained optimization problems, by G. N. Vanderplaats, updated by Jacob Williams

[dfo](https://github.com/jacobwilliams/dfo): package for solving general nonlinear optimization problems that have the following characteristics: they are relatively small scale (less than 100 variables) and their objective function is relatively expensive to compute and derivatives of such functions are not available, from COIN-OR

[Diver](https://github.com/diveropt/Diver): fast parameter sampler and optimiser based on differential evolution, by Pat Scott et al.

[optgra](https://github.com/jacobwilliams/optgra): optimization algorithm specifically designed for near-linear constrained problems, which commonly occur in trajectory optimization, developed and implemented by Johannes Schoenmaekers, and modernized by Jacob Williams

[psqp](https://github.com/jacobwilliams/psqp): sequential quadratic programming algorithm, with simple bounds on variables and general nonlinear constraints, by Ladislav Luksan, modernized by Jacob Williams. Other optimization codes are at Luksan’s [site](https://www.cs.cas.cz/~luksan/subroutines.html).

[schittkowski-test-problems](https://github.com/jacobwilliams/schittkowski-test-problems): an associated book is [More Test Examples for Nonlinear Programming](https://link.springer.com/book/10.1007/978-3-642-61582-5), by Klaus Schittkowski, Springer (1987)

## Partial Differential Equations

[Fortran-Heat-Equation-Solver](https://github.com/KyFaxTeam/Fortran-Heat-Equation-Solver): solves the heat equation in one spatial dimension with the implicit Euler method, spatial discretization by centered finite differences of order 2 and a conjugate gradient solver parallelized with MPI, by Yanel Aina and Elonm

## Particle Physics

[subnucleondiffraction](https://github.com/hejajama/subnucleondiffraction): calculates diffractive vector meson production at high energy. An associated paper is [Revealing proton shape fluctuations with incoherent diffraction at high energy](https://link.aps.org/accepted/10.1103/PhysRevD.94.034042), by Heikki M antysaari and Bjorn Schenke, _Physical Review D_ (2016)

[SuperChic](https://github.com/LucianHL/SuperChic): Monte Carlo event generator for central exclusive production, by LucianHL

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [March 5, 2025, 7:38pm UTC](https://fortran-lang.discourse.group/t/new-fortran-projects/2000/62 "2025-03-05T19:38:36Z")

</div>

continuation of previous message

## Physics

[chiralpl](https://github.com/louisminion/chiralpl): simulates vibronic spectra of aggregates of organic chromophores using the Holstein Hamiltonian in the multiparticle basis spectra, by Louis Alvar Minion

[CODE-GPSD-3D](https://github.com/mkmat/CODE-GPSD-3D): code associated with paper [Generalized geometric pore size distribution code GPSD-3D for periodic systems composed of monodisperse spheres](https://www.sciencedirect.com/science/article/pii/S0010465524001358), by Martin Kröger et al., _Computer Physics Communications_ (2024)

[Flash-X-snia-stage](https://github.com/deanmtownsley/Flash-X-snia-stage): highly composable multiphysics software system that can be used to simulate physical phenomena in several scientific domains, by Dean Townsley et al. The Flash-X architecture has been redesigned to be compatible with increasingly heterogeneous hardware platforms.

[gensaw](https://github.com/mkmat/gensaw): code associated with paper [Efficient generation of self-avoiding, semiflexible rotational isomeric chain ensembles in bulk, in confined geometries, and on surfaces](https://www.sciencedirect.com/science/article/pii/S0010465521002885), by O. Weismantel et al., _Computer Physics Communications_ (2022)

[PyGeTe](https://github.com/dquigley533/PyGeTe): implementation Fortran of the [Zipoli & Curioni many-body GeTe potential](https://iopscience.iop.org/article/10.1088/1367-2630/15/12/123006) optimised for Monte Carlo simulations in Python, by David Quigley

[Single-particle IMage Processing Linux Engine (SIMPLE)](https://github.com/hael/SIMPLE): package for analysis of cryogenic transmission electron microscopy (cryo-EM) movies of single-particles (Single-Particle Analysis, SPA), by Hans Elmlund et al.

[v2qgt](https://github.com/yutqian/v2qgt): provides an efficient tool for calculating the quantum geometric tensor (QGT) directly from DFT calculations, by yutqian. The code is based on VASPBERRY but includes important fixes and enhancements and extends functionality to support both 2D and 3D materials.

[X-ray-induced Thermal And Nonthermal Transitions (XTANT-3)](https://github.com/N-Medvedev/XTANT-3): An associated paper is [Electron-phonon coupling in metals at high electronic temperatures](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.102.064302), by N. Medvedev and I. Milov, Phys. Rev. B. (2020)

[Zoa Optical Analysis](https://github.com/jnez137/zoa): cross-platform optical design and analysis tool, by jnez13. It is built on [KDP-2](http://www.ecalculations.com/) with the primary change being to migrate the UI from using a commercial GUI toolset to gtk4 via the gtk-fortran language binding, so that it can be built and run using open source software.

## Quantum Chemistry and Electronic Structure

[Atomic Energy NETwork (aenet)](https://github.com/atomisticnet/aenet): collection of tools for the construction and application of atomic interaction potentials based on artificial neural networks (ANN), by Nongnuch Artrith and Alexander Urban. The ænet code allows the accurate interpolation of structural energies, e.g., from electronic structure calculations, using ANNs. [ænet-PyTorch](https://github.com/atomisticnet/aenet-PyTorch) is an extension of that code to allow GPU-support for the training process of ænet, substituting the train.x training step.

[Behler-Parrinello neural NETwork potential (BPNET)](https://github.com/cometscome/BPNET): implementation of machine learning potential construction, using modern Fortran for high-performance computation and Julia (under development) for flexible model training, by Yuki Nagai

[b-spline-two-e](https://github.com/edvinolo/b-spline-two-e): computes matrix elements for non-relativistic, two-electron atoms using B-spline orbitals, by Edvin Olofsson

[nio](https://github.com/HratchianGroup/nio): program for carrying out natural ionization orbital analysis, by Hrant P. Hratchian and Andrew Bovill

[periodic-io](https://github.com/moritzgubler/periodic-io): library to read and write most of the atomic file formats and convert between formats, by Moritz Gubler. Supported file formats are .ascii, .in (FHI-AIMS), .xyz, .cif, .gen (DFTB), .qe (QUANTUM-ESPRESSO), and .vasp POSCAR (vasp).

[pseudopotential](https://github.com/jlm785/pseudopotential): modernized atomic configuration and pseudopotential generation code, associated with the paper [Efficient pseudopotentials for plane-wave calculations](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.43.1993), by Norm Troullier and José Luís Martins, _Physical Review B_ (1991). Also [cpw2000](https://github.com/jlm785/cpw2000), a density functional theory pseudopotential plane-wave code.

[standalone\_noft](https://github.com/marm314/standalone_noft): stand-alone version of the [DoNOF](https://github.com/marm314/standalone_noft) code for running Reduced Density Matrix Functional Theory (RDMFT) and Natural Orbital Functional Theory (NOFT) calculations, by M. Rodriguez-Mayorga

## Root Finding

[FORTRAN-Roots](https://github.com/bryand4140/FORTRAN-Roots): subroutines to find the roots of a single-valued function within a bounded interval, using a combination of Brent’s method, the secant method, and interpolation, and to find the real and complex roots of an nth-degree polynomial, by Bryan Durham

## Special Functions

[spherical\_bessel\_fortran](https://github.com/jlm785/spherical_bessel_fortran): calculates the spherical Bessel function of first kind j\_n(x) Formulas 10.1.2, 10.1.19 and 10.1.59 of Abramowitz and Stegun, SphericalBesselJ[n,x] of Mathematica, by José Luís Martins

## Statistics

[Elementary Data Analysis Toolkit (EDAT)](https://github.com/koseiohara/EDAT): functions for strings and to compute the correlation, covariance, variance, mean, sum (using accurate pairwise summation), subroutines for I/O, and a module of math constants from math.h, by Kosei Ohara

[FJsample](https://github.com/RJaBi/FJsample): jackknife resampling, with Python bindings, by Ryan Bignell

[MCMC f90 library](https://github.com/mjlaine/mcmcf90): do Markov chain Monte Carlo simulation from a posterior distribution of unknown model parameters defined by a likelihood function and prior, by mjlaine. Also [MOdel ESTimation (Modest)](https://github.com/mjlaine/modest), a program package for parameter estimation of mechanistic mathematical models as well as for experimental design.

## Strings

[bstrith](https://github.com/degawa/bstrith): provides procedures for arithmetic operations on binary numbers in strings, by Tomohiro Degawa

[Fortran Tokenizer](https://github.com/14NGiestas/fortran-tokenizer): basic tokenizer that allows users to easily customize its behavior by defining a function that receives a `character(*), intent(in) :: token` and returns `.true.` if the string received by the function is a valid token, by Ian Giestas Pauli

## Time Series

[CWT](https://github.com/khaors/CWT): calculates the Continuous Wavelet Transform of a signal using the Morlet and Mexican Hat mother wavelets, by Oscar Garcia-Cabrejo

[GARCH](https://github.com/Beliavsky/GARCH): simulation and estimation of ARCH and GARCH processes, used to model the time-varying standard deviation (volatility) of asset returns, with conditional distributions such as the normal, Laplace, and Student t, by Beliavsky

[nsmarkov-fortran](https://github.com/gfell/nsmarkov-fortran): subroutines to construct Markov chain approximations of (non-stationary) AR(1) processes as described in the paper [Markov-Chain Approximations for Life-Cycle Models"](https://www.sciencedirect.com/science/article/abs/pii/S1094202519301565) by Giulio Fella, Giovanni Gallipoli and Jutong Pan, _Review of Economic Dynamics_ (2019)

## Unit Testing

[testdrive\_util](https://github.com/degawa/testdrive_util): provides procedures to improve the convenience of [test-drive](https://github.com/fortran-lang/test-drive), by Tomohiro Degawa

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [May 18, 2025, 1:44am UTC](https://fortran-lang.discourse.group/t/new-fortran-projects/2000/63 "2025-05-18T01:44:37Z")

</div>

update since March 5, full list [here](https://beliavsky.github.io/Fortran-code-on-GitHub/)

## Art and Music

[fynth](https://github.com/JeffIrwin/fynth): synthesizer and audio processor, by Jeff Irwin

## Astronomy and Astrophysics

[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)

[Algorithm for Void Identification in coSMology (AVISM)](https://github.com/oscarmonllor99/AVISM): void finder algorithm combining both geometrical and dynamical information in order to identify voids within a specific input region in which a given set of particles (or a grid) have matter (density) and velocities well defined, by Oscar Monllor-Berbegal et al.

[BEAM\_beta](https://github.com/NASA-Planetary-Science/BEAM_beta): Monte Carlo radiative transfer Code for studies of Saturn’s rings, by Daniel Olson

[ellc](https://github.com/pmaxted/ellc): code associated with paper [ellc: A fast, flexible light curve model for detached eclipsing binary stars and transiting exoplanets](https://www.aanda.org/articles/aa/abs/2016/07/aa28579-16/aa28579-16.html), by Pierre Maxted, _Astronomy & Astrophysics_ (2016)

[EQUIB](https://github.com/equib/EQUIB): solves the statistical equilibrium equation for each ion and yields atomic level populations and line emissivities for given physical conditions, namely electron temperature and electron density, appropriate to the zones in an ionized nebula where the ions are expected to exist, by I. D. Howarth et al.

[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).

[Gadgetviewer](https://github.com/jchelly/gadgetviewer): program for visualisation of [Gadget](https://wwwmpa.mpa-garching.mpg.de/gadget/) N-body simulation snapshots, by John Helly et al. It can read Gadget type 1, type 2 and HDF5 snapshots and provides an interactive display of the particle distribution, optionally with SPH type smoothing and colouring by any quantity that can be read from the snapshot.

[Quadratic Interpolated State Transition (libqist)](https://github.com/DavidACunningham/libqist): library for fast propagation of second-order relative motion around arbitrary SPICE kernels, by David Cunningham and Ryan P. Russell. Since current and future space mission planning can require relative motion in regimes that are highly non-Keplerian and potentially non-linear, QIST is an attempt to build a generalized relative motion framework for a broad class of gravitational dynamics.

[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)

[mercury](https://github.com/Fenu24/mercury): modified version of the N-body code mercury, by John E. Chambers, associated with the paper [Mercury and OrbFit packages for numerical integration of planetary systems: implementation of the Yarkovsky and YORP effects](https://doiserbia.nb.rs/Article.aspx?id=1450-698X2204051F), by M. Fenucci and B. Novakovic, _Serbian Astronomical Journal_ (2022)

[Pade-disk-code](https://github.com/NASA-Planetary-Science/Pade-disk-code): simulates hydrodynamic turbulence in protoplanetary disks using a Pade/compact scheme, by Karim Shariff

[Pulse\_Profile\_Simulation](https://github.com/edavurgun/Pulse_Profile_Simulation): code for a relativistic pulse profile simulation from a rotating neutron star with one or two hot spots on its surface, by Eda Vurgun, based on the paper [Hot spots on neutron stars - The near-field gravitational lens](https://ui.adsabs.harvard.edu/abs/1983ApJ...274..846P/abstract), by K. R. Pechenick et al., _Astrophysical Journal_ (1983). Also [SPMHD](https://github.com/edavurgun/SPMHD) for numerical simulations with smoothed particle magnetohydrodynamics.

[SFT-1D](https://github.com/sr-dash/SFT-1D): surface flux transport modelling in one dimension (latitude), by Soumyaranjan Dash

[Starburst99](https://github.com/1digitaldesign/starburst99-v7.0.2): stellar population synthesis code for modeling the spectrophotometric and related properties of star-forming galaxies, by Claus Leitherer, updated by 1digitaldesign

[stingray](https://github.com/obreschkow/stingray): mock cone facility for astrophysical applications, by Danail Obreschkow. Also [nbodyx](https://github.com/obreschkow/nbodyx) to run direct gravitational N-body simulations, [procorr](https://github.com/obreschkow/procorr) to compute several correlation functions of periodic 3D density fields in a cubic box, and [surfsuite](https://github.com/obreschkow/surfsuite), a suite of routines to handle the particle data (positions and velocities) in large cosmological simulations, especially the [SURFS simulations](https://research-repository.uwa.edu.au/en/publications/surfs-riding-the-waves-with-synthetic-universes-for-surveys) produced at ICRAR.

[SuperNu](https://github.com/lanl/SuperNu): Monte Carlo radiative transfer for supernova and kilonova spectra. An associated paper is [Radiation Transport for Explosive Outflows: Opacity Regrouping](https://iopscience.iop.org/article/10.1088/0067-0049/214/2/28), by Ryan T. Wollaeger and Daniel R. van Rossum, _Astrophysical Journal_ (2024).

[Yale Rotating Evolution Code (YREC)](https://github.com/yreclab/yrec): pseudo-2D stellar evolution code with rotation, modern microphysics, and starspots, by Lyra Cao and Kaili Cao

## Automatic Differentiation

[Differentia](https://github.com/Nicholaswogan/Differentia): 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)

[hyperdualize-fortran](https://github.com/atmmod/hyperdualize-fortran): Python script that converts Fortran source code by replacing standard numeric type declarations (e.g., `real`, `double precision`, `int`, `integer`) with a custom Fortran type `type(hyperdual)`, from atmmod. It also converts variable initializationsâincluding scalars and arraysâto calls to the hyperdual constructor and automatically inserts a `use HDMod` statement into modules, programs, subroutines, or functions that need it.

## Benchmarks and Benchmarking

[fortran\_benchmarks](https://github.com/jannisteunissen/fortran_benchmarks): small benchmarks for allocation, intrinsic functions, function pointers vs. if statements, and `select case`, by Jannis Teunissen

[Whetstone](https://github.com/akrivitsky7/Whetstone): Whetstone performance testing in Java, C, Fortran and Free Pascal, by Anatoly S. Krivitsky

## Biology and Medicine

[DISCOVER](https://github.com/NKI-CCB/DISCOVER): co-occurrence and mutual exclusivity analysis for cancer genomics data. An associated paper is [A novel independence test for somatic alterations in cancer shows that biology drives mutual exclusivity but chance explains most co-occurrence](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-016-1114-x), by Sander Canisius et al., _Genome Biology_ (2016).

[Haemflow-cl0](https://github.com/abdrysdale/Haemflow-cl0): cardiovascular model by Alex Drysdale for the venous and arterial systems based on the paper [A concentrated parameter model for the human cardiovascular system including heart valve dynamics and atrioventricular interaction](https://www.sciencedirect.com/science/article/abs/pii/S1350453305002195), by Theodosios Korakianitis and Yubing Shi, _Medical Engineering & Physics_ (2006)

[Hierarchical Clustering of Correlation Patterns (HCCP)](https://github.com/yesint/hccp): algorithm and software for dynamic domain identification in proteins. An associated paper is [Hierarchical clustering of the correlation patterns: New method of domain identification in proteins](https://www.sciencedirect.com/science/article/abs/pii/S0301462205001523), by S. O. Yesylevskyy et al., _Biophysical Chemistry_ (2006)

[ichthyotox](https://github.com/oceanicsdotio/ichthyotox): simulates drunk fish in dynamic environments, by Keeney

[Phytoplankton Individual-Based Model (PIBM)](https://github.com/BingzhangChen/PIBM): an associated paper is [PIBM 1.0: An individual-based model for simulating phytoplankton acclimation, diversity, and evolution in the ocean](https://gmd.copernicus.org/preprints/gmd-2024-130/), by Iria Sala and Bingzhang Chen, _Geoscientific Model Development_ (2024)

## Climate and Weather

[2L-DRM](https://github.com/erickjomp/2L-DRM): code associated with paper [Two-Layer Dynamic Recycling Model (2L-DRM): Learning from Moisture Tracking Models of Different Complexity](https://journals.ametsoc.org/view/journals/hydr/21/1/jhm-d-19-0101.1.xml), by F. Dominguez et al., _Journal of Hydrometeorology_ (2020)

[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

[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

[fortran-open-meteo](https://github.com/tkdhss111/fortran-open-meteo): Weather Forecasts Download Server for [Open-meteo](https://open-meteo.com/), by Hisashi Takeda

[HexKloud](https://github.com/louiswicker/HexKloud): Joe Klemp’s toy cloud model modified by NSSL scientists

[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.

[OGSTM](https://github.com/inogs/ogstm): offline transport reaction model used to solve temporal evolution of 3D Eulerian advection and diffusion processes, by Giorgio Bolzon and Paolo Lazzari. The tool is employed in the context of operational oceanography and to perform climate scenario simulations.

[System for Atmospheric Modeling (SAM\_SRCv6.11)](https://github.com/KuangLab-Harvard/SAM_SRCv6.11): evolved from the Large-Eddy Simulation (LES) model, from KuangLab-Harvard. Documented [here](https://harvardwiki.atlassian.net/wiki/spaces/climatemodeling/pages/54006192/SAM).

[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).

## Code Tools

[dbrew-for](https://github.com/ivan-pi/dbrew-for): interfaces to the DBrew library for Dynamic Binary Rewritingm by Ivan Pribec

[fpm-deps](https://github.com/ivan-pi/fpm-deps): generates dependency graphs of Fortran packages, by Ivan Pribec

[fpm-gdb](https://github.com/urbanjost/fpm-gdb): plugin for FPM that runs gdb in vim on Linux, by urbanjost

## Compiler Tests

[fortran\_unitialised\_vars](https://github.com/MartinDix/fortran_unitialised_vars): simple subroutines that check the ability of gfortran, ifort, and ifx to to detect uninitialized variables, by Martin Dix

## Computational Chemistry

[CDMSreader](https://github.com/banana-bred/CDMSreader): reads molecular transition data from the Cologne Database for Molecular Spectroscopy (CDMS) catalogue to determine the radiative lifetimes of the various states involved in the transitions, by banana-bred

[local\_dielectric\_saturation](https://github.com/janneforsman/local_dielectric_saturation): Metropolis Monte-Carlo program to study local dielectric saturation in Restricted Primitive Model electrolytes, by David Ribar and janneforsman. Also [modified\_widom](https://github.com/janneforsman/modified_widom) to study the structure and thermodynamics of ionic fluids

[M-ANEOS](https://github.com/isale-code/M-ANEOS): program for the construction of thermodynamic equations of state, which extends the ANEOS computer code developed at Sandia National Laboratories, by S. L. Thompson et al.

[Thermopack](https://github.com/jabirali/thermopack): thermodynamic model library for fluid properties and PVT (pressure-volume-temperature) calculations, from [SINTEF Energy Research](https://www.sintef.no/en/sintef-energy/)

[XIAM-2NQ](https://github.com/SvenHerbers/XIAM-2NQ): spectral fitting code that handles up to two quadrupolar nuclei and 4 internal rotors. An associated paper is [XIAM-NQ: Implementation of exact quadrupole coupling](https://www.sciencedirect.com/science/article/abs/pii/S0022285224000778), by Sven Herbers,

_Journal of Molecular Spectroscopy_ (2024).

## Containers and Generic Programming

[bitfield](https://github.com/PierUgit/bitfield): implementation of 1D bit array, by PierUgit

[fll](https://github.com/libm3l/fll): multi-level linked list library with parallel I/O, used in a project described in [Recent Developments in Fun3D and LoCi/CHEM CFD Codes Towards Multiphysics Modeling](https://arc.aiaa.org/doi/10.2514/6.2020-1033), by A. Jirasek and J. Seidel (2020)

[quadtree-fortran](https://github.com/gidonbauer/quadtree-fortran): quadtree implementation by Gidon Bauer

## Computational Fluid Dynamics

[Canonical Large-Eddy Simulation (CaLES)](https://github.com/soaringxmc/CaLES): GPU-accelerated finite-difference solver designed for large-eddy simulations (LES) of incompressible wall-bounded flows in massively parallel environments, built upon the existing direct numerical simulation (DNS) solver CaNS, by Pedro Costa et al.

[CO2GraVISim](https://github.com/ajobutler/CO2GraVISim): reduced physics model of the flow of CO2 injected into a porous reservoir, by ajobutler

[Drops](https://github.com/nikoscham/Drops): simulation code for predicting the equilibrium shape of a droplet on a structured substrate by solving the Young-Laplace equation of capillary hydrostatics. An associated paper is [Enabling efficient energy barrier computations of wetting transitions on geometrically patterned surfaces](https://pubs.rsc.org/en/content/articlelanding/2013/sm/c3sm51377g), by Nikolaos T. Chamakos et al., _Soft Matter_ (2013).

[EulerFV](https://github.com/ackirby88/EulerFV): 2D unstructured finite volume Euler equation solver, by Andrew C. Kirby

[FLOW36](https://github.com/MultiphaseFlowLab/FLOW36): pseudo-spectral code for direct numerical simulation of multiphase turbulence based on a phase-field model approach. An associated paper is [FLOW36: A Spectral solver for phase-field based multiphase turbulence simulations on heterogeneous computing architectures](https://www.sciencedirect.com/science/article/pii/S0010465525001420), by Alessio Roccon et al., _Computer Physics Communications_ (2025).

[FSILBM3D](https://github.com/gaoak/FSILBM3D): fluid-structure interaction solver based on Lattice Boltzmann method, by Ankang Gao

[IBM\_TENO](https://github.com/FallenCastle/IBM_TENO): GPU-accelerated solver for simulating supersonic flows using a combination of the Immersed Boundary Method (IBM) and Targeted Essentially Non-Oscillatory (TENO) schemes, by FallenCastle. It is designed to handle complex geometries efficiently on CUDA-enabled GPUs. Also [MHD\_GDDC\_GPU](https://github.com/FallenCastle/MHD_GDDC_GPU), a GPU-accelerated code based on the TENO and Gradient Descent Divergence Cleaning method (GDDC) to solve the ideal magnetohydrodynamics equations.

[incomp3D](https://github.com/hirotori/incomp3D): Incompressible Fluid FLow Solver For Equal-Spaced Rectilinear Mesh, by hirotori

[ISBN9784274224706-fortran](https://github.com/DSCF-1224/ISBN9784274224706-fortran): code from the book [Learning Computational Fluid Dynamics in Python](https://www.ohmsha.co.jp/book/9784274224706/) (2020) by Takazo Fujii and Tomoaki Tachikawa translated by DSCF-1224

[MHIT36](https://github.com/MultiphaseFlowLab/MHIT36): code for direct numerical simulation of Navier-Stokes equation coupled with a phase-field method, Allen-Cahn Diffuse Interface (ACDI), for interface description, by Alessio Roccon et al. There is a multi-GPU version of MHIT36 using cuDecomp (Nvidia only).

[MovingEB\_CNSAMReX](https://github.com/nataraj2/MovingEB_CNSAMReX): implementation of a moving embedded boundary algorithm for compressible flows within the compressible Navier-Stokes (CNS) framework in AMReX, by Mahesh Natarajan. Also [AxisymmetricJet](https://github.com/nataraj2/AxisymmetricJet), a flow solver for compressible, axisymmetric, cylindrical, nozzle jets.

[multimat\_1drdg](https://github.com/lanl/multimat_1drdg): 1D discontinuous Galerkin solver for multi-material flows, associated with the paper [Multi-material hydrodynamics with algebraic sharp interface capturing](https://www.sciencedirect.com/science/article/abs/pii/S0045793020303741), by Aditya K. Pandare et al., _Computers & Fluids_ (2021)

[NCAR Turbulence with Lagrangian Particles (NTLP)](https://github.com/RichterLab/NTLP): simulates turbulent flows using Lagrangian particle tracking to model complex fluid element trajectories, from RichterLab

[Polymer\_DNS](https://github.com/ryankellybp11/Polymer_DNS): direct numerical simulation code for channel/boundary layer flows with an external force field, and optional passive scalar and polymer additives, by Ryan Kelly

[ppiclF](https://github.com/dpzwick/ppiclF): applications include element-based particle-in-cell simulations, such as Euler-Lagrange mutliphase flow simulation, immersed boundary methods, and even atomistic-scale modeling. An associated paper [ppiclF: A Parallel Particle-In-Cell Library in Fortran](https://joss.theoj.org/papers/10.21105/joss.01400), by David Zwick, _Journal of Open Source Software_ (2019).

[Rocflupicl](https://github.com/thierrydaoud/Rocflupicl): solves the three-dimensional time-dependent compressible Navier-Stokes equations

on moving and/or deforming unstructured grids, by Thierry Daoud and ATCouture

[SFEMaNS](https://github.com/jean-luc-guermond/SFEMaNS): code to solve the MHD equations in axi-symmetric domains, by Jean-Luc Guermond et al.

[SmartRedis-MPI](https://github.com/soaringxmc/smartredis-mpi): provides subroutines that facilitate communication between Computational Fluid Dynamics (CFD) solvers and Redis databases, by Maochao Xiao et al. Built on top of the SmartRedis library and Message Passing Interface (MPI), this library simplifies the process of storing and retrieving data from Redis databases in parallel computing environments.

## Cryptography

[MessageDigest-Fortran](https://github.com/LaplaceSoda/MessageDigest-Fortran): module for computing message digests like MD5, SHA256 and so on using the [OpenSSL](https://github.com/openssl/openssl) library, by LaplaceSoda

> **[GitHub - myWAveModel/WAM: Official repository for the third-generation...](https://github.com/myWAveModel/WAM)**
>
> Official repository for the third-generation spectral WAve Model WAM

## Earth Science

[3dVarBio](https://github.com/inogs/3dVarBio): variational method for data assimilation, associated with the paper [Parallel implementation of a data assimilation scheme for operational oceanography: The case of the MedBFM model system](https://www.sciencedirect.com/science/article/pii/S0098300418302334), by A. Teruzzi et al., _Computers & Geosciences_ (2019)

[Atmospheric Lagrangian dispersion (ATLASFlor)](https://github.com/ATLASFlor/ATLAS-1.0): atmospheric dispersion model tailored to volcanic tephra/ash particles, by Reckziegel Florencia et al.

[Community Fire Behavior Model (fire\_behavior)](https://github.com/NCAR/fire_behavior): simulates the evolution of wildland fires, by Pedro Jimenez Munoz et al.

[compute\_fsle\_ftlv](https://github.com/dcortales/compute_fsle_ftlv): module for computation of Lagrangian trajectories, Finite-Time Lagrangian Vorticity (FTLV) and Finite-Size Lyapunov Exponents (FSLE), by Diego Cortes Morales and Ismael Hernandez Carrasco

[Continuous Runoff and Erosion Hillslope model with DYnamic Surface properties (CREHDYS)](https://github.com/timoclement/CREHDYS): an associated thesis is [Effectiveness of conservation cropping practices in mitigating runoff, soil erosion, and pesticide surface losses in Northwestern Europe](https://dial.uclouvain.be/pr/boreal/object/boreal:299341), by TimothÃ©e Clement

[FEOTS](https://github.com/lanl/FEOTS): Fast Equilibration of Ocean Tracers, by Joe Schoonover et al.

[Global Carbon Assimilation System (GCASv2)](https://github.com/GuoyuanLv/GCASv2): atmospheric inversion system described in the paper [Regional COâ fluxes from 2010 to 2015 inferred from GOSAT XCOâ retrievals using a new version of the Global Carbon Assimilation System](https://acp.copernicus.org/articles/21/1963/2021/), by Fei Jiang et al., _Atmospheric Chemistry and Physics_ (2021)

[iasp](https://github.com/ghfbsd/iasp): Buland and Kennett Tau-P routines are a suite of programs that calculate seismic wave travel times through a radial earth model specified as velocity as a function of depth. An associated paper is [The computation of seismic travel times](https://pubs.geoscienceworld.org/ssa/bssa/article-abstract/73/5/1271/118430/The-computation-of-seismic-travel-times), by Ray Buland and C. H. Chapman, _Bulletin of the Seismological Society of America_ (1983).

[iHydroSlide3D](https://github.com/GuodingChen/iHydroSlide3D): parallelized and modular modeling software for regional hydrologic processes and landslides simulation and prediction. An associated paper is [iHydroSlide3D v1. 0: an advanced hydrologicalâgeotechnical model for hydrological simulation and three-dimensional landslide prediction](https://gmd.copernicus.org/articles/16/2915/2023/), by Guoding Chen et al., _Geoscientific Model Development_ (2023).

[jimf-cligen532](https://github.com/rogerlew/jimf-cligen532): stochastic weather generator which produces daily estimates of precipitation, temperature, dewpoint, wind, and solar radiation for a single geographic point, using monthly parameters (means, SD’s, skewness, etc.) derived from the historic measurements, by Jim Frankenberger and Roger Lew

[LakeModelDriver](https://github.com/wubulks/LakeModelDriver): lightweight, modular framework for integrating multiple lake models (e.g., FLake, Simstrat) with a unified interface, enabling seamless coupling with the Common Land Model (CoLM) or standalone execution, by Omarjan

[National Weather Service River Forecasting System Hydrology Models (nwsrfs-hydro-models)](https://github.com/NOAA-NWRFC/nwsrfs-hydro-models): provides timely information related to flooding, water supply, drought, recreation, navigation, and environmental flows, for the U.S. Northwest, by Geoffrey Walters

and Cameron Bracken

[OAK](https://github.com/gher-uliege/oak): Ocean Assimilation Kit, by Alexander Barth and Luc Vandenblucke

[OBS\_Trans\_Inv](https://github.com/jhzhang711/OBS_Trans_Inv): seismological transdimensional Bayesian inversion tools for ocean bottom seismometers (OBS) in marine environments, by jhzhang711

[Oceanic Regional Circulation and Tide Model (ORCTM)](https://github.com/HuangOCEAN02/ORCTM): code that by including nonhydrostatic dynamics can numerically reproduce Internal Solitary Waves (ISWs) dynamics, by HaoHuang

[Ocean Successive Orders with Atmosphere - Advanced (RadiativeTransferCode-OSOAA)](https://github.com/CNES/RadiativeTransferCode-OSOAA): accurate computation of the radiative tranfer into the Ocean-Atmosphere system including polarisation, coupling terms, and the agitated surface, from CNES. Also [Successive Orders of Scattering method coupled with the gaseous ABSorptions (SOS-ABS)](https://github.com/CNES/RadiativeTransferCode-SOS).

[PLUMECALC](https://github.com/lanl/PLUMECALC): determines resident or flux-averaged concentrations in groundwater flow models using the results from a random-walk particle tracking model simulation, by Terry Miller

[Potency Density Tensor Inversion (PDTI)](https://github.com/yujiyagi/pdti_public_version): an associated paper is [Potency density tensor inversion of complex body waveforms with time-adaptive smoothing constraint](https://academic.oup.com/gji/article/231/1/91/6584392), by Shinji Yamashita et al., _Geophysical Journal International_ (2022)

[Precipitation Runoff Modeling System (prms)](https://github.com/nhm-usgs/prms): deterministic, distributed-parameter, physical process based modeling system developed to evaluate the response of various combinations of climate and land use on streamflow and general watershed hydrology, by Steve Markstrom et al.

[PyPestUtils](https://github.com/pypest/pypestutils): suite of Python tools based on [PEST](https://github.com/pypest/pypestutils/blob/develop/docs/pestutilslib/fortran_library_documentation.md) utilities in Fortran to support parameterization with pilot points, drawing stochastic realizations, and MODFLOW post-processing for structured and unstructured grids, by Mike Taves et al.

[QSSP](https://github.com/nicklinyi/qssp): complete synthetic seismograms for a spherical earth – an all-in-one code for body waves, surface waves, free oscillations, tsunami for uniform ocean, infrasound waves for a standard atmosphere and static deformation, by Rongjiang Wang, modified by nicklinyi

[QSSPPEGS\_2020](https://github.com/RongjiangWang/QSSPPEGS_2020): variant of the code [QSSP](https://github.com/nicklinyi/qssp) for calculating prompt elasto-gravity signals (PEGS) of an earthquake in a spherically symmetric and elastic earth. An associated paper is [Complete synthetic seismograms based on a spherical self-gravitating Earth model with an atmosphereâoceanâmantleâcore structure](https://academic.oup.com/gji/article/210/3/1739/3868201), by Rongjiang Wang et al., _Geophysical Journal International_ (2017). The author has several other seismology codes.

[Random Geological Model Generation package (RGM)](https://github.com/lanl/rgm): generates realistic random geological models, including seismic images, faults, relative geological time (seismic horizons), and salt bodies, via a multi-randomization method, by Kai Gao and Ting Chen. The generated models can be used to train machine learning models, e.g., [MTI-MTR](https://github.com/lanl/mtl).

[SHIELDS-PTM](https://github.com/lanl/SHIELDS-PTM): large-scale particle tracing code primarily intended for magnetospheric applications. It provides a fast, parallel computing-friendly, and versatile framework for tracing charged particles in arbitrary electric and magnetic fields. An associated paper is [Data-optimized source modeling with the Backwards Liouville TestâKinetic method](https://www.sciencedirect.com/science/article/abs/pii/S1364682617303401), by J.R. Woodroffe et al., _Journal of Atmospheric and Solar-Terrestrial Physics_ (2018).

[ShoreTrans-fortran](https://github.com/user689/ShoreTrans-fortran): simulates long-term (10-100 years) coastal change in response to sea level rise and sediment supply, accounting for sediment budgeting, shoreface translation, and multiple real-world coastal constraints, by Mohammad Traboulsi. An associated paper is [A rules-based shoreface translation and sediment budgeting tool for estimating coastal change: ShoreTrans](https://www.sciencedirect.com/science/article/pii/S0025322721000487), by R. Jak McCarroll et al., _Marine Geology_ (2021).

[SImulation COde for POLythermal Ice Sheets (SICOPOLIS)](https://github.com/sicopolis/sicopolis): 3D model that simulates the evolution, dynamics and thermodynamics of ice sheets and ice caps. An associated paper is [A continuum-mechanical formulation for shallow polythermal ice sheets](https://royalsocietypublishing.org/doi/10.1098/rsta.1997.0050), by R. Greve, _Philosophical Transactions of the Royal Society A_ (1997).

[snesim-standalone](https://github.com/SCRFpublic/snesim-standalone): an associated report is [Sequential simulation drawing structures from training images](https://github.com/SCRFpublic/snesim-standalone/blob/master/snesimtheory.ppt), by Sebastien Strebelle

[soc-rad-conv-fort](https://github.com/hinnes97/soc-rad-conv-fort): radiative-convective equilibrium code using [Met Office SOCRATES radiation code](https://execlim.github.io/Isca/modules/socrates.html), by Hamish Innes.

[swatpgl](https://github.com/fuchsiger/swatpgl): SWAT+GL improves the applicability of SWAT+ in high-mountaineous & glaciated basins. An associated paper is [SWAT-GL: A New Glacier Routine For the Hydrological Model SWAT](https://onlinelibrary.wiley.com/doi/10.1111/1752-1688.13199), by Timo Schaffhauser et al., _Journal of the American Water Resources Association_ (2024).

[swb2](https://github.com/smwesten-usgs/swb2): modified Thornthwaite-Mather soil-water-balance Code for estimating groundwater recharge, using commonly available geographic information system (GIS) data layers in combination with tabular climatological data, by Steve Westenbroek.

[System for Integrated modeLling of Atmospheric coMposition (silam-model)](https://github.com/fmidev/silam-model): forecasts air quality, wild-land fire smoke, and allergenic pollen, by Mikhail Sofiev and Rostislav Kouznetsov

[Trees](https://github.com/lanl/Trees): pre-processing tool used to virtually build the forest fuel arrays used by [FIRETEC](https://www.frames.gov/catalog/57519) and [QUIC-Fire](https://www.frames.gov/catalog/60612), by Alexander Josephson and joliveto1

[Unified Gravity Wave Physics (UGWP)](https://github.com/NOAA-GSL/UGWP): gravity wave physics parameterizations developed at NOAA/GSL

## Engineering

[spice2](https://github.com/yeti01/spice2): general-purpose circuit simulation program for nonlinear dc, nonlinear transient, and linear ac analyses, originally by A. Vladimirescu et al., updated by Ulrich Steinmann

## File I/O

[FORTRAN-Input-Output-Toolbox](https://github.com/bryand4140/FORTRAN-Input-Output-Toolbox): subroutines for reading and writing matrices to CSV files and printing vectors and matrices, by Bryan Durham

[readbyte](https://github.com/obreschkow/readbyte): simple routine to read individual bytes and 4/8-byte reals and integers from any file, by Danail Obreschkow

## Finite Elements

[Nodal Position Finite Element Method (NPFEM)](https://github.com/PeachYao/NPFEM): robust approach for finite element analysis that uses nodal positions rather than displacements to evaluate element strain and strain energy, by Fuzhen Yao

[OpenSTAP](https://github.com/HaoguangYang/OpenSTAP): FEM solver by Haoguang Yang based on [STAP90](https://github.com/xzhang66/STAP90) by Xiong Zhang. Basic elements and some advanced elements and methods are added, as well as an Abaqus interface.

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [May 18, 2025, 1:45am UTC](https://fortran-lang.discourse.group/t/new-fortran-projects/2000/64 "2025-05-18T01:45:24Z")

</div>

continuation of previous message

## Fortran Books and Tutorials

[easy](https://github.com/urbanjost/easy): steps to setup a GitHub repository with the Fortran Package Manager, and GitHub actions including [FORD](https://github.com/Fortran-FOSS-Programmers/ford) documentation and unit tests, by urbanjost

[finding-uninitialised-vars-fortran-skillshare](https://github.com/SeanBryan51/finding-uninitialised-vars-fortran-skillshare): describes how to find uninitalized variables using ifx, ifort, and gfortran compiler options and mentions the DDT debugger, by Sean Bryan

[Intermediate Modern Fortran](https://github.com/ARCHER2-HPC/archer2-fortran-inter): intermediate course focusing on some of the more recent features which are central to Modern Fortran, by Kevin Stratford. Two main topics are the facilities in Fortran for abstraction and polymorphism provided by classes and interfaces, and the facilities for formal interoperability with ANSI C. Slides with exercises are [here](https://epcced.github.io/2025-05-22-MO-Fortran-inter/).

[Introduction to Fortran](https://github.com/EPCCed/2025-05-19-MO-Fortran-intro): course from the UK Met Office aimed at users and developers who know how to program, but have little or no experience in Fortran, and those who may wish to have a refresher in Fortran, by Julien Sindt and William Lucas.

[open-catalog](https://github.com/codee-com/open-catalog): collaborative effort to consolidate expert knowledge on code guidelines for the correctness, modernization, security, portability, and optimization of code written in Fortran, C, and C++ programming languages, from Codee. Also [Top 10 Recommendations for Fortran Modernization](https://github.com/codee-com/fortran-modernization).

## Games and Puzzles

[FortranChess](https://github.com/menezesd/FortranChess): chess program by Dean Menezes

[UCSD\_p-Trek](https://github.com/Jim-F/UCSD_p-Trek): port of “Super Star Trek” to the standalone IBM PC version of the UCSD p-System, by Jim Fehlinger

## General Purpose

[config\_fortran](https://github.com/jannisteunissen/config_fortran): configuration file parser, by Jannis Teunissen et al. One creates configuration variables, by providing a default value and a description, reads a text file in which new values are specified for (some of) the variables, and uses the updated values in the program, so that there is no need to recompile.

[evaluate.f](https://github.com/davidpfister/evaluate.f): routines for evaluating mathematical expressions contained in strings, a modernization by David Pfister of code by [George Benthien](https://gbenthien.net/strings/index.html)

[flibs](https://github.com/philip-peterson/flibs): collection of modules that perform particular tasks, such as, providing interfaces to open=source C libraries, manipulating or examining strings in not too trivial ways, and implementing well-known abstract data types or data structures, by Arjen Markus

[fortran-file](https://github.com/tkdhss111/fortran-file): functions for file manipulation, wrapping operating system commands, by Hisashi Takeda. The functions are `touch`, `cp`, `mv`, `rm`, `mkdir`, `rmdir`, `cldir`, `print` and `find`.

[frsh](https://github.com/polybones/frsh): shell in Fortran by polybones, with the [GNU Readline Library](https://tiswww.cwru.edu/php/chet/readline/rltop.html) library as a dependency

[fstdlib](https://github.com/vterzi/fstdlib): a standard library, with array utilities, command line processing, a list type, string operations, and unit testing, by Vladimir Terzi

## Graphics, Plotting, and User Interfaces

[fplt](https://github.com/sebastian-mutz/fplt): scientific plotting library for producing high-quality (“publication-ready”) figures quickly by leveraging the GMT(Generic Mapping Tools) C-API and Fortran’s derived types, by Sebastian G. Mutz. FPLT includes procedures for producing geographical maps, xy-plots, heat maps, animated figures, and more.

[Iterated Function Systems in Fortran (ifsif)](https://github.com/RvanB/ifsif): create and design iterated function systems, featuring additive or subtractive color mixing,

multithreaded rendering, post-processing with OpenCV, several built-in useful functions for generating fractals, and image stacking for noise reduction, by Raiden van Bronkhorst

## Interoperability

[farray](https://github.com/ivan-pi/farray): experimental Python array class implemented on top of Fortran arrays, by Ivan Pribec. The goal is to cover a decent subset of the [Python array API standard](https://data-apis.org/array-api/latest/index.html).

[pkgfortran](https://github.com/albertopessia/pkgfortran): minimal R package for using Modern Fortran code in the backend, by Alberto Pessia

## Linear Algebra

[sparseSET](https://github.com/dorivalpiedadeneto/sparseSET): library for assembling sparse matrices, by Dorival Piedade Neto et al.

## Materials Science

[merchant\_modeling](https://github.com/lfmalves/merchant_modeling): performs machining analysis based on Merchantâs theory of orthogonal cutting, which is a predictive model of chip formation that assumes a perfectly plastic workpiece and a sharp cutting edge, by Luis F. M. Alves

## Mesh Generation

[foap4](https://github.com/jannisteunissen/foap4): combines [p4est: Parallel Adaptive Mesh Refinement on Forests of Octrees](https://www.p4est.org/) with OpenAcc and Fortran, by Jannis Teunissen. The goal is to build a simple and compact code for numerical simulations on quadtrees/octrees, using multiple GPUs.

## Molecular Dynamics

[j\_presto](https://github.com/jikebe-AIST/j_presto): program suite that compiles subprograms for preparing input files and executing molecular dynamics (MD) simulations, specifically for biomolecules such as proteins, by Jinzen Ikebe. This suite features the original computational method, Adaptive Lambda Square Dynamics (ALSD) simulation, which enables comprehensive conformational sampling by enhancing conformational changes in specific regions of the molecule.

[Molecular-Dynamics-Simulation](https://github.com/itsfuad/Molecular-Dynamics-Simulation): molecular dynamics simulation program for simulating Lennard-Jones particles, with Python-based analysis tools, by Fuad Hasan

[Non-adiabatic EXcited-state Molecular Dynamics (NEXMD)](https://github.com/lanl/NEXMD): command-line program to understand the non-radiative relaxation of a main-block molecule with 100s of atoms and 10s of relevant excited states on the picosecond time scale after a vertical photoexcitation, by Walter Malone et al.

## Neural Networks and Machine Learning

[ML4ESM](https://github.com/tzhang-ccs/ML4ESM): code associated with paper [A FortranâPython interface for integrating machine learning parameterization into earth system models](https://gmd.copernicus.org/articles/18/1917/2025/), by Tao Zhang et al., _Geoscientific Model Development_ (2025)

[pytorch\_from\_fortran](https://github.com/ChrisDeGrendele/pytorch_from_fortran): PyTorch neural network called from Fortran, by Chris DeGrendele. A C helper library (built with Python/NumPy C APIs), allows the Fortran code (via iso\_c\_binding) to directly execute the PyTorch model and exchange numerical data.

[TensorFlow to Fortran (tf2)](https://github.com/ivanZanardi/tf2): enables the integration of TensorFlow models into C++/Fortran projects seamlessly, without the need for TensorFlow installation or compilation, by Ivan Zanardi

## Numerical Methods

[ectrans](https://github.com/ecmwf-ifs/ectrans): global spherical harmonics transforms library, extracted from the [IFS](https://www.ecmwf.int/en/forecasts/documentation-and-support/changes-ecmwf-model), by Sam Hatfield et al. It contains both CPU and GPU (Nvidia) code-paths.

[fortran-approx](https://github.com/suzuyuyuyu/fortran-approx): enables approximate comparisons, defining custom operators such as .aeq., .ane., .alt., .ale., .agt., and .age. that perform comparisons that take the specified tolerance into account, by Yuta Suzuki

[ForTran LIBrary for numerical analysis (FTLIB)](https://github.com/fradevita/FTLIB): some topics covered are numerical integration, root-finding, and fitting polynomials to surfaces, by fradevita

[fortranpack](https://github.com/jacobwilliams/fortranpack): numerical and scientific programming package that combines many FPM packages, covering interpolation, optimization, CSV file I/O, directed acyclic graphs, ODEs, machine constants, searching and sorting, JSON files, RNG, nonlinear equations, numerical differentiation, root-finding, plotting, numerical integration, and spline approximation, by Jacob Williams

[ieee\_class\_fortran](https://github.com/DSCF-1224/ieee_class_fortran): additional functions for [ieee\_class\_type](https://www.ibm.com/docs/en/xl-fortran-linux/16.1.1?topic=constants-ieee-class-type), by DSCF-1224

[libslam](https://github.com/Space-Systems/libslam): algorithms used for space applications, such as [NEPTUNE](https://github.com/Space-Systems/neptune), by Christopher Kebschull et al. `src/math` has code for interpolation, linear algebra, mathematics, random number generation, sorting, and statistics.

[numerical-analysis](https://github.com/JeffIrwin/numerical-analysis): exercises from the textbook [Introduction to numerical analysis](https://link.springer.com/book/10.1007/978-0-387-21738-3) by J. Stoer and R. Bulirsch, by Jeff Irwin

## Ordinary Differential Equations

[dae4py](https://github.com/JonasBreuling/dae4py): Python wrappers by Jonas Breuling for the daskr, daspk, dassl, pside, and radau Fortran codes

[daskr](https://github.com/HugoMVale/daskr): modernized version of DASKR, a differential-algebraic system solver with root-finding, by HugoMVale

[Parareal-Lorenz](https://github.com/KyFaxTeam/Parareal-Lorenz): implements both sequential RK4 and parallel Parareal solvers to efficiently simulate four dynamic regimes (non-walker, regular walker, chaotic walker, oscillations), from KyFaxTeam

[sundials\_cuda\_fortran](https://github.com/VictoriaGuenter/sundials_cuda_fortran): interfaces for the NVector and Magma Dense SUNMatrix for [Sundials](https://github.com/LLNL/sundials), by Victoria Guenter. An associated talk is [GPU Acceleration of the SUMMA-SUNDIALS Land Model](https://agu.confex.com/agu/agu24/meetingapp.cgi/Paper/1659173).

## Optimization

[limSolve](https://cran.r-project.org/web/packages/limSolve/index.html): R package with Fortran code for finding the minima of linear or quadratic functions subject to linear equality and inequality constraints, by Karline Soetaert et al.

[Quadprog](https://github.com/loiseaujc/Quadprog): code for convex quadratic programs by Jean-Christophe Loiseau, updating code by Berwin Turlach

[Robust-Gauss-Newton-Algorithm](https://github.com/eachonly/Robust-Gauss-Newton-Algorithm): RGN algorithm introduces three heuristics to enhance its performance on nonlinear least squares problems: (i) the large sampling scale scheme to capture large-scale features of the objective function, (ii) the best-sampling point scheme to take advantage of free information, and (iii) the null-space jump scheme to escape near-flat regions. An associated paper is [A robust Gauss-Newton algorithm for the optimization of hydrological models: From standard Gauss-Newton to robust Gauss-Newton](https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2017WR022488), by Youwei Qin et al., _Water Resources Research_ (2018).

[StochOptim](https://github.com/keurfonluu/StochOptim): object-oriented routines to sample a parameter model space and optimize objective functions:

Metropolis-Hastings algorithm, Differential Evolution, Particle Swarm Optimization, Competitive Particle Swarm Optimization, and Covariance Matrix Adaptation - Evolution Strategy, by Keurfon Luu. Also [EvoSeis](https://github.com/keurfonluu/EvoSeis), a software package for earthquake seismology using evolutionary algorithms as optimization methods.

## Parallel Programming

[Custom MPI Wrapper (c\_mpi)](https://github.com/gxyd/c_mpi): implementation of MPI wrappers that bind directly to native MPI library routines using ISO\_C\_BINDING, by Gaurav Dhingra and Aditya Trivedi. The goal is to eliminate intermediate C wrappers and call MPI functions directly from Fortran.

[fortran\_mpi](https://github.com/lfortran/fortran_mpi): MPI wrappers that bind directly to native MPI library routines using ISO\_C\_BINDING, by Gaurav Dhingra and Aditya Trivedi. The goal is to eliminate intermediate C wrappers and call MPI functions directly from Fortran.

[lecture\_fortran2gpu](https://github.com/kazuya-yamazaki/lecture_fortran2gpu): codes from a seminar “Migrating Fortran Programs Parallelized with MPI+OpenMP to GPUs” in Japanese, by Kazuya Yamazaki

[OpenACC Validation and Verification (OpenACCV-V)](https://github.com/OpenACCUserGroup/OpenACCV-V): OpenACC test codes validating and verifying implementations of features and its conformance to the OpenACC specification, from the OpenACC User Group

## Partial Differential Equations

[ChiDG](https://github.com/nwukie/ChiDG): framework for solving sets of partial differential equations using the discontinuous Galerkin method on Chimera-overset grid, by Nathan A. Wukie et al.

## Particle Physics

[EventProducer](https://github.com/HEP-FCC/EventProducer): produce events for FCC-hh at a center of mass of 100 TeV and for FCC-ee, from HEP-FCC. Any other future collider can also be supported by this framework.

[figures\_2025\_two\_photon\_resonance\_fluorescence](https://github.com/jnga773/figures_2025_two_photon_resonance_fluorescence): Python and Fortran scripts for generating the data and plots for the preprint [Two-Photon Resonance Fluorescence of a Three-Level Ladder-Type Atom](https://inspirehep.net/literature/2902826) by Jacob Ngaha et al.

[FLUE\_Lat](https://github.com/RJaBi/FLUE_Lat): calculates various gluonic quantities in lattice QCD, including various wilson loops or F\_uv, by Ryan Bignell

[Jet\_parton\_cascade](https://github.com/wenbin1501110084/Jet_parton_cascade): framework to couple the jet parton shower and parton cascade, by Wenbin Zhao. Also [Coalescence\_Fragmentation\_code](https://github.com/wenbin1501110084/Coalescence_Fragmentation_code) and [nucleon-coalescence-code](https://github.com/wenbin1501110084/nucleon-coalescence-code), to generate the light nuclei, deuteron and triton, by the coalaescence process.

[nnlocal](https://github.com/nnlocal/nnlocal): program associated with the paper [NNLOCAL: completely local subtractions for color-singlet production in hadron collisions](https://arxiv.org/abs/2412.21028), by Vittorio Del Duca et al., (2024)

[Q-ball](https://github.com/mkinach/Q-ball): adaptive solver of the gauged Q-ball equations of motion. An associated paper is [Dynamics of U(1) gauged Q-balls in three spatial dimensions](https://journals.aps.org/prd/abstract/10.1103/PhysRevD.110.075033), by Michael P. Kinach and Matthew W. Choptuik, _Physical Review D_ (2024).

## Plasma Physics

[EPOCH](https://github.com/Warwick-Plasma/epoch): particle-in-cell code for plasma physics simulations. An associated paper is [Contemporary particle-in-cell approach to laser-plasma modelling](https://iopscience.iop.org/article/10.1088/0741-3335/57/11/113001), by T. D. Arber et al., _Plasma Physics and Controlled Fusion_ (2015). Also [Cylindrical EPOCH](https://github.com/Warwick-Plasma/cylindrical_epoch), a version of EPOCH re-written using cylindrical co-ordinates, for quasi-3D laser-plasma simulations.

[Galerkin Variational Equilibrium Code (GVEC)](https://github.com/gvec-group/gvec): generates 3D magnetohydrodynamic (MHD) equilibria. An associated paper is [Computing MHD equilibria of stellarators with a flexible coordinate frame](https://iopscience.iop.org/article/10.1088/1361-6587/adba11), by Florian Hindenlang et al., _Plasma Physics and Controlled Fusion_ (2025).

[Gyrokinetic Advanced Collision Moment Solver (gyacomo)](https://github.com/Antoinehoff/gyacomo): MPI code that solves the nonlinear gyrokinetic Boltzmann equation in the delta-f flux-tube limit with a moment-based approach derived from a Hermite-Laguerre velocity space representation. An associated paper is [Gyrokinetic moment-based simulations of the Dimits shift](https://www.cambridge.org/core/journals/journal-of-plasma-physics/article/gyrokinetic-momentbased-simulations-of-the-dimits-shift/8413B588DBE2DAAF5C8AD9D6EE1A1FB1), by A.C.D. Hoffmann et al., _Journal of Plasma Physics_ (2023).

[HYPIC](https://github.com/DrMYWu/HYPIC): code associated with paper [HYPIC: A fast hybrid EM PIC-MCC code for ion cyclotron resonance energization in cylindrical coordinate system](https://www.sciencedirect.com/science/article/abs/pii/S0010465524001309), by Mingyang Wu et al., _Computer Physics Communications_ (2024)

[Plasma in a Linear Uniform Magnetized Environment (PLUME)](https://github.com/kgklein/PLUME): numerical code that solves the Vlasov-Maxwell dispersion relation in a hot magnetised plasma, by Kristopher Gregory Klein

## Physics

[Combined Optical and Maxwell-Bloch Equations (CoOMBE)](https://github.com/durham-qlm/CoOMBE): code associated with paper [CoOMBE: A suite of open-source programs for the integration of the optical Bloch equations and Maxwell-Bloch equations](https://www.sciencedirect.com/science/article/pii/S0010465524002972), by R. M. Potvliege and S. A. Wrathmall, _Computer Physics Communications_ (2025)

[DICEBOX](https://www-nds.iaea.org/dicebox/): OpenMP parallel version of [DICEBOX](https://www-nds.iaea.org/dicebox/) for capture on isolated resonances (energy-, spin- and parity-well defined initial state), by Stanislav Valenta and Jiri Kroll

[FuzzifiED\_Fortran](https://github.com/FuzzifiED/FuzzifiED_Fortran): Fortran code in the Julia package [FuzzifiED](https://github.com/mankai-chow/FuzzifiED.jl) intended for exact diagonalisation (ED) calculations on fuzzy sphere, by Zheng Zhou et al.

[he3lib](https://github.com/slazav/he3lib): provides constants and functions for various He3 properties, by Vladislav Zavjalov

[Heisenberg\_code\_sparse\_csr\_fortran](https://github.com/jjastrz14/Heisenberg_code_sparse_csr_fortran): Heisenberg spin models and entangleement entropy measurements, by Jakub Andrzej Jastrzebski and Maciej Bieniek

[MC\_GPU](https://github.com/evanoya/MC_GPU): GPU parallel Monte Carlo code for patchy particles with the model potential described in the paper [Programming patchy particles to form complex periodic structures](https://pubs.aip.org/aip/jcp/article-abstract/151/22/224506/198556/Programming-patchy-particles-to-form-complex), by D. Tracey et al., _The Journal of Chemical Physics_ (2019)

[Parallel Integral Discrete Ordinates Transport Solver (PIDOTS)](https://github.com/lanl/pidots): software application for studying an alternative iterative and parallel solution technique for linear, deterministic neutral-particle radiation transport, by Joe Zerr et al.

[particle\_core](https://github.com/jannisteunissen/particle_core): collection of modules that make up the basic parts for a particle simulation, by Jannis Teunissen et al.

[phtools](https://github.com/acammarat/phtools): pre- and post-processing tools for phonon-based calculations, by Antonio Cammarata. **Phonchar** Calculates the atomic character of phonon eigenvectors, **eigmap** calculates the map between different eigenvectors via scalar products, and **qpoints** extracts phonon eigenvectors and eigenvalues.

[simmsus](https://github.com/lcec-unb/simmsus): code that simulates the motion of a system of interacting particles, initially developed for studying the physics of magnetic spherical particles in suspensions in order to better understand the properties of magnetic fluids (ferrofluids), by Rafael Gabler Gontijo and Ciro Alegretti

[SM-FMM](https://github.com/lanl/SM-FMM): solid mechanics fast multipole method based on elastic Green’s function and accelerated using FFTs, by Miroslav Zecevic

[SOURCES4D](https://github.com/lanl/SOURCES4D): code for computing neutron source rates and spectra from spontaneous fission (including delayed neutrons) and (alpha,n) reactions in homogeneous materials and (alpha,n) reactions in single-interface and two-interface geometries, by W. B. Wilson et al.

[Universal Fieldline Tracer (UFiT)](https://github.com/Valentin-Aslanyan/UFiT): traces magnetic field lines in a range of magnetic geometries, by Val Aslanyan

## Quantum Chemistry and Electronic Structure

[bsprvse](https://github.com/banana-bred/bsprvse): solves the (ro)vibrational SchÃ¶dinger Equation with a basis of B-splines, optionally with a complex absorbing potential, by banana-bred

[bzint](https://github.com/tiberlab/bzint): simple library for the analytic evaluation of integrals of the delta and Heavyside functions in a simplicial tesselation of the Brillouin zone, by Matthias Auf der Maur. An associated paper is “Analytic quadratic integration over the two dimensional Brillouin zone”, by G. Wiesenekker et al., _J. Phys. C: Solid State Phys._ (1988).

[Dissociative Recombination and Photo-Ionization (DRIP)](https://github.com/banana-bred/DRIP): code used to study dissociative recombination, but the framework upon which it is based allows for the calculation of RVE/PI cross sections and reaction rate coefficients, by banana-bred

[Electronic Structure to k(T,P) (EStokTP)](https://github.com/EStokTP/EStokTP): generates rate constants relying on calls to external codes to perform electronic structure calculations and master equation simulations, by Carlo Cavallotti et al.

[General Contraction Code (GeCCo-public)](https://github.com/ak-ustutt/GeCCo-public): implements the internally contracted multireference theory, by Andreas Koehn et al. In addition, it also provides arbitrary order coupled-cluster calculations (for closed-shell cases) and explicitly correlated methods.

[JuKKR](https://github.com/JuDFTteam/JuKKR): full-potential Korringa-Kohn-Rostoker Green function code, by Philipp RÃ¼Ãmann et al. The most important features of the JÃ¼lich KKR codes include the possibility to perform relativistic calculations, predict scattering effects, and treat finite-sized clusters or very large systems.

[Multiwfn\_compile](https://github.com/liuyujie714/Multiwfn_compile): code associated with paper [A comprehensive electron wavefunction analysis toolbox for chemists, Multiwfn](https://pubs.aip.org/aip/jcp/article-abstract/161/8/082503/3309709/A-comprehensive-electron-wavefunction-analysis), by Tian Lu, _Journal of Chemical Physics_ (2024)

[OneDMin](https://github.com/Auto-Mech/OneDMin): calculates Lennard-Jones interaction parameters from intermolecular potentials via 1D minimizations. An associated paper is [LennardâJones parameters for combustion and chemical kinetics modeling from full-dimensional intermolecular potentials](https://www.sciencedirect.com/science/article/abs/pii/S0010218013002988), by Ahren W. Jasper and James A. Miller, _Combustion and Flame_ (2014)

[rslmtoasa](https://github.com/rslmtoasa/rslmtoasa): ab initio code based on Linear Muffin-tin Orbitals within the Atomic Sphere Approximation. Instead of solving the eigenvalue problem by diagonalization, RS-LMTO-ASA uses the recursion method (Chebyshev or Haydock) to calculate the local density of states in real-space.

[SHRED](https://github.com/lanl/SHRED): density functional theory for extreme conditions, by Alexander J. White and Ondrej Certik. It is designed to tackle numerically difficult problems for large-scale disordered systems and/or high-temperature (dense plasmas) calculations.

[TBKOSTER](https://github.com/spindynamics/TBKOSTER): simulation package for the simulation of magnetic materials developed at the French Alternative Energies and Atomic Energy Commission, designed to provide a community standard tool for ab initio simulations of magnetic materials with high performance and an easy-to-use interface. An associated paper is [Spin dynamics from a constrained magnetic tight-binding model](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.103.235436), by Ramon Cardias et al., _Physical Review B_ (2021).

[uptight](https://github.com/tiberlab/uptight): versatile empirical tight-binding library. An associated paper is [Transferable tight-binding model for strained group IV and III-V materials and heterostructures](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.94.045311), by Y. Tan et al., _Physical Review B_ (2016)

[WignerD](https://github.com/banana-bred/WignerD): routines to calculate the Wigner D-matrix and d-matrix. An associated paper is [High-precision evaluation of Wigner’s (d) matrix by exact diagonalization](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.043307), by X. M. Feng et al., _Physical Review E_ (2015).

## Random Number Generation

[melg-64-fortran](https://github.com/DSCF-1224/melg-64-fortran): code by DSCF\_1224 for the algorithm of the paper [Implementing 64-bit maximally equidistributed F2-linear generators with Mersenne prime period](https://dl.acm.org/doi/10.1145/3159444), by Shin Harase and Takamitsu Kimoto, _ACM Transactions on Mathematical Software_ (2018)

[pcg-fortran](https://github.com/DSCF-1224/pcg-fortran): [PCG](https://www.pcg-random.org/) is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. This implementation is by DSCF\_1224.

## Reactor Physics

[Simple Neutron-Transport Equation Solver (SNES)](https://github.com/msleigh/snes): 1D discrete-ordinates neutron transport code, with diamond-difference and linear-discontinuous variants, by Michael Sleigh

## Root Finding

[gssFortran](https://github.com/huijunchen9260/gssFortran): tests using class(\*) to bring an arbitrary objective function into the algorithm and compare its efficiency with directly coding golden section search for a specific optimization, by Hui-Jun Chen

## Sorting

[Fortran-QuickSort](https://github.com/Beliavsky/Fortran-QuickSort): quicksort via pure procedures, by Beliavsky, adapting code of Alan Miller

## Special Functions

[libcoul90](https://github.com/banana-bred/libcoul90): calculates real-valued Coulomb and Bessel functions for real-valued arguments, with code by A. R. Barnett updated by banana-bred

[libcoulcc](https://github.com/banana-bred/libcoulcc): calculates complex-valued Coulomb and Bessel functions for real-valued arguments, by banana-bred. An associated paper is [COULCC: A continued-fraction algorithm for Coulomb functions of complex order with complex arguments](https://github.com/banana-bred/libcoulcc), by I.J. Thompson and A.R. Barnett, _Computer Physics Communications_ (1985).

[sht\_py](https://github.com/hottahd/sht_py): spherical harmonic expansion routine in Python+Fortran, by Hideyuki Hotta

## Statistics

[bsamGP](https://github.com/cran/bsamGP): R package with Fortran code for Bayesian Spectral Analysis Models using Gaussian Process Priors, by Seongil Jo et al.

[Fortran Statistics and Machine Learning Library (fsml)](https://github.com/sebastian-mutz/fsml): scientific toolkit consisting of common statistical and machine learning procedures, including basic statistics (e.g., mean, variance, correlation), common statistical tests (e.g., t-test, Kolmogorov-Smirnov), linear parametric methods and models (e.g., principal component analysis, discriminant analysis, Bayesian classifier), and non-linear statistical and machine learning procedures (e.g., k-means clustering), by Sebastian G. Mutz

[NScluster](https://github.com/cran/NScluster): R package with Fortran code for simulation and estimation of the Neyman-Scott type spatial cluster models. An associated paper is [Parameter Estimation and Model Selection for Neyman-Scott Point Processes](https://onlinelibrary.wiley.com/doi/10.1002/bimj.200610339), by Ushio Tanaka et al., _Biometrical Journal_ (2008).

[pod\_using\_fortran](https://github.com/miu-meson/pod_using_fortran): extracts Proper Orthogonal Decomposition (POD) modes, by AndrÃ©s Castillo-Castellanos, based on a code [Empirical Orthogonal Function (EOF) software/Principal Component Analysis (PCA) software](https://cirrus.ucsd.edu/~pierce/eof/eofs.html) by David W. Pierce

[polyfit](https://github.com/plopezrios/polyfit): toolbox for performing and manipulating polynomial fits to data with statistical uncertainties, by Pablo LÃ³pez RÃ­os. It uses Monte Carlo resampling to obtain uncertainties on quantities of interest, such as values and derivatives of the fit function, intersections between fits to different datasets, etc.

[rpact.as251](https://github.com/rpact-com/rpact.as251): R package that integrates Charles Dunnett’s AS 251 FORTRAN 77 algorithm from the paper [Multivariate Normal Probability Integrals with Product Correlation Structure](https://academic.oup.com/jrsssc/article/38/3/564/6985491), _Journal of the Royal Statistical Society Series C: Applied Statistics_ (1989)

## Time Series

[system\_dynamics](https://github.com/quimbp/system_dynamics): code for simulation of dynamical systems and data assimilation, by Joaquim Ballabrera

## Unclassified

[finbound](https://github.com/Nkzono99/finbound): internal boundary processing library, by Nkzono99

[RADCAL](https://github.com/firemodels/radcal): library of subroutines for calculating radiative properties of gaseous species and soot, from firemodels. It computes the spectral properties of the radiation participating species at discrete values of the spectrum (expressed either in wavenumber or in wavelength) and temperature, and returns two alternative mean absorption coefficients for each spectral band.

[retrocomputing](https://github.com/hughcoleman/retrocomputing): exploring IBM 704 FORTRAN, by Hugh Coleman. [PyFortran](https://github.com/mdoege/PyFortran) is a Python interpreter for early FORTRAN, i.e. to run programs written for FORTRAN on the IBM 704 and FORTRAN / GOTRAN for the IBM 1620 or FORTRANSIT on the IBM 650, by mdoege

[Previous page](https://fortran-lang.discourse.group/t/new-fortran-projects/2000.md?page=3)
