NetCDF Java Library example

NetCDF Java Library example: Loading GRIB2 file of GFS from NOMADS server

import ucar.ma2.InvalidRangeException;
import ucar.nc2.dataset.NetcdfDataset;

... 

       try {
            // TODO code application logic here
            NetcdfDataset gid = NetcdfDataset.openDataset("gfs.t06z.mastergrb2f42");
            System.out.println(gid.getCoordinateSystems().get(1).getPressureAxis().read());
            System.out.println(gid.getCoordinateAxes().get(3).read().getFloat(3));

            try {
                System.out.println(gid.getReferencedFile().findVariable("Relative_humidity").read("0,0,4,8"));
            } catch (InvalidRangeException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
            //System.out.println(gid.getReferencedFile().getVariables());
            System.out.println(gid.getReferencedFile().findVariable("pressure_difference_layer").read());
            float[][][][] a = (float[][][][]) gid.getReferencedFile().findVariable("Relative_humidity").read().copyToNDJavaArray();
            System.out.println("RH at HK surface" + a[0][0][4][8] + gid.getReferencedFile().findVariable("Relative_humidity").getUnitsString());
            System.out.println(gid.getReferencedFile().findVariable("Relative_humidity").getDimensionsString());
            System.out.println(gid.getReferencedFile().findVariable("time").getUnitsString());
            System.out.println(gid.getReferencedFile().findVariable("pressure4").read());
            System.out.println(gid.getReferencedFile().findVariable("lat").read());
            System.out.println(gid.getReferencedFile().findVariable("lon").read());
            gid.close();
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }


本文連結