zero3_impl Subroutine

private pure subroutine zero3_impl(buf)

Device-side zero of buf (seeds column sums / clean bail-out).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: buf(:,:,:)

Called by

proc~~zero3_impl~~CalledByGraph proc~zero3_impl zero3_impl proc~fill_ice_speed fill_ice_speed proc~fill_ice_speed->proc~zero3_impl proc~fill_ice_u fill_ice_u proc~fill_ice_u->proc~zero3_impl proc~fill_ice_v fill_ice_v proc~fill_ice_v->proc~zero3_impl proc~fill_mld_density fill_mld_density proc~fill_mld_density->proc~zero3_impl proc~fill_vorticity_z fill_vorticity_z proc~fill_vorticity_z->proc~zero3_impl proc~fill_vorticity_z_impl fill_vorticity_z_impl proc~fill_vorticity_z->proc~fill_vorticity_z_impl proc~fill_vorticity_z_impl->proc~zero3_impl

Variables

Type Visibility Attributes Name Initial
integer, private :: i
integer, private :: j
integer, private :: k
integer, private :: nx
integer, private :: ny
integer, private :: nz

Source Code

   pure subroutine zero3_impl(buf)
      !! Device-side zero of `buf` (seeds column sums / clean bail-out).
      ! assumed-shape-ok: diag fill — fires once per output frame (cadence-bounded).
      real(wp), intent(inout) :: buf(:, :, :)
      integer :: i, j, k, nx, ny, nz
      nx = size(buf, 1)
      ny = size(buf, 2)
      nz = size(buf, 3)
      do concurrent(k=1:nz, j=1:ny, i=1:nx)
         buf(i, j, k) = 0.0_wp
      end do
   end subroutine zero3_impl