[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