算子结构
每种观测算子的基本结构如下:
da_<OBSTYPE>.f90
da_get_innov_vector_<OBSTYPE>.inc
da_jo_and_grady_<OBSTYPE>.inc
da_calculate_grady_<OBSTYPE>.inc
da_oi_stats_<OBSTYPE>.inc
da_ao_stats_<OBSTYPE>.inc
da_print_stats_<OBSTYPE>.inc
da_residual_<OBSTYPE>.inc
da_check_max_iv_<OBSTYPE>.inc
da_transform_xtoy_<OBSTYPE>.inc
da_transform_xtoy_<OBSTYPE>_adj.inc
da_<OBSTYPE>.f90
定义 module da_<OBSTYPE> , 包含该目录下所有的 inc 文件
da_get_innov_vector_<OBSTYPE>.inc
计算 innovation (更新向量):
\[iv = y - H(x_b)\]极值检测
da_residual_<OBSTYPE>.inc
计算 residual (残差):
\[re = iv - \mathrm{H}(\delta x) = y - H(x_b) - \mathrm{H}(\delta x)\]da_jo_and_grady_<OBSTYPE>.inc
计算代价函数观测项( jo )及其梯度:
\[jo\_grad\_y = - re / \mathrm{R} = - [y - H(x_b) - \mathrm{H}(\delta x)] / \mathrm{R}\]\[jo = 0.5 * [y - H(x_b) - \mathrm{H}(\delta x)]^2 / \mathrm{R}\]da_calculate_grady_<OBSTYPE>.inc
计算考虑质控的代价函数观测项( jo )梯度,:
\[jo\_grad\_y = - re / \mathrm{R} = - [y - H(x_b) - \mathrm{H}(\delta x)] / \mathrm{R}\]da_oi_stats_<OBSTYPE>.inc
计算和打印 innovation ( O - B) 的统计信息
da_ao_stats_<OBSTYPE>.inc
计算和打印 O - A 的统计信息
da_print_stats_<OBSTYPE>.inc
打印统计信息
da_check_max_iv_<OBSTYPE>.inc
对 innovation 进行质控极值检查
da_transform_xtoy_<OBSTYPE>.inc
计算:
\[\delta y = \mathrm{H}(\delta x)\]da_transform_xtoy_<OBSTYPE>_adj.inc
计算:
\[\delta x = \mathrm{H}^T(\delta y)\]