public subroutine field_shift_blend_x_band_base(self, f, lambda, i_start, i_offset, nshift, z_plane_rank)
Blend an x band of a DIR_X vertex field towards a spanwise-shifted
copy of an upstream band (the ABL shifted periodic fringe):
f(i + i_offset, j, k) = lambdaf(i, j, k - nshift)
+ (1 - lambda)f(i + i_offset, j, k)
for i = i_start, ..., i_start + size(lambda) - 1, with k circular over
the global z planes. x and y must not be decomposed; z_plane_rank(kg)
is the rank holding global z plane kg.
This default works on the host through get_field_data and
set_field_data, so it suits a host backend; a device backend should
override it to keep the field on the device.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.