1GRDFFT(1)                    Generic Mapping Tools                   GRDFFT(1)
2
3
4

NAME

6       grdfft  - Perform mathematical operations on grid files in the wavenum‐
7       ber (or frequency) domain
8

SYNOPSIS

10       grdfft  in_grdfile  -Gout_grdfile  [  -Aazimuth  ]  [  -Czlevel   ]   [
11       -D[scale|g] ] [ -E[x|y][w] ] [ -F[x|y]params ] [ -I[scale|g] ] [ -L ] [
12       -M ] [ -Nstuff ] [ -Sscale ] [ -Tte/rl/rm/rw/ri ] [ -V ]
13

DESCRIPTION

15       grdfft will take the 2-D forward Fast Fourier Transform and perform one
16       or  more  mathematical operations in the frequency domain before trans‐
17       forming back to the space domain.  An option is provided to  scale  the
18       data  before  writing the new values to an output file.  The horizontal
19       dimensions of the grid are assumed to be in meters.  Geographical grids
20       may  be used by specifying the -M option that scales degrees to meters.
21       If you have grids with dimensions in  km,  you  could  change  this  to
22       meters using grdedit or scale the output with grdmath.
23
24       in_grdfile
25              2-D  binary grid file to be operated on.  (See GRID FILE FORMATS
26              below).
27
28       -G     Specify the name of the output grid file.  (See GRID  FILE  FOR‐
29              MATS below).
30

OPTIONS

32       No space between the option flag and the associated arguments.
33
34       -A     Take  the  directional  derivative in the azimuth direction mea‐
35              sured in degrees CW from north.
36
37       -C     Upward (for zlevel > 0) or downward (for zlevel  <  0)  continue
38              the field zlevel meters.
39
40       -D     Differentiate the field, i.e., take d(field)/dz.  This is equiv‐
41              alent to multiplying by kr in the frequency domain (kr is radial
42              wave  number).   Append  a  scale  to  multiply  by (kr * scale)
43              instead.  Alternatively, append g to indicate that your data are
44              geoid  heights  in meters and output should be gravity anomalies
45              in mGal.  [Default is no scale].
46
47       -E     Estimate power spectrum in the radial direction.  Place x  or  y
48              immediately  after  -E  to  compute  the  spectrum in the x or y
49              direction instead.  No grid file is created; f (i.e.,  frequency
50              or  wave number), power[f], and 1 standard deviation in power[f]
51              are written to stdout.  Append w to write wavelength instead  of
52              frequency.
53
54       -F     Filter  the data.  Place x or y immediately after -F to filter x
55              or y direction only; default is  isotropic.   Choose  between  a
56              cosine-tapered band-pass, a Gaussian band-pass filter, or a But‐
57              terworth band-pass filter.   Cosine-taper:  Specify  four  wave‐
58              lengths  lc/lp/hp/hc in correct units (see -M) to design a band‐
59              pass filter: wavelengths greater than lc or less than hc will be
60              cut,  wavelengths  greater  than  lp  and  less  than hp will be
61              passed, and  wavelengths  in  between  will  be  cosine-tapered.
62              E.g.,  -F1000000/250000/50000/10000  -M  will  bandpass, cutting
63              wavelengths > 1000 km and < 10 km, passing  wavelengths  between
64              250  km  and  50 km.  To make a highpass or lowpass filter, give
65              hyphens (-) for hp/hc or lc/lp.  E.g., -Fx-/-/50/10 will lowpass
66              x,  passing  wavelengths  >  50  and rejecting wavelengths < 10.
67              -Fy1000/250/-/- will highpass y, passing wavelengths <  250  and
68              rejecting wavelengths > 1000.  Gaussian band-pass: Append lo/hi,
69              the two wavelengths in correct units (see -M) to design a  band‐
70              pass  filter.   At  the  given  wavelengths  the Gaussian filter
71              weights will be 0.5. To make a highpass or lowpass filter,  give
72              a  hyphen  (-) for the hi or lo wavelength, respectively.  E.g.,
73              -F-/30 will lowpass the data using a Gaussian filter with  half-
74              weight at 30, while -F400/- will highpass the data.  Butterworth
75              band-pass: Append lo/hi/order, the two  wavelengths  in  correct
76              units  (see  -M)  and  the filter order (an integer) to design a
77              bandpass filter.  At the given wavelengths the Butterworth  fil‐
78              ter  weights  will be 0.5. To make a highpass or lowpass filter,
79              give a hyphen (-) for the hi  or  lo  wavelength,  respectively.
80              E.g.,  -F-/30/2  will lowpass the data using a 2nd-order Butter‐
81              worth filter, with half-weight at 30, while -F400/-/2 will high‐
82              pass the data.
83
84       -I     Integrate the field, i.e., compute integral_over_z (field * dz).
85              This is equivalent to divide by kr in the frequency  domain  (kr
86              is  radial  wave  number).   Append  a  scale to divide by (kr *
87              scale) instead.  Alternatively, append g to indicate  that  your
88              data set is gravity anomalies in mGal and output should be geoid
89              heights in meters.  [Default is no scale].
90
91       -L     Leave trend alone.  By default, a linear trend will  be  removed
92              prior to the transform.
93
94       -M     Map units.  Choose this option if your grid file is a geographi‐
95              cal grid and you want to convert degrees into  meters.   If  the
96              data  are  close  to either pole, you should consider projecting
97              the grid file onto a rectangular coordinate system using grdpro‐
98              ject.
99
100       -N     Choose  or  inquire about suitable grid dimensions for FFT.  -Nf
101              will force the FFT to use the dimensions of the data.  -Nq  will
102              inQuire  about more suitable dimensions.  -Nnx/ny will do FFT on
103              array size nx/ny (Must be >= grid file size).   Default  chooses
104              dimensions  >=  data  which optimize speed, accuracy of FFT.  If
105              FFT dimensions > grid file dimensions,  data  are  extended  and
106              tapered to zero.
107
108       -S     Multiply  each  element  by scale in the space domain (after the
109              frequency domain operations).  [Default is 1.0].
110
111       -T     Compute the isostatic  compensation  from  the  topography  load
112              (input  grid  file)  on  an elastic plate of thickness te.  Also
113              append densities for load,  mantle,  water,  and  infill  in  SI
114              units.   If  te  ==  0  then  the Airy response is returned.  -T
115              implicitly sets -L.
116
117       -V     Selects verbose mode, which will send progress reports to stderr
118              [Default runs "silently"].
119

