我们之前提到,SWAT软件会自带土地利用的信息,我们下载的数据与SWAT中生成的数据库的数据不一样,也就是说我们的土地类型的相关数据在SWAT自带的数据库中检索不到,我们需要自己把这些属性信息添加进去才能使用。
首先我们研究一下SWAT中土壤属性表有哪些字段,打开SWAT中新建的工程文件夹,其中数据库SWAT2012则是在项目创建时自动建立的,打开土壤属性表usersoil,将属性表导出来,单独放在excel中,将之前根据图层筛选得到的土壤类型数据粘贴过来,构建新的属性表。
除已知数据后,对于没有太多作用的字段OBJECTID、MUID、SEQN、S5ID、CMPPT自己编写,习惯性将HWSD数据库中的MU_GLOBAL填在OBJECTID这一列,SEQ填在SEQN这一列。
其他字段设置情况:
SNAM可将HWSD中的SU_SYM90写入;
NLAYERS对应HWSD中的T_TEXTURE;
HYDGRP后续需要计算,先空着;
SOL_ZMX可参考REF_DEPTH,也可写默认值1000,注意SWAT中单位是mm,HWSD中是cm;
ANION_EXCL默认0.5;
SOL_CRK默认0.5;
TEXTURE后续需要计算得到,先空着。
注意:有的字段如果原来数据库中有值的话,可以按照HWSD中填写,如果没有就写默认值也行。
下面是土壤第一层的属性字段,字母后面都写有数字1,依次类推,若土壤有三层,则最后这些参数需要填到3。
字段设置情况:
SOL_Z1是表层到深层的深度,注意这里要看土壤分几层,一般如果前述SOL_ZMX是1000mm且土壤分为两层,那么第一层一般写300mm,第二层写700mm;
SOL_BD1可以采用HWSD中的T_REF_BULK_DENSITY字段,也可以采用后面计算的结果;
SOL_AWC1和SOL_K1需要计算,先空着;
SOL_CBN1采用T_OC的值;CLAY1采用T_CLAY的值;
SILT1采用T_SILT的值;
SAND1采用T_SAND的值;
ROCK1采用T_GRAVEL的值;
SOL_ALB1默认0.001;
USLE_K1需要计算获得,先空着;
SOL_EC1采用T_ECE的值。
注意:HWSD中字母开头为T表示第一层,开头为S表示第二层。
根据上述的规则,依次对照前面获取的HWSD的数据,填写SWAT表头的数据表,计算TEXTURE、SOL_BD(可选)、SOL_AWC、SOL_K。
SOL_BD可以用之前数据库中的值,也可以用这里计算的值。
这里要根据土壤层数分别计算,TEXTURE对应填写土壤质地,用英文首字母缩写表示,土壤层之间用-连接,以第一层的计算为例。
打开SPAW,点击options,选择Units下面的Metric和Volume。
将计算得到的数据填进excel即可,后面第二层计算方式相同,两层都计算完了就可以填写土层结构了。
水文分组HYDGRP的计算:
根据土壤平均粒径分层计算土壤下渗率,若最小下渗率出现在土层上层深度小于500mm时,则参考正常标准;若最小下渗率出现在土层上层深度500-1000mm时,则将土壤水文单元上调一类,即B调至A;若最小下渗率出现在土层上层深度1000mm之下,则基于1000mm之上的土壤下渗率来划分水文分组。
但一般简便来算,计算的都最小下渗率查阅表格选择分组即可。
根据Z,即砂土的值,土壤中含沙量(%)分别计算土壤各层的平均颗粒粒径Y,然后计算下渗率X,取其中最小的X作为最小下渗率,考虑两个公式:
Y=Z/100.03+0.02
X=(20Y)^1.8
当沙粒含量为0时,Y取0.01mm,当沙粒含量为100%时,Y取0.3mm,粘土含量为100%时,Y取0.002mm。
划分 | 水文组分类 | |||
标准 | A | B | C | D |
表层饱和导水率(mm/h) | >254.0 | 84.0~254.0 | 8.4~84.0 | <8.4 |
土壤最小下渗率 | 7.6~11.4 | 3.8~7.6 | 1.3~3.8 | 0~1.3 |
计算USLE_K1可蚀性因子:
土壤可蚀性因子计算按照下面几个公式即可。
KUELE=fcsand*fcl-si*forgc*fhisand
fcsand=0.2+0.3*exp[-0.0256*ms*1-msilt100]
fcl-si=(msiltmc+msilt)0.3
forgc=1-0.25*ρorgcρorgc+exp(3.72-2.95*ρorgc)
fhisand=1-0.7*(1-ms100)1-ms100+exp[-5.51+22.9*1-ms100]
其中KVELE为可蚀性因子,为当中USLE_K1的值,msilt则为粉土的值SAND1,mc则为黏土的值CLAY1,ρorgc为有机碳含量SOL_CBN1的值,ms为砂土的值SAND1。
最后分组完成之后将数据加入到SWAT2012中的usersoil中即可。