|
Ferret User's Guide
Chapter 1. Introduction
1.1 OVERVIEW
Ferret User's Group
Ferret Home Page
1.2 GETTING STARTED
Concepts
Thinking like a Ferret:
Unix command line switches
Sample sessions
Accessing a netCDFdata set
Reading an ASCII data file
Using viewports
Using abstract variables
Using transformations
Using algebraic expressions
Finding the 20-degree isotherm
1.3 COMMON COMMANDS
1.4 COMMAND SYNTAX
1.5 GO FILES
Demonstration files
GO tools
Writing GO tools
Documenting GO tools
Preserving the Ferret state in GO tools
Silent GO tools
Arguments to GO tools
Documentation and checking arguments to GO tools
Flow Control in GO tools
Debugging GO tools
1.6 SAMPLE DATA SETS
UNIX TOOLS
HELP
Examples and demonstrations
Help from within Ferret
Web-based information
Chapter 2. Data Set Basics
2.1 OVERVIEW
2.2 NETCDF DATA
NetCDF data and strides
NetCDF data attributes
NetCDF Data with the bounds attribute
Multi-file NetCDF data sets
Non-standard NetCDF data sets
NetCDF and non-standard calendars
2.3 TMAP-FORMATTED DATA
2.4 BINARY DATA
FORTRAN-structured binary files
Records of uniform length
Records of non-uniform length
Fortran binary files, variables on different grids.
Stream binary files
Simple stream files
Mixed stream files
Byte-swapped stream files
2.5 ASCII DATA
Reading ASCII files
Reading "DELIMITED" data files
2.6 TRICKS TO READING BINARY AND ASCII FILES
2.7 ACCESS TO REMOTE DATA SETS WITH DODS
What is DODS?
Accessing Remote Data Sets
Debugging Access to Remote DODS Data Sets
Security
Sharing Data Sets via DODS
DODS caching
Proxy servers
Chapter 3. Variables & Expressions
3.1 VARIABLES
Variable syntax
File variables
Pseudo-variables
Grids and axes of pseudo-variables
User-defined variables
Abstract variables
Missing value flags
Missing values in input files
Missing values in user-defined variables
Missingvalues in output NetCDF files
Displaying the missing value flag
Returning properties of variables
Variable and dataset attributes
SHOW ATTRIBUTE commands
Attribute keywords
Programmatic access to attributes
Editing attributes
Output attributes to NetCDF fies
Output Variables to NetCDF files
3.2 EXPRESSIONS
Operators
Multi-dimensional expressions
Functions
MAX
MIN
INT
ABS
EXP
LN
LOG
SIN
COS
TAN
ASIN
ACOS
ATAN
ATAN2
MOD
DAYS1900
MISSING
IGNORE0
RANDU
RANDN
RHO_UN
THETA_FO
RESHAPE
ZAXREPLACE
XSEQUENCE, YSEQUENCE, ZSEQUENCE, TSEQUENCE
FFTA
FFTP
SAMPLEI
SAMPLEJ
SAMPLEK
SAMPLEL
SAMPLEIJ
SAMPLET_DATE
SAMPLEXY
SAMPLEXY_CLOSEST
SAMPLEXY_CURV
SCAT2GRIDGAUSS_XY
SCAT2GRIDGAUSS_XZ
SCAT2GRIDGAUSS_YZ
SCAT2GRIDLAPLACE_XY
SCAT2GRIDLAPLACE_XZ
SCAT2GRIDLAPLACE_YZ
SORTI
SORTJ
SORTK
SORTL
TAUTO_COR
XAUTO_COR
TAX_DATESTRING
TAX_DAY
TAX_DAYFRAC
TAX_JDAY
TAX_MONTH
TAX_UNITS
TAX_YEAR
TAX_YEARFRAC
Transformations
General information about transformations
Transformations applied to irregular regions
General information about smoothing transformations
@DIN—definite integral
@IIN—indefinite integral
@AVE—average
VAR—weighted variance
MIN—minimum
@MAX—maximum
@SHF:n—shift
@SBX:n—boxcar smoother
@SBN:n—binomial smoother
@SHN:n—Hanning smoother
@SPZ:n—Parzen smoother
@SWL:n—Welch smoother
@DDC—centered derivative
@DDF—forward derivative
@DDB—backward derivative
@NGD—number of good points
@NBD—number of bad points
@SUM—unweighted sum
@RSUM—running unweighted sum
@FAV:n—averaging filler
@FLN:n—linear interpolation filler
@FNR—nearest neighbor filler
@LOC—location of
@WEQ—weighted equal; integration kernel
@ITP—interpolate
@CDA—closest distance above
@CDB—closest distance below
@CIA—closest index above
@CIB—closest index below
IF-THEN logic ("masking")
Lists of constants ("constant arrays")
3.3 EMBEDDED EXPRESSIONS
Special calculations using embedded expressions
3.4 DEFINING NEW VARIABLES
Global, local, and default variable definitions
3.5 DEBUGGING COMPLEX HIERARCHIES OF EXPRESSIONS
Chapter 4. Grids & Regions
4.1 OVERVIEW
4.2 GRIDS
Defining grids
Time axes and calendars
Dynamic grids and axes
Dynamic grids
Dynamic axes
Dynamic pseudo-variables
Regridding
Regridding transformations
Modulo regridding
Modulo regridding statistics
4.3 REGIONS
Latitude
Longitude
Depth
Time
Delta
@ notation
Modulo axes
Subspan Modulo Axes
Region Conflicts
4.4 FERRET PROGRAM LIMITS
Chapter 5. Animations & Gif Images
5.1 OVERVIEW
Animating on the fly
Note on using whirlgif to make a movie
5.2 CREATING AN HDF MOVIE
5.3 DISPLAYING AN HDF MOVIE
5.4 ADVANCED MOVIE-MAKING
REPEAT command
Initializing the color table
Making movies in batch mode
5.5 CREATING GIF IMAGES
5.6 CREATING MPEG ANIMATIONS
Chapter 6. Customizing Plots
6.1 OVERVIEW
6.2 GRAPHICAL OUTPUT
Ferret graphical output controls
PPLUS graphical output commands
6.3 AXES
Ferret axis formatting
PPLUS axis commands
Overlaying symbols on a time axis
6.4 LABELS
Adding labels
Listing labels
Removing movable labels
Axis labels and title
Ferret label controls
PPLUS label commands
Positioning labels relative to other plot elements
Positioning labels using the mouse pointer
Labeling details with arrows and text
6.5 COLOR
Text and line colors2
Ferret color controls for lines
PPLUS text and line color commands
Shade and fill colors
Ferret shade and fill color controls
PPLUS shade color commands
6.6 FONTS
Ferret font and text color
PPLUS font and text color commands
6.7 PLOT LAYOUT
Ferret layout controls
Viewports
Pre-defined viewports
Advanced usage of viewports
Viewport Symbols
PPLUS layout commands
Controlling the white space around plots
6.8 CONTOURING
Ferret contour controls
/LEVELS qualifier
/PEN, /SIZE, /SIGDIG, /SPACING qualifiers
PPLUS contour commands
6.9 SPECIAL SYMBOLS
6.10 MAP PROJECTIONS AND CURVILINEAR COORDINATES
Three-argument (curvilinear) version of SHADE, FILL, CONTOUR, and VECTOR
Gridded data sets on curvilinear coordinates
Layered (sigma) coordinates
Map Projections
Using Map Projection scripts
Overlays with Map Projections
Map Projection scripts
Chapter 7. Handing String Data Symbols
7.1 STRING VARIABLES
String arrays
7.2 STRING FUNCTIONS
STRCMP(string1, string2)
STRLEN(string1)
UPCASE(string1)
DNCASE(string1)
STRINDEX(string1, substring)
STRRINDEX(string1, substring)
SUBSTRING(string1, offset, len)
STRCAT(string1, str2)
STRFLOAT(string1)
LABWID(string, charsize)
SPAWN command
Algebraic operations with string variables.
Logical operators with strings
Shift transformation of string arrays
Strings in IF-THEN-ELSE
String concatenation with "+":
Strings as Function arguments
Regridding string arrays
NetCDF input and output of string data
7.3 SYMBOL COMMANDS
7.4 AUTOMATICALLY GENERATED SYMBOLS
7.5 USE WITH EMBEDDED EXPRESSIONS
7.6 ORDER OF STRING SUBSTITUTIONS
7.7 CUSTOMIZING THE POSITION AND STYLE OF PLOT LABELS
7.8 USING SYMBOLS IN COMMAND FILES
7.9 PLOT+ STRING EDITING TOOLS
7.10 SYMBOL EDITING
7.11 SPECIAL SYMBOLS
Chapter 8. Working with Special Data Sets
8.1 WHAT IS NON-GRIDDED DATA?
8.2 POINT DATA
Getting point data into Ferret
How point data is structured in Ferret
Working with dates
Subsampling gridded fields onto point locations and times
Defining gridded variables from point data
Visualization techniques for point data
8.3 VERTICAL PROFILES
How collections of profiles are structured in Ferret
Getting profile data into Ferret
Defining vertical sections from profiles
Visualization and analysis techniques for profile sections
Subsampling gridded fields onto profile coordinates
8.4 COLLECTIONS OF TIME SERIES
8.5 COLLECTIONS OF 2-DIMENSIONAL GRIDS
LAGRANGIAN DATA
Visualization techniques for Lagrangian data
8.6 SIGMA COORDINATE DATA
Visualization techniques for sigma coordinate data
Analysis techniques for sigma coordinate data
8.7 CURVILINEAR COORDINATE DATA
Visualization techniques for curvilinear coordinate data
Analysis techniques for curvilinear coordinate data
8.8 POLYGONAL DATA
Visualization techniques for polygonal data
Analysis techniques for polygonal data
Chapter 9. Computing Environment
9.1 SETTING UP TO RUN FERRET
9.2 FILES AND ENVIRONMENT VARIABLES USED BY FERRET
MEMORY USE
9.3 HARD COPY AND METAFILE TRANSLATION
1Hard copy: postscript output
Metafile translation
Hard Copy: gif files
9.4 OUTPUT FILE NAMING
9.5 INPUT FILE NAMING
Relative version numbers
Chapter 10. Converting to NetCDF
10.1 OVERVIEW
10.2 SIMPLE CONVERSIONS USING FERRET
10.3 WRITING A CONVERSION PROGRAM
Creating a CDL file with Ferret
The CDL file
Dimensions
Variables
Data
Standardized NetCDF attributes
Directing data to a CDF file
Advanced NetCDF procedures
Staggered grid
Hyperslabs
Unevenly spaced coordinates
Evenly spaced coordinates (long axes)
"Modulo" axes
Reversed-coordinate axes
Converting time word data to numerical data
Example CDL file
10.4 CREATING A MULTI-FILE NETCDF DATA SET
Tools for making descriptor files
Example descriptor file
Chapter 11. Writing External Functions
11.1 OVERVIEW
11.2 GETTING STARTED
Getting example/development code
11.3 QUICK START EXAMPLE
The times2bad20 function
11.4 ANATOMY OF AN EXTERNAL FUNCTION
The ~_init subroutine (required)
The ~_compute subroutine (required)
The ~_work_size subroutine (required when work arrays are defined)
The ~_result_limits subroutine (required if result has a custom or abstract axis)
The ~_custom_axes subroutine (required if result has a custom axis)
11.5 NOTES AND SUGGESTIONS
Inheriting axes
Loop indices
Reduced axes
String Arguments
11.6 UTILITY FUNCTIONS
EF_Util.cmn
Available utility functions
ef_set_desc(id, desc)
ef_set_num_args(id, num)
ef_set_axis_inheritance(id, Xsrc, Ysrc, Zsrc, Tsrc)
ef_set_piecemeal_ok(id, Xyn, Yyn, Zyn, Tyn)
ef_set_arg_name(id, arg, name)
ef_set_arg_desc(id, arg, desc)
ef_set_arg_unit(id, arg, unit)
ef_set_arg_type(id, arg, type)
ef_set_axis_extend(id, arg, axis, lo_amt, hi_amt)
ef_set_axis_influence(id, arg, Xyn, Yyn, Zyn, Tyn)
ef_set_axis_reduction(id, Xred, Yred, Zred, Tred)
ef_set_axis_limits(id, axis, lo, hi)
ef_set_custom_axis(id, axis, lo, hi, delta, unit, modulo)
ef_set_num_work_arrays(id, nwork)
ef_set_work_array_dims(id, iarray, xlo, ylo, zlo, tlo, xhi, yhi, zhi, thi)
ef_get_res_subscripts(id, res_lo_ss, res_hi_ss, res_incr)
ef_get_arg_info(id, iarg, arg_name, arg_title, arg_units)
ef_get_arg_string(id, iarg, text)
ef_get_one_arg_string(id, iarg, text)
ef_get_axis_info(id, iarg, axname, ax_units, backward, modulo, regular)
ef_get_axis_dates(id, iarg, taxis, numtimes, datebuf)
ef_get_axis_calendar(id, iarg, calname, yrdays, nmonths, days_in_month)
ef_get_arg_subscripts(id, arg_lo_ss, arg_hi_ss, arg_incr)
ef_get_arg_ss_extremes(id, num_args, ss_min, ss_max)
ef_get_bad_flags(id, bad_flag, bad_flag_result)
ef_get_coordinates(id, arg, axis, lo, hi, coords)
ef_get_box_size(id, arg, axis, lo, hi, size)
ef_get_box_limits(id, arg, axis, lo, hi, lo_lims, hi_lims)
ef_get_one_val(id, arg, value)
ef_get_string_arg_element(id, arg, i,j,k,l, str_arg, slen, text)
ef_get_string_arg_element_len (id, arg, str_arg, i,j,k,l, slen)
ef_get_string_arg_max_len (id, arg, str_arg, slen)
ef_version_test (version)
ef_bail_out(id, text)
Commands Reference
GLOSSARY
Appendix A: External Functions
COMPRESSI
COMPRESSJ
COMPRESSK
COMPRESSL
COMPRESSI_BY
COMPRESSJ_BY
COMPRESSK_BY
COMPRESSL_BY
CONVOLVEI
CURV_TO_RECT_MAP
CURV_TO_RECT
RECT_TO_CURV
DATE1900
DAYS1900TOYMDHMS
ELEMENT_INDEX
ELEMENT_INDEX_STRING
EOF_SPACE
EOF_STAT
EOF_TFUNC
FINDHI
FINDLO
FFT_IM
FFT_RE
FFT_INVERSE
IS_ELEMENT_OF
IS_ELEMENT_OF_STR
LANCZOS
LSL_LOWPASS
MINUTES24
WRITEV5D
XCAT
YCAT
ZCAT
TCAT
ZAXREPLACE_AVG
ZAXREPLACE_BIN
Appendix B: PPLUS Guide
INTRODUCTION
GETTING STARTED
VAX/VMS
Required Definitions
Optional Definitions
COMMAND FORMAT
THE COMMANDS
COMMAND SYNOPSIS
FILES
Data Files
Other Data Entry
PPLUS Output Files
PPLUS Command Files
AXIS
X- And Y-axis
Time Axis
LABELS
COMMAND PROCEDURES
COLOR AND FONTS
PLOT APPEARANCE
PLOT GENERATION
DATA MANIPULATION
HELP
BEGINNERS GUIDE
FORMAT
5.2 VARS
SKP AND RD
PLOT AND CONTOUR
EXAMPLES
Unformatted Data, X-Y Plot
Pre-gridded Data, Contour Plot
Ungridded Data, Contour Plot
Time Series Plot
ROUTING PLOT FILES
VAX/VMS
Plot Files And Mom
Plotting Devices
Examples
PPLUS COMMAND FILES
INTRODUCTION
SYMBOL SUBSTITUTION
GENERAL GLOBAL SYMBOLS
EPIC GLOBAL SYMBOLS
COMMAND FILE LOGIC
ARITHMETIC
SYMBOL ARRAYS
SPECIAL FUNCTIONS
$EDIT
$EXTRACT
$INTEGER
$LENGTH
$LOCATE
$ELEMENT
LABELS
AXIS LABELING
EMBEDDED STRING COMMANDS
Pen Selection
Character Slant
Subscripting, Superscripting And Back Spacing
DATA FORMATS
SEQUENTIAL FORMATS
BIBO FORMAT
EPIC FORMAT
DSF FORMAT
ADVANCED COMMANDS
%OPNPLT/qualifier
%CLSPLT/qualifiers
%PLTLIN,n
%LABEL/qualifier,x,y,ipos,ang,chsiz,label
%RANGE,min,max,ntic
%XAXIS/qualifier,xlow,xhigh,xtic,y[,nmstc][,lint][,xunit][,ipos][,csize][,frmt]
%YAXIS/qualifier,ylow,yhigh,ytic,x[,nmstc][,lint] [,yunit][,ipos][,csize][,frmt]
PLOT5, PPLUS DIFFERENCES
COMMAND DESCRIPTION
@file_name/qualifier arg1 arg2 arg3 ...
AUTO,ON/OFF
AUTOLAB,ON/OFF
AXATIC,ATICX,ATICY
AXLABP,LABX,LABY
AXLEN,XLEN,YLEN
AXLINT,LINTX,LINTY
AXLSZE,HGTX,HGTY
AXNMTC,NMTCX,NMTCY
AXNSIG,NSIGX,NSIGY
AXSET,TOP,BOT,LEFT,RIGHT
AXTYPE,TYPEX,TYPEY
BAUD,IB
BOX,ON/OFF
C
CLSPLT
CONPRE,prefix
CONPST,postfix
CONSET,HGT,NSIG,NARC,DASHLN,SPACLN,CAY,NRNG,DSLAB
CROSS,ICODE
DATPT,type,mark
DEBUG on/off
DEC symbol
DELETE symbol
DFLTFNT,font
DIR,arg
ECHO,on/off
ENGLISH
ENTER
EVAR/qualifier,x-var,y-var
GET,file_name
GRID[,LINEAR]
HELP,arg
HLABS,n,height
HLP,arg
F expression THEN
INC sym
LABS/qualifier,n,X,Y,JST,label
LABSET,HLAB1,HXLAB,HYLAB,HLABS
LEV,arg,arg,arg ...
LIMITS,value,comparison,flag
LINE,n,MARK,TYPE,XOFF,YOFF,DN1,UP1,DN2,UP2
LINFIT,n,XIMIN,XIMAX,XOMIN,XOMAX
LIST,IMIN,IMAX,JMIN,JMAX,VCOMP,arg
LISTSYM
LLABS,n,X,Y,TYPE
MARKH,n,SIZE
METRIC
NLINES
ORIGIN,XORG,YORG
PEN,n,ipen
PLOT/qualifiers,label
PLOTV/qualifiers,VANG,INC,label
PLOTUV/qualifiers,VANG,INC,label
PLTNME,fname
PLTYPE,ICODE
RD/qualifier,NX,NY,TYPE,n,file_name
RESET
RETURN
RLABS,n,ANG
ROTATE,ON/OFF
RWD,file_name
SAVE,file_name
SET sym arg
SHOW symbol
SIZE,width,height
SKP,n,file_name
SMOOTH,n
SPAWN
TAXIS/qualifier,DT,arg
TEKNME[,fname]
TICS,SMX,LGX,SMY,LGY,IX,IY
TIME,TMIN,TMAX,TSTART
TITLE,HLAB,label
TKTYPE,TYPE
TRANSXY,n,XFACT,XOFF,YFACT,YOFF
TXLABP,n
TXLINT,low_int,hi_int
TXLSZE,ht
TXNMTC,n
TXTYPE,type,style
VARS,NGRP,A1,A2,A3,...,Ai
VECKEY/qualifier,x,y,ipos,format
VECSET,length,scale
VECTOR/qual,skipx,skipy,label
VELVCT,rlenfact,inc
VIEW/qualifiers,ZSCALE,IC,ZMIN,ZMAX,VCOMP,label
WHILE expression THEN
WINDOW,ON/OFF
XAXIS,XLO,XHI,XTIC
XFOR,frmt
XLAB,label
YAXIS,YLO,YHI,YTIC
YFOR,frmt
YLAB,label
FONT TABLES
Appendix C: Ferret-Specific PPLUS Enhancements
PLOTPLUS HISTORY, EVOLUTION
ENHANCED COMMANDS DESCRIPTION
ALINE/qualifier line#, minx, miny, maxx, maxy, set
CLSPLT
COLOR n, red, green, blue
CONSET hgt, nsig, narc, dashln, spacln, cay, nrng, dslab, spline_tension, draftsman
FILL/qualifier
LINE n, mark, use
LIST arg
PEN n, ndx
PLTNME metafile_name
PLTYPE icode META
SHADE/qualifier
SHAKEY do_key, orient, klab_siz, klab_inc, klab_dig, klab_len, kx_lo, kx_hi, ky_lo, ky_hi
SHASET
GKS LINE BUNDLES
HARD COPY
|