GRID FILE FORMATS

121       By  default GMT writes out grid as single precision floats in a COARDS-
122       complaint netCDF file format.  However, GMT is  able  to  produce  grid
123       files  in  many  other commonly used grid file formats and also facili‐
124       tates so called "packing" of grids, writing out floating point data  as
125       2-  or 4-byte integers. To specify the precision, scale and offset, the
126       user should add the suffix =id[/scale/offset[/nan]], where id is a two-
127       letter  identifier of the grid type and precision, and scale and offset
128       are optional scale factor and offset to be applied to all grid  values,
129       and  nan  is  the  value  used  to indicate missing data.  When reading
130       grids, the format is generally automatically recognized.  If  not,  the
131       same  suffix can be added to input grid file names.  See grdreformat(1)
132       and Section 4.17 of the GMT Technical Reference and Cookbook  for  more
133       information.
134
135       When reading a netCDF file that contains multiple grids, GMT will read,
136       by default, the first 2-dimensional grid that can find in that file. To
137       coax  GMT  into  reading another multi-dimensional variable in the grid
138       file, append ?varname to the file name, where varname is  the  name  of
139       the variable. Note that you may need to escape the special meaning of ?
140       in your shell program by putting a backslash in  front  of  it,  or  by
141       placing  the  filename and suffix between quotes or double quotes.  The
142       ?varname suffix can also be used for output grids to specify a variable
143       name  different  from the default: "z".  See grdreformat(1) and Section
144       4.18 of the GMT Technical Reference and Cookbook for more  information,
145       particularly on how to read splices of 3-, 4-, or 5-dimensional grids.
146

EXAMPLES

148       To  upward  continue  the  sea-level  magnetic  anomalies  in  the file
149       mag_0.grd to a level 800 m above sealevel:
150
151       grdfft mag_0.grd -C800 -V -Gmag_800.grd
152
153       To transform geoid heights in m (geoid.grd) on a geographical  grid  to
154       free-air gravity anomalies in mGal:
155
156       grdfft geoid.grd -Dg -V -Ggrav.grd
157
158       To  transform gravity anomalies in mGal (faa.grd) to deflections of the
159       vertical (in micro-radians) in the 038 direction, we must  first  inte‐
160       grate  gravity  to get geoid, then take the directional derivative, and
161       finally scale radians to micro-radians:
162
163       grdfft faa.grd -Ig38 -S1e6 -V -Gdefl_38.grd
164
165       Second vertical derivatives of gravity anomalies  are  related  to  the
166       curvature  of the field.  We can compute these as mGal/m^2 by differen‐
167       tiating twice:
168
169       grdfft gravity.grd -D -D -V -Ggrav_2nd_derivative.grd
170
171       The first order gravity anomaly (in mGal) due to the compensating  sur‐
172       face  caused  by  the  topography load topo.grd (in m) on a 20 km thick
173       elastic plate, assumed to be 4 km beneath the observation level can  be
174       computed as
175
176       grdfft     topo.grd    -T20000/2800/3330/1030/2300    -S0.022    -C4000
177       -Gcomp_faa.grd
178
179       where 0.022 is the scale needed for the first term in  Parker's  expan‐
180       sion  for  computing  gravity  from  topography (= 2 * PI * G * (rhom -
181       rhol)).
182

SEE ALSO

184       GMT(1), grdedit(1), grdmath(1), grdproject(1)
185
186
187
188GMT 4.5.6                         10 Mar 2011                        GRDFFT(1)
Impressum