hydroeval:一种流时间序列的计算方法
hydroeval的Python项目详细描述
hydroeval-python中流时间序列的开源计算器
hydroeval是python中流时间序列的开源计算器。它是根据gnu gpl-3.0授权的(参见licence file提供的)。此评估器的目的是使用一个或多个目标函数比较观测和模拟的过程线。hydroeval被设计成以矢量方式(使用numpy,因此在后台使用c代码)计算所有目标函数,这使得目标函数的计算非常高效。
如何安装
pypi上提供hydroeval,因此您可以简单地使用pip和包的名称:
python -m pip install hydroeval
您还可以直接使用pip和指向github存储库的链接:
python -m pip install git+https://github.com/ThibHlln/hydroeval.git
或者,您可以下载源代码(i.e.github存储库),并从下载的目录本身运行命令:
python setup.py install
如何使用
可以使用Jupyter notebook形式的教程开始使用hydroeval的api。教程所需的输入文件都在examples/
文件夹中提供。
目标函数可用
目前,hydroeval中用于评估观测流时间序列与模拟流时间序列之间的拟合度的目标函数如下:
- Nash-Sutcliffe Efficiency(
nse
) - Original Kling-Gupta Efficiency(
kge
)及其三组分(r,α,β) - Modified Kling-Gupta Efficiency(
kgeprime
)及其三组分(r,γ,β) - 均方根误差(
rmse
) - 平均绝对相对误差(
mare
) - 偏差百分比(
pbias
)
此外,kge和nse可以在Mathevet et al. (2008):
- 有界nash-sutcliffe效率(
nse_c2m
) - 有界原kling-gupta效率(
kge_c2m
) - 有界修正kling-gupta效率(
kgeprime_c2m
)
最后,任何目标函数都可以取一个最优参数transform
。此参数允许在计算目标函数之前对观测和模拟的水流时间序列应用转换。可能的转换如下:
- 倒流(使用
transform='inv'
) - 平方根转换流(使用
transform='sqrt'
) - 自然对数转换流(使用
transform='log'
)
依赖关系
hydroeval要求在安装了hydroeval
的python实现上安装流行的python包numpy
。
版本历史记录
- 0.0.2【2018年11月29日】:总体改进
- 将轴=0定义为默认数组取向
- 添加KGE的非参数版本
- 更正有界原始和修改后的kge中的错误
- 0.0.1[2018年10月26日]:HydroEval的第一版
确认
该工具是在爱尔兰环境保护署(批准号2014-W-LS-5)的资助下开发的。