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:Bilinearobject 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.