SWAT水文模型检验
- 方式1:参数带回至ArcSWAT
- 方式1.1:文件替换
- 方式1.2:手动修改
- 方式1.3:
- 方式2:于SWAT CUP中确定检验期结果
- 方式2.1:率定期径流数据验证
- 方式2.2:率定期+检验期径流数据验证
- 总结
- 参考
- MATLAB工具包
方式1:参数带回至ArcSWAT
方式1.1:文件替换
将率定完的文件夹(名称为XXX.Sufi2.Swatcup)中所有文件(除文件夹外),复制到ArcSWAT的工作空间下的Scenario下的Default下的TxtInOut,替换掉里面的文件。
注意事项:mdb数据库行数
方式1.2:手动修改
【Manual Calibration】
参数修改完毕后,重新运行SWAT并进行模拟。
方式1.3:
在SWAT CUP中得到率定后参数(Bestsim),需将其带回到SWAT中修改参数并进行模拟。
具体步骤如下:
-
在SWAT CUP中定义好需要传递给SWAT的参数,如农业管理措施、土地利用类型等。
-
打开SWAT运行文件夹,并修改其中的control文件。在控制文件中找到包含SWAT CUP参数的行,将其修改为类似于以下格式的代码:
$Parameter General Common SWATCUP -
在修改后的control文件中,找到包含SWAT CUP的命令行,将其修改为以下格式:
swatcup.exe -i mymodel.in -o mymodel.out -p myparam.prm -s -l
其中,mymodel.in是SWAT的模型文件名,mymodel.out是输出文件名,myparam.prm是包含SWAT CUP参数的参数文件名。 -
运行SWAT CUP,按照提示依次输入参数文件名,输出文件名以及SWAT运行文件夹的路径等。
-
SWAT CUP会自动将参数文件中的参数值写入到SWAT的模型文件中,然后启动SWAT运行。
通过这样的流程,就可以将SWAT CUP参数成功地带回到SWAT中,实现对模型的修改和调整。
方式2:于SWAT CUP中确定检验期结果
方式2.1:率定期径流数据验证
验证时,将率定好后的参数保持不变,改变模拟开始年份,将率定期观测数据替换为验证期观测数据后再次运行率定程序即可。
固定参数值如下:
v__CN2.mgt________1-7,9 60.990002
v__CN2.mgt________8 50.250000
v__CN2.mgt________10-13,22 63.910000
v__CN2.mgt________16-18,20,25-26,28,31-32 57.150002
v__CN2.mgt________14-15,29-30,33 71.510002
v__CN2.mgt________19,21,23-24,27,24,35 51.825001
v__SURLAG.bsn 8.461500
v__OV_N.hru________1-7,9 0.472550
v__OV_N.hru________8 0.243350
v__OV_N.hru________10-13,22 0.276950
v__OV_N.hru________16-18,20,25-26,28,31-32 0.031605
v__OV_N.hru________14-15,29-30,33 0.200450
v__OV_N.hru________19,21,23-24,27,24,35 0.018845
v__ESCO.hru 0.777350
v__GW_REVAP.gw________1-7,9 0.072475
v__GW_REVAP.gw________8 0.096475
v__GW_REVAP.gw________10-13,22 0.058125
v__GW_REVAP.gw________16-18,20,25-26,28,31-32 0.092875
v__GW_REVAP.gw________14-15,29-30,33 0.076375
v__GW_REVAP.gw________19,21,23-24,27,24,35 0.090625
v__ALPHA_BF.gw________1-7,9 0.358500
v__ALPHA_BF.gw________8 0.441900
v__ALPHA_BF.gw________10-13,22 0.428500
v__ALPHA_BF.gw________16-18,20,25-26,28,31-32 0.441700
v__ALPHA_BF.gw________14-15,29-30,33 0.451700
v__ALPHA_BF.gw________19,21,23-24,27,24,35 0.427500
v__GW_DELAY.gw________1-7,9 144.375000
v__GW_DELAY.gw________8 129.675003
v__GW_DELAY.gw________10-13,22 114.824997
v__GW_DELAY.gw________16-18,20,25-26,28,31-32 124.625000
v__GW_DELAY.gw________14-15,29-30,33 197.690002
v__GW_DELAY.gw________19,21,23-24,27,24,35 159.889999
v__CH_N2.rte________1-7,9 0.019085
v__CH_N2.rte________8 0.115265
v__CH_N2.rte________10-13,22 0.161255
v__CH_N2.rte________16-18,20,25-26,28,31-32 0.063815
v__CH_N2.rte________14-15,29-30,33 0.161465
v__CH_N2.rte________19,21,23-24,27,24,35 0.079775
v__CH_K2.rte 252.100006
v__ALPHA_BNK.rte 0.473150
v__SOL_K().sol 8.325000
v__SOL_AWC().sol 0.700250
v__SOL_BD().sol 1.637750
v__GWQMN.gw________1-7,9 661.299988
v__GWQMN.gw________8 621.700012
v__GWQMN.gw________10-13,22 686.299988
v__GWQMN.gw________16-18,20,25-26,28,31-32 658.700012
v__GWQMN.gw________14-15,29-30,33 665.500000
v__GWQMN.gw________19,21,23-24,27,24,35 650.299988
方式2.2:率定期+检验期径流数据验证
所有参数设置与上相同,但检验时期为【率定期+检验期】(径流输入数据为整个时期)。
可以看到,参数模拟效果并不好,与率定期结果并不相同:
总结
参考
MATLAB工具包
目的: 在利用CUP对SWAT参数率定之后,如何将满意的参数返回SWAT,以便用于气候变化对径流响应等方面的研究
程序解释:
- reddeer_addwetland_original 放置原始的SWAT模型
- reddeer_addwetland_running放置返回的SWAT模型
- Parameter.xlsx存放CUP校正好的参数
- 打开mainReturn.m,运行即可