E routines

All GAMAP Routines

List routines by category:
Atmospheric Sciences | Benchmarking | Color | Date/Time | Doc | File & I/O | BPCH Format | Scientific Data Formats | GAMAP Examples | GAMAP Internals | GAMAP Utilities | GAMAP Data Manipulation | GAMAP Models & Grids | GAMAP Plotting | General | Graphics | Math & Units | Plotting | Regridding | Strings | Structures | Time Series

List routines by alphabetical order:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Last modified: Tue Apr 4 10:50:24 2017.


List of Routines


Routine Descriptions

EMISSION_DIFFERENCES

[Next Routine] [List of Routines]
 NAME:
        EMISSION_DIFFERENCES

 PURPOSE:
        Creates emission difference plots ( New - Old ) for GEOS-Chem.

 CATEGORY:
        Benchmarking

 CALLING SEQUENCE:
        EMISSION_DIFFERENCES, FILES, TAUS, VERSIONS, [, Keywords ]

 INPUTS:
        FILES -> A 2-element vector containing the names of files
             from the "old" and "new" GEOS-Chem model versions
             that are to be compared. 

        TAUS -> A 2-element vector contaning TAU values (hours GMT
             from /1/1985) corresponding to the "old" and "new"
             GEOS-Chem model versions.

        VERSIONS -> A 2-element vector containing the version
             numbers for the "old" and "new" GEOS-Chem model
             versions.

 KEYWORD PARAMETERS:
        /PS -> Set this switch to generate PostScript output.

        OUTDIR -> If /PS is set, then EMISSION_DIFFERENCES will
             create PostScript files in this directory.

 OUTPUTS:
        None

 SUBROUTINES:
        Internal Subroutines Included:
        ===========================================
        ComputeEmDiff   PlotEmDiff
        CreatePlots

        External Subroutines Required:
        ============================================
        OPEN_DEVICE     CLOSE_DEVICE
        MULTIPANEL      COLORBAR_NDIV    (function)
        TVMAP           CHKSTRU          (function)
        UNDEFINE        EXTRACT_FILENAME (function)  
        CTM_GET_DATA    ADD_SEPARATOR    (function)
     
 REQUIREMENTS:
        References routines from both GAMAP and TOOLS packages.
        
 NOTES:
        (1) Meant to be called from BENCHMARK_1MON.

 EXAMPLES:
        FILES    = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02' ]
        TAUS     = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
        VERSIONS = [ 'v9-01-01', 'v9-01-02' ]
 
        EMISSION_DIFFERENCES, FILES, TAUS, VERSIONS, $
             /PS, OUTDIR='v9-01-02/output/'

             ; Creates emission difference plots of two GEOS-CHEM versions
             ; (in this case v9-01-02 - v9-01-01) for July 2005.

 MODIFICATION HISTORY:
        mps, 21 Apr 2015: Initial version based on emission_ratios.pro

(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_differences.pro)


EMISSION_MAPS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EMISSION_MAPS

 PURPOSE:
        Creates emission plots for GEOS-Chem tracers. 

 CATEGORY:
        Benchmarking

 CALLING SEQUENCE:
        EMISSION_MAPS, FILE, TAU, VERSION, [, Keywords ]

 INPUTS:
        FILE -> The name of the file containing data to be plotted.

        TAU  -> The TAU value (hours GMT from /1/1985) corresponding
                to the data to be plotted.

        VERSION -> The model version number corresponding to the
             data to be plotted.

 KEYWORD PARAMETERS:
        /PS -> Set this switch to generate PostScript output.

        OUTDIR -> If /PS is set, then EMISSION_MAPS will
             create PostScript files in this directory.

 OUTPUTS:
        None

 SUBROUTINES:
        Internal Subroutines Included:
        ===========================================
        CreatePlots     PlotEmissions

        External Subroutines Required:
        ============================================
        OPEN_DEVICE     CLOSE_DEVICE
        MULTIPANEL      COLORBAR_NDIV    (function)
        TVMAP           CHKSTRU          (function)
        UNDEFINE        EXTRACT_FILENAME (function)  
        CTM_GET_DATA    ADD_SEPARATOR    (function)
     
 REQUIREMENTS:
        References routines from both GAMAP and TOOLS packages.
        
 NOTES:
        (1) Meant to be called from BENCHMARK_1MON.

 EXAMPLES:
        FILE    = 'ctm.bpch.v10-01i'
        TAU     = NYMD2TAU( 20130701 )
        VERSION = 'v10-01i'
 
        EMISSION_MAPS, FILE, TAU, VERSION, /PS, OUTDIR='v10-01i/output/'

          ; Creates emission maps of GEOS-CHEM v10-01i for July 2013.

 MODIFICATION HISTORY:
        mps, 21 Apr 2015: Initial version based on emission_ratios.pro

