QGIS运行swat—modeflow

   纯小白第一次接触该水文模型,就单纯记录一下swat-modelfow的学习过程,基于QGIS的实际操作过程。

   首先说一下前期的一些配置

   QGIS:3.28.2这不是一个最新的版本,但这个版本是可以运行swat-modeflow插件的,我试过最新的版本,插件版本为2.7.2连工程文件都无法创建成功,个人猜测是插件的版本有点老了,和QGIS平台的链接有点问题。

  再说一下使用的数据

这个数据就是官网给出的案例数据,可以很容易通过下载QSWATMODEFLOW的git-hub的里面找到。

--------------------------------------------------step1pre-procession------------------------------------------------------------------

   创建工程,这个插件如果没有显示的话可以在插件选项里找到,然后打勾即可,当然你需要先安装了他,只要运行插件,就能创建他的工程

--------------------------------------------------------- step2----------------------------------------------------------------

按照提示,你需要导入textinout,这是swat模型生成的,对于SWATMODEFLOW来说的话必须有以上四个文件,也就是必须先存在swat模型的运行结果,我们可以从案例数据中的models和shapefiles文件夹中找到他们。

之后便是modflow模块,swatmodeflow插件为我们提供了一个制作单层的modeflow的途径,根据你的需求和实际情况再下面三个选项中做出选择就好了。

我本科是地下水的,但也不会用modelflow,只是有一点点粗略的印象,那么我们这边就尝试创建一个好了

创建文件,这个就不说了,然后是DEM数据,你可以在shapfile文件夹的SWAT_shps文件夹中找到他们,这里我们直接用子流域的便捷,下面格网的数量,范围就仁者见仁智者见智了,最后便是创建好这个格网。

modeflow是基于格网的,可以看到他将原有的hru变成了整体后再分割。

我们可以根据之前的river文件创建这边modflow中的river,我个人认为这个选择要因情况而定,当然地表和地下径流在大流域中是很有基本都是重合的。

含水层的一些参数设置,需要你具有一定的地下水学科方面的功底,这里我先默认好了,创建完成后在选择导入这个文件夹就行了

swat-modeflow河道文件的建立,其实我们在建立modelfow时候已经存在了一个swat-modeflow的文件,就是那个river_grid,所以我们不需要再执行那个identify river cell 。

因为没有modeflow的河道文件,这边就选择仅根据SWAT的好了,最后将它overwrite。

还有这三个功能,第一个是modelflow的观测点位,也就是观测井,如果你有数据可以加入,下一个DHRU,就是指离散的HRU,水文响应单元原本是根据坡度、土壤使用类型、土壤来划分的单元来划分类别的,显然这是不规则的,而modelflow则是按照格网来划分的,这显然是比较规则的,因此就需要将不规则的HRU再离散变成为DHRU,而上述的选项则是用来规定这个DHRU的最小的大小,如果你想使用全部的斑块的话就不用管了,再接下来的RT3D的话,貌似是和氮磷交互有关的,这里先别管它。

这些都做完后我们选择下面的check modflow,之后你的文件夹中就会出现一个这个mfn文件,到这一步就差不多了,再选择start linking process,这个过程耗时较长,耐心等一下吧,之后会提示你创建链接文件,如果遇到python报,可能的原因是插件和这个QGIS的版本的链接问题,按照我的经验来说,多试几次,一般都能通,没办法,QGIS到底是个开源的东西,要包容他的问题。

----------------------------------------------------step3 simultation------------------------------------------------------

这里就不多介绍了,基本都能看得懂,值得注意的是,这个groundwater delays指的是地下水的一个推迟效果,相对于地表水来说的话,地下水是会有一个滞后的效益,他的反应不会那么的及时。最后就是模拟,运行,大概的运行界面如下图。

---------------------------------------------------step4 hydroogy--------------------------------------------------------

这个例子里面提供了观测数据可以拿来用一下

把这个观测数据重命名成这个,如果失败了可以试一下.obd.csv,估计是因版本不同而情况不同,之后把这个加入到你swat-model的文件夹中就能读取了

这里提供了一个2.7.0手册中的一个建议,可以看情况试一下

这是读取成功的界面

这是最后的一个可视化的结果,因为数据给出的是93年到05年的,模拟的是80年到10的好像,反正就是他肯定是对不上的,重新跑又要弄前面的,知道怎么做就好了。

--------------------------------------------------------finally----------------------------------------------------------------

大概就是这样,我也是第一次搞这个,主要是之前没找到什么好的资料,顺便给自己记录一下这个过程,如有错误还希望大家讨论

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值