什么是Rosetta以及HYDRUS-1D怎么使用Rosetta
用户在使用HYDRUS-1D建立土壤一维预测模型时,总是使用Rosetta来估算参数,本文介绍什么是 Rosetta,以及 HYDRUS-1D 里如何调用它。
Rosetta 是什么?
Rosetta 是由 **Marcel G. Schaap(USDA-ARS 美国盐度实验室)**主导开发的土壤 Pedo-transfer Functions(PTFs) 程序/库:把“易测”的土壤属性(质地百分比、容重、个别保水点等)转换为 van Genuchten–Mualem 水力学参数(θr、θs、α、n、Ks),并提供层级化(H1–H5)的输入方案。经典文献见 Journal of Hydrology, 2001;后续有 Rosetta3 的加权再标定与改进版本。科学直通车rosetta: a computer program for estimating soil hydraulic parameters with hierarchical pedotransfer functions
层级化输入(越往下信息越多,预测越稳健):
- H1:USDA 质地类别(如 Sandy loam)
- H2:Sand/Silt/Clay 百分比
- H3:H2 + Bulk Density(容重)
- H4:H3 + 一个保水点 θ(ψ),常用 −33 kPa(田间持水量)
- H5:H3 + 两个保水点 θ(−33 kPa)、θ(−1500 kPa)(萎蔫点) Rosetta 内部用神经网络/PTF 估计 θr、θs、α、n(及 Ks),供数值模型直接使用。
为什么发展Rosetta
目前已经发展出大量在野外或实验室测定土壤水力学性质的方法(参见 Klute, 1986;Leij and van Genuchten, 1999)。虽然实测能最准确地获取土壤水力学性质,但往往需要投入大量的时间与经费。此外,许多包气带研究关注的土地尺度很大,土壤水力学性质在空间上可能具有显著变异。在 此情形下几乎不可能做足够多的测量以获得有意义的结果,这就表明需要低成本且快速的途径来确定土壤水力学性质。
过去已提出了许多用于间接确定土壤水力学性质的方法(参见 Rawls 等, 1991;van Genuchten 和 Leij, 1992;Leij 和 van Genuchten, 1999)。其中大多数可归类为土壤参数转移函数(PTFs,Bouma 和 van Lanen, 1987 之后的称谓),因为它们将现有的替代数据(如粒度分布**、**容重与有机质含量)“翻译”为土壤水力学数据。所有 PTF 均具有很强的经验性:它们包含在既有土壤水力学数据库上标定得到的模型参数。PTF 可以像查找表那样简单(按质地类别给出水力参数,例如 Carsel and Parrish, 1988;Wösten 等, 1995),也可以采用线性或非线性回归方程(如 Rawls and Brakensiek, 1985;Minasny 等, 1999)。也存在物理基础更强的 PTF,例如 Burdine (1953) 与 Mualem (1976) 的孔径分布模型,它们提供了由持水曲线数据计算非饱和导水率的方法。Haverkamp 和 Parlange (1986) 以及 Arya 和 Paris (1981) 的模型利用了颗粒级配与孔径分布形状相似性来估计持水性;Tyler 和 Wheatcraft (1989) 将 Arya 模型与分形数学结合,而 Arya 等(1999a,b) 近期将该相似性方法扩展用于同时估计持水性与非饱和导水率。
多数 PTF 的实际应用常受其特定数据需求所制约。一些作者为了在其数据集上获得最佳结果而建立了相应的 PTF,这有时会产生需要大量输入变量(参见 Rawls 等, 1991)或需要详细粒度分布(Arya 和 Paris, 1981;Haverkamp 和 Parlange, 1986)的模型。然而,PTF 的使用者经常面临这样一种情况:一个或多个所需输入变量并不可得。另一问题是 PTF 的估计精度一般。因此,如果 PTF 能够接受不同详尽程度的输入数据,并且其预测能够包含可靠性度量,将更为有用。
近来,神经网络分析被 用于建立经验型 PTF(Pachepsky 等, 1996;Schaap 和 Bouten, 1996;Minasny 等, 1999;Pachepsky 等, 1999)。与传统 PTF 相比,神经网络的优势在于不需要预设先验的模型形式。通过迭代校准过程,可以获得并实现把输入数据(粒度数据、容重等)与输出数据(水力学参数)联系起来的最优、可能是非线性的关系。其结果是,神经网络模型通常能最大化挖掘数据中的信息。Schaap 等(1998)使用神经网络来估计 van Genuchten (1980)的持水曲线参数以及饱和导水率。为便于实际应用,他们设计了一个层级结构,以允许输入从有限到更为完整的不同预测因子组合。并与自助法(bootstrap;Efron 和 Tibshirani, 1993)结合,为 PTF 的估计提供可靠性评估(Schaap 和 Leij, 1998)。
然而,尽管基于神经网络的 PTF 可能提供相对较准确的估计,它们往往包含大量难以解释的系数,因而不便于以显式形式解读或发表。为便于应用这些 PTF,我们开发了计算机程序 rosetta,实现了 Schaap 等(1998)、Schaap 和 Leij(1998, 2000)发表的一些模型。本文的目标是:(i) 在水力参数、标定数据集、预测因子选择与模型性能表征层面介绍 rosetta 程序;以及 (ii) 讨论随吸力与质地而变的水力参数估计不确定性。
什么是保水点
Rosetta v1.0
usgs网站保留有1.0版本ROSETTA 型号 : USDA ARS
Rosetta v1.2
下载
在网站保存有Rosetta v1.2的程序和说明文档。
Rosettav1.2 使用
随着对地下介质中流动与运移过程的研究与管理需求不断增长,数学模型愈发受到重视。数值模拟包气带(vadose zone)过程时,非饱和水力学函数是关键输入数据。这些函数既可通过直接测量获得,也可借助准经验模型,由更易获取的数据间接预测得到。Rosetta V1.2 是一个 Windows 95/98/XP 程序,用于根据替代性土壤数据(如质地百分比与容重)估计非饱和水力学性质。此类模型称为土壤参数转移函数(PTFs),因为它们把基础土壤数据“翻译”为水力学性质。Rosetta 可估计以下属性:
- 按 van Genuchten (1980) 给出的土壤持水曲线参数
- 饱和导水率
- 按 van Genuchten (1980) 与 Mualem (1976) 给出的非饱和导水率参数
水力学函数的详细说明 Rosetta 提供五种 PTF,可在输入信息有限或较为完备的情况下预测水力学性质。该层级化方法在实践中非常有价值,因为它允许对可用输入数据进行最优利用。各模型采用如下层级输入序列:
- 土壤质地类别(USDA 文类)
- 砂、粉、黏百分比
- 砂、粉、黏百分比 + 容重
- 砂、粉、黏百分比 + 容重 + 330 cm(33 kPa)处的持水点
- 砂、粉、黏百分比 + 容重 + 330 与 15000 cm(33 与 1500 kPa)处的持水点
第 1 个模型基于查找表,为每个 USDA 质地类别提供类别平均的水力参数。其余 4 个模型基于神经网络分析,随着输入变量的增加可给出更准确的预测。除层级法外,我们还提供一个模型,可由拟合得到的 van Genuchten (1980) 持水参数预测非饱和导水率参数(Schaap and Leij, 1999;Schaap et al., 2001)。在层级化流程中,该模型也被使用,使其自动以预测的(而非实测拟合的)持水参数作为输入。
所有估计的水力参数均配有不确定性评估,以便判断 Rosetta 预测的可靠性。上述不确定性通过将神经网络与自助法(bootstrap)相结合而获得(更多信息见 Schaap and Leij, 1998;Schaap et al., 1999;Schaap et al., 2001)。
水力参数
下表给出了 七个水力参数的类平均值 12 个美国农业部土壤类别。实际上,此表表示 分层序列的第一个模型。对于θr,θ s,α,n 和Ks参数,这些值已经通过计算生成 每个土壤类别的平均值。对于 Ko 和 L, 通过插入θr、θs、α 的 类平均值生成值。 n 添加到 Model C2 中(参见 Rosetta 的帮助文件)。这意味着 Ko 和 L 基于预测参数,可能不太可靠。 括号中的值给出一个标准差 类平均值的不确定性。
| exture Class | N | -- θr -- | -- θs -- | -- log(α) -- log10(1/cm) | -- log(n) -- log10 | -- Ks -- log(cm/day) | -- Ko -- log(cm/day) | **-- L -- ** | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Clay | 84 | 0.098 | (0.107) | 0.459 | (0.079) | -1.825 | (0.68) | 0.098 | (0.07) | 1.169 | (0.92) | 0.472 | (0.26) | -1.561 | (1.39) |
| C loam | 140 | 0.079 | (0.076) | 0.442 | (0.079) | -1.801 | (0.69) | 0.151 | (0.12) | 0.913 | (1.09) | 0.699 | (0.23) | -0.763 | (0.90) |
| Loam | 242 | 0.061 | (0.073) | 0.399 | (0.098) | -1.954 | (0.73) | 0.168 | (0.13) | 1.081 | (0.92) | 0.568 | (0.21) | -0.371 | (0.84) |
| L Sand | 201 | 0.049 | (0.042) | 0.390 | (0.070) | -1.459 | (0.47) | 0.242 | (0.16) | 2.022 | (0.64) | 1.386 | (0.24) | -0.874 | (0.59) |
| Sand | 308 | 0.053 | (0.029) | 0.375 | (0.055) | -1.453 | (0.25) | 0.502 | (0.18) | 2.808 | (0.59) | 1.389 | (0.24) | -0.930 | (0.49) |
| S Clay | 11 | 0.117 | (0.114) | 0.385 | (0.046) | -1.476 | (0.57) | 0.082 | (0.06) | 1.055 | (0.89) | 0.637 | (0.34) | -3.665 | (1.80) |
| S C L | 87 | 0.063 | (0.078) | 0.384 | (0.061) | -1.676 | (0.71) | 0.124 | (0.12) | 1.120 | (0.85) | 0.841 | (0.24) | -1.280 | (0.99) |
| S loam | 476 | 0.039 | (0.054) | 0.387 | (0.085) | -1.574 | (0.56) | 0.161 | (0.11) | 1.583 | (0.66) | 1.190 | (0.21) | -0.861 | (0.73) |
| Silt | 6 | 0.050 | (0.041) | 0.489 | (0.078) | -2.182 | (0.30) | 0.225 | (0.13) | 1.641 | (0.27) | 0.524 | (0.32) | 0.624 | (1.57) |
| Si Clay | 28 | 0.111 | (0.119) | 0.481 | (0.080) | -1.790 | (0.64) | 0.121 | (0.10) | 0.983 | (0.57) | 0.501 | (0.27) | -1.287 | (1.23) |
| Si C L | 172 | 0.090 | (0.082) | 0.482 | (0.086) | -2.076 | (0.59) | 0.182 | (0.13) | 1.046 | (0.76) | 0.349 | (0.26) | -0.156 | (1.23) |
| Si Loam | 330 | 0.065 | (0.073) | 0.439 | (0.093) | -2.296 | (0.57) | 0.221 | (0.14) | 1.261 | (0.74) | 0.243 | (0.26) | 0.365 | (1.42) |
Rosetta 3
土壤参数转移函数(PTFs) 被广泛用于预测土壤水力学参数,以替代昂贵的实验室或野外测量。Rosetta(Schaap 等,2001,记作 Rosetta1)是众多 PTF 之一,基于人工神经网络(ANN)分析,并结合自助法(bootstrap)重抽样,可用于估计 van Genuchten(VG)持水曲线参数(van Genuchten,1980)、饱和导水率(Ks)及其不确定性。本文提出了一套改进的层级式 PTF(Rosetta3),将持水与 Ks 的子模型统一为一个模型。在新的 ANN 标定过程中,利用 VG 曲线对原始持水数据拟合所得的参数不确定性作为权重,以减少新 PTF 对参数预测的偏差。与 Rosetta1 使用 60 或 100 次 bootstrap 相比,我们采用 1000 次 bootstrap 来标定新模型,从而能更细致地量化所预测参数的单变量与双变量概率分布。我们确定了 VG 参数与 Ks 的最优权重、ANN 的最优隐含节点数,以及获得统计上稳定估计所需的bootstrap 次数。结果表明:随基质势变化的偏差显著降低,而含水量的均方根误差(RMSE)有适度下降;相比 Rosetta1,新的模型在 Ks 的对数尺度上 RMSE 略有上升(H3w 增加 0.9%,H5w 增加 3.3%)。我们发现,参数的估计分布轻度偏离高斯,而用重尾的 α-stable 分布能较好描述。另一方面,与 α-stable 分布中类均值的“位移(shift)”参数相比,算术平均在多数质地条件下仅表现出很小的估计偏差。因此,算术均值及(协)方差仍然推荐作为估计分布的汇总统计量。但若在包气带流动与运移的随机分析中使用新的估计结果,可能需要采用不同的分布参数化方式。Rosetta1 与 Rosetta3 以 Python 实现,源代码与附加文档见:http://www.cals.arizona.edu/research/rosettav3.html。
参考文献:对 Rosetta pedotransfer 模型进行加权重新校准,改进了对水力参数分布的估计和汇总统计 (Rosetta3)
Rosetta(特别是改进版 Rosetta3)土壤“经验转移函数”(PTFs)这份文档:用易测的土壤信息(如质地、体积密度、少量持水点)来预测 van Genuchten 水分保持曲线参数(θr、θs、α、n)以及饱和导水率 Ks,以替代昂贵的室内/野外实测。核心思想是用人工神经网络 + 自助法(bootstrap)训练层次化的PTFs,并输出参数及其不确定性,从而在不同数据可得性场景下都能给出尽量稳健的水文参数估计。
主要要点
- 统一建模:Rosetta3 将“持水曲线”和“Ks”从过去的分离子模型,整合为一个联合模型来同时标定与预测,降低偏差。Rosetta
- 不确定性建模:在ANN训练中显式利用对原始持水数据拟合的参数不确定度,并采用大量bootstrap复样来给出参数的概率分布(不仅是点估计)。
- 层次化输入:根据手头信息多少提供多级PTF:从仅有质地类别/砂-粉-粘百分比、到加入体积密度、再到加入一个或多个持水点,信息越多预测越准。
- 效果与用途:在基准数据集上较早期版本(如 Rosetta1)系统提升精度并减小偏差;面向大尺度水文—陆面模型、灌溉与渗流模拟、以及实验设计中的参数先验/敏感性分析等场景。
一句话总结:Rosetta3 提供了一套可在不同资料完整度下使用的ANN-PTF工具 ,能联合预测VG参数与Ks,并附带不确定性刻画,较旧版在准确性与稳健性上都有改进
下载
https://github.com/usda-ars-ussl/rosetta-soil
有点python的开发经验看其说明就可以很简单的开始使用,在此不在赘述。
在线使用
如果懒得下载可以使用在线工具ROSETTA3 Tool,直接在浏览器打开就可以使用。
必需输入前三个参数值,也就是砂粉黏粒的百分比就可以计算,后三个的可选参数输入的越多,计算出来的参数理论上就会越接近土壤的真实值。
