io_decomp_land_to_x_y Function

public function io_decomp_land_to_x_y(land_x, land_y, mem_shape, var_shape, type, var_x_index, var_y_index, index_map) result(decomp)

Returns a parallel I/O decomposition mapping from a memory layout with a 'land' dimension to a netCDF variable layout with 'x' and 'y' dimensions.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: land_x(:)

An array mapping land indexes to x (longitude) indexes.

integer, intent(in) :: land_y(:)

An array mapping land indexes to y (latitude) indexes.

integer, intent(in) :: mem_shape(:)

The shape of the in-memory array.

integer, intent(in) :: var_shape(:)

The shape of the netCDF variable.

integer, intent(in) :: type

The data type of the variable for which the decomposition is being created using CABLE_NETCDF_TYPE_* constants from cable_netcdf_mod.

integer, intent(in), optional :: var_x_index

The index of the 'x' dimension in var_shape. Defaults to 1 if not provided.

integer, intent(in), optional :: var_y_index

The index of the 'y' dimension in var_shape. Defaults to 2 if not provided.

integer, intent(in), optional :: index_map(:)

An optional mapping from the dimension indexes of var_shape to the dimension indexes of mem_shape. If not provided, it is assumed that the dimensions of var_shape map to the dimensions of mem_shape in order, with var_x_index and var_y_index indexes mapped to the first index of mem_shape.

Return Value class(cable_netcdf_decomp_t), allocatable