Package ucar.unidata.data.sounding
Class RAOB
java.lang.Object
ucar.unidata.beans.InvisiblePropertiedBean
ucar.unidata.data.sounding.RAOB
- All Implemented Interfaces:
Serializable
,PropertiedBean
Provides support for soundings from RAdiosonde OBservations.
This class is a JavaBean.
Instances are modifiable.
- Version:
- $Id: RAOB.java,v 1.32 2006/12/01 20:42:43 jeffmc Exp $
- Author:
- Steven R. Emmerson
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Class Contribution.static final class
Provides support for mandatory pressure data.static final class
Provides support for mandatory wind data.static final class
Provides support for maximum wind data.static final class
Provides support for significant temperature data.static final class
Provides support for significant wind data.static final class
Provides support for tropopause data.protected static final class
Provides support for run-length encoded sets of valid-data segments. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
adjustCoordinateSystem
(CoordinateSystem cs, 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 FlatField
ensureDomain1D
(FlatField field, RealTupleType newDomainType, CoordinateSystem coordinateSystem) Ensures that a FlatField has a particular 1-D domain.protected static FlatField
ensureValidRange
(FlatField flatField) Ensures that the range of a 1-D FlatField is maximally valid by removing points with invalid data if necessary.Gets the active links between input profiles and output profiles.Gets the current dew-point profile property.Gets the GeopotentialAltitude invalid input: '<'-> Altitude coordinate system transformation property.Gets the gravity value.Gets the mandatory-pressure-profile property.Gets the mandatory-wind-profile property.Gets the maximum-wind-profile property.Gets the set of all possible links between input profiles and output profiles.Gets the Pressure invalid input: '<'-> Altitude coordinate system transformation property.Gets the significant-temperature-profile property.Gets the significant-wind-profile property.Gets the current temperature profile property.Gets the tropopause-profile property.Gets the current wind profile property.newMandatoryPressureProfile
(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions, Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) Creates an instance of a MandatoryPressureProfile.static RAOB.MandatoryWindProfile
newMandatoryWindProfile
(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Creates an instance of a MandatoryWindProfile.static RAOB.MaximumWindProfile
newMaximumWindProfile
(Unit pressureUnit, float[] pressures, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Creates an instance of a MaximumWindProfile.protected static Set
newSet
(RealTupleType type, float[] values, Unit unit) Creates a domain set.newSignificantTemperatureProfile
(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints) Creates an instance of a SignificantTemperatureProfile.static RAOB.SignificantWindProfile
newSignificantWindProfile
(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Creates an instance of a SignificantWindProfile.static RAOB.TropopauseProfile
newTropopauseProfile
(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, 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
(Real gravity) Sets the gravity property.void
setMandatoryPressureProfile
(Field field) Sets the mandatory-pressure-profile property.void
setMandatoryPressureProfile
(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions, Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) Set the mandatory pressure profile for this RAOB.void
setMandatoryWindProfile
(Field field) Sets the mandatory-wind-profile property.void
setMandatoryWindProfile
(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Set the mandatory wind profile.void
setMaximumWindProfile
(Field field) Sets the maximum-wind-profile property.void
setMaximumWindProfile
(Unit pressureUnit, float[] pressures, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Set the maximum wind profile for this RAOB.void
Sets the significant-temperature-profile property.void
setSignificantTemperatureProfile
(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints) Set the significant temperature profile for this RAOB.void
setSignificantWindProfile
(Field field) Sets the significant-wind-profile property.void
setSignificantWindProfile
(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) Set the significant wind profiler for this RAOB.void
setTropopauseProfile
(Field field) Sets the tropopause-profile property.Methods inherited from class ucar.unidata.beans.InvisiblePropertiedBean
addProperty, addPropertyChangeListener, addPropertyChangeListener, disablePropertyChangeEvents, enablePropertyChangeEvents, getTitle, removePropertyChangeListener, removePropertyChangeListener, setTitle
-
Constructor Details
-
RAOB
Constructs from nothing.- Throws:
VisADException
- Couldn't create necessary VisAD object.
-
-
Method Details
-
setMandatoryPressureProfile
public void setMandatoryPressureProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the mandatory-pressure-profile property.- Parameters:
field
- Mandatory pressure profile: pressure -> (temperature, dew point, wind, geopotential height). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
setMandatoryPressureProfile
public void setMandatoryPressureProfile(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions, Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) throws SetException, RemoteException, VisADException, PropertyVetoException Set the mandatory pressure profile for this RAOB. A mandatory pressure profile consists of a set of temperatures, dewpoints, wind speeds, wind directions and geopotential heights at specific pressures.- Parameters:
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 values- Throws:
PropertyVetoException
- couldn't set the propertyRemoteException
- Java RMI errorSetException
- bad pressure valuesVisADException
- Couldn't create a VisAD object
-
getMandatoryPressureProfile
Gets the mandatory-pressure-profile property.- Returns:
- The mandatory pressure profile: pressure ->
(temperature, dew point, wind, geopotential
height). Won't be
null
but may be empty.
-
setSignificantTemperatureProfile
public void setSignificantTemperatureProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the significant-temperature-profile property.- Parameters:
field
- Significant temperature profile: pressure -> (temperature, dew point). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
setSignificantTemperatureProfile
public void setSignificantTemperatureProfile(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints) throws VisADException, RemoteException, PropertyVetoException Set the significant temperature profile for this RAOB. A significant temperature profile consists of a set of temperatures and dewpoints at certain pressures.- Parameters:
pressureUnit
- Unit of pressure valuespressures
- Array of pressure valuestemperatureUnit
- Unit of temperature valuestemperatures
- Array of temperature valuesdewPointUnit
- Unit of dewpoint valuesdewPoints
- Array of dewpoint values- Throws:
PropertyVetoException
- couldn't set the propertyRemoteException
- Java RMI problemVisADException
- VisAD problem
-
getSignificantTemperatureProfile
Gets the significant-temperature-profile property.- Returns:
- The significant temperature profile: pressure ->
(temperature, dew point).
Won't be
null
but may be empty.
-
setTropopauseProfile
public void setTropopauseProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the tropopause-profile property.- Parameters:
field
- Tropopause profile: pressure -> (temperature, dew point, wind). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
getTropopauseProfile
Gets the tropopause-profile property.- Returns:
- The tropopause profile: pressure ->
(temperature, dew point, wind). Won't be
null
but may be empty.
-
setMaximumWindProfile
public void setMaximumWindProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the maximum-wind-profile property.- Parameters:
field
- Maximum wind profile: pressure -> (speed, direction). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
setMaximumWindProfile
public void setMaximumWindProfile(Unit pressureUnit, float[] pressures, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException, PropertyVetoException Set the maximum wind profile for this RAOB. The maximum wind profile consists of the wind speed and direction at the maximum wind pressure level- Parameters:
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 values- Throws:
PropertyVetoException
- couldn't set the propertyRemoteException
- Java RMI problemVisADException
- VisAD problem
-
getMaximumWindProfile
Gets the maximum-wind-profile property.- Returns:
- The maximum wind profile: pressure -> (speed,
direction).
Won't be
null
but may be empty.
-
setMandatoryWindProfile
public void setMandatoryWindProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the mandatory-wind-profile property.- Parameters:
field
- Mandatory wind profile: geopotentialAltitude -> (speed, direction). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
setMandatoryWindProfile
public void setMandatoryWindProfile(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException, PropertyVetoException Set the mandatory wind profile. A mandatory wind profile consists of the wind speed and direction at specific geopotential heights- Parameters:
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 values- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.RemoteException
- Java RMI exception.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.
-
getMandatoryWindProfile
Gets the mandatory-wind-profile property.- Returns:
- The mandatory wind profile:
geopotentialAltitude -> (speed, direction).
Won't be
null
but may be empty.
-
setSignificantWindProfile
public void setSignificantWindProfile(Field field) throws VisADException, RemoteException, PropertyVetoException Sets the significant-wind-profile property.- Parameters:
field
- Significant wind profile: geopotentialAltitude -> (speed, direction). May benull
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
setSignificantWindProfile
public void setSignificantWindProfile(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException, PropertyVetoException Set the significant wind profiler for this RAOB. A significant wind profile consists of wind speed and direction at significant height levels.- Parameters:
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 values- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The profile remains unchanged.RemoteException
- Java RMI exception.
-
getSignificantWindProfile
Gets the significant-wind-profile property.- Returns:
- The significant wind profile:
geopotentialAltitude -> (speed, direction).
Won't be
null
but may be empty.
-
setGravity
Sets the gravity property.- Parameters:
gravity
- The new value for gravity.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object. The data remains unchanged.RemoteException
- Java RMI exception.
-
getGravity
Gets the gravity value.- Returns:
- the gravity value
-
getPressureCoordinateSystem
Gets the Pressure invalid input: '<'-> Altitude coordinate system transformation property.- Returns:
- The Pressure invalid input: '<'-> Altitude coordinate system transformation.
-
getGeopotentialAltitudeCoordinateSystem
Gets the GeopotentialAltitude invalid input: '<'-> Altitude coordinate system transformation property.- Returns:
- The GeopotentialAltitude invalid input: '<'-> Altitude coordinate system transformation.
-
getTemperatureProfile
Gets the current temperature profile property. TheMathType
of the returned value isInSituAirTemperatureProfile
.- Returns:
- The temperature profile.
-
getDewPointProfile
Gets the current dew-point profile property. TheMathType
of the return value isDewPointProfile
.- Returns:
- The dew-point profile.
-
getWindProfile
Gets the current wind profile property.- Returns:
- The wind profile.
-
getPossibleLinks
Gets the set of all possible links between input profiles and output profiles.- Returns:
- The set of all possible links between input profiles and output profiles. Each element of the set is a Link. The set is unmodifiable.
-
getActiveLinks
Gets the active links between input profiles and output profiles.- Returns:
- The active links between input profiles and output profiles. Each element of the set is a Link. The set is unmodifiable.
-
setActiveLinks
public void setActiveLinks(LinkSet links) throws VisADException, RemoteException, PropertyVetoException Sets the active links between input profiles and output profiles.- Parameters:
links
- The active links between input profiles and output profiles. Each element of the set shall also be an element ofgetPossibleLinks()
.- Throws:
PropertyVetoException
- A registered listener objected to the change, which was not committed.VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
adjustData
protected static void adjustData(float[][] domainValues, float[][] rangeValues, boolean increasing) Adjusts outside data.- Parameters:
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.
-
newMandatoryPressureProfile
public static RAOB.MandatoryPressureProfile newMandatoryPressureProfile(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions, Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes) throws SetException, RemoteException, VisADException Creates an instance of a MandatoryPressureProfile.- Parameters:
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units ofpressureUnit
. 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 oftemperatureUnit
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 ofdewPointUnit
corresponding to the pressure values. The array is unmodified.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units ofspeedUnit
corresponding to the pressure values. The array is unmodified.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units ofdirectionUnit
corresponding to the pressure values. The array is unmodified.geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units ofgeopotentialAltitudeUnit
corresponding to the pressure values. The array is unmodified.- Returns:
- The mandatory pressure profile
- Throws:
SetException
- The pressure array has no valid data.VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newSignificantTemperatureProfile
public static RAOB.SignificantTemperatureProfile newSignificantTemperatureProfile(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints) throws VisADException, RemoteException Creates an instance of a SignificantTemperatureProfile.- Parameters:
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units ofpressureUnit
. 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 oftemperatureUnit
corresponding to the pressure values.dewPointUnit
- The unit for the dew point temperature values.dewPoints
- The dew point temperature values in units ofdewPointUnit
corresponding to the pressure values.- Returns:
- A significant temperature profile
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newTropopauseProfile
public static RAOB.TropopauseProfile newTropopauseProfile(Unit pressureUnit, float[] pressures, Unit temperatureUnit, float[] temperatures, Unit dewPointUnit, float[] dewPoints, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException Creates an instance of a TropopauseProfile.- Parameters:
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units ofpressureUnit
. 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 oftemperatureUnit
corresponding to the pressure values.dewPointUnit
- The unit for the dew point temperature values.dewPoints
- The dew point temperature values in units ofdewPointUnit
corresponding to the pressure values.speedUnit
- The unit of wind speed.speeds
- The speeds of the wind in units ofspeedUnit
corresponding to the pressure values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units ofdirectionUnit
corresponding to the pressure values.- Returns:
- A tropopause profile based on the input
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newMaximumWindProfile
public static RAOB.MaximumWindProfile newMaximumWindProfile(Unit pressureUnit, float[] pressures, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException Creates an instance of a MaximumWindProfile.- Parameters:
pressureUnit
- The unit of the pressure values.pressures
- The pressure values in units ofpressureUnit
. 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 ofspeedUnit
corresponding to the pressure values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units ofdirectionUnit
corresponding to the pressure values.- Returns:
- A maximum wind profile based on the input
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newMandatoryWindProfile
public static RAOB.MandatoryWindProfile newMandatoryWindProfile(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException Creates an instance of a MandatoryWindProfile.- Parameters:
geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units ofgeopotentialAltitudeUnit
. 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 ofspeedUnit
corresponding to the geopotential altitude values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units ofdirectionUnit
corresponding to the geopotential altitude values.- Returns:
- A MandatoryWindProfile based on the input
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newSignificantWindProfile
public static RAOB.SignificantWindProfile newSignificantWindProfile(Unit geopotentialAltitudeUnit, float[] geopotentialAltitudes, Unit speedUnit, float[] speeds, Unit directionUnit, float[] directions) throws VisADException, RemoteException Creates an instance of a SignificantWindProfile.- Parameters:
geopotentialAltitudeUnit
- The unit of the geopotential altitude values.geopotentialAltitudes
- The geopotential altitude values in units ofgeopotentialAltitudeUnit
. 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 ofspeedUnit
corresponding to the geopotential altitude values.directionUnit
- The unit of meteorological direction.directions
- The directions of the wind in units ofdirectionUnit
corresponding to the geopotential altitude values.- Returns:
- A SignificantWindProfile based on the input
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-
newSet
protected static Set newSet(RealTupleType type, float[] values, Unit unit) throws SetException, RemoteException, VisADException Creates a domain set.- Parameters:
type
- The MathType of the set.values
- The values of the set. Must have positive length.unit
- The unit of the values.- Returns:
- The VisAD Set corresponding to the input.
- Throws:
SetException
- The value array has non-positive length.VisADException
- VisAD failure.RemoteException
- Java RMI failure.
-
adjustCoordinateSystem
protected boolean adjustCoordinateSystem(CoordinateSystem cs, Field oldField, Property property) throws VisADException, RemoteException Handles a change to a coordinate system transformation.- Parameters:
cs
- new CoordinateSystemoldField
- old fieldproperty
- property to change- Returns:
- true if successful
- Throws:
RemoteException
- Java RMI problemVisADException
- VisAD problem
-
ensureDomain1D
protected static FlatField ensureDomain1D(FlatField field, RealTupleType newDomainType, CoordinateSystem coordinateSystem) throws VisADException, RemoteException Ensures that a FlatField has a particular 1-D domain. Clones the FlatField only if necessary.- Parameters:
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 withnewDomainType
, form the basis for the desired domain.- Returns:
- The FlatField with the particular domain.
- Throws:
VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI failure.
-
ensureValidRange
protected static FlatField ensureValidRange(FlatField flatField) throws FieldException, SetException, VisADException, RemoteException Ensures that the range of a 1-D FlatField is maximally valid by removing points with invalid data if necessary. The FlatField will be cloned only if necessary.- Parameters:
flatField
- The FlatField to be validated. Its domain shall be a Gridded1DSet.- Returns:
- The original FlatField if no modification was
necessary; otherwise, if the original FlatField
has some valid data, then a new FlatField with
points with NaN-s or infinities in the range
removed; otherwise,
null
if the FlatField contains no valid range data. - Throws:
FieldException
- The domain of the FlatField isn't 1-D or the domain isn't a Gridded1DSet.SetException
- A valid domain Set can't be created.VisADException
- Couldn't create necessary VisAD object.RemoteException
- Java RMI exception.
-