130#130 | (273) |
683#683 | (274) |
From Equations () and (), we can write that
686#686 | (275) |
Equation () represents a general form of the main mixed-domain downward-continuation operator. This operator can be broken up into a group of functional operators as follows:
687#687 | (276) |
688#688 | (277) |
For Equations () and (), we can distinguish 5 functional operators. Each operator is initialized with a call to a function (XXin) and executed with a call to another function (XXop). In a typical example, the functional operators perform the following tasks:
Continues the wavefield between two depth levels, using one or more reference slownesses.
Interface: integer function WCop(wfld,iws,izs,ith,FKop,FXop) result(st)
Implemented examples:
Selects the number and values of the reference slownesses (so), and sets-up the interpolation map between the wavefields continued using the various reference slownesses.
Interface: integer function SLop() result(st)
Implemented examples:
Performs phase-shift using the full 3-D DSR equation (), the common-azimuth equation (), or the offset plane-waves equation ().
Interface: integer function FXop(iws,izs,ifk,ith,wfld) result(st)
Implemented examples:
Performs phase shift that accounts for lateral slowness variation. Examples of (f-x) operators include but are not limited to split-step Fourier (), local Born Fourier or local Rytov Fourier (), Fourier Finite-Difference (), generalized screen propagators (), etc. Interface: integer function FXop(iws,izs,ifk,ith,wfld) result(st)
Implemented example:
Performs imaging in the offset-domain or the offset ray-parameter domain. This operator can also incorporate amplitude-preserving corrections.
Interface: integer function IGop(wfld,iws,ith) result(st)
Implemented examples: