(Translated by https://www.hiragana.jp/)
GitHub - flobosg/Fortran-code-on-GitHub: Directory of Fortran codes on GitHub, arranged by topic
Skip to content

Directory of Fortran codes on GitHub, arranged by topic

License

Notifications You must be signed in to change notification settings

flobosg/Fortran-code-on-GitHub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Fortran code on GitHub -- also see fortran-lang package index

Art and Music

Art1: program written by Richard Williams in 1968. Its purpose was to give non-progammers access to an IBM System/360 Model 40 computer at the University of New Mexico in order to explore artistic and aesthetic uses of the machine.

formidi: small Fortran MIDI sequencer for composing music and exploring algorithmic music, by Vincent Magnin

forsynth: small Fortran synthesizer to explore sound synthesis, sound effects, electronic music, algorithmic music, etc, by Vincent Magnin

MUSICV: Max Mathew's MUSIC V synthesis program, prepared by Bill Schottstaed for gfortran, with additions and fixes by Victor Lazzarini.

TapTempo Fortran: command line taptempo written in modern Fortran, by Vincent Magnin. Listen to a song and hit enter key with style and you'll get the corresponding number of beats per minute (BPM).

uzura3: mpeg audio layer 3 encoder written in Fortran 90/95 (mp3 encoder), by cure-honey. There is also uzura1_fpm that works with the Fortran Package Manager.

XenakisFreeStochasticMusicFortran: working versions of a Xenakis FORTRAN program (Xenakis 1971 Formalized Music p 149)

Astronomy and Astrophysics

Adaptive Spherical Overdensity Halo Finder (ASOHF): primarily designed to identify bound dark matter structures (dark matter haloes), as well as their stellar counterparts (galaxies) in the outputs of cosmological simulations. Associated paper: The halo-finding problem revisited: a deep revision of the ASOHF code, by David Vallés-Pérez, Susana Planelles, and Vicent Quilis, Astronomy&Astrophysics, 664 (2022).

ALBUS_ionosphere: determines the ionosphere total electron content (TEC) over any location on the Earth as a function of location and time, by Tony Willis. It then uses the TEC and a model of the Earth's magnetic field to compute the ionosphere's effect on the Faraday Rotion Measure (RM) observed for an astronomical radio source. The ionosphere's contribution to the RM can then be removed.

aquila astrophotography package: small LRGB astrophotography reduction and processing package, by Dominik Gronkiewicz. The package consists of the programs aqstack for stacking and reduction of monochromatic CCD images and aqlrgb for compositing images from many filters into one color picture.

ARTEMIS-P: Anisotropic Ray Tracer for Electromagnetism in Magnetospheres, Ionospheres and Solar wind, including Polarisation, by Baptiste Cecconi and C. Baskevitch

astro-api: makes the astronomical calculations for yr.no, by Frank Thomas Tveter et al. The astro-api software uses the JPL ephemeride tables and the SOFA astronomical library, along with algorithms for quick and precise searches, to provide astronomical data on demand, such as sun/moon rise/set, twilight, polar day/night, moon phase, eclipse, solstice times.

astro-fortran: modern Fortran implementations of standard models used in fundamental astronomy, by Jacob Williams. It is a refactoring of IAU SOFA.

astroTools: command-line tools for astronomy and astrophysics, by AstroFloyd

ATES-Code: ATES hydrodynamics code, by AndreaCaldiroli, computes the temperature, density, velocity and ionization fraction profiles of highly irradiated planetary atmospheres, along with the current, steady-state mass loss rate.

Automatic Line Fitting Algorithm (ALFA): identifies and fits hundreds of lines in emission line spectra in just a few seconds. It does this using a genetic algorithm to optimise the line parameters, by Roger Wesson

BI-spectra and Non-Gaussianity Operator (BINGO): numerically evaluates the scalar bi-spectrum and the non-Gaussianity parameter fNL in single field inflationary models involving the canonical scalar field, by dkhaz. The code is based on the Maldacena formalism to evaluate the bi-spectrum.

CAMB: code for Anisotropies in the Microwave Background, by cmbant

cleanest: semiautomatic removal of cosmic rays in astronomical images, by Nicolás Cardiel and Sergio Pascual

Commander: optimal Monte-carlo Markov chAiN Driven EstimatoR which implements fast and efficient end-to-end CMB posterior exploration through Gibbs sampling, from Cosmoglobe

Compact Object Synthesis and Monte Carlo Investigation Code (COSMIC): rapid binary population synthesis suite with a special purpose of generating realistic compact binary populations. COSMIC can also be used to evolve binaries with BSE in a python environment.

Complete History of Interaction-Powered Supernovae (CHIPS): simulates the circumstellar matter and light curves of interaction-powered transients, by DTsuna et al. Coupling the MESA stellar evolution code and codes implemented by the authors, the user can obtain the circumstellar matter profile and light curves of the interaction-powered supernovae.

Cosmology Object Oriented Package (COOP): Reference: Observational effects of a running Planck mass, by Zhiqi Huang

CosmoSIS: cosmological parameter estimation code, by joezuntz et al. It is a framework for structuring cosmological parameter estimation with a focus on flexibility, re-usability, debugging, verifiability, and code sharing in the form of calculation modules.

CUMC3D-Ver1.28: 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.

DAOPHOT-MCMC: modified version of the subroutine NSTAR.F which implements a Markov chain Monte Carlo (MCMC) routine for fitting highly blended stellar positions and fluxes, by Sean Terry. This code is installed and implemented within the overall DAOPHOT-II structure.

DarkLim: statistical tools for calculating dark matter exclusion limits and sensitivity estimates, from SPICE/HeRALD

Discrete Element Model Body (DEMBody): software for Granular Dynamics Simulation for Planetary Science and Geophysics, by Bin Cheng. It incorporates classical granular dynamics simulations and N-body self-gravity calculation.

dStar: computing neutron star structure and evolution, by Edward Brown et al.

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

DYnamics, Age and Metallicity Indicators Tracing Evolution (DYNAMITE): Schwarzschild- and stellar-population modelling of stellar systems

ECLIPSE: code for paper "ECLIPSE: a fast Quadratic Maximum Likelihood estimator for CMB intensity and polarization power spectra" (2021), by J.D. Bilbao-Ahedo et al.

etfFinal: Neutron star inner crust code, by mgeshelley

evelchemevol: one-zone closed-box chemical evolution code written in Fortran with OpenMP, by lukeshingles

exotrending: fast and easy-to-use light curve detrending software for exoplanets, from oscaribv

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

fastSHT: code associated with the paper Accelerating spherical harmonic transforms for a large number of sky maps, by Chi Tian, Siyu Li, and Hao Liu

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

fortran-astrodynamics: astrodynamics routines by Yuricst

Fortran-Astrodynamics-Toolkit: aims to be a comprehensive library, written in modern Fortran (Fortran 2003/2008), of all the standard orbital mechanics algorithms, by Jacob Williams

GaiaHub: Python/Fortran tool that computes proper motions combining data from Gaia and the Hubble Space Telescope, associated with paper GaiaHub: A Method for Combining Data from the Gaia and Hubble Space Telescopes to Derive Improved Proper Motions for Faint Stars, by del Pino, Andrés et al., The Astrophysical Journal, Volume 933, Issue 1, id.76, 18 pp. (2022)

galacticus: semi-analytic model of galaxy formation - a powerful toolkit for modeling the physics of how galaxies form

GR1D: general relativistic, spherically symmetry, neutrino transport code for stellar collapse. Associated paper: An Open-Source Neutrino Radiation Hydrodynamics Code for Core-Collapse Supernovae, by Evan O'Connor, Astrophysical Journal Supplement Series, Volume 219, Number 2 (2015)

GYRE Stellar Oscillation Code: Given an input stellar model, GYRE calculates the eigenfrequencies and eigenfunctions for the normal oscillation modes of the model, by rhdtownsend et al. These data can be put to a variety of uses; the most common is to compare them against observed oscillation frequencies of a star, allowing constraints on the star's fundamental parameters (mass, radius, etc.) to be established — the discipline of asteroseismology.

halo: orbit solver that can be used to generate long-duration Earth-Moon halo orbits in the ephemeris model. Reference: J. Williams et al., Targeting Cislunar Near Rectilinear Halo Orbits for Human Space Exploration, 27th AAS/AIAA Space Flight Mechanics Meeting, 2017

hazel2: synthesis and inversion of Stokes profiles caused by the joint action of atomic level polarization and the Hanle and Zeeman effects, by aasensio

High-Altitude to Space Transport Estimator (HASTE): high fidelity Monte Carlo code written in modern Fortran for estimating the radiation field seen by a space-based detector from a point source in or above the atmosphere, by wtdailey. The HASTE code includes models for many of the special features of this air-to-space transport problem that are not modeled, or only partially modeled, in other transport codes.

HMcode: augmented halo model for accurate non-linear matter power spectrum calculations, by Alexander Mead and Tilman Troester.

IMage COMbination (IMCOM): software associated with Optimal Linear Image Combination, by Barnaby Rowe, Barnaby, Christopher and Jason Rhodes, The Astrophysical Journal, Volume 741, Issue 1, (2011).

img2nc: converts planetary Digital Elevation Model (DEM) data into NetCDF, allowing one to draw a topographic map of the Moon, by ShinobuAmasaki.

International Radiation Belt Environment Modeling (IRBEM) library: routines to compute magnetic coordinates for any location in the Earth's magnetic field, to perform coordinate conversions, to evaluate geophysics/space-physics models, and to propagate orbits in time.

Just Another Vehicle for Estimating Lags In Nuclei (JAVELIN): version of the SPEAR algorithm written in Python to provide more flexibility in both functionality and visualization. One can use JAVELIN to model quasar variability using different covariance functions (Zu et al. 2013), and measure emission line lags using either spectroscopic light cruves (Zu et al. 2011) or photometric light curves (Zu et al. 2016).

kcarta_gen: fast, accurate, easy-to-use pseudo-monochromatic radiative transfer code, by sergio66

KiloNova Explosion Code (kNEC): simulates hydrodynamical evolution of BNS merger ejecta and the corresponding kilonova emission, by Zhenyu Wu. It is based on the SNEC code by Morozova et al., which is a Lagrangian radiation-hydrodynamics code for core-collapse supernova explosion.

legolas: modern tool for MHD spectroscopy, by n-claes

libTheSky: computes the positions and other properties of celestial bodies (Moon, planets, comets, asteroids, stars), events (e.g. lunar phases) and coordinate transformations, by Marc van der Sluys and AstroFloyd. It forms the core of the software that is used to create the Dutch popular-astronomy website http://hemel.waarnemen.com.

madwave3: wave packet propagation program for reactive collisions and photodissociation of triatomic systems, by Octavio Roncero

MAESTRO: solves the equations of low Mach number hydrodynamics for stratified atmospheres/stars with a general equation of state, from AMReX-Astro

magnetizer: post-processes the output of a semi-analytic model of galaxy formation and produces a catalogue of galaxies with detailed radial dependent ISM properties, including magnetic fields, by luizfelippesr

MCMax3D: Monte Carlo radiative transfer and disk modelling tool, described here. It sets up a disk structure using physical processes or a parameterised structure.

mercury: N-Body integrator based on Bulirsh-Stoer, Everhart and other methods, originally by John E. Chambers, that can integrate any star system, such as the Solar System

Microphysics: collection of astrophysical microphysics routines for stellar explosions, by Michael Zingale et al.

Mini-chem: kinetic chemistry network solver primarily for gas giant atmospheric modelling, pared down from the large chemical networks, associated with paper A mini-chemical scheme with net reactions for 3D general circulation models II. 3D thermochemical modelling of WASP-39b and HD 189733b, by Elspeth K. H. Lee, Shang-Min Tsai, Mark Hammond, and Xianyu Tan, Volume 672 (2023) Astronomy&Astrophysics, 672 (2023) A110

Modules for Experiments in Stellar Astrophysics (MESA): allow users to run experiments in stellar evolution. Stellar evolution calculations (i.e., stellar evolution tracks and detailed information about the evolution of internal and global properties) are a basic tool that enable a broad range of research in astrophysics.

msg: Multidimensional Spectral Grids -- project for evaluating radiant properties of stellar atmospheres by rhdtownsend

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.

NASA Ames Legacy Mars Global Climate Model: uses a modified version of the ARIES/GEOS dynamical core coupled with a set of Mars physics packages to simulate the martian climate.

Nbody6++GPU - Beijing version: N-body star cluster simulation code, by Rainer Spurzem and team. It is an offspring of Sverre Aarseth's direct N-body codes.

NEAT: calculates chemical abundances in photoionised nebulae, by Roger Wesson et al. It can propagate uncertainties and compensate for measurement biases affecting weak lines.

NormalModes: applies a combination of several highly parallel algorithms to compute the planetary interior normal modes, by js1019

NPI Ephemeris Propagation Tool with Uncertainty Extrapolation (NEPTUNE): state-of-the-art numerical orbit propagator, from Space-Systems. It allows the extrapolation of a state vector and the associated uncertainty forward and backward in time.

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

oorb: contains the statistical orbital ranging method (hereafter referred to as Ranging). Ranging is used to solve the orbital inverse problem of computing non-Gaussian orbital-element probability density functions based on input astrometry.

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

optool: computes complex dust particle opacities from the command line, by Carsten Dominik and Ryo Tazaki. It is derived from Michiel Min’s DHS OpacityTool and also implements Ryo Tazaki’s MMF theory for highly porous aggregates.

phantom: 3D Smoothed Particle Hydrodynamics and Magnetohydrodynamics code for astrophysics, by Daniel Price and others

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.

PIERNIK: grid-based MHD code using conservative numerical schemes: relaxing TVD scheme (Pen et al., 2003; Trac & Pen, 2003) and the recently implemented HLLD approximate Riemann MHD solver (Miyoshi & Kusano, 2005) combined with the Dedner et al. (2002) divergence cleaning algorithm.

Planetary Code Collection: Thermal and Ice Evolution Models for Planetary Surfaces, by Norbert Schorghofer

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(TM) 2021 benchmark suites.

pycalc11: Python interface by Adam Lanman for running the CALC delay modeling tool, written in Fortran, by providing parameters as astropy objects. CALC aims to compute VLBI baseline delays to picosecond precision by incorporating general relativistic deflection from the Sun, Earth, and other planets, solid Earth and ocean tide loading, and atmospheric contributions

pymoog: Python 3 wrapper for running the LTE spectrum synthesis part of the Fortran code MOOG by Chris Sneden

python-fsps: Python bindings to Charlie Conroy's Flexible Stellar Population Synthesis (FSPS) Fortran code

RADMC-3D Version 2.0: computes the observational appearance of an astrophysical object on the sky of the observer, by dullemond. It solves the non-local radiative transfer problem of dusty media, including thermal radiative transport and scattering.

radtrancode: radiative transfer calculations and retrievals, originally written in Oxford University.

ramses: models astrophysical systems, featuring self-gravitating, magnetised, compressible, radiative fluid flows. It is based on the Adaptive Mesh Refinement (AMR) technique on a fully-threaded graded octree.

riaf-sed: computes spectral energy distributions of radiatively inefficient accretion flows (RIAFs) around black holes, by rsnemmen

shark: code associated with Protostellar collapse simulations in spherical geometry with dust coagulation and fragmentation (2023), by Ugo Lebreuilly, Valentin Vallucci-Goy, Vincent Guillet, Maxime Lombart, and Pierre Marchand, Monthly Notices of the Royal Astronomical Society, Volume 518, Issue 3, Pages 3326–3343

SMERCURY-T: upgrade of the SMERCURY orbital integrator that includes modules to enable the solar tidal spin torque as well as the general relativistic force, by Steven M. Kreyche

spacepy: Space Science library for Python, calling Fortran code - contains superposed epoch classes, drift shell tracing, access to magnetic field models, streamline tracing, bootstrap confidence limits, time and coordinate conversions, etc.

SpectralRadex: Python library for spectral modelling and RADEX, by Jon Holdship et al. SpectralRadex uses F2PY to compile a version of RADEX written in modern Fortran, most importantly dropping the use of common blocks. As a result, running a RADEX model creates no subprocesses and can be parallelized.

splash: visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations in one, two and three dimensions, developed mainly for astrophysics, by Daniel Price

Starlib: Thermonuclear Rate Library: library of thermonuclear reaction and laboratory weak interaction rates. It can be used for studies of stellar models and nucleosynthesis.

starlink: astronomical data processing

starsmasher: smoothed particle hydrodynamics code for smashing stars (and planets), by jalombar

stochastic-parker: solves the Parker’s transport equation (and its extensions) using the stochastic method. Associated paper: Modeling Electron Acceleration and Transport in the Early Impulsive Phase of the 2017 September 10th Solar Flare, by Xiaocan Li, Fan Guo, Bin Chen, and Chengcai Shen, and Lindsay Glesener, The Astrophysical Journal Jun 2022

swiftest: n-body Integrator for gravitational systems, by Carlisle Wishard et al. It contains the Wisdom-Holman Mapping (WHM), Regularized Mixed Variable Symplectic (RMVS), Democratic Heliocentric (HELIO), and Symplectic Massive Body Algorithm (SyMBA) numerical integrators.

SWMF: Space Weather Modeling Framework is a software framework that provides a common operating environment for the various modeling components included. Each of the components models particular aspects of space weather (sun, heliosphere, magnetosphere, etc) and the various commands allow you to control how those models run and interact with each other.

Toolkit for High-ORder Neutrino Radiation Hydrodynamics (thornado): neutrino radiation-hydrodynamics code aiming to simulate core-collapse supernovae using discontinuous Galerkin methods, by Eirik Endeve et al.

UCLCHEM: gas-grain chemical code for Astrochemistry

universe-age: calculate the age of the universe for various parameters by integrating Friedmann Equation, by shu-yusa

weaklib: code library for astrophysical applications, from starkiller-astro. It provides preprocessed equation of state (EoS) and neutrino opacity tables for use in neutrino transport calculations.

White Dwarf Evolution Code (WDEC): code associated with paper WDEC: A Code for Modeling White Dwarf Structure and Pulsations (2018), by Agnès Bischoff-Kim and Michael H. Montgomery

XNet: thermonuclear reaction network for astrophysical applications, using a variety of temporal integration techniques, from starkiller-astro. It is written in portable modern Fortran and makes use of a variety of matrix solving packages to obtain excellent speed (as much as 50% of peak) on as many platforms as possible.

Benchmarks

Assessment of Programming Languages for Computational Numerical Dynamics: compares different programming languages performance in order to solve CFD and Heat Transfer problems, by arturofburgos

Bandwidth Benchmark (Fortran version): collection of simple streaming kernels for teaching purposes, from RRZE-HPC. It is heavily inspired by John McCalpin's STREAM.

Basic Comparison of Various Computing Languages: Python, Julia, Matlab, IDL, R, Java, Scala, C, Fortran by Jules Kouatchou and Alexander Medema

bench_density_gradient_wfn: analyze the performance of evaluating the density gradient with various language implementations (C++/Fortran/Rust/Julia), by zyth0s

benchio: simple Fortran parallel IO benchmark for teaching and benchmarking purposes, by David Henty

benchmarks: high performance computing benchmarks and associated performance analysis workflows, from HPCL

Comparison of Programming Languages in Economics: code referenced in the paper "A Comparison of Programming Languages in Economics" by S. Borağan Aruoba and Jesús Fernández-Villaverde

Compiler-benchmark-suites: list of benchmark suites (and some loose kernels) in C and Fortran used in the research related to compilers, program performance, scientific computations etc.

cumsum_benchmark: benchmarks for the cumulative sum of an array, in Fortran, C++, Matlab, and Python, using various methods

fortran-math-tests: test programs for Fortran math libraries, by L. Fu

fortran-speed: compares speed of looping over individual arrays of variables with multiple dimensions to looping over arrays of derived types, where e.g., the last dimension is contained within the derived type, by Alex Robinson

Himeno Benchmark in Modern Fortran: Himeno benchmark to evaluate performance of incompressible fluid analysis code, written in Modern Fortran style, achieving almost the same execution performance as the original version, by Tomohiro Degawa. In this program, global variables are eliminated, and some variable names and subroutine names are refactored.

hpc-medley: two publicly available hpc benchmarks: NPB (NAS) and the HPL part of the HPCC challenge. It is used to determine the performance of clustered computing resources.

Julia, Matlab, Octave, and Fortran FEM Benchmark and Comparison: Benchmark and comparison of Julia, Matlab, Octave, and Fortran for a 2D Poisson problem solved on a unit square, by rdeits. The problem is discretized with Q1 bilinear Lagrange finite elements.

julia-numpy-fortran-test: comparing Julia vs Numpy vs Fortran for performance and code simplicity, by mdmaas

julia-pde-benchmark: benchmarks a very simple numerical integration algorithm for a 1d nonlinear partial differential equation (PDE) in Julia, Python, Matlab, C++, C, and Fortran, by John F. Gibson and Frank Otto. Results include execution time versus size of discretized system, and execution time versus lines of code.

Julia Syntax: Comparison with Fortran: simple cheatsheet and some performance comparison for scientific programmers who are interested in discover Julia, by Pierre Navaro

LINPACK: original (1000x1000 double precision) LINPACK benchmark, with bugfixes, by zaniyah

matmul: matrix multiplication benchmark by Ondřej Čertík

Microbenchmarks: micro benchmark comparison of Julia against other languages, including Fortran, from JuliaLang

miniApps-for-hpc: set of small codes representative of larger application programs run on supercomputers, by Vivek Kale. The reason that these codes were developed was to experiment with performance optimizations done on larger application programs.

NetworkDynamicsBenchmarks: scripts for benchmarking dynamical systems on networks, from paper "NetworkDynamics.jl -- Composing and simulating complex networks in Julia", by Michael Lindner et al.

nwchem-tce-triples-kernels: NWChem TCE CCSD(T) loop-driven kernels for performance optimization experiments, by jeffhammond

Performance comparison R, Julia, Fortran for Bayesian binary probit by driesbenoit

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.

Python Performance: performance benchmarks of Python, Numpy, etc. vs. other languages such as Matlab, Julia, Fortran, from scivision

raytracer: raytracer benchmark in dozens of languages, by edin. Associated with paper M. Moreira-Soares, R. Coimbra, L. Rebelo, J. Carvalho & R. D. M. Travasso. "Angiogenic Factors produced by Hypoxic Cells are a leading driver of Anastomoses in Sprouting Angiogenesis–a computational study". Scientific Reports 8, 8726 (2018)

ScalSALE: Scalable SALE Benchmark Framework for Supercomputers, from Scientific Computing Lab NRCN

Simple N-Body with LeapFrog integrator: Implementation in C, Fortran, Go, Julia and Rust of a very simple N-Body simulator with 3 particles using a LeapFrog integrator. Presented in What can the programming language Rust do for astrophysics?, to appear in the Proceedings of the IAUえーゆー Symposium 325 on Astroinformatics.

STREAM2: STREAM2 is an attempt to extend the functionality of the STREAM benchmark in two important ways: STREAM2 measures sustained bandwidth at all levels of the cache hierarchy and more clearly exposes the performance differences between reads and writes

Traveling Salesman Problem Exact algorithm: fastest to slowest are C++, Rust, Go, C#, Fortran, Dart, and Python, by Luis Harvey Triana Vega

Biology and Medicine

ANCC: Python scripts and Fortran code for ambient noise tomography, such as computing cross-correlation (with parallel computing), and extracting dispersion curves, by Youshan Liu

angio: 3D phase-field modelling for tumor angiogenesis, by phydev. Associated with paper M. Moreira-Soares, R. Coimbra, L. Rebelo, J. Carvalho & R. D. M. Travasso. Angiogenic Factors produced by Hypoxic Cells are a leading driver of Anastomoses in Sprouting Angiogenesis–a computational study. Scientific Reports 8, 8726 (2018)

Asexual Penna model: implementation of a biological aging model, as introduced in the paper by Thadeu Penna, A Bit-String Model for Biological Aging, Journal of Statistical Physics 78 (1995)

BrainTumors: time and space evolution of a brain tumor in 3D using the reaction-diffusion equation and finite differences to solve it numerically, by veneciachm

CardiacFEM: cardiac electro-mechanics solver based on ParaFEM, by Levrero

CAMI-Gz-Effects-Model-CGEM-: resource flow-based model of symptom induction and recovery from Gz accelerations in aeronauts. Associated report: Cerebral Blood Flow Based Computer Modeling of Gz-Induced Effects, by Kyle Copeland and James E. Whinnery, Civil Aerospace Medical Institute (CAMI) (2023)

COVID-testbias: Understanding the Bias between the Number of Confirmed Cases and Actual Number of Infections in the COVID-19 Pandemic, by dkhaz and xingangchen

covid19-vac-st: code and data for the paper Effects of infection fatality ratio and social contact matrices on vaccine prioritization strategies, by A. Schulenburg, W. Cota, G. S. Costa, and S. C. Ferreira, Chaos. 2022 Sep;32(9):093102

droplets_simulation: simulation of virus-laden droplets behavior from AFDET (Advanced Fluid Dynamics and Energy Transfer Lab)

dynSIS: code for paper Optimized Gillespie algorithms for the simulation of Markovian epidemic processes on large and heterogeneous networks, by Wesley Cota and Silvio C. Ferreira, Computer Physics Communications v. 219 (2017) pp 303-312

ECOSYS: code for terrestrial ecosystem biogeochemistry, by Robert Grant. A related project is EcoSim.

EpiDetector: identifies epistasis (i.e., gene-to-gene interactions) in a genome-wide analysis setting, by Jakub Pecanka. EpiDetector implements several flavors of a two-stage testing approach. The underlying methodology is described in this paper and book chapter.

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)

Fortran Image Processing: processing, manipulating, and filtering CT scan data, by Nisarg Patel. A CT scan data could be binary RAW data or VTK data.

FSATOOL: fast sampling and analysis tool for biomolecules, by haomiao et al.

GENeralized-Ensemble SImulation System (GENESIS): molecular dynamics and modeling software for bimolecular systems such as proteins, lipids, nucleic acids, glycans, and their complexes. Main site is here.

hole2: analysis and visualisation of the pore dimensions of the holes through molecular structures of ion channels, by Oliver Smart et al.

Illustrate: Biomolecular illustration tool. Associated paper: Goodsell, D.S., Autin, L, Olson, A.J.,Goodsell, D. S., Autin, L., & Olson, A. J. (2019). Illustrate: Software for biomolecular illustration. Structure (London, England: 1993), 27(11), 1716-1720.e1. doi:10.1016/j.str.2019.08.011

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.

lungsim (Aether): pulmonary simulation library

Motility Analysis of T-Cell Histories in Activation (MATCHA): designs virtual T cells that move like biological T cells, from BerkeleyLab and Northern New Mexico College. The virtual T cells will match the speed and turning angle distributions of biological cells.

MycoplasmaGenitalium: modelling of Mycoplasma genitalium based on the WC computational model, by Ludovic Autin and Martina Maritan

