Thunderstorm tracks: Merging Sets

I'm developing a program to visualise severe thunderstorm tracks.
How I'm organising the data is based loosely on Test03, and I
can reproduce the problem using Test03.

Basically I want to display the tracks as a time series (animate them),
but each track has different time resolutions similar to the data
in Test03.
The difference is that Test03 has the same start and end times
for it's data, though different time resolutions.
The thunderstorm data I'm working with can have any start time and
any end time, as well as different resolutions.
It seems a bit restrictive to demand the start and end times be the same.
Is there a way around this?

Thanks in advance,

James

Modification to Test03.java to illustrate the problem:

    int ntimes1 = 4;
    int ntimes2 = 6;
    // different time resolution test
    // 2 May 99, 15:51:00
    double start = new DateTime(1999, 122, 57060).getValue();
    Set time_set =                        // 4 times: start+0, +1000, +2000,
+3000
      new Linear1DSet(time_type, start, start + 3000.0, ntimes1);
    // added line to force start time of second set to be different to first
set, jmk jan 2000:
    start +=1000                          // 6 times were : start+0,
+600,+1200,+1800,+2400,+3000
    double[][] times =                 // 6 times now : start+1000,
+1600,+2200,+2800,+3400,+4000
      {{start, start + 600.0, start + 1200.0,
        start + 1800.0, start + 2400.0, start + 3000.0}};
    Set time_hornet = new Gridded1DDoubleSet(time_type, times, 6);
    ....

Running this modified Test03 produces the following ArrayIndexOutOfBounds
Exception:

java Test03
java.lang.ArrayIndexOutOfBoundsException: -1
        at visad.Set.merge1DSets(Set.java:346)
        at visad.DataShadow.setAnimationSampling(DataShadow.java:72)
        at visad.SimpleSet.setAnimationSampling(SimpleSet.java:107)
        at visad.SampledSet.computeRanges(SampledSet.java:212)
        at visad.FieldImpl.computeRanges(FieldImpl.java:2574)
        at visad.Tuple.computeRanges(Tuple.java:261)
        at visad.DataImpl.computeRanges(DataImpl.java:496)
        at visad.DataRenderer.prepareAction(Compiled Code)
        at visad.DisplayImpl.doAction(Compiled Code)
        at visad.ActionImpl.run(Compiled Code)
        at visad.util.ThreadPool$ThreadMinnow.run(Compiled Code)

--
James Kelly
Regional Computing and Distributed Systems        Bureau of Meteorology
PO Box 1289K                                  Melbourne 3001, Australia
Phone: 61-3-9669-4724 Fax: 61-3-9669-4128     Email: J.Kelly@xxxxxxxxxx