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.
|