25 个版本
0.9.0 | 2021年6月13日 |
---|---|
0.8.2 | 2021年5月31日 |
0.7.6 | 2020年11月30日 |
0.7.4 | 2020年3月5日 |
0.2.2 | 2018年3月8日 |
#361 在 科学
在 6 个 包中使用
1.5MB
2.5K SLoC
metfor
气象学常数和公式。
该库包括 newtype 类型,或包装类型,以帮助在计算中使用正确的单位,一些常见的气象学常数和一些基本计算的功能。到目前为止,它已被开发用于支持显示和分析斜温数据的库和应用程序。因此,您会发现函数和变量主要是斜温图上通常会使用的东西。未来的版本可能会扩展预期的用例。
我调查了使用 uom 或 dimensioned 这样的 crate 通过类型进行某种类型的分析,而不是创建自己的 newtype 类型。然而,经过实验后,我决定我不想将另一个 crate 作为 API 的一部分,因为选择使用它会强迫这个库的用户使用那个库。
我发现 optional crate 在处理可能存在缺失值的 f64
类型时非常有用,所以我包括了一个特性 use_optional
,它允许在这个 crate 中的新类型以与 f64
与 optional
相同的方式使用。
示例
use metfor::{Kelvin, Celsius, HectoPascal, Millibar, potential_temperature};
let t1 = Kelvin(300.0);
let p1 = HectoPascal(1000.0);
let theta1 = potential_temperature(p1, t1);
let t2 = Celsius(0.0);
let p2 = Millibar(700.0);
let theta2 = potential_temperature(p2, t2);
println!("theta1 = {:?} and theta2 = {:?}", theta1, theta2);