Version 5 (modified by 4 months ago) (diff) | ,
---|

# PDAFomi_gather_obs

This page documents the routine `PDAFomi_gather_obs`

of PDAF-OMI.

The routine has to be called in `init_dim_obs_OBTYPE`

in each observation module. It initializes the observation information for PDAF-OMI.

See the page describing PDAF-OMI observation modules for the full documentation of OMI observation modules. |

The interface is:

SUBROUTINE PDAFomi_gather_obs(thisobs, dim_obs_p, obs_p, ivar_obs_p, ocoord_p, & ncoord, cradius, dim_obs) TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation information INTEGER, INTENT(in) :: dim_obs_p ! Number of process-local observations REAL, INTENT(in) :: obs_p(:) ! Vector of process-local observations REAL, INTENT(in) :: ivar_obs_p(:) ! Vector of process-local inverse observation error variance REAL, INTENT(in) :: ocoord_p(:,:) ! Array of process-local observation coordinates INTEGER, INTENT(in) :: ncoord ! Number of rows (first index) of coordinate array REAL, INTENT(in) :: cradius ! Typical localization radius (the maximum radius used in this process domain) INTEGER, INTENT(out) :: dim_obs ! Full number of observations

**Notes:**

- The only direect output is
`dim_obs`

, which is then returned to`init_dim_obs_pdafomi`

in`callback_obs_pdafomi.F90`

. - The value of
`cradius`

can be some maximum value. It is only utilized if domain-limited observations are activated (see page on using the option `use_global_obs`) - Also in case of non-isotropic localization
`cradius`

is a single value. It should be set of the largest radius in the horizontal direction used in the parallel process domain.