(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_maps.pro)


EMISSION_RATIOS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EMISSION_RATIOS

 PURPOSE:
        Creates emission ratio plots ( New / Old ) for GEOS-Chem.

 CATEGORY:
        Benchmarking

 CALLING SEQUENCE:
        EMISSION_RATIOS, FILES, LEVELS, TAUS, VERSIONS, [, Keywords ]

 INPUTS:
        FILES -> A 2-element vector containing the names of files
             from the "old" and "new" GEOS-Chem model versions
             that are to be compared. 

        TAUS -> A 2-element vector contaning TAU values (hours GMT
             from /1/1985) corresponding to the "old" and "new"
             GEOS-Chem model versions.

        VERSIONS -> A 2-element vector containing the version
             numbers for the "old" and "new" GEOS-Chem model
             versions.

 KEYWORD PARAMETERS:
        /PS -> Set this switch to generate PostScript output.

        OUTDIR -> If /PS is set, then EMISSION_RATIOS will
             create PostScript files in this directory.

 OUTPUTS:
        None

 SUBROUTINES:
        Internal Subroutines Included:
        ===========================================
        ComputeEmRatios   PlotEmRatio
        CreatePlots

        External Subroutines Required:
        ============================================
        OPEN_DEVICE     CLOSE_DEVICE
        MULTIPANEL      COLORBAR_NDIV    (function)
        TVMAP           CHKSTRU          (function)
        UNDEFINE        EXTRACT_FILENAME (function)  
        CTM_GET_DATA    ADD_SEPARATOR    (function)
     
 REQUIREMENTS:
        References routines from both GAMAP and TOOLS packages.
        
 NOTES:
        (1) Meant to be called from BENCHMARK_1MON.

 EXAMPLES:
        FILES    = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02' ]
        TAUS     = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
        VERSIONS = [ 'v9-01-01', 'v9-01-02' ]
 
        EMISSION_RATIOS, FILES, TAUS, VERSIONS, $
             /PS, OUTDIR='v9-01-02/output/'

             ; Creates emission ratio plots of two GEOS-CHEM versions
             ; (in this case v9-01-02 / v9-01-01) for July 2005.

 MODIFICATION HISTORY:
        bmy, 10 Jun 2011: VERSION 1.00
                          - Initial version, based on "ratios.pro"
                          - Make sure directory ends with a path
                            separator character
        bmy, 23 Jun 2011: - Add ratio plot for lightning NOx
        bmy, 27 Jun 2011: - Now split top-title into 2 lines
        bmy, 11 Aug 2011: VERSION 1.01
                          - Fix bug by making values less than 0.5
                            not show up as missing data.
        bmy, 16 Dec 2011: GAMAP VERSION 2.16
                          - Remove ACET from dryleaf and ACET from
                            grass.  These were GEIA diagnostics,
                            which are now obsoleted.
        mps, 02 Apr 2013: Renamed NOx-xxxx emissions diagnostics to
                          NO-xxxx. NO emissions have now replaced
                          NOx emissions in GEOS-Chem (v9-02h). 
        mps, 15 Jul 2013: Fixed bug in MaxLev: Now plot column NO for
                          anthro, aircraft, and lightning emissions.
        mps, 25 Nov 2014: Now plot anthro + biofuel emissions because HEMCO
                          does not separate them
        ewl, 18 Mar 2015: Bug fixes: change NO, SO2, and SO4 anthro level 
                          from 2 to 1; change 'Tracer_bf ge 1' to 'Tracer_bf 
                          ge 0' to add biofuels to anthro in Create_Plots;
                          change Files index from 0 to 1 for Data2 err msg. 

