public class Level2Data
extends java.lang.Object
Adapted with permission from the Java Iras software developed by David Priegnitz at NSSL.
Documentation on Archive Level II data format can be found at: http://www.ncdc.noaa.gov/oa/radar/leveliidoc.html
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AR2V0001
Identifier for AR2V0001 format
|
static java.lang.String |
ARCHIVE2
Identifier for ARCHIVE2 format
|
Constructor and Description |
---|
Level2Data(java.io.File file,
DataContext context)
Create a new Level II data wrapper for the file
|
Level2Data(java.lang.String filename,
DataContext context)
Create a new Level II data wrapper for the file
|
Modifier and Type | Method and Description |
---|---|
float |
getAzimuth(int record)
This method returns the azimuth angle for the specified
record.
|
float |
getCutElevation(int i)
Get the elevation angle of a particular cut
|
int |
getCutIndex(int i)
Get the index of the particular cut
|
int |
getCutStart(int cut_num)
This method returns the record number where the specified
elevation cut begins.
|
ucar.netcdf.RandomAccessFile |
getDataInput()
Get the DataInput for this this data
|
java.lang.String |
getDataType()
Get the data type (ARCHIVE2, AR2V0001) for this file.
|
float |
getElevation(int record)
This method returns the elevation angle for the specified
record.
|
java.lang.String |
getFilename()
Get the filename that this is using for input
|
int |
getJulianDate()
Get the starting Julian date for this volume
|
int |
getNumberOfCuts()
Get the number of cuts found in this file.
|
int |
getNumberOfTrueCuts()
Get the true number of slices from the file.
|
int |
getSecsSinceMidnight()
Get the starting time in seconds since midnight.
|
java.lang.String |
getStationId()
Get the station ID for this data
|
float |
getTrueElevation(int i)
Get the true elevation for a particular cut
|
int |
getVCP()
Get the Volume Coverage Pattern number for this data.
|
static void |
main(java.lang.String[] args)
Test the class.
|
int |
numberOfRecords()
This method returns the number of records read in from a
file.
|
void |
read(int startFlag)
Method to read the file.
|
void |
read(int startFlag,
boolean onlyVCP)
Method to read the file.
|
public static final java.lang.String ARCHIVE2
public static final java.lang.String AR2V0001
public Level2Data(java.io.File file, DataContext context) throws java.io.IOException
file
- file to readcontext
- DataContext for finding temporary directoryjava.io.IOException
- problem reading or writing filepublic Level2Data(java.lang.String filename, DataContext context) throws java.io.IOException
filename
- name of the file to readcontext
- DataContext for finding temporary directoryjava.io.IOException
- problem reading or writing filepublic void read(int startFlag)
startFlag
- starting record number (unused)public void read(int startFlag, boolean onlyVCP)
onlyVCP
, only read enough data to get the
levels.startFlag
- starting record number (unused)onlyVCP
- if true, only read until we get the VCP infopublic int getNumberOfTrueCuts()
public int getCutIndex(int i)
i
- cut numberpublic int getNumberOfCuts()
public float getCutElevation(int i)
i
- cut numberpublic float getTrueElevation(int i)
i
- cut numberpublic int getCutStart(int cut_num)
cut_num
- cut numberpublic float getAzimuth(int record)
record
- record numberpublic float getElevation(int record)
record
- record numberpublic int numberOfRecords()
public int getVCP()
Value of: 11 = 14 elev. scans/ 5 mins. 12 = 14 elev. scans/ 4.1 mins. 21 = 11 elev. scans/ 6 mins. 31 = 8 elev. scans/ 10 mins. 32 = 7 elev. scans/ 10 mins. 121 = 9 elev. scans/ 5 mins.
public int getJulianDate()
public int getSecsSinceMidnight()
public ucar.netcdf.RandomAccessFile getDataInput()
public java.lang.String getStationId()
public java.lang.String getDataType()
public java.lang.String getFilename()
public static void main(java.lang.String[] args) throws java.io.IOException
args
- file to readjava.io.IOException
- problem reading file