first_patch_in_grid_cell Interface

public interface first_patch_in_grid_cell

Interface for extracting the value from the first patch/tile in each grid cell for various data types and array ranks. This is useful for arrays where averaging along the patch/tile dimension does not make sense, or where the array contains the same value everywhere along the patch/tile dimension.

Calls

interface~~first_patch_in_grid_cell~~CallsGraph interface~first_patch_in_grid_cell first_patch_in_grid_cell proc~first_patch_in_grid_cell_int32_1d first_patch_in_grid_cell_int32_1d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_int32_1d proc~first_patch_in_grid_cell_int32_2d first_patch_in_grid_cell_int32_2d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_int32_2d proc~first_patch_in_grid_cell_int32_3d first_patch_in_grid_cell_int32_3d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_int32_3d proc~first_patch_in_grid_cell_real32_1d first_patch_in_grid_cell_real32_1d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real32_1d proc~first_patch_in_grid_cell_real32_2d first_patch_in_grid_cell_real32_2d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real32_2d proc~first_patch_in_grid_cell_real32_3d first_patch_in_grid_cell_real32_3d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real32_3d proc~first_patch_in_grid_cell_real64_1d first_patch_in_grid_cell_real64_1d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real64_1d proc~first_patch_in_grid_cell_real64_2d first_patch_in_grid_cell_real64_2d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real64_2d proc~first_patch_in_grid_cell_real64_3d first_patch_in_grid_cell_real64_3d interface~first_patch_in_grid_cell->proc~first_patch_in_grid_cell_real64_3d

Called by

interface~~first_patch_in_grid_cell~~CalledByGraph interface~first_patch_in_grid_cell first_patch_in_grid_cell proc~cable_output_write_variable cable_output_write_variable proc~cable_output_write_variable->interface~first_patch_in_grid_cell interface~cable_output_write_variable cable_output_write_variable interface~cable_output_write_variable->proc~cable_output_write_variable proc~cable_output_impl_init_streams cable_output_impl_init_streams proc~cable_output_impl_init_streams->interface~cable_output_write_variable proc~cable_output_impl_write cable_output_impl_write proc~cable_output_impl_write->interface~cable_output_write_variable proc~cable_output_impl_write_parameters cable_output_impl_write_parameters proc~cable_output_impl_write_parameters->interface~cable_output_write_variable proc~cable_output_impl_write_restart cable_output_impl_write_restart proc~cable_output_impl_write_restart->interface~cable_output_write_variable

Module Procedures

private subroutine first_patch_in_grid_cell_int32_1d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 1D integer 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(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 first_patch_in_grid_cell_int32_2d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 2D integer 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(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 first_patch_in_grid_cell_int32_3d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 3D integer 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(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 first_patch_in_grid_cell_real32_1d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 1D 32-bit real 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(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 first_patch_in_grid_cell_real32_2d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 2D 32-bit real 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(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 first_patch_in_grid_cell_real32_3d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 3D 32-bit real 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(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 first_patch_in_grid_cell_real64_1d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 1D 64-bit real 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(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 first_patch_in_grid_cell_real64_2d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 2D 64-bit real array.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: input_array(:,:)
real(kind=real64), intent(out) :: output_array(:,:)
type(land_type), intent(in) :: landpt(:)

private subroutine first_patch_in_grid_cell_real64_3d(input_array, output_array, landpt)

Extracts the first patch value for each grid cell from a 3D 64-bit real 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(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.