public class CDMRadarAdapter extends java.lang.Object implements RadarAdapter
AZIMUTH_ANGLE_TYPE, AZIMUTH_TYPE, ELEVATION_ANGLE_TYPE, RANGE_TYPEAZIMUTH, AZIMUTH_ANGLE, ELEVATION_ANGLE, PROP_2DOR3D, PROP_ANGLE, PROP_ANGLES, PROP_AZIMUTH, PROP_AZIMUTHS, PROP_CAPPI_LEVEL, PROP_CAPPI_LEVELS, PROP_TIMEHEIGHT, PROP_VCS, PROP_VCS_END, PROP_VCS_START, PROP_VOLUMEORSWEEP, PROP_VWP, RADAR_MOST_RECENT, RADIAL_VELOCITY_NAME, RANGE, REFLECTIVITY, REFLECTIVITY_NAME, SPECTRUM_WIDTH, SPECTRUM_WIDTH_NAME, STATION_LOCATION, VALUE_2D, VALUE_3D, VALUE_SWEEP, VALUE_VOLUME, VELOCITY| Constructor and Description |
|---|
CDMRadarAdapter()
Zero-argument constructor for construction via unpersistence.
|
CDMRadarAdapter(DataSourceImpl source,
java.lang.String fileName)
Construct a new DORADE adapter.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clearCachedData()
Clear the rds data
|
void |
doRemove()
Clean up whatever we need to when we are removed.
|
boolean |
equals(java.lang.Object o)
Check to see if this
CDMDataSource is equal to the object
in question. |
protected double[] |
getAngles(java.lang.String vname)
Get the angles for this parameter
|
visad.DateTime |
getBaseTime()
Get the base time for this sweep
|
ucar.unidata.geoloc.Bearing |
getBearing(double lat,
double lon)
calculate the bearing of one location to the radar location
|
visad.FieldImpl |
getCAPPI(int moment,
java.lang.String varName,
visad.Real level)
This api is based on the rsl c library from TRMM Office Radar Software Library.
|
java.lang.Object[] |
getCutIdx(ucar.nc2.dt.RadialDatasetSweep.RadialVariable sweepVar)
get radar sweep index
|
visad.DataImpl |
getData(DataChoice dataChoice,
DataSelection subset,
java.util.Hashtable requestProperties)
Get the data for the given DataChoice and selection criteria.
|
java.lang.String |
getDataFormatName()
Get the data format name (e.g.
|
float[] |
getFloatNaN(int n)
get float array init with NaN
|
float[] |
getIntersectionOfRayAndLine(visad.georef.EarthLocation radarCenter,
float azi,
float lat3,
float lon3,
float lat4,
float lon4)
calculate the intersection of ray and a line
|
float[] |
getIntersectionOfTwoLines(float lat1,
float lon1,
float lat2,
float lon2,
float lat3,
float lon3,
float lat4,
float lon4)
alculate the intersection of two lines
|
java.lang.String |
getName()
Return the name of the file
|
protected visad.RealType[] |
getParams()
Get the parameters for this adapter
|
visad.FieldImpl |
getRadarCrossSection(int moment,
java.lang.String varName,
visad.georef.LatLonPoint p1,
visad.georef.LatLonPoint p2)
Makes a field of all data from one common data model radar adapter;
|
visad.georef.EarthLocation |
getRadarStationInFile()
Get the radar location from the dataset.
|
visad.FlatField |
getRaster(int moment,
java.lang.String varName)
Create the initial spatial domain
|
visad.FieldImpl |
getRHI(int moment,
java.lang.String varName,
double rhiAz)
Makes a field of all data from one common data model radar adapter;
|
visad.FieldImpl |
getRHIOld(int moment,
java.lang.String varName,
double rhiAz)
Makes a field of all data from one common data model radar adapter;
|
visad.FieldImpl |
getRHISweep(int moment,
double azimus,
java.lang.String varName,
int idx,
boolean want3D)
Makes a field of all data from one common data model radar adapter;
|
visad.FlatField |
getRHIVolume(int moment,
java.lang.String varName)
Makes a field of all data from one common data model radar adapter;
|
java.lang.String |
getStationID()
Get the station ID
|
visad.georef.EarthLocation |
getStationLocation()
Get the parameters for this adapter
|
java.lang.String |
getStationName()
Get the parameters for this adapter
|
visad.FlatField |
getSweep(int moment,
double elevation,
java.lang.String varName,
int idx,
boolean want3D)
Makes a field of all data from one common data model radar adapter;
|
int |
getSweepNumber(java.lang.String vname,
double angle)
Get the sweep number for the particular variable and elevation angle
|
protected double |
getVCPAngle(double angle,
short id)
Find the closest angle to the given VCP angles
|
protected double[] |
getVCPAngles(short id,
double[] origAngles)
Get the parameters for this adapter
|
protected short |
getVCPid(java.lang.String vname)
Get the parameters for this adapter
|
visad.FlatField |
getVolume(int moment,
java.lang.String varName)
Makes a field of all data from one common data model radar adapter;
|
int |
hashCode()
Get the hash code for this object.
|
boolean |
isRaster()
Get the parameters for this adapter
|
boolean |
isRHI()
Get the parameters for this adapter
|
boolean |
isVolume()
Get the parameters for this adapter
|
static void |
main(java.lang.String[] args)
main
|
static void |
mainDorade(java.lang.String[] args)
Test main
|
visad.georef.LatLonPoint |
setCrossSectionLinePosition(float azi)
setting the init crosssection line position with azimuth angle
|
void |
setStationLocation(visad.georef.EarthLocation el)
Set the station location
|
java.lang.String |
toString()
to String.
|
public CDMRadarAdapter()
public CDMRadarAdapter(DataSourceImpl source, java.lang.String fileName) throws visad.VisADException
source - DataSource (may be null)fileName - name of the DORADE file to readvisad.VisADException - problem creating datapublic boolean equals(java.lang.Object o)
CDMDataSource is equal to the object
in question.equals in class java.lang.Objecto - object in questionpublic int hashCode()
hashCode in class java.lang.Objectpublic visad.georef.EarthLocation getRadarStationInFile()
public java.lang.String toString()
toString in class java.lang.Objectprotected double[] getAngles(java.lang.String vname)
vname - variable namepublic visad.DateTime getBaseTime()
getBaseTime in interface RadarAdapterprotected short getVCPid(java.lang.String vname)
vname - variable nameprotected double[] getVCPAngles(short id,
double[] origAngles)
id - vcp id numberorigAngles - The original anglesprotected double getVCPAngle(double angle,
short id)
angle - to findid - of VCPpublic visad.FieldImpl getCAPPI(int moment,
java.lang.String varName,
visad.Real level)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - the momentvarName - variable namelevel - the leveljava.io.IOException - problem reading the filejava.rmi.RemoteException - problem with Java RMIvisad.VisADException - problem creating VisAD objectpublic visad.DataImpl getData(DataChoice dataChoice, DataSelection subset, java.util.Hashtable requestProperties) throws visad.VisADException, java.rmi.RemoteException
getData in interface RadarAdapterdataChoice - DataChoice for selectionsubset - subsetting criteriarequestProperties - extra request propertiesjava.rmi.RemoteException - couldn't create a remote data objectvisad.VisADException - couldn't create the datapublic void clearCachedData()
clearCachedData in interface RadarAdapterpublic java.lang.String getName()
getName in interface RadarAdapterprotected visad.RealType[] getParams()
public visad.FieldImpl getRHIOld(int moment,
java.lang.String varName,
double rhiAz)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentvarName - variable namerhiAz - azimuth for RHIjava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic visad.FieldImpl getRadarCrossSection(int moment,
java.lang.String varName,
visad.georef.LatLonPoint p1,
visad.georef.LatLonPoint p2)
throws visad.VisADException,
java.io.IOException
moment - momentvarName - variable namep1 - cross lint start pointp2 - cross lint end pointjava.io.IOException - Problem reading datavisad.VisADException - Couldn't create VisAD Objectpublic ucar.unidata.geoloc.Bearing getBearing(double lat,
double lon)
lat - input latitudelon - input longitudepublic visad.georef.LatLonPoint setCrossSectionLinePosition(float azi)
throws visad.VisADException,
java.rmi.RemoteException
azi - input azimuth anglejava.rmi.RemoteExceptionvisad.VisADExceptionpublic float[] getIntersectionOfRayAndLine(visad.georef.EarthLocation radarCenter,
float azi,
float lat3,
float lon3,
float lat4,
float lon4)
radarCenter - earthlocation of radarazi - ray azimuthlat3 - line latitude of one endlon3 - line longitude of one endlat4 - line latitude of another endlon4 - _more_public float[] getIntersectionOfTwoLines(float lat1,
float lon1,
float lat2,
float lon2,
float lat3,
float lon3,
float lat4,
float lon4)
lat1 - latitude of line 1lon1 - longitude of line 1lat2 - latitude of line 1lon2 - longitude of line 1lat3 - latitude of line 2lon3 - longitude of line 2lat4 - latitude of line 2lon4 - longitude of line 2public visad.FieldImpl getRHI(int moment,
java.lang.String varName,
double rhiAz)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentvarName - variable namerhiAz - azimuth for RHIjava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic java.lang.String getStationID()
public visad.georef.EarthLocation getStationLocation()
public void setStationLocation(visad.georef.EarthLocation el)
throws visad.VisADException,
java.rmi.RemoteException
el - location of the radarvisad.VisADException - couldn't create VisAD objectjava.rmi.RemoteException - couldn't create remote objectpublic java.lang.String getStationName()
public java.lang.String getDataFormatName()
public visad.FlatField getRaster(int moment,
java.lang.String varName)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException,
ucar.ma2.InvalidRangeException
moment - varName - variable namejava.io.IOException - Problem reading dataucar.ma2.InvalidRangeException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - problem creating domainpublic visad.FieldImpl getRHISweep(int moment,
double azimus,
java.lang.String varName,
int idx,
boolean want3D)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentazimus - azimuth anglevarName - variable nameidx - indexwant3D - true if should return a 3D fieldjava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic visad.FlatField getSweep(int moment,
double elevation,
java.lang.String varName,
int idx,
boolean want3D)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentelevation - elevation anglevarName - variable nameidx - _more_want3D - true if should return a 3D fieldjava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic int getSweepNumber(java.lang.String vname,
double angle)
vname - variable nameangle - elevation anglepublic java.lang.Object[] getCutIdx(ucar.nc2.dt.RadialDatasetSweep.RadialVariable sweepVar)
sweepVar - radar variablepublic visad.FlatField getVolume(int moment,
java.lang.String varName)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentvarName - variable namejava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic visad.FlatField getRHIVolume(int moment,
java.lang.String varName)
throws visad.VisADException,
java.rmi.RemoteException,
java.io.IOException
moment - momentvarName - variable namejava.io.IOException - Problem reading datajava.rmi.RemoteException - Java RMI problemvisad.VisADException - Couldn't create VisAD Objectpublic float[] getFloatNaN(int n)
n - 1 D array lengthpublic boolean isRaster()
public boolean isVolume()
public boolean isRHI()
public static void mainDorade(java.lang.String[] args)
throws java.lang.Exception
args - cmd line argsjava.lang.Exception - when bad things happenpublic static void main(java.lang.String[] args)
throws java.lang.Exception
args - argsjava.lang.Exception - On badnesspublic void doRemove()
doRemove in interface RadarAdapter