一个python包,用于构建专门针对smrf/awsm的水文建模文件

basin-setup的Python项目详细描述


水槽设置工具v0.11.2

docker build status

盆地设置工具是一个python脚本,用于创建所需的 运行SMRF的输入 awsm雪模拟。

安装

先决条件

  • GDAL 2.3.1
  • python>;=3.5
  • PIP 9.0.1

要开始安装basin_安装程序,请确保gdal是从 来源。注意:不要为gdal安装python库,而是安装 命令行实用程序。按照说明从源代码编译 提供时间:

http://trac.osgeo.org/gdal/wiki/buildhints

安装gdal后,使用pip:

安装python需求
$ pip install -r requirements.txt

最后安装盆地设置供命令行使用:

$ sudo make install

如果要在盆地上进行开发,请使用以下命令 安装该实用程序,以便使用对源的更改 无需重新安装

$ sudo make develop

命令

使用make文件安装后,将安装3个命令。

  1. 盆地设置-创建运行SMRF/AWSM的所有图像
  2. 描绘-自动描绘新盆地。
  3. grm-将激光雷达雪深度聚合到单个netcdf中

水池设置


面盆装置 输出单个netcdf文件,其中包含:

  • 面盆面罩
  • 流域DEM
  • 流域植被类型(来自陆地)
  • 流域植被高度(从陆地开始)
  • 盆地植被τ
  • 流域植被k

一般用法

要使用面盆设置,您只需要面盆边界的形状文件 以及包含形状文件范围的DEM。是的 要求形状文件为UTM。DEM的投影 转换为形状文件的形状。

要以最简单的形式使用面盆设置,只需提供一个shapefile和 DEM:

最容易使用

$  basin_setup -f rme_basin_outline.shp -dm ~/Downloads/ASTGTM2_N43W117/ASTGTM2_N43W117_dem.tif

自定义单元格大小要指定单元格大小,请使用cell size标志 如果未使用,则默认值为 50m:

$  basin_setup -f rme_basin_outline.shp -dm ~/Downloads/ASTGTM2_N43W117/ASTGTM2_N43W117_dem.tif --cell_size 10

切换阵列原点

有时图像会有正确的坐标和方向 但它的数组将有一个与预期不同的来源。这个罐头 在光栅图像和其他数据集之间交替时发生。为了 例如,使用上述命令将为 当使用类似ncview(以下 考虑输入的x和y数据)。但是如果你只是想 使用matplotlib中的imshow,您将发现的数据是颠倒的,因此 默认行为将翻转图像。这是因为 阵列原点。要不翻转,请使用翻转的--noflip标志 y轴数据和x轴结果图像上的图像 在ncview中正确定位 >

$  basin_setup -f rme_basin_outline.shp -dm ~/Downloads/ASTGTM2_N43W117/ASTGTM2_N43W117_dem.tif --noflip

设置点模型

可以创建我们小组认为的点模型。这个 这里的目标是创建在smrf/awsm中运行所需的所有文件 无需更改SMRF/AWSM代码即可测试建模系统 在某一点上。这意味着创建尽可能小的拓扑。在 这个箱子是3x3图像。netcdf指示图像不能为1像素。 下面是最简单的方法为Reynolds Mountain创建点模型 东部的雪枕地点。

最容易使用

$  basin_setup -p 519976,4768323 -dm ASTGTM2_N43W117_dem.tif --epsg 2153

注意:在改进此代码之前,用户必须提供epsg代码 从而得到投影信息。如果你不确定 您的epsg正在使用此链接查找它。 http://spatialreference.org/ref/epsg/

对于点模型,有时需要使用统一的值 对于变量。这是通过使用统一标志来完成的。

统一数据

$  basin_setup -p 519976,4768323 -dm ASTGTM2_N43W117_dem.tif --epsg 2153 --uniform

它只需选择中间的单元格并将其应用到所有地方。关于这个 dem也可以作为一个单独的值提供。所以用户可以 选择不同于图像所能提供的高程。例如

自定义DEM

$  basin_setup -p 519976,4768323 -dm 1000 --epsg 2153 --uniform

在Docker中使用

如果你不熟悉gdal,构建gdal有时会让你头疼。 正常的构建实践。如果你想用这个工具 提出问题,然后使用docker命令。但是请注意,文件 结构是Docker中表示的内容。所以你必须上山 本地目录到Docker目录幸运的是我们已经创建了一个数据 给你的文件夹。安装这些也可以确保文件 生成persist。

这些命令的用法相同,但是 额外的:

$ pip install -r requirements.txt
0

上面的命令是:

  • 将当前工作目录装入/data文件夹 Docker内部
  • 将当前工作目录装载到 /data/downloadsdocker中的文件夹
  • 运行面盆设置,定位负载指向码头侧。

描绘


描述脚本使用倾点和 数字高程模型该工具基于taudem

该脚本将使用阈值生成所有子捷联惯导的形状文件。 它还保存数据,以便能够更快地重新运行。

功能
  • 自动描绘。
  • 具有多个阈值的多次运行。
  • 重新运行功能以减少计算时间。
  • 输出流域和子流域的形状文件
  • 并行运行

一般用法
  • 倾点必须采用BNA格式。bna文件中点的名称 将用作输出文件的名称。
  • DEM必须是.tif
$ pip install -r requirements.txt
1

使用调试标志将在 在名为definition的文件夹中

获取s所需的文件

< H1> 历史

0.1.0(2017-12-05)

  • 项目开始!

0.2.0(2018-02-17)

  • 文档
  • 点模型设置
  • 单元大小错误修复1

0.3.0(2018-09-07)

  • 数组翻转选项
  • 改进的文档
  • python 3兼容性
  • 输出正在使用的唯一veg值
  • 码头文件!

0.4.0(2017-10-16)

  • 添加了投影信息
  • 项目Metdata和徽章

0.5.0(2018-11-14)

  • 修正了8和9
  • 更新要求
  • 添加了用于安装的生成文件
  • 描述脚本的原型!

0.6.0(2018-11-14)

  • 意外的轻微碰撞

0.7.0(2018-11-21)

  • 修正了用于描述的文件管理中的拼写错误
  • 详细描述形状文件输出,包括子ssin
  • 用于描绘的改进文档
  • 自动确定投影信息

0.8.0(2019-03-06)

  • 修复12、15、16、17、18
  • 划定
  • Docker Build的改进
  • streamflow所需文件的详细描述中扩展的输出
  • 提取功能并移动到SPATIALNC
  • <阿德>D GRM工具,用于将来自ASO的激光雷达航班聚合到NetCDF中

0.9.0(2019-07-18)

  • 修复27
  • 完成NAN作业
  • GRM的扩展重采样技术

0.10.0(2019-07-18)

  • 24的修复程序
  • 添加到ars streamflow建模的静态文件输出中
  • 文档改进

0.10.0(2019-08-09)

  • 修复31
  • pypi上的第一个版本
  • 已将basin_设置转换为python包而不是脚本集合
  • 植被参数要求更严格,需要CSV来指示解释
  • 更新的Docker

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

推荐PyPI第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值