1、孟现勇 -如何使用世界土壤数据库 (HWSD)建立 SWAT 模型土壤数据库 中国水利水电科学研究院 1、简要介绍: SWAT 模型中土壤数据是主要的输入参数之一,土壤数据质量的好坏会对模型的模拟结果产生重要影响。用到的土壤数据主要包括土壤类型分布图、土壤类型索引表及土壤物理属性文件(即土壤数据库参数)。土壤的物理属性决定了土壤剖面中水和气的 运动情况,并且对HRU中的水循环起着重要的作用,是 SWAT 建模前期处理过程的关键数据。 土壤粒径分布是指土壤固相中不同粗细级别的土粒所占的比例,常用某一粒径及其对应的累积百分含量曲线来表示。土壤质地转换方法有多种,考虑到模型的通用性,参数形式的土壤粒
2、径分布模型更便于标准程序的编制以及不同来源粒径分析资料的对比和统一, SWAT模型采用的土壤粒径级配标准是 USDA 简化的美制标准(表 1)。目前世界土壤数据库( HWSD)由于采用了 USDA标准,因此可直接用于建立 SWAT模型数据库。(注明:国际制粒径分类需要采用双参 数修正的经验逻辑生长模型转化粒径) 表 1美国制 表 1国际制类 2、 HWSD数据库建立 SWAT数据库说明: ( 1)通过黑河数据中心下载该数据: http:/ ( 2)利用 Arcgis 打开 HWSD土壤数据库: 图 1 土壤数据库加载 (3) 打开土壤数据库图层属性表 ,发现该土壤数据库为 0.00833 度,
3、约为 0.92 公里(可看做一公里),数据格式为 GRID格式。投影为: GCS_WGS_1984. 图 2 土壤数据库属性 (4) 打开数据库属性表 ,VALUE覆盖范围为: 11000-1193(藏南和阿克塞钦 地区缺失),此部分 VALUE较为重要, COUNT为像元个数。 图 3 土壤数据库属性 ( 5)以祁连山黑河流域为例,利用研究区边界或 DEM,将研究区从 HWSD数据库裁剪(裁剪时需要保证 HWSD 数据库投影与研究区 DEM(或边界)投影一致) ,裁剪后的研究区土壤数据库图 4所示。此时, VALUE值为后面需要计算的各土壤类型唯一编号。 图 4 研究区 VALUE值获取 (
4、 6)打开 HWSD数据库元数据表 图 5 HWSD 元数据库位置 并将图(标红的)两个表导出为 EXCEL 图 6 导出表 最终导出以下两个表(图 7) 图 7 两个需要的表 D_SYMBOL90及 HWSD_DATA 然后将 HWSD_DATA打开 图 8 HWSD_DATA 表 ( 6)通过 HWSD_DATA 表查询 MU_GLOBAL 和 VALUE对应的行,并贴入新表。 图 9 查询 MU_GLOBAL 和 VALUE对应的行 将 MU_GLOBAL与 VALUE 对应的土壤数据参数全部找到,并复制到新表中。同时在 D_SYMBOL90表中找到土壤数据库的名字 ,并填入上表。 图
5、10 查找土壤名字 图 11 将土壤名称全称及其他参数添加至新表 最终得到土壤数据库在 SWAT模型中需要的参数值(以 HWSD数据库上层为例: HWSD 数据库有两层,上层 T表示,下次 S表示) 图 12 HWSD中需要用到的研究区土壤(两层)参数汇总 土壤参数计算需要注意一下重要步骤 1、需要把单位换为 Metric 图 13SPAW 单位选择 2、以上参数计算需要按照下图箭头进行 图 14 重要参数计算过程 将对应数据填入( Sand、 Clay、 Organic Matter),其中 Salinity 默认为 0.1, Compaction默认为 0.9后回车,如上图 * 按照自己的
6、命名格式建立一个新表,并将以下各列加入新表,用于计算土壤数据库参数 VALUE:图 9右; COUNT:不填; SNAME(土壤名称 ):在新建的 Book1.xls 中找到 SU_SYM90 列中 11103 对应的值 GRh,然后再打开 D_SYMBOL90.xlsx(参照文件 ),查找 GRh所代表的全称,即 Haplic Greyzems,填入表格 NLAYERS(土壤数据库的层数) :2层 ; HYDGRP(水文分组 ):根据饱和水利传导系数计算分为 A/B/C/D 选择上层和下层的饱和水利传导系数中较小的一个,由图判断属于哪个分组; SOL_ZMX(土壤剖面最大根系深度 ):对应
7、REF_DEPTH,为 100,上层 30,下层 70; ANION_EXCL(阴离子交换孔隙度 ):模型默认值为 0.5; CMPPCT(土壤最大可伸缩量 ):默认为 1; TEXTURE(土壤层结构 ):通过查询数据库或 SPAW 计算,下面详述; SOL_Z1(土壤第一层深度 ):默认为 30; SOL_BD1 、 SOL_AWC1 、 SOL_K1( 分 别 为 土 壤 湿 密 度 、 土 壤 层 有 效 持http:/ 水量、饱和水利传导系数 ):这三列需要用 SPAW计算,参考下页。 SOL_CBN1、 SAND1、 SILT1、 CLAY1(分别为 t_oc 上层土壤有机碳含量、
8、 T_SAND 上层土壤含沙量、 T_SILT上层壤土含量、 T_CLAY上层粘土含量 ):从 hwsd 中查找,即新建的 Book1.xls中查找; SOL_ALB1(地表反射率 ):在中国没有相关可借鉴的公式来计算,一般默认为 0,01;USLE_K1(ULSE方程中土壤侵蚀因子 ):用公式 KUSLE?fcsand?fcl?si?forgc?fhisand 计算; SOL_EC1(土壤电导力 ):默认为 0; OrganicMatter 上层有 机物 (土壤有机碳含量 ): T_OC/0.58; T_ECE上层盐度( salinity):默认为 0或对应 T_ECE 为 0.1; 下层计
9、算方法同上; * 最后将以上计算结果录入 SWAT土壤数据库。 在 Swat-ArcSWAT-Datebases-SWAT2009.mdb 目录中打开 usersoil,将做好的土壤数据库中的数据依次填到每一个的后面,结果 保存两位有效数字,无参数列一律填 0。 图 15 填充 0 土壤数据库索引表 solic.txt 的建立。土壤数据库通过土壤索引表来读取数据。在inputdata-soil-solic.txt,VALUE 与 code一定要对应 .索引表索引了栅格图, Arcgis 读取栅格图,就会读到 name,索引表就会读取到数据库,数据库就把所有参数带入模型进行运算(图)。 图 16
10、 建立索引表及 SWAT调用土壤数据库的内涵 *后记 * 图 17 土壤数据库中很多学生遇到的麻烦 备注:针对 HWSD数据库存在不同的 MU_GLOBAL 拥有相同的土壤名字,如何操作的问题说明。 1、如果土壤名一样,而土壤物理参数不同,需要对下面出现的土壤进行自定义(新类型的子土壤),本人推荐采用数字表示不同土壤,见图 17, Mollic Solonchaks1 为第一个土壤,Mollic Solonchaks2 为自行定义的土壤,两类土壤在研究区内分布情况和土壤物理参数均不同。 2、如果土壤名称相同, 同时土壤名称对应的各类土壤物理参数也相同,考虑用同一个土壤名称,对其他土壤层进行重分类 VALUE 值即可。即图 17 的 Mollic Solonchaks2 土壤。VALUE=11556和 11557 的土壤全部被重分类为 11556即可。 CMADS工作组 技术负责人:孟现勇 二一六年四月二十四日星期日