天天看點

【PEST++】01 參數優化與靈敏度分析PEST++系列文章一、PEST++簡介二、參數優化參考文獻

目錄

  • 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++簡介

PEST(Parameter Estimation)自動率定程式是由John Doherty 博士于1994年基于GML算法開發的獨立于模型參數估計和不确定性分析的綜合軟體,其具有逆海森方法和最速下降法的優點,可以通過較少的模型運作次數,得到最優的參數結果[2]。2009年,Welter等人在美國地質調查局的資助下基于原有的PEST參數自動率定程式開發PEST++非嵌入式參數率定程式[3]。PEST++可以進行高度參數化的反演以及使用差分疊代的全局優化,在需要的時候會自動進行奇異值分解輔助反演,易用性更強[4]。

本文采用單目标進行參數優化,以節制閘前模拟水位與實測水位內插補點的平方和最小為優化目标[5],目标函數公式為:

m i n f = ∑ i = 1 n ( Z   ( m o d , i )   − Z   ( o b s , i )   ) 2 minf= \sum\limits_{i=1}^n(Z~(mod,i)~-Z~(obs,i)~)^2 minf=i=1∑n​(Z (mod,i) −Z (obs,i) )2

式中: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.

繼續閱讀