PDAFomi_get_interp_coeff_lin
This page documents the routine PDAFomi_get_interp_coeff_lin of PDAF-OMI.
The routine is called in init_dim_obs_OBSTYPE of an obseration module to initialize interpolation coefficients in 1, 2, or 3 dimensions. It is used if the observation operator performs linear interpolation (usually PDAFomi_obs_op_interp_lin`).
| See the page describing PDAF-OMI observation operators for a general overview. |
The interface is:
SUBROUTINE PDAFomi_get_interp_coeff_lin(num_gp, n_dim, gcoords, ocoord, icoeff)
INTEGER, INTENT(in) :: num_gp ! Length of icoeff
INTEGER, INTENT(in) :: n_dim ! Number of dimensions in interpolation
REAL, INTENT(in) :: gcoords(:,:) ! Coordinates of grid points
REAL, INTENT(in) :: ocoord(:) ! Coordinates of observation
REAL, INTENT(inout) :: icoeff(:) ! Interpolation coefficients (num_gp)
Notes:
- It is required that num_gp=2 for n_dim=1; num_gp=4 for n_dim=2; num_gp=8 for n_dim=3.
- In the array
gcoords, the first index specifies the grid point while the second specifies the coordinate. Thus,gcoords(1,1)is the first coordinate for grid point 1,gcoords(1,2)is the second coordiate for grid point 1, whilegcoords(2,1)is the first coordiate for grid point 2. The coordinates need to be consistent with the indices specified inthisobs%id_obs_psince these specify the elements of the state vector that are interpolated. Only the firstn_dimentries of ocoord will be used for the interpolation. ocoord(:,i)holds the list of the coordinates for the observation with index i (different from the use ingcoords)- The order of the coordinates and coefficients is the following:
(7)------(8) /| /| with (5)+-----(6)| - column 1 | | | | / column 2 |(3)-----+(4) | column 3 |/ |/ (1) ---- (2) thus gcoords(1,1)/=gcoords(2,1), but gcoords(1,1)=gcoords(3,1)=gcoords(5,1), gcoords(1,2)/=gcoords(3,2), gcoords(1,2)=gcoords(2,2)=gcoords(5,2), gcoords(1,3)/=gcoords(5,3) gcoords(1,3)=gcoords(2,3)=gcoords(3,3) - For 1D linear interpolation (n_dim=1) only the coordinates for grid points 1 and 2 are used to compute the coefficients
- For bi-linear interpolation (n_dim=2) only the coordinates for grid points 1, 2, and 3 are used to compute the coefficients
- For tri-linear interpolation (n_dim=3) only the coordinates for grid points 1, 2, 3, and 5 are used to compute the coefficients
Last modified
4 years ago
Last modified on Dec 18, 2021, 1:57:57 PM
Note:
See TracWiki
for help on using the wiki.
