气象计算实用程序
meteorolog的Python项目详细描述
这个包提供气象计算的例程。
原理
数字以国际单位制(除了一些记录在案的例外情况)处理。
例程被测试为使用numpy.ndarray和float作为输入,但是 也可以使用列表或其他数据类型。
所有的东西都经过测试,并且应该返回正确的值。发出警告 如果出现无效值。非物理值用NaN屏蔽。
能力
目前,meteorology只能做非常基本的事情:
- 在摄氏度和开尔文 之间转换
frommeteorology.temperatureimportcel2kel,kel2celcel2kel(np.array([0,-20.4,30.1]))# array([ 273.15, 252.75, 303.25])kel2cel(np.array([0,273.15,345.54]))# array([-273.15, 0. , 72.39])
- 在radians到degrees之间转换
frommeteorology.windimportrad2deg,deg2radrad2deg(np.array([np.pi,2*np.pi,np.pi/4]))# array([ 180., 360., 45. ])deg2rad(np.array([360,45,135]))# array([ 6.28318531, 0.78539816, 2.35619449 ])
- 计算风向
frommeteorology.windimportwind_vector_angle# meteorological wind direction angle (0° = North, 90° = East, ...)rad2deg(wind_vector_angle(u=-1,v=0))# easterly wind# 90.0rad2deg(wind_vector_angle(u=1,v=1))# south-westerly wind# 225.0
- 计算给定温度下饱和水蒸汽压
frommeteorology.humidityimportsaturation_water_vapour_pressurease_se_s(np.array([273.15,250.1,320]))# array([ 611.2 , 76.7876872 , 10532.91207709])
- 计算给定温度下黑体总辐射。
frommeteorology.radiationimportblackbody_radiationblackbody_radiation(np.array([0,273.15,250.1,1000]))# array([ 0. , 315.6574093 , 221.85332157, 56703.67 ])
- 调整辐射温度至另一发射率:
frommeteorology.radiationimport \ adjust_radiation_temperature_to_other_emissivityasadjtempadjtemp(T=300,emissivity_old=0.9,emissivity_new=0.8,T_ambient=285)# 293.92070228214675
但请继续关注!更多即将到来!
文档
你可以找到这个包的详细文档 here on on Gitlab。
开发
以下内容可能只对开发人员感兴趣
本地安装
通过pip
:
# local user library under ~/.local pip3 install --user . # in "editable" mode pip3 install --user -e .
测试
# Run all tests ./setup.py test
# install coverage pip3 install --user coveralls # Run all tests and determine a test coverage make coverage
版本控制
- make increase-patch以增加修补程序版本号
- make increase-minor增加次要版本号
- make increase-major增加主版本号