copyin (not create) for the four host-filled 2-D fields —
cover_u/cover_v are STATIC configure-time geometry and would
otherwise reach the device as allocator leftovers
(mem:separate).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ocean_top_drag_t), | intent(inout) | :: | this |
subroutine ocean_top_drag_enter_data_impl(this) !! `copyin` (not `create`) for the four host-filled 2-D fields — !! `cover_u`/`cover_v` are STATIC configure-time geometry and would !! otherwise reach the device as allocator leftovers !! (`mem:separate`). type(ocean_top_drag_t), intent(inout) :: this call scratch_3d_buffer_enter_data_impl(this%du_drag) call scratch_3d_buffer_enter_data_impl(this%dv_drag) !$acc enter data copyin(this%cover_u, this%cover_v, this%cover_t, & !$acc this%lambda_top_u, this%lambda_top_v, & !$acc this%stress_top) end subroutine ocean_top_drag_enter_data_impl