Personal tools
You are here: Home Documentation Users Guide
Document Actions

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


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: