ocean_top_drag_enter_data_impl Subroutine

private 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).

Arguments

Type IntentOptional Attributes Name
type(ocean_top_drag_t), intent(inout) :: this

Calls

proc~~ocean_top_drag_enter_data_impl~~CallsGraph proc~ocean_top_drag_enter_data_impl ocean_top_drag_enter_data_impl proc~scratch_3d_buffer_enter_data_impl scratch_3d_buffer_enter_data_impl proc~ocean_top_drag_enter_data_impl->proc~scratch_3d_buffer_enter_data_impl

Called by

proc~~ocean_top_drag_enter_data_impl~~CalledByGraph proc~ocean_top_drag_enter_data_impl ocean_top_drag_enter_data_impl proc~ocean_top_drag_enter_data ocean_top_drag_t%ocean_top_drag_enter_data proc~ocean_top_drag_enter_data->proc~ocean_top_drag_enter_data_impl

Source Code

   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