|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectucar.nc2.iosp.gempak.GempakFileReader
public class GempakFileReader
Read a Gempak grid file
| Nested Class Summary | |
|---|---|
protected class |
GempakFileReader.DMFileHeaderInfo
Class to hold the DM File header info |
protected class |
GempakFileReader.DMHeaders
Class to mimic the DMHDRS common block. |
protected class |
GempakFileReader.DMKeys
Class to mimic the DMKEYS common block. |
protected class |
GempakFileReader.DMLabel
Class to mimic the GEMPAK DMLABL common block |
protected class |
GempakFileReader.DMParam
Class to hold DM Parameter info |
protected class |
GempakFileReader.DMPart
Class to mimic the DMKEYS common block. |
protected class |
GempakFileReader.Key
Class to hold information about a key. |
| Field Summary | |
|---|---|
protected GempakFileReader.DMLabel |
dmLabel
The label common param |
protected java.util.List<GempakFileReader.DMFileHeaderInfo> |
fileHeaderInfo
header info |
protected long |
fileSize
file size |
protected GempakFileReader.DMHeaders |
headers
headers |
protected GempakFileReader.DMKeys |
keys
key |
protected int |
MTMACH
the machine type byte order |
protected boolean |
mvmst
swap flag |
protected boolean |
needToSwap
swap flag |
protected java.util.List<GempakFileReader.DMPart> |
parts
part |
protected RandomAccessFile |
rf
The file |
| 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 |
| Constructor Summary | |
|---|---|
GempakFileReader()
Bean ctor |
|
GempakFileReader(RandomAccessFile raf)
Create a Gempak File Reader from the file |
|
GempakFileReader(java.lang.String filename)
Create a Gempak File Reader from the file |
|
| Method Summary | |
|---|---|
float |
DM_RFLT(int word)
Read a float |
void |
DM_RFLT(int word,
float[] rarray)
Convenience method to fully read into an array of floats |
void |
DM_RFLT(int word,
int num,
float[] rarray,
int start)
Read into an array of ints. |
int |
DM_RINT(int word)
Read an integer |
void |
DM_RINT(int word,
int[] iarray)
Convenience method to fully read into an array of ints |
void |
DM_RINT(int word,
int num,
int[] iarray,
int start)
Read into an array of ints. |
java.lang.String |
DM_RSTR(int isword)
Read a 4-byte String |
java.lang.String |
DM_RSTR(int isword,
int nchar)
Read a String |
GempakFileReader.DMFileHeaderInfo |
findFileHeader(java.lang.String name)
Find the file header with this name |
GempakFileReader.Key |
findKey(java.lang.String name)
Find a key with the given name |
int |
getByteOrder()
Get the byte order for this system |
int |
getByteOrder(int kmachn)
Get the byte order for the machine type. |
int |
getDataPointer(int irow,
int icol,
java.lang.String partName)
Get the pointer to the data. |
float[] |
getFileHeader(java.lang.String name)
Read in the values for the file header |
java.lang.String |
getFilename()
Get the file name. |
long |
getInitFileSize()
Get initial file size |
static long |
getOffset(int fortranWord)
Get the byte offset in 0 based space from a 1 based 4 byte FORTRAN word. |
GempakFileReader.DMPart |
getPart(java.lang.String name)
Find the part with the particular name. |
int |
getPartNumber(java.lang.String name)
Find the part with the particular name. |
protected boolean |
init(boolean fullCheck)
Initialize the file, read in all the metadata (ala DM_OPEN) |
void |
init(RandomAccessFile raf,
boolean fullCheck)
Initialize the file, read in all the metadata (ala DM_OPEN) |
protected void |
logError(java.lang.String errMsg)
Log an error |
static void |
main(java.lang.String[] args)
Run the program |
void |
printFileLabel()
Print the file label |
void |
printHeaders()
Print the row and column keys |
void |
printKeys()
Print the row and column keys |
void |
printParts()
Print the part information |
protected void |
readFileHeaderInfo()
Read the file header info (DM_RFIL) |
protected void |
readHeaders()
Read the headers (DM_RHDA) |
protected void |
readKeys()
Read in the row and column keys (DM_KEY) |
protected void |
readParts()
Read the parts (DM_RPRT) |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected RandomAccessFile rf
protected GempakFileReader.DMLabel dmLabel
protected java.util.List<GempakFileReader.DMFileHeaderInfo> fileHeaderInfo
protected GempakFileReader.DMHeaders headers
protected GempakFileReader.DMKeys keys
protected java.util.List<GempakFileReader.DMPart> parts
protected int MTMACH
protected boolean mvmst
protected boolean needToSwap
protected long fileSize
| Constructor Detail |
|---|
public GempakFileReader()
public GempakFileReader(java.lang.String filename)
throws java.io.IOException
filename - filename
java.io.IOException - problem reading file
public GempakFileReader(RandomAccessFile raf)
throws java.io.IOException
raf - file to read from
java.io.IOException - problem reading file| Method Detail |
|---|
public final void init(RandomAccessFile raf,
boolean fullCheck)
throws java.io.IOException
raf - RandomAccessFile to read.fullCheck - if true, check entire structure
java.io.IOException - problem reading file
protected boolean init(boolean fullCheck)
throws java.io.IOException
fullCheck - if true, check entire structure
java.io.IOException - problem reading filepublic java.lang.String getFilename()
public long getInitFileSize()
public int getByteOrder()
public int getByteOrder(int kmachn)
kmachn - maching type
protected void readFileHeaderInfo()
throws java.io.IOException
java.io.IOException - problem reading file
protected void readKeys()
throws java.io.IOException
java.io.IOException - problem reading file
protected void readHeaders()
throws java.io.IOException
java.io.IOException - problem reading file
protected void readParts()
throws java.io.IOException
java.io.IOException - problem reading filepublic static long getOffset(int fortranWord)
fortranWord - 1 based word offset
public static void main(java.lang.String[] args)
throws java.io.IOException
args - filename
java.io.IOException - problem reading the filepublic GempakFileReader.Key findKey(java.lang.String name)
name - the name of the key
public GempakFileReader.DMFileHeaderInfo findFileHeader(java.lang.String name)
name - name of header
public float[] getFileHeader(java.lang.String name)
throws java.io.IOException
name - name of header
java.io.IOException - problem reading fileprotected void logError(java.lang.String errMsg)
errMsg - message to logpublic void printFileLabel()
public void printKeys()
public void printHeaders()
public void printParts()
public int getPartNumber(java.lang.String name)
name - name of part to find
public GempakFileReader.DMPart getPart(java.lang.String name)
name - name of part to find
public int getDataPointer(int irow,
int icol,
java.lang.String partName)
irow - row numbericol - column numberpartName - name of the part
public int DM_RINT(int word)
throws java.io.IOException
word - word in file (1 based) to read
java.io.IOException - problem reading file
public void DM_RINT(int word,
int[] iarray)
throws java.io.IOException
word - word in file (1 based) to readiarray - array to read into
java.io.IOException - problem reading file
public void DM_RINT(int word,
int num,
int[] iarray,
int start)
throws java.io.IOException
word - word in file (1 based) to readiarray - array to read intostart - starting word in the array (0 based)num - number of words to read
java.io.IOException - problem reading file
public float DM_RFLT(int word)
throws java.io.IOException
word - word in file (1 based) to read
java.io.IOException - problem reading file
public void DM_RFLT(int word,
float[] rarray)
throws java.io.IOException
word - word in file (1 based) to readrarray - array to read into
java.io.IOException - problem reading file
public void DM_RFLT(int word,
int num,
float[] rarray,
int start)
throws java.io.IOException
word - word in file (1 based) to readnum - number of words to readrarray - array to read intostart - starting word in the array (0 based)
java.io.IOException - problem reading file
public java.lang.String DM_RSTR(int isword)
throws java.io.IOException
isword - offset in file (1 based FORTRAN word)
java.io.IOException - problem reading file
public java.lang.String DM_RSTR(int isword,
int nchar)
throws java.io.IOException
isword - offset in file (1 based FORTRAN word)nchar - number of characters to read
java.io.IOException - problem reading file
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||