dominant_tile Interface

public interface dominant_tile

Interface for extracting the value from the tile with the largest area fraction in each grid cell for various data types and array ranks. If several tiles share the largest fraction, the first of them is used.


Module Procedures

private subroutine dominant_tile_int32_1d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 1D int32 array.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: input_array(:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

integer(kind=int32), intent(out) :: output_array(:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_int32_2d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 2D int32 array.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: input_array(:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

integer(kind=int32), intent(out) :: output_array(:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_int32_3d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 3D int32 array.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: input_array(:,:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

integer(kind=int32), intent(out) :: output_array(:,:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real32_1d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 1D real32 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in) :: input_array(:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real32), intent(out) :: output_array(:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real32_2d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 2D real32 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in) :: input_array(:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real32), intent(out) :: output_array(:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real32_3d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 3D real32 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in) :: input_array(:,:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real32), intent(out) :: output_array(:,:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real64_1d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 1D real64 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: input_array(:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real64), intent(out) :: output_array(:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real64_2d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 2D real64 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: input_array(:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real64), intent(out) :: output_array(:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.

private subroutine dominant_tile_real64_3d(input_array, output_array, patch, landpt)

Extracts the value of the largest-area tile in each grid cell from a 3D real64 array.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: input_array(:,:,:)

The input array to be reduced. The first (i.e. fastest varying) dimension of this array must be the patch/tile dimension being reduced.

real(kind=real64), intent(out) :: output_array(:,:,:)

The output array containing the reduced per grid cell values. The first (i.e. fastest varying) dimension of this array must be equal to the number of grid cells.

type(patch_type), intent(in) :: patch(:)

The patch_type instance describing the area fraction of each patch/tile.

type(land_type), intent(in) :: landpt(:)

The land_type instance describing the starting and ending patch/tile indexes in the input array for each grid cell.