This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Rich- > > The problem is that there are missing lat/lons in the domain. Unlike > > a program that just plots data, the IDV needs to have non-missing > > values in the domain for doing efficient sampling and lookup. At this > > point, I don't see a way around this. > > Bummer. I guess I'll have to stick with Matlab! ;-) Ya gotta use what works! If you can find out information about how IDL does the sampling and coversion from i,j to lat/lon space that might help. > We *really* need to figure out a better way to do the sampling and > lookup in IDV at some point. It's hard to imagine smarter people > than you or I, but if they exist, maybe we should get them involved. Bill Hibbard who did the sampling work in VisAD is way smarter than either of us. ;-) But, I agree, we need a better way. > > Your grid is really an irregular > > grid, not a topological mesh since portions are missing. > > No, the topology of the grid is still dictated by i,j, so it's still a > structured grid (unlike unstructed grid we don't need an incidence > array to tell us how the cells are connected). It's just a problem > with your lookup functions. Okay, then I'll blame the netCDF library. ;-) What the IDV gets is the lat/lon values, not the i,j values. I think this is a fundamental issue in the projection classes - the original i,j/row,column information is lost when a projection is created. The reference space gets converted to the projection coordinates (i.e, km along the projection space or lat/lon in this case) instead of preserving the original coordinates. I'll talk to John about this. Don > > Don Murray > >> > >> > The 2nd attachment. > >> > > >> > On Wed, Jan 21, 2009 at 11:33 AM, Rich Signell <address@hidden> wrote: > >> > > Dave, > >> > > > >> > > Yes, you do have missing lon/lat values. I don't think that's the > >> > > problem. I think the problem is (and I'm trusting that Don & Jeff > >> > > will correct me if I'm wrong) IDV uses a simplistic mapping from > >> > > lon,lat to i,j that requires that the longitude and latitude change > >> > > monotonically proceeding along the I and J directions. This > >> > > certainly isn't true for your grid, as shown in the zoomed in section > >> > > of your grid (1st attachment). When we plot the first field of > >> > > temperature from the surface in IDV, IDV doesn't complain, but > >> > > certainly doesn't plot the field correctly (2nd attachment). Matlab > >> > > (left panel) has no problem, but IDV (right panel) gets all confused. > >> > > > >> > > -Rich > >> > > > >> > > > >> > > On Wed, Jan 21, 2009 at 9:46 AM, Dave Runnels <address@hidden> wrote: > >> > >> Rich, I think I'm confused... We obviously have 'missing' lat lons > >> > >> because > >> > >> of the file that you created with Ganesh that has the 'good' > >> > >> lat/lons. So > >> > >> don't we expect missing lat/lons? > >> > >> > >> > >> Sorry for being dense about this. > >> > >> > >> > >> -----Original Message----- > >> > >> From: address@hidden [mailto:address@hidden] On Behalf Of Rich > >> > >> Signell > >> > >> Sent: Wednesday, January 21, 2009 9:42 AM > >> > >> To: address@hidden > >> > >> Subject: Fwd: [IDV #WEO-921853]: What's wrong with this > >> > >> > >> > >> Dave, > >> > >> > >> > >> Can you try putting non-missing values in lon/lat? > >> > >> > >> > >> -Rich > >> > >> > >> > >> > >> > >> ---------- Forwarded message ---------- > >> > >> From: Unidata IDV Support <address@hidden> > >> > >> Date: Tue, Jan 20, 2009 at 3:32 PM > >> > >> Subject: [IDV #WEO-921853]: What's wrong with this > >> > >> To: address@hidden > >> > >> Cc: address@hidden > >> > >> > >> > >> > >> > >> Hi Rich- > >> > >> > >> > >>> Dave Runnels and I were trying to get IDV going with this NcML file > >> > >>> and are striking out on plotting a layer of velocity vectors from the > >> > >>> 3D fields. > >> > >>> > >> > >>> We tried to choose just 1 timestep and 1 level, and used the formula > >> > >>> "make flow vectors from grid-relative u,v" and we get this: > >> > >> > >> > >> This is a problem creating the domain (lon,lat,alt). If I use the > >> > >> netCDF > >> > >> Tools to look at the data, the lat and lon variables have lots of > >> > >> missing > >> > >> values in them. The domain has to have non-missing values for it's > >> > >> coordinates (like coordinate variables can't have missing values). > >> > >> > >> > >> I'm going to transfer this to John in case there's something amiss in > >> > >> the > >> > >> aggregation. > >> > >> > >> > >> Don > >> > >>> isad.SetException: Gridded3DSet: samples values may not be missing at > >> > >>> visad.Gridded3DSet.<init>(Gridded3DSet.java:97) > >> > >>> at visad.GriddedSet.create(GriddedSet.java:218) > >> > >>> at > >> > >>> ucar.unidata.data.grid.GeoGridAdapter.getInitialSpatialDomain(GeoGridA > >> > >>> dapter.java:858) at > >> > >>> ucar.unidata.data.grid.GeoGridAdapter.getSpatialDomainSet(GeoGridAdapt > >> > >>> er.java:387) at > >> > >>> ucar.unidata.data.grid.GeoGridAdapter.getFlatField(GeoGridAdapter.java > >> > >>> :1105) at > >> > >>> ucar.unidata.data.grid.GeoGridAdapter.makeSequence(GeoGridAdapter.java > >> > >>> :1297) at > >> > >>> ucar.unidata.data.grid.GeoGridAdapter.getSequence(GeoGridAdapter.java: > >> > >>> 1047) at > >> > >>> ucar.unidata.data.grid.GeoGridDataSource.makeFieldImpl(GeoGridDataSour > >> > >>> ce.java:1525) at > >> > >>> ucar.unidata.data.grid.GeoGridDataSource.getDataInner(GeoGridDataSourc > >> > >>> e.java:1203) at > >> > >>> ucar.unidata.data.DataSourceImpl.getData(DataSourceImpl.java:2112) > >> > >>> at > >> > >>> ucar.unidata.data.DirectDataChoice.getData(DirectDataChoice.java:332) > >> > >>> at > >> > >>> ucar.unidata.data.DerivedDataChoice.setData(DerivedDataChoice.java:610 > >> > >>> ) at > >> > >>> ucar.unidata.data.DerivedDataChoice.collectOperands(DerivedDataChoice. > >> > >>> java:562) at > >> > >>> ucar.unidata.data.DerivedDataChoice.getData(DerivedDataChoice.java:709 > >> > >>> ) at ucar.unidata.data.DataChoice.getData(DataChoice.java:633) > >> > >>> at ucar.unidata.data.DataInstance.getData(DataInstance.java:239) > >> > >>> at ucar.unidata.data.DataInstance.getData(DataInstance.java:203) > >> > >>> at > >> > >>> ucar.unidata.data.grid.GridDataInstance.init(GridDataInstance.java:204 > >> > >>> ) at > >> > >>> ucar.unidata.data.grid.GridDataInstance.<init>(GridDataInstance.java:1 > >> > >>> 61) at > >> > >>> ucar.unidata.data.grid.GridDataInstance.<init>(GridDataInstance.java:1 > >> > >>> 42) at > >> > >>> ucar.unidata.idv.control.PlanViewControl.doMakeDataInstance(PlanViewCo > >> > >>> ntrol.java:1225) at > >> > >>> ucar.unidata.idv.control.DisplayControlImpl.initializeDataInstance(Dis > >> > >>> playControlImpl.java:2949) at > >> > >>> ucar.unidata.idv.control.DisplayControlImpl.setData(DisplayControlImpl > >> > >>> .java:2931) at > >> > >>> ucar.unidata.idv.control.PlanViewControl.setData(PlanViewControl.java: > >> > >>> 512) at > >> > >>> ucar.unidata.idv.control.FlowPlanViewControl.setData(FlowPlanViewContr > >> > >>> ol.java:187) at > >> > >>> ucar.unidata.idv.control.PlanViewControl.init(PlanViewControl.java:421 > >> > >>> ) at > >> > >>> ucar.unidata.idv.control.DisplayControlImpl.init(DisplayControlImpl.ja > >> > >>> va:1259) at > >> > >>> ucar.unidata.idv.control.DisplayControlImpl.init(DisplayControlImpl.ja > >> > >>> va:966) at > >> > >>> ucar.unidata.idv.ControlDescriptor.initControl(ControlDescriptor.java: > >> > >>> 979) at > >> > >>> ucar.unidata.idv.ControlDescriptor$1.run(ControlDescriptor.java:904) > >> > >>> at ucar.unidata.util.Misc$3.run(Misc.java:1038) > >> > >>> > >> > >>> > >> > >>> Could it be averaging a missing value of "u" with a non-missing value > >> > >>> of "v" or something? > >> > >>> -- > >> > >>> Dr. Richard P. Signell (508) 457-2229 > >> > >>> USGS, 384 Woods Hole Rd. > >> > >>> Woods Hole, MA 02543-1598 > >> > >>> > >> > >>> > >> > >> > >> > >> > >> > >> Ticket Details > >> > >> =================== > >> > >> Ticket ID: WEO-921853 > >> > >> Department: Support netCDF Java > >> > >> Priority: Normal > >> > >> Status: Open > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> -- > >> > >> Dr. Richard P. Signell (508) 457-2229 > >> > >> USGS, 384 Woods Hole Rd. > >> > >> Woods Hole, MA 02543-1598 > >> > >> > >> > >> > >> > > > >> > > > >> > > > >> > > -- > >> > > Dr. Richard P. Signell (508) 457-2229 > >> > > USGS, 384 Woods Hole Rd. > >> > > Woods Hole, MA 02543-1598 > >> > > > >> > > >> > > >> > > >> > -- > >> > Dr. Richard P. Signell (508) 457-2229 > >> > USGS, 384 Woods Hole Rd. > >> > Woods Hole, MA 02543-1598 > >> > > >> > > >> > > > > > > Ticket Details > > =================== > > Ticket ID: WEO-921853 > > Department: Support IDV > > Priority: Critical > > Status: Open > > > > > > > > -- > Dr. Richard P. Signell (508) 457-2229 > USGS, 384 Woods Hole Rd. > Woods Hole, MA 02543-1598 > > Ticket Details =================== Ticket ID: WEO-921853 Department: Support IDV Priority: Critical Status: Open