Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets. "Gridded data sets" in the Ferret environment may be multi-dimensional model outputs, gridded data products (e.g., climatologies), singly dimensioned arrays such as time series and profiles, and for certain classes of analysis, scattered n-tuples (optionally, grid-able using Ferret's objective analysis procedures). Ferret accepts data from ASCII and binary files, and from two standardized, self-describing formats. Ferret's gridded variables can be one to four dimensions‚Äîusually (but not necessarily) longitude, latitude, depth, and time. The coordinates along each axis may be regularly or irregularly spaced
Ferret offers the ability to define new variables interactively as mathematical expressions involving data set variables and abstract coordinates. Calculations may be applied over arbitrarily shaped regions. Ferret's "external functions" framework allows external code written in FORTRAN, C, or C++ to merge seamlessly into Ferret at runtime. Using external functions, users may easily add specialized model diagnostics, advanced mathematical capabilities, and custom output formats to Ferret. A collection of general utility external functions is included with Ferret.
Ferret provides fully documented graphics, data listings, or extractions of data to files with a single command. Without leaving the Ferret environment, graphical output may be customized to produce publication-ready graphics. Graphic representations include line plots, scatter plots, line contours, filled contours, rasters, vector arrows, polygonal regions and 3D wire frames. Graphics may be presented on a wide variety of map projections. Interfaces to integrate with 3D and animation applications, such as Vis5D and XDataSlices are also provided.
This User's Guide describes only the command line interface to Ferret. Other documents describe the point and click interface.
Ferret was developed by the Thermal Modeling and Analysis Project (TMAP) at NOAA/PMEL in Seattle to analyze the outputs of its numerical ocean models and compare them with gridded, observational data. Model data sets are often multi-gigabyte in size with mixed 3- and 4-dimensional variables defined on staggered grids.
Ferret graphics calls are made using the Plot Plus (PPLUS) graphics package, which is contained within Ferret. Plot Plus was written by Don Denbo. The Ferret version of PPLUS has diverged somewhat from the original, and the Ferret developers are responsible for these changes and for all of Ferret's graphics. Additions to PPLUS, for Ferret only, are documented in Appendix C of this manual which also has a brief history of the PPLUS graphics package.
Ferret is supported on a variety of Unix workstations with a version also available for Windows NT/9x/XP. Ferret is available here at no charge.
The Ferret User's Group provides a venue to ask experienced Ferret users for advice solving problems and to keep abreast of the latest Ferret updates. To (un)join simply send an e-mail message to
and include a message which says simply
(Note this must be in the e-mail message BODY‚Äînot in the subject line.) To learn about the user's list without joining send this message instead to the same address:
The Ferret Home Page contains source code distributions, on line documentation, Users' Group archives, Frequently Asked Questions and more.