(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_ratios.pro)


EOS_GETGR

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EOS_GETGR

 PURPOSE: 
        Convenience routine to read variables from an HDF-EOS
        grid data structure.

 CATEGORY:
        File & I/O, Scientific Data Formats

 CALLING SEQUENCE:
        DATA = EOS_GETGR( FID, NAME [, Keywords, _EXTRA=e ] )

 INPUTS:
        FID -> HDF-EOS File ID, as returned by routine EOS_GD_START.

        NAME -> Name of the HDF-EOS grid dataset variable that
             you want to extract from the HDF-EOS file. 

 KEYWORD PARAMETERS:
        GRIDNAME -> Name of the HDF-EOS grid under which the data
             is stored in the file.  You can use the IDL HDF_BROWSER
             routine to easily find the grid name. 

        _EXTRA=e -> Passes extra keywords to routine EOS_SW_READFIELD.

 OUTPUTS:
        DATA -> Array containing extracted data from the HDF-EOS file.

 SUBROUTINES:
        None

 REQUIREMENTS:
        Need to use a version of IDL w/ HDF-EOS routines installed.

 NOTES:
        None

 EXAMPLE:

        ; Make sure HDF is supported on this platform
        IF ( EOS_EXISTS() eq 0 ) then MESSAGE, 'HDF not supported!'

        ; Open the HDF file and get the file ID # (FID)
        FID = EOS_GD_OPEN( 'gridfile.hdf', /READ )
        IF ( FID lt 0 ) THEN MESSAGE, 'Error opening file!'

        ; Read a variable from a grid file
        DATA = EOS_GETGR( fId, 'Latitude', GRIDNAME='GRID1' )

        ; Close the file 
        STATUS = EOS_GD_CLOSE( FID )
        IF ( STATUS lt 0 ) THEN MESSAGE, 'Error closing file!'

 MODIFICATION HISTORY:
        bmy, 18 Sep 2002: TOOLS VERSION 1.51
        bmy, 19 Dec 2002: TOOLS VERSION 1.52
                          - fixed typos
        bmy, 04 Jun 2003: TOOLS VERSION 1.53
                          - fixed more typos
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10

(See /n/home09/ryantosca/IDL/gamap2/file_io/eos_getgr.pro)


EOS_GETSW

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EOS_GETSW

 PURPOSE: 
        Convenience routine to read variables from an HDF-EOS
        satellite swath data structure.

 CATEGORY:
        File & I/O, Scientific Data Formats

 CALLING SEQUENCE:
        DATA = EOS_GETSW( FID, NAME [, Keywords, _EXTRA=e ] )

 INPUTS:
        FID -> HDF File ID, as returned by routine EOS_SW_START.

        NAME -> Name of the satellite swath dataset variable that
             you want to extract from the HDF-EOS file. 

 KEYWORD PARAMETERS:
        SWATHNAME -> Name of the HDF-EOS swath under which the data
             is stored in the file.  You can use the IDL HDF_BROWSER
             routine to easily find the swath name. 

        _EXTRA=e -> Passes extra keywords to routine EOS_SW_READFIELD.

 OUTPUTS:
        DATA -> Array containing extracted data from the HDF-EOS file.

 SUBROUTINES:
        None

 REQUIREMENTS:
        Need to use a version of IDL w/ HDF-EOS routines installed.

 NOTES:
        None

 EXAMPLE:

        ; Make sure HDF is supported on this platform
        IF ( EOS_EXISTS() eq 0 ) then MESSAGE, 'HDF not supported!'

        ; Open the HDF file and get the file ID # (FID)
        FID = EOS_SW_OPEN( 'swathfile.hdf', /READ )
        IF ( FID lt 0 ) THEN MESSAGE, 'Error opening file!'

        ; Read a variable from a swath file
        DATA = EOS_GETSW( fId, 'Latitude', SWATHNAME='swath1' )

        ; Close the file 
        STATUS = EOS_SW_CLOSE( FID )
        IF ( STATUS lt 0 ) THEN MESSAGE, 'Error closing file!'

 MODIFICATION HISTORY:
        bmy, 18 Sep 2002: TOOLS VERSION 1.51
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10

