NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
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
visad
archives: