基于计算机的模拟模型在水文学和环境科学中得到广泛应用(Beven, 2012; Clark et al., 2015)。与实地或实验室实验相比,它们在表示复杂的流域系统和支持工程决策方面具有显著优势(Wu et al., 2022b)。更重要的是,它们使研究人员能够系统地探索在现实中难以或无法复现的水文过程和管理方案(Wang et al., 2016; Clark et al., 2017)。过去几十年中,计算机科学、遥感和监测技术的进步进一步推动了这些模型的发展,提高了它们进行更准确和全面流域模拟的能力(McDonnell et al., 2007; Kumar, 2011; Fatichi et al., 2016)。
在现有的水文模型中,土壤与水资源评估工具(SWAT)已成为全球应用最广泛的模型之一(Arnold et al., 1998; Tan et al., 2020)。SWAT是一个分布式模型,能够整合多种数据源(如气象观测、土地利用和土壤信息),并模拟多尺度过程之间的相互作用(Jeffrey G. Arnold et al., 2012)。SWAT还得到了强大的社区支持,包括数据准备、建模技术和后处理方面(Gassman et al., 2007; Douglas-Mankin et al., 2010)。例如,ArcSWAT(Winchell et al., 2013)和QSWAT(Dile et al., 2016)提供了用户友好的GIS界面,简化了SWAT项目的构建。大量研究也证明了其在流量预测(Wagena et al., 2020; Asadi et al., 2025)、溶质传输分析(Han et al., 2024)和最佳管理实践(BMP)评估(Li et al., 2019; Long et al., 2025)方面的有效性。然而,SWAT的有效使用仍面临一些挑战。
SWAT建模不可避免地需要不确定性分析和校准(Beven and Freer, 2001)。不确定性分析有助于了解模型的稳健性和预测的可靠性(Ajami et al., 2007),而适当的校准对于确保模拟的可靠性至关重要(Duan et al., 1992)。在水资源管理中,SWAT模型也越来越与优化算法结合使用,以支持决策制定。然而,参数的高维性、水文过程的非线性和输入数据的不确定性使这些任务变得复杂。因此,研究人员经常需要多次进行方法测试,以建立可靠的工作流程(Cecconello et al., 2025)。因此,迫切需要一个提供自动化、可扩展工作流程框架的平台,并支持所需方法的“即插即用”选择。
SWAT应用的计算负担不容忽视(Lin and Zhang, 2021)。不确定性分析和校准通常需要数千次模型运行,而优化算法会进一步加重这一负担。为了解决这个问题,已经提出了几种策略。例如,Yalew等人(2013)开发了一种工具,将SWAT模型拆分为子模型并行执行,然后合并输出;而Zhang等人(2017)提出了名为SWATGP的网格化SWAT并行化方法,以加速水文响应单元(HRU)级别的网格建模。另外,一些研究使用替代模型用更高效的统计或机器学习模型来近似SWAT输出,从而实现快速评估(Razavi et al., 2012)。例如,Wang等人(2014)和Gong等人(2016)分别将高斯过程(GP)模型纳入SCE-UA和NSGA-II的评估过程中,并取得了满意的结果。尽管替代方法效率较高,但它们通常需要额外的训练工作,并且与基于过程的模拟相比可能会引入近似误差。相比之下,高性能计算(HPC)和并行化技术的最新发展为加速SWAT模拟提供了新的机会,这些方法似乎更具通用性和可扩展性(Zhang et al., 2013)。在软件层面,Ki等人(2015)使用OpenMP并行化重新编译了SWAT源代码。许多研究还提出了基于并行或云的模拟框架,将大量SWAT运行分布在多个处理器或集群上(Zhang et al., 2016; Ma et al., 2022; Lin et al., 2024)。然而,尽管这些技术在技术上已经成熟,但仍然分散,很少形成一个统一的、面向最终用户的平台。
除了计算挑战之外,高效地与SWAT项目交互和管理也非常困难(Gassman et al., 2007)。具体来说,一个SWAT项目涉及数千个参数文件(如*.gw、*.sol、*.hru、*.mgt),这些文件分布在HRU和子流域中,使得参数识别和修改非常繁琐。同样,SWAT输出存储在多个结果文件中,按流域段、子流域或HRU组织,每个文件包含各种变量的时间序列数据(如日、月、年数据)。这种分散性增加了数据提取、分析和后处理的复杂性。因此,需要一个用户友好的平台来简化文件系统的管理。理想情况下,所有参数都可以在不同模式下进行修改,包括全局模式或特定子流域、土地利用、土壤或坡度模式。为了有效的水资源管理,用户还能够根据SWAT输出灵活定义自己的目标函数。
近年来,开发了多种工具来支持SWAT生态系统。SWAT-CUP(Abbaspour, 2015)和SWAT+ Toolbox(Bieger et al., 2017)是最常用的工具,特别是在模型校准和不确定性评估方面。然而,这两种工具都是闭源的,依赖于Windows系统,难以用新方法扩展,并且不支持用户定义的目标函数。相比之下,开源替代品如R-SWAT(Nguyen et al., 2022)、pySWATPlus(Saló et al., 2025)和SWATrunR(Schuerz et al., 2022)在方法集成和文件级交互方面提供了更大的灵活性。然而,这些工作流程通常需要与异构的第三方库结合使用,以实现核心算法任务,导致生态系统碎片化,需要大量的集成工作。在最佳管理实践(BMP)优化等工程应用中,这种限制尤为明显,因为这些应用需要灵活的参数管理和对复杂多目标权衡的系统性探索。因此,SWAT社区迫切需要一个集成平台,将不确定性分析、校准和决策导向的优化结合起来。
在这种情况下,本研究提出了SWAT-UQ,这是一个全面、高性能且用户友好的平台,专为SWAT建模和决策导向的优化设计。主要贡献如下:首先,SWAT-UQ将UQPyL作为其核心算法库。UQPyL是由作者开发的一个开源Python包,为多种方法(如采样、不确定性分析和优化)提供一致的接口。这种统一的设计使得算法组合更加灵活,并提高了长期的可维护性。其次,SWAT-UQ为决策导向的应用提供了灵活的问题表述机制,通过UQPyL实现多目标BMP优化。第三,为了减轻大规模模拟的计算负担,我们开发了一个基于队列的分布式计算框架,通过任务队列动态调度作业(如参数注入、模型执行和输出解析)。最后,为了满足不同用户的需求,该平台提供了两个版本:SWAT-UQ-DEV和SWAT-UQ-GUI。DEV版本发布在PyPI上,允许高级用户构建可定制的、可复现的工作流程。同时,GUI版本为非专家用户提供了直观的界面,降低了使用门槛。两个案例研究(包括在冯树坝盆地的模型校准和淮河流域的最佳管理实践多目标优化)展示了该平台增强的框架灵活性、计算效率和用户体验。