grid_cell_average Interface

public interface grid_cell_average

Interface for computing the area weighted average over the patch/tile dimension for various data types and array ranks.

Calls

interface~~grid_cell_average~~CallsGraph interface~grid_cell_average grid_cell_average proc~grid_cell_average_real32_1d grid_cell_average_real32_1d interface~grid_cell_average->proc~grid_cell_average_real32_1d proc~grid_cell_average_real32_2d grid_cell_average_real32_2d interface~grid_cell_average->proc~grid_cell_average_real32_2d proc~grid_cell_average_real32_3d grid_cell_average_real32_3d interface~grid_cell_average->proc~grid_cell_average_real32_3d proc~grid_cell_average_real64_1d grid_cell_average_real64_1d interface~grid_cell_average->proc~grid_cell_average_real64_1d proc~grid_cell_average_real64_2d grid_cell_average_real64_2d interface~grid_cell_average->proc~grid_cell_average_real64_2d proc~grid_cell_average_real64_3d grid_cell_average_real64_3d interface~grid_cell_average->proc~grid_cell_average_real64_3d

Called by

interface~~grid_cell_average~~CalledByGraph interface~grid_cell_average grid_cell_average proc~cable_output_write_variable cable_output_write_variable proc~cable_output_write_variable->interface~grid_cell_average 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 grid_cell_average_real32_1d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for 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 grid cell averaged 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 active patch/tile dimension.

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 grid_cell_average_real32_2d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for 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 grid cell averaged 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 active patch/tile dimension.

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 grid_cell_average_real32_3d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for 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 grid cell averaged 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 active patch/tile dimension.

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 grid_cell_average_real64_1d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for 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 grid cell averaged 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 active patch/tile dimension.

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 grid_cell_average_real64_2d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for a 2D 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 grid cell averaged 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 active patch/tile dimension.

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 grid_cell_average_real64_3d(input_array, output_array, patch, landpt)

Computes the area weighted average over the patch/tile dimension for 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 grid cell averaged 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 active patch/tile dimension.

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.