public class GridMath
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AXIS_X
axis identifier - X
|
static java.lang.String |
AXIS_Y
axis identifier - Y
|
static java.lang.String |
FUNC_AVERAGE
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_DIFFERENCE
function for the timeStepFunc routine
|
static java.lang.String |
FUNC_EXP |
static java.lang.String |
FUNC_MAX
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_MIN
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_MODE
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_PRCNTL
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_RNG
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_STDEV
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_SUM
function for the applyFunctionOverTime routine
|
static java.lang.String |
FUNC_UPROB
function for the applyFunctionOverTime routine
|
static visad.Real |
NEGATIVE_ONE
negative one
|
static int |
OPT_CYCLIC
cyclic option
|
static int |
OPT_MISSING
missing option
|
static int |
OPT_SYMMETRIC
symmetric option
|
Constructor and Description |
---|
GridMath() |
Modifier and Type | Method and Description |
---|---|
static visad.FieldImpl |
add(visad.FieldImpl grid1,
visad.FieldImpl grid2)
Add two grids together
|
static visad.FieldImpl |
add(visad.FieldImpl grid1,
visad.FieldImpl grid2,
boolean useWA)
Add two grids together
|
static visad.FlatField |
applyFunctionOverGrids(visad.FlatField[] grids,
java.lang.String function)
Apply the function to the grids.
|
static visad.FlatField |
applyFunctionOverGrids0(visad.FlatField[] grids,
java.lang.String function) |
static visad.FieldImpl |
applyFunctionOverGridsExt(visad.FieldImpl field,
java.lang.String function) |
static visad.FieldImpl |
applyFunctionOverLevels(visad.FieldImpl grid,
java.lang.String function)
Apply the function to the time steps of the given grid over the levels.
|
static visad.FieldImpl |
applyFunctionOverMembers(visad.FieldImpl grid,
float statThreshold,
float exptdLoBound,
float exptdUpBound,
java.lang.String function)
Apply the function to the ens members of the given grid.
|
static visad.FieldImpl |
applyFunctionOverMembers(visad.FieldImpl grid,
java.lang.String function)
Apply the function to the ens members of the given grid.
|
static visad.FieldImpl |
applyFunctionOverMembers(visad.FieldImpl grid,
java.lang.String statThreshold,
java.lang.String exptdLoBoundIn,
java.lang.String exptdUpBoundIn,
java.lang.String function)
Apply the function to the ens members of the given grid.
|
static visad.FieldImpl |
applyFunctionOverTime(visad.FieldImpl grid,
java.lang.String function,
boolean makeTimes)
Apply the function to the time steps of the given grid.
|
static visad.FieldImpl |
applyFunctionOverTime(visad.FieldImpl grid,
java.lang.String function,
int startIdx,
int idxStride,
boolean makeTimes)
Apply the function to the time steps of the given grid.
|
static visad.FieldImpl |
applyFunctionToAxis(visad.FieldImpl grid,
java.lang.String function,
java.lang.String axis)
Apply the function to the x or y of the given grid at each level.
|
static visad.FieldImpl |
applyFunctionToLevels(visad.FieldImpl grid,
java.lang.String function)
Apply the function to the time steps of the given grid at each level.
|
static visad.FieldImpl |
atan2(visad.FieldImpl grid1,
visad.FieldImpl grid2)
Take the arctangent of two grids
|
static visad.FieldImpl |
atan2(visad.FieldImpl grid1,
visad.FieldImpl grid2,
boolean useWA)
Take the arctangent of two grids
|
static visad.FieldImpl |
averageOverMembers(visad.FieldImpl grid)
Average the grid over member
|
static visad.FieldImpl |
averageOverTime(visad.FieldImpl grid,
boolean makeTimes)
Average the grid at each point over time
|
static visad.FieldImpl |
calculateHelicity(visad.FieldImpl gridu,
visad.FieldImpl gridv,
float bottom,
float top,
float ux,
float vy)
Calculate Helicity to the time steps of the given grid at each level.
|
static visad.FieldImpl |
ddx(visad.FieldImpl grid)
Take the partial derivative with respect to X of the given field.
|
static visad.FieldImpl |
ddy(visad.FieldImpl grid)
Take the partial derivative with respect to Y of the given field.
|
static visad.FieldImpl |
differenceFromBaseTime(visad.FieldImpl grid)
This creates a field where D(T) = D(T)-D(0)
Any time steps up to the offset time are set to missing
|
static visad.FieldImpl |
divide(visad.FieldImpl grid1,
visad.FieldImpl grid2)
Divide two grids
|
static visad.FieldImpl |
divide(visad.FieldImpl grid1,
visad.FieldImpl grid2,
boolean useWA)
Divide two grids
|
static visad.FieldImpl |
ensembleHighestValues(visad.FieldImpl grid)
ensemble grid max values
|
static visad.FieldImpl |
ensembleLowestValues(visad.FieldImpl grid)
ensemble grid min values
|
static visad.FieldImpl |
ensembleModeValues(visad.FieldImpl grid)
ensemble grid min values
|
static visad.FieldImpl |
ensemblePercentileValues(visad.FieldImpl grid,
int percent)
ensemble grid min values
|
static visad.FieldImpl |
ensemblePercentileValues(visad.FieldImpl grid,
java.lang.String percent)
ensemble grid min values
|
static visad.FieldImpl |
ensembleRangeValues(visad.FieldImpl grid)
ensemble grid range values
|
static visad.FieldImpl |
ensembleStandardDeviation(visad.FieldImpl grid)
ensemble Standard Deviation
|
static visad.FieldImpl |
ensembleUProbabilityValues(visad.FieldImpl grid,
java.lang.String logicalOp,
float pValue,
float exptdLoBound,
float exptdUpBound)
ensemble grid univariate probability
|
static visad.FieldImpl |
ensembleUProbabilityValues(visad.FieldImpl grid,
java.lang.String logicalOp,
java.lang.String pValue,
java.lang.String exptdLoBound,
java.lang.String exptdUpBound)
ensemble grid univariate probability
|
static float |
evaluateMode(float[] data)
evaluate mode value
|
static float |
evaluatePercentile(float[] values,
int begin,
int length,
double p)
evaluate percentile value
|
static float |
evaluateUProbability(float[] values,
float pValue,
int length)
evaluate univariate probability of "variable with n ensemble values" < pValue
code from $NAWIPS/gempak/source/diaglib/de/decprb.c used to make this function.
|
static visad.FieldImpl |
maxOverTime(visad.FieldImpl grid,
boolean makeTimes)
Take the max value at each grid point
|
static visad.FieldImpl |
minOverTime(visad.FieldImpl grid,
boolean makeTimes)
Take the min value at each grid point
|
static visad.FieldImpl |
multiply(visad.FieldImpl grid1,
visad.FieldImpl grid2)
Multiply two grids
|
static visad.FieldImpl |
multiply(visad.FieldImpl grid1,
visad.FieldImpl grid2,
boolean useWA)
Multiply two grids
|
static visad.FieldImpl |
partial(visad.FieldImpl grid,
int domainIndex)
Take the partial derivative with respect variable at the domain index.
|
static visad.FieldImpl |
standardDeviationOverTime(visad.FieldImpl grid,
boolean makeTimes)
Compute the standard deviation of the grid at each point over time
|
static visad.FieldImpl |
subtract(visad.FieldImpl grid1,
visad.FieldImpl grid2)
Subtract two grids
|
static visad.FieldImpl |
subtract(visad.FieldImpl grid1,
visad.FieldImpl grid2,
boolean useWA)
Subtract two grids
|
static visad.FieldImpl |
sumFromBaseTime(visad.FieldImpl grid)
This creates a field where D(T) = D(0)+D(1)+...+D(T-1)+D(T)
|
static visad.FieldImpl |
sumOverTime(visad.FieldImpl grid,
boolean makeTimes)
Sum each grid point
|
static visad.FieldImpl |
timeRunningAverage(visad.FieldImpl grid,
int nave,
int opt)
Create a running average across the time dimension.
|
static visad.FieldImpl |
timeRunningAverage(visad.FieldImpl grid,
int nave,
int opt,
boolean skipMissing)
Create a running average across the time dimension.
|
static visad.FieldImpl |
timeStepDifference(visad.FieldImpl grid,
int offset)
This creates a field where D(T) = D(T)-D(T+offset)
Any time steps up to the offset time are set to missing
|
static visad.FieldImpl |
timeStepFunc(visad.FieldImpl grid,
int offset,
java.lang.String func)
This creates a field where is either D(T) = D(T)-D(T+offset)
or D(T) = D(T)+D(T+offset) depending on the value of the func argument
Any time steps up to the offset time are set to missing.
|
static visad.FieldImpl |
timeStepSum(visad.FieldImpl grid,
int offset)
This creates a field where D(T) = D(T)+D(T+offset)
Any time steps up to the offset time are set to missing
|
static visad.FieldImpl |
timeWeightedRunningAverage(visad.FieldImpl grid,
float[] wgts,
int opt)
Create a running average across the time dimension.
|
static visad.FieldImpl |
timeWeightedRunningAverage(visad.FieldImpl grid,
float[] wgts,
int opt,
boolean skipMissing)
Create a running average across the time dimension.
|
public static final java.lang.String FUNC_AVERAGE
public static final java.lang.String FUNC_STDEV
public static final java.lang.String FUNC_PRCNTL
public static final java.lang.String FUNC_UPROB
public static final java.lang.String FUNC_SUM
public static final java.lang.String FUNC_MAX
public static final java.lang.String FUNC_MIN
public static final java.lang.String FUNC_RNG
public static final java.lang.String FUNC_MODE
public static final java.lang.String FUNC_EXP
public static final java.lang.String FUNC_DIFFERENCE
public static final int OPT_CYCLIC
public static final int OPT_MISSING
public static final int OPT_SYMMETRIC
public static final java.lang.String AXIS_X
public static final java.lang.String AXIS_Y
public static final visad.Real NEGATIVE_ONE
public static visad.FieldImpl add(visad.FieldImpl grid1, visad.FieldImpl grid2) throws visad.VisADException
grid1
- first gridgrid2
- second gridvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl add(visad.FieldImpl grid1, visad.FieldImpl grid2, boolean useWA) throws visad.VisADException
grid1
- first gridgrid2
- second griduseWA
- use WEIGHTED_AVERAGE for resamplingvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl subtract(visad.FieldImpl grid1, visad.FieldImpl grid2) throws visad.VisADException
grid1
- first gridgrid2
- second gridvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl subtract(visad.FieldImpl grid1, visad.FieldImpl grid2, boolean useWA) throws visad.VisADException
grid1
- first gridgrid2
- second griduseWA
- true to use weighted averagevisad.VisADException
- problem doing the mathpublic static visad.FieldImpl multiply(visad.FieldImpl grid1, visad.FieldImpl grid2) throws visad.VisADException
grid1
- first gridgrid2
- second gridvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl multiply(visad.FieldImpl grid1, visad.FieldImpl grid2, boolean useWA) throws visad.VisADException
grid1
- first gridgrid2
- second griduseWA
- true to use WEIGHTED_AVERAGEvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl divide(visad.FieldImpl grid1, visad.FieldImpl grid2) throws visad.VisADException
grid1
- first gridgrid2
- second gridvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl divide(visad.FieldImpl grid1, visad.FieldImpl grid2, boolean useWA) throws visad.VisADException
grid1
- first gridgrid2
- second griduseWA
- true to use WEIGHTED_AVERAGEvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl atan2(visad.FieldImpl grid1, visad.FieldImpl grid2) throws visad.VisADException
grid1
- first gridgrid2
- second gridvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl atan2(visad.FieldImpl grid1, visad.FieldImpl grid2, boolean useWA) throws visad.VisADException
grid1
- first gridgrid2
- second griduseWA
- true to use WEIGHTED_AVERAGEvisad.VisADException
- problem doing the mathpublic static visad.FieldImpl averageOverTime(visad.FieldImpl grid, boolean makeTimes) throws visad.VisADException
grid
- grid to averagemakeTimes
- If true then make a time field with the range being the same computed value
If false then just return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl standardDeviationOverTime(visad.FieldImpl grid, boolean makeTimes) throws visad.VisADException
grid
- grid to compute stdmakeTimes
- If true then make a time field with the range being the same computed value
If false then just return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl averageOverMembers(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble grid to averagevisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleStandardDeviation(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble gridvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleLowestValues(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble gridvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleHighestValues(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble gridvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleRangeValues(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble gridvisad.VisADException
- On badnesspublic static visad.FieldImpl ensemblePercentileValues(visad.FieldImpl grid, java.lang.String percent) throws visad.VisADException
grid
- ensemble gridpercent
- the percentvisad.VisADException
- On badnesspublic static visad.FieldImpl ensemblePercentileValues(visad.FieldImpl grid, int percent) throws visad.VisADException
grid
- ensemble gridpercent
- the percentvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleUProbabilityValues(visad.FieldImpl grid, java.lang.String logicalOp, float pValue, float exptdLoBound, float exptdUpBound) throws visad.VisADException
grid
- ensemble gridlogicalOp
- gt or lt for P(X > | < pValue)pValue
- probability threshold value P(valueAtGridPoint < pValue)exptdLoBound
- expected lo boundexptdUpBound
- expected hi boundvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleUProbabilityValues(visad.FieldImpl grid, java.lang.String logicalOp, java.lang.String pValue, java.lang.String exptdLoBound, java.lang.String exptdUpBound) throws visad.VisADException
grid
- ensemble gridlogicalOp
- gt or lt for P(X > | < pValue)pValue
- probability threshold value P(valueAtGridPoint < pValue)exptdLoBound
- expected lo boundexptdUpBound
- expected hi boundvisad.VisADException
- On badnesspublic static visad.FieldImpl ensembleModeValues(visad.FieldImpl grid) throws visad.VisADException
grid
- ensemble gridvisad.VisADException
- On badnesspublic static visad.FieldImpl timeStepDifference(visad.FieldImpl grid, int offset) throws visad.VisADException
grid
- grid to averageoffset
- time step offset. e.g., offset=-1 results in D(T)=D(T)-D(T-1)visad.VisADException
- On badnesspublic static visad.FieldImpl timeStepSum(visad.FieldImpl grid, int offset) throws visad.VisADException
grid
- grid to averageoffset
- time step offset. e.g., offset=-1 results in D(T)=D(T)+D(T-1)visad.VisADException
- On badnesspublic static visad.FieldImpl differenceFromBaseTime(visad.FieldImpl grid) throws visad.VisADException
grid
- grid to averagevisad.VisADException
- On badnesspublic static visad.FieldImpl sumFromBaseTime(visad.FieldImpl grid) throws visad.VisADException
grid
- grid to sumvisad.VisADException
- On badnesspublic static visad.FieldImpl timeStepFunc(visad.FieldImpl grid, int offset, java.lang.String func) throws visad.VisADException
grid
- grid to averageoffset
- time step offset.func
- which function to apply, SUM or DIFFERENCEvisad.VisADException
- On badnesspublic static visad.FieldImpl timeWeightedRunningAverage(visad.FieldImpl grid, float[] wgts, int opt) throws visad.VisADException
grid
- grid to averagewgts
- weights per step (usually odd and add to 1)opt
- options for end points
N = {last point in the series} xi = {input series} xo = {output series} nwgt = {number of wgts} opt < 0 : utilize cyclic conditions e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = w(0) * xi(N) + w(1) * xi(0) e.g., nwgt = 3 xo(0) = w(0) * xi(N) + w(1) * xi(0) + w(2) * xi(1) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(0) e.g., nwgt = 4 xo(0) = w(0) * xi(N) + w(1) * xi(0) + w(2) * xi(1) + w(3) * xi(2) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(1) + w(3) * xi(2) opt = 0 : set unsmoothed beginning and end pts to x@_FillValue (most common) e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = xi@_FillValue e.g., nwgt = 3 xo(0) = xi@_FillValue xo(1) = w(0) * xi(0) + w(1) * xi(1) + w(2) * xi(2) xi(N) = xi@_FillValue e.g., nwgt = 4 xo(0) = xi@_FillValue xo(1) = w(0) * xi(0) + w(1) * xi(1) + w(2) * xi(2) + w(3) * xi(3) xo(N - 2) = w(0) * xi(N - 3) + w(1) * xi(N - 2) + w(2) * xi(N - 1) + w(3) * xi(N) xo(N - 1) = xi@_FillValue xo(N) = xi@_FillValue opt > 0 : utilize reflective (symmetric) conditions e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = w(0) * xi(N) + w(0) * xi(0) e.g., nwgt = 3 xo(0) = w(0) * xi(1) + w(1) * xi(0) + w(2) * xi(1) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(N - 1) e.g., nwgt = 4 xo(0) = w(0) * xi(1) + w(1) * xi(0) + w(2) * xi(1) + w(3) * xi(2) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(0) + w(3) * xi(2)
visad.VisADException
- On badnesspublic static visad.FieldImpl timeWeightedRunningAverage(visad.FieldImpl grid, float[] wgts, int opt, boolean skipMissing) throws visad.VisADException
grid
- grid to averagewgts
- weights per step (usually odd and add to 1)opt
- options for end points
N = {last point in the series} xi = {input series} xo = {output series} nwgt = {number of wgts} opt < 0 : utilize cyclic conditions e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = w(0) * xi(N) + w(1) * xi(0) e.g., nwgt = 3 xo(0) = w(0) * xi(N) + w(1) * xi(0) + w(2) * xi(1) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(0) e.g., nwgt = 4 xo(0) = w(0) * xi(N) + w(1) * xi(0) + w(2) * xi(1) + w(3) * xi(2) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(1) + w(3) * xi(2) opt = 0 : set unsmoothed beginning and end pts to x@_FillValue (most common) e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = xi@_FillValue e.g., nwgt = 3 xo(0) = xi@_FillValue xo(1) = w(0) * xi(0) + w(1) * xi(1) + w(2) * xi(2) xi(N) = xi@_FillValue e.g., nwgt = 4 xo(0) = xi@_FillValue xo(1) = w(0) * xi(0) + w(1) * xi(1) + w(2) * xi(2) + w(3) * xi(3) xo(N - 2) = w(0) * xi(N - 3) + w(1) * xi(N - 2) + w(2) * xi(N - 1) + w(3) * xi(N) xo(N - 1) = xi@_FillValue xo(N) = xi@_FillValue opt > 0 : utilize reflective (symmetric) conditions e.g., nwgt = 2 xo(0) = w(0) * xi(0) + w(1) * xi(1) xo(N) = w(0) * xi(N) + w(0) * xi(0) e.g., nwgt = 3 xo(0) = w(0) * xi(1) + w(1) * xi(0) + w(2) * xi(1) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(N - 1) e.g., nwgt = 4 xo(0) = w(0) * xi(1) + w(1) * xi(0) + w(2) * xi(1) + w(3) * xi(2) xo(N) = w(0) * xi(N - 1) + w(1) * xi(N) + w(2) * xi(0) + w(3) * xi(2)
skipMissing
- if true, missing timesteps will not be included in the average
and the average will be done on the non-missing timesvisad.VisADException
- On badnesspublic static visad.FieldImpl timeRunningAverage(visad.FieldImpl grid, int nave, int opt) throws visad.VisADException
grid
- grid to averagenave
- number of steps to averageopt
- options for end points
In the following: N = {last point in the series, i.e. N = npts - 1} xi = {input series} xo = {output series} opt < 0 : utilize cyclic conditions e.g., nave = 2 xo(0) = (xi(0) + xi(1))/nave xo(N) = (xi(N) + xi(0))/nave e.g., nave = 3 xo(0) = (xi(N) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(0)) / nave e.g., nave = 4 xo(0) = (xi(N) + xi(0) + xi(1) + xi(2)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(0) + xi(1)) / nave opt = 0 : set unsmoothed beginning and end pts to x@_FillValue [most common] e.g., nave = 2 xo(0) = (xi(0) + xi(1)) / nave xo(N) = xi@_FillValue e.g., nave = 3 xo(0) = xi@_FillValue xo(1) = (xi(0) + xi(1) + xi(2)) / nave xi(N) = xi@_FillValue e.g., nave = 4 xo(0) = xi@_FillValue xo(1) = (xi(0) + xi(1) + xi(2) + xi(3)) / nave xo(N - 2) = (xi(N - 3) + xi(N - 2) + xi(N - 1) + xi(N)) / nave xo(N - 1)= xi@_FillValue xo(N)= xi@_FillValue opt > 0 : utilize reflective (symmetric) conditions e.g., nave = 2 xo(0) = (xi(0) + xi(1)) / nave xo(N) = (xi(N) + xi(N-1)) / nave e.g., nave = 3 xo(0) = (xi(1) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(N-1)) / nave e.g., nave = 4 xo(0) = (xi(2) + xi(1) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(N - 1) + xi(N - 2)) / nave
visad.VisADException
- On badnesspublic static visad.FieldImpl timeRunningAverage(visad.FieldImpl grid, int nave, int opt, boolean skipMissing) throws visad.VisADException
grid
- grid to averagenave
- number of steps to averageopt
- options for end points
In the following: N = {last point in the series, i.e. N = npts - 1} xi = {input series} xo = {output series} opt < 0 : utilize cyclic conditions e.g., nave = 2 xo(0) = (xi(0) + xi(1))/nave xo(N) = (xi(N) + xi(0))/nave e.g., nave = 3 xo(0) = (xi(N) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(0)) / nave e.g., nave = 4 xo(0) = (xi(N) + xi(0) + xi(1) + xi(2)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(0) + xi(1)) / nave opt = 0 : set unsmoothed beginning and end pts to x@_FillValue [most common] e.g., nave = 2 xo(0) = (xi(0) + xi(1)) / nave xo(N) = xi@_FillValue e.g., nave = 3 xo(0) = xi@_FillValue xo(1) = (xi(0) + xi(1) + xi(2)) / nave xi(N) = xi@_FillValue e.g., nave = 4 xo(0) = xi@_FillValue xo(1) = (xi(0) + xi(1) + xi(2) + xi(3)) / nave xo(N - 2) = (xi(N - 3) + xi(N - 2) + xi(N - 1) + xi(N)) / nave xo(N - 1)= xi@_FillValue xo(N)= xi@_FillValue opt > 0 : utilize reflective (symmetric) conditions e.g., nave = 2 xo(0) = (xi(0) + xi(1)) / nave xo(N) = (xi(N) + xi(N-1)) / nave e.g., nave = 3 xo(0) = (xi(1) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(N-1)) / nave e.g., nave = 4 xo(0) = (xi(2) + xi(1) + xi(0) + xi(1)) / nave xo(N) = (xi(N - 1) + xi(N) + xi(N - 1) + xi(N - 2)) / nave
skipMissing
- if true, missing timesteps will not be included in the average
and the average will be done on the non-missing timesvisad.VisADException
- On badnesspublic static visad.FieldImpl sumOverTime(visad.FieldImpl grid, boolean makeTimes) throws visad.VisADException
grid
- grid to analyzemakeTimes
- If true then make a time field with the range
being the same computed value. If false then just
return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl minOverTime(visad.FieldImpl grid, boolean makeTimes) throws visad.VisADException
grid
- grid to analyzemakeTimes
- If true then make a time field with the range
being the same computed value. If false then just
return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl maxOverTime(visad.FieldImpl grid, boolean makeTimes) throws visad.VisADException
grid
- grid to analyzemakeTimes
- If true then make a time field with the range
being the same computed value. If false then just
return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionOverTime(visad.FieldImpl grid, java.lang.String function, boolean makeTimes) throws visad.VisADException
grid
- grid to averagefunction
- One of the FUNC_ enumsmakeTimes
- If true then make a time field with the range
being the same computed value. If false then just
return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionOverTime(visad.FieldImpl grid, java.lang.String function, int startIdx, int idxStride, boolean makeTimes) throws visad.VisADException
grid
- grid to apply function tofunction
- One of the FUNC_ enumsstartIdx
- starting time indexidxStride
- stride for time indexmakeTimes
- If true then make a time field with the range
being the same computed value. If false then just
return a single field of the computed valuesvisad.VisADException
- On badnesspublic static visad.FlatField applyFunctionOverGrids(visad.FlatField[] grids, java.lang.String function) throws visad.VisADException
grids
- grids to apply function tofunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FlatField applyFunctionOverGrids0(visad.FlatField[] grids, java.lang.String function) throws visad.VisADException
visad.VisADException
public static visad.FieldImpl applyFunctionOverMembers(visad.FieldImpl grid, java.lang.String statThreshold, java.lang.String exptdLoBoundIn, java.lang.String exptdUpBoundIn, java.lang.String function) throws visad.VisADException
grid
- grid to averagestatThreshold
- percent for FUNC_PRCNTL, probability threshold for FUNC_UPROBexptdLoBoundIn
- expected lo boundexptdUpBoundIn
- expected hi boundfunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionOverMembers(visad.FieldImpl grid, float statThreshold, float exptdLoBound, float exptdUpBound, java.lang.String function) throws visad.VisADException
grid
- grid to averagestatThreshold
- percent for FUNC_PRCNTL, probability threshold for FUNC_UPROBexptdLoBound
- expected lo boundexptdUpBound
- expected hi boundfunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionOverMembers(visad.FieldImpl grid, java.lang.String function) throws visad.VisADException
grid
- grid to averagefunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionOverLevels(visad.FieldImpl grid, java.lang.String function) throws visad.VisADException
grid
- grid to averagefunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionToLevels(visad.FieldImpl grid, java.lang.String function) throws visad.VisADException
grid
- grid to averagefunction
- One of the FUNC_ enumsvisad.VisADException
- On badnesspublic static visad.FieldImpl applyFunctionToAxis(visad.FieldImpl grid, java.lang.String function, java.lang.String axis) throws visad.VisADException
grid
- grid to applyfunction
- One of the FUNC_ enumerationsaxis
- the axis to apply the function (AXIS_X or AXIS_Y)visad.VisADException
- On badnesspublic static visad.FieldImpl ddx(visad.FieldImpl grid) throws visad.VisADException, java.rmi.RemoteException
grid
- grid to parializejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl ddy(visad.FieldImpl grid) throws visad.VisADException, java.rmi.RemoteException
grid
- grid to parializejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static visad.FieldImpl partial(visad.FieldImpl grid, int domainIndex) throws visad.VisADException, java.rmi.RemoteException
grid
- grid to parializedomainIndex
- index of variable to use for derivativejava.rmi.RemoteException
- Java RMI errorvisad.VisADException
- VisAD Errorpublic static float evaluatePercentile(float[] values, int begin, int length, double p) throws visad.VisADException
values
- the valuesbegin
- the starting indexlength
- number of pointsp
- the percentagevisad.VisADException
- VisAD Errorpublic static float evaluateMode(float[] data)
data
- the datapublic static float evaluateUProbability(float[] values, float pValue, int length) throws visad.VisADException
values
- the values, within the userspecified range, at a given grid point
from an ensemble model runpValue
- the threshold used in the probability calculation - P(value < pValue)length
- number of ensemble members (might not be the same as values.length)visad.VisADException
- VisAD Errorpublic static visad.FieldImpl applyFunctionOverGridsExt(visad.FieldImpl field, java.lang.String function) throws visad.VisADException
visad.VisADException
public static visad.FieldImpl calculateHelicity(visad.FieldImpl gridu, visad.FieldImpl gridv, float bottom, float top, float ux, float vy) throws visad.VisADException
gridu
- u component gridgridv
- v component gridbottom
- in metertop
- in metervisad.VisADException
- On badness