Research articles using Fortran

Zero air pollution and zero carbon from all energy at low cost and without blackouts in variable weather throughout the U.S. with 100% wind-water-solar and storage
by Mark Z. Jacobson, Anna-Katharina von Krauland, Stephen J. Coughlin, Frances C. Palmer, and Miles M. Smith
Renewable Energy
Volume 184, January 2022, Pages 430-442


This study analyzes 2050–2051 grid stability in the 50 U S. states and District of Columbia after their all-sector (electricity, transportation, buildings, industry) energy is transitioned to 100% clean, renewable Wind-Water-Solar (WWS) electricity and heat plus storage and demand response (thus to zero air pollution and zero carbon). Grid stability is analyzed in five regions; six isolated states (Texas, California, Florida, New York, Alaska, Hawaii); Texas interconnected with the Midwest, and the contiguous U.S. No blackouts occur, including during summer in California or winter in Texas. No batteries with over 4-h storage are needed. Concatenating 4-h batteries provides long-duration storage. Whereas transitioning more than doubles electricity use, it reduces total end-use energy demand by ∼57% versus business- as -usual (BAU), contributing to the 63 (43–79)% and 86 (77–90)% lower annual private and social (private + health + climate) energy costs, respectively, than BAU. Costs per unit energy in California, New York, and Texas are 11%, 21%, and 27% lower, respectively, and in Florida are 1.5% higher, when these states are interconnected regionally rather than islanded. Transitioning may create ∼4.7 million more permanent jobs than lost and requires only ∼0.29% and 0.55% of new U.S. land for footprint and spacing, respectively, less than the 1.3% occupied by the fossil industry today.

An article on CNBC (a business TV channel) says this:

Jacobson and his colleagues use three types of models for the calculations.

First, they use a spreadsheet model to project business-as-usual energy demand in each sector in each state to 2050 and then to convert the business-as-usual energy demand in 2050 to electricity provided by wind, water and solar.

Second, they use a weather model to predict the wind and solar fields in each state every 30 seconds. This weather-prediction model runs on a supercomputer and is written in Fortran computing language.

And the third component of his modeling matches the 2050 energy demand with the weather modeling of energy that can be supplied from wind, water and solar every 30 seconds. The third component is also written in Fortran, but this portion of the process can run on virtually any computer.

BESLE: Boundary element software for 3D linear elasticity

BESLE is the first available parallel open-source code to analyse the mechanical behaviour of heterogeneous materials using the boundary element method (BEM) in 3D and in both an elastostatic and elastodynamic setting. Unlike all the other codes that are presently available, the software presented here is capable of simulating both isotropic and anisotropic materials comprised of single or multiple domains. Furthermore, the user-interface has been designed to provide a convenient way for configuring simulations involving many complex material constituents. Results are described by the displacement and traction fields, also, the stress and strain tensors are available for post-processing. BESLE is largely implemented in Fortran-MPI, but some of the sub-packages are based on other languages such as C and C++, and as such a the software is best used on a multi-core architecture where the parallelisation can be fully exploited. The main features and functionality of BESLE are presented here, and the User’s Guide, available from the repository listed below, gives further details and outlines how users can carry out bespoke simulations.

Programming language: Fortran 90, C++/C

External libraries: LAPACK [1], BLAS [2], SCOTCH [3], ScaLAPACK [4], MUMPS [5], Voro++ [6], Triangle [7]

1 Like

Reshetova G., Cheverda V., Koinov V. (2021) Comparative Efficiency Analysis of MPI Blocking and Non-blocking Communications with Coarray Fortran. In: Voevodin V., Sobolev S. (eds) Supercomputing. RuSCDays 2021. Communications in Computer and Information Science, vol 1510. Springer, Cham. DOI: 10.1007/978-3-030-92864-3_25

It is not Open Access, but there is also a presentation here:

1 Like

Vanderbauwhede, W. Making legacy Fortran code type safe through automated program transformation. J Supercomput 78, 2988–3028 (2022).


Castillo-Méndez, C., & Ortiz, A. (2022). Numerical simulation data and FORTRAN code to compare the stress response of two transversely isotropic hyperelastic models in ABAQUS. Data in Brief, 41,

1 Like

Uğurlu, B., Kahraman, İ. and Soares, C.G., 2022. Numerical investigation of the Fourier–Kochin theory for wave-induced response estimation of floating structures. Ocean Engineering, 247, p.110562.


The Fourier–Kochin theory—an indirect solution approach for the boundary integral representations of free-surface flows that rely on free-surface Green function—is investigated by considering effective computation and reliable prediction. The present study addresses wave–body interaction with zero forward speed by adopting a higher-order approximation. Three distinct hull forms, the DTMB 5415, a scaled model reproduced from it, and a barge are used for practical application. The scaled frigate and barge models are used for comparative analysis to assess the performance of different computation techniques, modeling elements, and solution methods and to find the best course; the purpose of studying DTMB 5415 is to provide a realistic application based on a full-scale hull form by using the findings of the earlier benchmark studies. The analyses that cover both the rigid-body and elastic responses indicate that an adaptive approach for the computation of Fourier components has the potential to eliminate the numerical drawbacks of the presented implementation the Fourier–Kochin theory, but also stringently needs parallelism, preferably using the Single Program Multiple Data model. Using discontinuous elements for free-surface discretization when applying the Extended Boundary Integral Equation Method, the featured technique for irregular frequency suppression, is also promoted.


The preferred programming language for execution of the numerical solution here is Fortran, which also has native support for high-performance parallel computing, its relatively new coarray feature. Fortran follows the Single Program Multiple Data (SPMD) parallelism model. Accordingly, a single program is copied on each invoked parallel process, that is a thread or a core, which uses its own independent data—tasks are distributed and run simultaneously as parallel processes.

Fortran coarrays offer both shared-memory and distributed-memory parallel processing, similar to the Message Passing Interface, MPI, protocol. As the name implies, in a shared-memory system multiple processors access the same memory space, hence they do not need additional directives to communicate. In a typical setting, the program starts executing on one processor and the execution splits in a parallel region, where multiple processors execute a single program on different data. When the parallel region ends, execution is synchronized and only one processor continues, while others wait. Open Multi-Processing (OpenMP), the standard programming interface for shared-memory multiprocessing, supports parallelization through a set of directives. It requires low to moderate effort to deliver significant acceleration especially through loop structures with OpenMP; however, the number of processing units that a shared-memory system may have is limited. A distributed-memory computing system is a collection of independent computers, referred to as nodes, all serving as shared-memory multiprocessing units. Every processor in a node starts its own program on local memory and each node communicates with other nodes by sending and receiving messages, i.e., transfers and syncs data. MPI is the effective standard for communication and synchronization of distributed-memory systems; it operates mostly at low-level, which can make its use complicated.

The coarrays in Fortran provide a simple and an elegant tool for enabling parallelism. They are used to distribute the shared data objects among parallel processes, identified as images. Similar to an array (a data structure for representing one- or multi-dimensional data) that captures multiple values within a single object or distributes one object into multiple components with an opposite perspective, a coarray partitions a data object to the available array of images, and then recollects all parts by allowing direct communication among them. Fortran is a partitioned global address space language that the available memory, including those belonging to the remote images, appear as a local shared-memory space. Built on this, the coarrays presents an intuitive way to copy data between parallel processes much like to array operations (Curcic, 2020).


A. L. Spek, J. Appl. Cryst. 2003, 36, 7-11. Single-crystal structure validation with the program PLATON; doi 10.1107/S0021889802022112 (open access).

Widely used in small molecule X-ray crystallography since about 1980, his program has been in constant development to check model data for errors in syntax, and inconsistencies either within the model in scrutiny, or in comparison with data extracted from other models already admitted to curated databases with about 500 tests (a 2020 open-access review by Spek). Though usable via a web service (checkcif), the author maintains an other dedicated web site for documentation and distribution of compiled executables. The platon.f source code he wrote is a single FORTRAN file, by 2022-02-09 counting 174697 LOC.

(Possibly an interesting speaker for how he organized and continued for decades the development of the program, all by himself.)


Discussed at Hacker News. An associated Fortran program is GitHub - brg4/SAP_chromosome

Fundamental behaviors emerge from simulations of a living minimal cell
VOLUME 185, ISSUE 2, P345-360.E28, JANUARY 20, 2022
by Zane R. Thornburg et al.
We present a whole-cell fully dynamical kinetic model (WCM) of JCVI-syn3A, a minimal cell with a reduced genome of 493 genes that has retained few regulatory proteins or small RNAs. Cryo-electron tomograms provide the cell geometry and ribosome distributions. Time-dependent behaviors of concentrations and reaction fluxes from stochastic-deterministic simulations over a cell cycle reveal how the cell balances demands of its metabolism, genetic information processes, and growth, and offer insight into the principles of life for this minimal cell. The energy economy of each process including active transport of amino acids, nucleosides, and ions is analyzed. WCM reveals how emergent imbalances lead to slowdowns in the rates of transcription and translation. Integration of experimental data is critical in building a kinetic model from which emerges a genome-wide distribution of mRNA half-lives, multiple DNA replication events that can be compared to qPCR results, and the experimentally observed doubling behavior.

Wu, W., Hückelheim, J., Hovland, P.D., Siegel, S.F. (2022). “Verifying Fortran Programs with CIVL”, In: Fisman, D., Rosu, G. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2022. Lecture Notes in Computer Science, vol 13243. Springer, Cham. Verifying Fortran Programs with CIVL | SpringerLink, open access.

Fortran is widely used in computational science, engineering, and high performance computing. This paper presents an extension to the CIVL verification framework to check correctness properties of Fortran programs. Unlike previous work that translates Fortran to C, LLVM IR, or other intermediate formats before verification, our work allows CIVL to directly consume Fortran source files. We extended the parsing, translation, and analysis phases to support Fortran-specific features such as array slicing and reshaping, and to find program violations that are specific to Fortran, such as argument aliasing rule violations, invalid use of variable and function attributes, or defects due to Fortran’s unspecified expression evaluation order. We demonstrate the usefulness of our tool on a verification benchmark suite and kernels extracted from a real world application.


There is a 45 pages chapter about Fortran in that new book Quantum Mechanics: Detailed Historical, Mathematical and Computational Approaches:

I read two of the chapter abstracts, and it struck me that Taylor and Francis dropped the ball as far as assigning a capable editor to check the English usage and word selection was concerned. For example, note this:

“The second-order differential equations are explored in details due to its importance to the wave quantum mechanics.”