Hi,
You are correct that a temperature interval in degrees Celsius has the same
value as a
temperature interval in degrees Kelvin. The problem is that the Unit conversion
code always take
the origin shift into account and so doesn't handle intervals correctly.
While the RealType of the result seems to set the INTERVAL attribute to
indicate that the
underlying data represents a interval that is not taken into account by the
Unit conversion code
so it assumes that it always needs to shift the origin when converting from K
to C. I don't know
how difficult it would be to change visad to make use of the fact that a value
is an interval as
opposed to an absolute value of the Unit.
There is test code at the end of visad.Real which shows creating interval types
and values
explicitly. In this manner it should be possible to have
DeltaCelsiusTemperature RealType which
would not do the origin shift for display.
Tim.
tomw wrote:
> Hi Steve...
>
> Steve Emmerson wrote:
>
> >
> > This is exactly right. The computed values are temperature *intervals* of
> > 0 kelvins, which
> > are -273.15 degrees Celsius.
>
> This seems very counter-intuitive. I'd always been taught that a
> temperature change of 5K was equal to a temperature change of 5C
> (Celsius, that is).
>
> tom
>
> --
> Tom Whittaker (tomw@xxxxxxxxxxxxx)
> University of Wisconsin-Madison
> Space Science and Engineering Center
> Phone/VoiceMail: 608/262-2759
> Fax: 608/262-5974
--
Tim Stevenson
Senior Systems Engineer, Surpac Software International
162A Roslyn Avenue, Blackmans Bay,
Tasmania, Australia, 7052
Phone/Fax: +61 3 6229 4610
Email: tims@xxxxxxxxxx