ParizPLOS2021: code associated with paper Pariz A, Fischer I, Valizadeh A, Mirasso C (2021) Transmission delays and frequency detuning can regulate information flow between brain regions. PLoS Comput Biol 17(4)

Parse: predicts protein regions that are disordered, and which subset of those can undergo phase separation. Associated paper: Paiz, E.A., Allen, J.H., Correia, J.J., Fitzkee, N.C., Hough, L.E., Whitten, S.T. Beta turn propensity and a model polymer scaling exponent identify intrinsically disordered phase-separating proteins J. Biol. Chem. 297, 101343 (2021).

QMCube (ren-qm3): suite written in Python, calling Fortran codes, initially focused on multiscale QM/MM simulations of biological systems, but open enough to address other kinds of problems. Associated paper: QMCube (QM3): An all-purpose suite for multiscale QM/MM calculations, by Sergio Martí, J. Comput. Chem. 2021, 42, 447-457

qptabsearch: tableau-based protein substructure search using quadratic programming. Associated paper: Stivala, A., Wirth, A. and Stuckey, P., Tableau-based protein substructure search using quadratic programming, BMC Bioinformatics 2009, 10:153

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.

Reproductive Simulation Library (reprosim): placenta and uterus simulation libraries by Monika Byrne et al.

songbird-evo-model-FORTRAN: models evolution in a genetically simple population of songbirds, by Kaw-Han

