Home Algorithms Temperature Conversions among international temperature scales
19 | 03 | 2024
Conversions among international temperature scales PDF Print E-mail
Algorithms - Temperature
Written by Administrator   
Monday, 06 December 2010 14:00

Conversions among different international temperature scales

Conversion among IPTS-68 and ITS-90


The International Temperature Scale of 1990 (ITS-90) was assembled to represent absolute thermodynamic temperature as good as possible. Conversion among the ITS-90 and the older IPTS-68 can be performed by two polynomials for different temperature ranges.

Equation


The Blue Book (Preston-Thomas & Quinn 1997) gives a polynomial to reproduce (t90-t68) differences in the range of -200°C to 630°C, with an uncertainty of 1.5mK below and 1mK above 0°C:

Between 630.615°C and 1064.18°C Rusby et al. (1994) introduced a revised polynomial for calculating (t90-t68). It replaces the original equation given by the first edition of the Blue Book (Preston-Thomas 1990). In the 1997 edition of the Blue-Book these changes are listed in the Amendment section (Preston-Thomas & Quinn 1997, Page v):

Coefficients are given in the table below. Although the given equations define conversion from ITS-90 to IPTS-68 they can be used in both directions. When using this equation for an IPTS-68 to ITS-90 conversion the deviation from an (t90-t68) conversion is <=0.05mK within the range -200°C < t < 630°C and <=0.26mK within 630.615°C < t < 1064.18°C (personal communication J. Fischer and S. Friederici, Physikalisch Technische Bundesanstalt, www.ptb.de).

Table for the coefficients for calculating the difference (t90-t68)

 

-200°C to 630°C

630.615°C to 1064.18°C

a0=0

b0=+7.8687209*101

a1=-0.148759

b1=-4.7135991*10-1

a2=-0.267408

b2=+1.0954715*10-3

a3=+1.080760

b3=-1.2357884*10-6

a4=+1.269056

b4=+6.7736583*10-10

a5=-4.089591

b5=-1.4458081*10-13

a6=-1.871251


a7=+7.438081


a8=-3.536296


Algorithm

For a given temperature in aTemp the function returns the difference between ITS-90 and IPTS-68 in DeltaT. The return value of the function is TRUE, iff the passed value in aTemp is within -200°C to 1064.18°C. Between 630.00°C and 630.15°C none of the functions is officially valid, but both reasonable. Investigating polynomials it is found that they intersect at approximately 630.147°C. For practical reasons it is useful to switch between polynomials at this point. Within the range 630.00°C to 630.15°C deviations from officially tabulated values are <0.7mK (personal communication J. Fischer and S. Friederici, Physikalisch Technische Bundesanstalt, www.ptb.de).

Source

Function temp_DeltaITS90andIPTS68 (aTemp: Double; Var DeltaT : Double) : Boolean;
// The function temp_DeltaITS90andIPTS68 returns the difference
// of the ITS-90 temperature scale compared to the IPTS-60
// scale. The function combines two polynomials to cover the
// range from -200°C up to 1064°C. Function returns TRUE when
// aTemp was in the range covered by the polynomials and gives
// the respective (t90-t68) in DeltaT. Otherwise the function
// returns FALSE and DeltaT is 0.
//-------------------------------------------------------------
// Units:
// aTemp Input temperature in ITS-90 °C
// DeltaT Output difference between scales (t90-t68) °C
//-------------------------------------------------------------
// References:
// Preston-Thomas & Quinn 1990 - Techniques for approximating
// the international temperature scale of 1990 - Bureau
// International des Poids et Mesures, 2nd Edition 1997,
// respecting the amendments of the 2nd Edition
// Rusby et al. 1994 - Revised values for (t90-t68) from 630°C
// to 1064°C, Metrologia 31:149-153
//-------------------------------------------------------------
// (c) Dr. Jan Schulz, 11. December 2008, www.code10.info
Var TempFrac : Double;
Begin
// we expect the best
temp_DeltaITS90andIPTS68 := True;

// check whether aTemp is in a valid range
If (aTemp >= -200) And (aTemp <= 1064.18) THen
Begin
If aTemp <= 630.147 then
Begin
// if temp is below or equal 630.147°C use first polynomial
TempFrac := aTemp/630;

DeltaT := (((((((- 3.536296 * TempFrac + 7.438081) * TempFrac
- 1.871251) * TempFrac - 4.089591) * TempFrac
+ 1.269056) * TempFrac + 1.080760) * TempFrac
- 0.267408) * TempFrac - 0.148759) * TempFrac;
end
Else
Begin
// otherwise use second polynomial
DeltaT := ((((- 1.4458081E-13 * aTemp + 6.7736583E-10) * aTemp
- 1.2357884E-06) * aTemp + 1.0954715E-03) * aTemp
- 4.7135991E-01) * aTemp + 7.8687209E01;
end;
end
Else
Begin
// when aTemp is not within valid range return FALSE and defined DeltaT
temp_DeltaITS90andIPTS68 := False;
DeltaT := 0;
end;
end;

 

