SplitTrilinearInterpolation
ClimaInterpolations.SplitTrilinearInterpolation.SplitTrilinear
— TypeSplitTrilinear{VS, VT, HB, W1, W2}
This struct stores the source and target grids and work arrays for split trilinear interpolation.
Fields
vsource
: Vertical source gridvtarget
: Vertical target gridbilinear
:Bilinear
object containing the horizontal source and target gridsfsource_intermediate
: work array, storing fsource on the target horizontal gridvsource_intermediate
: vertical source grid corresponding to target horizontal grid
ClimaInterpolations.SplitTrilinearInterpolation.split_trilinear_interpolation!
— Functionsplit_trilinear_interpolation!(
ftarget,
split_trilinear::SplitTrilinear,
fsource;
vextrapolate = Flat(),
vreverse = false,
)
Interpolate the data fsource
defined on a source grid onto the target grid using split trilinear interpolation. This specific function uses the "horizontal first" approach. The following sequence of steps are used for this interpolation:
1). Interpolate fsource
onto the target horizontal grid, using blinear interpolation, at each of the vertical levels. Store the result in fsource_intermediate
work array.
2). If the column grid is identical for all columns, this step can be skipped and vsource_intermediate
is identical to vsource
. However, if that is not the case, use bilinear interpolation to compute the vsource_intermediate
on the target horizontal grid, at each level, using bilinear interpolation. This step is handled by the constructor above.
3). Use 1D linear interpolation, for each column, to interpolate fsource_intermediate
onto the target grid.