Daniel M. Gilford使用Python计算了Bister and Emanuel 2002提出的potential intensity 算法。相关测试数据和代码已经开源。https://github.com/dgilford/pyPI 参考文档:http://texmex.mit.edu/pub/emanuel/TCMAX/pyPI_Documentation_v1.2.pdf Bister M, Emanuel K A. Low frequency variability of tropical cyclone potential intensity 1. Interannual to interdecadal variability[J]. Journal of Geophysical Research Atmospheres, 2002, 3374(4801): ACL26–1-15.
https://github.com/dgilford/pyPI
pyPI is a set of scripts and notebooks that compute and validate tropical cyclone (TC) potential intensity (PI) calculations in Python. It is a fully documented and improved port of the Bister and Emanuel 2002 algorithm (hereafter BE02) which was originally written in FORTRAN---and then MATLAB---by Prof. Kerry Emanuel (MIT). Kerry's original MATLAB code (pcmin.m) is found at:
The goals in developing and maintaining pyPI are to:
If you have any questions, comments, or feedback, please contact the developer or open an Issue in the repository.
pyPI was developed by Daniel Gilford and has been archived on Zenodo:
If you use pyPI in your work, please include the citation:
Gilford, D. M. 2020: pyPI: Potential Intensity Calculations in Python, pyPI v1.3. Zenodo. http://doi.org/10.5281/zenodo.3985975
Please read pyPI_Users_Guide_v1.3.pdf for a full overview and details on pyPI. The description includes the pyPI background, a PI computation derivation, validation against the commonly-used MATLAB algorithm (pcmin), and a set of sample analyses.
A manuscript detailing the development of pyPI is be prepared for submission.
pyPI requires Python version 3.7+ to run. It was written and tested with Python 3.7.6. To get pyPI up and running on your system, clone the repository and ensure that you have the required dependencies.
Its packaged using the python package manager pip.
To install pyPI (tcpypi) from the command line:
pip install tcpypi
pi.py is the Python function which directly computes PI given atmospheric and ocean state variables (akin to the BE02 algorithm MATLAB implementation pc_min.m). Given input vector columns of environmental atmospheric temperatures (T) and mixing ratios (R) on a pressure grid (P), sea surface temperatures (SST), and mean sea-level pressures (MSL), the algorithm outputs potential intensity, the outflow level, the outflow temperature, and the minimum central pressure, and a flag that shows the status of the completed PI calculation. pyPI is an improvement on pcmin in that it handles missing values depending on user input flags.
Users who want to apply the PI calculation to a set of local environmental conditions need only to download pi.py, organize their data appropriately, and call the function to return outputs, e.g.:
(VMAX,PMIN,IFL,TO,LNB)=pi(SST,MSL,P,T,R)
Included in the pyPI release is a sample script run_sample.py which runs global sample data from MERRA2 (in 2004) through pi.py, vectorizes the output, and performs several simple analyses. To run, simply:
python run_sample.py
and examine the outputs locally produced in full_sample_output.nc.
This project is licensed under the MIT License - see the LICENSE file for details