Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hi All,I've been exploring the use of GridDataset object in order to get a Date object from the NetcdfDataset without identifying time units, etc.
So far I'm only getting nulls when using gds.getStartDate(), gds.getEndDate()
I've attached my test class. The other bounds are retrieved without problem.
Thanks for your suggestions. Dave
package gov.noaa.eds.threddsutilities.util; import java.util.List; import org.junit.Test; import ucar.nc2.constants.AxisType; import ucar.nc2.dataset.CoordinateAxis; import ucar.nc2.dataset.NetcdfDataset; import ucar.nc2.dt.TypedDatasetFactory; import ucar.nc2.dt.grid.GridDataset; import static org.junit.Assert.*; public class ThreddsExtentUtilTest { @Test public void gdsTest() { String urlStr = "http://edac-dap.northerngulfinstitute.org/thredds/dodsC/ncom_reg1_agg/NCOM_Region_1_Aggregation_fmrc.ncd"; try { NetcdfDataset ncd = NetcdfDataset.openDataset(urlStr); List<CoordinateAxis> coordAxes = ncd.getCoordinateAxes(); StringBuilder errlog = new StringBuilder(); GridDataset gds = (GridDataset)TypedDatasetFactory.open(ucar.nc2.constants.FeatureType.GRID, ncd, null, errlog); for (CoordinateAxis coordAxis : coordAxes) { if (coordAxis.getAxisType()==AxisType.Lat) { System.out.println("GridDataset minLat=" + gds.getBoundingBox().getLatMin()); System.out.println("GridDataset maxLat=" + gds.getBoundingBox().getLatMax()); System.out.println("CoordAxis minLat=" + Double.toString(coordAxis.getMaxValue())); System.out.println("CoordAxis maxLat=" + Double.toString(coordAxis.getMaxValue())); } if (coordAxis.getAxisType()==AxisType.Time) { if (gds.getStartDate()!=null) { //Ideal if we can get a Date object System.out.println("GridDataset startTime=" + gds.getStartDate().toGMTString()); } else { System.out.println("GridDataset startTime=null"); } if (gds.getEndDate()!=null) { //Ideal if we can get a Date object System.out.println("GridDataset endTime=" + gds.getEndDate().toGMTString()); } else { System.out.println("GridDataset endTime=null"); } System.out.println("CoordAxis startTime=" + Double.toString(coordAxis.getMinValue())); System.out.println("CoordAxis endTime=" + Double.toString(coordAxis.getMaxValue())); } } } catch (Exception e) { e.printStackTrace(); } } }
netcdf-java
archives: