【WRFDA教程第十期】混合数据同化(Hybrid Data Assimilation)

发布于:2025-07-05 ⋅ 阅读:(16) ⋅ 点赞:(0)

本博客结合- WRFDA(Weather Research and Forecasting Data Assimilation)教程 详细介绍混合数据同化(Hybrid Data Assimilation)。

一、混合数据同化(Hybrid Data Assimilation)

背景

在传统的 WRFDA 3DVAR/4DVAR 中,背景误差协方差(Background Error Covariance)是 静态的(static),即不随天气场变化。

混合方法的不同点

混合方法结合了:

  • 静态误差协方差(Static B matrix)
  • 从集合预报中估计的流依赖误差协方差(Ensemble-based B matrix)

这使得背景误差可以随天气流场变化而变化,是所谓的 flow-dependent,从而提高了分析精度。

混合模式所用的可执行文件

在 WRFDA/var/build 目录下包含以下 4 个关键程序:

程序名 功能说明
gen_be_ensmean.exe 计算集合均值和方差
gen_be_ep2.exe 生成集合扰动(perturbations)
gen_be_vertloc.exe 垂直方向的局地化处理
da_wrfvar.exe 主同化程序,运行 hybrid 模式

对比总结表如下:

对比项 3DVAR/4DVAR 3DEnVar/4DEnVar
背景误差 静态 静态 + 动态(集合)
是否需要集合
是否需要 WRFPLUS 是(4DVAR) 否(4DEnVar)
优势 简单、经典 精度高、适应天气流场变化

二、3DEnVar 模式下混合同化的执行步骤

第1步:设置工作目录

setenv WORK_DIR your_hybrid_path
setenv DAT_DIR your_data_path
cd $WORK_DIR

第2步:计算集合均值

a) 链接集合成员文件(10个集合预报)

ln -sf $DAT_DIR/Hybrid/fc/2015102612/wrfout_d01_2015-10-27_12:00:00.e* .

b) 准备模板文件

cp wrfout_d01_2015-10-27_12:00:00.e001 wrfout_d01_2015-10-27_12:00:00.mean
cp wrfout_d01_2015-10-27_12:00:00.e001 wrfout_d01_2015-10-27_12:00:00.vari

c) 设置 gen_be_ensmean_nl.nl 文件

&gen_be_ensmean_nl
directory = '.'
filename = 'wrfout_d01_2015-10-27_12:00:00'
num_members = 10
nv = 7
cv = 'U', 'V', 'W', 'PH', 'T', 'MU', 'QVAPOR'
/

d) 运行计算程序

ln -sf $WRFDA_DIR/var/build/gen_be_ensmean.exe .
./gen_be_ensmean.exe

输出文件:

  • *.mean:集合均值
  • *.vari:集合方差

第3步:生成集合扰动(perturbations)

a) 创建工作子目录

mkdir -p ./ep
cd ./ep

b) 执行扰动生成程序(参数依次为日期、成员数、路径、文件名前缀)

ln -sf $WRFDA_DIR/var/build/gen_be_ep2.exe .
./gen_be_ep2.exe 2015102712 10 . ../wrfout_d01_2015-10-27_12:00:00

输出文件包括扰动文件和中间文件(tmp.e* 可删除)


第4步:生成垂直局地化输入文件

cd $WORK_DIR
ln -sf $WRFDA_DIR/var/build/gen_be_vertloc.exe .
./gen_be_vertloc.exe 42

生成的文件是 be.vertloc.dat


第5步:运行 WRFDA 混合同化

a) 准备输入文件(软链接)

ln -fs ./wrfout_d01_2015-10-27_12:00:00.mean ./fg
ln -fs $WRFDA_DIR/run/LANDUSE.TBL .
ln -fs $DAT_DIR/Hybrid/ob/2015102712/ob.ascii ./ob.ascii
ln -fs $DAT_DIR/Hybrid/be/be.dat ./be.dat
ln -sf $WRFDA_DIR/var/build/da_wrfvar.exe .
cp $DAT_DIR/Hybrid/namelist.input .

b) 编辑 namelist.input 文件

关键设置如下:

&wrfvar7
je_factor = 2.0
/

&wrfvar16
ensdim_alpha = 10
alphacv_method = 2
alpha_corr_type = 3
alpha_corr_scale = 500.0
alpha_std_dev = 1.000
alpha_vertloc_opt = 2
ep_format = 1
/
  • ensdim_alpha:集合维数
  • alpha_corr_scale:水平局地化尺度(单位 km)

c) 执行主程序

./da_wrfvar.exe >& wrfda.log

输出结果与 3DVAR 类似。

三、4DEnVar 模式混合同化的执行步骤

特点

  • 不需要 WRFPLUS(切线/伴随模型)
  • 类似于 FGAT(First Guess at Appropriate Time)
  • 需要多个时间的集合均值和扰动(每个时间窗都要)
  • 同样运行 gen_be_ensmean.exe, gen_be_ep2.exe, gen_be_vertloc.exe

激活方式
在 namelist.input 文件中添加:

&wrfvar16
use_4denvar = .true.
/

示例

  • 集合初始化时间:2005071512
  • 有效时间:2005071521 到 2005071603
  • 分析时间:2005071600

和 3DEnVar 类似,只是需要更多时间点的集合均值和扰动数据,计算量更大。

四、Dual-resolution Hybrid(双分辨率混合同化)

什么是 Dual-resolution Hybrid?

在 混合同化(Hybrid DA) 中,我们通常需要:

  • 高分辨率背景场(用于最终分析)
  • 集合扰动(用于估计流依赖误差)

Dual-resolution Hybrid 允许:

  • 在 高分辨率分析域(如 15km)上执行同化;
  • 使用从 低分辨率集合(如 45km)中提取的扰动来估计背景误差协方差。

这种方式可以 降低集合计算成本,同时保留高分辨率分析的优势。

🧠 背后原理

  • 高分辨率背景提供更精准的局地天气细节;
  • 低分辨率集合提供大尺度、流依赖的背景误差估计;
  • 通过插值与映射关系,将低分辨率扰动影响传递到高分辨率分析中。

准备工作

需要两个 WRF 域(domain):

  • Domain 1:低分辨率集合域
    集合扰动文件必须来自 Domain 1
  • Domain 2:高分辨率分析域
    分析运行将在 Domain 2 上进行

namelist.input 配置方法

1. &domains 设置

重点要求:

  • max_dom = 2:两个域
  • 低分辨率设置必须写在每列的第一项!
  • parent_id 和 parent_grid_ratio 要正确设置嵌套关系

示例:

&domains
 time_step            = 90,
 max_dom              = 2,

 s_we                 =   1,   1,
 e_we                 = 222, 184,

 s_sn                 =   1,   1,
 e_sn                 = 128, 196,

 s_vert               =   1,   1,
 e_vert               =  45,  45,

 dx                   = 45000, 15000,
 dy                   = 45000, 15000,

 grid_id              = 1,  2,
 parent_id            = 0,  1,
 i_parent_start       = 0, 89,
 j_parent_start       = 0, 22,
 parent_grid_ratio    = 1,  3,
/

2. &wrfvar16 设置

增加以下关键参数:

&wrfvar16
hybrid_dual_res = .true.   ! 激活双分辨率混合同化
ensdim_alpha    = 10       ! 使用的集合成员数(必须 > 0 才启用混合)
/

3. 其他要求
在工作目录中,准备一个名为 fg_ens 的文件:

ln -sf your_low_res_domain/wrfinput_d01 ./fg_ens

这个文件不用于分析计算,只是用于读取低分辨率集合域的网格映射信息。

五、Hybrid namelist options(混合模式相关 namelist 设置)

在 WRFDA(Weather Research and Forecasting Data Assimilation) 系统中,&wrfvar7 和 &wrfvar16 是 namelist.input 文件中用于混合同化(Hybrid DA) 和 变分同化(3DVAR/4DVAR) 的两个重要参数组。

&wrfvar7:混合协方差权重设置(Hybrid Covariance Weighting)

功能概述
&wrfvar7 主要用于控制静态背景误差协方差(B_static) 和 集合扰动误差协方差(B_ens) 之间的混合比例。

以下为与混合同化密切相关的 namelist 参数说明:

参数名 类型 默认值 说明
je_factor 实数 1.0 集合协方差权重因子,控制 B_ens 与 B_static 的混合比例。推荐值为 2.0(即 50:50 权重)
jb_factor 实数 自动计算 静态协方差权重因子,由程序根据 je_factor 自动计算:
jb_factor = je_factor / (je_factor - 1)(如 je=2.0,则 jb=2.0)

混合协方差公式:
B_{\text{hybrid}} = \left(1 - \frac{1}{\text{je_factor}} \right) B_{\text{static}} + \frac{1}{\text{je_factor}} B_{\text{ens}}

例如:

  • je_factor = 2.0 → 50% B_static + 50% B_ens
  • je_factor = 3.0 → 66.7% B_static + 33.3% B_ens

&wrfvar16:混合模式控制与高级功能设置

功能概述
&wrfvar16 控制与 Hybrid DA、Dual-resolution Hybrid、4DEnVar、扰动读取格式 等相关的高级设置,是配置 Hybrid 系统的核心部分。

常用参数说明如下:

参数名 类型 默认值 说明
ensdim_alpha 整数 0 启用 hybrid 模式的开关,>0 则启用混合同化,值为集合成员数
use_4denvar 逻辑 .false. 启用 4DEnVar 模式
hybrid_dual_res 逻辑 .false. 启用双分辨率混合同化(Dual-resolution Hybrid)
ep_para_read 整数 0 扰动文件读取方式:
0=串行,1=并行
rden_bin 整数 1 并行读取的 bin 数,越小越快但占内存多;越大越慢但节省内存
alphacv_method 整数 2 协方差空间类型:
2=模型变量空间(推荐)
1=控制变量空间
alpha_corr_type 整数 3 协方差函数类型:
1=指数型,2=SOAR,3=高斯(推荐)
alpha_corr_scale 实数 200.0 协方差的水平局地化半径(单位:km)
alpha_std_dev 实数 1.0 alpha 的标准差(调节扰动强度)
alpha_vertloc_opt 整数 2 垂直局地化选项:
0=不局地化
2=默认 logP 层局地化(推荐)
ep_format 整数 1 扰动文件格式(v4.2+ 支持多种格式):
1=原始格式,2/3=单精度合并格式,推荐用于大域

补充说明:ep_format 格式选项

ep_format 描述
1 每个变量每个成员一个文件(双精度)
11 同上,但为单精度
2 每个变量一个文件,包含所有成员(单精度)
3 每个变量一个文件,包含所有成员,分块域(decomposed patch),适合大区域模拟

参考


网站公告

今日签到

点亮在社区的每一天
去签到