NCEPLIBS-ip 5.2.0
|
Bilinear interpolation routines for scalars and vectors. More...
Data Types | |
interface | interpolate_bilinear |
Functions/Subroutines | |
subroutine | interpolate_bilinear_scalar (ipopt, grid_in, grid_out, mi, mo, km, ibi, li, gi, no, rlat, rlon, ibo, lo, go, iret) |
This subprogram performs bilinear interpolation from any grid to any grid for scalar fields. | |
subroutine | interpolate_bilinear_vector (ipopt, grid_in, grid_out, mi, mo, km, ibi, li, ui, vi, no, rlat, rlon, crot, srot, ibo, lo, uo, vo, iret) |
This subprogram performs bilinear interpolation from any grid to any grid for vector fields. | |
Bilinear interpolation routines for scalars and vectors.
|
private |
This subprogram performs bilinear interpolation from any grid to any grid for scalar fields.
Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1). only horizontal interpolation is performed. if no input data is found near the output point, a spiral search may be invoked by setting ipopt(2)> 0. no searching is done if output point is outside the input grid. as an added bonus the number of output grid points and their latitudes and longitudes are also returned. on the other hand, the output can be a set of station points if igdtnumo<0, in which case the number of points and their latitudes and longitudes must be input. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid.
The output field is set to 0 where the output bitmap is off.
[in] | ipopt | interpolation options
|
[in] | grid_in | input grid |
[in] | grid_out | output grid |
[in] | mi | skip number between input grid fields if km>1 or dimension of input grid fields if km=1 |
[out] | mo | skip number between output grid fields if km>1 or dimension of output grid fields if km=1 |
[in] | km | number of fields to interpolate |
[in] | ibi | input bitmap flags |
[in] | li | input bitmaps (if some ibi(k)=1) |
[in] | gi | input fields to interpolate |
[in,out] | no | number of output points (only if igdtnumo<0) |
[in,out] | rlat | output latitudes in degrees (if igdtnumo<0) |
[in,out] | rlon | output longitudes in degrees (if igdtnumo<0) |
[out] | ibo | output bitmap flags |
[out] | lo | output bitmaps (always output) |
[out] | go | output fields interpolated |
[out] | iret | return code
|
Definition at line 72 of file bilinear_interp_mod.F90.
|
private |
This subprogram performs bilinear interpolation from any grid to any grid for vector fields.
Options allow varying the minimum percentage for mask, i.e. percent valid input data required to make output data, (ipopt(1)) which defaults to 50 (if ipopt(1)=-1).
Only horizontal interpolation is performed. the input and output vectors are rotated so that they are either resolved relative to the defined grid in the direction of increasing x and y coordinates or resolved relative to easterly and northerly directions, as designated by their respective grid description sections.
As an added bonus the number of output grid points and their latitudes and longitudes are also returned along with their vector rotation parameters. on the other hand, the data may be interpolated to a set of station points if igdtnumo < 0, in which case the number of points and their latitudes and longitudes must be input along with their vector rotation parameters. input bitmaps will be interpolated to output bitmaps. output bitmaps will also be created when the output grid extends outside of the domain of the input grid. the output field is set to 0 where the output bitmap is off.
[in] | ipopt | interpolation options
|
[in] | grid_in | Input grid |
[in] | grid_out | Output grid |
[in] | mi | skip number between input grid fields if km>1 or dimension of input grid fields if km=1 |
[out] | mo | skip number between output grid fields if km>1 or dimension of output grid fields if km=1 |
[in] | km | number of fields to interpolate |
[in] | ibi | input bitmap flags |
[in] | li | input bitmaps (if some ibi(k)=1) |
[in] | ui | input u-component fields to interpolate |
[in] | vi | input v-component fields to interpolate |
[in,out] | no | number of output points (only if igdtnumo<0) |
[in,out] | rlat | output latitudes in degrees (if igdtnumo<0) |
[in,out] | rlon | output longitudes in degrees (if igdtnumo<0) |
[in,out] | crot | vector rotation cosines (if igdtnumo<0) ugrid=crot*uearth-srot*vearth; |
[in,out] | srot | vector rotation sines (if igdtnumo<0) vgrid=srot*uearth+crot*vearth) |
[out] | ibo | output bitmap flags |
[out] | lo | output bitmaps (always output) |
[out] | uo | output u-component fields interpolated |
[out] | vo | output v-component fields interpolated |
[out] | iret | return code
|
Definition at line 329 of file bilinear_interp_mod.F90.