【SWAT水文模型】SWAT-CUP参数率定过程问题总结

SWAT-CUP如果有参数设置有误,运行应该就会卡顿。个人亲身感受。

Q1 SWAT-CUP中calibrate按钮一直是灰色无法点击?

1.1 问题描述

软件是从2W2E上下载的SWAT-CUP2019,新建的文件利用的是运行成功的SWAT的Tstinout文件,版本是2012版64bit。

问题是从新建项目到修改完所有参数保存后calibrate按钮一直是灰色无法点击。
在这里插入图片描述

1.2 解决办法

网上有说是因为“新版本的SWAT CUP 需要购买,可下载公开的旧版本”。
在这里插入图片描述
那就安装旧版本试试!
安装旧版本之后,可以打开之前用2019版本建立的文件诶,且calibrate按钮是绿色的!!!
在这里插入图片描述

Q2 “SWAT”不是内部命令

2.1 问题描述

运行时提示“SWAT”不是内部命令,如下图:

问题分析:该问题为CUP工程路径下缺少swat.exe的程序

2.2 解决办法

将SWAT安装目录下的swat2012.exe文件复制到当前SWATCUP所在的工程路径下,并重命名为“swat.exe”。为避免运行中出现此问题,可以在每次建立SWATCUP工程后,在运行前完成此工作。
在这里插入图片描述

Q3 未将对象引用设置到对象的实例

3.1 问题描述

在这里插入图片描述

3.2 解决办法

原因是删了保存的iteration ,但该iteration的结果文件没关闭。
解决方法是点上方的close all。
在这里插入图片描述

扫描二维码关注公众号,回复: 16250576 查看本文章

Q4 模拟效果太差啦!!!

此处NS值为负,说明模拟结果与实测结果偏差较大,可能为实测径流数据输入有误(如把月总流量当作月平均流量、实测数据单位不一致等),可通过修正输入的实测数据解决。
在这里插入图片描述

Q5 找不到 SUFI2.OUTbeh_*文件

5.1 问题描述

率定过程出现以下错误:
在这里插入图片描述

5.2 问题解决

原因分析与解决办法:

  • 首先可能与swat.exe损坏有关,可按照上述步骤替换swat.exe文件。(替换后仍然可以报错,并非此原因)
  • 其次,此处NS值为负,说明模拟结果与实测结果偏差较大,可能为实测径流数据输入有误(如把月总流量当作月平均流量、实测数据单位不一致等),可通过修正输入的实测数据解决。
  • 此外,还可能是模拟率定时段设置不合理;或率定参数设置有误。
    如我最初模拟的截止日期设置为2013/12/31,后改为2014/01/01(cup中File.Cio的Ending julian day of simulation由365改为1,SUFT2_ extract rch. def中end year of simulation仍为2013而非2014),虽然实际的预热期、率定期并未改变,但问题由此得到了解决。
    beginning year of simulation not including the warm up period应为去除预热期后的起始年。

Q6 Cannot open input file /SUFI2.OUT/no_beh_sims.txt

6.1 问题描述

其次,此处NS值为负,说明模拟结果与实测结果偏差较大,可能为实测径流数据输入有误(如把月总流量当作月平均流量、实测数据单位不一致等),可通过修正输入的实测数据解决。
在这里插入图片描述

6.2 问题解决

Q7 error72:floating overflow

7.1 问题描述

率定选取参数的范围设置不合理,如部分参数的取值可能为负值,但设置的参数下界为0。

7.2 问题解决

预热/率定/检验期说明

整个时段分为以下三个时期:

  • 预热期(Warmup)
  • 率定期(calibration)
  • 检验期(validation)

一般而言,率定期大于检验期,比例在3:1~2:1之间。
SWAT-CUP率定时,模拟年数应该包括预热期。
观测数据不需要输入预热期数据,观测数据序号从1开始,即率定或验证开始时间。
验证时,将率定好后的参数保持不变,改变模拟开始年份,将率定期观测数据替换为验证期观测数据后再次运行率定程序即可。

参考

1、SWAT-CUP参数率定过程问题总结

猜你喜欢

转载自blog.csdn.net/qq_44246618/article/details/131449402