pygmt.which(fname, **kwargs)[source]

Find the full path to specified files.

Reports the full paths to the files given through fname. We look for the file in (1) the current directory, (2) in $GMT_USERDIR (if defined), (3) in $GMT_DATADIR (if defined), or (4) in $GMT_CACHEDIR (if defined).

fname can also be a downloadable file (either a full URL, a @file special file for downloading from the GMT Site Cache, or @earth_relief_* topography grids). In these cases, use option download to set the desired behavior. If download is not used (or False), the file will not be found.

Full option list at


  • G = download

  • fname (str) – The file name that you want to check.

  • download (bool or str) – If the file is downloadable and not found, we will try to download the it. Use True or ‘l’ (default) to download to the current directory. Use ‘c’ to place in the user cache directory or ‘u’ user data directory instead.


path (str) – The path of the file, depending on the options used.


FileNotFoundError – If the file is not found.