svFSI: multi-physics finite element solver for patient-specific blood flow simulation including fluid-structure interaction and cardiac electrophysiology, by Vijay Vedula et al.

siQ-ChIP: sans spike-in Quantitative ChIP-seq: small package of bash and Fortran codes used to quantify ChIP-seq data without requiring "spike-ins" to be added to the ChIP-seq protocol. Associated with paper J Biol Chem. 2020 Nov 20;295(47):15826-15837. "A physical basis for quantitative ChIP-sequencing" by Bradley M Dickson, Rochelle L Tiedemann, Alison A Chomiak, Evan M Cornett, Robert M Vaughan, and Scott B Rothbart

umat_cartilage: subroutines for a multiphasic and fibril-reinforced model of articular cartilage, by shayansss

3D_Convolusional_Filtering: convolusional filtering of computed tomography scans, by JoGebert. Intended to get a clear separation between bone marrow and cancellous bone for subsequent binarization and calculations. Another project is Binarization and Domain Decomposition

Climate and Weather

asgs: the ADCIRC Surge Guidance System (ASGS), from StormSurgeLive, provides software infrastructure for automating ADCIRC for real time or operational deployments, as well as a variety of tools for pre- and post-processing ADCIRC data.

Automatic Lidar and Ceilometer Processing Framework (ALCF): 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

C_ClWxSim: very simplistic weather and climate simulator for worldbuilding, from RosesHaveThorns

Climate Modelling and Diagnostics Toolkit (climt): Python based library which provides a modular and intuitive approach to writing numerical models of the climate system. climt provides state-of-the art components and an easy-to-use interface to allow writing research quality models without modifying the underlying Fortran code.

Cloud-J: multi-scattering eight-stream radiative transfer model for solar radiation based on Fast-J, originally developed by Michael J. Prather (UCI)

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

convert_mpas: general conversion utility for MPAS-Atmosphere output files, by Michael Duda and David Ahijevych

CRUST: Climatic Research Unit Standardisation of Tree-ring data

CTSM: Community Terrestrial Systems Model (includes the Community Land Model of CESM), from ESCOMP

dinsol-v1.0-linux: simulates the incoming solar radiation at the top of the atmosphere following the Milankovitch cycles theory, by Emerson Damasceno Oliveira. The tool is ideal for preparing the boundary conditions of climate models, beyond being a helpful tool for educational purposes.

dwarf-p-cloudsc: standalone mini-app of the ECMWF cloud microphysics parameterization, by Michael Lange, Willem Deconinck, and Balthasar Reuter

E3SM: Energy Exascale Earth System Model source code, by E3SM-Project

ecrad: offline version of a radiation scheme suitable for use in atmospheric weather and climate models, from ecmwf

ExoRT: reasonably flexible two-stream radiative transfer code designed for use with 3D climate models, by Eric T. Wolf. In this software, contained are builds for a 1-D offline version, and for directly interfacing with CESM/CAM4.

FMS: Flexible Modeling System (FMS), from NOAA-GFDL, is a software environment that supports the efficient development, construction, execution, and scientific interpretation of atmospheric, oceanic, and climate system models

fst-tools: tools to manipulate RPN standard files, from Meteorological Research Informatics Services of Canada

gcm: Toy General Circulation Model in Literate Fortran, by pqnelson

Global ECMWF Fire Forecast (GEFF) model (geff): calculates fire danger indices from atmospheric inputs. It implements the Fire Weather Index, the National Fire Danger Rating System and the McArthur ratings in one single infrastructure.

GEOCLIM-dynsoil-steady-state: computes geographically-distributed chemical weathering rates (along with associated parameters) at steady-state, according to the given climatology (temperature and runoff) for several CO2 levels (2 at least), the topographic slope and the lithology fraction in each grid cell, by Nick Swanson-Hysell and Yuem Park

Finite Element Sea Ice-Ocean Model (FESOM2): Multi-resolution ocean general circulation model that solves the equations of motion describing the ocean and sea ice using finite-element and finite-volume methods on unstructured computational grids. The model is developed and supported by researchers at the Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research (AWI), in Bremerhaven, Germany.

fv3gfs: Finite­ Volume Cubed-Sphere dynamical core (FV3) Global Forecasting System (GFS), from NOAA-EMC

GARD: Generalized Analog Regression Downscaling code, from NCAR

GemmesF90: code corresponding to paper "Financial impacts of climate change mitigation policies and their macroeconomic implications: a stock-flow consistent approach." Climate Policy 20.2 (2020): 179-198, by timongo

GFDL_atmos_cubed_sphere: GFDL atmos_cubed_sphere dynamical core code, from NOAA-GFDL

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.

Gridded Meteorological Ensemble Tool (GMET): software for created gridded meteorological datasets for precipitation and temperature, by Andy Newman. The current applications have been at a daily timestep, yielding daily total precipitation, mean temperature and temperature range.

GVTD-X: 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.

Hail Trajectory Clustering: groups three-dimensional hail trajectories into similar clusters. Associated with paper Adams-Selin, R., 2023: A three-dimensional trajectory clustering technique. Monthly Weather Review

Himawari_HSD_Reader: reader for data from Japan's Himawari satellite, by Simon Proud. This utility reads 'raw' HSD format data and can convert it into more friendly formats such as NetCDF4.

icar: Intermediate Complexity Atmospheric Research Model (ICAR), from NCAR, a simplified atmospheric model designed primarily for climate downscaling, atmospheric sensitivity tests, and hopefully educational uses

libsim: libraries from ARPA-SIMC include a general purpose ''base'' library with modules for handling character variables, csv files, command-line arguments, physical constants, date and time computations, georeferenced coordinates, growable arrays and list structures of any type and other. Another set of libraries is specific to Meteorology and Earth Science and allows to work with gridded and sparse georeferenced data, perform interpolations, statistical processing in time, data quality control, thermodynamic computations.

Limited-area Version of GAME (L-GAME): numerical weather prediction (NWP) model. It is the application of the theory behind GAME to a regional quadrilateral grid.

MITgcm: A numerical model designed for study of the atmosphere, ocean, and climate, MITgcm’s (General Circulation Model) flexible non-hydrostatic formulation enables it to efficiently simulate fluid phenomena over a wide range of scales; its adjoint capabilities enable it to be applied to sensitivity questions and to parameter and state estimation problems.

Model for Prediction Across Scales (MPAS): develops atmosphere, ocean, and other earth-system simulation components for use in climate, regional climate, and weather studies. The primary development partners are the climate modeling group at Los Alamos National Laboratory (COSIM) and the National Center for Atmospheric Research.

Model of an idealized Moist Atmosphere (MiMA): intermediate-complexity General Circulation Model with interactive water vapor and full radiation. It is published in M Jucker and EP Gerber, 2017: Untangling the annual cycle of the tropical tropopause layer with an idealized moist model, Journal of Climate 30, 7339-7358.

NoahMP: Noah with multiparameterization options (NoahMP) land surface model, from ESMWG

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.

National Ocean Service Operational Forecast System from NCEP Central Operations (nosofs-NCO): copy from NOAA's PMB website. This repository contains updates needed to run using GCC/GFortran compilers.

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.

prepbufr_decoder: decode prepBUFR files to CSVs and encode CSVs to prepBUFR files, by Shawn Murdzek. BUFR (Binary Universal Form for the Representation of meteorological data) is Table Driven Data Representation Forms approved by the World Meteorological Organization (WMO) for operational use since 1988.

prodsim: collection of shell scripts and Fortran programs based on libsim, by Davide Cesari and ddales3. It is designed for processing raw numerical weather prediction (NWP) model output data and perform physically-based operations in order to obtain postprocessed data

pytdlpack: Python interface for reading and writing TDLPACK data, by eengl

RegCM: Regional Climate Model system RegCM, originally developed at the National Center for Atmospheric Research (NCAR), is maintained in the Earth System Physics (ESP) section of the ICTP.

Regional Atmospheric Modeling System (RAMS): highly versatile numerical code developed by several groups over the years, including the scientists at Colorado State University, the ASTER division of Mission Research Corporation, and ATMET. RAMS is used for simulating and forecasting meteorological phenomena.

RTE+RRTMGP computes radiative fluxes in planetary atmospheres, from earth-system-radiation. RTE+RRTMGP is described in a paper in Journal of Advances in Modeling Earth Systems.

Scalable Computing for Advanced Library and Environment (SCALE): basic library for weather and climate model of the earth and planets aimed to be widely used in various models. The SCALE library is developed with co-design by researchers of computational science and computer science.

scream: global atmosphere model targeted towards 3 km ("cloud resolving") resolution. It is part of the Energy Exascale Earth System Model (E3SM)

shumlib: libraries which are used by the UM; the UK Met Office's Unified Model, that may be of use to external tools or applications where identical functionality is desired. The hope of the project is to enable developers to quickly and easily access parts of the UM code that are commonly duplicated elsewhere.

simple atmospheric models: simple models of the atmosphere (and ocean), for classroom examples, by Mathew Barlow

SPARTACUS-Surface - Canopy radiation scheme: computes radiative transfer in complex 3D surface canopies, such as forests and cities, by Robin Hogan and VakankGrang. It makes use of the "SPARTACUS" technique, originally developed for clouds.

speedy.f90: intermediate complexity atmospheric general circulation model written in modern Fortran, by Sam Hatfield and Leo Saffin It is based on SPEEDY, developed by Fred Kucharski, Franco Molteni and Martin P. King.

SPEEDY-ML: combines the atmospheric general circulation model (AGCM) SPEEDY with a reservoir computing-based machine learning algorithm for weather prediction and climate simulations, by Troy Arcomano.

tcane_fortran: evaluate pre-trained artificial neural networks to estimate consensus hurricane intensity and track errors, as well as the associated uncertainties of the network predictions. Associated paper: Barnes, Elizabeth A., Randal J. Barnes and Nicolas Gordillo, 2021: Adding Uncertainty to Neural Network Regression Tasks in the Geosciences

UCLALES-SALSA: large-eddy model coupled with a detailed sectional microphysics module for aerosol, clouds and precipitation, by Juha Tonttila et al.

urban Dutch Atmospheric Large Eddy Simulation (u-dales): large-eddy simulation (LES) model for urban environments. LES is an approach to turbulence modelling used in computational fluid dynamics to simulate turbulent flows over a wide range of spatial and temporal scales.

Unified Forecast System (UFS) weather model: weather model is used in several of the UFS applications, including the medium-range weather application and the short-range weather application.

weather-buoys: Processing weather buoy data in parallel, from modern-fortran

WRF: Weather Research and Forecasting (WRF) model

Code Tools

AD_dnSVM: Fortran Automatic Differentiation tool using forward mode for scalars (S), Vectors (V) and Matrices (M), by David Lauvergnat. It has no limit in terms of the number of independent variables (this number is defined at runtime) and can compute up to third derivatives.

adjac: automatic differentiation for generating sparse Jacobians, using Fortran 95 and operator overloading, by Pauli Virtanen

Audito: automatic differentiation tool for Fortran, by Michel V. Heinz. The mathematical operators have been overloaded to work with the newly defined types, which include not only the function value, but also the gradient, Hessian and Laplacian.

autodiff: automatic differentiation for up to 4th derivatives, by Simon Geard

Auto-Diff: implementation in Modern Fortran of backward mode automatic differentiation, by zoziha

bench-cli: cross-platform command line tool to benchmark commands and other executables/scripts in command lines written in Fortran, by Lateralus138. Very precise and fast.

Dual Number Automatic Differentiation (DNAD): update of code from Yu, W. and Blair, M.: "DNAD, a Simple Tool for Automatic Differentiation of Fortran Codes Using Dual Numbers," Computer Physics Communications, vol. 184, 2013, pp. 1446-1452, by oddlehod. Related project: Fortran_DNAD

exceptions: experiment with exceptions in Fortran via a simple preprocessing step, by Arjen Markus

f2f90: utility to convert FORTRAN 77 fixed source form to Fortran 90 free source form, by Michael Metcalf, Peter A. Rochford, and Ben Trettel

fazang: library for reverse-mode automatic differentiation, inspired by Stan/Math library, by Yi Zhang

ffixed2free: converts FORTRAN fixed-format source code (FORTRAN 77 style) to free-format source code (Fortran 90 style), by Pirmin Kaufmann and Martin Schraner. Ffixed2free does not require the fixed-format code to be restricted to the FORTRAN 77 standard.

fortran2018-conditional-memory: library for the conditional allocation and deallocation of allocatable objects of Fortran intrinsic types, by Kevin Matthes

Fortran Debug Utilities: collection of some utilities useful for debugging code, by Pål Levold

fortran-git: Fortran 2008 ISO C binding interfaces to libgit2, by interkosmos

Fortran-RefCount: simple reference counting for Fortran

libfde: Fortran Development Extensions (library), by Zorkator

m_ad: collection of matrix derivative tests for forward and reverse mode algorithmic differentiation, by R. Quast. Associated paper: Giles, M. (2008) Collected matrix derivative results for forward and reverse mode algorithmic differentiation, Advances in Automatic Differentiation pp 35–44

prep: streamlined pre-processor primarily designed for use with Fortran, by urbanjost. It does not support procedural macros but does support variable substitution and reusable free-format text blocks which allows for basic templating as well as easy construction of multi-line CHARACTER variables; and is quite capable of supporting traditional conditional compilation.

progress-bar: simple progress bar module that is typically used to display the time integration process, by zoziha

progRESS+repORT (progrep}: utility to show live progress, status and stats of a running simulation or any compute job that executes a given number of iterations, by SomajitDey. Progrep can report for both serial (single-core) and parallel (multi-core/multi-node - e.g. OpenMP/MPI) jobs.

symengine.f90: Fortran wrappers by Rikard Nordgren and Ondřej Čertík of SymEngine, a fast symbolic manipulation library, written in C++

to_f90: Alan Miller's tool for converting Fortran 77 code to free-form Fortran 90 code, from jbdv-no

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.

Compiler Tests

AdHoc: archives ad hoc tests for modern Fortran compilers used by Sourcery Institute, Sourcery, Inc., their collaborators, sponsors, and clients. These tests emphasize support for the Fortran 2003 and 2008 standards along with features proposed for Fortran 2015 in technical specification TS 29113 Further Interoperability with C and the draft technical specification TS 18508 Additional Parallel Features in Fortran.

FCVS_95: modified version of NIST F77 validation suite, updated for Fortran 95. The original is FCVS.

fortran-compiler-tests: collection of Fortran compiler bug examples and tests, by nncarlson

Fortran Tests: set of tests for Modern Fortran, by Galen M. Shipman

fortran-wringer-tests: collection of non-portable Fortran usage, standard-conformant or otherwise, by Peter Klausler, accumulated during the development of the f18 Fortran compiler (also known as "LLVM Flang")

infnan: functions for checking Inf/NaN, Zaikun Zhang. They should work even if the compilers are invoked with aggressive optimization flags such as gfortran -Ofast.

test_compiler: tests the applicability of Fortran compilers in a project that develops optimization solvers, by Zhang Zaikun

test_nvfortran_20_11: source code test.f90 by vyu16 attempts to call getitem, defined in dummy_module.f90, incorrectly. Both ifort and gfortran are able to catch it at compile time. However, nvfortran compiles the code and seems to just ignore the call at run time.

Computational Chemistry

Aerosol Inorganic-Organic Mixtures Functional groups Activity Coefficients (AIOMFAC): thermodynamic group-contribution model to describe non-ideal mixing in liquid solutions

BayesApp: calculates the pair distance distribution function, p(r), from a SAXS/SANS dataset by a Bayesian indirect Fourier transformation (BIFT) algorithm, by Steen Hansen

Cassandra: Monte Carlo package developed in the Maginn group at the University of Notre Dame to perform atomistic simulations of molecules composed of rings, chains, or both. Cassandra is suited to compute the thermodynamic properties of fluids and phase equilibria.

chemfiles.f03: Fortran 2003 binding to the chemfiles library, by Guillaume Fraux et al.

Chemistry discovery engine (CDE): implements several different calculation types associated with chemical reaction-path analysis, by Joe Gilkes and Scott Habershon

ClassyMC: General Purpose Object Oriented Molecular Monte Carlo code. Classy is designed to be used for Metropolis Monte Carlo and other similar sampling methods in molecular simulations.

CoarseAIR: Fortran 2008 Code for State-to-State and Coarse-Grained Quasi-Classical Trajectory (QCT) Method. Reference: S Venturi - "Machine Learning and Uncertainty Quantification Framework for Predictive Ab Initio Hypersonics" - Ph.D. Thesis, University of Illinois at Urbana-Champaign (2021)

cofimaker: command-line tool for manipulating atomic coordinate files, by skoerbel

crest: Conformer-Rotamer Ensemble Sampling Tool based on the xtb Semiempirical Extended Tight-Binding Program Package, from grimme-lab

critic2: manipulation and analysis of structural and chemical information in molecules and periodic solids, by aoterodelaroza et al.

Donostia Natural Orbital Functional Software (DoNOFsw): performs computational chemistry calculations based on the Natural Orbital Functional Theory (NOFT), including PNOF5, PNOF6 and PNOF7. Correlation corrections after PNOF calculations can be estimated by second order perturbation theories.

duo: diatomic code for solving a fully coupled rovibronic Schroedinger equation, by Trovemaster

Dynemol: tools for studying Dynamics of Electrons in Molecules, by Luis G. C. Rego and albertotrj

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.

ewald-summation: efficient and easy-to-use implementation of the Ewald summation method, by Jonas-Finkler

Flexible Atomic Code (fac): software packge for the calculation of various atomic processes, by Ming Feng Gu

Fermi-orbital descriptor Monte-Carlo (fodMC): generator for Fermi-orbital descriptor (FOD) positions to be used in the Fermi-Löwdin orbital self-interaction correction (FLO-SIC) method, described in paper Interpretation and automatic generation of Fermi-orbital descriptors, S. Schwalbe, K. Trepte, et al., Journal of Computational Chemistry, vol. 40, pp. 2843-2857, 2019

FREZCHEM: includes chloride, bromide, perchlorate, nitrate, sulfate, and bicarbonate-carbonate salts, strong acid chemistry, ferrous and ferric iron chemistry, aluminum and silicon chemistries, ammonia and ammonium chemistries, methane, ethane, and propane chemistries, and gas hydrate chemistry, by Giles Marion. This version includes both temperature and pressure dependencies.

gibbs2: calculates pressure and temperature dependent thermodynamic properties of solids from ab initio results, by aoterodelaroza

HFB: Hartree-Fock-Bogolyubov code for (hyper)nuclear structure calculations (version by P. Vesely)

hibridon: solves the close-coupled equations which occur in the quantum treatment of inelastic atomic and molecular collisions. Gas-phase scattering, photodissociation, collisions of atoms and/or molecules with flat surfaces, and bound states of weakly-bound complexes can be treated.

HICOLM: Multi-Methods for Molecules and Condensed Systems: molecular modelling of condensed systems. Reference: F. W. Fernandes, HICOLM: High-Performance Platform of Physical Simulations by Using Low Computational Cost Methods. doi: 10.22456/2175-2745.92486.

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

kanon: program to compute chirality indices and assess molecular symmetry, by Asdrubal Lozada-Blanco

Kinetic Monte Carlo of Systems (kmcos): lattice based kinetic Monte Carlo with a Python front-end and Fortran back-end, by Max Hoffmann et al.

Kinetic PreProcessor (KPP): tool that assists the computer simulation of chemical kinetic systems, by Adrian Sandu et al. Also KPP-AR-boxmodel, a box-model for a KPP-generated chemistry mechanism using the auto-reduce feature to speed up computation

linemake: atomic and molecular line list generator, by Chris Sneden et al. Rather than a replacement for a number of well-established atomic and molecular spectral databases, linemake aims to be a lightweight, easy-to-use tool to generate formatted and curated lists suitable for spectral synthesis work.

MobCal-MPI: parallelization of the commonly used MobCal suite to calculate ion mobilities and collision cross sections, by Christian Ieritano and Scott Hopkins

Modular computation tool chain library (mctc-lib): common tool chain to use molecular structure data in various applications, from grimme-lab. This library provides a unified way to perform operations on molecular structure data, like reading and writing to common geometry file formats.

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)

molecular-tools: modules that undertake a number of basic molecular modelling / computational chemistry analysis and manipulations, such as structure file reading and writing (including pdb, gro, g96, xyz), and parsing output files from programs as Gaussian (fchk and log) and Molpro retrieving informations such as geometry, frequencies, normal modes, Hessian, Gradient, molecular orbital coefficients, etc., by Javier Cerezo

mstore: molecular structure store for testing, from grimme-lab

multi-crystal indexing data processing suite in macromolecular crystallography (MCDPS): associated with paper Zhou, Q., Gao, Z.Q., Dong, Z., Jiang, Y.M., She,Z., Geng, Z.& Dong, Y.H.(2021). A reference-based multi-lattice indexing method integrating prior information correction and iterative refinement in protein crystallography. Acta Cryst. A77

numsa: solvent accessible surface area calculation, from grimme-lab

PICLas: parallel, three-dimensional PIC-DSMC solver developed cooperatively by the Institute of Space Systems, Institute of Aerodynamics and Gas Dynamics at the University of Stuttgart and the spin-off boltzplatz. PICLas is a flexible particle-based plasma simulation suite.

pmflib: toolkit for Free Energy Calculations, by kulhanek

pydock3: Python package wrapping the DOCK Fortran program that provides tools to help standardize and automate the computational methods employed in molecular docking. Docking is the identification of the low-energy binding modes of a small molecule, or ligand, within the active site of a macromolecule, or receptor, whose structure is known.

Python-Fortran-Fluids (PyForFluids): Python package focused in the calculation of Fluid properties based on Equations of State (EoS), by Federico E. Benelli et al. It provides a simple interface to work from Python but also exploits the high performance Fortran code for the more heavy calculations.

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.

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)

SPECIAL_BLEND: Supernova Parameter Estimation Code based on Insight on Analytic Late-time Burst Light-curve at Earth Neutrino Detector, by Akira Harada

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

structure analysis on the command line (struca): simple tool to help compare structures and compute trajectory data on the command line, by Holger Kruse

Surface Assessment via Grid Evaluation (SuAVE): accounts for the effect of curvature in the calculations of structural properties of chemical interfaces regardless of the chemical composition, asymmetry, and level of atom coarseness, by Denys E. S. Santos et al. It employs differential geometry techniques, enabling the representation of chemical surfaces as fully differentiable.

taurus_vap: solves the variation after particle-number projection equations for real general Bogoliubov quasi-particle states represented in a spherical harmonic oscillator basis, from project-taurus

THERMOCHIMICA: computational library for chemical thermodynamics. It determines a unique combination of phases and their compositions for a prescribed chemical composition, temperature and pressure, from ORNL-CEES.

tinker: Tinker molecular modeling software is a complete and general package for molecular mechanics and dynamics, with some special features for biopolymers.

TROVE: Theoretical ROVibrational Energies: A variational program for accurate nuclear motion calculations, by Trovemaster

UniMoVib: unified interface for molecular harmonic vibrational frequency calculations, by zorkzou and smutao

YA_EoS: thermodynamic equations of state library with both automatic and analytical derivation capabilities, by Federico E. Benelli

Containers and Generic Programming

any: user-defined type for mimicking procedures that can return different types, by Tomohiro Degawa

array_range: provides user-defined types array_range{1|2|3}d_type to improve the manipulation of bounds of Fortran arrays, by Tomohiro Degawa

ClassicalDataStructuresF95: classical data structures such as the singly linked list and stack, by truongd and Sesshōmaru

collections: set of types supporting collections in Fortran, by Jason Christopherson. Currently, the library contains a generic, dynamically sizable list and a generic linked-list type.

Fortran_competitive_library: library for solving AtCoder problems, implementing a binary indexed tree, hash table, linked list, tuples, and merge and selection sort

enumul: incomplete typed enumerator emulator for Fortran, by Tomohiro Degawa

fdict: native Fortran 90 dictionary with hash tables for retaining any data-type in a Python-like dictionary, by Nick Papior

fhash: hash table with support for generic keys and values, by Laurence Kedward

ffhash: generic and fast hash table similar to khash in C, by Jannis Teunissen

fh_table: modern Fortran hash functions and hash tables, by dbartilson

flinkedlist: object-oriented library providing an simple linked list, with the ability to sort elements with a user-defined function, apply a user-defined function in each node, and a convenience method to aid print debugging by automatically displaying variables of built-in types and providing a dedicated display function for user-defined types, by Yuichiro Sakamoto

flist: modern Fortran linked lists using unlimited polymorphic derived types, by Jacob Williams

FMacro: template preprocessor for Fortran, by Harris Snyder. Aims to address Fortran's lack of support for generic programming with a simple preprocessor, modeled after some of the language committee's early ideas for a template language feature, to be included in a future Fortran standard.

Fortran Elements Library: list, dictionary, shared pointer, and error handler, by Dominik Gronkiewicz

Fortran Implementation of Abstract Types (FIAT): aims to implement various common data structures in Fortran, by Chris MacMackin and gitter-badger. These will be implemented in a generic manner using a container type. This was originally developed in PolyCon but has since been folded into FIAT, with some improvements.

Fortran-Linked-List: linked list module for stdlib of fortran-lang, by ChetanKarwa

fortran-list: generic list implementation in Fortran 2003, by Vladimír Fuka. Uses unlimited polymorphics or parametric polymorphism.

Fortran Parameter List (FPL): Fortran 2003 library that can manage the parameters of a program from a single point, by victorsndvg. FPL is an extendible container (dictionary) of <Key, Value> pairs, where the Key is a character string and the Value can be, by the default, of the basic data types.

Fortran Preprocessor Templates for Dynamic Data Structures (FPT-DDS): implements Fortran templates to create dynamic data structures using preprocessor directives, by Sergio Alexis Paz. A data structure for an arbitrary data type can be easily constructed by defining a few preprocessor variables and including the corresponding files distributed in the include folder.

Fortran Template Library (FTL): generic containers, versatile algorithms, easy string manipulation, and more, by Robert Rüger and Tomáš Trnka. It is heavily inspired by C++'s standard library, especially the part that is commonly referred to as the Standard Template Library (STL).

Fortran Template Library (FTL): object-oriented implementation of generic containers similar to the C++ STL (Standard Template Library), by Fran Martinez Fadrique. Not all elements present in STL are implemented in FTL, yet the documentation in http://www.cplusplus.com/reference/stl/ can be used as generic conceptual reference.

fstack: custom stack type for Fortran 2003 that implements a C-style stack, by jake-87. The advantage of this model is that one can have multiple stacks at any one time, so there is no need to juggle them -- just allocate another one.

FTObjectLibrary: provides a collection of reference counted Fortran 2003 classes to facilitate writing generic object oriented Fortran programs, by David A. Kopriva et al.

gFTL: provides a mechanism to easily create robust containers and associated iterators which can be used within Fortran applications, from Goddard-Fortran-Ecosystem. The primary methods are intended to be as close to their C++ STL analogs as possible. Also see gFTL-shared

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

LinkedList: simple implementation of heterogeneous linked list in a single module, by Pedro Ricardo C. Souza