Class NetCDFDataInfo
- java.lang.Object
-
- org.meteoinfo.data.meteodata.DataInfo
-
- org.meteoinfo.data.meteodata.netcdf.NetCDFDataInfo
-
- All Implemented Interfaces:
IGridDataInfo,IStationDataInfo
public class NetCDFDataInfo extends DataInfo implements IGridDataInfo, IStationDataInfo
-
-
Constructor Summary
Constructors Constructor Description NetCDFDataInfo()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddTimeDimension(java.lang.String inFile, java.lang.String outFile, java.util.Date aTime)Add time dimensionstatic voidaddTimeDimension(java.lang.String inFile, java.lang.String outFile, java.util.Date aTime, java.lang.String timeUnit)Add time dimensionstatic GridDataarrayToGrid(ucar.ma2.Array array, Dimension xdim, Dimension ydim)Convert Array to GridDataucar.nc2.NetcdfFileWritercreateNCFile(java.lang.String fileName)Create netCDF fileDimensionfindDimension(java.lang.String dimName)Find dimension by nameucar.nc2.AttributefindGlobalAttribute(java.lang.String attName)Find global attributeucar.nc2.DimensionfindNCDimension(java.lang.String dimName)Find netCDF dimension by nameucar.nc2.VariablefindNCVariable(java.lang.String name)Find netCDF variable by namejava.lang.StringgenerateInfoText()Generate data info textjava.util.List<Dimension>getDimensions()Get MeteoInfo dimensionsucar.nc2.NetcdfFilegetFile()Get netCDF filejava.lang.StringgetFileTypeId()Get file type identiferjava.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/lonjava.util.List<ucar.nc2.Dimension>getNCDimensions()Get ucar nc2 dimensionsjava.util.List<ucar.nc2.Variable>getNCVariables()Get ucar nc2 variablesStationDatagetStationData(int timeIdx, int varIdx, int levelIdx)Read station dataStationInfoDatagetStationInfoData(int timeIdx, int levelIdx)Read station info dataStationModelDatagetStationModelData(int timeIdx, int levelIdx)Read station model datastatic ucar.ma2.ArraygridToArray2D(GridData gData)Convert grid data to NetCDF array 2Dstatic ucar.ma2.ArraygridToArray3D(GridData gData)Convert grid data to NetCDF array 3Dstatic ucar.ma2.ArraygridToArray4D(GridData gData)Convert grid data to NetCDF array 4DbooleanisHDFEOS()Get if is HDF EOS databooleanisSWATH()Get if is SWATHstatic voidjoinDataFiles(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String tDimName)Join netCDF data filesstatic voidjoinDataFiles_Time(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String timeDimStr)Join data files by timestatic voidjoinDataFiles_Time_pack(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String timeDimStr)Join data files by timestatic voidjoinDataFiles_Variable(java.util.List<java.lang.String> inFiles, java.lang.String outFile)Join data files by variableucar.ma2.Arrayread(java.lang.String varName)Read array data of the variableucar.ma2.Arrayread(java.lang.String varName, int[] origin, int[] size)Read array data of the variableucar.ma2.Arrayread(java.lang.String varName, int[] origin, int[] size, int[] stride)Read array data of the variableucar.ma2.Arrayread(java.lang.String varName, java.lang.String key)ucar.ma2.Arrayread_pack(java.lang.String varName, int[] origin, int[] size)Read array data of the variablevoidreadDataInfo(java.lang.String fileName)Read data infovoidreadDataInfo(java.lang.String fileName, boolean keepOpen)Read data infovoidreadDataInfo(java.lang.String fileName, MeteoDataType mdt)Read data info for mixed GRIB-1 and GRIB-2 data file-
Methods inherited from class org.meteoinfo.data.meteodata.DataInfo
addAttribute, addDimension, addVariable, getDataType, getFileName, getMissingValue, getPlottableVariables, getProjectionInfo, getTime, getTimeDimension, getTimeNum, getTimes, getTimeValue, getTimeValue, getTimeValues, getVariable, getVariableNames, getVariableNum, getVariables, getXDimension, getYDimension, getZDimension, isGlobal, isXReverse, isYReverse, setDataType, setDimensions, setFileName, setGlobal, setMissingValue, setProjectionInfo, setTimeDimension, setTimes, setVariables, setXDimension, setXReverse, setYDimension, setYReverse, setZDimension
-
-
-
-
Method Detail
-
getFile
public ucar.nc2.NetcdfFile getFile()
Get netCDF file- Returns:
- NetCDF file
-
getDimensions
public java.util.List<Dimension> getDimensions()
Get MeteoInfo dimensions- Overrides:
getDimensionsin classDataInfo- Returns:
- MeteoInfo dimensions
-
getNCDimensions
public java.util.List<ucar.nc2.Dimension> getNCDimensions()
Get ucar nc2 dimensions- Returns:
- Ucar nc2 dimensions
-
getGlobalAttributes
public java.util.List<ucar.nc2.Attribute> getGlobalAttributes()
Get global attributes- Specified by:
getGlobalAttributesin classDataInfo- Returns:
- Global attributes
-
getNCVariables
public java.util.List<ucar.nc2.Variable> getNCVariables()
Get ucar nc2 variables- Returns:
- Ucar nc2 variables
-
getFileTypeId
public java.lang.String getFileTypeId()
Get file type identifer- Returns:
- File type identifer
-
isHDFEOS
public boolean isHDFEOS()
Get if is HDF EOS data- Returns:
- Boolean
-
isSWATH
public boolean isSWATH()
Get if is SWATH- Returns:
- Boolean
-
readDataInfo
public void readDataInfo(java.lang.String fileName)
Description copied from class:DataInfoRead data info- Specified by:
readDataInfoin classDataInfo- Parameters:
fileName- File name
-
readDataInfo
public void readDataInfo(java.lang.String fileName, MeteoDataType mdt)Read data info for mixed GRIB-1 and GRIB-2 data file- Parameters:
fileName- File namemdt- Meteo data type
-
readDataInfo
public void readDataInfo(java.lang.String fileName, boolean keepOpen)Description copied from class:DataInfoRead data info- Overrides:
readDataInfoin classDataInfo- Parameters:
fileName- File namekeepOpen- Keep file opened or not
-
findNCDimension
public ucar.nc2.Dimension findNCDimension(java.lang.String dimName)
Find netCDF dimension by name- Parameters:
dimName- Dimension name- Returns:
- NetCDF dimension
-
findDimension
public Dimension findDimension(java.lang.String dimName)
Find dimension by name- Parameters:
dimName- Dimension name- Returns:
- Dimension
-
findGlobalAttribute
public ucar.nc2.Attribute findGlobalAttribute(java.lang.String attName)
Find global attribute- Parameters:
attName- Attribute name- Returns:
- Global attribute
-
findNCVariable
public ucar.nc2.Variable findNCVariable(java.lang.String name)
Find netCDF variable by name- Parameters:
name- Variable name- Returns:
- NetCDF variable
-
generateInfoText
public java.lang.String generateInfoText()
Description copied from class:DataInfoGenerate data info text- Overrides:
generateInfoTextin classDataInfo- Returns:
- Data info text
-
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
-
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
-
read
public ucar.ma2.Array read(java.lang.String varName)
Read array data of the variable
-
read
public ucar.ma2.Array read(java.lang.String varName, int[] origin, int[] size, int[] stride)Read array data of the variable
-
read
public ucar.ma2.Array read(java.lang.String varName, int[] origin, int[] size)Read array data of the variable- Parameters:
varName- Variable nameorigin- The origin arraysize- The size array- Returns:
- Array data
-
read_pack
public ucar.ma2.Array read_pack(java.lang.String varName, int[] origin, int[] size)Read array data of the variable- Parameters:
varName- Variable nameorigin- The origin arraysize- The size array- Returns:
- Array data
-
read
public ucar.ma2.Array read(java.lang.String varName, java.lang.String key)
-
arrayToGrid
public static GridData arrayToGrid(ucar.ma2.Array array, Dimension xdim, Dimension ydim)
Convert Array to GridData- Parameters:
array- The Arrayxdim- X dimensionydim- Y dimension- Returns:
- The grid data
-
gridToArray2D
public static ucar.ma2.Array gridToArray2D(GridData gData)
Convert grid data to NetCDF array 2D- Parameters:
gData- Grid data- Returns:
- NetCDF array 2D
-
gridToArray3D
public static ucar.ma2.Array gridToArray3D(GridData gData)
Convert grid data to NetCDF array 3D- Parameters:
gData- Grid data- Returns:
- NetCDF array 3D
-
gridToArray4D
public static ucar.ma2.Array gridToArray4D(GridData gData)
Convert grid data to NetCDF array 4D- Parameters:
gData- Grid data- Returns:
- NetCDF array 4D
-
createNCFile
public ucar.nc2.NetcdfFileWriter createNCFile(java.lang.String fileName) throws java.io.IOExceptionCreate netCDF file- Parameters:
fileName- File name- Returns:
- NetcdfFileWriter
- Throws:
java.io.IOException
-
joinDataFiles
public static void joinDataFiles(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String tDimName)Join netCDF data files- Parameters:
inFiles- Input netCDF data filesoutFile- Output netCDF data filetDimName- Time dimension name
-
joinDataFiles_Time
public static void joinDataFiles_Time(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String timeDimStr) throws java.io.IOException, ucar.ma2.InvalidRangeException, java.text.ParseExceptionJoin data files by time- Parameters:
inFiles- Input nc filesoutFile- Output nc filetimeDimStr- Time dimension name- Throws:
java.io.IOExceptionucar.ma2.InvalidRangeExceptionjava.text.ParseException
-
joinDataFiles_Time_pack
public static void joinDataFiles_Time_pack(java.util.List<java.lang.String> inFiles, java.lang.String outFile, java.lang.String timeDimStr) throws java.io.IOException, ucar.ma2.InvalidRangeException, java.text.ParseExceptionJoin data files by time- Parameters:
inFiles- Input nc filesoutFile- Output nc filetimeDimStr- Time dimension name- Throws:
java.io.IOExceptionucar.ma2.InvalidRangeExceptionjava.text.ParseException
-
joinDataFiles_Variable
public static void joinDataFiles_Variable(java.util.List<java.lang.String> inFiles, java.lang.String outFile) throws java.io.IOException, ucar.ma2.InvalidRangeExceptionJoin data files by variable- Parameters:
inFiles- Input nc filesoutFile- Output nc file- Throws:
java.io.IOExceptionucar.ma2.InvalidRangeException
-
addTimeDimension
public static void addTimeDimension(java.lang.String inFile, java.lang.String outFile, java.util.Date aTime)Add time dimension- Parameters:
inFile- Input nc fileoutFile- Output nc fileaTime- Time
-
addTimeDimension
public static void addTimeDimension(java.lang.String inFile, java.lang.String outFile, java.util.Date aTime, java.lang.String timeUnit) throws java.text.ParseException, java.io.IOException, ucar.ma2.InvalidRangeExceptionAdd time dimension- Parameters:
inFile- Input nc fileoutFile- Output nc fileaTime- TimetimeUnit- Time unit (days, hours, minutes, seconds)- Throws:
java.text.ParseExceptionjava.io.IOExceptionucar.ma2.InvalidRangeException
-
-