I'm getting the following exception while contructing my display with
several fields with different time domains:
visad.VisADException: Cannot merge sets
at visad.Set.merge1DSets(Set.java:376)
at visad.DataShadow.setAnimationSampling(DataShadow.java:72)
at visad.SimpleSet.setAnimationSampling(SimpleSet.java:107)
at visad.SampledSet.computeRanges(SampledSet.java:208)
at visad.FieldImpl.computeRanges(FieldImpl.java:2708)
at visad.DataRenderer.computeRanges(DataRenderer.java:278)
at visad.DataRenderer.prepareAction(DataRenderer.java:243)
at visad.DisplayRenderer.prepareAction(DisplayRenderer.java:633)
at visad.DisplayImpl.doAction(DisplayImpl.java:1383)
at visad.ActionImpl.run(ActionImpl.java:238)
at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
visad.VisADError: Action.run: visad.VisADException: Cannot merge sets
at visad.ActionImpl.run(ActionImpl.java:271)
at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:95)
It is not consistant (and neither is my data) so I'm wondering if it is
due to the nature of my data. I've looked at the relevant bit of Set
code:
// find indices of set not covered by this
int set_length = set.getLength();
boolean[] set_indices = new boolean[set_length];
for (int i=0; i<set_length; i++) set_indices[i] = true;
if (set_length > 1) {
// set indices for values in this
int[] test_indices = set.doubleToIndex(values);
try {
for (int i=0; i<length; i++) {
if (test_indices[i] > -1) set_indices[test_indices[i]]
false;
}
} catch (ArrayIndexOutOfBoundsException aioobe) {
throw new VisADException("Cannot merge sets");
}
}
but don't quite understand what conditions would lead to this exception.
Let me know if there is something obvious, otherwise I'll try to make a
reproducible case for debugging.
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 |
*----------------------------------------------------------------------*