module mva_dsdiop_mod
  implicit none

contains







  integer function mva_dsdiop_oper() result(stat)


    if (adj) then
       modl = 0.
       do iwb=1, wblock%nb
    else
    end if
    stat = mva_scater_oper()
  end function


  integer function mva_scater_oper(wfdi, wfdo, ws) result(stat)
    complex, dimension(:,:) :: wfdi
    complex, dimension(:,:) :: wfdo
    real                    :: ws

    real                    :: idx2
    complex                 :: wght
    integer                 :: ix

    wght = cmplx(0., 1.)*ws*dz
    idx2 = 1./dx/dx
    do ix=2, nx-1
       lapxo = wfdi(ix-1,1) - 2.*wfdi(ix,1) + wfdi(ix+1,1)
       wfdo(ix,1) = lapxo*idx2
    end do


    wfdo = wght*(wfdi+0.5/ws/ws/slow/slow*wfdo)

    stat = 0
  end function

end module
