算子结构

每种观测算子的基本结构如下:

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

    1. 计算 innovation (更新向量):

      \[iv = y - H(x_b)\]
    2. 极值检测

  • 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)\]