public class PointObFactory
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static float |
OA_GRID_DEFAULT
OA Grid Default value
|
Constructor and Description |
---|
PointObFactory()
Constructor
|
Modifier and Type | Method and Description |
---|---|
static visad.FieldImpl |
barnes(visad.FieldImpl pointObs,
visad.RealType type,
float xSpacing,
float ySpacing,
int numPasses)
Perform an object analysis on a set of point obs
|
static visad.FieldImpl |
barnes(visad.FieldImpl pointObs,
visad.RealType type,
float xSpacing,
float ySpacing,
int numPasses,
float gain,
float scaleLength,
au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params,
visad.FieldImpl firstGuessField)
Perform an object analysis on a set of point obs
|
static visad.FlatField |
barnesOneTime(visad.FieldImpl pointObs,
visad.RealType type,
float xSpacing,
float ySpacing,
int numPasses)
Do the analysis on the single time.
|
static visad.FlatField |
barnesOneTime(visad.FieldImpl pointObs,
visad.RealType type,
float xSpacing,
float ySpacing,
int numPasses,
float gain,
float scaleLength,
au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params)
Do the analysis on the single time.
|
static visad.FlatField |
barnesOneTime(visad.FieldImpl pointObs,
visad.RealType type,
float xSpacing,
float ySpacing,
int numPasses,
float gain,
float scaleLength,
au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params,
visad.FlatField firstGuess)
Do the analysis on the single time.
|
static java.util.List |
binTimes(java.util.List times,
double binRoundTo,
double binWidth)
Bin the times
|
static visad.FieldImpl |
extractParameter(visad.FieldImpl obs,
visad.RealType parameter)
Extract the parameter from some point obs
|
static visad.FieldImpl |
extractParameter(visad.FieldImpl obs,
java.lang.String paramName)
Extract the parameter from some point obs
|
static double[] |
getBoundingBox(visad.FieldImpl pointObs)
Get the bounding box of the given obs
|
static double[] |
getBoundingBoxOneTime(visad.FieldImpl pointObs)
Get the bounding box of the given obs
|
static java.util.List<PointOb> |
getPointObs(visad.FieldImpl field)
Get the list of PointOb objects from the given field
|
static double |
heatIndex(double T,
double RH)
Create heatIndex from temperature and relative humidity.
|
static visad.FieldImpl |
makePointCloud(visad.FieldImpl pointObs,
java.lang.String param)
Make a point cloud structure from point obs
|
static PointOb |
makePointOb(visad.georef.EarthLocation el)
Make a PointOb from an EarthLocation.
|
static PointOb |
makePointOb(visad.georef.EarthLocation el,
visad.DateTime dt)
Make a PointOb from an EarthLocation.
|
static PointOb |
makePointOb(visad.georef.EarthLocation el,
visad.DateTime dt,
visad.Tuple tuple)
Make a point ob
|
static visad.FieldImpl |
makePointObField(PointOb point)
Returns a point observation as a FieldImpl of type.
|
static visad.FieldImpl |
makePointObs(visad.georef.EarthLocation el)
Make a FieldImpl of PointOb-s from an EarthLocation.
|
static visad.FieldImpl |
makePointObs(visad.georef.EarthLocation el,
visad.DateTime dt)
Make a FieldImpl of PointOb-s from an EarthLocation.
|
static visad.FieldImpl |
makePointObs(ucar.nc2.ft.FeatureDatasetPoint input,
DataChoice dataChoice,
double binRoundTo,
double binWidth,
ucar.unidata.geoloc.LatLonRect llr,
DateSelection dateSelection,
boolean sample)
Make point obs
|
static visad.FieldImpl |
makePointObs(ucar.nc2.ft.FeatureDatasetPoint input,
double binRoundTo,
double binWidth,
ucar.unidata.geoloc.LatLonRect llr,
DateSelection dateSelection,
boolean sample)
Make point obs
|
static visad.FieldImpl |
makePointObs(PointOb po)
Make a FieldImpl from a PointOb.
|
static visad.FieldImpl |
makePointObs(ucar.nc2.dt.PointObsDataset input)
Make point obs from a PointObsDataset
|
static visad.FieldImpl |
makePointObs(ucar.nc2.dt.PointObsDataset input,
double binRoundTo,
double binWidth)
Make point obs
|
static visad.FieldImpl |
makePointObs(ucar.nc2.dt.PointObsDataset input,
double binRoundTo,
double binWidth,
ucar.unidata.geoloc.LatLonRect llr)
Make point obs
|
static visad.FieldImpl |
makePointObs(ucar.nc2.dt.PointObsDataset input,
double binRoundTo,
double binWidth,
ucar.unidata.geoloc.LatLonRect llr,
boolean sample)
Make point obs
|
static visad.FieldImpl |
makePointObsFromField(visad.FieldImpl input)
Take a field of data and turn it into a field of PointObs.
|
static visad.FieldImpl |
makePointObsFromField(visad.FieldImpl input,
double binRoundTo,
double binWidth)
Take a field of data and turn it into a field of PointObs.
|
static visad.FieldImpl |
makePointObsWRF(ucar.nc2.ft.FeatureDatasetPoint input,
double binRoundTo,
double binWidth,
ucar.unidata.geoloc.LatLonRect llr,
DateSelection dateSelection,
boolean sample)
_more_
|
static visad.FieldImpl |
makeTimeSequenceOfPointObs(visad.FieldImpl pointObs)
From a field of point observations, reorder them with time
as the outer dimension.
|
static visad.FieldImpl |
makeTimeSequenceOfPointObs(visad.FieldImpl pointObs,
int lumpMinutes)
From a field of point observations, reorder them with time
as the outer dimension.
|
static visad.FieldImpl |
makeTimeSequenceOfPointObs(java.util.List pointObs,
int lumpMinutes,
int componentIndex)
From a field of point observations, reorder them with time
as the outer dimension.
|
static ucar.nc2.dt.point.CFPointObWriter |
makeWriter(java.io.DataOutputStream dos,
visad.TupleType type,
int[] skipIndices,
int defaultStringLength,
java.lang.String altUnit,
int cnt,
int[] slengths)
Make a CFPointObWriter
|
static visad.FieldImpl |
mergeData(java.util.List datas)
Merge a List of FieldImpls of point obs into one.
|
static double |
relativeHumidity(double T,
double TD)
100*(EXP((17.625*TD)/(243.04+TD))/EXP((17.625*T)/(243.04+T)))
|
static visad.FieldImpl |
removeTimeDimension(visad.FieldImpl pointObs)
Remove the time dimension from a field of point obs, returning
just and indexed list of the obs
|
static visad.FieldImpl |
subSet(visad.FieldImpl pointObs,
ucar.unidata.geoloc.LatLonRect bounds)
Returns a subset of the field of point observations that lie
within the boundaries of the LinearLatLonSet.
|
static visad.FieldImpl |
subSet(visad.FieldImpl pointObs,
visad.LinearLatLonSet bounds)
Returns a subset of the field of point observations that lie
within the boundaries of the LinearLatLonSet.
|
static double |
windChill(double speed,
double T)
WC = 35.74 + 0.6215 * (T - 273.15) - 35.75 * (WS)**0.16 +
0.4275 * ( T - 273.15) * (WS)**0.16
|
static void |
writeToNetcdf(java.io.File file,
visad.FieldImpl field)
Write the PointObs contained in the given field as a netcdf file
|
public static final float OA_GRID_DEFAULT
public static visad.FieldImpl makePointObField(PointOb point) throws visad.VisADException, java.rmi.RemoteException
(Time -> ((lat, lon, alt) -> (data)))
point
- point observationjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl makePointCloud(visad.FieldImpl pointObs, java.lang.String param) throws visad.VisADException, java.rmi.RemoteException
pointObs
- the point obsparam
- the parameter to extract - null if want alljava.rmi.RemoteException
- Java RMI problemvisad.VisADException
- VisAD problempublic static visad.FieldImpl makeTimeSequenceOfPointObs(visad.FieldImpl pointObs) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Field of point observations (index -> pointobs)java.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl makeTimeSequenceOfPointObs(visad.FieldImpl pointObs, int lumpMinutes) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Field of point observations (index -> pointobs)lumpMinutes
- If greater then 0 is used to lump the times of the point obs
togetherjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl makeTimeSequenceOfPointObs(java.util.List pointObs, int lumpMinutes, int componentIndex) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Field of point observations (index -> pointobs)lumpMinutes
- If greater then 0 is used to lump the times of the point obs togethercomponentIndex
- If >= 0 then make a T->componentvalue fieldjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl subSet(visad.FieldImpl pointObs, ucar.unidata.geoloc.LatLonRect bounds) throws visad.VisADException, java.rmi.RemoteException
pointObs
- set of obs.bounds
- LinearLatLonSet bounding boxjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl subSet(visad.FieldImpl pointObs, visad.LinearLatLonSet bounds) throws visad.VisADException, java.rmi.RemoteException
pointObs
- set of obs.bounds
- LinearLatLonSet bounding boxjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static java.util.List<PointOb> getPointObs(visad.FieldImpl field) throws visad.VisADException, java.rmi.RemoteException
field
- the field that contains the PointObsjava.rmi.RemoteException
- on badnessvisad.VisADException
- on badnesspublic static void writeToNetcdf(java.io.File file, visad.FieldImpl field) throws visad.VisADException, java.rmi.RemoteException, java.io.IOException
file
- file to write tofield
- The fieldjava.io.IOException
- on badnessjava.rmi.RemoteException
- on badnessvisad.VisADException
- on badnesspublic static ucar.nc2.dt.point.CFPointObWriter makeWriter(java.io.DataOutputStream dos, visad.TupleType type, int[] skipIndices, int defaultStringLength, java.lang.String altUnit, int cnt, int[] slengths) throws java.lang.Exception
dos
- the output streamtype
- the tupeskipIndices
- which indices to skipdefaultStringLength
- the default string lengthaltUnit
- the altitude unitcnt
- the numberslengths
- string lengthsjava.lang.Exception
- problem creating somethingpublic static visad.FieldImpl makePointObsFromField(visad.FieldImpl input) throws visad.VisADException
input
- FieldImpl of raw VisAD datavisad.VisADException
- couldn't create the VisAD datapublic static visad.FieldImpl makePointObsFromField(visad.FieldImpl input, double binRoundTo, double binWidth) throws visad.VisADException
input
- FieldImpl of raw VisAD databinRoundTo
- time bin round tobinWidth
- time bin sizevisad.VisADException
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.dt.PointObsDataset input) throws java.lang.Exception
input
- pointobs dataset to loadjava.lang.Exception
- problem creating the ob or a cancelpublic static java.util.List binTimes(java.util.List times, double binRoundTo, double binWidth) throws visad.VisADException
times
- List of timesbinRoundTo
- round to factorbinWidth
- bin sizevisad.VisADException
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.dt.PointObsDataset input, double binRoundTo, double binWidth) throws java.lang.Exception
input
- the data setbinRoundTo
- bin round tobinWidth
- time bin sizejava.lang.Exception
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.dt.PointObsDataset input, double binRoundTo, double binWidth, ucar.unidata.geoloc.LatLonRect llr) throws java.lang.Exception
input
- the data setbinRoundTo
- bin round tobinWidth
- time bin sizellr
- bounding boxjava.lang.Exception
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.dt.PointObsDataset input, double binRoundTo, double binWidth, ucar.unidata.geoloc.LatLonRect llr, boolean sample) throws java.lang.Exception
input
- the data setbinRoundTo
- bin round tobinWidth
- time bin sizellr
- bounding boxsample
- If true then just sample the data, i.e., read the first objava.lang.Exception
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.ft.FeatureDatasetPoint input, DataChoice dataChoice, double binRoundTo, double binWidth, ucar.unidata.geoloc.LatLonRect llr, DateSelection dateSelection, boolean sample) throws java.lang.Exception
input
- the data setbinRoundTo
- bin round tobinWidth
- time bin sizellr
- bounding boxdateSelection
- the date selectionsample
- If true then just sample the data, i.e., read the first objava.lang.Exception
- On badnesspublic static visad.FieldImpl makePointObs(ucar.nc2.ft.FeatureDatasetPoint input, double binRoundTo, double binWidth, ucar.unidata.geoloc.LatLonRect llr, DateSelection dateSelection, boolean sample) throws java.lang.Exception
input
- the data setbinRoundTo
- bin round tobinWidth
- time bin sizellr
- bounding boxdateSelection
- the date selectionsample
- If true then just sample the data, i.e., read the first objava.lang.Exception
- On badnesspublic static visad.FieldImpl makePointObsWRF(ucar.nc2.ft.FeatureDatasetPoint input, double binRoundTo, double binWidth, ucar.unidata.geoloc.LatLonRect llr, DateSelection dateSelection, boolean sample) throws java.lang.Exception
input
- _more_binRoundTo
- _more_binWidth
- _more_llr
- _more_dateSelection
- _more_sample
- _more_java.lang.Exception
- _more_public static visad.FieldImpl mergeData(java.util.List datas) throws visad.VisADException
datas
- List of FieldImpls of point obsvisad.VisADException
- problem getting the datapublic static PointOb makePointOb(visad.georef.EarthLocation el) throws visad.VisADException, java.rmi.RemoteException
el
- EarthLocation to usejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static PointOb makePointOb(visad.georef.EarthLocation el, visad.DateTime dt) throws visad.VisADException, java.rmi.RemoteException
el
- EarthLocation to usedt
- DateTime to usejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static PointOb makePointOb(visad.georef.EarthLocation el, visad.DateTime dt, visad.Tuple tuple) throws visad.VisADException, java.rmi.RemoteException
el
- earth locationdt
- date timetuple
- datajava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl makePointObs(visad.georef.EarthLocation el) throws visad.VisADException, java.rmi.RemoteException
el
- EarthLocation to usejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl makePointObs(visad.georef.EarthLocation el, visad.DateTime dt) throws visad.VisADException, java.rmi.RemoteException
el
- EarthLocation to usedt
- DateTime to usejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl makePointObs(PointOb po) throws visad.VisADException, java.rmi.RemoteException
po
- The objava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl removeTimeDimension(visad.FieldImpl pointObs) throws visad.VisADException, java.rmi.RemoteException
pointObs
- time field of obsjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl barnes(visad.FieldImpl pointObs, visad.RealType type, float xSpacing, float ySpacing, int numPasses) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Observations to analyzetype
- RealTypes of parameterxSpacing
- x spacing (degrees)ySpacing
- y spacing (degrees)numPasses
- number of passesjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl barnes(visad.FieldImpl pointObs, visad.RealType type, float xSpacing, float ySpacing, int numPasses, float gain, float scaleLength, au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params, visad.FieldImpl firstGuessField) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Observations to analyzetype
- RealTypes of parameterxSpacing
- x spacing (degrees)ySpacing
- y spacing (degrees)numPasses
- number of passesgain
- grid convergence/passscaleLength
- search radiusparams
- analysis parameters - used to pass back computed valsfirstGuessField
- The data to use for a first guess. May be null.java.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FlatField barnesOneTime(visad.FieldImpl pointObs, visad.RealType type, float xSpacing, float ySpacing, int numPasses) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Observations to analyzetype
- RealTypes of parameterxSpacing
- x spacing (degrees)ySpacing
- y spacing (degrees)numPasses
- number of passesjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FlatField barnesOneTime(visad.FieldImpl pointObs, visad.RealType type, float xSpacing, float ySpacing, int numPasses, float gain, float scaleLength, au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Observations to analyzetype
- RealTypes of parameterxSpacing
- x spacing (degrees)ySpacing
- y spacing (degrees)numPasses
- number of passesgain
- grid convergence/passscaleLength
- search radiusparams
- analysis parameters - used to pass back computed valsjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FlatField barnesOneTime(visad.FieldImpl pointObs, visad.RealType type, float xSpacing, float ySpacing, int numPasses, float gain, float scaleLength, au.gov.bom.aifs.osa.analysis.Barnes.AnalysisParameters params, visad.FlatField firstGuess) throws visad.VisADException, java.rmi.RemoteException
pointObs
- Observations to analyzetype
- RealTypes of parameterxSpacing
- x spacing (degrees)ySpacing
- y spacing (degrees)numPasses
- number of passesgain
- grid convergence/passscaleLength
- search radiusparams
- analysis parameters - used to pass back computed valsfirstGuess
- analysis parameters - used to pass back computed valsjava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- problem getting the datapublic static visad.FieldImpl extractParameter(visad.FieldImpl obs, java.lang.String paramName) throws visad.VisADException, java.rmi.RemoteException
obs
- Field of point obsparamName
- name of the parameter to extractjava.rmi.RemoteException
- Java RMI exceptionvisad.VisADException
- problem extracting parameterpublic static visad.FieldImpl extractParameter(visad.FieldImpl obs, visad.RealType parameter) throws visad.VisADException, java.rmi.RemoteException
obs
- Field of point obsparameter
- parameter to extractjava.rmi.RemoteException
- Java RMI exceptionvisad.VisADException
- problem extracting parameterpublic static double[] getBoundingBox(visad.FieldImpl pointObs) throws visad.VisADException, java.rmi.RemoteException
pointObs
- the obsjava.rmi.RemoteException
- On badnessvisad.VisADException
- On badnesspublic static double[] getBoundingBoxOneTime(visad.FieldImpl pointObs) throws visad.VisADException, java.rmi.RemoteException
pointObs
- the obsjava.rmi.RemoteException
- On badnessvisad.VisADException
- On badnesspublic static double heatIndex(double T, double RH)
T
- temperature (F)RH
- wind direction (%)public static double windChill(double speed, double T)
speed
- wind speed (mph)T
- temperature(F)public static double relativeHumidity(double T, double TD)
T
- temperature (Celsius)TD
- dewPoint(Celsius)