Returns a parallel I/O decomposition mapping from a memory layout with a 'patch' dimension to a netCDF variable layout with 'x', 'y', and 'patch' dimensions.
Note that the 'patch' dimension in the memory layout represents the index in the 1-dimensional vector of patches, and in the netCDF variable layout, the 'patch' dimension represents the index of the patch on a particular land point.
| Type | Intent | Optional | 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) | :: | cstart(:) |
The starting patch index for each land point. |
||
| integer, | intent(in) | :: | nap(:) |
The number of active patches for each land point. |
||
| 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 |
||
| integer, | intent(in), | optional | :: | var_x_index |
The index of the 'x' dimension in |
|
| integer, | intent(in), | optional | :: | var_y_index |
The index of the 'y' dimension in |
|
| integer, | intent(in), | optional | :: | var_patch_index |
The index of the 'patch' dimension in |
|
| integer, | intent(in), | optional | :: | index_map(:) |
An optional mapping from the dimension indexes of |