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   or  a  Gaussian  band-pass  filter.
57              Cosine-taper: Specify four wavelengths in correct units (see -M)
58              to design a bandpass filter: wavelengths greater than lc or less
59              than hc will be cut, wavelengths greater than lp and  less  than
60              hp  will  be  passed, and wavelengths in between will be cosine-
61              tapered.  E.g., -F1000000/250000/50000/10000 -M  will  bandpass,
62              cutting  wavelengths  > 1000 km and < 10 km, passing wavelengths
63              between 250 km and 50 km.  To make a highpass or lowpass filter,
64              give  hyphens  (-)  for hp/hc or lc/lp.  E.g., -Fx-/-/50/10 will
65              lowpass x, passing wavelengths > 50 and rejecting wavelengths  <
66              10.   -Fy1000/250/-/- will highpass y, passing wavelengths < 250
67              and rejecting wavelengths > 1000.   Gaussian  band-pass:  Append
68              two  wavelengths  in correct units (see -M) to design a bandpass
69              filter.  At the given wavelengths the  Gaussian  filter  weights
70              will be 0.5. To make a highpass or lowpass filter, give a hyphen
71              (-) for the hi or lo  wavelength,  respectively.   E.g.,  -F-/30
72              will  lowpass  the data using a Gaussian filter with half-weight
73              at 30, while -F400/- will highpass the data.
74
75       -I     Integrate the field, i.e., compute integral_over_z (field * dz).
76              This  is  equivalent to divide by kr in the frequency domain (kr
77              is radial wave number).  Append a  scale  to  divide  by  (kr  *
78              scale)  instead.   Alternatively, append g to indicate that your
79              data set is gravity anomalies in mGal and output should be geoid
80              heights in meters.  [Default is no scale].
81
82       -L     Leave  trend  alone.  By default, a linear trend will be removed
83              prior to the transform.
84
85       -M     Map units.  Choose this option if your grid file is a geographi‐
86              cal  grid  and  you want to convert degrees into meters.  If the
87              data are close to either pole, you  should  consider  projecting
88              the grid file onto a rectangular coordinate system using grdpro‐
89              ject.
90
91       -N     Choose or inquire about suitable grid dimensions for  FFT.   -Nf
92              will  force the FFT to use the dimensions of the data.  -Nq will
93              inQuire about more suitable dimensions.  -Nnx/ny will do FFT  on
94              array  size  nx/ny (Must be >= grid file size).  Default chooses
95              dimensions >= data which optimize speed, accuracy  of  FFT.   If
96              FFT  dimensions  >  grid  file dimensions, data are extended and
97              tapered to zero.
98
99       -S     Multiply each element by scale in the space  domain  (after  the
100              frequency domain operations).  [Default is 1.0].
101
102       -T     Compute  the  isostatic  compensation  from  the topography load
103              (input grid file) on an elastic plate  of  thickness  te.   Also
104              append  densities  for  load,  mantle,  water,  and infill in SI
105              units.  If te == 0 then  the  Airy  response  is  returned.   -T
106              implicitly sets -L.
107
108       -V     Selects verbose mode, which will send progress reports to stderr
109              [Default runs "silently"].
110

GRID FILE FORMATS

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

EXAMPLES

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

SEE ALSO

175       GMT(1), grdedit(1), grdmath(1), grdproject(1)
176
177
178
179GMT 4.3.1                         15 May 2008                        GRDFFT(1)
Impressum