1021380135 火炎焱燚
Swatcup 简单使用说明(以 SUFI 方法为例)
1. 数据准备:已经进行过至少一次模拟的 swat 输出文件,一般放于 simxx 目录下(xx 是数
字)swatcup 需要的是其中的 txtinout 文件夹。
2. Swatcup 运行流程:
选择 new 建立工程
1021380135 火炎焱燚
选择 txtinout 文件夹
只有选择正确才能使用
选择校准时的模拟方法,具体见
SWATCUP 说明书
1021380135 火炎焱燚
命名以及选择输出文件夹,这里就
随便了
Finish 之后工程就开始自动建立,工程建立完成后是一个“模子”,具体的东西还要我们自
己来修改。
参数个数以及模拟次数,参数
个数要和下面的实际个数一样
这里是设置校准参数的
地方,我们需要做的是更
改参数并为每个参数设
定取值范围,需要注意的
是,参数的修改方法有
v__, a__, r__三种,分别是
赋值,加值,乘以某值(百
分比浮动)。具体可见说
明书。每个参数后面的两
个数字别是在下一次模
拟中该参数取值的下界
和上界,可以根据需要随
便赋值,前提是不能超过
理论上的最大范围
1021380135 火炎焱燚
开 始 模 拟 数 及 模 拟 次 数 , 注 意 和
par_inf 对应
File.cio 是一些 swatcup 运行的基础参数,非专业人士请勿乱动哈(反正我是不会)。我们需
要更改的有 NBYR,IYR,IDAL(年中的天数,有时会出问题,在 365 和 366 之间改改试试)以
及 NYSKIP(缓冲年)
1021380135 火炎焱燚
这里是 swatcup 接受修改的参数的上下界,参考用,一般禁止修改。在 par_inf 中的参数的
范围需要注意不要越界。
本图中,1 是指变量个数,如
果要同时校准多个出口,这里
可以更改数字,但此处写几下
面就要写几组观测数据,格式
一样。Flow_out_29 是命名用
的 , 29 是 模 拟 的 出 口 所 在
subbasin。84 是观测值个数,
需要和你的模拟年对应好,一
年 12 个月哦,365 或 366 天,
一定要算准,不然出错。
观测数据的使用,这里仅说一下 rch 的(其他的没用过)。
1021380135 火炎焱燚
格式是:序号(空格)FLOW_OUT_月(日)_年(空格)观测值。建议在 excel 中做,很方
便可以使用 CONCATENATE 函数。注意这里的月(日)是指这一年的第几个月(日)。如果不
模拟 sub 以及 hru 的话,observation 大类下的其他两个小类就不用管了,里面写什么也无所谓。
后面会说为什么。
此处就是输出的命名,注意和 oberved_rch 中一样就行了。同样注意,多个出口要写多个名
字
1021380135 火炎焱燚
此处每一行都有详细注释,因此很清晰,图中的 32 指的是模型中划分的 subbasin 的数量。
需要注意的是如果是多出口校准,需要更改红框部分,1 修改为出口个数,同时将 29 修改
为出口 subbasins 的序号,例如,3 出口可以写成:27 28 29。另外注意模拟年份要对应,
beginning 年是初始年减去缓冲年之后的年份。下面的步长和你的模拟对应好就行了。关于
下面那堆绿字,是为了校准不同目标的人们服务的,我们校准径流,所以是 output.rch 文件
中的第 7 列,如果校准泥沙呢?那就是 sed_out,在第 11 列。对应更改的就是 variable
column number(s) in the swat output file。
Swatcup 允许同时进行多目标校准,如果我同时想要校准 flow_out 和 sed_out,那就如下
图
接下来,见下页:
1021380135 火炎焱燚
这里是将观测数据再输入一遍,另外就是改些参数(一般我是默认的)第二行的 Objective
function type, 1=mult,2=sum,3=r2,4=chi2,5=NS,6=br2,7=ssqr 根据个人需求
更改。具体方法含义见说明书。
这里之前写过类此的,同 var_file_rch