1 个稳定版本
1.1.0 | 2024年2月26日 |
---|---|
1.0.0 |
|
0.1.0 |
|
在 科学 类别中排名 #239
每月下载 104 次
32KB
337 行
meteo_tools
一个用于计数和转换气象单位的库。接受摄氏度或华氏度温度、相对湿度和可选的大气压力,转换风速并计算热点、湿度指数、热指数等。
功能
计算
- 露点
- 热指数
- 湿度指数
- 混合比
- 绝对湿度
转换
- 在摄氏度、华氏度和开尔文之间
- 在百帕到毫米汞柱和英寸汞柱之间
- 风速 km/h, m/s, 节
转换是可互换的,即从摄氏度到华氏度和反之亦然。
更多功能即将推出。请参阅文档。
使用标准常数的 Magnus-Tetens 公式、Clausius-Clapeyron 方程和 Rothfusz 回归方程等气象算法。当处理大气压力(湿度指数等)时,有函数可供您选择是否具有大气压力测量值或使用常数值。
请注意,这是一个通用目的的库。我将值四舍五入到小数点后四位,我认为这对于普通用途已经足够精确。我正在尝试实现各种算法。此外,这个库可能不适合精确的实验室测量,因为不同来源的算法常数值可能不同,您可能需要为您的应用程序使用另一个常数值。
此外,我在使用标准常数的算法上使用了 common_
前缀(例如,使用常数值而不是精确压力计算露点),以便在没有大气压力测量值时也有用。没有 common_
的函数需要精确测量。
我为我的 API 和个人气象项目创建了此库,以从 Raspberry Pi 和 Arduino 发送的数据中计算测量值。# meteo_tools
使用示例
简单有趣,让我们享受吧 :).
use meteo_tools::common_celsius_dew_point;
fn main() {
let temperature = 22.5;
let relative_humidity = 62.4;
// returns dew point in f64
let dew_point = common_celsius_dew_point(&temperature, &humidity);
}
或转换度数单位。
use meteo_tools::celsius_to_fahrenheit;
fn main() {
let celsius_temperature = 22.5;
// Converts units to another scale
let fahrenheit_temperature = celsius_to_fahrenheit(&celsius_temperature);
}