Package org.meteoinfo.data.meteodata.arl
Class ARLDataInfo
- java.lang.Object
-
- org.meteoinfo.data.meteodata.DataInfo
-
- org.meteoinfo.data.meteodata.arl.ARLDataInfo
-
- All Implemented Interfaces:
IGridDataInfo
public class ARLDataInfo extends DataInfo implements IGridDataInfo
Template
-
-
Field Summary
Fields Modifier and Type Field Description DataHeaddataHeadbooleanisGlobaljava.lang.BooleanisLatLonintlevelNumjava.util.List<java.lang.Double>levelsjava.util.List<java.util.List<java.lang.String>>LevelVarListdoublemissingValuelongrecLenintrecsPerTimedouble[]Xdouble[]Y
-
Constructor Summary
Constructors Constructor Description ARLDataInfo()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleancanOpen(java.lang.String fileName)If can open as ARL datavoidcloseDataFile()Close the data file created by previos stepvoidcreateDataFile(java.lang.String fileName)Create ARL binary data filejava.lang.StringgenerateInfoText_bak()DataHeadgetDataHead(ProjectionInfo projInfo, java.lang.String model, int kFlag, int icx, short mn)Get data header of index recordjava.util.List<ucar.nc2.Attribute>getGlobalAttributes()Get global attributesGridArraygetGridArray(java.lang.String varName)Get grid dataGridDatagetGridData_Lat(int timeIdx, int lonIdx, int varIdx, int levelIdx)Read grid data - latitudeGridDatagetGridData_Level(int lonIdx, int latIdx, int varIdx, int timeIdx)Read grid data - levelGridDatagetGridData_LevelLat(int lonIdx, int varIdx, int timeIdx)Read grid data - level/latGridDatagetGridData_LevelLon(int latIdx, int varIdx, int timeIdx)Read grid data - Level/lonGridDatagetGridData_LevelTime(int latIdx, int varIdx, int lonIdx)Read grid data - Level/timeGridDatagetGridData_Lon(int timeIdx, int latIdx, int varIdx, int levelIdx)Read grid data - longitudeGridDatagetGridData_LonLat(int timeIdx, int varIdx, int levelIdx)Read grid data - lon/latGridDatagetGridData_Time(int lonIdx, int latIdx, int varIdx, int levelIdx)Read grid data - timeGridDatagetGridData_TimeLat(int lonIdx, int varIdx, int levelIdx)Read grid data - time/latGridDatagetGridData_TimeLon(int latIdx, int varIdx, int levelIdx)Read grid data - time/lonbooleanisLargeGrid()If is large grid sizesucar.ma2.Arrayread(java.lang.String varName)Read array data of a variableucar.ma2.Arrayread(java.lang.String varName, int[] origin, int[] size, int[] stride)Read array data of the variablevoidreadDataInfo(java.lang.String fileName)Read data infovoidsetIndexRecPos()Set index record positionvoidsetX(java.util.List<java.lang.Number> value)Set XvoidsetY(java.util.List<java.lang.Number> value)Set XvoidwriteGridData(java.util.Date time, int levelIdx, java.lang.String varName, int forecast, int grid, GridData gridData)Write grid dataintwriteGridData(java.util.Date time, int levelIdx, java.lang.String varName, int forecast, int grid, ucar.ma2.Array gridData)Write grid datavoidwriteGridData(DataLabel aDL, GridData gridData)Write grid dataintwriteGridData(DataLabel aDL, ucar.ma2.Array a)Write grid datavoidwriteIndexRecord(java.util.Date time, DataHead aDH, java.util.List<java.util.List<java.lang.Integer>> ksums)Write index record-
Methods inherited from class org.meteoinfo.data.meteodata.DataInfo
addAttribute, addDimension, addVariable, generateInfoText, getDataType, getDimensions, getFileName, getMissingValue, getPlottableVariables, getProjectionInfo, getTime, getTimeDimension, getTimeNum, getTimes, getTimeValue, getTimeValue, getTimeValues, getVariable, getVariableNames, getVariableNum, getVariables, getXDimension, getYDimension, getZDimension, isGlobal, isXReverse, isYReverse, readDataInfo, setDataType, setDimensions, setFileName, setGlobal, setMissingValue, setProjectionInfo, setTimeDimension, setTimes, setVariables, setXDimension, setXReverse, setYDimension, setYReverse, setZDimension
-
-
-
-
Field Detail
-
isLatLon
public java.lang.Boolean isLatLon
-
dataHead
public DataHead dataHead
-
recLen
public long recLen
-
recsPerTime
public int recsPerTime
-
LevelVarList
public java.util.List<java.util.List<java.lang.String>> LevelVarList
-
levelNum
public int levelNum
-
levels
public java.util.List<java.lang.Double> levels
-
missingValue
public double missingValue
-
X
public double[] X
-
Y
public double[] Y
-
isGlobal
public boolean isGlobal
-
-
Method Detail
-
setX
public void setX(java.util.List<java.lang.Number> value)
Set X- Parameters:
value- X value
-
setY
public void setY(java.util.List<java.lang.Number> value)
Set X- Parameters:
value- X value
-
isLargeGrid
public boolean isLargeGrid()
If is large grid sizes- Returns:
- Boolean
-
canOpen
public static boolean canOpen(java.lang.String fileName)
If can open as ARL data- Parameters:
fileName- File name- Returns:
- Boolean
-
readDataInfo
public void readDataInfo(java.lang.String fileName)
Read data info- Specified by:
readDataInfoin classDataInfo- Parameters:
fileName- File path
-
getGlobalAttributes
public java.util.List<ucar.nc2.Attribute> getGlobalAttributes()
Get global attributes- Specified by:
getGlobalAttributesin classDataInfo- Returns:
- Global attributes
-
generateInfoText_bak
public java.lang.String generateInfoText_bak()
-
read
public ucar.ma2.Array read(java.lang.String varName)
Read array data of a variable
-
read
public ucar.ma2.Array read(java.lang.String varName, int[] origin, int[] size, int[] stride)Read array data of the variable
-
getGridArray
public GridArray getGridArray(java.lang.String varName)
Get grid data- Specified by:
getGridArrayin interfaceIGridDataInfo- Parameters:
varName- Variable name- Returns:
- Grid data
-
getGridData_LonLat
public GridData getGridData_LonLat(int timeIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - lon/lat- Specified by:
getGridData_LonLatin interfaceIGridDataInfo- Parameters:
timeIdx- Time indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
getGridData_TimeLat
public GridData getGridData_TimeLat(int lonIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - time/lat- Specified by:
getGridData_TimeLatin interfaceIGridDataInfo- Parameters:
lonIdx- Longitude indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
getGridData_TimeLon
public GridData getGridData_TimeLon(int latIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - time/lon- Specified by:
getGridData_TimeLonin interfaceIGridDataInfo- Parameters:
latIdx- Latitude indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
getGridData_LevelLat
public GridData getGridData_LevelLat(int lonIdx, int varIdx, int timeIdx)
Description copied from interface:IGridDataInfoRead grid data - level/lat- Specified by:
getGridData_LevelLatin interfaceIGridDataInfo- Parameters:
lonIdx- Longitude indexvarIdx- Variable indextimeIdx- Time index- Returns:
- Grid data
-
getGridData_LevelLon
public GridData getGridData_LevelLon(int latIdx, int varIdx, int timeIdx)
Description copied from interface:IGridDataInfoRead grid data - Level/lon- Specified by:
getGridData_LevelLonin interfaceIGridDataInfo- Parameters:
latIdx- Latitude indexvarIdx- Variable indextimeIdx- Time index- Returns:
- Grid data
-
getGridData_LevelTime
public GridData getGridData_LevelTime(int latIdx, int varIdx, int lonIdx)
Description copied from interface:IGridDataInfoRead grid data - Level/time- Specified by:
getGridData_LevelTimein interfaceIGridDataInfo- Parameters:
latIdx- Latitude indexvarIdx- Variable indexlonIdx- Longitude index- Returns:
- Grid data
-
getGridData_Time
public GridData getGridData_Time(int lonIdx, int latIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - time- Specified by:
getGridData_Timein interfaceIGridDataInfo- Parameters:
lonIdx- Lontitude indexlatIdx- Latitude indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
getGridData_Level
public GridData getGridData_Level(int lonIdx, int latIdx, int varIdx, int timeIdx)
Description copied from interface:IGridDataInfoRead grid data - level- Specified by:
getGridData_Levelin interfaceIGridDataInfo- Parameters:
lonIdx- Lontitude indexlatIdx- Latitude indexvarIdx- Variable indextimeIdx- Time index- Returns:
- Grid data
-
getGridData_Lon
public GridData getGridData_Lon(int timeIdx, int latIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - longitude- Specified by:
getGridData_Lonin interfaceIGridDataInfo- Parameters:
timeIdx- Time indexlatIdx- Latitude indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
getGridData_Lat
public GridData getGridData_Lat(int timeIdx, int lonIdx, int varIdx, int levelIdx)
Description copied from interface:IGridDataInfoRead grid data - latitude- Specified by:
getGridData_Latin interfaceIGridDataInfo- Parameters:
timeIdx- Time indexlonIdx- Lontitude indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Grid data
-
createDataFile
public void createDataFile(java.lang.String fileName)
Create ARL binary data file- Parameters:
fileName- File name
-
closeDataFile
public void closeDataFile()
Close the data file created by previos step
-
getDataHead
public DataHead getDataHead(ProjectionInfo projInfo, java.lang.String model, int kFlag, int icx, short mn)
Get data header of index record- Parameters:
projInfo- Projection infomodel- Data sourcekFlag- Level flagicx- Forecasting hourmn- Minutes- Returns:
- The data header
-
setIndexRecPos
public void setIndexRecPos()
Set index record position
-
writeIndexRecord
public void writeIndexRecord(java.util.Date time, DataHead aDH, java.util.List<java.util.List<java.lang.Integer>> ksums) throws java.io.IOExceptionWrite index record- Parameters:
time- The timeaDH- The data headerksums- Checksum list- Throws:
java.io.IOException
-
writeGridData
public void writeGridData(DataLabel aDL, GridData gridData) throws java.io.IOException
Write grid data- Parameters:
aDL- The data labelgridData- The grid data- Throws:
java.io.IOException
-
writeGridData
public int writeGridData(DataLabel aDL, ucar.ma2.Array a) throws java.io.IOException
Write grid data- Parameters:
aDL- The data labela- The data array- Returns:
- Check sum
- Throws:
java.io.IOException
-
writeGridData
public void writeGridData(java.util.Date time, int levelIdx, java.lang.String varName, int forecast, int grid, GridData gridData) throws java.io.IOExceptionWrite grid data- Parameters:
time- The timelevelIdx- The level indexvarName- Variable nameforecast- The forecast hourgrid- The grid idgridData- The grid data- Throws:
java.io.IOException- IOException
-
writeGridData
public int writeGridData(java.util.Date time, int levelIdx, java.lang.String varName, int forecast, int grid, ucar.ma2.Array gridData) throws java.io.IOExceptionWrite grid data- Parameters:
time- The timelevelIdx- The level indexvarName- Variable nameforecast- The forecast hourgrid- The grid idgridData- The grid data- Returns:
- Checksum
- Throws:
java.io.IOException- IOException
-
-