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.
-----Original Message----- From: Tor Christian Bekkvik Sent: 28. oktober 2008 16:17 To: 'support-netcdf-decoders@xxxxxxxxxxxxxxxx' Cc: Kjell Røang Subject: Name lost in GRIB netcdf decoder It seems that the 'name' GRIB parameter is lost in the GRIB/netcdf decoder.. Example line from ncep grib table: 2:PRMSL:Pressure reduced to MSL [Pa] Here, name='PRMSL' and description='Pressure reduced to MSL'. Debugging indicates that GRIB 'description' is used placed where 'name' seems more correct. As a result, 'name' in 'new GribVariable (String name, String desc, ..)' is based on ucar.grib.Parameter.getDescription(), and I found no way to retreive the 'name' parameter via NetCDF reader. Original code, from ucar.nc2.iosp.grib.Index2NC: static public String makeVariableName(Index.GribRecord gr, TableLookup lookup) { Parameter param = lookup.getParameter(gr); String levelName = makeLevelName( gr, lookup); return (levelName.length() == 0) ? param.getDescription() : param.getDescription() + "_" + levelName; } void open(...){ ... String name = makeVariableName( gribRecord, lookup); GribVariable pv = (GribVariable) hcs.varHash.get(name); // combo gds, param name and level name if (null == pv) { String pname = lookup.getParameter(gribRecord).getDescription(); pv = new GribVariable( name, pname, hcs, lookup); ... } Suggested change: String shortname = param.getName(); If (levelName.length() == 0) { shortname + "_" + levelName; } pv = new GribVariable(shortname, pname, hcs, lookup); Would this help ? (or could it give unwanted side-effects, since 'name' is also used for map-lookup ?) Thanks, Tor Chr Bekkvik
netcdf-java
archives: