降雨径流模型catchmod的python实现。

pycatchmod的Python项目详细描述


catchmod是英国应用最广泛的降雨径流模型。它是由wilby(1994)提出的。这个 版本是用python开发的,使用cython可以高效地执行长时间序列。

https://travis-ci.org/pywr/pycatchmod.svg?branch=master

功能

pycatchmod包括以下功能:

  • 用cython编写的核心catchmod算法,以提高速度,
  • 同时模拟具有相同集水参数的多个输入时间序列,并且
  • 与numpy阵列集成。
  • 从温度计算pet的oudin(2005)pet公式的实现。
  • 命令行界面

安装

这个模块主要是用cython编写的,需要安装一个c编译器来编译。该代码已经在gcc(linux)、msvc(windows)和clang(os x)上成功测试。

要安装,请使用setup.py与通常一样:

python setup.py install

安装后,可以使用py.test命令运行测试:

py.test tests

命令行界面

为了方便起见,编写了一个命令行界面。这是作为pycatchmod命令安装的。请参见:

pycatchmod --help

您可以使用--help开关访问每个子命令的帮助,例如:

pycatchmod run --help

要运行模型,请使用run子命令:

pycatchmod run --parameters thames.json --rainfall thames_rainfall.csv --pet thames_pet.csv --output thames_flow.csv

命令行界面还提供了一些用于catchmod的excel实现的工具。可以使用dump从excel文件中提取模型参数,例如:

pycatchmod dump --filename thames.xls

参数以json格式打印到标准输出(stdout)。这种格式的一个例子可以在tests目录中找到。可以使用管道将此数据重定向到文件中:

pycatchmod dump --filename thames.xls > thames.json

可以使用compare命令比较pycatchmod和excel模型的结果。输出之间的任何(显著)差异都被认为是一个bug(应该通过github报告)。

pycatchmod compare --filename thames.xls --plot

更改

版本1.1.0

  • 为每个区域的输出流量添加了功能。

版本1.0.0

  • 初始版本

许可证

这项工作是根据GNU通用公共许可证第3版(GNU GPLV3)授权的。详情请参阅牌照。

作者

致谢

这项工作由英国曼彻斯特大学资助。

参考文献

Wilby,R.,Greenfield,B.,Glenny,C.,1994年。用于气候变化影响评估的耦合天气水文模型。水文学杂志。153号。第265-290页。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Spring启动测试中的java MockBean注释导致NonuniqueBeandDefinitionException   java Spring Hateoas调试模板不能为null   递归培根游戏Java程序?   java在Android中保存少量数据(对象)的最简单方法是什么?   异常处理Java中finally块的要点是什么?   是java。util。货币真的是工厂方法模式吗?   java如何输入字符以停止循环   java如何对流的某些部分执行缩减操作   java new Gson()。单例类的toJson(object)返回null   java Itext泰米尔字体显示不正确   java运行时。getRuntime()。gpg命令不起作用的exec()   java如何在preparedstatemenet中将字符连接到SQL字符串   java将同一实体的多个表示形式与lazyload合并时出错   JavaSpring、Hibernate和JPA:在entitymanager上调用persist似乎并没有提交到数据库   java osgi r6服务。组成部分注释属性列表