Update since Dec. 13, 2021, full list here. The astronomy and astrophysics sections have been combined, as suggested.

## Astronomy and Astrophysics

DUMSES-hybrid: 3D MPI/OpenMP & MPI/OpenACC Eulerian second-order Godunov (magneto)hydrodynamic simulation code in cartesian, spherical and cylindrical coordinates, by Marc Joos

OrbFit: this version of the OrbFit package, by Marco Fenucci, contains a modified version of the orbit9 integrator. The integrator has been modified to integrate the spin axis dynamics of small asteroids, due to the Yarkovsky–O’Keefe–Radzievskii–Paddack (YORP) effect.

Optab: computes opacity based on user-provided chemical equilibrium abundances, and outputs mean opacities as well as monochromatic opacities, by Shigenobu Hirose. Consequently, one can have opacity tables consistent with one’s equation of state.

POT3D: High Performance Potential Field Solver: computes potential field solutions to approximate the solar coronal magnetic field using observed photospheric magnetic fields as a boundary condition. A version of POT3D that includes GPU-acceleration with both MPI+OpenACC and MPI+OpenMP was released as part of the Standard Performance Evaluation Corporation’s (SPEC) beta version of the SPEChpc™ 2021 benchmark suites.

## Benchmarks

pi_examples: calculate pi using numerical integration of `1/(1+x**2)`

, using Fortran with do concurrent, MPI, OpenMP, OpenACC, and other languages, by Owain Kenway et al.

## Biology and Medicine

Euplectella_HPC: code for paper Extreme flow simulations reveal skeletal adaptations of deep-sea sponges, by Giacomo Falcucci et al., Nature volume 595, pp 537–541 (2021)

## Climate and Weather

Global Environmental Multiscale Model (GEM): integrated forecasting and data assimilation system developed by the Atmospheric Numerical Prediction Research Section, Meteorological Research Division, of Environment and Climate Change Canada.

Noah-OWP-Modular: extended, refactored version of the Noah-MP land surface model, by K. Jennings et al. In order to ease readability, adaptability, and interoperability, the model has been broken out into a series of modules and data types that represent various components of model information and parameters as well as the energy and water balances.

NCEPLIBS G2: Utilities for coding/decoding GRIB2 messages, by Hang Lei et al. This library contains Fortran 90 decoder/encoder routines for GRIB edition 2, as well as indexing/searching utility routines.

## Computational Chemistry

QCxMS: quantum chemical (QC) based program that enables users to calculate mass spectra (MS) using Born-Oppenheimer Molecular Dynamics (MD), by Jeroen Koopman and Sebastian Ehlert. It is the successor of the QCEIMS program, in which the EI part is exchanged to x (x=EI, CID) to account for the greater general applicability of the program. Plot Mass Spectra (PlotMS) is an associated plotting program.

## Computational Fluid Dynamics

EPIC: Elliptical Parcel-in-Cell model for fluid dynamics, by Matt Frey

LBcuda: CUDA Fortran code to solve Lattice Boltzmann equations of a multi-component flow interacting with rigid spherical particles, by Fabio Bonaccorso et al.

ParaTC: high order finite difference solver for simulations of turbidity currents with high parallel efficiency, by Zheng Gong

Smoothed Particle Hydrodynamics（SPH): uses code from the book Smooth Particle hydrodynamics - A Meshfree Particle Method as a starting point, by zoziha

Xoptfoil: airfoil optimization code using the Xfoil aerodynamics engine, by montagdude and Geoff Sokoll

## Earth Science

ECCOv4-Configurations: documentation and model configuration files for official releases of the ECCO version 4 ocean and sea-ice state estimates, by Ou Wang et al. Model configuration files allow users to reproduce the state estimate or conduct new simulation experiments.

Finite Element Heat and Mass Transfer Code: FEHM: simulates groundwater and contaminant flow and transport in deep and shallow, fractured and un-fractured porous media throughout the US DOE complex. FEHM has been used in projects of national interest including Environmental Remediation of the Nevada Test Site, the LANL Groundwater Protection Program, geologic CO2 sequestration, Enhanced Geothermal Energy (EGS) programs, Oil and Gas production, Nuclear Waste Isolation, and Arctic Permafrost.

