fv3gfs-wrapper: a Python wrapper of the FV3GFS atmospheric model

This is a Preprint and has not been peer reviewed. This is version 1 of this Preprint.

Downloads

Download Preprint

Supplementary Files
Authors

Jeremy James McGibbon , Noah D. Brenowitz, Mark Cheeseman, Spencer K. Clark, Johann Dahm, Eddie Davis, Oliver D. Elbert, Rhea C. George, Lucas M. Harris, Brian Henn, Anna Kwa, W. Andre Perkins, Oliver Watt-Meyer, Tobias Wicky, Christopher S. Bretherton, Oliver Fuhrer

Abstract

Simulation software in geophysics is traditionally written in Fortran or C++ due to the stringent performance requirements these codes have to satisfy. As a result, these codes are often hard to understand, hard to modify and hard to interface with high-productivity languages used for exploratory work. \texttt{fv3gfs-wrapper} is an open-source Python-wrapped version of NOAA's FV3GFS global atmospheric model, which is coded in Fortran. The wrapper provides simple interfaces to progress the Fortran main loop and get or set state from the Fortran model. These interfaces enable a wide range of use cases such as modifying the behavior of the model, introducing online analysis code, or saving model state and reading forcings directly to and from cloud storage. Model performance is identical to the fully-compiled Fortran model, unless routines to copy state in and out of the model are used. This copy overhead is well within an acceptable range of performance, and could be avoided with modifications to the Fortran source code. The wrapping approach is outlined and can be applied similarly in other Fortran models to enable more productive scientific workflows.

DOI

https://doi.org/10.31223/X50W4W

Subjects

Atmospheric Sciences, Software Engineering

Keywords

model, python, fv3gfs, wrap, cython, fortran, wrapper

Dates

Published: 2021-03-05 23:38

Last Updated: 2021-03-06 07:38

License

CC BY Attribution 4.0 International

Add a Comment

You must log in to post a comment.


Comments

There are no comments or no comments have been made public for this article.