Articles | Volume 14, issue 7
https://doi.org/10.5194/gmd-14-4401-2021
© Author(s) 2021. This work is distributed under
the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
https://doi.org/10.5194/gmd-14-4401-2021
© Author(s) 2021. This work is distributed under
the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
fv3gfs-wrapper: a Python wrapper of the FV3GFS atmospheric model
Vulcan Inc., Seattle, WA, USA
Noah D. Brenowitz
Vulcan Inc., Seattle, WA, USA
Mark Cheeseman
Vulcan Inc., Seattle, WA, USA
Spencer K. Clark
Vulcan Inc., Seattle, WA, USA
Geophysical Fluid Dynamics Laboratory, NOAA, Princeton, NJ, USA
Johann P. S. Dahm
Vulcan Inc., Seattle, WA, USA
Eddie C. Davis
Vulcan Inc., Seattle, WA, USA
Oliver D. Elbert
Vulcan Inc., Seattle, WA, USA
Geophysical Fluid Dynamics Laboratory, NOAA, Princeton, NJ, USA
Rhea C. George
Vulcan Inc., Seattle, WA, USA
Lucas M. Harris
Geophysical Fluid Dynamics Laboratory, NOAA, Princeton, NJ, USA
Brian Henn
Vulcan Inc., Seattle, WA, USA
Anna Kwa
Vulcan Inc., Seattle, WA, USA
W. Andre Perkins
Vulcan Inc., Seattle, WA, USA
Oliver Watt-Meyer
Vulcan Inc., Seattle, WA, USA
Tobias F. Wicky
Vulcan Inc., Seattle, WA, USA
Christopher S. Bretherton
Vulcan Inc., Seattle, WA, USA
Department of Atmospheric Sciences, University of Washington, Seattle, WA, USA
Oliver Fuhrer
Vulcan Inc., Seattle, WA, USA
Related authors
Johann Dahm, Eddie Davis, Florian Deconinck, Oliver Elbert, Rhea George, Jeremy McGibbon, Tobias Wicky, Elynn Wu, Christopher Kung, Tal Ben-Nun, Lucas Harris, Linus Groner, and Oliver Fuhrer
Geosci. Model Dev., 16, 2719–2736, https://doi.org/10.5194/gmd-16-2719-2023, https://doi.org/10.5194/gmd-16-2719-2023, 2023
Short summary
Short summary
It is hard for scientists to write code which is efficient on different kinds of supercomputers. Python is popular for its user-friendliness. We converted a Fortran code, simulating Earth's atmosphere, into Python. This new code auto-converts to a faster language for processors or graphic cards. Our code runs 3.5–4 times faster on graphic cards than the original on processors in a specific supercomputer system.
Xavier Lapillonne, Daniel Hupp, Fabian Gessler, André Walser, Andreas Pauling, Annika Lauber, Benjamin Cumming, Carlos Osuna, Christoph Müller, Claire Merker, Daniel Leuenberger, David Leutwyler, Dmitry Alexeev, Gabriel Vollenweider, Guillaume Van Parys, Jonas Jucker, Lukas Jansing, Marco Arpagaus, Marco Induni, Marek Jacob, Matthias Kraushaar, Michael Jähn, Mikael Stellio, Oliver Fuhrer, Petra Baumann, Philippe Steiner, Pirmin Kaufmann, Remo Dietlicher, Ralf Müller, Sergey Kosukhin, Thomas C. Schulthess, Ulrich Schättler, Victoria Cherkas, and William Sawyer
EGUsphere, https://doi.org/10.5194/egusphere-2025-3585, https://doi.org/10.5194/egusphere-2025-3585, 2025
This preprint is open for discussion and under review for Geoscientific Model Development (GMD).
Short summary
Short summary
The ICON climate and numerical weather prediction model was fully ported to Graphical Processing Units (GPUs) using OpenACC compiler directives, covering all components required for operational weather prediction. The GPU port together with several performance optimizations led to a speed-up of 5.6× when comparing to traditional CPUs. Thanks to this adaptation effort, MeteoSwiss became the first national weather service to run the ICON model operationally on GPUs.
Joseph Mouallem, Kun Gao, Brandon G. Reichl, Lauren Chilutti, Lucas Harris, Rusty Benson, Niki Zadeh, Jing Chen, Jan-Huey Chen, and Cheng Zhang
EGUsphere, https://doi.org/10.5194/egusphere-2025-1690, https://doi.org/10.5194/egusphere-2025-1690, 2025
Short summary
Short summary
We introduce a new high-resolution model that couple the atmosphere and ocean to better simulate extreme weather events. It combines GFDL’s advanced atmospheric and ocean models with a powerful coupling system that allows robust and efficient two-way interactions. Simulations show the model accurately captures hurricane behavior and its impact on the ocean. It also runs efficiently on supercomputers. This model is a key step toward improving extreme weather forecast.
Bjorn Stevens, Stefan Adami, Tariq Ali, Hartwig Anzt, Zafer Aslan, Sabine Attinger, Jaana Bäck, Johanna Baehr, Peter Bauer, Natacha Bernier, Bob Bishop, Hendryk Bockelmann, Sandrine Bony, Guy Brasseur, David N. Bresch, Sean Breyer, Gilbert Brunet, Pier Luigi Buttigieg, Junji Cao, Christelle Castet, Yafang Cheng, Ayantika Dey Choudhury, Deborah Coen, Susanne Crewell, Atish Dabholkar, Qing Dai, Francisco Doblas-Reyes, Dale Durran, Ayoub El Gaidi, Charlie Ewen, Eleftheria Exarchou, Veronika Eyring, Florencia Falkinhoff, David Farrell, Piers M. Forster, Ariane Frassoni, Claudia Frauen, Oliver Fuhrer, Shahzad Gani, Edwin Gerber, Debra Goldfarb, Jens Grieger, Nicolas Gruber, Wilco Hazeleger, Rolf Herken, Chris Hewitt, Torsten Hoefler, Huang-Hsiung Hsu, Daniela Jacob, Alexandra Jahn, Christian Jakob, Thomas Jung, Christopher Kadow, In-Sik Kang, Sarah Kang, Karthik Kashinath, Katharina Kleinen-von Königslöw, Daniel Klocke, Uta Kloenne, Milan Klöwer, Chihiro Kodama, Stefan Kollet, Tobias Kölling, Jenni Kontkanen, Steve Kopp, Michal Koran, Markku Kulmala, Hanna Lappalainen, Fakhria Latifi, Bryan Lawrence, June Yi Lee, Quentin Lejeun, Christian Lessig, Chao Li, Thomas Lippert, Jürg Luterbacher, Pekka Manninen, Jochem Marotzke, Satoshi Matsouoka, Charlotte Merchant, Peter Messmer, Gero Michel, Kristel Michielsen, Tomoki Miyakawa, Jens Müller, Ramsha Munir, Sandeep Narayanasetti, Ousmane Ndiaye, Carlos Nobre, Achim Oberg, Riko Oki, Tuba Özkan-Haller, Tim Palmer, Stan Posey, Andreas Prein, Odessa Primus, Mike Pritchard, Julie Pullen, Dian Putrasahan, Johannes Quaas, Krishnan Raghavan, Venkatachalam Ramaswamy, Markus Rapp, Florian Rauser, Markus Reichstein, Aromar Revi, Sonakshi Saluja, Masaki Satoh, Vera Schemann, Sebastian Schemm, Christina Schnadt Poberaj, Thomas Schulthess, Cath Senior, Jagadish Shukla, Manmeet Singh, Julia Slingo, Adam Sobel, Silvina Solman, Jenna Spitzer, Philip Stier, Thomas Stocker, Sarah Strock, Hang Su, Petteri Taalas, John Taylor, Susann Tegtmeier, Georg Teutsch, Adrian Tompkins, Uwe Ulbrich, Pier-Luigi Vidale, Chien-Ming Wu, Hao Xu, Najibullah Zaki, Laure Zanna, Tianjun Zhou, and Florian Ziemen
Earth Syst. Sci. Data, 16, 2113–2122, https://doi.org/10.5194/essd-16-2113-2024, https://doi.org/10.5194/essd-16-2113-2024, 2024
Short summary
Short summary
To manage Earth in the Anthropocene, new tools, new institutions, and new forms of international cooperation will be required. Earth Virtualization Engines is proposed as an international federation of centers of excellence to empower all people to respond to the immense and urgent challenges posed by climate change.
Justin L. Willson, Kevin A. Reed, Christiane Jablonowski, James Kent, Peter H. Lauritzen, Ramachandran Nair, Mark A. Taylor, Paul A. Ullrich, Colin M. Zarzycki, David M. Hall, Don Dazlich, Ross Heikes, Celal Konor, David Randall, Thomas Dubos, Yann Meurdesoif, Xi Chen, Lucas Harris, Christian Kühnlein, Vivian Lee, Abdessamad Qaddouri, Claude Girard, Marco Giorgetta, Daniel Reinert, Hiroaki Miura, Tomoki Ohno, and Ryuji Yoshida
Geosci. Model Dev., 17, 2493–2507, https://doi.org/10.5194/gmd-17-2493-2024, https://doi.org/10.5194/gmd-17-2493-2024, 2024
Short summary
Short summary
Accurate simulation of tropical cyclones (TCs) is essential to understanding their behavior in a changing climate. One way this is accomplished is through model intercomparison projects, where results from multiple climate models are analyzed to provide benchmark solutions for the wider climate modeling community. This study describes and analyzes the previously developed TC test case for nine climate models in an intercomparison project, providing solutions that aid in model development.
Ruoyi Cui, Nikolina Ban, Marie-Estelle Demory, Raffael Aellig, Oliver Fuhrer, Jonas Jucker, Xavier Lapillonne, and Christoph Schär
Weather Clim. Dynam., 4, 905–926, https://doi.org/10.5194/wcd-4-905-2023, https://doi.org/10.5194/wcd-4-905-2023, 2023
Short summary
Short summary
Our study focuses on severe convective storms that occur over the Alpine-Adriatic region. By running simulations for eight real cases and evaluating them against available observations, we found our models did a good job of simulating total precipitation, hail, and lightning. Overall, this research identified important meteorological factors for hail and lightning, and the results indicate that both HAILCAST and LPI diagnostics are promising candidates for future climate research.
Johann Dahm, Eddie Davis, Florian Deconinck, Oliver Elbert, Rhea George, Jeremy McGibbon, Tobias Wicky, Elynn Wu, Christopher Kung, Tal Ben-Nun, Lucas Harris, Linus Groner, and Oliver Fuhrer
Geosci. Model Dev., 16, 2719–2736, https://doi.org/10.5194/gmd-16-2719-2023, https://doi.org/10.5194/gmd-16-2719-2023, 2023
Short summary
Short summary
It is hard for scientists to write code which is efficient on different kinds of supercomputers. Python is popular for its user-friendliness. We converted a Fortran code, simulating Earth's atmosphere, into Python. This new code auto-converts to a faster language for processors or graphic cards. Our code runs 3.5–4 times faster on graphic cards than the original on processors in a specific supercomputer system.
Joseph Mouallem, Lucas Harris, and Rusty Benson
Geosci. Model Dev., 15, 4355–4371, https://doi.org/10.5194/gmd-15-4355-2022, https://doi.org/10.5194/gmd-15-4355-2022, 2022
Short summary
Short summary
The single-nest capability in GFDL's dynamical core, FV3, is upgraded to support multiple same-level and telescoping nests. Grid nesting adds a refined grid over an area of interest to better resolve small-scale flow features necessary to accurately predict special weather events such as severe storms and hurricanes. This work allows concurrent execution of multiple same-level and telescoping multi-level nested grids in both global and regional setups.
Kai-Yuan Cheng, Lucas M. Harris, and Yong Qiang Sun
Geosci. Model Dev., 15, 1097–1105, https://doi.org/10.5194/gmd-15-1097-2022, https://doi.org/10.5194/gmd-15-1097-2022, 2022
Short summary
Short summary
This paper presents the implementation of container technology for the System for High‐resolution prediction on Earth‐to‐Local Domains (SHiELD), a unified atmospheric model that can be used as a global, a global–nest, and a regional model for weather-to-seasonal prediction. Container technology makes SHiELD cross-platform and easy to use, which opens opportunities for collaborative research and development. The performance and scalability of the containerized SHiELD are evaluated and discussed.
Cited articles
Bianchi, F. A., Margara, A., and Pezzè, M.: A Survey of Recent Trends in
Testing Concurrent Software Systems, IEEE T. Soft.
Eng., 44, 747–783, https://doi.org/10.1109/TSE.2017.2707089, 2018. a
Brenowitz, N. D. and Bretherton, C. S.: Spatially Extended Tests of a Neural
Network Parametrization Trained by Coarse-Graining, J. Adv.
Model. Earth Sy., 11, 2728–2744, https://doi.org/10.1029/2019MS001711, 2019. a
Dalcín, L., Paz, R., Storti, M., and D'Elía, J.: MPI for
Python: Performance improvements and MPI-2 extensions, J. Parallel
Distr. Com., 68, 655–662, https://doi.org/10.1016/j.jpdc.2007.09.005,
2008. a, b
Enkovaara, J., Romero, N. A., Shende, S., and Mortensen, J. J.: GPAW –
massively parallel electronic structure calculations with Python-based
software, Procedia Comput. Sci., 4, 17–25,
https://doi.org/10.1016/j.procs.2011.04.003, 2011. a
Feng, Y.: python-mpi-bcast,
available at: https://github.com/rainwoodman/python-mpi-bcast (last access: 7 April 2021), 2021. a
Global Engineering Documents: Fortran 90, Global Engineering Documents,
Washington, D.C., USA, 1991. a
Hand, N. and Feng, Y.: nbodykit, in: Proceedings of the 7th Workshop on Python
for High-Performance and Scientific Computing – PyHPC'17,
ACM Press, https://doi.org/10.1145/3149869.3149876, 2017. a
Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P.,
Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R.,
Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del
Río, J. F., Wiebe, M., Peterson, P., Gérard-Marchant, P.,
Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C., and Oliphant,
T. E.: Array programming with NumPy, Nature, 585, 357–362,
https://doi.org/10.1038/s41586-020-2649-2, 2020. a
Harris, L. M. and Lin, S.-J.: A Two-Way Nested Global-Regional Dynamical Core
on the Cubed-Sphere Grid, Mon. Weather Rev., 141, 283–306,
https://doi.org/10.1175/MWR-D-11-00201.1, 2013. a
Heinzeller, D., Firl, G., Bernardet, L., Carson, L., Zhang, M., and Kain, J.: The Common Community Physics Package (CCPP): bridging the gap between research and operations to improve U.S. numerical weather prediction capabilities, EGU General Assembly 2020, Online, 4–8 May 2020, EGU2020-23, https://doi.org/10.5194/egusphere-egu2020-23,
2020. a
Heinzeller, D., Underwood, S., Firl, G., Wang, J., Liang, Z., Menzel, R.,
Robinson, T., Brown, T., Benson, R., Hartnett, E., Schramm, J., Ramirez, U.,
gbw gfdl, Carson, L., McGibbon, J., Fuhrer, O., Jess, Clark, S., Smirnova,
T., Hallberg, R., Bernardet, L., Potts, M., Zadeh, N., Olson, J., Jovic, D.,
George, R., Paulot, F., Goldhaber, S., and Li, H.:
VulcanClimateModeling/fv3gfs-fortran: GMD release [code], Zenodo,
https://doi.org/10.5281/zenodo.4470023, 2021. a
Kermode, J. R.: f90wrap: an automated tool for constructing deep Python
interfaces to modern Fortran codes, J. Phys. Condens. Matter,
https://doi.org/10.1088/1361-648X/ab82d2, 2020. a
Lin, J. W.-B.: qtcm 0.1.2: a Python implementation of the Neelin-Zeng Quasi-Equilibrium Tropical Circulation Model, Geosci. Model Dev., 2, 1–11, https://doi.org/10.5194/gmd-2-1-2009, 2009. a
McGibbon, J., Brenowitz, N. D., Watt-Meyer, O., Clark, S., Cheeseman, M., Henn,
B., Fuhrer, O., Wicky, T., and Elbert, O.:
VulcanClimateModeling/fv3gfs-wrapper: v0.6.0 GMD release [code], Zenodo,
https://doi.org/10.5281/zenodo.4474598, 2021a. a
McGibbon, J., Brenowitz, N. D., Watt-Meyer, O., Clark, S., Cheeseman, M., Henn,
B., Fuhrer, O., Wicky, T., and Elbert, O.:
VulcanClimateModeling/fv3gfs-wrapper: v0.6.0 GMD release Docker Image [code], Zenodo,
https://doi.org/10.5281/zenodo.4474639, 2021b. a, b
McGibbon, J., Watt-Meyer, O., Brenowitz, N. D., Clark, S., Kwa, A., Cheeseman,
M., Wicky, T., and Henn, B.: VulcanClimateModeling/fv3gfs-util: v0.6.0 GMD
release [code], Zenodo, https://doi.org/10.5281/zenodo.4470011, 2021c. a
McGibbon, J., Watt-Meyer, O., Yang, F., and Harris, L.: Example 6-hour
directory for FV3GFS atmospheric model [data set], Zenodo, https://doi.org/10.5281/zenodo.4429298,
2021d. a, b, c
Message Passing Interface Forum: MPI: A Message-Passing Interface Standard
Version 3.1,
available at: https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf (last access: 21 May 2021),
2015. a
Miles, A., Kirkham, J., Durant, M., Bussonnier, M., Bourbeau, J., Onalan, T.,
Hamman, J., Patel, Z., Rocklin, M., Goenka, S., Abernathey, R., Moore, J.,
Schut, V., Dussin, R., de Andrade, E. S., Noyes, C., Jelenak, A.,
Banihirwe, A., Barnes, C., Sakkis, G., Funke, J., Kelleher, J., Jevnik, J.,
Swaney, J., Rahul, P. S., Saalfeld, S., Tran, J. T., pyup.io bot, and
sbalmer: zarr-developers/zarr-python: v2.5.0, Zenodo, https://doi.org/10.5281/zenodo.4069231,
2020. a
Monteiro, J. M., McGibbon, J., and Caballero, R.: sympl (v. 0.4.0) and climt (v. 0.15.3) – towards a flexible framework for building model hierarchies in Python, Geosci. Model Dev., 11, 3781–3794, https://doi.org/10.5194/gmd-11-3781-2018, 2018. a
OpenMP Architecture Review Board: OpenMP Application Programming Interface
Version 5.0,
available at: https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5-1.pdf (last access: 21 May 2021),
2020. a
Ott, J., Pritchard, M., Best, N., Linstead, E., Curcic, M., and Baldi, P.: A
Fortran-Keras Deep Learning Bridge for Scientific Computing, Scientific
Programming, 2020, 8888 811, https://doi.org/10.1155/2020/8888811, 2020. a, b
Peterson, P.: F2PY: a tool for connecting Fortran and Python programs,
International Journal of Computational Science and Engineering, 4, 296,
https://doi.org/10.1504/ijcse.2009.029165, 2009. a
Pressel, K. G., Kaul, C. M., Schneider, T., Tan, Z., and Mishra, S.: Large-eddy
simulation in an anelastic framework with closed water and entropy balances,
J. Adv. Model. Earth Sy., 7, 1425–1456,
https://doi.org/10.1002/2015MS000496, 2015. a
Putman, W. M. and Lin, S.-J.: Finite-volume transport on various cubed-sphere
grids, J. Comput. Phys., 227, 55–78,
https://doi.org/10.1016/j.jcp.2007.07.022, 2007. a
The Pallets Projects: Jinja,
available at: https://jinja.palletsprojects.com/en/2.10.x/ (last access: 21 May 2021), 2019.
a
Watt-Meyer, O., Brenowitz, N. D., Clark, S. K., Henn, B., Kwa, A., McGibbon,
J. J., Perkins, W. A., and Bretherton, C. S.: Correcting weather and climate
models by machine learning nudged historical simulations, Earth and Space
Science Open Archive, 13, https://doi.org/10.1002/essoar.10505959.1, 2021. a
Zhou, L., Lin, S.-J., Chen, J.-H., Harris, L. M., Chen, X., and Rees, S. L.:
Toward Convective-Scale Prediction within the Next Generation Global
Prediction System, B. Am. Meteorol. Soc., 100, 1225–1243, https://doi.org/10.1175/BAMS-D-17-0246.1, 2019. a
Short summary
FV3GFS is a weather and climate model written in Fortran. It uses Fortran so that it can run fast, but this makes it hard to add features if you do not (or even if you do) know Fortran. We have written a Python interface to FV3GFS that lets you import the Fortran model as a Python package. We show examples of how this is used to write
modelscripts, which reproduce or build on what the Fortran model can do. You could do this same wrapping for any compiled model, not just FV3GFS.
FV3GFS is a weather and climate model written in Fortran. It uses Fortran so that it can run...