SWAT 调参方法思路整理【1】
本文并不注重于探讨SUFI-2,GLUE等调参方法,旨在找到一种新的调参方法。
本文预计使用3-5篇文档来说明。
摘要
鸡蛋是重要的蛋白质来源,《中国居民膳食指南(2016)》 中推荐成年人蛋类摄入量为每天40-50g。鸡蛋的食用方法有很多,如水煮 ,炒,煎等方法,其中水煮蛋由于方法最简单,不需要额外调料即可,因此该方法广受适用。水煮蛋中蛋壳的处理直接关系到食用口感,进而影响食用体验。如何处理蛋皮是当前的热门研究方向。以往手剥鸡蛋的方法暴露出了个别护皮鸡蛋无法顺利剥取的不足,同时也存在潜在的不卫生问题。在本篇文章中,通过提出一种刀削鸡蛋皮的方式来改善不足。具体思路为:用刀制造出刀刃足以嵌入其中的裂缝,后使用刀刃剥开蛋皮,直至蛋皮完全剥落。经数十个不同样本验证,该方法相对于传统手剥鸡蛋,处理护皮鸡蛋时间缩短30%-40%,一般鸡蛋相对增加10%,具有明显的优越性。该方法也对剥鸭蛋皮,鹅蛋皮等其它卵具有一定的指导作用。
必要的讨论
分布式水文模型
什么是分布式水文模型(Distributed Hydrological Model)?它与集总式水文模型(Lumped Hydrological Model),半分布式水文模型(Semi-distributed Hydrological Model)有什么区别?
个人理解来说,分布式水文模型考虑了流域内的空间分布异性,即不同地区内,部分输入或全部输入均不同。这些输入包括:气象要素输入(气温,降水和蒸散发等),下垫面要素(土壤和土地利用等),以及其他可能输入(人类活动污染等)。集总式水文模型则不考虑这种空间分布的差异,将其视为均质。而半分布式水文模型则在某些过程中考虑了空间分布异性,而在其他的过程未予考虑。分布式水文模型将各个子单元输出进行叠加,获得最终结果。同时,分布式水文模型也可以化为集总式(整个区域参数一致即可)。
从上述出发点考虑,如果研究区域较广,区域内地形变化起伏大,土地利用结构复杂,气象要素分布不均匀或其他特征,则应考虑使用半分布式或分布式水文模型以刻画空间内水文特性的差异。相反,如果差异不大,流域较小,集总式水文模型则足以达到目标模拟精度,且模拟速度快,过程简单。
SWAT
诸事不决,用SWAT。看起来理所应当,但是我们要明确,什么是SWAT模型?它与SWAT+又有何不同?ArcSWAT,QSWAT,SWAT-CUP又在整个建模中起到了什么作用?很多教程,本质上是告诉你在什么时候点击什么,而不解释为什么这么做。这种教程的不足在于,由于每个人的系统环境和项目文件不同,程序可能无法运行(明显错误),或在不同流域使用相同建模方法导致模型结果不够准确的问题(潜在问题)。
SWAT本身是一个模型,其读取file.cio
进行文件确定,通过调用多个流域层级文件(HRU,子流域,全局),气象文件以及其他必要文件完成模型输入,并进行结果输出。其本质上仅仅为一个运算程序,与ArcSWAT无关。
SWAT+为SWAT的重写版本,官方文档宣称重写以便于扩展(所以为啥不开发个C++版本,Fortran的运行真的是一言难尽),更新较为迅速,需要查看changelog以跟踪最新更新内容。目前辅助GIS界面只有QSWAT+一种。
ArcSWAT和QSWAT均是为了方便建立SWAT所需输入文件的GIS扩展。其中ArcSWAT为ArcGIS扩展,截至目前其已停止支持(最新版本为ArcGIS 10.7)。根据师门反馈,除了普遍使用的ArcGIS 10.2(不完美学习版),其余版本无法运行,而此版本虽可勉强运行,但运行时仍遇到较多bug,因此十分不推荐使用此工具箱进行处理。QSWAT为QGIS扩展,目前依旧持续更新,综合其跨平台性,推荐考虑将ArcSWAT项目迁移至QSWAT。如果不使用扩展,依旧可以进行手动建立可运行的SWAT模型。
SWAT-CUP/SWATPlus-CUP是第三方软件,其用来评估模型模拟能力,使用常用方法进行敏感性分析和调参等步骤,它也支持并行处理。该软件为商业软件,目前市面上仅有一版可以进行免费调参,其余均需购买授权。
思路
首先,需要评定模型模拟能力,也即,SWAT模型是否可以模拟该地区径流过程。其次,使用敏感性分析选出最优参数。这两步我并不负责,因此不在此过多赘述。在获得参数后,进行接下来的讨论。
一、 考虑流域分布式特征
SWAT是分布式模型,因此我们需要考虑分布式特性。以往的案例中,绝大多数敏感性参数在流域尺度上被选为一致值,失去了分布式特性。其结果也必然不会可靠,因此,应尽可能保留高灵敏度参数的分布式特性。
二、合并子流域和HRU
由于一个流域的HRU普遍较多,该方法由于采用抽样方法,因此模拟需要较多样本,需要对相似HRU进行合并,视为集总式水文模型进行参数调优。将HRU级别参数提升至子流域甚至是流域级别,将子流域参数提升至流域级别可以降低模型样本量。但选择何种参数,则应按照实际情况和计算要求考虑,每个研究区的方案不同。
调整HRU大小来限制HRU参数数量也是一种办法,但也应进行相应模拟评估,讨论HRU大小对模拟精度的影响。在不影响流域模拟精度的前提下这种操作在减少参数的同时也有效提高计算速度。
三、参数随机抽样
采用拉丁超立方抽样法,从模拟参数范围内进行采样。拉丁超立方采样的介绍在此,还有这个。可见其显著优势在于每个区间段均可取到相应样本,覆盖度较好。
四、模拟精度评价
通常评价模拟精度主要有平均相对误差MSE,均方根误差RMSE,均方误差MSE,可决系数$R^2$和纳什效率系数NSE。
作为水文模型,NSE为评价模拟精度的重要因素。可决系数为回归平方和与总平方和的比值,反映了自变量对因变量的可解释比例。采用这两个系数作为评价标准以评估模型模拟精度。
总结
- 介绍了分布式水文模型,SWAT和模拟参数和大体思路;
- Read The Friendly Manual;
- 对于新上手的模型,需要进行一定必要了解;
- CSDN可以救急,但不能包干,至于毫无营养的教程,不如不看;
- 预告:SWAT输入输出文件浅析,软件模拟程序架构。