SWAT-CUP模型校准与验证
2019-07-11 10:29阅读:
SWAT-CUP模型校准与验证
这段时间利用SWAT模拟径流,利用SWAT-CUP进行校准与验证,将SWAT-CUP使用过程中的注意事项记录下来,希望可以帮助到新手,同时也可作为自己的笔记。在此,先给出SWAT-CUP的运行过程图(图片来源于SWAT-CUP运行手册),并做简单说明,以便理解。如图所示,SWAT-CUP根据我们给定的参数范围(par_inf.txt)执行拉丁超立方采样(蒙特卡洛算法),生成par_val.txt,存储参数采样结果,并结合backup,SUFI2_swEdit.def,执行SWAT_Edit.exe,目的是编辑SWAT输入数据,然后根据参数调整SWAT输入文件,执行SWAT模拟过程,导出结果,与实测值进行对比,计算目标函数,判定模拟结果是否满足需求,若满足,停止,若不满足,导入新参数,继续执行此过程,通常执行4-6次迭代。
与其说SWAT-CUP是一个软件,不如说它是一个连接程序,它将GLUE,ParaSol,SUFI2和MCMC等优化程序与SWAT连接起来,代替使用者进行SWAT模型的敏感性和不确定性分析,进行模型校准与验证。在SWAT-CUP中,最常用的的方法为SUFI2方法,此方法考虑了所有不确定性的来源(输入、参数等),不确定性的程度利用P-factor(95%置信区间包含实测
值比例)和R-factor(95%不确定性区间平均宽度)来衡量,径流模拟时,P-factor越接近1,R-factor越接近0,证明模拟效果越好。在实际使用时,P-factor越大时会导致R-factor越大,因此必须寻求二者之间的平衡,通常认为P-factor>0.7,R-factor<1.5即满足要求,但此范围并不是规定,应该视具体情况而定。得到合适的P-factor和R-factor后,通过监测数据和最终“最佳”模拟值之间的R2和Ens进一步量化拟合优度。
应注意,我们不是寻求“最佳模拟”,因为在这样的一个随机过程中,我们得到的是一个参数范围。
关于具体的安装过程,在此文中不再赘述,可参见SWAT-CUP英文手册。只是强调一个容易忽略的问题:使用时,在建立了SWAT-CUP工程文件后,记得将SWAT模型的swat2012
(扩展名为.exe的可执行文件)拷贝到工程文件*.Sufi2.SwatCup文件下,并改名为swat(扩展名.exe)。
在输入编辑时,注意File.cio文件中,模型的起始年包括预热部分,总年数也包括预热部分。IDAL为最后一年的天数,如果是闰年就填写366,平年填写365。但是在Observation部分,输入的径流数据是不包括预热部分的。
一次迭代结束之后,查看模拟效果是否满足需要,如果不满足,可以点击import new
parameter,将SWAT-CUP建议的新参数范围导入,注意导入后查看参数范围是否超过物理范围,并做手动调整。然后点击restore
files from
backup,将原始SWAT模拟数据导入,并继续做迭代。
SWAT-CUP
SUFI2没有激活验证选项,需要进行验证时,仍然使用clibaration
进行,将校准后的参数范围原封不动的输入到par_inf.txt中,修改observed.txt,SUFI2_extract_rch.def,file.cio文件,是这些文件中的数据为验证时期数据,然后执行一次迭代,模拟次数与校准时的模拟次数保持一致,最后查看验证结果。