Update since Feb 18, full list here
Astronomy and Astrophysics
aquila astrophotography package: small LRGB astrophotography reduction and processing package, by Dominik Gronkiewicz. The package consists of the programs aqstack for stacking and reduction of monochromatic CCD images and aqlrgb for compositing images from many filters into one color picture.
CUMC3D-Ver1.28: parallel code for high-energy astrophysical simulations, by Ho Sang (Leon) Chan et al. It includes basic MHD solvers and models for simulating accretion discs around supermassive black holes.
DarkLim: statistical tools for calculating dark matter exclusion limits and sensitivity estimates, from SPICE/HeRALD
FastQSL: code associated with Zhang, P., Chen, J., Liu, R. and Wang, C., FastQSL: A Fast Computation Method for Quasi-separatrix Layers. The Astrophysical Journal, 2022, 937, 26
FEMlimb-Astrophysics: algorithm described in the paper Measuring limb darkening of stars in high-magnification microlensing events by the Finite Element Method, by L. Golchin and S. Rahvar, Monthly Notices of the Royal Astronomical Society (2020)
FluxConserving: Fortran code to compute the flux-density conservation, with a Python interface, by Jean Gomes
libTheSky: computes the positions and other properties of celestial bodies (Moon, planets, comets, asteroids, stars), events (e.g. lunar phases) and coordinate transformations, by Marc van der Sluys and AstroFloyd. It forms the core of the software that is used to create the Dutch popular-astronomy website http://hemel.waarnemen.com.
NASA Ames Mars Global Climate Model (AmesGCM): simulates the atmosphere and climate of the planet Mars using an external finite volume dynamical core to predict the global atmospheric state given various planetary parameters and physical parameters.
PhotochemPy: photochemical model of rocky planet’s atmospheres, by Nicholaswogan. Given inputs, like the stellar UV flux, the atmospheric temperature structure, etc., this code will find the steady-state chemical composition of an atmosphere, or evolve atmospheres through time. Photochem is a rewrite in modern Fortran.
Biology and Medicine
hole2: analysis and visualisation of the pore dimensions of the holes through molecular structures of ion channels, by Oliver Smart et al.
ktz-phasediag: generates phase diagram for the KTz Neuron. Code written for the paper Girardi-Schappo M, Bortolotto GS, Stenzinger RV, Gonsalves JJ, Tragtenberg MHR (2017) Phase diagrams and dynamics of a computationally efficient map-based neuron model. PLoS ONE 12(3): e0174621.
RBC3D: spectral boundary integral solver for cell-scale blood flow. Associated paper: Bryngelson, S. H., Guéniat, F., & Freund, J. B. (2019), Irregular dynamics of cellular blood flow in a model microvessel, Physical Review E, 100, 012203.
Climate and Weather
Automatic Lidar and Ceilometer Processing Framework (ALCF): tool for processing of automatic lidar and ceilometer (ALC) data and intercomparison with atmospheric models such as general circulation models (GCMs), numerical weather prediction models (NWP) and reanalyses with a lidar simulator using the COPS instrument simulator framework running offline on model output
Cloud Layers Unified By Binormals (clubb_release): single-column atmospheric model, with associated preprint CLUBB-SILHS: A parameterization of subgrid variability in the atmosphere, by Vincent E. Larson
dwarf-p-cloudsc: standalone mini-app of the ECMWF cloud microphysics parameterization, by Michael Lange, Willem Deconinck, and Balthasar Reuter
fst-tools: tools to manipulate RPN standard files, from Meteorological Research Informatics Services of Canada
GVTD-X: implements numerical method to retrieve tangential and radial wind components in atmospheric vortices from single-Doppler radar observations, which is named from pronounciation of a abbreviation “GVTD-HeCs” (Generalized Velocity Track Display with the Helmholtz-decomposition-based Closure assumption). By Satoki Tsujino.
UCLALES-SALSA: large-eddy model coupled with a detailed sectional microphysics module for aerosol, clouds and precipitation, by Juha Tonttila et al.
Code Tools
version-f: implementation of Semantic Versioning 2.0.0 by Minh Dao that aims to be a user-friendly tool for handling versions in Fortran projects.
Computational Chemistry
EMsoft: computation and visualization of scanning electron microscopy diffraction patterns, notably EBSD, ECP, TKD, and EKP, by Marc de Graef et al. In addition, there are programs for TEM defect image contrast, CBED, PED, Laue x-ray diffraction, and a new series of programs for computational polarized light microscopy. EMsoftOO is an object-oriented version under development in Fortran 2018.
International Association for the Properties of Water and Steam (iapws): library providing the formulas for computing light and heavy water properties, by Milan Skocic, with interfaces to C and (in pyiapws) Python
MolAlignLib: Fortran and Python library based on random rotations and quasi-local RMSD minimizations to align rigid molecules and clusters. Associated paper: M. Vasquez-Perez, L. A. Zarate-Hernandez, C. Z. Gomez-Castro, U. A. Nolasco-Hernandez. A Practical Algorithm to Solve the Near-Congruence Problem for Rigid Molecules and Clusters, Journal of Chemical Information and Modeling (2023)
QMC=Chem: Reference: Quantum Monte Carlo for large chemical systems: Implementing efficient strategies for petascale platforms and beyond, by Anthony Scemama , Michel Caffarel, Emmanuel Osere.t and William Jalby (2013), Journal of Computational Chemistry, 34:11(938–951)
string-amber: adaptive string method implementation in sander (AmberTools 22.3). Associated paper: Adaptive Finite Temperature String Method in Collective Variables, by Kirill Zinovjev and Iñaki Tuñón, J. Phys. Chem. A 2017, 121, 51, 9764–9772 (2017).
Containers and Generic Programming
Fortran Elements Library: list, dictionary, shared pointer, and error handler, by Dominik Gronkiewicz
hashtable: hash tables by Jeremie Vandenplas based on the function hashword in lookup3.c by Bob Jenkins. Five derived types are available, for character, integer, and real scalars, and for integer and real arrays
Computational Fluid Dynamics
afivo-streamer: code for fluid simulations of streamer discharges, from Multiscale Dynamics - CWI. It is based on the afivo framework, which provides adaptive mesh refinement (AMR) and a multigrid solver for Poisson’s equation.
C81-Interface: parses and creates C81 formatted airfoil tables, by Cibin Joseph
CP3d: code associated with Z. Gong, Z. Wu, C. An, B. Zhang, X. Fu, CP3d: A comprehensive Euler-Lagrange solver for direct numerical simulation of particle-laden flows, Computer Physics Communications, 286 (2023) 108666.
HORSES3D High-Order (DG) Spectral Element Solver: multiphysics environment where the compressible Navier-Stokes equations, the incompressible Navier–Stokes equations, the Cahn–Hilliard equation and entropy–stable variants are solved. Arbitrary high–order, p–anisotropic discretisations are used, including static and dynamic p–adaptation methods (feature-based and truncation error-based).
ps3d: pseudo-spectral code for turbulent flows in 3D, associated with the paper The stability of inviscid Beltrami flow between parallel free-slip impermeable boundaries, by David Dritschel and Matthias Frey, Journal of Fluid Mechanics (2023)
Dates and Times
datetime: library for simple, time-zone-independent date and time management, by Patrizia Favaron
Earth Science
Anura3D_OpenSource: numerical modelling of large deformations and soil–water–structure interaction using the material point method (MPM)
Ecosystem Demography Biosphere Model (ED2): integrated terrestrial biosphere model incorporating hydrology, land-surface biophysics, vegetation dynamics, and soil carbon and nitrogen biogeochemistry
External Drift Kriging (EDK): program from the Helmholtz Centre for Environmental Research. An associated paper is Zink, M., R. Kumar, M. Cuntz, and L. Samaniego (2017), A high-resolution dataset of water fluxes and states for Germany accounting for parametric uncertainty, Hydrol. Earth Syst. Sci., 21(3), 1769–1790, doi:10.5194/hess-21-1769-2017.
EQdyna: parallel finite element software to simulate earthquake spontaneous dynamic rupture, seismic wave propagation and high frequency deterministic ground motions, by Dunyu Liu. It focuses on simulating earthquakes on geometrically complex fault systems with other heterogeneities in mind.
gufm1-webservice: four centuries of geomagnetic secular variation from historical records. This Fortran-backed webservice by Martin Rehfeld provides an interface to the gufm1 model as published by Andrew Jackson, Art R. T. Jonkers and Matthew R. Walker.
hypoellipse: determines hypocenters and magnitudes of near regional earthquakes and the ellipsoids that enclose the 68-percent confidence volumes of the computed hypocenters. HYPOELLIPSE was developed to meet the needs of U.S. Geological Survey (USGS) scientists studying crustal and sub-crustal earthquakes recorded by a sparse regional seismograph network.
insol: calculates paleo and future daily insolation at the top of the atmosphere, by Alexander Robinson
LinSlipInv: Linear multi time-window earthquake slip inversion with k^-2 smoothing, by Frantisek Gallovic. Suite of codes for linear slip inversions and resolution analysis.
Multicomponent Aerosol FORmation (mafor): Lagrangian type sectional aerosol box model which includes gas phase and aqueous phase chemistry in addition to aerosol dynamics. The model simultaneously solves the time evolution of both the particle number and the mass concentrations of aerosol components in each size section.
Multi-Physics Problem (MPP): solves biophysics problems relevant to global land surface models (LSMs). Associated paper: Bisht, G., Riley, W. J., Hammond, G. E., and Lorenzetti, D. M., Development and evaluation of a variably saturated flow model in the global E3SM Land Model (ELM) version 1.0, Geosci. Model Dev., 11, 4085-4102, 2018
Open-source geomagneToSphere prOpagation tool (OTSO): geophysics tool used to compute the trajectories of cosmic rays within the Earth’s magnetosphere, by Nicholas Larsen. These computations are used to determine physical values, such as cut-off rigidities and asymptotic cones for locations on the Earth, that are needed by the cosmic ray research community.
Pecube_D: version of Pecube 3D thermal model that tracks exhumed sample cooling histories and calculated predicted cooling ages, by Todd Ehlers et al. It also allows for the simulation of topographic evolution and is (optionally) coupled with the CASCADE surface process model.
Perple_X: programs for calculating phase diagrams, manipulating thermodynamic data, and modeling equilibrium phase fractionation and reactive transport, by James A. D. Connolly
pycathy_wrapper: Python wrapper for the CATHY (V1, and plant model version) Fortran code allowing mesh creation, forward and inverse modeling, and simple output visualization of CATHY simulations. Associated paper: Camporese, M., Paniconi, C., Putti, M., Orlandini, S., 2010. Surface-subsurface flow modeling with path-based runoff routing, boundary condition-based coupling, and assimilation of multisource observation data..Water Resources Research 46.
PyProSAIL: Python interface by Robin Wilson to the ProSAIL combined leaf optical properties (PROSPECT) and canopy bi-directional reflectance (SAIL) model, in Fortran
ReosProject: tools for hydrological and hydraulic analysis
seismo_tools: utilities for working with seismological data formats, seismic catalogs, and other common tasks such as calculating distances, computing arrival times, displaying seismograms, etc., by Antonio Villaseñor
Structure for Unifying Multiple Modeling Alternatives (SUMMA): hydrologic modeling framework that can be used for the systematic analysis of alternative model conceptualizations with respect to flux parameterizations, spatial configurations, and numerical solution techniques, by Martyn P. Clark et al.
Super-Fast INundation of CoastS (SFINCS): reduced-complexity model designed for super-fast modelling of compound flooding events in a dynamic way, from Deltares
Economics
DeadlyDebtCrises: code and data appendix for Deadly Debt Crises: COVID-19 in Emerging Markets, accepted for publication by The Review of Economic Studies, by Cristina Arellano, Yan Bai, and Gabriel Mihalache
Engineering
Generator’s high-current bus ducts: computation of current distributions, power losses, and magnetic fields of the high-current, shielded generator bus ducts, by Petar Sarajcev
pyAVL: stripped down version of Mark Drela and Harold Youngren’s famous AVL code for the aerodynamic and flight-dynamic analysis of rigid aircraft of arbitrary configuration, wrapped in Python with f2py by Josh Anibal. This allows one to more easily conduct large parameter sweeps in AVL or to include AVL into a larger model.
THOR: discrete ordinates radiation transport code using the AHOT-C method on unstructured meshes (can be generated using Gmsh and converted using OpenMeshConverter) and multigroup XS (can be generated using OpenMC and converted using OpenXSConverter), by Nicholas Herring et al.
File I/O
Fortran 90 General I/O Interface (F90GIO): provides I/O interface for NetCDF, HDF4, HDF5 reading and writing, by Cheng Da
fortran-messagepack: prototype library for MessagePack (an efficient binary serialization format) support in Fortran, by Kelly Schultz
Finite Elements
ParallelFEM-Fortran: Parallel programming for Finite Element Analysis using Fortran and PETSc, by chennachaos. This code includes several parallel implementations for the Lapalace equation and linear elasticity in 2D and 3D.
ParMETIS for fpm: Fortran API and a source repackaging by gnikit of ParMETIS, an MPI-based library for partitioning graphs, serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices, from KarypisLab
tensor-algebra: some frequently required methods for the implementation of problems in the field of continuum mechanics, e.g. tensor algebra, by CfKu. These methods are usually needed and used to implement user subroutines in finite element software written in Fortran.
Fortran Books and Tutorials
Computational_Techniques: Computational Techniques and Numerical Calculations course of the Erasmus Mundus Theoretical Chemistry and Computational Modelling Master’s program. Part 1 introduces Fortran, and later parts discuss numerical methods.
FortranCourse: short course with each concept illustrated by a Fortran program, by Guillaume Roullet
fortran_examples: examples using advanced features of Fortran, by Philippe Carphin, Samuel Gilbert, and Michel Valin
RCDS-introduction-to-fortran: introductory course delivered by Chris Cooling at the Imperial College London Graduate School.
General Purpose
cernlib: large collection of general purpose libraries and modules maintained and offered in both source and object code form on the CERN central computers. Most of these programs were developed at CERN and are therefore oriented towards the needs of a physics research laboratory that is general mathematics, data analysis, detectors simulation, data-handling etc… applicable to a wide range of problems. nanoncernlib is a collection of commonly used cernlib routines packaged with cmake to easily build on modern systems.
Interoperability
f2py-with-derived-types: demonstrates how to use f2py with Fortran derived types with type-bound procedures, by Nick Wogan
java-f90-jni-dll: demonstrates calling a Fortran dynamic link library (DLL) from Java bean by using JNI/JNA, by John Van Derton
Interpolation
interpolation: Matlab/Octave-like interpolation functions such as linear and PCHIP (Piecewise Cubic Hermite Interpolating Polynomial), by Jiří Fürst
pytspack: Python wrapper by Barry Baker and Zachary Moon of Robert J. Renka’s TSPACK, a curve-fitting package based on exponential tension splines with automatic selection of tension factors. TSPACK is a curve-fitting package based on exponential tension splines with automatic selection of tension factors.
Linear Algebra
fortran_csr: library to construct and multiply a matrix in compressed sparse row (CSR) format, by Yuki Nagai
GEVP-PDHGEQZ: parallel ScaLAPACK-style package of routines for solving nonsymmetric real generalized eigenvalue problems, from NLAFET
insitu_array: in-place array transpose for Fortran, by Paul Stryck. Module uses a 1D array for storage and mimics differently shaped views to the same underlying data via pointer reassignment.
JKogb: software supplement for the paper Kogbetliantz-type algorithm for the hyperbolic SVD, by Vedran Novaković & Sanja Singer, Numerical Algorithms volume 90, pages 523–561 (2022)
psfun: library under development focused on the computation of matrix-function vector products equation for large and sparse matrix in a distributed setting, by Fabio Durastante and Salvatore Filippone
Materials Science
GraSPH: Smoothed-particle Hydrodynamics (SPH) program originally intended for simulations of bulk granular material as well as fluids, by Edward Yang. Src_CAF contains code intended to run multi-core configuration enabled with the Coarray Fortran 2008 features, and src_GPU contains code intended to run on a CUDA-enabled GPU.
Mesh Generation
OpenMeshConverter: open source utility to convert various publicly available mesh formats, by Nicholas Herring. It takes a version 4 Gmsh file (tested with version 4.1) and converts it to the THOR mesh format, and there are plans to extend this converter to intake other versions of Gmsh and exodus.
Molecular Dynamics
Empirical Valence Bond - Quantum mechanical derived force field (EVB-QMDFF): Ring Polymer Molecular Dynamics (RPMD) and rate constant calculations on black-box potential energy surfaces, by Julien Steffen
Relativistic and Electromagnetic Molecular Dynamics Simulation for Nanoscale Phenomena: associated paper: M. Tanaka and M. Murakami, Relativistic and electromagnetic molecular dynamics simulations for a carbon-gold nanotube accelerator, Computer Physics Communications, 241, 56-63 (2019)
Neural Networks and Machine Learning
util: machine learning, optimization, and data science utilities package, by tchlux. tlux has code for nonlinear regression and the ball tree algorithm for nearest neighbors
Numerical
fastconv: simple library for 1D and 2D convolutions, by Dominik Gronkiewicz
monolis_utils: utilities for monolithic library of numerical simulation, by Naoki Morita. There are modules for I/O, data processing, algebraic computations, memory allocation and release, MPI, tabular data, bounding boxes, Kd-trees, and hashing.
naglib - NAG Routine Replacements: replacements for some NAG Library routines root-finding, quadrature, sine and cosine transforms, solving ODEs, interpolation, random number generation, and special functions, by Ricardo Yanez
Naval Surface Warfare Center (NSWC) Mathematical Library: collection of Fortran 77 routines specializing in numerical mathematics. Subroutines are available in the following areas: elementary operations, geometry, special functions, polynomials, vectors, matrices, large dense systems of linear equations, banded matrices, sparse matrices, eigenvalues and eigenvectors, L1 solution of linear equations, least-squares solution of linear equations, optimization, transforms, approximation of functions, curve fitting, surface fitting, manifold fitting, numerical integration, integral equations, ordinary differential equations, partial differential equations, and random number generation.
Ordinary Differential Equations
dvode: Modern Fortran Edition of the DVODE ODE Solver, by Jacob Williams
RKAdaptiveMethods: implements adaptive Runge-Kutta methods rk54Sharp, rk54Dormand, rk65Dormand, rk87Dormand, rk87EnrightVerner, rk108Feagin, rk109Legendre, rk1210Feagin, rk1211Peter, rk1412Long, and rk1412Feagin and tests them on the Pleiades problem, a 7 body 2-dimensional gravitational system, by kayejlli. Can be called by Python via f2py or by a Fortran main program.
Optimization
prima: Reference Implementation for Powell’s methods with Modernization and Amelioration, by Zhang Zaikun and Tom M. Ragonneau. PRIMA implements of Powell’s derivative-free optimization methods, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.
Parallel Programming
ACM40640-PH504: Introduction to HPC and Parallel Programming Module, by Buket Benek Gursoy et al.
Partial Differential Equations
pdecheb: Chebyshev polynomial software for elliptic-parabolic Systems of PDEs, by Ivan Pribec
Particle Physics
Cosmic ray and HadROnic interactiOn MOnte-carlo frontend (chromo): generic user interface to popular event generators used in cosmic ray and high-energy particle physics, from impy-project
Physics
Accurate Biot-Savart routines with Correct Asymptotic Behaviour (abscab-fortran): computes the magnetic field and the magnetic vector potential of filamentary current carriers in the form of a circular loop and straight segments, by Jonathan Schilling. Arbitrary geometries of conductors can be approximated by a polygon along its contour and the connecting segments between the polygon vertices are modeled by straight segments.
Cartesian-coordinate Oblique-boundary Particles and Thermals In Cell (COPTIC): moves particles in three dimensions of space and time (6 phase-space dimensions) and simultaneously calculates the self-consistent electrostatic potential in the presence of a neutralizing species governed by a thermal Boltzmann factor, or of a second particle species, by ihutch and chaako
codata: provides the codata constants 2010, 2014 and 2018, by Milan Skocic. The raw codata from http://physics.nist.gov/constants are parsed line by line where the columns name, value, uncertainty and unit are formatted to be conform to Fortran double precision. pycodata is a Python wrapper.
electron-phonon Boltzmann transport (elphbolt): Fortran 2018 code for solving the coupled electron and phonon Boltzmann transport equations (BTEs), by nakib. Using ab initio electron-phonon and phonon-phonon interactions and a fully wave vector and electron band/phonon branch resolved formulation of the BTEs, elphbolt can calculate the phonon and electronic thermal conductivities; electronic conductivity; phonon and electronic contributions to the thermopower; and effect of the mutual electron-phonon drag on the transport coefficients listed above.
EMUstack: simulation package for calculating light propagation through multi-layered stacks of dispersive, lossy, nanostructured, optical media, by Bjorn Sturmberg. It implements a generalised scattering matrix method, which extends the physical intuition of thin film optics to complex structures.
Green-Tea-: Green’s functions quantum transport solver based on ab-initio physical models, associated with paper Unit cell restricted Bloch functions basis for first-principle transport models: Theory and application, by M. G. Pala, P. Giannozzi, and D. Esseni, Phys. Rev. B 102, 2020
semba-fdtd: parallel Finite-Difference Time-Domain (FDTD) simulator. An associated paper is Miguel Ruiz Cabello, Maksims Abalenkovs, Luis Diaz Angulo, Clemente Cobos Sanchez, Franco Moglie, Salvador Gonzalez Garcia, Performance of parallel FDTD method for shared- and distributed-memory architectures: Application to bioelectromagnetics, PLOS ONE 15(9): e0238115, 2020
Treecode-Accelerated Boundary Integral Poisson-Boltzmann (TABI-PB) solver: employs a well-conditioned boundary integral formulation for the electrostatic potential and its normal derivative on the molecular surface. Associated paper: J. Chen and W. Geng, On preconditioning the treecode-accelerated boundary integral (TABI) Poisson-Boltzmann solver, J. Comput. Phys., 373, 750-762 (2018).