Class NetCDFDataInfo

    • Constructor Detail

      • NetCDFDataInfo

        public NetCDFDataInfo​()
        Constructor
    • 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:
        getDimensions in class DataInfo
        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:
        getGlobalAttributes in class DataInfo
        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: DataInfo
        Read data info
        Specified by:
        readDataInfo in class DataInfo
        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 name
        mdt - Meteo data type
      • readDataInfo

        public void readDataInfo​(java.lang.String fileName,
                                 boolean keepOpen)
        Description copied from class: DataInfo
        Read data info
        Overrides:
        readDataInfo in class DataInfo
        Parameters:
        fileName - File name
        keepOpen - 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: DataInfo
        Generate data info text
        Overrides:
        generateInfoText in class DataInfo
        Returns:
        Data info text
      • getGridArray

        public GridArray getGridArray​(java.lang.String varName)
        Get grid data
        Specified by:
        getGridArray in interface IGridDataInfo
        Parameters:
        varName - Variable name
        Returns:
        Grid data
      • getGridData_LonLat

        public GridData getGridData_LonLat​(int timeIdx,
                                           int varIdx,
                                           int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - lon/lat
        Specified by:
        getGridData_LonLat in interface IGridDataInfo
        Parameters:
        timeIdx - Time index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getGridData_TimeLat

        public GridData getGridData_TimeLat​(int lonIdx,
                                            int varIdx,
                                            int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - time/lat
        Specified by:
        getGridData_TimeLat in interface IGridDataInfo
        Parameters:
        lonIdx - Longitude index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getGridData_TimeLon

        public GridData getGridData_TimeLon​(int latIdx,
                                            int varIdx,
                                            int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - time/lon
        Specified by:
        getGridData_TimeLon in interface IGridDataInfo
        Parameters:
        latIdx - Latitude index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getGridData_LevelLat

        public GridData getGridData_LevelLat​(int lonIdx,
                                             int varIdx,
                                             int timeIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - level/lat
        Specified by:
        getGridData_LevelLat in interface IGridDataInfo
        Parameters:
        lonIdx - Longitude index
        varIdx - Variable index
        timeIdx - Time index
        Returns:
        Grid data
      • getGridData_LevelLon

        public GridData getGridData_LevelLon​(int latIdx,
                                             int varIdx,
                                             int timeIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - Level/lon
        Specified by:
        getGridData_LevelLon in interface IGridDataInfo
        Parameters:
        latIdx - Latitude index
        varIdx - Variable index
        timeIdx - Time index
        Returns:
        Grid data
      • getGridData_LevelTime

        public GridData getGridData_LevelTime​(int latIdx,
                                              int varIdx,
                                              int lonIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - Level/time
        Specified by:
        getGridData_LevelTime in interface IGridDataInfo
        Parameters:
        latIdx - Latitude index
        varIdx - Variable index
        lonIdx - Longitude index
        Returns:
        Grid data
      • getGridData_Time

        public GridData getGridData_Time​(int lonIdx,
                                         int latIdx,
                                         int varIdx,
                                         int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - time
        Specified by:
        getGridData_Time in interface IGridDataInfo
        Parameters:
        lonIdx - Lontitude index
        latIdx - Latitude index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getGridData_Level

        public GridData getGridData_Level​(int lonIdx,
                                          int latIdx,
                                          int varIdx,
                                          int timeIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - level
        Specified by:
        getGridData_Level in interface IGridDataInfo
        Parameters:
        lonIdx - Lontitude index
        latIdx - Latitude index
        varIdx - Variable index
        timeIdx - Time index
        Returns:
        Grid data
      • getGridData_Lon

        public GridData getGridData_Lon​(int timeIdx,
                                        int latIdx,
                                        int varIdx,
                                        int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - longitude
        Specified by:
        getGridData_Lon in interface IGridDataInfo
        Parameters:
        timeIdx - Time index
        latIdx - Latitude index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getGridData_Lat

        public GridData getGridData_Lat​(int timeIdx,
                                        int lonIdx,
                                        int varIdx,
                                        int levelIdx)
        Description copied from interface: IGridDataInfo
        Read grid data - latitude
        Specified by:
        getGridData_Lat in interface IGridDataInfo
        Parameters:
        timeIdx - Time index
        lonIdx - Lontitude index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Grid data
      • getStationData

        public StationData getStationData​(int timeIdx,
                                          int varIdx,
                                          int levelIdx)
        Description copied from interface: IStationDataInfo
        Read station data
        Specified by:
        getStationData in interface IStationDataInfo
        Parameters:
        timeIdx - Time index
        varIdx - Variable index
        levelIdx - Level index
        Returns:
        Station data
      • read

        public ucar.ma2.Array read​(java.lang.String varName)
        Read array data of the variable
        Specified by:
        read in class DataInfo
        Parameters:
        varName - Variable name
        Returns:
        Array data
      • read

        public ucar.ma2.Array read​(java.lang.String varName,
                                   int[] origin,
                                   int[] size,
                                   int[] stride)
        Read array data of the variable
        Specified by:
        read in class DataInfo
        Parameters:
        varName - Variable name
        origin - The origin array
        size - The size array
        stride - The stride array
        Returns:
        Array data
      • read

        public ucar.ma2.Array read​(java.lang.String varName,
                                   int[] origin,
                                   int[] size)
        Read array data of the variable
        Parameters:
        varName - Variable name
        origin - The origin array
        size - 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 name
        origin - The origin array
        size - 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 Array
        xdim - X dimension
        ydim - 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.IOException
        Create 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 files
        outFile - Output netCDF data file
        tDimName - 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.ParseException
        Join data files by time
        Parameters:
        inFiles - Input nc files
        outFile - Output nc file
        timeDimStr - Time dimension name
        Throws:
        java.io.IOException
        ucar.ma2.InvalidRangeException
        java.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.ParseException
        Join data files by time
        Parameters:
        inFiles - Input nc files
        outFile - Output nc file
        timeDimStr - Time dimension name
        Throws:
        java.io.IOException
        ucar.ma2.InvalidRangeException
        java.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.InvalidRangeException
        Join data files by variable
        Parameters:
        inFiles - Input nc files
        outFile - Output nc file
        Throws:
        java.io.IOException
        ucar.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 file
        outFile - Output nc file
        aTime - 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.InvalidRangeException
        Add time dimension
        Parameters:
        inFile - Input nc file
        outFile - Output nc file
        aTime - Time
        timeUnit - Time unit (days, hours, minutes, seconds)
        Throws:
        java.text.ParseException
        java.io.IOException
        ucar.ma2.InvalidRangeException