Skip to content

Commit

Permalink
Update explain_fft.rst for cleaner layout (#8100)
Browse files Browse the repository at this point in the history
As others, this PR places directives and modifiers on lines with not spaces between (like the master version).  Used in grdfft and potential's gravfft and grdflexure.
  • Loading branch information
PaulWessel authored Nov 28, 2023
1 parent 2b31054 commit c3bc0ea
Showing 1 changed file with 35 additions and 41 deletions.
76 changes: 35 additions & 41 deletions doc/rst/source/explain_fft.rst_
Original file line number Diff line number Diff line change
@@ -1,56 +1,50 @@
**-N**\ [**a**\|\ **f**\|\ **m**\|\ **r**\|\ **s**\|\ *nx/ny*][**+a**\|\ **d**\|\ **h**\|\ **l**][**+e**\|\ **n**\|\ **m**][**+t**\ *width*][**+v**][**+w**\ [*suffix*]][**+z**\ [**p**]]
Choose or inquire about suitable grid dimensions for FFT and set
optional parameters. Control the FFT dimension:
optional parameters. Control the FFT dimension via these directives:

**-Na** lets the FFT select dimensions yielding the most accurate result.
- **a**: Let the FFT select dimensions yielding the most accurate result.
- **f**: Force the FFT to use the actual dimensions of the data.
- **m**: Let the FFT select dimensions using the least work memory.
- **r**: Let the FFT select dimensions yielding the most rapid calculation.
- **s**: Just present a list of optional dimensions, then exit.

**-Nf** will force the FFT to use the actual dimensions of the data.
Without a directive we expect **-N**\ *nx/ny* which will do FFT on array size *nx/ny*
(must be >= grid file size). Default chooses dimensions >= data which optimize speed
and accuracy of FFT. If FFT dimensions > grid file dimensions, data are extended and
tapered to zero.

**-Nm** lets the FFT select dimensions using the least work memory.
Control detrending of data by appending a modifier for removing a linear trend.
Consult module documentation for the default action:

**-Nr** lets the FFT select dimensions yielding the most rapid calculation.
- **+d**: Detrend data, i.e. remove best-fitting linear trend.
- **+a**: Only remove the mean value.
- **+h**: Only remove the mid value, i.e. 0.5 * (max + min).
- **+l**: Leave data alone.

**-Ns** will present a list of optional dimensions, then exit.
Control extension and tapering of data by appending a modifier to control how
the extension and tapering are to be performed:

**-N**\ *nx/ny* will do FFT on array size *nx/ny* (must be >= grid file size). Default chooses
dimensions >= data which optimize speed and accuracy of FFT. If FFT
dimensions > grid file dimensions, data are extended and tapered to zero.
- **+e**: Extend the grid by imposing edge-point symmetry [Default].
- **+m**: Extends the grid by imposing edge mirror symmetry.
- **+n**: Turns off data extension.

Control detrending of data: Append modifiers for removing a linear trend. Consult module documentation for the default action:
Tapering is performed from the data edge to the FFT grid edge [100%].
Change this percentage via modifier **+t**\ *width*. When **+n** is in effect,
the tapering is applied instead to the data margins as no extension is
available [0%].

**+d**: Detrend data, i.e. remove best-fitting linear trend.
Control messages being reported:

**+a**: Only remove mean value.

**+h**: Only remove mid value, i.e. 0.5 * (max + min).

**+l**: Leave data alone.

Control extension and tapering of data:
Use modifiers to control how the extension and tapering are to be performed:

**+e** extends the grid by imposing edge-point symmetry [Default].

**+m** extends the grid by imposing edge mirror symmetry.

**+n** turns off data extension.

Tapering is performed from the data edge to the FFT grid edge [100%].
Change this percentage via **+t**\ *width*. When **+n** is in effect,
the tapering is applied instead to the data margins as no extension is
available [0%].

Control messages being reported:
**+v** will report suitable dimensions during processing.
- **+v**: Report suitable dimensions during processing.

Control writing of temporary results:
For detailed investigation you can write the intermediate grid being passed
to the forward FFT; this is likely to have been detrended, extended by
point-symmetry along all edges, and tapered. Append **+w**\ [*suffix*] from
which output file name(s) will be created (i.e., *ingrid_prefix.ext*)
[tapered], where *ext* is your file extension. Finally, you may save
the complex grid produced by the forward FFT by appending **+z**. By
default we write the real and imaginary components to
*ingrid*\ \_real.\ *ext* and *ingrid*\ \_imag.\ *ext*. Append
**p** to save instead the polar form of magnitude and phase to files
*ingrid*\ \_mag.\ *ext* and *ingrid*\ \_phase.\ *ext*.
point-symmetry along all edges, and tapered. Use these modifiers to ave such grids:

- **+w**: Set the *suffix* from which output file name(s) will be created
(i.e., *ingrid_prefix.ext*) [Default is "tapered"], where *ext* is your file extension
- **+z**: Save the complex grid produced by the forward FFT. By default we
write the real and imaginary components to *ingrid*\ \_real.\ *ext* and
*ingrid*\ \_imag.\ *ext*. Append **p** to instead use the polar form of magnitude
and phase to files *ingrid*\ \_mag.\ *ext* and *ingrid*\ \_phase.\ *ext*.

0 comments on commit c3bc0ea

Please sign in to comment.