NAME
grdfft - Perform mathematical operations on grdfiles in the
frequency domain
SYNOPSIS
grdfft in_grdfile -Gout_grdfile [ -Aazimuth ] [ -Czlevel ] [
-D[scale|g] ] [ -E[x|y][w] ] [ -F[x|y]lc/lp/hp/hc ] [
-I[scale|g] ] [ -L ] [ -M ] [ -Sscale ] [ -Tte/rl/rm/rw/ri ]
[ -V ]
DESCRIPTION
grdfft will take the 2-D forward Fast Fourier Transform and
perform one or more mathematical operations in the frequency
domain before transforming back to the space domain. An
option is provided to scale the data before writing the new
values to an output file. The horizontal dimensions of the
grdfiles are assumed to be in meters. Geographical grids
may be used by specifying the -M option that scales degrees
to meters. If you have grdfiles with dimensions in km, you
could change this to meters using grdedit or scale the out-
put with grdmath.
No space between the option flag and the associated
arguments. Use upper case for the option flags and lower
case for modifiers.
in_grdfile
2-D binary grd file to be operated on.
-G Specify the name of the output grd file.
OPTIONS
-A Take the directional derivative in the azimuth direc-
tion measured in degrees CW from north.
-C Upward (for zlevel > 0) or downward (for zlevel < 0)
continue the field zlevel meters.
-D Differentiate the field, i.e., take d(field)/dz. This
is equivalent to multiplying by kr in the frequency
domain (kr is radial wave number). Append a scale to
multiply by (kr * scale) instead. Alternatively,
append g to indicate that your data are geoid heights
in meters and output should be gravity anomalies in
mGal. [Default is no scale].
-E Estimate power spectrum in the radial direction. Place
x or y immediately after -E to compute the spectrum in
the x or y direction instead. No grdfile is created; f
(i.e., frequency or wave number), power[f], and 1 stan-
dard deviation in power[f] are written to stdout.
Append w to write wavelength instead of frequency.
-F Filter the data. Place x or y immediately after -F to
filter x or y direction only; default is isotropic.
Specify four wavelengths in correct units (see -M) to
design a bandpass filter; wavelengths greater than lc
or less than hc will be cut, wavelengths greater than
lp and less than hp will be passed, and wavelengths in
between will be cosine-tapered. E.g.,
-F1000000/250000/50000/10000 -M will bandpass, cutting
wavelengths > 1000 km and < 10 km, passing wavelengths
between 250 km and 50 km. To make a highpass or
lowpass filter, give hyphens (-) for hp/hc or lc/lp.
E.g., -Fx-/-/50/10 will lowpass X, passing wavelengths
> 50 and rejecting wavelengths < 10. -Fy1000/250/-/-
will highpass Y, passing wavelengths < 250 and reject-
ing wavelengths > 1000.
-I Integrate the field, i.e., compute integral_over_z
(field * dz). This is equivalent to divide by kr in
the frequency domain (kr is radial wave number).
Append a scale to divide by (kr * scale) instead.
Alternatively, append g to indicate that your data set
is gravity anomalies in mGal and output should be geoid
heights in meters. [Default is no scale].
-L Leave trend alone. By default, a linear trend will be
removed prior to the transform.
-M Map units. Choose this option if your grdfile is a
geographical grid and you want to convert degrees into
meters. If the data are close to either pole, you
should consider projecting the grdfile onto a rectangu-
lar coordinate system using grdproject.
-S Multiply each element by scale in the space domain
(after the frequency domain operations). [Default is
1.0].
-T Compute the isostatic compensation from the topography
load (input grdfile) on an elastic plate of thickness
te. Also append densities for load, mantle, water, and
infill in SI units. If te == 0 then the Airy response
is returned. -T implicitly sets -L.
EXAMPLES
To upward continue the sea-level magnetic anomalies in the
file mag_0.grd to a level 800 m above sealevel, try
grdfft mag_0.grd -C800 -V -Gmag_800.grd
To transform geoid heights in m (geoid.grd) on a geographi-
cal grid to free-air gravity anomalies in mGal, do
grdfft geoid.grd -Dg -M -V -Ggrav.grd
To transform gravity anomalies in mGal (faa.grd) to deflec-
tions of the vertical (in micro-radians) in the 038 direc-
tion, we must first integrate gravity to get geoid, then
take the directional derivative, and finally scale radians
to micro-radians:
grdfft faa.grd -Ig -A38 -S1e6 -V -Gdefl_38.grd
Second vertical derivatives of gravity anomalies are related
to the curvature of the field. We can compute these as
mGal/m^2 by differentiating twice:
grdfft gravity.grd -D -D -V -Ggrav_2nd_derivative.grd
The first order gravity anomaly (in mGal) due to the compen-
sating surface caused by the topography load topo.grd (in m)
on a 20 km thick elastic plate, assumed to be 4 km beneath
the observation level can be computed as
grdfft topo.grd -T20000/2800/3330/1030/2300 -C4000 -S0.022
-Gcomp_faa.grd
where 0.022 is the scale needed for the first term in
Parker's expansion for computing gravity from topography (=
2 * PI * G * (rhom - rhol)).
SEE ALSO
gmt(l), grdedit(l), grdmath(l), grdproject(l)