Re: Why?

Hi Eugene,

> OK...we're trying to create a Gridded1DSet with the units "seconds" for
> time. I don't know why it keeps creating units of Kelvin for the set.
> Below is the line we use to create validSet:
> 
> Gridded1DSet validSet = new Gridded1DSet(wantedMathType, validTimeSet,
>                                          validTimeSet[0].length);
> 
> wantedMathType is a MathType of the data we want ie. MaxTemp whose units
> are Celsius. Am I right in this respect? Do we want wantedMathType to be
> "Time" instead of "MaxTemp"? When I did a getSetUnits(), we got "Cel"
> which I assume is short for Celsius.

Yes, the MathType of the Gridded1DSet should be "Time" rather
than "MaxTemp", since the Gridded1DSet is a set of time values
rather than a set of temperature values.  The domain set of this
field is a time index into a set of temperatures, rather than a
set of temperatures itself.

Also, for time values use Gridded1DDoubleSet rather than
Gridded1DSet and pass time values as double[][] arrays rather
than float[][] arrays.  When you extract time values out of a
Linear1DSet or a Gridded1DDoubleSet, use the
'double[][] getDoubles()' method rather than 'getFloats'.

VisAD encodes both date and time information as a single real
number (after all, time is modeled as a real line) and 32 bits
are just not enough.  With IEEE doubles, you get 10^-5 second
resolution over a time span of 2000 years.

Cheers,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html