目录

  • PEST++系列文章
  • 一、PEST++简介
  • 二、参数优化
  • 2.1 准备文件
  • 2.1.1 实测值文件
  • 2.1.2 参数及参数组文件
  • 2.1.3 模板文件
  • 2.1.4 命令行文件
  • 2.2 编写时间序列控制文件[7]
  • 2.2.1 设置关键词和日期格式
  • 2.2.2 读取模拟值及实测值
  • 2.2.3 内插模拟值
  • 2.2.4 写入输出文件
  • 2.2.5 写入PEST++控制文件和模型指令文件
  • 2.3 自动率定
  • 参考文献


PEST++系列文章

【PEST++】01 参数优化与灵敏度分析【PEST++】02 新安江模型参数自动率定【PEST++】03 水文模型不确定性和灵敏度分析【PEST++】04 用户手册笔记【PEST++】05 Q&A常见问题释疑

一、PEST++简介

PEST(Parameter Estimation)自动率定程序是由John Doherty 博士于1994年基于GML算法开发的独立于模型参数估计和不确定性分析的综合软件,其具有逆海森方法和最速下降法的优点,可以通过较少的模型运行次数,得到最优的参数结果[2]。2009年,Welter等人在美国地质调查局的资助下基于原有的PEST参数自动率定程序开发PEST++非嵌入式参数率定程序[3]。PEST++可以进行高度参数化的反演以及使用差分迭代的全局优化,在需要的时候会自动进行奇异值分解辅助反演,易用性更强[4]。
本文采用单目标进行参数优化,以节制闸前模拟水位与实测水位差值的平方和最小为优化目标[5],目标函数公式为:
python灵敏度分析v 灵敏度分析与参数规划_PEST

式中:f为目标函数;i为时段序号;n为总时段数;Z(mod,i)表示第i时段的闸前水位模拟值;Z(obs,i)表示第i时段的闸前水位实测值。

二、参数优化

2.1 准备文件

2.1.1 实测值文件

将各节制闸实测闸前水位和过闸流量处理成站点样本文件(SSF)格式,即站点标识符、时间、观测值的形式,得到各节制闸的observedstage.ssf和observeddischarge.ssf文件。

2.1.2 参数及参数组文件

将需要率定的参数名、初始值、上下限、所属参数组列于文件param.txt中。将各参数所属的各组以及步长列于group.txt中。

2.1.3 模板文件

每一个含有待率定参数的模型输入文件都需要对应的模板文件,以方便PEST++自动率定程序构建模型输入文件。将模型输入文件中待率定参数值的位置替换为参数名,并使用标识符括起来,即为模板文件。

2.1.4 命令行文件

命令行文件通常是批处理脚本,由模型应用程序和时间序列处理程序及控制文件组成。

2.2 编写时间序列控制文件[7]

2.2.1 设置关键词和日期格式

时间序列控制文件由多个数据块组成,其中SETTINGS数据块必须位于文件的开头,用来设置全局的关键词,其余数据块的关键词与之相同或为all,则将被执行,否则将不执行。日期格式可以设置为dd/mm/yyyy或mm/dd/yyyy。

2.2.2 读取模拟值及实测值

模拟值和实测值都以站点样本文件(SSF)格式分别存储在stage.ssf和observedstage.ssf文件中。通过GET_MUL_SERIES_SSF数据块读取,并分别存储在stage_mod和stage_obs系列中。

2.2.3 内插模拟值

由于实测值是一系列不规则的时间序列值,因此需要将固定时间步长的模拟值内插成与实测值时间相对应的序列。这一步使用NEW_TIME_BASE数据块,生成的新模拟值序列为i_stage_mod。

2.2.4 写入输出文件

使用LIST_OUTPUT数据块,将生成的i_stage_mod序列写入model.out输出文件中。

2.2.5 写入PEST++控制文件和模型指令文件

使用时间序列处理程序tsproc.exe不仅可以处理模型输出的模拟值序列,还可以自动生成运行PEST++所必需的PEST++控制文件model.pst和模型指令文件model.ins。使用WRITE_PEST_FILES数据块,首先将含有待率定参数的模型输入文件与模板文件对应起来,然后指定各观测值所占权重,最后给出参数文件、参数组文件及命令行文件名。运行时间序列控制文件,即可生成控制文件和指令文件。

2.3 自动率定

通过控制台,应用pestpp.exe运行model.pst控制文件,对陶岔渠首节制闸至东赵河倒虹吸出口节制闸河段的六个节制闸分别率定参数,得到优化结果。

参考文献

[1]张丽红. HSPF模型径流参数优化及不确定性研究[D].浙江大学,2016.
[2]杨博,陈莹,陈兴伟,刘梅冰,高路.基于PEST的HSPF模型径流模拟优化[J].中国水土保持科学,2018,16(02):9-16.
[3] Doherty, J., White, J. and Welter, D., 2018c PEST and PEST++: An Overview. Watermark Numerical Computing, Brisbane, Australia.
[4] White, J.T., Welter, D.E. and Doherty, J., 2018. Manual for Version 4 of PEST++. Published by CAELUM.
[5]Jeremy T. White,Michael N. Fienen,Paul M. Barlow,Dave E. Welter. A tool for efficient, model-independent management optimization under uncertainty[J]. Environmental Modelling and Software,2018,100.
[6]高伟,周丰,董延军,郭怀成,彭俊台,徐鹏,赵磊.基于PEST的HSPF水文模型多目标自动校准研究[J].自然资源学报,2014,29(05):855-867.
[7] Westenbroek, S.M., Doherty, J., Walker, J.F., Kelson, V.A., Hunt, R.J., and Cera, T.B., 2012, Approaches in highly parameterized inversion: TSPROC, a general time-series processor to assist in model calibration and result summari-zation: U.S. Geological Survey Techniques and Methods, book 7, chap. C7, 79 p., 3 apps.
[8]胡丹,伍靖伟,黄介生.基于PEST的MODFLOW-HYDRUS耦合模型参数优化[J].中国农村水利水电,2017(07):38-44.