There are two factors that affect the barometric pressure readings returned by the WxImp:

  1. The calibration of the pressure sensor on the Imp Explorer board.
  2. The elevation of the WxImp above sea level.

The calibration of the pressure sensor on the Imp Explorer board should be confirmed and, if necessary, corrected.

Barometric pressure readings are normally corrected to mean sea level.  The pressure at your location will be lower (unless your WxImp is located in Death Valley or some other location below mean sea level).

You can find the location of nearby official reporting stations at the Starpath web site. It includes a tool for estimating barometric pressure at your location based on nearby reporting points.  Be sure to read the detailed example pdf and to use the sea level corrected pressures reported by nearby stations to estimate the corrected pressure at your location.

The WxImp code reports both local (uncorrected) barometric pressure and sea level pressure.  The easiest way to correct your WxImp  sensor’s calibration is to use the Starpath tool to find corrected sea level pressure for your location. The difference between that value and the sea level pressure reported by your WxImp is the value you should enter as the value of data.pressureCorrection in the WxImp Device Code.

The following description of how to correct a barometer reading to sea level comes from the Sandhurst Weather web site.  The WxImp uses this method for converting local pressure to sea level pressure.

To convert a sea level pressure to a station pressure you will need to know your elevation above sea level and the current temperature at your location. The temperature can be estimated if you do not have a measurement of it.

This conversion relates to one of the first lessons of atmospheric science, namely the concept that pressure decreases exponentially with altitude and that this decrease is characterised by a distance called scale height.

What follows is the formula for the conversion and the origin of the constant involved, which is the scale height.

Station Pressure = Sea Level Pressure x e ^ ( -elevation / (temperature x 29.263))

or re-arranged

Sea Level Pressure = Station Pressure / e ^ (-elevation / (temperature x 29.263))  


Station Pressure = the barometric pressure at your elevation in millibars (hectopascals)

Sea Level Pressure = the equivalent pressure at sea level in millibars (hectopascals)

elevation = the elevation of the station in meters
temperature = current temperature in Kelvin (K)
temperature in K = temperature (°C) + 273.15
The constant 29.263 is in units of meters per Kelvin (meters/K)

29.263 (m/K) =

1000 (g/kg) x R Mair x g

R is the molar gas constant ( = 8.314 Joules per mole per Kelvin)
1000 is to convert kilograms to grams (1 Joule = 1 kg m2/sec)
Mair is the molecular weight of air ( = 29.97 grams per mole)
g is the acceleration of gravity at the Earth’s surface ( = 9.807 meters per second per second [m/s2])

If you multiply this constant (29.263) by a temperature of 0°C, you get a value of 7993 meters or approximately 8km. This is the scale height of Earth’s atmosphere under average conditions (as given in the U.S. Standard Atmosphere).

A simplified conversion, which should only be used for stations at elevations below a few hundred meters, is: Station Pressure = Sea Level Pressure – (elevation/9.2)

or re-arranged

Sea Level Pressure = Station Presure + (elevation/9.2)

The correction factor of 9.2 in the above formula is very nearly the change in elevation (vertically) that will correspond to a 1 millibar change in pressure, as given in the U.S. Standard Atmosphere.

The information above is available as a PDF document.