Heavy: calculates the change in gravity caused by the change in groundwater storage as predicted by a MODFLOW groundwater-flow model, by Jeff Kennedy. Gravity change is calculated relative to the initial time step at user-specified locations (e.g., measurement locations).

NanoFASE: multimedia spatiotemporal model of nanomaterial fate, speciation and bio-uptake, by Sam Harrison and slofts

Passive and Active Microwave TRANsfer (PAMTRA): Python/Fortran 90 package to solve the passive and active microwave radiative transfer in a plan parallel horizontally homogeneous atmosphere with hydrometeors, by Davide Ori et al.

SWMM5 +: prototype Fortran 2008 engine for the EPA Storm Water Management Model (SWMM), by Gerardo Andrés Riaño Briceño et al.

## File I/O

h5fortran-mpi: HDF5-MPI parallel Fortran object-oriented interface, from scivision

## Fortran Books and Tutorials

FortranTip: short instructional Fortran codes associated with Twitter @FortranTip, by Beliavsky et al.

## General Purpose

Fortran Error Handler: universal and comprehensive solution for applications requiring functional and robust error handling, utilising the power of modern object-oriented Fortran, by Sam Harrison and KellerV

M_kracken95: Fortran 95 version of the kracken(3f) procedure (and related routines) for command line parsing, by urbanjost

M_readline: interface to the commonly available C procedure readline(3c). to provide a familiar command history interface for interactive programs, by urbanjost

paramcard: command-line parameter input made simple, by Takahiro Ueda

## Graphics, Plotting, and User Interfaces

graffer: interactive tool for generating plots of data and/or functions, by James Tappin. The original graffer was an IDL program. This version provides most of the same functionality in a Fortran program using gtk-fortran and plplot for the GUI and plotting respectively. To display functions gdl (gnudatalanguage) or IDL is required.

M_pixel: creates pixel images with a vector-oriented graphics library that emulates a subset of the M_draw vector graphics library, by urbanjost. It is supplemented with additional modules that read and write GIF files, including animated GIFs.

## Interoperability

fortran-cython-examples: examples for how to wrap Fortran with Cython, by Nick Wogan

Fortran Unsigned Wrapper (funsignedwrapper): module with functions for accessing unsigned variables in standard Fortran 2008, by Johann Andreas Weber

## Linear Algebra

SParse matrices in Object-Oriented Fortran (SPOOF): modern, object-oriented Fortran library for sparse matrix computations, by Sam Harrison. It largely draws on the SPARSKIT library, adding an object-oriented interface to improve usability.

## Materials Science

LBsoft: software for soft glassy emulsion simulations, by Fabio Bonaccorso et al.

## Molecular Dynamics

Reactive_PB_NN_MD: reactive molecular dynamics code based on PB-NN potentials, in which neural networks are utilized in the off-diagonal elements of the Hamiltonian to mediate the chemical reactions, by Sam Delmerico et al. This code uses a custom update algorithm to calculate PME forces for the diabatic states in the Hamiltonian matrix.

Structure_factor_FFT: computes structure factors using the particle mesh Ewald approach, by Jesse Gatten McDaniel. Either the electron density structure factor can be computed for X-ray scattering (uses form factors), or the total charge density can be computed (uses input force field charges) to evaluate sum rules

## Numerical

Bessel-Hankel: examples of the Hankel transformation and calculations of Bessel functions of the 1st kind and 2nd kind, their derivatives of the 1st order and 2nd order, and their zeros, by Tche Liu

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.

ToolboxFortran: code to replicate basic Matlab functions, sort, interpolate, optimize, find roots, and perform other numerical tasks, by Alessandro Di Nola. Also code to read and write multidimensional arrays.

## Numerical Integration (Quadrature)

kronrod: generates Gauss-Kronrod coefficients, by Jacob Williams

Quadpack2: update by Jacob Williams and Sebastian Ehlert of QUADPACK, a FORTRAN subroutine package for the numerical computation of definite one-dimensional integrals

## Ordinary Differential Equations

rkf45: Fehlberg fourth-fifth order Runge-Kutta method, adapted by zoziha from the code at Netlib

## Parallel Programming

CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine): parallel runtime library that aims to support Fortran compilers with a programming-model-agnostic application binary interface (ABI) to various communication libraries, by Damian Rouson et al. Current work is on supporting the ABI with the GASNet-EX or with POSIX processes.

Tensor Algebra Library Routines for Shared Memory Systems: Nodes equipped with multicore CPU, NVIDIA GPU, AMD GPU, and Intel Xeon Phi (TAL_SH): implements basic tensor algebra operations with interfaces to C, C++11, and Fortran 90+, by Dmitry I. Lyakh

## Particle Physics

APFEL: A Parton Distribution Function Evolution Library: performs DGLAP evolution up to NNLO in QCD and to NLO in QED, both with pole and MSbar masses. The coupled DGLAP QCD+QED evolution equations are solved in x-space by means of higher order interpolations and Runge-Kutta techniques.

remoll: simulations for the MOLLER Experiment at Jefferson Lab, which proposes to measure the parity-violating asymmetry in electron-electron (Møller) scattering

## Physics

DASH: versatile and interactive package for solving crystal structures from powder diffraction data, by Jason Christopher Cole et al. DASH solves structures by simulated annealing of structural models to indexed diffraction data and features a helpful wizard to guide the user through the entire structure solution process.

Phase Monte Carlo radiation transport (pMC): code by Lewis McMillan for paper Imaging in thick samples, a phased Monte Carlo radiation transfer algorithm

Physical optics propagation through synchrotron radiation beamlines (PHASE): tool for the optical design of synchrotron radiation beamlines, by Uwe Flechsig. It is based on analytic expressions for nonlinear transformation of beam coordinates across optical elements. Documented here

signedMCRT: use of signed distance fields in Monte Carlo Radiative Transfer, by Lewis McMillan. This allows modelling of smooth surfaces without the need to use triangle or similar meshes.

## Quantum Chemistry and Electronic Structure

A Fortran Electronic Structure Programme (AFESP): project based on the Crawford Group’s C++ Programming Tutorial in Chemistry, but written in Fortran, by Kirk Pearce et al. The end goal of this project will be performing HF, MP2, CCSD, and CCSD(T), as per the original tutorial, but with additional support for multicore processors (modern CPUs, GPUs).

EDIpack: Lanczos-based solver for generic quantum impurity models exploiting distributed memory MPI parallelisation, from QcmPlab. Related is EDlattice, a parallel Exact Diagonalization algorithm for interacting electrons on a lattice.

fold2Bloch: unfolding of first-principle electronic band structure obtained with WIEN2k DFT-(L)APW code, by Anton Bokhanchuk et al.

peacemaker: quantum cluster equilibrium theory for applying statistical mechanics to quantum-chemically optimized clusters, forked by Sebastian Ehlert

qe-gpu: GPU-accelerated Quantum ESPRESSO using CUDA Fortran, by Filippo Spiga

## Random Number Generation

fortran-splitmix64: splitmix64 RNG in Fortran 2008, by DSCF-1224

xoshiro-fortran: implementation of xoshiro/xoroshiro in Fortran 2008, by DSCF-1224

## Reactor Physics

PREPRO 2021: collection of 18 module codes which are designed to convert ENDF/B formatted evaluated data from the originally distributed ENDF-6 format to formats in which the data can be used in application codes, by Georg Schnabel et al.

## Statistics

Multi-Reader Multi-Case Analysis of Variance: MRMCaov: R package with underlying Fortran code for statistical comparison of diagnostic tests - such as those based on medical imaging - for which ratings have been obtained from multiple readers and on multiple cases, by Brian J. Smith

## Strings

Fregex: Perl Compatible Regular Expressions (PCRE) wrapper for Fortran by Ian Giestas Pauli

## Time Series

wavepack: computes the wavelet transform of a time series, and significance levels, by zoziha

## Unit Testing

Fortran Unit Test Framework (FortUTF): unit test framework written purely in Fortran to be compatible with as many projects as possible, by Kristian Zarębski

test-drive: lightweight, procedural unit testing framework based on nothing but standard Fortran, by Sebastian Ehlert and Jeremie Vandenplas. Integration with meson, cmake and Fortran package manager (fpm) is available.