net.agmodel.weatherData
Interface Wind

All Superinterfaces:
CompoundSequence, MetSequence, Sequence
All Known Implementing Classes:
WindImpl, WindProfileImpl

public interface Wind
extends MetSequence

Interface to a sequence of wind speed and/or direction readings Wind is commonly measured either as an instantaneous value or as an integral over time (wind run). Our approach is to return the instantaneous value (m/s) from all get methods except getWindRun, which returns the integral over the period in km. (A similar convention is used with SolarRadiation)


Method Summary
 JigsawQuantity getAverageSpeed(Interval interval)
          Returns the average wind speed over the interval.
 String getHeightUnits()
          Gets the units for the wind measurement height.
 JigsawQuantity getInstantDirection(Date time)
          Returns the instantaneous wind speed at a particular point in time.
 JigsawQuantity getInstantSpeed(Date time)
          Returns the instantaneous wind speed at a particular point in time.
 JigsawQuantity getMaxSpeed(Interval interval)
          Returns the maximum wind speed over the interval.
 double getMeasurementHeight()
          Gets the height of the wind measurement
 JigsawQuantity getMinSpeed(Interval interval)
          Returns the minimum wind speed over the interval.
 float[] getRose(Interval interval, int divisions)
          Returns the distribution of wind directions as an array.
 JigsawQuantity getWindRun(Interval interval)
          Returns the total windrun over the interval.
 boolean hasDirection()
          Returns whether wind direction data are stored in the sequence
 boolean hasSpeed()
          Returns whether wind speed data are stored in the sequence
 
Methods inherited from interface net.agmodel.weatherData.MetSequence
getSequenceElement, summarize
 
Methods inherited from interface net.agmodel.physical.CompoundSequence
cancelTemporalInterpolation, getAllCoverage, getAllData, getCoverage, getData, getMaximumTemporalInterpolation, getSubHeading, getTemporalInterpolation, getUnitsHeading, setSequenceHeading, setSubHeading, setTemporalInterpolation, setUnitsHeading
 
Methods inherited from interface net.agmodel.physical.Sequence
clone, dumpSequence, getColumnHeading, getContentsAsString, getCurrentResolution, getDateRange, getName, getNumberOfSubComponents, getResolution, getSequenceHeading, getSubHeading, getSummaryKind, getUnitsHeading, setColumnHeading, setName
 

Method Detail

hasSpeed

public boolean hasSpeed()
Returns whether wind speed data are stored in the sequence

Returns:
true if wind speed data are stored, false otherwise

hasDirection

public boolean hasDirection()
Returns whether wind direction data are stored in the sequence

Returns:
true if wind direction data are stored, false otherwise

getMeasurementHeight

public double getMeasurementHeight()
Gets the height of the wind measurement

Returns:
the height, in units expressed by getHeightUnits()

getHeightUnits

public String getHeightUnits()
Gets the units for the wind measurement height.

Returns:
the height units

getMinSpeed

public JigsawQuantity getMinSpeed(Interval interval)
Returns the minimum wind speed over the interval. Wind speeds at either end of the interval are included in the comparison if more than 50% of their duration lies within the interval of interest.

Returns:
the minimum wind speed (m/s)

getMaxSpeed

public JigsawQuantity getMaxSpeed(Interval interval)
Returns the maximum wind speed over the interval. Sequence values at either end of the interval are included in the comparison if more than 50% of their duration lies within the interval of interest.

Returns:
the maximum wind speed (m/s)

getInstantSpeed

public JigsawQuantity getInstantSpeed(Date time)
Returns the instantaneous wind speed at a particular point in time. If interpolation is requested, the value may be spatially and/or temporally interpolated from other data.

Returns:
the instantaneous wind speed (m/s)

getAverageSpeed

public JigsawQuantity getAverageSpeed(Interval interval)
Returns the average wind speed over the interval. Wind speeds at either end of the interval are included by weighting their values according to the proportion of their duration that lies in the period of interest.

Returns:
the average wind speed (m/s)

getWindRun

public JigsawQuantity getWindRun(Interval interval)
Returns the total windrun over the interval. Wind speeds at either end of the interval are included by weighting their values according to the proportion of their duration that lies in the period of interest.

Returns:
the total wind run (km)

getRose

public float[] getRose(Interval interval,
                       int divisions)
Returns the distribution of wind directions as an array. The first array element indicates the proportion of time (0-1) that the wind was coming from a direction between 0 and 360/(number of classes) ) The range is one sided, including 0 but not 360/n.

Parameters:
interval - the period of interest.
divisions - the number of classes in the resulting array
Returns:
the instantaneous value

getInstantDirection

public JigsawQuantity getInstantDirection(Date time)
Returns the instantaneous wind speed at a particular point in time. If interpolation is requested, the value may be spatially and/or temporally interpolated from other data.

Returns:
the instantaneous direction (in degrees)