(See /n/home09/ryantosca/IDL/gamap2/file_io/eos_getsw.pro)


ERRORBAR

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	 ERRORBAR

 PURPOSE:
        Plots error bars atop data points, 
        along the X or Y dimension.
  
 CATEGORY:
	 Plotting

 CALLING SEQUENCE:
	 ERRORBAR, XARR, YARR, ERROR [ , Keywords ]

 INPUTS:
        XARR, YARR -> Arrays of X and Y values correspoinding
             to the location of the data points.  XARR and YARR
             must have the same number of elements.

        ERROR -> An array (or scalar) of error values.  If ERROR
             is a scalar, its value will be used for all data
             points.  If ERROR is an array, it must be of the
             same dimension as XARR and YARR, or else an error
             message will be generated.

 KEYWORD PARAMETERS:
        /X -> If set, will plot error bars along the X-dimension.
             Default is to plot error bars along the Y-dimension.

 SUBROUTINES:
        None

 REQUIREMENTS
        None

 NOTES: 
        ERRORBAR just plots the error bars, but not the
        data points.  This is useful if you want to use 
        different colors for data points and error bars.

 MODIFICATION HISTORY:
        bmy, 21 Jul 1999: VERSION 1.01
                          - based on IDL routine OPLOTERR
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10

(See /n/home09/ryantosca/IDL/gamap2/plotting/errorbar.pro)


EXAMPLES_MANIP_4D

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLES_MANIP_4D

 PURPOSE:
        Shows how to manipulate TS data saved as 4D array with
        GC_COMBINE_ND49 or GC_COMBINE_ND48.
        The routine loops over all available 4D data blocks and print 
        information for each of them.

 CATEGORY:
        GAMAP Data Manipulation, GAMAP Examples, Time Series

 CALLING SEQUENCE

        EXAMPLES_MANIP_4D, File [ , Keywords ]

 INPUTS:

        FILE -> The name of the file created by GC_COMBINE_ND48/9.


 OUTPUT KEYWORD PARAMETERS: 
  #### ONLY THE LAST DATA SET IF MORE THAN ONE IS AVAILABLE ####

        DATA -> Output keyword. Set to a variable name that will
             contain the data set on exist.

        LON -> Output keyword. Set to a variable name that will
             contain the vector of LONGITUDES on exit.

        LAT -> Output keyword. Set to a variable name that will
             contain the vector of LATITUDES on exit.

        TIME -> Output keyword. Set to a variable name that will
              contain the vector of TIME STEP on exit. Format is
              YYYYMMDD if daily max is asked for (see DMAX keyword),
              TAU value else.

        LOCALTIME -> to get the output TIME in LOCALTIME. If there
             is more than one longitude in the data block, TIME
             becomes an array : one vector for each longitude.

 KEYWORD PARAMETERS:
        MAVG -> The window size (boxcar) of the moving average, if
             you want to apply one.

        DMAX -> Return daily maximum of the TS.

        VERBOSE -> to print some basic information about the data
                   set.

        _EXTRA=e -> Picks up extra keywords for routines


 OUTPUTS:
        With optional keyword.

 SUBROUTINES:

 REQUIREMENTS:
        References many routines from GAMAP package. Requires GAMAP
        v2.10 for handling 4D dataset.

 NOTES:

 EXAMPLES:

      file = dialog_pickfile()

      EXAMPLES_MANIP_4D, file, /v, data=ts, lat=lat, lon=lon, time=time

      PLOT, time-time[0], ts[0,0,0,*], title='Time series at lon='+ $
            strtrim(lon[0],2)+' / lat='+strtrim(lat[0],2)



 MODIFICATION HISTORY:
        phs, 6 Jun 2007: GAMAP VERSION 2.10
                          - Initial version

(See /n/home09/ryantosca/IDL/gamap2/examples/examples_manip_4d.pro)


