Two-pass X-then-Y halo exchange for a cell-centred 2D field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | fld(oh_nx_total,oh_ny_total) |
Cell-centred 2D field (nx_total, ny_total) |
||
| logical, | intent(in), | optional | :: | device_resident |
If .false., operate on host memory (no OpenACC directives). Default (.true.) is the normal device-resident path. |
subroutine ocean_halo_centre_2d(fld, device_resident) !! Two-pass X-then-Y halo exchange for a cell-centred 2D field. real(wp), intent(inout) :: fld(oh_nx_total, oh_ny_total) !! Cell-centred 2D field (nx_total, ny_total) logical, intent(in), optional :: device_resident !! If .false., operate on host memory (no OpenACC directives). !! Default (.true.) is the normal device-resident path. call oh_count_centre_2d() call ocean_halo_centre_2d_impl(fld, oh_nghost, device_resident) end subroutine ocean_halo_centre_2d