public final class RAOB extends InvisiblePropertiedBean
This class is a JavaBean.
Instances are modifiable.
Modifier and Type | Class and Description |
---|---|
protected static class |
RAOB.Contribution
Class Contribution.
|
static class |
RAOB.MandatoryPressureProfile
Provides support for mandatory pressure data.
|
static class |
RAOB.MandatoryWindProfile
Provides support for mandatory wind data.
|
static class |
RAOB.MaximumWindProfile
Provides support for maximum wind data.
|
static class |
RAOB.SignificantTemperatureProfile
Provides support for significant temperature data.
|
static class |
RAOB.SignificantWindProfile
Provides support for significant wind data.
|
static class |
RAOB.TropopauseProfile
Provides support for tropopause data.
|
protected static class |
RAOB.ValidSegmentSet
Provides support for run-length encoded sets of valid-data segments.
|
Constructor and Description |
---|
RAOB()
Constructs from nothing.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
adjustCoordinateSystem(visad.CoordinateSystem cs,
visad.Field oldField,
Property property)
Handles a change to a coordinate system transformation.
|
protected static void |
adjustData(float[][] domainValues,
float[][] rangeValues,
boolean increasing)
Adjusts outside data.
|
protected static visad.FlatField |
ensureDomain1D(visad.FlatField field,
visad.RealTupleType newDomainType,
visad.CoordinateSystem coordinateSystem)
Ensures that a FlatField has a particular 1-D domain.
|
protected static visad.FlatField |
ensureValidRange(visad.FlatField flatField)
Ensures that the range of a 1-D FlatField is maximally valid by removing
points with invalid data if necessary.
|
LinkSet |
getActiveLinks()
Gets the active links between input profiles and output profiles.
|
visad.FlatField |
getDewPointProfile()
Gets the current dew-point profile property.
|
visad.CoordinateSystem |
getGeopotentialAltitudeCoordinateSystem()
Gets the GeopotentialAltitude <-> Altitude coordinate system
transformation property.
|
visad.Real |
getGravity()
Gets the gravity value.
|
visad.Field |
getMandatoryPressureProfile()
Gets the mandatory-pressure-profile property.
|
visad.Field |
getMandatoryWindProfile()
Gets the mandatory-wind-profile property.
|
visad.Field |
getMaximumWindProfile()
Gets the maximum-wind-profile property.
|
LinkSet |
getPossibleLinks()
Gets the set of all possible links between input profiles and output
profiles.
|
visad.CoordinateSystem |
getPressureCoordinateSystem()
Gets the Pressure <-> Altitude coordinate system transformation property.
|
visad.Field |
getSignificantTemperatureProfile()
Gets the significant-temperature-profile property.
|
visad.Field |
getSignificantWindProfile()
Gets the significant-wind-profile property.
|
visad.FlatField |
getTemperatureProfile()
Gets the current temperature profile property.
|
visad.Field |
getTropopauseProfile()
Gets the tropopause-profile property.
|
visad.FlatField |
getWindProfile()
Gets the current wind profile property.
|
static RAOB.MandatoryPressureProfile |
newMandatoryPressureProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit temperatureUnit,
float[] temperatures,
visad.Unit dewPointUnit,
float[] dewPoints,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions,
visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes)
Creates an instance of a MandatoryPressureProfile.
|
static RAOB.MandatoryWindProfile |
newMandatoryWindProfile(visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Creates an instance of a MandatoryWindProfile.
|
static RAOB.MaximumWindProfile |
newMaximumWindProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Creates an instance of a MaximumWindProfile.
|
protected static visad.Set |
newSet(visad.RealTupleType type,
float[] values,
visad.Unit unit)
Creates a domain set.
|
static RAOB.SignificantTemperatureProfile |
newSignificantTemperatureProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit temperatureUnit,
float[] temperatures,
visad.Unit dewPointUnit,
float[] dewPoints)
Creates an instance of a SignificantTemperatureProfile.
|
static RAOB.SignificantWindProfile |
newSignificantWindProfile(visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Creates an instance of a SignificantWindProfile.
|
static RAOB.TropopauseProfile |
newTropopauseProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit temperatureUnit,
float[] temperatures,
visad.Unit dewPointUnit,
float[] dewPoints,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Creates an instance of a TropopauseProfile.
|
void |
setActiveLinks(LinkSet links)
Sets the active links between input profiles and output profiles.
|
void |
setGravity(visad.Real gravity)
Sets the gravity property.
|
void |
setMandatoryPressureProfile(visad.Field field)
Sets the mandatory-pressure-profile property.
|
void |
setMandatoryPressureProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit temperatureUnit,
float[] temperatures,
visad.Unit dewPointUnit,
float[] dewPoints,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions,
visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes)
Set the mandatory pressure profile for this RAOB.
|
void |
setMandatoryWindProfile(visad.Field field)
Sets the mandatory-wind-profile property.
|
void |
setMandatoryWindProfile(visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Set the mandatory wind profile.
|
void |
setMaximumWindProfile(visad.Field field)
Sets the maximum-wind-profile property.
|
void |
setMaximumWindProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Set the maximum wind profile for this RAOB.
|
void |
setSignificantTemperatureProfile(visad.Field field)
Sets the significant-temperature-profile property.
|
void |
setSignificantTemperatureProfile(visad.Unit pressureUnit,
float[] pressures,
visad.Unit temperatureUnit,
float[] temperatures,
visad.Unit dewPointUnit,
float[] dewPoints)
Set the significant temperature profile for this RAOB.
|
void |
setSignificantWindProfile(visad.Field field)
Sets the significant-wind-profile property.
|
void |
setSignificantWindProfile(visad.Unit geopotentialAltitudeUnit,
float[] geopotentialAltitudes,
visad.Unit speedUnit,
float[] speeds,
visad.Unit directionUnit,
float[] directions)
Set the significant wind profiler for this RAOB.
|
void |
setTropopauseProfile(visad.Field field)
Sets the tropopause-profile property.
|
addProperty, addPropertyChangeListener, addPropertyChangeListener, disablePropertyChangeEvents, enablePropertyChangeEvents, getTitle, removePropertyChangeListener, removePropertyChangeListener, setTitle
public RAOB() throws visad.VisADException
visad.VisADException
- Couldn't create necessary VisAD object.public void setMandatoryPressureProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Mandatory pressure profile: pressure ->
(temperature, dew point, wind, geopotential
height). May be null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public void setMandatoryPressureProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit temperatureUnit, float[] temperatures, visad.Unit dewPointUnit, float[] dewPoints, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions, visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) throws visad.SetException, java.rmi.RemoteException, visad.VisADException, java.beans.PropertyVetoException
pressureUnit
- Unit of pressure valuespressures
- array of pressure valuestemperatureUnit
- Unit of temperature valuestemperatures
- array of temperature valuesdewPointUnit
- Unit of dewpoint valuesdewPoints
- Array of dewpoint valuesspeedUnit
- Unit of wind speed valuesspeeds
- Array of wind speed valuesdirectionUnit
- Unit of wind speed valuesdirections
- Array of wind direction valuesgeopotentialAltitudeUnit
- Unit of height valuesgeopotentialAltitudes
- Array of height valuesjava.beans.PropertyVetoException
- couldn't set the propertyjava.rmi.RemoteException
- Java RMI errorvisad.SetException
- bad pressure valuesvisad.VisADException
- Couldn't create a VisAD objectpublic visad.Field getMandatoryPressureProfile()
null
but may
be empty.public void setSignificantTemperatureProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Significant temperature profile: pressure ->
(temperature, dew point). May be
null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public void setSignificantTemperatureProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit temperatureUnit, float[] temperatures, visad.Unit dewPointUnit, float[] dewPoints) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
pressureUnit
- Unit of pressure valuespressures
- Array of pressure valuestemperatureUnit
- Unit of temperature valuestemperatures
- Array of temperature valuesdewPointUnit
- Unit of dewpoint valuesdewPoints
- Array of dewpoint valuesjava.beans.PropertyVetoException
- couldn't set the propertyjava.rmi.RemoteException
- Java RMI problemvisad.VisADException
- VisAD problempublic visad.Field getSignificantTemperatureProfile()
null
but may
be empty.public void setTropopauseProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Tropopause profile: pressure -> (temperature,
dew point, wind). May be null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public visad.Field getTropopauseProfile()
null
but may be empty.public void setMaximumWindProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Maximum wind profile: pressure -> (speed,
direction). May be null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public void setMaximumWindProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
pressureUnit
- Unit of pressure valuespressures
- Array of pressuresspeedUnit
- Unit of wind speed valuesspeeds
- Array of wind speed valuesdirectionUnit
- Unit of wind direction valuesdirections
- Array of wind direction valuesjava.beans.PropertyVetoException
- couldn't set the propertyjava.rmi.RemoteException
- Java RMI problemvisad.VisADException
- VisAD problempublic visad.Field getMaximumWindProfile()
null
but may
be empty.public void setMandatoryWindProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Mandatory wind profile: geopotentialAltitude ->
(speed, direction). May be null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public void setMandatoryWindProfile(visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
geopotentialAltitudeUnit
- Unit for heightsgeopotentialAltitudes
- Array of height valuesspeedUnit
- Unit for wind speed valuesspeeds
- Array of wind speed valuesdirectionUnit
- Unit of wind direction valuesdirections
- Array of wind direction valuesjava.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.java.rmi.RemoteException
- Java RMI exception.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.public visad.Field getMandatoryWindProfile()
null
but may
be empty.public void setSignificantWindProfile(visad.Field field) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
field
- Significant wind profile: geopotentialAltitude
-> (speed, direction). May be
null
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public void setSignificantWindProfile(visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
geopotentialAltitudeUnit
- Unit of height valuesgeopotentialAltitudes
- Array of height valuesspeedUnit
- Unit of wind speed valuesspeeds
- Array of wind speed valuesdirectionUnit
- Unit of wind direction valuesdirections
- Array of wind direction valuesjava.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
profile remains unchanged.java.rmi.RemoteException
- Java RMI exception.public visad.Field getSignificantWindProfile()
null
but may be empty.public void setGravity(visad.Real gravity) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
gravity
- The new value for gravity.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object. The
data remains unchanged.java.rmi.RemoteException
- Java RMI exception.public visad.Real getGravity()
public visad.CoordinateSystem getPressureCoordinateSystem()
public visad.CoordinateSystem getGeopotentialAltitudeCoordinateSystem()
public visad.FlatField getTemperatureProfile()
MathType
of
the returned value is InSituAirTemperatureProfile
.public visad.FlatField getDewPointProfile()
MathType
of
the return value is DewPointProfile
.public visad.FlatField getWindProfile()
public LinkSet getPossibleLinks()
public LinkSet getActiveLinks()
public void setActiveLinks(LinkSet links) throws visad.VisADException, java.rmi.RemoteException, java.beans.PropertyVetoException
links
- The active links between input profiles
and output profiles. Each element of
the set shall also be an element of
getPossibleLinks()
.java.beans.PropertyVetoException
- A registered listener objected to the change,
which was not committed.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.protected static void adjustData(float[][] domainValues, float[][] rangeValues, boolean increasing)
domainValues
- The domain values. The array needn't be
sorted and may contain NaN-s, infinities, and
duplicates.rangeValues
- The range values.increasing
- If true, then sort by increasing domain value;
otherwise, sort by decreasing domain value.public static RAOB.MandatoryPressureProfile newMandatoryPressureProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit temperatureUnit, float[] temperatures, visad.Unit dewPointUnit, float[] dewPoints, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions, visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) throws visad.SetException, java.rmi.RemoteException, visad.VisADException
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units of
pressureUnit
. The array needn't
be sorted and may contain NaN-s and infinities.
The array is unmodified.temperatureUnit
- The unit for the in situ temperature
values.temperatures
- The in situ temperature values in units of
temperatureUnit
corresponding to
the pressure values. The array is unmodified.dewPointUnit
- The unit for the dew point temperature values.dewPoints
- The dew point temperature values in units of
dewPointUnit
corresponding to the
pressure values. The array is unmodified.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units of
speedUnit
corresponding to the
pressure values. The array is unmodified.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units of
directionUnit
corresponding to the
pressure values. The array is unmodified.geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units
of geopotentialAltitudeUnit
corresponding to the pressure values. The array
is unmodified.visad.SetException
- The pressure array has no valid data.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.public static RAOB.SignificantTemperatureProfile newSignificantTemperatureProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit temperatureUnit, float[] temperatures, visad.Unit dewPointUnit, float[] dewPoints) throws visad.VisADException, java.rmi.RemoteException
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units of
pressureUnit
. The array needn't be
sorted and may contain NaN-s and infinities.temperatureUnit
- The unit for the in situ temperature
values.temperatures
- The in situ temperature values in units of
temperatureUnit
corresponding to
the pressure values.dewPointUnit
- The unit for the dew point temperature values.dewPoints
- The dew point temperature values in units of
dewPointUnit
corresponding to the
pressure values.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.public static RAOB.TropopauseProfile newTropopauseProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit temperatureUnit, float[] temperatures, visad.Unit dewPointUnit, float[] dewPoints, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units of
pressureUnit
. The array needn't be
sorted and may contain NaN-s and infinities.temperatureUnit
- The unit for the in situ temperature
values.temperatures
- The in situ temperature values in units of
temperatureUnit
corresponding to
the pressure values.dewPointUnit
- The unit for the dew point temperature values.dewPoints
- The dew point temperature values in units of
dewPointUnit
corresponding to the
pressure values.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units of
speedUnit
corresponding to the
pressure values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units of
directionUnit
corresponding to the
pressure values.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.public static RAOB.MaximumWindProfile newMaximumWindProfile(visad.Unit pressureUnit, float[] pressures, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units of
pressureUnit
. The array needn't be
sorted and may contain NaN-s and infinities.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units of
speedUnit
corresponding to the
pressure values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units of
directionUnit
corresponding to the
pressure values.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.public static RAOB.MandatoryWindProfile newMandatoryWindProfile(visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException
geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units
of geopotentialAltitudeUnit
. The
array needn't be sorted and may contain NaN-s
and infinities.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units of
speedUnit
corresponding to the
geopotential altitude values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units of
directionUnit
corresponding to the
geopotential altitude values.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.public static RAOB.SignificantWindProfile newSignificantWindProfile(visad.Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, visad.Unit speedUnit, float[] speeds, visad.Unit directionUnit, float[] directions) throws visad.VisADException, java.rmi.RemoteException
geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units
of geopotentialAltitudeUnit
. The
array needn't be sorted and may contain NaN-s
and infinities.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units of
speedUnit
corresponding to the
geopotential altitude values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units of
directionUnit
corresponding to the
geopotential altitude values.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.protected static visad.Set newSet(visad.RealTupleType type, float[] values, visad.Unit unit) throws visad.SetException, java.rmi.RemoteException, visad.VisADException
type
- The MathType of the set.values
- The values of the set. Must have positive
length.unit
- The unit of the values.visad.SetException
- The value array has non-positive length.visad.VisADException
- VisAD failure.java.rmi.RemoteException
- Java RMI failure.protected boolean adjustCoordinateSystem(visad.CoordinateSystem cs, visad.Field oldField, Property property) throws visad.VisADException, java.rmi.RemoteException
cs
- new CoordinateSystemoldField
- old fieldproperty
- property to changejava.rmi.RemoteException
- Java RMI problemvisad.VisADException
- VisAD problemprotected static visad.FlatField ensureDomain1D(visad.FlatField field, visad.RealTupleType newDomainType, visad.CoordinateSystem coordinateSystem) throws visad.VisADException, java.rmi.RemoteException
field
- The FlatField to have the particular domain.newDomainType
- The MathType of the particular domain for the
FlatField to have. Coordinate conversions are
done if and when necessary and possible.coordinateSystem
- The CoordinateSystem which, together with
newDomainType
, form the basis for
the desired domain.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI failure.protected static visad.FlatField ensureValidRange(visad.FlatField flatField) throws visad.FieldException, visad.SetException, visad.VisADException, java.rmi.RemoteException
flatField
- The FlatField to be validated. Its domain shall
be a Gridded1DSet.null
if the
FlatField contains no valid range data.visad.FieldException
- The domain of the FlatField isn't 1-D or the
domain isn't a Gridded1DSet.visad.SetException
- A valid domain Set can't be created.visad.VisADException
- Couldn't create necessary VisAD object.java.rmi.RemoteException
- Java RMI exception.