类 NetCDFDataInfo

    • 构造器详细资料

      • NetCDFDataInfo

        public NetCDFDataInfo()
        Constructor
    • 方法详细资料

      • getFile

        public ucar.nc2.NetcdfFile getFile()
        Get netCDF file
        返回:
        NetCDF file
      • getDimensions

        public List<org.meteoinfo.ndarray.Dimension> getDimensions()
        Get MeteoInfo dimensions
        覆盖:
        getDimensions 在类中 DataInfo
        返回:
        MeteoInfo dimensions
      • getNCDimensions

        public List<ucar.nc2.Dimension> getNCDimensions()
        Get ucar nc2 dimensions
        返回:
        Ucar nc2 dimensions
      • getNCVariables

        public List<ucar.nc2.Variable> getNCVariables()
        Get ucar nc2 variables
        返回:
        Ucar nc2 variables
      • getFileTypeId

        public String getFileTypeId()
        Get file type identifer
        返回:
        File type identifer
      • isHDFEOS

        public boolean isHDFEOS()
        Get if is HDF EOS data
        返回:
        Boolean
      • isSWATH

        public boolean isSWATH()
        Get if is SWATH
        返回:
        Boolean
      • canOpen

        public static boolean canOpen​(String fileName)
                               throws IOException
        Test if the file can be opened.
        参数:
        fileName - The file name.
        返回:
        Can be opened or not.
        抛出:
        IOException
      • isOpened

        public boolean isOpened()
        Check if the file is opened or closed.
        返回:
        Boolean
      • reOpen

        public void reOpen()
        Reopen data file.
      • readDataInfo

        public void readDataInfo​(String fileName)
        从类复制的说明: DataInfo
        Read data info
        指定者:
        readDataInfo 在类中 DataInfo
        参数:
        fileName - File name
      • readDataInfo

        public void readDataInfo​(String fileName,
                                 MeteoDataType mdt)
        Read data info for mixed GRIB-1 and GRIB-2 data file
        参数:
        fileName - File name
        mdt - Meteo data type
      • readDataInfo

        public void readDataInfo​(ucar.nc2.NetcdfFile nf,
                                 boolean keepOpen)
      • readDataInfo

        public void readDataInfo​(boolean keepOpen)
      • readDataInfo

        public void readDataInfo​(String fileName,
                                 boolean keepOpen)
        从类复制的说明: DataInfo
        Read data info
        覆盖:
        readDataInfo 在类中 DataInfo
        参数:
        fileName - File name
        keepOpen - Keep file opened or not
      • findNCDimension

        public ucar.nc2.Dimension findNCDimension​(String dimName)
        Find netCDF dimension by name
        参数:
        dimName - Dimension name
        返回:
        NetCDF dimension
      • findDimension

        public org.meteoinfo.ndarray.Dimension findDimension​(String dimName)
        Find dimension by name
        参数:
        dimName - Dimension name
        返回:
        Dimension
      • findGlobalAttribute

        public Attribute findGlobalAttribute​(String attName)
        Find global attribute
        参数:
        attName - Attribute name
        返回:
        Global attribute
      • findNCVariable

        public ucar.nc2.Variable findNCVariable​(String name)
        Find netCDF variable by name
        参数:
        name - Variable name
        返回:
        NetCDF variable
      • getGridData_LonLat

        public GridData getGridData_LonLat​(int timeIdx,
                                           String varName,
                                           int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - lon/lat
        指定者:
        getGridData_LonLat 在接口中 IGridDataInfo
        参数:
        timeIdx - Time index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getGridData_TimeLat

        public GridData getGridData_TimeLat​(int lonIdx,
                                            String varName,
                                            int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - time/lat
        指定者:
        getGridData_TimeLat 在接口中 IGridDataInfo
        参数:
        lonIdx - Longitude index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getGridData_TimeLon

        public GridData getGridData_TimeLon​(int latIdx,
                                            String varName,
                                            int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - time/lon
        指定者:
        getGridData_TimeLon 在接口中 IGridDataInfo
        参数:
        latIdx - Latitude index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getGridData_LevelLat

        public GridData getGridData_LevelLat​(int lonIdx,
                                             String varName,
                                             int timeIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - level/lat
        指定者:
        getGridData_LevelLat 在接口中 IGridDataInfo
        参数:
        lonIdx - Longitude index
        varName - Variable name
        timeIdx - Time index
        返回:
        Grid data
      • getGridData_LevelLon

        public GridData getGridData_LevelLon​(int latIdx,
                                             String varName,
                                             int timeIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - Level/lon
        指定者:
        getGridData_LevelLon 在接口中 IGridDataInfo
        参数:
        latIdx - Latitude index
        varName - Variable name
        timeIdx - Time index
        返回:
        Grid data
      • getGridData_LevelTime

        public GridData getGridData_LevelTime​(int latIdx,
                                              String varName,
                                              int lonIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - Level/time
        指定者:
        getGridData_LevelTime 在接口中 IGridDataInfo
        参数:
        latIdx - Latitude index
        varName - Variable name
        lonIdx - Longitude index
        返回:
        Grid data
      • getGridData_Time

        public GridData getGridData_Time​(int lonIdx,
                                         int latIdx,
                                         String varName,
                                         int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - time
        指定者:
        getGridData_Time 在接口中 IGridDataInfo
        参数:
        lonIdx - Lontitude index
        latIdx - Latitude index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getGridData_Level

        public GridData getGridData_Level​(int lonIdx,
                                          int latIdx,
                                          String varName,
                                          int timeIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - level
        指定者:
        getGridData_Level 在接口中 IGridDataInfo
        参数:
        lonIdx - Lontitude index
        latIdx - Latitude index
        varName - Variable name
        timeIdx - Time index
        返回:
        Grid data
      • getGridData_Lon

        public GridData getGridData_Lon​(int timeIdx,
                                        int latIdx,
                                        String varName,
                                        int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - longitude
        指定者:
        getGridData_Lon 在接口中 IGridDataInfo
        参数:
        timeIdx - Time index
        latIdx - Latitude index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getGridData_Lat

        public GridData getGridData_Lat​(int timeIdx,
                                        int lonIdx,
                                        String varName,
                                        int levelIdx)
        从接口复制的说明: IGridDataInfo
        Read grid data - latitude
        指定者:
        getGridData_Lat 在接口中 IGridDataInfo
        参数:
        timeIdx - Time index
        lonIdx - Lontitude index
        varName - Variable name
        levelIdx - Level index
        返回:
        Grid data
      • getStationData

        public StationData getStationData​(int timeIdx,
                                          String varNmae,
                                          int levelIdx)
        从接口复制的说明: IStationDataInfo
        Read station data
        指定者:
        getStationData 在接口中 IStationDataInfo
        参数:
        timeIdx - Time index
        varNmae - Variable name
        levelIdx - Level index
        返回:
        Station data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName)
        Read array data of the variable
        指定者:
        read 在类中 DataInfo
        参数:
        varName - Variable name
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                boolean unpack)
        Read array data of the variable
        参数:
        varName - Variable name
        unpack - Unpack data or not
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                int[] origin,
                                                int[] size,
                                                int[] stride)
        Read array data of the variable
        指定者:
        read 在类中 DataInfo
        参数:
        varName - Variable name
        origin - The origin array
        size - The size array
        stride - The stride array
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                int[] origin,
                                                int[] size,
                                                int[] stride,
                                                boolean unpack)
        Read array data of the variable
        参数:
        varName - Variable name
        origin - The origin array
        size - The size array
        stride - The stride array
        unpack - Unpack data or not
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                int[] origin,
                                                int[] size)
        Read array data of the variable
        参数:
        varName - Variable name
        origin - The origin array
        size - The size array
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                int[] origin,
                                                int[] size,
                                                boolean unpack)
        Read array data of the variable
        参数:
        varName - Variable name
        origin - The origin array
        size - The size array
        unpack - Unpack data or not
        返回:
        Array data
      • read_pack

        public org.meteoinfo.ndarray.Array read_pack​(String varName,
                                                     int[] origin,
                                                     int[] size)
        Read array data of the variable
        参数:
        varName - Variable name
        origin - The origin array
        size - The size array
        返回:
        Array data
      • read

        public org.meteoinfo.ndarray.Array read​(String varName,
                                                String key)
      • arrayToGrid

        public static GridData arrayToGrid​(org.meteoinfo.ndarray.Array array,
                                           org.meteoinfo.ndarray.Dimension xdim,
                                           org.meteoinfo.ndarray.Dimension ydim)
        Convert Array to GridData
        参数:
        array - The Array
        xdim - X dimension
        ydim - Y dimension
        返回:
        The grid data
      • gridToArray2D

        public static org.meteoinfo.ndarray.Array gridToArray2D​(GridData gData)
        Convert grid data to NetCDF array 2D
        参数:
        gData - Grid data
        返回:
        NetCDF array 2D
      • gridToArray3D

        public static org.meteoinfo.ndarray.Array gridToArray3D​(GridData gData)
        Convert grid data to NetCDF array 3D
        参数:
        gData - Grid data
        返回:
        NetCDF array 3D
      • gridToArray4D

        public static org.meteoinfo.ndarray.Array gridToArray4D​(GridData gData)
        Convert grid data to NetCDF array 4D
        参数:
        gData - Grid data
        返回:
        NetCDF array 4D
      • createNCFile

        public ucar.nc2.NetcdfFileWriter createNCFile​(String fileName)
                                               throws IOException
        Create netCDF file
        参数:
        fileName - File name
        返回:
        NetcdfFileWriter
        抛出:
        IOException
      • joinDataFiles

        public static void joinDataFiles​(List<String> inFiles,
                                         String outFile,
                                         String tDimName)
        Join netCDF data files
        参数:
        inFiles - Input netCDF data files
        outFile - Output netCDF data file
        tDimName - Time dimension name
      • joinDataFiles_Time

        public static void joinDataFiles_Time​(List<String> inFiles,
                                              String outFile,
                                              String timeDimStr)
                                       throws IOException,
                                              ucar.ma2.InvalidRangeException,
                                              ParseException
        Join data files by time
        参数:
        inFiles - Input nc files
        outFile - Output nc file
        timeDimStr - Time dimension name
        抛出:
        IOException
        ucar.ma2.InvalidRangeException
        ParseException
      • joinDataFiles_Time_pack

        public static void joinDataFiles_Time_pack​(List<String> inFiles,
                                                   String outFile,
                                                   String timeDimStr)
                                            throws IOException,
                                                   ucar.ma2.InvalidRangeException,
                                                   ParseException
        Join data files by time
        参数:
        inFiles - Input nc files
        outFile - Output nc file
        timeDimStr - Time dimension name
        抛出:
        IOException
        ucar.ma2.InvalidRangeException
        ParseException
      • joinDataFiles_Variable

        public static void joinDataFiles_Variable​(List<String> inFiles,
                                                  String outFile)
                                           throws IOException,
                                                  ucar.ma2.InvalidRangeException
        Join data files by variable
        参数:
        inFiles - Input nc files
        outFile - Output nc file
        抛出:
        IOException
        ucar.ma2.InvalidRangeException
      • addTimeDimension

        public static void addTimeDimension​(String inFile,
                                            String outFile,
                                            LocalDateTime aTime)
        Add time dimension
        参数:
        inFile - Input nc file
        outFile - Output nc file
        aTime - Time
      • addTimeDimension

        public static void addTimeDimension​(String inFile,
                                            String outFile,
                                            LocalDateTime aTime,
                                            String timeUnit)
                                     throws ParseException,
                                            IOException,
                                            ucar.ma2.InvalidRangeException
        Add time dimension
        参数:
        inFile - Input nc file
        outFile - Output nc file
        aTime - Time
        timeUnit - Time unit (days, hours, minutes, seconds)
        抛出:
        ParseException
        IOException
        ucar.ma2.InvalidRangeException