ucar.nc2.iosp.gempak
Class AbstractGempakStationFileReader

java.lang.Object
  extended by ucar.nc2.iosp.gempak.GempakFileReader
      extended by ucar.nc2.iosp.gempak.AbstractGempakStationFileReader
All Implemented Interfaces:
GempakConstants
Direct Known Subclasses:
GempakSoundingFileReader, GempakSurfaceFileReader

public abstract class AbstractGempakStationFileReader
extends GempakFileReader

Class to hold common methods for reading surface and sounding files

Author:
IDV Development Team

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.nc2.iosp.gempak.GempakFileReader
GempakFileReader.DMFileHeaderInfo, GempakFileReader.DMHeaders, GempakFileReader.DMKeys, GempakFileReader.DMLabel, GempakFileReader.DMParam, GempakFileReader.DMPart, GempakFileReader.Key, GempakFileReader.PackingInfo, GempakFileReader.RData
 
Field Summary
static java.lang.String DATE
          date key identifier
protected  java.lang.String subType
          The file subtype
static java.lang.String TIME
          time key identifier
 
Fields inherited from class ucar.nc2.iosp.gempak.GempakFileReader
dmLabel, fileHeaderInfo, fileSize, headers, keys, MTMACH, mvmst, needToSwap, parts, rf
 
Fields inherited from interface ucar.nc2.iosp.gempak.GempakConstants
COL, IMISSD, LLGDHD, LLNANL, LLNNAV, LLSTHL, MBLKSZ, MDCHAR, MDGDEC, MDGDIF, MDGGRB, MDGNMC, MDGNON, MDGRB2, MDGRID, MDINTG, MDREAL, MDRPCK, MFGD, MFSF, MFSN, MTALPH, MTAPOL, MTHP, MTIBM, MTIGPH, MTIRIS, MTLNUX, MTSUN, MTULTX, MTVAX, RDIFFD, RMISSD, ROW
 
Method Summary
 int findStationIndex(java.lang.String id)
          Find the station index for the specified station id.
 java.util.List<java.util.Date> getDates()
          Get the list of dates in this file.
protected  java.lang.String getDateString(int index)
          Get the date string at the index
protected  java.lang.String getFileSubType()
          Get the file sub type
 java.lang.String getFileType()
          Get the type for this file
 java.util.List<GempakParameter> getParameters(java.lang.String partName)
          Get the list of parameters for the part
 java.util.List<java.lang.String> getStationKeyNames()
          Get the station key names
 java.util.List<GempakStation> getStations()
          Get the list of stations in this file.
protected  boolean init()
          Initialize this reader.
protected  boolean init(boolean fullCheck)
          Initialize this reader.
protected  java.util.List<java.lang.String> makeDateList(boolean unique)
          Get the list of dates
protected abstract  void makeFileSubType()
          Subclasses need to set the subtype.
 void printDates()
          Print the list of dates in the file
 void printStations(boolean list)
          Print the list of dates in the file
protected  boolean readStationsAndTimes(boolean uniqueTimes)
          Read in the stations and times.
 
Methods inherited from class ucar.nc2.iosp.gempak.GempakFileReader
DM_RDTR, DM_RDTR, DM_RFLT, DM_RFLT, DM_RFLT, DM_RINT, DM_RINT, DM_RINT, DM_RPKG, DM_RSTR, DM_RSTR, DM_UNPK, findFileHeader, findKey, getBits, getByteOrder, getByteOrder, getDataPointer, getFile, getFileHeader, getFilename, getInitFileSize, getInstance, getOffset, getPart, getPartNumber, init, logError, main, printFileLabel, printHeaders, printKeys, printParts, readFileHeaderInfo, readHeaders, readKeys, readParts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATE

public static final java.lang.String DATE
date key identifier

See Also:
Constant Field Values

TIME

public static final java.lang.String TIME
time key identifier

See Also:
Constant Field Values

subType

protected java.lang.String subType
The file subtype

Method Detail

init

protected boolean init()
                throws java.io.IOException
Initialize this reader. Read all the metadata

Overrides:
init in class GempakFileReader
Returns:
true if successful
Throws:
java.io.IOException - problem reading the data

init

protected boolean init(boolean fullCheck)
                throws java.io.IOException
Initialize this reader. Get the Grid specific info

Overrides:
init in class GempakFileReader
Parameters:
fullCheck - check to make sure there are grids we can handle
Returns:
true if successful
Throws:
java.io.IOException - problem reading the data

readStationsAndTimes

protected boolean readStationsAndTimes(boolean uniqueTimes)
Read in the stations and times. Subclasses should call this during init()

Parameters:
uniqueTimes - make a set of unique times
Returns:
true if stations and times were read okay.

makeDateList

protected java.util.List<java.lang.String> makeDateList(boolean unique)
Get the list of dates

Parameters:
unique - true for unique list
Returns:
the list of dates

getParameters

public java.util.List<GempakParameter> getParameters(java.lang.String partName)
Get the list of parameters for the part

Parameters:
partName - name of the part
Returns:
list of parameters

getStationKeyNames

public java.util.List<java.lang.String> getStationKeyNames()
Get the station key names

Returns:
the list of station key names

getStations

public java.util.List<GempakStation> getStations()
Get the list of stations in this file.

Returns:
list of stations.

getDates

public java.util.List<java.util.Date> getDates()
Get the list of dates in this file.

Returns:
list of dates.

getDateString

protected java.lang.String getDateString(int index)
Get the date string at the index

Parameters:
index - index (row or column)
Returns:
the date at that index

printDates

public void printDates()
Print the list of dates in the file


printStations

public void printStations(boolean list)
Print the list of dates in the file

Parameters:
list - true to list each station, false to list summary

findStationIndex

public int findStationIndex(java.lang.String id)
Find the station index for the specified station id.

Parameters:
id - station id (case sensitive)
Returns:
index or -1 if not found.

getFileType

public java.lang.String getFileType()
Get the type for this file

Returns:
file type

makeFileSubType

protected abstract void makeFileSubType()
Subclasses need to set the subtype. This is an abstract method so users will implement something to set the type.


getFileSubType

protected java.lang.String getFileSubType()
Get the file sub type

Returns:
the subtype.