|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectucar.unidata.data.grid.DerivedGridFactory
public class DerivedGridFactory
DerivedGridFactory has static methods for creating various derived quantities from grids. A grid is defined as a FieldImpl which has one of the following MathTypes structures:
(x,y) -> (parm) (x,y) -> (parm1, ..., parmN) (x,y,z) -> (parm) (x,y,z) -> (parm1, ..., parmN) (t -> (x,y) -> (parm)) (t -> (x,y) -> (parm1, ..., parmN)) (t -> (x,y,z) -> (parm)) (t -> (x,y,z) -> (parm1, ..., parmN)) (t -> (index -> (x,y) -> (parm))) (t -> (index -> (x,y) -> (parm1, ..., parmN))) (t -> (index -> (x,y,z) -> (parm))) (t -> (index -> (x,y,z) -> (parm1, ..., parmN)))In general, t is a time variable, but it might also be just an index.
| Field Summary | |
|---|---|
static Real |
EARTH_RADIUS
EARTH RADIUS |
static Real |
EARTH_TWO_OMEGA
EARTH 2 omega |
static Real |
GRAVITY
gravity |
static Real |
NEGATIVE_ONE
negative one |
| Constructor Summary | |
|---|---|
DerivedGridFactory()
Default ctor; does nothing |
|
| Method Summary | |
|---|---|
static FieldImpl |
combineGrids(FieldImpl[] grids)
Combine an array of grids into one. |
static FieldImpl |
combineGrids(FieldImpl[] grids,
boolean flatten)
Combine an array of grids into one. |
static FieldImpl |
combineGrids(FieldImpl[] grids,
int samplingMode,
int errorMode,
boolean flatten)
Combine an array of grids into one. |
static FieldImpl |
combineGrids(FieldImpl grid1,
FieldImpl grid2)
Combine two Fields into one. |
static FieldImpl |
combineGrids(FieldImpl grid1,
FieldImpl grid2,
boolean flatten)
Combine two Fields into one. |
static FieldImpl |
combineGrids(FieldImpl grid1,
FieldImpl grid2,
FieldImpl grid3)
Combine three Fields into one. |
static FieldImpl |
combineGrids(FieldImpl grid1,
FieldImpl grid2,
int samplingMode,
int errorMode,
boolean flatten)
Combine two Fields into one. |
static FieldImpl |
create2DTopography(FieldImpl paramGrid,
FieldImpl topoGrid)
Make a FieldImpl of some parameter and topography. |
static FieldImpl |
createAbsoluteVorticity(FieldImpl uFI,
FieldImpl vFI)
Computes absolute vorticity from grid-relative wind components. |
static FieldImpl |
createCoriolisGrid(FieldImpl input)
Every geo-located data grid can be used to make a grid with the coriolis parameter for the grid values as well |
static FieldImpl |
createDewpoint(FieldImpl temperFI,
FieldImpl rhFI)
Make the FieldImpl of dewpoint temperature scalar values; possibly for sequence of times |
static FieldImpl |
createEquivalentPotentialTemperature(FieldImpl temperFI,
FieldImpl rhFI)
Make a FieldImpl of Equivalent Potential Temperature; usually in 3d grids in a time series (at one or more times). |
static FieldImpl |
createFlowVectors(FieldImpl uGrid,
FieldImpl vGrid)
Make a FieldImpl of wind vectors from u and v components. |
static FieldImpl |
createFlowVectors(FieldImpl uGrid,
FieldImpl vGrid,
FieldImpl wGrid)
Make a FieldImpl of flow vectors from u, v and w components. |
static FieldImpl |
createGeostrophicWindVector(FieldImpl paramFI)
Make a FieldImpl of geostrophic wind. |
static FieldImpl |
createHorizontalAdvection(FieldImpl paramGrid,
FieldImpl uGrid,
FieldImpl vGrid)
Make a FieldImpl of horizontal scalar advection from u and v components, defined as u*(dp/dx) + v*(dp/dy) |
static FieldImpl |
createHorizontalDivergence(FieldImpl uGrid,
FieldImpl vGrid)
Make a FieldImpl of horizontal wind divergence from u and v components. |
static FieldImpl |
createHorizontalFluxDivergence(FieldImpl paramGrid,
FieldImpl uGrid,
FieldImpl vGrid)
Make a FieldImpl of horizontal scalar flux divergence defined as u*(dp/dx) + v*(dp/dy) + p*(du/dx + dv/dy) [because the Advection() routine, returns negative the formulation is (div - adv)] |
static FieldImpl |
createIPV(FieldImpl temperFI,
FieldImpl absvor)
Make a FieldImpl of isentropic potential vorticity |
static FieldImpl |
createIPV(FieldImpl temperFI,
FieldImpl pressFI,
FieldImpl absvor)
Make a grid of isentropic potential vorticity |
static FieldImpl |
createLatitudeGrid(FieldImpl fi)
Every geo-located data grid can be used to make a grid with latitude with the grid values as well |
static FieldImpl |
createLayerAverage(FieldImpl grid,
double value1,
double value2)
Make the average of 2 levels of a grid |
static FieldImpl |
createLayerAverage(FieldImpl grid,
String value1,
String value2)
Make the average of 2 levels of a grid |
static FieldImpl |
createLayerDifference(FieldImpl grid,
double value1,
double value2)
Make the difference of one grid's values at the given levels; first level subtract second level values. |
static FieldImpl |
createLayerDifference(FieldImpl grid,
String value1,
String value2)
Make the difference of one grid's values at the given levels; first level subtract second level values. |
static FieldImpl |
createMixingRatio(FieldImpl temperFI,
FieldImpl rhFI)
Make a FieldImpl of mixing ratio values for series of times in general mr = (saturation mixing ratio) * (RH/100%); |
static FieldImpl |
createPotentialTemperature(FieldImpl temperFI)
Make a FieldImpl of potential temperature values for series of times of temperature grids. |
static FieldImpl |
createPotentialTemperature(FieldImpl temperFI,
FieldImpl pressFI)
Make a FieldImpl of potential temperature values for series of times in general theta = t * (1000/p)** .286 |
static FlatField |
createPressureGridFromDomain(FlatField ff)
Every data grid with pressure as the z coord can be used to make a grid with pressure with the grid values as well |
static FieldImpl |
createRelativeVorticity(FieldImpl uFI,
FieldImpl vFI)
Computes relative vorticity from grid-relative wind components. |
static FieldImpl |
createThickness(FieldImpl grid)
Create a 1000-500 mb thickness grid |
static FieldImpl |
createTrueFlowVector(FieldImpl uvGrid)
Make a grid of true flow vectors from grid relative u and v components. |
static FieldImpl |
createTrueFlowVectors(FieldImpl uGrid,
FieldImpl vGrid)
Make a grid of true flow vectors from grid relative u and v components. |
static FieldImpl |
createTrueWindVectors(FieldImpl uGrid,
FieldImpl vGrid)
Make a grid of true wind vectors from grid relative u and v components. |
static FieldImpl |
createVectorDirection(FieldImpl vector)
Make a FieldImpl the magnitude of the vector components |
static FieldImpl |
createVectorDirection(FieldImpl uFI,
FieldImpl vFI)
Make a FieldImpl the direction of the vector components |
static FieldImpl |
createVectorMagnitude(FieldImpl vector)
Make a FieldImpl the magnitude of the vector components |
static FieldImpl |
createVectorMagnitude(FieldImpl uFI,
FieldImpl vFI)
Make a FieldImpl the magnitude of the vector components |
static FieldImpl |
createVectorMagnitude(FieldImpl uFI,
FieldImpl vFI,
String name)
Make a FieldImpl the magnitude of the vector components |
static FieldImpl |
createWindSpeed(FieldImpl uFI,
FieldImpl vFI)
Make a FieldImpl of wind speed scalar values from u and v components. |
static FieldImpl |
createWindVectors(FieldImpl uGrid,
FieldImpl vGrid)
Deprecated. use #createFlowVectors(uGrid, vGrid) |
static FieldImpl |
ddx(FieldImpl grid)
Take the partial derivative with respect to X of the given field. |
static FieldImpl |
ddy(FieldImpl grid)
Take the partial derivative with respect to Y of the given field. |
static FieldImpl |
getComponent(FieldImpl vector,
int index,
boolean copy)
Get nth component of a vector |
static FieldImpl |
getLatitudeGrid(FieldImpl fi)
Deprecated. use createLatitudeGrid(FieldImpl) |
static FieldImpl |
getUComponent(FieldImpl vector)
Get U component of a vector |
static FieldImpl |
getUComponent(FieldImpl vector,
boolean copy)
Get U component of a vector |
static FieldImpl |
getVComponent(FieldImpl vector)
Get V component of a vector |
static FieldImpl |
getVComponent(FieldImpl vector,
boolean copy)
Get V component of a vector |
static boolean |
isScalar(FieldImpl grid)
Is this a vector? |
static boolean |
isVector(FieldImpl grid)
Is this a vector? |
static FieldImpl |
partial(FieldImpl grid,
int domainIndex)
Take the partial derivative with respect variable at the domain index. |
static FieldImpl |
relativeVorticityFromTrueWind(FieldImpl uFI,
FieldImpl vFI)
Computes relative vorticity from U and V. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final Real EARTH_RADIUS
public static final Real EARTH_TWO_OMEGA
public static final Real GRAVITY
public static final Real NEGATIVE_ONE
| Constructor Detail |
|---|
public DerivedGridFactory()
| Method Detail |
|---|
public static FieldImpl createThickness(FieldImpl grid)
throws VisADException,
RemoteException
grid - grid (hopefully a height grid)
RemoteException - Java RMI error
VisADException - VisAD ErrorcreateLayerDifference(FieldImpl, String, String)
public static FieldImpl createLayerDifference(FieldImpl grid,
String value1,
String value2)
throws VisADException,
RemoteException
grid - grid of datavalue1 - level the first as a Stringvalue2 - level the second as a String
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createLayerDifference(FieldImpl grid,
double value1,
double value2)
throws VisADException,
RemoteException
grid - grid of datavalue1 - level of firstvalue2 - level of second
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createLayerAverage(FieldImpl grid,
String value1,
String value2)
throws VisADException,
RemoteException
grid - grid of datavalue1 - level the first as a Stringvalue2 - level the second as a String
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createLayerAverage(FieldImpl grid,
double value1,
double value2)
throws VisADException,
RemoteException
grid - grid of datavalue1 - level of firstvalue2 - level of second
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createRelativeVorticity(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
FieldImpl are assumed to be the velocity of the wind
in the direction of increasing first and second dimension of the
domain, respectively.
uFI - grid or time sequence of grids of positive-X wind comp.vFI - grid or time sequence of grids of positive-Y wind comp.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl relativeVorticityFromTrueWind(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
CoordinateSystem of the input spatial
domains.
uFI - grid or time sequence of grids of the eastward wind comp.vFI - grid or time sequence of grids of the northward wind comp.
IllegalArgumentException - if the input spatial domain(s) don't
have a CoordinateSystem
whose reference contains RealType.Latitude and RealType.Longitude.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createAbsoluteVorticity(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
FieldImpl are assumed to be the velocity of the wind
in the direction of increasing first and second dimension of the
domain, respectively.
uFI - grid or time sequence of grids of positive-X wind comp.vFI - grid or time sequence of grids of positive-Y wind comp.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createTrueWindVectors(FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
uGrid - grid of U wind componentvGrid - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createTrueFlowVectors(FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
uGrid - grid of U wind componentvGrid - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createTrueFlowVector(FieldImpl uvGrid)
throws VisADException,
RemoteException
uvGrid - vector of uv grids
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createWindVectors(FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
uGrid - grid of U wind componentvGrid - grid of V wind component
VisADException - VisAD problem
RemoteException - remote problem
public static FieldImpl createGeostrophicWindVector(FieldImpl paramFI)
throws VisADException,
RemoteException
paramFI - parameter to use (height)
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl create2DTopography(FieldImpl paramGrid,
FieldImpl topoGrid)
throws VisADException,
RemoteException
paramGrid - parameter gridtopoGrid - grid of topography. Must have units convertible
with meter or geopotential meter.
VisADException - VisAD problem
RemoteException - remote problem
public static FieldImpl createFlowVectors(FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
uGrid - grid of U flow componentvGrid - grid of V flow component
VisADException - VisAD problem
RemoteException - remote problem
public static FieldImpl createFlowVectors(FieldImpl uGrid,
FieldImpl vGrid,
FieldImpl wGrid)
throws VisADException,
RemoteException
uGrid - grid of U flow componentvGrid - grid of V flow componentwGrid - grid of W flow component
VisADException - VisAD problem
RemoteException - remote problem
public static FieldImpl combineGrids(FieldImpl[] grids)
throws VisADException,
RemoteException
grids - array of grids (must have at least 2)
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl[] grids,
boolean flatten)
throws VisADException,
RemoteException
grids - array of grids (must have at least 2)flatten - flatten the structure
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl[] grids,
int samplingMode,
int errorMode,
boolean flatten)
throws VisADException,
RemoteException
grids - array of grids (must have at least 2)samplingMode - sampling mode (e.g. WEIGHTED_AVERAGE, NEAREST_NEIGHBOR)errorMode - sampling error mode (e.g. NO_ERRORS)flatten - false to keep tuple integrity.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl grid1,
FieldImpl grid2,
FieldImpl grid3)
throws VisADException,
RemoteException
grid1 - first grid. This will be used for the time/space domaingrid2 - second grid.grid3 - third grid.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl grid1,
FieldImpl grid2)
throws VisADException,
RemoteException
grid1 - first grid. This will be used for the time/space domaingrid2 - second grid.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl grid1,
FieldImpl grid2,
boolean flatten)
throws VisADException,
RemoteException
grid1 - first grid. This will be used for the time/space domaingrid2 - second grid.flatten - true to flatten
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl combineGrids(FieldImpl grid1,
FieldImpl grid2,
int samplingMode,
int errorMode,
boolean flatten)
throws VisADException,
RemoteException
grid1 - first grid. This will be used for the time/space domaingrid2 - second grid.samplingMode - sampling mode (e.g. WEIGHTED_AVERAGE, NEAREST_NEIGHBOR)errorMode - sampling error mode (e.g. NO_ERRORS)flatten - false to keep tuple integrity.
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createWindSpeed(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
uFI - grid of U wind componentvFI - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createVectorMagnitude(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
uFI - grid of U wind componentvFI - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createVectorMagnitude(FieldImpl vector)
throws VisADException,
RemoteException
vector - vector of grid of U and V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createVectorMagnitude(FieldImpl uFI,
FieldImpl vFI,
String name)
throws VisADException,
RemoteException
uFI - grid of U wind componentvFI - grid of V wind componentname - name of the resulting value
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createVectorDirection(FieldImpl vector)
throws VisADException,
RemoteException
vector - vector of grid of U and V direction component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createVectorDirection(FieldImpl uFI,
FieldImpl vFI)
throws VisADException,
RemoteException
uFI - grid of U flow componentvFI - grid of V flow component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createHorizontalDivergence(FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
uGrid - grid of U wind componentvGrid - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createHorizontalFluxDivergence(FieldImpl paramGrid,
FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
paramGrid - grid of scalar parameteruGrid - grid of U wind componentvGrid - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createHorizontalAdvection(FieldImpl paramGrid,
FieldImpl uGrid,
FieldImpl vGrid)
throws VisADException,
RemoteException
paramGrid - grid of scalar parameteruGrid - grid of U wind componentvGrid - grid of V wind component
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createDewpoint(FieldImpl temperFI,
FieldImpl rhFI)
throws VisADException,
RemoteException
temperFI - grid of air temperaturerhFI - grid of relative humidity
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createEquivalentPotentialTemperature(FieldImpl temperFI,
FieldImpl rhFI)
throws VisADException,
RemoteException
temperFI - grid of air temperaturerhFI - grid of relative humidity
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createMixingRatio(FieldImpl temperFI,
FieldImpl rhFI)
throws VisADException,
RemoteException
temperFI - grid of air temperaturerhFI - grid of relative humidity
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createPotentialTemperature(FieldImpl temperFI)
throws VisADException,
RemoteException
temperFI - one grid or a time sequence of grids of temperature
with a spatial domain that includes pressure
in vertical
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createPotentialTemperature(FieldImpl temperFI,
FieldImpl pressFI)
throws VisADException,
RemoteException
temperFI - grid or time sequence of grids of temperaturepressFI - grid or time sequence of grids of pressure
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createIPV(FieldImpl temperFI,
FieldImpl absvor)
throws VisADException,
RemoteException
temperFI - grid or time sequence of grids of temperature with
a spatial domain that includes pressure in verticalabsvor - grid or time sequence of grids of absolute vorticity
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createIPV(FieldImpl temperFI,
FieldImpl pressFI,
FieldImpl absvor)
throws VisADException,
RemoteException
temperFI - grid or time sequence of grids of temperaturepressFI - grid or time sequence of grids of pressures at
levels in gridabsvor - grid or time sequence of grids of absolute vorticity
RemoteException - Java RMI error
VisADException - VisAD Error
public static FlatField createPressureGridFromDomain(FlatField ff)
throws VisADException,
RemoteException
ff - FlatField with pressure in grid domain
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl createCoriolisGrid(FieldImpl input)
throws VisADException,
RemoteException
input - Any geolocated grid
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl getLatitudeGrid(FieldImpl fi)
throws VisADException,
RemoteException
fi - Any geolocated grid
RemoteException
VisADException
public static FieldImpl createLatitudeGrid(FieldImpl fi)
throws VisADException,
RemoteException
fi - Any geolocated grid
RemoteException
VisADException
public static FieldImpl ddx(FieldImpl grid)
throws VisADException,
RemoteException
grid - grid to parialize
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl ddy(FieldImpl grid)
throws VisADException,
RemoteException
grid - grid to parialize
RemoteException - Java RMI error
VisADException - VisAD Error
public static FieldImpl partial(FieldImpl grid,
int domainIndex)
throws VisADException,
RemoteException
grid - grid to parializedomainIndex - index of variable to use for derivative
RemoteException - Java RMI error
VisADException - VisAD Error
public static boolean isVector(FieldImpl grid)
throws VisADException