That's probably right. There are a number of different altimeter formulas that give approximately the same result. This function from a Pascal library I wrote (
http://www.softwx.com/weather/uwxutils.html) contains the formulas for a number of the different ones I have found. I use the MADIS formula in my software.
class function TWxUtils.StationToAltimeter(PressureHPa: TWxReal; elevationM: TWxReal;
algorithm: TAltimeterAlgorithm = DefaultAltimeterAlgorithm): TWxReal;
var
geopEl: TWxReal;
k1, k2: TWxReal;
begin
case algorithm of
aaASOS:
// see ASOS training at
http://www.nwstc.noaa.gov // see also
http://wahiduddin.net/calc/density_altitude.htm begin
Result := InToHPa(Power(Power(HPaToIn(pressureHPa), 0.1903) + (1.313E-5 * MToFt(elevationM)), 5.255));
end;
aaASOS2:
begin
geopEl := GeopotentialAltitude(elevationM);
k1 := standardLapseRate * gasConstantAir / gravity; // approx. 0.190263
k2 := 8.41728638E-5; // (standardLapseRate / standardTempK) * (Power(standardSLP, k1)
Result := Power(Power(pressureHPa, k1) + (k2 * geopEl), 1/k1);
end;
aaMADIS:
// from MADIS API by NOAA Forecast Systems Lab, see
http://madis.noaa.gov/madis_api.html begin
k1 := 0.190284; // discrepency with calculated k1 probably because Smithsonian used less precise gas constant and gravity values
k2 := 8.4184960528E-5; // (standardLapseRate / standardTempK) * (Power(standardSLP, k1)
Result := Power(Power(pressureHPa - 0.3, k1) + (k2 * elevationM), 1/k1);
end;
aaNOAA:
// see
http://www.srh.noaa.gov/elp/wxcalc/formulas/altimeterSetting.html begin
k1 := 0.190284; // discrepency with k1 probably because Smithsonian used less precise gas constant and gravity values
k2 := 8.42288069E-5; // (standardLapseRate / 288) * (Power(standardSLP, k1SMT);
Result := (pressureHPa - 0.3) * Power(1 + (k2 * (elevationM / Power(pressureHPa - 0.3, k1))), 1/k1);
end;
aaWOB:
// see
http://www.wxqa.com/archive/obsman.pdf begin
k1 := standardLapseRate * gasConstantAir / gravity; // approx. 0.190263
k2 := 1.312603E-5; //(standardLapseRateFt / standardTempK) * Power(standardSlpInHg, k1);
Result := InToHPa(Power(Power(HPaToIn(pressureHPa), k1) + (k2 * MToFt(elevationM)), 1/k1));
end;
aaSMT:
// see WMO Instruments and Observing Methods Report No.19 at
//
http://www.wmo.int/pages/prog/www/IMOP/publications/IOM-19-Synoptic-AWS.pdf begin
k1 := 0.190284; // discrepency with calculated value probably because Smithsonian used less precise gas constant and gravity values
k2 := 4.30899E-5; // (standardLapseRate / 288) * (Power(standardSlpInHg, k1SMT));
geopEl := GeopotentialAltitude(elevationM);
Result := InToHPa((HPaToIn(pressureHPa) - 0.01)
* Power(1 + (k2 * (geopEl / Power(HPaToIn(pressureHPa) - 0.01, k1))), 1/k1));
end;
else Result := pressureHPa; // unknown algorithm
end;
end;