public class Auto extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static int[][] |
BlackWhiteFieldArray |
private static int[][] |
CircleFilterColumnArray |
private static int[][] |
CircleFilterRowArray |
private static double[] |
ElementCoordinateArray
Array containing element coordinates
|
private static double[][] |
EWTempGradientArray |
private static double[][] |
IRData_Remap_Latitude |
private static double[][] |
IRData_Remap_Longitude |
private static int |
IRData_Remap_NumberColumns |
private static int |
IRData_Remap_NumberRows |
private static double[][] |
IRData_Remap_Temperature |
private static double[] |
LineCoordinateArray
Array containing line coordinates
|
private static int |
MINBFW
Minimum block size (bytes) for domap
|
private static int |
MINBLKSIZ
Minimum block size (lines)
|
private static int[][] |
MoatMaskFlagField |
private static double[][] |
NSTempGradientArray |
private static Remap |
remap_vars |
private static double |
RING_WIDTH |
private static double[][] |
RingScoreAnalysisField |
private static double[][] |
SpiralCenterAnalysisField |
private static TiffVars |
tiff_vars |
Constructor and Description |
---|
Auto() |
Modifier and Type | Method and Description |
---|---|
double[] |
AutoMode1(java.lang.String ForecastFile,
int ForecastFileType)
Determine storm position at time CurrentTime using NHC/JTWC
forecast discussion products.
|
static double[] |
AutoMode2(double InputLatitudePosition,
double InputLongitudePosition)
Additional automatic positioning of storm center location using
official forecasts from NHC or JTWC as input.
|
private static int |
BWImage(int ConnectednessValue,
int NumberRows,
int NumberColumns) |
private static double[] |
CalcScores(double FirstGuessLatitude,
double FirstGuessLongitude,
double SpiralCenterLatitude,
double SpiralCenterLongitude,
double SpiralCenterScoreValue,
double RingFitLatitude,
double RingFitLongitude,
double RingFitScoreValue)
This routine will determine the confidence scores for the spiral fitting
and ring fitting routines and calculate the best possible position for
the storm center based upon a combination of the two methods, if
available.
|
private static void |
CircleFilt(int RingRadiusInput) |
private static void |
Corner(int NumberOfCornersInput,
int LineSplineInput,
int ElementSplineInput)
Compute transformations at corners.
|
private static void |
DetermineDest()
Interpolate between two arrays of different size.
|
private static int |
DoMap(int NumberOfCornersInput,
int LineSplineInput,
int ElementSplineInput) |
private static int |
Find(int[] InputArray,
int InputValue) |
private static int[] |
FindPoint(double latitude,
double longitude)
Find specific lat/lon location in array and return index values.
|
private static double[] |
FindRingScore(double FirstGuessLatitude,
double FirstGuessLongitude,
double[][] RingScoreAnalysisField)
Find Ring score at selected location (spiral analysis location)
|
private static void |
Gradient(double[][] TemperatureInputArray,
int ElementXNumber,
int LineYNumber,
double LongitudeIncrement,
double LatitudeIncrement) |
private static int |
IND(int y,
int x) |
private static double[] |
Inds2LaloFloat(int XAxisPosition,
int YAxisPosition,
double[][] LatitudeArrayInput,
double[][] LongitudeArrayInput,
int ElementXNumber,
int LineYNumber) |
private static int |
Init(int LineSplineInput,
int ElementSplineInput)
Compute number of corners for transformation and block sizes.
|
private static int[] |
Lalo2IndsFloat(double LatitudeInput,
double LongitudeInput,
double[][] LatitudeArrayInput,
double[][] LongitudeArrayInput,
int ElementXNumber,
int LineYNumber) |
private static void |
MeshGrid(double TemperatureThresholdValue,
int MoatSignCheckFlag) |
private static void |
MoatMaskCalc(double MoatMaskTempThreshold,
double RingFitMaxRadiusDegree,
int MoatSignCheckFlag) |
private static double[] |
PickFinalLocation(int InputPositioningID,
double ForecastLatitude,
double ForecastLongitude,
double RingSpiralLatitude,
double RingSpiralLongitude,
double RingSpiralScore,
int RingSpiralSelectionIDValue)
Determine method location scheme to use by examining various
empirically-defined confidence factors.
|
private static void |
RemapData()
Calls routines to setup transformation, transform, data move.
|
private static double[] |
RingFit(double RingFitFirstGuessLatitude,
double RingFitFirstGuessLongitude) |
private static double[] |
SpiralCenterLowRes(double InputLatitude,
double InputLongitude) |
private static int[] |
UMap(int LineValueInput,
int ElementValueInput)
Provide coordinates between original point and transformed point.
|
private static int[][] MoatMaskFlagField
private static int[][] BlackWhiteFieldArray
private static double[][] IRData_Remap_Latitude
private static double[][] IRData_Remap_Longitude
private static double[][] IRData_Remap_Temperature
private static int IRData_Remap_NumberRows
private static int IRData_Remap_NumberColumns
private static double[][] NSTempGradientArray
private static double[][] EWTempGradientArray
private static double[][] SpiralCenterAnalysisField
private static double[][] RingScoreAnalysisField
private static int[][] CircleFilterRowArray
private static int[][] CircleFilterColumnArray
private static double[] LineCoordinateArray
private static double[] ElementCoordinateArray
private static Remap remap_vars
private static double RING_WIDTH
private static int MINBFW
private static int MINBLKSIZ
public Auto()
public double[] AutoMode1(java.lang.String ForecastFile, int ForecastFileType) throws java.io.IOException
java.io.IOException
public static double[] AutoMode2(double InputLatitudePosition, double InputLongitudePosition) throws java.io.IOException
InputLatitudePosition
- Storm center latitude.InputLongitudePosition
- Storm center longitude.
Outputs : Latitude_Return - final storm center latitude position
Longitude_Return - final storm center longitude position
PositioningMethodID_Return - method used to derive storm location
0-error
1-interpolation of operational forecast
2-Laplacian analysis (not used anymore)
3-Warm Spot location
4-10^ log spiral analysis
5-Combo method of spiral and ring analyses
6-linear extrapolation from prior locations
Return : Error flag = 0java.io.IOException
private static double[] SpiralCenterLowRes(double InputLatitude, double InputLongitude)
private static void Gradient(double[][] TemperatureInputArray, int ElementXNumber, int LineYNumber, double LongitudeIncrement, double LatitudeIncrement)
private static double[] RingFit(double RingFitFirstGuessLatitude, double RingFitFirstGuessLongitude)
private static int[] Lalo2IndsFloat(double LatitudeInput, double LongitudeInput, double[][] LatitudeArrayInput, double[][] LongitudeArrayInput, int ElementXNumber, int LineYNumber)
private static double[] Inds2LaloFloat(int XAxisPosition, int YAxisPosition, double[][] LatitudeArrayInput, double[][] LongitudeArrayInput, int ElementXNumber, int LineYNumber)
private static void CircleFilt(int RingRadiusInput)
private static void MoatMaskCalc(double MoatMaskTempThreshold, double RingFitMaxRadiusDegree, int MoatSignCheckFlag)
private static void MeshGrid(double TemperatureThresholdValue, int MoatSignCheckFlag)
private static int BWImage(int ConnectednessValue, int NumberRows, int NumberColumns)
private static int Find(int[] InputArray, int InputValue)
private static double[] CalcScores(double FirstGuessLatitude, double FirstGuessLongitude, double SpiralCenterLatitude, double SpiralCenterLongitude, double SpiralCenterScoreValue, double RingFitLatitude, double RingFitLongitude, double RingFitScoreValue)
FirstGuessLatitude
- First Guess latitude.FirstGuessLongitude
- First Guess longitude.SpiralCenterLatitude
- Spiral Analysis latitude at max location.SpiralCenterLongitude
- Spiral Analysis longitude at max location.SpiralCenterScoreValue
- Spiral Analysis Score value.RingFitLatitude
- Ring Analysis latitude at max score location.RingFitLongitude
- Ring Analysis longitude at max score location.RingFitScoreValue
- Ring Analysis Score value.private static double[] FindRingScore(double FirstGuessLatitude, double FirstGuessLongitude, double[][] RingScoreAnalysisField)
FirstGuessLatitude
- Latitude of search location.FirstGuessLongitude
- Longitude of search location.RingScoreAnalysisField
- - Array/Grid of Ring Analysis scores.private static double[] PickFinalLocation(int InputPositioningID, double ForecastLatitude, double ForecastLongitude, double RingSpiralLatitude, double RingSpiralLongitude, double RingSpiralScore, int RingSpiralSelectionIDValue)
ForecastLatitude
- NHC/JTWC interpolated latitude position.ForecastLongitude
- NHC/JTWC interpolated longitude position.RingSpiralLatitude
- Ring/Spiral Analysis latitude position.RingSpiralLongitude
- Ring/Spiral Analysis longitude position.RingSpiralScore
- Ring/Spiral Analysis confidence factor score.RingSpiralSelectionIDValue
- Ring/Spiral Analysis position
derivation method.private static void RemapData()
private static void DetermineDest()
private static int Init(int LineSplineInput, int ElementSplineInput)
LineSplineInput
- Spline function for line values.ElementSplineInput
- Spline function for element values.private static void Corner(int NumberOfCornersInput, int LineSplineInput, int ElementSplineInput)
LineCoordinateArray
and
ElementCoordinateArray
.NumberOfCornersInput
- Total number of corners to interpolate.LineSplineInput
- Spline function for line values.ElementSplineInput
- Spline function for element values.private static int[] UMap(int LineValueInput, int ElementValueInput)
LineValueInput
- Original line coordinate.ElementValueInput
- Ooriginal element coordinate.private static int[] FindPoint(double latitude, double longitude)
latitude
- Latitude value.longitude
- Longitude value.private static int DoMap(int NumberOfCornersInput, int LineSplineInput, int ElementSplineInput)
private static int IND(int y, int x)