September 29, 2021: Introducing pyPI: Tropical Cyclone Potential Intensity Calculations in Python


Pangeo Showcase talk by Daniel Gilford, Climate Central


Daniel Gilford, Ph.D., is a meteorologist and atmospheric scientist with a decade of experience in climate science research. He is scientifically interested in answering the question, “How does climate variability and change affect local coastal communities?” He is personally interested in doing climate science that works towards an equitable, knowledgeable, and resilient society for his son and future generations.

Daniel grew up along the coast of central Florida, and at a young age became fascinated with the power and importance of weather in his community, especially during the extremely active 2004 hurricane season. Following that passion, Daniel attended The Florida State University, where he worked at the Center for Ocean Atmospheric Prediction Studies studying climate impacts on southeast US temperatures and agriculture. After graduating with a B. S. in Meteorology in 2012, Daniel started graduate school at the Massachusetts Institute of Technology.

At MIT Daniel studied with Prof. Susan Solomon and Kerry Emanuel examining how atmospheric chemistry and radiation combine to alter atmospheric temperatures and influence tropical cyclone intensities. Receiving his doctorate in Atmospheric Science, Daniel began a postdoc at Rutgers where he worked with Prof. Bob Kopp to better understand climate change’s influence on sea level rise.

In 2021, Daniel joined Climate Central full time as a Climate Scientist, and he is now working on climate change attribution to support the Realtime Climate and Sea Level teams. Daniel also enjoys reading comics, drinking coffee, board games, and being involved in his local community.


Potential intensity (PI) is the maximum speed limit of a tropical cyclone found by treating the storm as a thermal heat engine. Because there are significant correlations between PI and actual storm wind speeds, PI is a useful diagnostic for evaluating or predicting tropical cyclone intensity climatology and variability. Given a set of atmospheric and oceanographic conditions, one may calculate PI following an algorithm described in Bister and Emanuel (2002). The algorithm was originally hard-coded in FORTRAN and then MATLAB; in 2020 the PI code was translated for Python and carefully documented for the first time. Here I describe and demonstrate the new pyPI package (GitHub - dgilford/tcpyPI: tcpyPI, aka "pyPI": Tropical Cyclone Potential Intensity Calculations in Python). The goals of pyPI are to: (1) supply a freely available validated Python potential intensity calculator, (2) carefully document the PI algorithm and its Python implementation, and (3) to demonstrate and encourage the use of potential intensity theory in tropical cyclone analyses. In this presentation I discuss the Python implementation of the PI algorithm and I show examples which use pyPI in studies of climatological tropical cyclone intensity. I consider the potential for future improvements in pyPI and ask for feedback/suggestions from the broader climate data science community.