edu.wisc.ssec.mcidas.adde
Class AddeGridReader

java.lang.Object
  extended by edu.wisc.ssec.mcidas.adde.AddeGridReader

public class AddeGridReader
extends Object

AddeGridReader interface for McIDAS ADDE grid data sets. Simulates a McIDAS GRDLIST request using an ADDE URL.

 URLs must all have the following format:

   for directory listing:

   adde://host/griddirectory?keyword_1=value_1&keyword_2=value_2

   or  (for data)

   adde://host/griddata?keyword_1=value_1&keyword_2=value_2

 there can be any valid combination of the following supported keywords:

   group=<groupname>         ADDE group name
   descr=<descriptor>        ADDE descriptor name
   param=<param list>        parameter code list
   time=<model run time>     time in hhmmss format
   day=<model run day>       day in ccyyddd format
   lev=<level list>          list of requested levels (value or SFC, MSL 
                               or TRO)
   ftime=<forecast time>     valid time (hhmmss format) (use with fday)
   fday=<forecast day>       forecast day (ccyyddd)
   fhour=<forecast hours>    forecast hours (offset from model run time)
                                (hhmmss format)
   lat=<min lat> <max lat>   latitude bounding box (needs lon specified)
   lon=<min lon> <max lon>   longitude bounding box (needs lat specified)
   row=<min row> <max row>   row bounding box (needs col specified)
   col=<min col> <max col>   column bounding box (needs row specified)
   skip=<row> <col>          skip factors for rows and columns (def = 1 1)
   gpro=<pro>                grid projection (e.g. TANC)
   src=<s1> ... <s2>         list of grid sources (ETA, AVN, etc)
   drange=<btime> <etime> <inc>  range of primary days 
                                 that the grid represents (cannot use with 
                                 day=)
   frange=<btime> <etime> <inc>  range of forecast times 
                                 that the grid represents (cannot use with
                                 fhour=, fday= or ftime=)
   trange=<btime> <etime> <inc>  range of primary times 
                                 that the grid represents (cannot use with time=)
   num=<max>                 maximum number of grids (nn) to return (def=1)

 the following keywords are required:

   group
   descr

 an example URL might look like:
   adde://viper/griddirectory?group=rtmodel&descr=eta
 

Author:
Tom Whittaker

Constructor Summary
AddeGridReader()
          allows reading of McIDAS grid headers and data
 
Method Summary
 ArrayList getFileHeaders()
           
 ArrayList getGridData(String request)
          creates an ArrayList of arrays of data, plus an ArrayList of grid headers (McIDASGridDirectories) which are then available using the getGridHeaders() method.
 ArrayList getGridDirectory(String request)
          creates an ArrayList of McIDASGridDirectories
 ArrayList getGridHeaders()
           
static void main(String[] args)
          test by running 'java edu.wisc.ssec.mcidas.adde.AddeGridReader'
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AddeGridReader

public AddeGridReader()
allows reading of McIDAS grid headers and data

Method Detail

getGridDirectory

public ArrayList getGridDirectory(String request)
                           throws AddeURLException
creates an ArrayList of McIDASGridDirectories

Parameters:
request - ADDE URL to read from. See class javadoc.
 an example URL might look like:
   adde://viper/griddirectory?group=gvar&type=image
 
Throws:
AddeURLException - if there are no datasets of the particular type or there is an error reading data

getGridHeaders

public ArrayList getGridHeaders()

getFileHeaders

public ArrayList getFileHeaders()

getGridData

public ArrayList getGridData(String request)
                      throws AddeURLException
creates an ArrayList of arrays of data, plus an ArrayList of grid headers (McIDASGridDirectories) which are then available using the getGridHeaders() method.

Parameters:
request - ADDE URL to read from. See class javadoc.
 an example URL might look like:
   adde://viper/griddata?group=abom&descr=grid&parm=T&lev=500
 
Throws:
AddeURLException - if there are no datasets of the particular type or there is an error reading data

main

public static void main(String[] args)
                 throws Exception
test by running 'java edu.wisc.ssec.mcidas.adde.AddeGridReader'

Throws:
Exception