NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi, Due to a caught yet unhandled Exception, my stack traces were a bit misleading. The problem is that the NetCDF stuff seems to create a RealType with the name "Temperature" although I have no Temperature field in my file. My class which defines a static Domain4D RealTupleType also defines a static Temperature RealType also called "Temperature" which is apparently constructed when Domain4D is referenced by the LinearNDSet constructor, thus a "visad.TypeException: ScalarType: name already used". I suppose a solution to this would be an agreed upon set of static RealTypes and RealTupleTypes (like Longitude...) for things like Temperature. Oh, God, not another convention! :-) Any other ideas for avoiding the "name already used" problem? Doug Doug Lindholm wrote: > > Hi, > > Before I bang my head against the wall any more on this, does anyone > know why I might be having a problem using a LinearNDSet for one field > and using visad.data.netcdf.Plain.open to create another? > > I have terrain: (Longitude, Latitude) -> Elevation read from a netCDF > file. > > I have model data: (Longitude, Latitude, Altitude, Time) -> Temperature > for which I construct a LinearNDSet for the 4D domain. > > If I make the terrain data first, when I make the Set I get: > > java.lang.reflect.InvocationTargetException: visad.TypeException: Set: > Type must be SetType, RealTupleType or RealType > at visad.Set.adjustType(Set.java:198) > at visad.LinearNDSet.get_linear1d_array(LinearNDSet.java:136) > at visad.LinearNDSet.<init>(LinearNDSet.java:56) > at vmet.MM5Data.makeData(MM5Data.java:56) > at java.lang.reflect.Method.invoke(Native Method) > at vmet.VMETServer.makeData(VMETServer.java:121) > at vmet.VMETServer.makeData(VMETServer.java:92) > at vmet.VMETServer.start(VMETServer.java:67) > at vmet.VMETControl.main(VMETControl.java:50) > > If I make the Set first, when I make the terrain I get: > > Couldn't initialize class QuantityDBManager > java.lang.reflect.InvocationTargetException: > java.lang.NullPointerException > at visad.data.netcdf.in.Util.<init>(Util.java:122) > at visad.data.netcdf.in.Util.newUtil(Util.java:146) > at visad.data.netcdf.in.DefaultView.<init>(DefaultView.java:55) > at > visad.data.netcdf.in.NetcdfAdapter.<init>(NetcdfAdapter.java:58) > at visad.data.netcdf.Plain.open(Plain.java:153) > at vmet.TerrainData.makeData(TerrainData.java:37) > at java.lang.reflect.Method.invoke(Native Method) > at vmet.VMETServer.makeData(VMETServer.java:121) > at vmet.VMETServer.makeData(VMETServer.java:92) > at vmet.VMETServer.start(VMETServer.java:67) > at vmet.VMETControl.main(VMETControl.java:50) > > Either one works fine when the other is not around. > > Any ideas? > > Thanks, > Doug > > -- > *----------------------------------------------------------------------* > | Doug Lindholm, Software Engineer | E-mail: lind@xxxxxxxx | > | Research Applications Program | Phone: 303-497-8374 | > | National Center for Atmospheric Research | | > | P.O. Box 3000 | There's no place | > | Boulder, Colorado 80307-3000 | like $HOME | > *----------------------------------------------------------------------* -- *----------------------------------------------------------------------* | Doug Lindholm, Software Engineer | E-mail: lind@xxxxxxxx | | Research Applications Program | Phone: 303-497-8374 | | National Center for Atmospheric Research | | | P.O. Box 3000 | There's no place | | Boulder, Colorado 80307-3000 | like $HOME | *----------------------------------------------------------------------*
visad
archives: