# Research articles using Fortran

**URL:** <https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101>\
**Category:** Uncategorized\
**Created:** [April 24, 2021, 2:33pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101 "2021-04-24T14:33:03Z")\
**Posts on this page:** 20\
**Page:** 9

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [April 18, 2024, 5:44pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/162 "2024-04-18T17:44:24Z")

</div>

[Energy efficiency and performance analysis of a legacy atomic scale materials modeling simulator (VASP)](https://link.springer.com/article/10.1007/s11227-024-06066-0)  
by Isidoro Nieves-Pírez, Alfonso Muñoz, Francisco Almeida & Vicente Blanco  
The Journal of Supercomputing (2024)

> Abstract  
> This work tackles the performance and energy consumption analysis of a  
> legacy scientific application, the VASP (Vienna Ab-initio Simulation  
> Package), an application commonly used by physicists and chemists for  
> modeling materials at the atomic scale. Many of these scientific  
> applications have been implemented in Fortran, where energy metrics  
> instrumentation is not straightforward. We obtained performance  
> figures (execution time and energy consumption) by instrumenting the  
> source code using EML. This energy measurement library has been  
> modified to introduce Fortran interfaces for these metrics. The  
> analysis was carried out using different matrix algebra libraries,  
> parallelization techniques, and hardware platforms, emphasizing on the  
> MPI, OpenMP, and CUDA parallel implementations of the algorithms used  
> in VASP. We employ various material specifications (atomic structures)  
> and molecular sizes of a silicon-based crystal to create a set of  
> benchmarks for these specifications, leading to some recommendations  
> for final users regarding performance improvements. The proposed  
> benchmarking technique assists the user in selecting the right  
> combination of problem size, compilers, and parallelization options  
> available in VASP. For a given system platform, the user will be able  
> to determine not only the architecture to use (GPU or multicore  
> processors), but also the appropriate library and parallelization  
> according to the atomic structure and molecular size.

The cited [Energy Measurement Library (EML)](https://github.com/HPC-ULL/eml) is on GitHub.

---

<div class="post-metadata">

**Author:** ![MarDie](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/mardie/32/54_2.png) [@MarDie](https://fortran-lang.discourse.group/u/MarDie)\
**Post date:** [April 18, 2024, 9:28pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/163 "2024-04-18T21:28:05Z")

</div>

‘legacy’ is IMHO disrespectful for a code that is widely used in academia

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [April 18, 2024, 9:38pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/164 "2024-04-18T21:38:13Z")

</div>

Yes, I noticed this but did not comment since I have never used VASP. There is a [March 19, 2024 update](https://www.vasp.at/wiki/index.php/Changelog#Changelog643) with new functionality, so VASP is actively developed, not just a “legacy” program.

---

<div class="post-metadata">

**Author:** ![MarDie](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/mardie/32/54_2.png) [@MarDie](https://fortran-lang.discourse.group/u/MarDie)\
**Post date:** [April 19, 2024, 9:09am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/165 "2024-04-19T09:09:49Z")

</div>

yes, and the publication they recommend to cite are among the most cited papers ever: [‪Georg Kresse‬ - ‪Google Scholar‬](https://scholar.google.de/citations?user=Pn8ouvAAAAAJ) and [https://www.vasp.at/forum/viewtopic.php?t=2971](https://www.vasp.at/forum/viewtopic.php?t=2971).

---

<div class="post-metadata">

**Author:** ![milancurcic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/milancurcic/32/2_2.png) [@milancurcic](https://fortran-lang.discourse.group/u/milancurcic)\
**Post date:** [April 19, 2024, 3:39pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/166 "2024-04-19T15:39:38Z")

</div>

If I have as many citations in my entire career as Georg Kresse has in _2024 to date_, I’d feel very accomplished as a scientist.

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [June 20, 2024, 2:47pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/167 "2024-06-20T14:47:00Z")

</div>

[Quantification of the flood mitigation ecosystem service by coupling hydrological and hydrodynamic models](https://www.sciencedirect.com/science/article/pii/S2212041624000470), by Zixuan Xu et al, Ecosystem Services (2024)

> We utilized the Hydrological Simulation Program-Fortran ([HSPF](https://water.usgs.gov/software/HSPF/)) model to simulate peak flow and flood volume and then used these data as inputs for the Environmental Fluid Dynamics Code (EFDC) hydrodynamic model to simulate the spatial extent and depth of flood inundation.

---

<div class="post-metadata">

**Author:** ![Shore](https://avatars.discourse-cdn.com/v4/letter/s/8baadc/32.png) [@Shore](https://fortran-lang.discourse.group/u/Shore)\
**Post date:** [July 8, 2024, 4:06pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/168 "2024-07-08T16:06:45Z")

</div>

An updated version of PSCToolkit for solving sparse linear systems with 8192 NVIDIA GPUs is released by its developers. They showed good weak scalability, and considered up to 6.5 x 10^10 degrees of freedom. 👌

> **[PSCToolkit: solving sparse linear systems with a large number of GPUs](https://arxiv.org/abs/2406.19754)**
>
> In this chapter, we describe the Parallel Sparse Computation Toolkit (PSCToolkit), a suite of libraries for solving large-scale linear algebra problems in an HPC environment. In particular, we focus on the tools provided for the solution of symmetric...

---

<div class="post-metadata">

**Author:** ![septc](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/septc/32/77_2.png) [@septc](https://fortran-lang.discourse.group/u/septc)\
**Post date:** [July 27, 2024, 3:18am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/169 "2024-07-27T03:18:32Z")

</div>

A recent article about coarse-grained protein simulation:

- [GENESIS CGDYN: large-scale coarse-grained MD simulation with dynamic load balancing for heterogeneous biomolecular systems | Nature Communications](https://www.nature.com/articles/s41467-024-47654-1)

Code is here, which seems to be clean modern Fortran codes (with json-fortran used!)

- [GitHub - genesis-release-r-ccs/genesis-2.1.0beta\_cgdyn: GENESIS CGDYN from GENESIS2.1.0](https://github.com/genesis-release-r-ccs/genesis-2.1.0beta_cgdyn)
- [genesis-2.1.0beta\_cgdyn/src at main · genesis-release-r-ccs/genesis-2.1.0beta\_cgdyn · GitHub](https://github.com/genesis-release-r-ccs/genesis-2.1.0beta_cgdyn/tree/main/src)

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [September 17, 2024, 1:03pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/170 "2024-09-17T13:03:43Z")

</div>

I wonder why the authors of the paper below (not freely available) are getting worse results for their Fortran code than their Rust code. Some possibilities are

1. They are using default `real`s (single precision) in their Fortran code and double precision in the Rust code or doing something else to make the programs not comparable.
2. There is a bug in the Fortran compiler (unlikely).
3. There are features of the Rust language without counterparts in Fortran that enable simulations to be done with less error. I am unfamiliar with Rust.

Ideally a journal referee would have asked the authors to send their codes and tried to run them. I wonder how often that happens for computationally-oriented papers.

[Statistical Analysis of Deposition of Aerosol Particles in Human Lung](https://link.springer.com/article/10.1007/s41810-024-00257-1)  
by Alok Dhaundiyal, Gábor Albrecht, and Balázs Madas  
[Aerosol Science and Engineering](https://link.springer.com/journal/41810)  
12 September 2024

> Abstract  
> The article focuses on developing a probabilistic scheme for the ingression of aerosol particles in the different regions of the human lung. The methodology adopted was based on the Monte Carlo technique, which was programmed using the Rust programming language. Around seven samples with different inspiratory capacities were examined using a similar methodology. **The total regional deposition obtained through the Rust compiler was compared with corresponding solutions derived from Fortran. Relatively, the solution obtained through Fortran exhibits extreme variabilities while estimating the total regional deposition in the lungs.** The results are negative skewness for all the samples. A wide range of variabilities was encountered while computing the total regional deposition fraction at different inspiratory capacities. **The reliability of the Fortran compiler varied from 60.65 to 90.48% for every 10 events.** The uncertainty in total regional deposition at higher inspiratory capacities was relatively high in the Rust version. There is no definite stochastic pattern at the Tracheo bronchial region observed for larger aerosol particles with the change in inspiratory capacities of some subjects. The rise in the inspiratory capacities of the subjects increases the probability of deposition of smaller aerosol particles to sediment in the Alveolar region. In some cases, the bimodal probability distribution pattern was noticed for the total regional deposition of aerosol particles. **In addition, a wide range of extreme deviations was also observed in the solution derived from the Fortran version.** The results obtained through the adopted methodology exhibited statistical significance in the context of the variation of aerosol size particles and their regional deposition in the human lungs.

---

<div class="post-metadata">

**Author:** ![nbehrnd](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nbehrnd](https://fortran-lang.discourse.group/u/nbehrnd)\
**Post date:** [September 17, 2024, 2:44pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/171 "2024-09-17T14:44:09Z")

</div>

> [@Beliavsky](#):
>
> Ideally a journal referee would have asked the authors to send their codes and tried to run them.

Why should the referee(s) the only ones interested in the source code? Where is a specific note about the compilers, and their flags since the promise

> the information about the compiler is provided in the supplementary material (S.1).

(on page 3/15, right hand column) doesn’t materialize there. Or does the paper link to a public repository (by the school, zenodoo, GitHub, etc.) to have a look how the idea was implemented in the source code? Apparently, the journal/the founding agency missed an opportunity for [FAIR](https://en.wikipedia.org/wiki/FAIR_data)ness of the publication. By recollection, at least the first third of a talk by Misshula at the NYC Emacs group (link to the recording in 2014 [here](https://www.youtube.com/watch?v=CGnt_PWoM5Y)) illustrated this frequent problem in science with some examples. (A sloppy SI how a synthesis was performed/a material was isolated and characterized is an equivalent in chemistry.)

---

<div class="post-metadata">

**Author:** ![Shahid](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahid/32/3672_2.png) [@Shahid](https://fortran-lang.discourse.group/u/Shahid)\
**Post date:** [September 19, 2024, 7:19am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/172 "2024-09-19T07:19:20Z")

</div>

[A universal material model subroutine for soft matter systems | Engineering with Computers (springer.com)](https://link.springer.com/article/10.1007/s00366-024-02031-w)

The github link

[GitHub - peirlincklab/universalmatsubroutine: A universal material model subroutine for soft matter systems](https://github.com/peirlincklab/universalmatsubroutine/tree/main)

I could not find they mention **Fortran subroutine** explicitly. Instead they used two terms **Pseudocode** or **subroutine**.

---

<div class="post-metadata">

**Author:** ![milancurcic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/milancurcic/32/2_2.png) [@milancurcic](https://fortran-lang.discourse.group/u/milancurcic)\
**Post date:** [September 26, 2024, 1:30pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/173 "2024-09-26T13:30:40Z")

</div>

Thanks @Beliavsky for sharing

> **[Enhancing Trmm-Era Neural Networks for Gpm-Era Satellite Quantitative...](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4964988)**
>
> Quantitative Precipitation Estimates (QPE) obtained from satellite data are essential for accurately assessing the hydrological cycle in both land and ocean. Ea

> Quantitative Precipitation Estimates (QPE) obtained from satellite data are essential for accurately assessing the hydrological cycle in both land and ocean. Early artificial Neural Network (NN) methods were used previously either to merge infrared and microwave data or to derive better precipitation products from radar and radiometer measurements. Over the last 25 years, machine learning technology has advanced significantly, accompanied by the initiation of new satellites, such as the Global Precipitation Measurement Mission Core Observatory (GPM-CO). In addition, computing power has increased exponentially since the beginning of the 21st century. This paper compares the performance of a pure NN FORTRAN, originally designed to expedite the 2A12 TRMM (Tropical Rainfall Measuring Mission) algorithm, with a contemporary state-of-the-art NN in Python using the TensorFlow library (NN PYTHON). The performance of FORTRAN and Python approaches to QPE using GPM-CO data are compared with the goal of achieving a minimum NN architecture that at least matches the outcome of the Goddard Profiling Algorithm (GPROF) algorithm. The results indicate that NNs can simulate the GPROF. Another conclusion is that the new NN PYTHON does not present significant advantages over the old FORTRAN code. The latter does not require dependencies, which has many practical advantages in operational use and therefore have an edge over more complex approaches in hydrometeorology.

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [September 27, 2024, 12:27pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/174 "2024-09-27T12:27:02Z")

</div>

[Performance and scaling of the LFRic weather and climate model on different generations of HPE Cray EX supercomputers](https://arxiv.org/abs/2409.15859)  
by [J. Mark Bull](https://arxiv.org/search/cs?searchtype=author&query=Bull,+J+M) et al.  
arXiv 24 Sep 2024

> This study presents scaling results and a performance analysis across different supercomputers and compilers for the Met Office weather and climate model, LFRic. The model is shown to scale to large numbers of nodes which meets the design criteria, that of exploitation of parallelism to achieve good scaling. The model is written in a Domain-Specific Language, embedded in modern Fortran and uses a Domain-Specific Compiler, PSyclone, to generate the parallel code. The performance analysis shows the effect of choice of algorithm, such as redundant computation and scaling with OpenMP threads. The analysis can be used to motivate a discussion of future work to improve the OpenMP performance of other parts of the code. Finally, an analysis of the performance tuning of the I/O server, XIOS is presented.

Compilers from Cray, Intel, and the GNU project are used.

---

<div class="post-metadata">

**Author:** ![Shahid](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahid/32/3672_2.png) [@Shahid](https://fortran-lang.discourse.group/u/Shahid)\
**Post date:** [November 7, 2024, 6:53pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/175 "2024-11-07T18:53:51Z")

</div>

> **[Accelerating Fortran codes: A method for integrating Coarray Fortran with...](https://www.sciencedirect.com/science/article/pii/S0743731524001412)**
>
> Fortran's prominence in scientific computing requires strategies to ensure both that legacy codes are efficient on high-performance computing systems,…

by James McKevitt, Eduard I. Vorobyov, Igor Kulikov  
January 2025

> Fortran’s prominence in scientific computing requires strategies to ensure both that legacy codes are efficient on high-performance computing systems, and that the language remains attractive for the development of new high-performance codes. Coarray Fortran (CAF), part of the Fortran 2008 standard introduced for parallel programming, facilitates distributed memory parallelism with a syntax familiar to Fortran programmers, simplifying the transition from single-processor to multi-processor coding. This research focuses on innovating and refining a parallel programming methodology that fuses the strengths of Intel Coarray Fortran, Nvidia CUDA Fortran, and OpenMP for distributed memory parallelism, high-speed GPU acceleration and shared memory parallelism respectively. We consider the management of pageable and pinned memory, CPU-GPU affinity in NUMA multiprocessors, and robust compiler interfacing with speed optimisation. We demonstrate our method through its application to a parallelised Poisson solver and compare the methodology, implementation, and scaling performance to that of the Message Passing Interface (MPI), finding CAF offers similar speeds with easier implementation. For new codes, this approach offers a faster route to optimised parallel computing. For legacy codes, it eases the transition to parallel computing, allowing their transformation into scalable, high-performance computing applications without the need for extensive re-design or additional syntax

---

<div class="post-metadata">

**Author:** ![shahmoradi](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahmoradi/32/3151_2.png) [@shahmoradi](https://fortran-lang.discourse.group/u/shahmoradi)\
**Post date:** [December 10, 2024, 4:54pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/176 "2024-12-10T16:54:19Z")

</div>

> **[Gensdf: An Mpi-Fortran Based Signed-Distance-Field Generator for...](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5042856)**
>
> This paper presents a highly efficient signed-distance field (SDF) generator designed specifically for computational fluid dynamics (CFD) workflows. Our approac

---

<div class="post-metadata">

**Author:** ![shahmoradi](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahmoradi/32/3151_2.png) [@shahmoradi](https://fortran-lang.discourse.group/u/shahmoradi)\
**Post date:** [March 26, 2025, 3:18am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/177 "2025-03-26T03:18:45Z")

</div>

> **[A Fortran–Python interface for integrating machine learning parameterization...](https://gmd.copernicus.org/articles/18/1917/2025/)**
>
> Abstract. Parameterizations in earth system models (ESMs) are subject to biases and uncertainties arising from subjective empirical assumptions and incomplete understanding of the underlying physical processes. Recently, the growing representational...

---

<div class="post-metadata">

**Author:** ![shahmoradi](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/shahmoradi/32/3151_2.png) [@shahmoradi](https://fortran-lang.discourse.group/u/shahmoradi)\
**Post date:** [March 29, 2025, 4:33am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/178 "2025-03-29T04:33:57Z")

</div>

[Lightweight GPU-Accelerated Parallel Processing of the SCHISM Model Using CUDA Fortran](https://www.mdpi.com/2077-1312/13/4/662)

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [March 29, 2025, 10:55am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/179 "2025-03-29T10:55:02Z")

</div>

On GitHub:

> **[GitHub - schism-dev/schism: Semi-implicit Cross-scale Hydroscience Integrated...](https://github.com/schism-dev/schism)**
>
> Semi-implicit Cross-scale Hydroscience Integrated System Model (SCHISM)

---

<div class="post-metadata">

**Author:** ![fxm](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/fxm/32/5726_2.png) [@fxm](https://fortran-lang.discourse.group/u/fxm)\
**Post date:** [March 31, 2025, 12:13am UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/180 "2025-03-31T00:13:31Z")

</div>

GMD Article: [Daily INSOLation (DINSOL-v1.0): an intuitive tool for classrooms and specifying solar radiation boundary conditions (Oliveira, 2023)](https://doi.org/10.5194/gmd-16-2371-2023)

Code:

> **[GitHub - Emerson-D-Oliveira/dinsol-v1.0-linux](https://github.com/Emerson-D-Oliveira/dinsol-v1.0-linux)**
>
> Contribute to Emerson-D-Oliveira/dinsol-v1.0-linux development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![wcota](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/wcota/32/3418_2.png) [@wcota](https://fortran-lang.discourse.group/u/wcota)\
**Post date:** [August 22, 2026, 2:56pm UTC](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101/181 "2026-08-22T14:56:08Z")

</div>

Our paper in Nature Communications:

Maia, H.P., Cota, W., Moreno, Y. _et al._ Efficient Gillespie algorithms for spreading phenomena in large and heterogeneous higher-order networks. _Nat Commun_ **17** , 8665 (2026). [Efficient Gillespie algorithms for spreading phenomena in large and heterogeneous higher-order networks | Nature Communications](https://doi.org/10.1038/s41467-026-75402-0)

Code: [GitHub - gisc-ufv/hyperSIS: Optimized Gillespie Algorithms (OGA) for spreading processes on higher-order networks · GitHub](https://github.com/gisc-ufv/hyperSIS)

> #### Code availability
> 
> The HB-OGA and NB-OGA codes are available at ( [GitHub - gisc-ufv/hyperSIS: Optimized Gillespie Algorithms (OGA) for spreading processes on higher-order networks · GitHub](https://github.com/gisc-ufv/hyperSIS) ), ref. 56. The code is developed in Modern Fortran, it follows a modular, object-oriented structure and is compatible with the Fortran Package Manager (fpm), as well as a Python interface. A Jupyter Notebook with usage examples is provided. Network input can be supplied as a list of hyperedges, in bipartite format, in the XGI JSON format, or in the HIF standard format. Both temporal and quasi-stationary dynamics are available. The code was run using the LLVM-based Intel Fortran (ifx) and the non-commercial GNU Fortran (gfortran) compilers, on Linux and Windows Subsystem for Linux (WSL).

[Previous page](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101.md?page=8)

[Next page](https://fortran-lang.discourse.group/t/research-articles-using-fortran/1101.md?page=10)
