Version 1 (modified by 5 years ago) (diff) | ,
---|
PDAF_gather_obs_f2_flex
This page documents the routine PDAF_gather_obs_f2_flex
of PDAF, which was introduced with PDAF V1.14.
In the local filters (LESKTF, LETKF, LSEIK, LNETF) this routine can be used to gather the process-local observation coordinates arrays and returns the cooridates for the full observation vector.
The routine is typically used in the routines init_dim_obs_f_pdaf if the analysis step of the local filters is parallelized.
The interface is the following:
SUBROUTINE PDAF_gather_obs_f2_flex(dim_obs_p, dim_obs_f, coords_obs_p, coords_obs_f, nrows, status)
with the following arguments:
dim_obs_p
:integer, intent(in)
Process-local dimension of observation vectordim_obs_f
:integer, intent(in)
Full dimension of observation vectorcoords_obs_p
:real, intent(in), dimension(nrows, dim_obs_p)
Process-local observation coordinates arraycoords_obs_f
:real, intent(out), dimension(nrows, dim_obs_f)
Full observation coordinates arraynrows
:integer, intent(in)
Number of rows in observation coordinates arraystatus
:integer, intent(out)
Status flag (0 for no error)
Notes:
- The routine [Wiki:PDAF_gather_dim_obs_f] can be used to determine
dim_obs_f
. - This is more flexible variant to the routine PDAF_gather_obs_f2. It's functionality is the same, but it does not rely on a previous call to the routine
PDAF_gather_dim_obs_f
. - The routine is used for a coordinate array which stores in each column the coordinates of one observation. Thus for a two-dimensional case, the size of
coords_obs_p
is(2, dim_obs_p)
andnrows=2
is used in the call toPDAF_gather_obs_f2
. - If the coordindates are stored so that each row of
coords_obs_p
holds the coordinates of one observation the routinePDAF_gather_obs_f
should be applied separate for each column to gather the full coordinates array.