References

  • Preston-Thomas H. (1990): The International Temperature Scale of 1990 (ITS-90). Metrologia 27:3-10.
  • Preston-Thomas H., Quinn T.J. (1997): Techniques for approximating the international temperature scale of 1990 - ITS-90. Bureau International des Poids et Mesures, 1997 reprinting of the 1990 first edition.
  • Rusby R.L., Hudson R.P., Durieux M. (1994): Revised values for (t90-t68) from 630°C to 1064°C. Metrologia 31:149-153.

 

 

Simple conversion between IPTS-48 and IPTS-68 in the range -2°C to 30°C

Within the range of -2°C to 30°C a simple conversion between IPTS-48 and IPTS-68 can be used. This conversion is supported by the Joint Panel on Oceanographic Tables and Standards (JPOTS) for oceanographic issues (ICES documentation on http://www.ices.dk/ocean/procedures/its.htm, updated 31.January 2005).

Equation

The formula was constructed by Fofonoff and published in Fofonoff & Bryden (1975):

t68 = t48 – 4.4*10-6 * t48*(100-t48)

Solved for t48 it becomes:

t48= -113586.36365 + (113586.36365 2 + 227272.7273 * t68)0.5

Source

Function temp_IPTS48toIPTS68 (aIPTS48Temp: Double; Var aIPTS68Temp : Double): Boolean;
// The function temp_IPTS48toIPTS68 converts a given IPTS-48
// temperature in °C to a temperature on the IPTS-68 scale.
// The conversion is valid in the temperature range from -2°C
// up to 30°C. If the respective temperature is in the valid
// range the function returns TRUE. In any other case the
// function returns FALSE and both aIPTS48Temp and aIPTS68Temp
// carry the same value.
// This equation is supported by the Joint Panel on oceanographic
// issues (JPOTS).
//----------------------------------------------------------------
// Units:
// aIPTS48Temp Input IPTS-48 temperature °C
// aIPTS68Temp Returned IPTS-68 temperature °C
//----------------------------------------------------------------
// References:
// Fofonoff & Bryden 1975 - Specific gravity and density of
// seawater at atmospheric pressure. Journal of Marine
// Research 33:69-82
//-------------------------------------------------------------
// (c) Dr. Jan Schulz, 16. January 2010, www.code10.info
Begin
If (aIPTS48Temp < -2) Or (aIPTS48Temp > 30) THen
Begin
aIPTS68Temp := aIPTS48Temp;
Result := False;
end
Else
Begin
aIPTS68Temp := aIPTS48Temp - (4.4e-06 * aIPTS48Temp * (100 - aIPTS48Temp));
Result := True;
end;
end;


Function temp_IPTS68toIPTS48 (aIPTS68Temp: Double; Var aIPTS48Temp : Double): Boolean;
// The function temp_IPTS68toIPTS48 converts a given IPTS-68
// temperature in °C to a temperature on the IPTS-48 scale.
// The conversion is valid in the temperature range from -2°C
// up to 30°C. If the respective temperature is in the valid
// range the function returns TRUE. In any other case the
// function returns FALSE and both aIPTS68Temp and aIPTS48Temp
// carry the same value.
// This equation is supported by the Joint Panel on oceanographic
// issues (JPOTS).
//----------------------------------------------------------------
// Units:
// aIPTS68Temp Input IPTS-68 temperature °C
// aIPTS48Temp Returned IPTS-48 temperature °C
//----------------------------------------------------------------
// References:
// Fofonoff & Bryden 1975 - Specific gravity and density of
// seawater at atmospheric pressure. Journal of Marine
// Research 33:69-82 (the respective equation was here
// transformed to calculate the IPTS-48 temperature)
//-------------------------------------------------------------
// (c) Dr. Jan Schulz, 16. January 2010, www.code10.info
Begin
If (aIPTS68Temp < -2) Or (aIPTS68Temp > 30) THen
Begin
aIPTS48Temp := aIPTS68Temp;
Result := False;
end
Else
Begin
aIPTS48Temp := -113586.36365 + Sqrt (113586.36365 * 113586.36365 + 227272.7273 * aIPTS68Temp);
Result := True;
end;
end;

References

  • Fofonoff N.P., Bryden H. (1975): Specific gravity and density of seawater at atmospheric pressure. Journal of Marine Research, 33, Supplement, 69-82.

 

 

Simple conversion between IPTS-68 and ITS-90 in the range -2°C to +40°C

For biological and oceanographic purposes, as well as for a couple of other applications the temperature range between -2°C and 40°C is most important. In this range IPTS-68 and ITS-90 scales are nearly linear and show a similar slope. Thus, a more simple conversion may be used. This conversion was recommended by Saunders (1990) and is supported by the Joint Panel on Oceanographic Tables and Standards (JPOTS) (ICES documentation on http://www.ices.dk/ocean/procedures/its.htm, updated 31.January 2005).

Equation

t68 = t90 * 1.00024

t90 = t68 * 0.99976

Approximation with these formulas result in deviations <0.5mK from officially tabulated values between -2°C to 40°C (personal communication J. Fischer and S. Friederici, Physikalisch Technische Bundesanstalt, www.ptb.de) compared to the conversion given by Preston-Thomas & Quinn (1997).

Algorithm

The conversion can be simply implemented in the code whenever needed. Thus, no individual functions are given.

References

  • Saunders P. (1990): The International Temperature Scale of 1990, ITS-90. WOCE Newsletter 10.


Last Updated on Friday, 18 March 2011 18:28
 
Sponsored Links