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 ] [ -Nstuff ] [ -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 trans-
       forming 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 output 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  direction  mea-
              sured 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 equiv-
              alent 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 standard deviation in power[f] are
              written to stdout.  Append w to write wavelength instead of fre-
              quency.

       -F     Filter the data.  Place x or y immediately after -F to filter  x
              or  y  direction only; default is isotropic.  Specify four wave-
              lengths in correct units (see -M) to design a  bandpass  filter;
              wavelengths  greater  than lc or less than hc will be cut, wave-
              lengths 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  wave-
              lengths  >  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
              rejecting 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 rectangular coordinate system using grdproject.

       -N     Choose  or  inquire about suitable grid dimensions for FFT.  -Nf
              will force the FFT to use the dimensions of the data.  -Nq  will
              inQuire  about more suitable dimensions.  -Nnx/ny will do FFT on
              array size nx/ny (Must be >=  grdfile  size).   Default  chooses
              dimensions  >=  data  which optimize speed, accuracy of FFT.  If
              FFT dimensions >  grdfile  dimensions,  data  are  extended  and
              tapered to zero.

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

       -V     Selects verbose mode, which will send progress reports to stderr
              [Default runs "silently"].


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 geographical  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 deflections of the
       vertical (in micro-radians) in the 038 direction, we must  first  inte-
       grate  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 differen-
       tiating twice:

       grdfft gravity.grd -D -D -V -Ggrav_2nd_derivative.grd

       The first order gravity anomaly (in mGal) due to the compensating  sur-
       face  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    -S0.022    -C4000
       -Gcomp_faa.grd

       where 0.022 is the scale needed for the first term in  Parker's  expan-
       sion  for  computing  gravity  from  topography (= 2 * PI * G * (rhom -
       rhol)).


SEE ALSO

       gmt(l), grdedit(l), grdmath(l), grdproject(l)



VERSION                              DATE                            GRDFFT(l)

Man(1) output converted with man2html