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