| 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: