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 Tom: Tom Kunicki wrote:
Some people want the coordinates in the list of data variables, so we havent tried to hard to remove them. You may want to process that list for your own needs. What problem are you trying to solve?Hello,We're just delving into NetCDF Java (4.1) for a project.Right now I am having trouble pulling out the range variables using FeatureDataset. getDataVariables(). In the code sample below the function works as expected for the GRID data. For the STATION data we are getting domain variable names (station.latitude, station.longitude, station.altitude, etc). I'm new to NetCDF so please understand that I may be making some silly assumptions...
Is the issue that the GRID data is CDM compliant while the STAION data is not?
no, thats not the issue
I gave some to Rich Signell yesterday. Are you in the group he's working with?If so, does anyone have a source of CDM compliant station observation data I could pull against? I did use the CDM validator against the STATION data but didn't quite understand the output (was hoping for red/green!)
Thanks, Tom +++ START CODE +++ package gov.usgs.cida.netcdf; import java.io.IOException; import java.util.ArrayList; import java.util.Formatter; import java.util.List; import ucar.nc2.VariableSimpleIF; import ucar.nc2.ft.FeatureDataset; import ucar.nc2.ft.FeatureDatasetFactoryManager; /** * * @author tkunicki */ public class VariableNameTest { public static List<String> getDataVariableNames(String location) throws IOException { if(location == null) { throw new IllegalArgumentException("location can't be null"); } Formatter errorFormatter = new Formatter(); FeatureDataset dataset = FeatureDatasetFactoryManager.open( null, location, null, errorFormatter); List<String> variableNames = new ArrayList<String>(); for (VariableSimpleIF variable : dataset.getDataVariables()) { variableNames.add(variable.getName()); } return variableNames; } public static void main(String[] args) { try { List<String> list = null; // Grid Data System.out.println("Example Grid"); list = getDataVariableNames("http://motherlode.ucar.edu:8080/thredds/dodsC/fmrc/NCEP/GFS/Hawaii_160km/NCEP-GFS-Hawaii_160km_fmrc.ncd"); for(String name : list) { System.out.println(" " + name); } // Point/Station data System.out.println("Example Station"); list = getDataVariableNames( "http://motherlode.ucar.edu:8080/thredds/dodsC/station/metar/Surface_METAR_20100114_0000.nc"); for(String name : list) { System.out.println(" " + name); } } catch (IOException e) { // don't care... } } } +++ START CODE +++ Tom Kunicki Center for Integrated Data Analytics U.S. Geological Survey 8505 Research Way Middleton, WI 53562
netcdf-java
archives: