Class GrADSDataInfo
- java.lang.Object
-
- org.meteoinfo.data.meteodata.DataInfo
-
- org.meteoinfo.data.meteodata.grads.GrADSDataInfo
-
- All Implemented Interfaces:
IGridDataInfo,IStationDataInfo
public class GrADSDataInfo extends DataInfo implements IGridDataInfo, IStationDataInfo
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringDESCRIPTORjava.lang.StringDSETjava.lang.StringDTYPEbooleanEarthWindintFILEHEADERbooleanisGlobalbooleanisLatLonOptionsOPTIONSPDEFSPDEFlongRecLenPerTimeintRecordLenTDEFSTDEFintTHEADERjava.lang.StringTITLEVARDEFSVARDEFdouble[]XXDEFSXDEFintXNumintXYHEADERdouble[]YYDEFSYDEFintYNumZDEFSZDEF
-
Constructor Summary
Constructors Constructor Description GrADSDataInfo()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTime(java.util.Date time)Add a timestatic booleancanOpen(java.lang.String fileName)voidcloseDataFile()Close the data file created by prevoid stepvoidcreateDataFile(java.lang.String aFile)Create a GrADS binary data filejava.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 GrADS grid data - lon/latGridDatagetGridData_Station(int vIdx, java.lang.String stID)Get GrADS station dataGridDatagetGridData_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/lonStationDatagetGroundStationData(java.util.List<STData> stDataList, int varIdx)Get ground station dataStationDatagetStationData(int timeIdx, int varIdx, int levelIdx)Read station dataStationInfoDatagetStationInfoData(int timeIdx, int levelIdx)Read station info dataStationModelDatagetStationModelData(int timeIdx, int levelIdx)Read station model datajava.util.List<java.util.Date>getTimes()Get time listjava.util.List<java.lang.String>getUpperVariableNames()Get variable name list they have upper levelsjava.util.List<Variable>getUpperVariables()Get variable list they have upper levelsjava.util.List<java.lang.String>getVarNames()Get variable name listbooleanisBigEndian()Get if is big endianucar.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 aFile)Read GrADS data infojava.util.List<STData>readGrADSData_Station(int timeIdx)Read GrADS station datavoidsetBigEndian(boolean value)Set if is big endianvoidwriteGrADSCTLFile()Write GrADS control filevoidwriteGrADSData_Grid(java.io.DataOutputStream bw, double[][] gridData)Write GrADS grid datavoidwriteGrADSData_Grid_Null(java.io.DataOutputStream bw)Write undefine grid data to GrADS filevoidwriteGridData(double[][] gridData)Write grid data to a GrADS binary data filevoidwriteGridData(GridData gridData)Write grid data to a GrADS binary data filevoidwriteGridData_Null()Write undefine grid data GrADS data filevoidwriteStationData(StationInfoData stInfoData)Write GrADS station datavoidwriteStationData(StationData stData)Write station data-
Methods inherited from class org.meteoinfo.data.meteodata.DataInfo
addAttribute, addDimension, addVariable, generateInfoText, getDataType, getDimensions, getFileName, getMissingValue, getPlottableVariables, getProjectionInfo, getTime, getTimeDimension, getTimeNum, 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
-
DESCRIPTOR
public java.lang.String DESCRIPTOR
-
DSET
public java.lang.String DSET
-
isLatLon
public boolean isLatLon
-
EarthWind
public boolean EarthWind
-
DTYPE
public java.lang.String DTYPE
-
OPTIONS
public Options OPTIONS
-
TITLE
public java.lang.String TITLE
-
PDEF
public PDEFS PDEF
-
XDEF
public XDEFS XDEF
-
YDEF
public YDEFS YDEF
-
ZDEF
public ZDEFS ZDEF
-
TDEF
public TDEFS TDEF
-
VARDEF
public VARDEFS VARDEF
-
FILEHEADER
public int FILEHEADER
-
THEADER
public int THEADER
-
XYHEADER
public int XYHEADER
-
isGlobal
public boolean isGlobal
-
RecordLen
public int RecordLen
-
RecLenPerTime
public long RecLenPerTime
-
X
public double[] X
-
Y
public double[] Y
-
XNum
public int XNum
-
YNum
public int YNum
-
-
Method Detail
-
getVarNames
public java.util.List<java.lang.String> getVarNames()
Get variable name list- Returns:
- Variable names
-
getUpperVariables
public java.util.List<Variable> getUpperVariables()
Get variable list they have upper levels- Returns:
- Upper variables
-
getUpperVariableNames
public java.util.List<java.lang.String> getUpperVariableNames()
Get variable name list they have upper levels- Returns:
- Upper variable names
-
getTimes
public java.util.List<java.util.Date> getTimes()
Get time list
-
isBigEndian
public boolean isBigEndian()
Get if is big endian- Returns:
- Boolean
-
setBigEndian
public void setBigEndian(boolean value)
Set if is big endian- Parameters:
value- Boolean
-
canOpen
public static boolean canOpen(java.lang.String fileName)
-
readDataInfo
public void readDataInfo(java.lang.String aFile)
Read GrADS data info- Specified by:
readDataInfoin classDataInfo- Parameters:
aFile- The control file path
-
getGlobalAttributes
public java.util.List<ucar.nc2.Attribute> getGlobalAttributes()
Get global attributes- Specified by:
getGlobalAttributesin classDataInfo- Returns:
- Global attributes
-
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)
Read GrADS 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
-
getGridData_Station
public GridData getGridData_Station(int vIdx, java.lang.String stID)
Get GrADS station data- Parameters:
vIdx- Variable indexstID- Station identifer- Returns:
- Grid data
-
readGrADSData_Station
public java.util.List<STData> readGrADSData_Station(int timeIdx) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException, java.io.IOException
Read GrADS station data- Parameters:
timeIdx- Time index- Returns:
- Station data list
- Throws:
java.io.FileNotFoundExceptionjava.io.UnsupportedEncodingExceptionjava.io.IOException
-
getGroundStationData
public StationData getGroundStationData(java.util.List<STData> stDataList, int varIdx)
Get ground station data- Parameters:
stDataList- Station data listvarIdx- Variable index- Returns:
- Station data
-
getStationData
public StationData getStationData(int timeIdx, int varIdx, int levelIdx)
Description copied from interface:IStationDataInfoRead station data- Specified by:
getStationDatain interfaceIStationDataInfo- Parameters:
timeIdx- Time indexvarIdx- Variable indexlevelIdx- Level index- Returns:
- Station data
-
getStationInfoData
public StationInfoData getStationInfoData(int timeIdx, int levelIdx)
Description copied from interface:IStationDataInfoRead station info data- Specified by:
getStationInfoDatain interfaceIStationDataInfo- Parameters:
timeIdx- Time indexlevelIdx- Level index- Returns:
- Station info data
-
getStationModelData
public StationModelData getStationModelData(int timeIdx, int levelIdx)
Description copied from interface:IStationDataInfoRead station model data- Specified by:
getStationModelDatain interfaceIStationDataInfo- Parameters:
timeIdx- Time indexlevelIdx- Level index- Returns:
- Station model data data
-
addTime
public void addTime(java.util.Date time)
Add a time- Parameters:
time- The time
-
writeGrADSCTLFile
public void writeGrADSCTLFile()
Write GrADS control file
-
createDataFile
public void createDataFile(java.lang.String aFile) throws java.io.IOExceptionCreate a GrADS binary data file- Parameters:
aFile-- Throws:
java.io.IOException
-
closeDataFile
public void closeDataFile() throws java.io.IOExceptionClose the data file created by prevoid step- Throws:
java.io.IOException
-
writeGridData
public void writeGridData(GridData gridData)
Write grid data to a GrADS binary data file- Parameters:
gridData- Grid data
-
writeGridData
public void writeGridData(double[][] gridData)
Write grid data to a GrADS binary data file- Parameters:
gridData- Grid data array
-
writeGrADSData_Grid
public void writeGrADSData_Grid(java.io.DataOutputStream bw, double[][] gridData) throws java.io.IOExceptionWrite GrADS grid data- Parameters:
bw- EndianDataOutputStreamgridData- Grid data array- Throws:
java.io.IOException
-
writeGridData_Null
public void writeGridData_Null()
Write undefine grid data GrADS data file
-
writeGrADSData_Grid_Null
public void writeGrADSData_Grid_Null(java.io.DataOutputStream bw)
Write undefine grid data to GrADS file- Parameters:
bw- DataOutputStream
-
writeStationData
public void writeStationData(StationInfoData stInfoData)
Write GrADS station data- Parameters:
stInfoData- Station info data
-
writeStationData
public void writeStationData(StationData stData)
Write station data- Parameters:
stData- Station data
-
-