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.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[IDV #WEO-921853]: What's wrong with this



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