EXAMPLE_ANIM_TS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLE_ANIM_TS

 PURPOSE:
        Illustrates how to use XINTERANIMATE with GAMAP 
        timeseries routine GC_COMBINE_ND49.

 CATEGORY:
        GAMAP Examples, GAMAP Utilities

 CALLING SEQUENCE:
        EXAMPLE_ANIM_TS [, Keywords ]

 INPUTS:
        None

 KEYWORD PARAMETERS:
        None

 OUTPUTS:
        None

 SUBROUTINES:
        External Subroutines Required:
        ================================================
        GC_COMBINE_ND49         MULTIPANEL
        MYCT                    PROGRAM_DIR (function)
        TAU2YYMMDD (function)   TVMAP

 REQUIREMENTS:
        Requires routines from the GAMAP package.

 NOTES:
        None

 EXAMPLE:
        EXAMPLE_ANIM_TS
             ; Creates sample animation from timeseries data.

 MODIFICATION HISTORY:
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.11

(See /n/home09/ryantosca/IDL/gamap2/examples/example_anim_ts.pro)


EXAMPLE_ND48_ND49

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLE_ND48_ND49

 PURPOSE:
        Creates several example plots to illustrate the use of GAMAP
        timeseries routines GC_COMBINE_ND48 and GC_COMBINE_ND49.

 CATEGORY:
        GAMAP Examples, GAMAP Utilities, Time Series

 CALLING SEQUENCE:
        EXAMPLE_ND48_ND49 [, Keywords ]

 INPUTS:
        None

 KEYWORD PARAMETERS:
        /PNG -> Set this switch to save screen output
             Portable Network Graphics (PNG) format.

 OUTPUTS:
        None

 SUBROUTINES:
        External Subroutines Required:
        =========================================
        GC_COMBINE_ND48   GC_COMBINE_ND49
        MULTIPANEL        PROGRAM_DIR (function)
        SCREEN2PNG

 REQUIREMENTS:
        Requires routines from the GAMAP package.

 NOTES:
        None

 EXAMPLE:
        EXAMPLE_ND48_ND49, /PNG
             ; Create example plots and save to PNG file.

 MODIFICATION HISTORY:
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.11

(See /n/home09/ryantosca/IDL/gamap2/examples/example_nd48_nd49.pro)


EXAMPLE_OVERPLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLE_OVERPLOT

 PURPOSE:
        Example program for overlay of data with model results.
        This program is meant to provide a demonstration example
        rather than a ready-to-use program, so please copy it
        and adapt it to your needs.
          For a try, just call EXAMPLE_OVERPLOT with no options.
        Before you rewrite this code, try some of the keyword 
        options to get a feel how it works.

 CATEGORY:
        GAMAP Examples, GAMAP Utilities

 CALLING SEQUENCE:
        EXAMPLE_OVERPLOT [,DATA [,ALTITUDE]] [,keywords]

 INPUTS:
        DATA -> A vector with your vertical profile data. If nothing
           is supplied, a dummy ozone profile is generated.

        ALTITUDE -> Altitude vector correspondign to your data. If not
           supplied, a vector will be created ranging from 0-12 km.

 KEYWORD PARAMETERS:
        Keywords to select certain model results:
        DIAGN -> Name (or number) of a diagnostic. Default is 'IJ-AVG-$'

        TRACER -> A tracer number (default is 2 = 'Ox')

        TAU0 -> A time step value. You can specify a date using the
             NYMD2TAU function.

        Keywords to select the geographical domain:
        LONRANGE, LATRANGE -> 2-element vectors specifying the minimum
             and maximum longitude and latitude for the model results
             to be considered. Not that LONRANGE[1] < LONRANGE[0] is 
             possible, denoting a region across the Pacific.

        Keywords to change the appearance of the plot:
        TITLE -> Give your plot a title. Default is 'EXAMPLE PLOT'
             with longitude and latitude rang and date.
             If you are sure that you select only one data record each
             time, you can leave it up to CTM_PLOT to construct a title
             (simply remove the TITLE keyword in the call to CTM_PLOT).
             Note that you can take advantage of various "variables"
             with the '%NAME%' notation (see GAMAP documentation for
             details).

        _EXTRA -> Look at the documentation of CTM_PLOT and add your
             favorite keywords to the call to EXAMPLE_OVERPLOT. You are
             likely to use XRANGE or XSTYLE. 

 OUTPUTS:
        just a plot ;-)

 SUBROUTINES:
        none

 REQUIREMENTS:
        uses ctm_get_dat and ctm_plot as well as everything that is
        needed by these to.

 NOTES:

 EXAMPLE:
        EXAMPLE_OVERPLOT

        data = your_fancy_reading_routine(filename)
        EXAMPLE_OVERPLOT,data,tau0=nymd2tau(940601L)

 MODIFICATION HISTORY:
        mgs, 21 May 1999: VERSION 1.00
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10

(See /n/home09/ryantosca/IDL/gamap2/examples/example_overplot.pro)


EXAMPLE_POLAR

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLE_POLAR

 PURPOSE:
        Quick and dirty examples of polar plots made with CTM_PLOT.

 CATEGORY:
        GAMAP Examples, GAMAP Utilities

 CALLING SEQUENCE:
        EXAMPLE_POLAR

 INPUTS:
        None

 KEYWORD PARAMETERS:
        /PS -> Set this switch to write output to a PostScript file.

 OUTPUTS:
        None

 SUBROUTINES:
        External Subroutines Required:
        =================================
        MYCT     CTM_PLOT   MULTIPANEL

 REQUIREMENTS:
        None

 NOTES:
        none

 EXAMPLE:
        EXAMPLE_POLAR, /PS
             ; Create polar plots and save to PostScript file.

 MODIFICATION HISTORY:
        mgs, 20 Aug 1998: INITIAL VERSION
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
                          - now uses FILE_WHICH to find ctm.bpch.examples
                          - rewritten for clarity
        bmy, 14 Mar 2008: GAMAP VERSION 2.12
                          - Bug fix: save output from FILE_WHICH to
                            FILE (instead of FILENAME)
                                

(See /n/home09/ryantosca/IDL/gamap2/examples/example_polar.pro)


EXAMPLE_TVMAP

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXAMPLE_TVMAP

 PURPOSE:
        Generates several example plots using CTM_PLOT and TVMAP.

 CATEGORY:
        GAMAP Examples, GAMAP Utilities

 CALLING SEQUENCE:
        EXAMPLE_TVMAP [, Keywords ]

 INPUTS:
        None

 KEYWORD PARAMETERS:
        /PNG -> Set this switch to save screen output
             Portable Network Graphics (PNG) format.

 OUTPUTS:
        None

 SUBROUTINES:
        External Subroutines Required:
        ====================================
        CTM_PLOT     MULTIPANEL
        MYCT         NYMD2TAU  (function)
        SCREEN2PNG   TVMAP

 REQUIREMENTS:
        Requires routines from the GAMAP package.

 NOTES:
        None

 EXAMPLE:

        EXAMPLE_TVMAP, /SAMPLE
             ; Create example plots with pixel plots for all plots.

        EXAMPLE_TVMAP, /PNG
             ; Create example plots and save to a PNG file.

 MODIFICATION HISTORY:
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.11

(See /n/home09/ryantosca/IDL/gamap2/examples/example_tvmap.pro)


EXPAND_CATEGORY (FUNCTION)

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXPAND_CATEGORY  (function)

 PURPOSE:
        Replace wildcards in a multilevel diagnostic category
        and return a string array with one entry for each 
        level.

 CATEGORY:
        GAMAP Internals

 CALLING SEQUENCE:
        xcatgeory = EXPAND_CATEGORY(category)

 INPUTS:
        CATGEORY -> The original category name containing one
            wildcard character (see CTM_DIAGINFO). If category 
            does not contain a wildcard character, the category
            will be returned unchanged.

 KEYWORD PARAMETERS:
        RANGE -> A level index or range of level indices (2-elements)
            to be returned. Default is to return the maximum
            possible range (currently 1..24).

        WILDCHARD -> a character value that is searched for as
            wildchard. Default is '$' which is used in CTM_DIAGINFO
            to denote a varying level index.

        /NO_DELETE -> if set, will return category with wildcard as
            first entry in result list. Default is to delete the 
            wildcard string. 

 OUTPUTS:
        A string array with category names.

 SUBROUTINES:
        None

 REQUIREMENTS:
        None

 NOTES:
        None

 EXAMPLE:
        PRINT, EXPAND_CATEGORY('IJ-AVG-$')

             ; prints IJ-AVG-1 IJ-AVG-2 IJ-AVG-3 ... 
             ;        ... IJ-AVG-A IJ-AVG-B ...

        print, EXPAND_CATEGORY( 'IJ-AVG-$', range=5 )

             ; prints IJ-AVG-5 

 MODIFICATION HISTORY:
        mgs, 19 Aug 1998: VERSION 1.00
        mgs, 26 Oct 1998: added no_delete keyword
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
                          - added extra letters for grids w/
                            more than about 30 layers

(See /n/home09/ryantosca/IDL/gamap2/internals/expand_category.pro)


EXTRACT_COMMENTS

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXTRACT_COMMENTS

 PURPOSE:
        Split a string returned from READDATA.PRO into 
        items of a string array.

 CATEGORY:
        General

 CALLING SEQUENCE:
        RESULT = EXTRACT_COMMENTS( COMMENTS, INDEX, DELIM=' ' ) 

 INPUTS:
        COMMENTS -> String array of comment lines returned from
            readdata.pro

        INDEX -> line number of comments to be analyzed

 KEYWORD PARAMETERS:
        DELIM -> delimiter character between items. Default: 1 blank.

 OUTPUTS:
        RESULT -> A string array containing the single "words" 
             of 1 comment line.

 SUBROUTINES:
        External Subroutines Required:
        ===============================
        STRBREAK (function)

 REQUIREMENTS:
        None

 NOTES:
        None

 EXAMPLE:
        UNITS = EXTRACT_COMMENTS( comments, 2, delim=' ' )

 MODIFICATION HISTORY:
        mgs, 10 Nov 1997: VERSION 1.00
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
                          - Now use version-independent STRBREAK
                            routine instead of older STR_SEP routine

(See /n/home09/ryantosca/IDL/gamap2/general/extract_comments.pro)


EXTRACT_FILENAME

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXTRACT_FILENAME

 PURPOSE:
        Extract the filename from a fully qualified filepath

 CATEGORY:
        File & I/O

 CALLING SEQUENCE:
        FILENAME = EXTRACT_FILENAME( FULLNAME [ , Keywords ] ) 

 INPUTS:
        FULLNAME --> a fully qualified filename containing path information.

 KEYWORD PARAMETERS:
        FILEPATH --> a named variable that returns the path of the
           file. This can be used if both, the filename and the name
           of the file will be used. Otherwise it is recommended to
           use EXTRACT_PATH instead.

 OUTPUTS:
        A string containing the filename to be analyzed.

 SUBROUTINES:
        External Subroutines Required:
        ===============================
        ADD_SEPARATOR (function)

 REQUIREMENTS:
        Requires routines from the TOOLS package.

 NOTES:
        See also EXTRACT_PATH

 EXAMPLE:
        PRINT, EXTRACT_FILENAME( '~/IDL/tools/extract_filename.pro')
           extract_filename.pro

             ; Prints just the file name part of a longer path.

        PRINT,EXTRACT_FILENAME( 'example.dat', filepath=filepath )
             example.dat'
             ; will print  'example.dat', and filepath will contain ''


 MODIFICATION HISTORY:
        mgs, 18 Nov 1997: VERSION 1.00
        mgs, 21 Jan 1999: - added extra check for use of '/' path 
                            specifiers in Windows OS;
        bmy, 19 Jan 2000: TOOLS VERSION 1.44
                          - replaced obsolete RSTRPOS( ) command with
                            STRPOS( /REVERSE_SEARCH ) for IDL 5.3+
                          - updated comments, few cosmetic changes
        bmy, 13 Mar 2001: TOOLS VERSION 1.47
                          - Add support for MacOS operating system
        bmy, 17 Jan 2002: TOOLS VERSION 1.50
                          - now call RSEARCH for backwards compatibility
                            with versions of IDL prior to v. 5.2
                          - use FORWARD_FUNCTION to declare RSEARCH
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
                          - now use ADD_SEPARATOR
                          - updated comments

(See /n/home09/ryantosca/IDL/gamap2/file_io/extract_filename.pro)


EXTRACT_PATH

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
        EXTRACT_PATH

 PURPOSE:
        Extract the file path from a full qualified filename

 CATEGORY:
        File & I/O

 CALLING SEQUENCE:
        Path = EXTRACT_PATH( FULLNAME [, Keywords] )

 INPUTS:
        FULLNAME --> a fully qualified filename. If this input is
           already a path it must end with the delimiter '/' (Unix),
           '\' (Windows), or ':' (MacOS).

 KEYWORD PARAMETERS:
        FILENAME --> a named variable that returns the name of the
           file. This can be used if both, the path and the name
           of the file will be used. Otherwise it is recommended to
           use EXTRACT_FILENAME instead.

 OUTPUTS:
        A string containing the path to the file given.

 SUBROUTINES:
        External Subroutines Required:
        ===============================
        ADD_SEPARATOR (function)   
        RSEARCH (function)

 REQUIREMENTS:
        None

 NOTES:
        See also EXTRACT_FILENAME

 EXAMPLE:
        print,extract_path('~mgs/IDL/tools/extract_path.pro')

             will print  '~mgs/IDL/tools/'

        print,extract_path('example.dat',filename=filename)

             will print  '', and filename will contain 'example.dat'


 MODIFICATION HISTORY:
        mgs, 18 Nov 1997: VERSION 1.00
        mgs, 21 Jan 1999: - added extra check for use of '/' path 
                            specifiers in Windows OS
        bmy, 19 Jan 2000: TOOLS VERSION 1.44
                          - replaced obsolete RSTRPOS( ) command with
                            STRPOS( /REVERSE_SEARCH ) for IDL 5.3+
                          - updated comments, few cosmetic changes
        bmy, 13 Mar 2001: TOOLS VERSION 1.47
                          - Add support for MacOS operating system
        bmy, 17 Jan 2002: TOOLS VERSION 1.50
                          - now call RSEARCH for backwards compatibility
                            with versions of IDL prior to v. 5.2
                          - use FORWARD_FUNCTION to declare RSEARCH
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10
                          - Now use ADD_SEPARATOR
                          - Updated comments

(See /n/home09/ryantosca/IDL/gamap2/file_io/extract_path.pro)


E_H2O

[Previous Routine] [List of Routines]
 NAME:
        E_H2O  

 PURPOSE:
        Calculate water vapour pressure for a given temperature

 CATEGORY:
        Atmospheric Sciences

 CALLING SEQUENCE:
        RESULT = E_H2O( TEMPERATURE [,/WATER,/ICE,minval=minval] )

 INPUTS:
        TEMPERATURE --> dew or frostpoint reading in K. If you supply
              the dry air temperature (or static air temperature),
              you will get a value for the water vapor saturation 
              pressure.

 KEYWORD PARAMETERS:
        /WATER --> interprete temperature as dewpoint (default)

        /ICE --> interpret temperature as frostpoint

        MINVAL -> minimum valid data value (default -1.0E30)

 OUTPUTS:
        RESULT -> The water vapour pressure [hPa]

 SUBROUTINES:
        None

 REQUIREMENTS:
        None

 NOTES:
        The algorithm has been taken from the NASA GTE project data
        description.

 EXAMPLE:
        PH2O = E_H2O(266.)

             ; Calculate water vapor pressure for a 
             ; dewpoint reading of 266 K

        RH = PH2O/E_H2O(283.)

             ; Compute relative humidity 
             ; (divide ph2o by saturation pressure of DRY temperature)

        PRINT,PH2O,RH
          3.61742     0.294607
 
             ; Prints values        

 MODIFICATION HISTORY:
        mgs, 23 Feb 1997: VERSION 1.00
        mgs, 03 Aug 1997: split e_h2o and rh, renamed, added template
        mgs, 23 May 1998: changed default behaviour to set reference
               temperature to given TD value
        mgs, 29 Aug 1998: VERSION 2.00
          - much simpler and more logical interface
          - no automatic detection of dew- or frostpoint any longer
          - can now accomodate arrays
  bmy & phs, 13 Jul 2007: GAMAP VERSION 2.10

(See /n/home09/ryantosca/IDL/gamap2/atm_sci/e_h2o.pro)