Compute which directions need actual MPI or local-wrap work.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(out) | :: | need_w | |||
| logical, | intent(out) | :: | need_e | |||
| logical, | intent(out) | :: | need_s | |||
| logical, | intent(out) | :: | need_n |
pure subroutine needs_flags(need_w, need_e, need_s, need_n) !! Compute which directions need actual MPI or local-wrap work. logical, intent(out) :: need_w, need_e, need_s, need_n need_e = (.not. oh_decomp%has_east) .or. (oh_periodic_x .and. oh_decomp%px > 1) need_w = (.not. oh_decomp%has_west) .or. (oh_periodic_x .and. oh_decomp%px > 1) need_n = (.not. oh_decomp%has_north) .or. (oh_periodic_y .and. oh_decomp%py > 1) need_s = (.not. oh_decomp%has_south) .or. (oh_periodic_y .and. oh_decomp%py > 1) end subroutine needs_flags