pure subroutine ice_sample_velocity_impl(u_surf, v_surf, wet_u, wet_v, u_ice, v_ice, nx, ny)
!! `u_ice(i,j) = u_surf(i,j)*wet_u(i,j)`, ditto v. v1 interim
!! filler (SPEC §5 Phase 0) — PR 5 EVP replaces this call with a
!! dynamics solve writing the SAME `u_ice`/`v_ice` faces.
integer, intent(in) :: nx, ny
real(wp), intent(in) :: u_surf(nx + 1, ny)
real(wp), intent(in) :: v_surf(nx, ny + 1)
real(wp), intent(in) :: wet_u(nx + 1, ny)
real(wp), intent(in) :: wet_v(nx, ny + 1)
real(wp), intent(out) :: u_ice(nx + 1, ny)
real(wp), intent(out) :: v_ice(nx, ny + 1)
integer :: i, j
do concurrent(j=1:ny, i=1:nx + 1)
u_ice(i, j) = u_surf(i, j)*wet_u(i, j)
end do
do concurrent(j=1:ny + 1, i=1:nx)
v_ice(i, j) = v_surf(i, j)*wet_v(i, j)
end do
end subroutine ice_sample_velocity_impl