module imospray { # inverse moveout and spray into a gather. use hypotenusei real :: x0,dx, t0,dt integer :: nx,nt #% _init (slow, x0,dx, t0,dt, nt,nx) real slow x0 = x0*slow dx = dx*slow #% _lop( stack(nt), gather(nt,nx)) integer ix, stat do ix= 1, nx { call hypotenusei_init ( nt, t0, dt, x0 + dx*(ix-1)) stat = hypotenusei_lop ( adj, .true., stack, gather(:,ix)) } call hypotenusei_close () }