PEST中两种参数化方法:zonal和pilot points

在GMS反向模型中,有两种参数化方法,zonal和pilot points,下面分别介绍这两种方法。

一、zonal

  • 1)定义参数区
    对模型中的每一个参数多边形(如渗透系数K和补给量)赋一个主值(key value),这个主值应该具有唯一性,一般赋负值效果较好。
    注意:在采用zonal方法参数化时,被估算的参数区的数量应该小于观测点的数量
  • 2)设置参数数据
    (1)勾选Parameter Estimation,开启参数估计选项:MODFLOW——Global Options——Run options——Parameter Estimation
    (2)设置初始水头
    初始水头最好选用前一次正向模拟结果产生的水头,这样可以保证PEST在计算时更快收敛。如果初始水头与PEST计算过程中的结果相差很大,可能会导致计算失败。
    取消勾选Turn off Starting heads equal grid top elevations——Starting Heads——3
    D Dataset—Grid ——Head
    (3)编辑参数数据
    MODFLOW| Parameters ——Initialize from Model,设置初始值、最小值和最大值,注意,初始值的设定很重要,初始值与最终参数值越接近,反向模型越容易收敛
    (4)设置最大迭代次数
    MODFLOW|PCG—Pre.Conj._Gradient Solver ——Maximum number of outer iterations,Number of inner iterations
  • 3)加载最优参数数据
    PEST模型运行结束后,通过最优参数模拟计算的结果会自动导入到GMS中,但是最优参数值需要通过以下方法加载进来取代初始值。
    MODFLOW| Parameters ——Import Optimal Values——选择*.par文件
  • 4)查看参数敏感度
    PEST会将每次迭代参数估计的敏感度信息保存到SEN文件中,通过Plot Wizard,选择Parameter Sensitivities可以图形可视化各参数的敏感度。

二、pilot points

1、正则化方法

pilot points通过正则化方法实现参数化。通过正则化方法,可以实现估算的参数个数远大于观测点数目,因此,可以定义复杂的参数分布,产生极小的剩余误差。pilot point的正则化方法是PEST中非常有效的方法。
正则化方法有两种:

  • Preferred homogeneous regularization
    先验信息方程被写进PEST控制文件中,将pilot points互相联系起来,这些方程指示PEST,在缺少PEST目标函数的强影响下,彼此距离很近的pilot points应该具有相同的值。
  • Preferred value regularization
    先验信息方程被写进PEST控制文件中,将pilot points与它们的初始值联系在一起。这些方程指示PEST,在缺少PEST目标函数的强影响下,pilot points应该与它们的初始值相同。

2、参数化基本步骤

pilot points进行参数化方法通常需要以下步骤:

  • 1)创建pilot points
    通过GMS中的2D scatter point进行创建,而2D scatter point可以通过2D grid、2D mesh、TIN、map data转换而来。
    如果需要在pilot points中添加固定数值,则可以手动创建scatter point,然后选中这些点,右键properties,勾选Fixed Pilot Point一列,那么这些散点所在的单元格最终的参数数值是固定的。
  • 2)编辑参数
    MODFLOW| Parameters —— Value一栏选择——点击按钮打开2D Interpolation Options对话框——选择散点数据集和插值方法
  • 3)限制参数估算运行迭代次数
    MODFLOW| Parameter Estimation —— Max number of iterations(NOPTMAX)
    其中,Prior information power factor数值默认为1,减小这个数值会增加同质性的约束(赋一个较高的权重给先验信息方程),增加这个数值会减小同质性的约束(赋一个较低的权重给先验信息方程)
  • 4)运行MODFLOW
  • 5)查看最优的参数
    MODFLOW| Parameters —— Import Optimal Values——选择*.par文件

3、一个模型中使用多个pilot points

  • 比如对渗透系数进行分区后,每个分区赋一个主值(一般为负数)。2D Scatter Data创建不同的多个散点集,通过MODFLOW| Parameters —— Value一栏选择——点击按钮打开2D Interpolation Options对话框——每一个分区选择不同的散点数据集
  • 如果需要对同一个散点集,赋不同的初值,可以激活2D Scatter Data下散点集,Edit|Data Calculator ——Expression 赋初值,Result为新散点集名称——Done

你可能感兴趣的:(PEST中两种参数化方法:zonal和pilot points)