public class AddeSoundingAdapter extends ucar.unidata.data.sounding.SoundingAdapterImpl implements ucar.unidata.data.sounding.SoundingAdapter
Modifier and Type | Field and Description |
---|---|
private AddeChooser |
addeChooser
Used to grab accounting information for a currently selected server.
|
private java.lang.String |
dayVar
name of day variable
|
private java.lang.String |
defaultMandDataset
default mandatory data set
|
private java.lang.String |
defaultServer
default server
|
private java.lang.String |
defaultSigDataset
default significant dataset
|
private java.lang.String |
dirMandPVar
name of mandP wind dir variable
|
private java.lang.String |
eleVar
name of station elevation variable
|
protected boolean |
firstTime |
private java.lang.String |
htMandPVar
name of mandP height variable
|
private java.lang.String |
idVar
name of station id variable
|
private java.lang.String |
latVar
name of station latitude variable
|
private java.lang.String |
lonVar
name of station longitude variable
|
private boolean |
mainHours
use main hours only
|
private ucar.unidata.beans.NonVetoableProperty |
mandatoryDatasetProperty
mandatory data set property
|
private java.lang.String |
mandDataset
mandatory dataset name
|
private java.lang.String |
manDescriptor
mandatory data descriptor
|
private java.lang.String |
manGroup
mandatory data group name
|
private static java.lang.String |
P_ALL
all obs identifier
|
private static java.lang.String |
P_DESCR
descriptor identifier
|
private static java.lang.String |
P_GROUP
group identifier
|
private static java.lang.String |
P_NUM
number of obs identifier
|
private static java.lang.String |
P_PARAM
parameter identifier
|
private static java.lang.String |
P_POS
number of obs identifier
|
private static java.lang.String |
P_SELECT
select identifier
|
private java.lang.String |
prMandPVar
name of mandP pressure variable
|
private static java.lang.String |
proj |
protected boolean |
retry |
private java.lang.String |
satellitePixel |
private boolean |
satelliteSounding
observed or satellite sounding?
|
private java.lang.String |
satelliteTime
these are only really used for satellite soundings
|
private static long |
serialVersionUID
Default
|
private java.lang.String |
server
server name
|
private ucar.unidata.beans.NonVetoableProperty |
serverProperty
server property
|
private java.lang.String |
sigDataset
significant dataset name
|
private java.lang.String |
sigDescriptor
sig data descriptor
|
private java.lang.String |
sigGroup
sig data group name
|
private ucar.unidata.beans.NonVetoableProperty |
significantDatasetProperty
significant data set property
|
private ucar.unidata.beans.NonVetoableProperty |
soundingTimesProperty
sounding times property
|
private java.lang.String |
spdMandPVar
name of mandP wind speed variable
|
private ucar.unidata.beans.NonVetoableProperty |
stationsProperty
stations property
|
private java.lang.String |
tdMandPVar
name of mandP dewpoint variable
|
private java.lang.String |
timeVar
name of time variable
|
private java.lang.String |
tpMandPVar
name of mandP temp variable
|
private static java.lang.String |
URL_PROTOCOL
URL protocol identifier
|
private static java.lang.String |
URL_ROOT
URL type identifier
|
private static java.lang.String |
user
Accounting information
|
Constructor and Description |
---|
AddeSoundingAdapter()
Construct an empty AddeSoundingAdapter
|
AddeSoundingAdapter(java.lang.String server)
Retrieve upper air data from a remote ADDE server using only
mandatory data.
|
AddeSoundingAdapter(java.lang.String server,
java.lang.String dataset)
Retrieve upper air data from a remote ADDE server using only
mandatory data.
|
AddeSoundingAdapter(java.lang.String server,
java.lang.String mandDataset,
java.lang.String sigDataset)
Retrieve upper air data from a remote ADDE server using only
mandatory data.
|
AddeSoundingAdapter(java.lang.String server,
java.lang.String mandDataset,
java.lang.String sigDataset,
boolean mainHours)
Retrieve upper air data from a remote ADDE server using only
mandatory data.
|
AddeSoundingAdapter(java.lang.String server,
java.lang.String mandDataset,
java.lang.String sigDataset,
boolean mainHours,
AddeChooser chooser) |
AddeSoundingAdapter(java.lang.String server,
java.lang.String mandDataset,
java.lang.String sigDataset,
java.lang.String satelliteTime,
java.lang.String satellitePixel,
AddeChooser chooser) |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
getDflt(java.lang.String name,
java.lang.String dflt)
Get a default value using this Adapter's prefix
|
java.lang.String |
getMandatoryURL(ucar.unidata.data.sounding.SoundingOb sound)
Make the mandatory levels URL for the given sounding
|
java.lang.String |
getMandDataset()
Set the mandatory data set name
|
private java.lang.String |
getManUserProj()
Get mandatory data ADDE user/project id for the data
|
boolean |
getSatelliteSounding()
Are we looking at satellite soundings?
|
java.lang.String |
getSigDataset()
Get the significant data set name
|
java.lang.String |
getSigURL(ucar.unidata.data.sounding.SoundingOb sound)
Make the url for the significant levels for the sounding
|
private java.lang.String |
getSigUserProj()
Get significant data ADDE user/project id for the data
|
java.lang.String |
getSource()
Get the source of the data (server)
|
private java.lang.String |
getStationsSelectString()
Get the select string for use in loadStations
|
private Unit |
getUnit(java.lang.String unitName)
Gets the units of the variable.
|
private java.lang.String |
getUserProj(java.lang.String key)
Get the user/project string for the given key
|
private void |
getVariables()
Determines the names of the variables in the netCDF file that
should be used.
|
protected void |
init()
Initialize the class.
|
private void |
initGroupAndDescriptors()
Initialize the group and descriptor strings
|
ucar.unidata.data.sounding.SoundingOb |
initSoundingOb(ucar.unidata.data.sounding.SoundingOb sound)
Check to see if the RAOB has any data
|
private boolean |
intEqual(int v,
java.lang.String s)
Utility method that calls McIDASUtil.intBitsToString
to get a string to compare to the given parameter s
|
private void |
loadStations()
Initialize the times, stations and soundings lists.
|
private void |
loadStationsInner()
Actually do the work of loading the stations
|
static void |
main(java.lang.String[] args)
test by running java ucar.unidata.data.sounding.AddeSoundingAdapter
|
private java.lang.String |
makeSelectString(ucar.unidata.data.sounding.SoundingOb sound)
Make the select string that will get this observation
|
private java.lang.String |
makeSelectString(java.lang.String wmoId,
DateTime date)
Make a select string for the given station id and date
|
private java.lang.String |
makeUrl(java.lang.String[] args)
Assemble the URL from the given URL argument array.
|
private java.lang.String |
makeUrl(java.lang.String urlRoot,
java.lang.String[] args)
Assemble the url from the given
urlRoot and URL argument array. |
private double |
scaleValue(int value,
int scale)
scale the values returned from the server
|
void |
setMandDataset(java.lang.String value)
Set the mandatory data set name
|
private void |
setRAOBData(ucar.unidata.data.sounding.SoundingOb sound)
Fills in the data for the RAOB
|
void |
setSatelliteSounding(boolean flag)
Change behavior if we are looking at satellite soundings
|
void |
setSigDataset(java.lang.String value)
Set the significant data set name
|
void |
setSource(java.lang.String server)
Set the ADDE server name
|
private java.lang.String |
sQuote(java.lang.String s)
Return the given String in single quotes
|
java.lang.String |
toString()
The string representation
|
void |
update()
Update this adapter for new data
|
checkInit, dbPrint, getDflt, getSoundingOb, getSoundingObs, getSoundingTimes, getSoundingTimes, getStations, getStations
addProperty, addPropertyChangeListener, addPropertyChangeListener, disablePropertyChangeEvents, enablePropertyChangeEvents, getTitle, removePropertyChangeListener, removePropertyChangeListener, setTitle
private static final long serialVersionUID
private boolean satelliteSounding
private java.lang.String satelliteTime
private java.lang.String satellitePixel
private static final java.lang.String P_PARAM
private static final java.lang.String P_NUM
private static final java.lang.String P_ALL
private static final java.lang.String P_POS
private static final java.lang.String P_GROUP
private static final java.lang.String P_DESCR
private static final java.lang.String P_SELECT
private static final java.lang.String URL_ROOT
private static final java.lang.String URL_PROTOCOL
private ucar.unidata.beans.NonVetoableProperty serverProperty
private ucar.unidata.beans.NonVetoableProperty mandatoryDatasetProperty
private ucar.unidata.beans.NonVetoableProperty significantDatasetProperty
private ucar.unidata.beans.NonVetoableProperty stationsProperty
private ucar.unidata.beans.NonVetoableProperty soundingTimesProperty
private java.lang.String manGroup
private java.lang.String manDescriptor
private java.lang.String sigGroup
private java.lang.String sigDescriptor
private boolean mainHours
private java.lang.String prMandPVar
private java.lang.String htMandPVar
private java.lang.String tpMandPVar
private java.lang.String tdMandPVar
private java.lang.String spdMandPVar
private java.lang.String dirMandPVar
private java.lang.String dayVar
private java.lang.String timeVar
private java.lang.String idVar
private java.lang.String latVar
private java.lang.String lonVar
private java.lang.String eleVar
private java.lang.String server
private java.lang.String mandDataset
private java.lang.String sigDataset
private java.lang.String defaultServer
private java.lang.String defaultMandDataset
private java.lang.String defaultSigDataset
private static java.lang.String user
private static java.lang.String proj
protected boolean firstTime
protected boolean retry
private AddeChooser addeChooser
public AddeSoundingAdapter()
public AddeSoundingAdapter(java.lang.String server) throws java.lang.Exception
server
- name or IP address of remote serverjava.lang.Exception
- (AddeException) if there is no data available or there
is trouble connecting to the remote serverpublic AddeSoundingAdapter(java.lang.String server, java.lang.String dataset) throws java.lang.Exception
server
- name or IP address of remote serverdataset
- name of ADDE dataset (group/descriptor)java.lang.Exception
- (AddeException) if there is no data available or there
is trouble connecting to the remote serverpublic AddeSoundingAdapter(java.lang.String server, java.lang.String mandDataset, java.lang.String sigDataset) throws java.lang.Exception
server
- name or IP address of remote servermandDataset
- name of mandatory level upper air ADDE
dataset (group/descriptor)sigDataset
- name of significant level upper air ADDE
dataset (group/descriptor)java.lang.Exception
- (AddeException) if there is no data available
or there is trouble connecting to the remote serverpublic AddeSoundingAdapter(java.lang.String server, java.lang.String mandDataset, java.lang.String sigDataset, boolean mainHours) throws java.lang.Exception
server
- name or IP address of remote servermandDataset
- name of mandatory level upper air ADDE
dataset (group/descriptor)sigDataset
- name of significant level upper air ADDE
dataset (group/descriptor)mainHours
- only get data for main (00 & 12Z) hoursjava.lang.Exception
- (AddeException) if there is no data available
or there is trouble connecting to the remote serverpublic AddeSoundingAdapter(java.lang.String server, java.lang.String mandDataset, java.lang.String sigDataset, boolean mainHours, AddeChooser chooser) throws java.lang.Exception
java.lang.Exception
public AddeSoundingAdapter(java.lang.String server, java.lang.String mandDataset, java.lang.String sigDataset, java.lang.String satelliteTime, java.lang.String satellitePixel, AddeChooser chooser) throws java.lang.Exception
java.lang.Exception
protected void init() throws java.lang.Exception
init
in class ucar.unidata.data.sounding.SoundingAdapterImpl
java.lang.Exception
- problem occurredprivate boolean intEqual(int v, java.lang.String s)
v
- integer string values
- string to compareprivate java.lang.String sQuote(java.lang.String s)
s
- Add single quotes to the string for select clauses.private java.lang.String makeUrl(java.lang.String[] args)
makeUrl(String, String[])
, passing in the
URL_ROOT
("/point") and the URL_ROOT
to use.args
- URL arguments, key value pairs
(ex: arg[0]=arg[1]&arg[2]=arg[3]...
)private java.lang.String makeUrl(java.lang.String urlRoot, java.lang.String[] args)
urlRoot
and URL argument array.
This returns:
"URL_PROTOCOL://server urlRoot ?arg[0]=arg[1]&arg[2]=arg[3]...
urlRoot
- Root for the URLargs
- Key/value pair arguments.public void update()
update
in interface ucar.unidata.data.sounding.SoundingAdapter
private void loadStations()
private void initGroupAndDescriptors()
private void loadStationsInner() throws AddeException
AddeException
- problem accessing datapublic void setSource(java.lang.String server)
setSource
in interface ucar.unidata.data.sounding.SoundingAdapter
server
- server name or IP addresspublic java.lang.String getSource()
getSource
in interface ucar.unidata.data.sounding.SoundingAdapter
public void setMandDataset(java.lang.String value)
value
- mandatory data set namepublic java.lang.String getMandDataset()
public void setSigDataset(java.lang.String value)
value
- the significant data set namepublic java.lang.String getSigDataset()
public void setSatelliteSounding(boolean flag)
public boolean getSatelliteSounding()
public ucar.unidata.data.sounding.SoundingOb initSoundingOb(ucar.unidata.data.sounding.SoundingOb sound)
initSoundingOb
in interface ucar.unidata.data.sounding.SoundingAdapter
initSoundingOb
in class ucar.unidata.data.sounding.SoundingAdapterImpl
sound
- sounding to checkprivate java.lang.String makeSelectString(ucar.unidata.data.sounding.SoundingOb sound)
sound
- sounding to useprivate java.lang.String makeSelectString(java.lang.String wmoId, DateTime date)
wmoId
- station iddate
- time of dataprivate void setRAOBData(ucar.unidata.data.sounding.SoundingOb sound)
sound
- sounding ob to setprivate double scaleValue(int value, int scale)
value
- value to scalescale
- scale factorprivate Unit getUnit(java.lang.String unitName)
unitName
- unit nameUtil.parseUnit(String)
private java.lang.String getDflt(java.lang.String name, java.lang.String dflt)
name
- name of property keydflt
- default valueprivate void getVariables()
private java.lang.String getSigUserProj()
public java.lang.String getMandatoryURL(ucar.unidata.data.sounding.SoundingOb sound)
sound
- soundingpublic java.lang.String getSigURL(ucar.unidata.data.sounding.SoundingOb sound)
sound
- the soundingprivate java.lang.String getManUserProj()
private java.lang.String getUserProj(java.lang.String key)
key
- group/descriptorprivate java.lang.String getStationsSelectString()
public static void main(java.lang.String[] args)
args
- array of arguments. Takes up to 3 arguments as
"server mandatory dataset significant dataset"
Use "x" for any of these arguments to use the default.public java.lang.String toString()
toString
in class java.lang.Object