Page 1 of 1

Barometric Pressure conversion problem?

Posted: Thu 17 Mar 2011 1:04 am
by radon360
I'm finally giving up using Davis' Weatherlink site. Their server instabilities have led to too many datalogger lock-ups as of late. With Davis out of the picture, I'm using Cumulus to upload to CWOP instead of Weatherlink. After letting it run for a couple of hours, I checked the data on findu and discovered that the pressure being reported to CWOP is about 1.5mb low. I use inches of Hg on Cumulus, and this matches the console, it also matches up with what Weather Underground is displaying. I wonder if there's a conversion problem calculating this back to millibars?

For example, if I change the units on the console, it shows 1014.0mb or 29.94in, but the raw string appears to show 1012.5mb

N9PBY-2>APRS,TCPIP*,qAC,THIRD:@170055z4332.88N/08757.03W_159/004g006t042r000P000h71b10125eCumulusDsVP

On the MADIS display, it shows 1012.5mb and also calculates this back to 29.90 inches

Re: Barometric Pressure conversion problem?

Posted: Thu 17 Mar 2011 1:20 am
by beteljuice

Re: Barometric Pressure conversion problem?

Posted: Thu 17 Mar 2011 2:56 am
by radon360
Well, that thread offers a good clue...

My station is situated 892ft (~271m) above sea level. The console is programmed with this, and so is Cumulus. Using the adjustment formula 3.6mb*(elevation ft)/100, the difference between altimeter and absolute should be a little over 32mb. It is my understanding that there are other formulas for converting between the two that utilize temperature and relative humidity in the calculation. If that's the case for Cumulus, does this use the inside temp/humidity reading?

Working the formula backwards with the 1.5mb error, this works out to about a 41 foot difference (using the simplified 3.6mb per 100ft of altitude).

Davis' Weatherlink server was reporting pressure correctly.


Any other ideas on what to check next?


Thanks for the assistance.

Re: Barometric Pressure conversion problem?

Posted: Thu 17 Mar 2011 8:48 am
by steve
Cumulus calculates 'altimeter pressure' for CWOP using code provided by Steve Hatchett (SoftWX, author of Virtual VP) and obtains all the necessary values for the calculations by doing a special call (once a minute) to the VP2 to obtain the 'raw' barometer data. The calculation uses the sea level pressure, the station elevation (from the console), the mean outside temperature over the previous 12 hours, and a 'humidity correction factor'. Basically it 'undoes' all the clever work the VP2 does to get a proper sea-level pressure figure, to get the station pressure and hence the altimeter pressure.

I'm pretty confident that Steve's code is correct, but I may have made an error in my use of it. However, when this peculiar requirement of CWOP was first brought to my attention my someone who understood the problem (who lives at altitude, so is affected by this), after I had done the changes both he and CWOP were happy with the value being sent. If you turn on the debug log and wait a few minutes, the debug.log file will show the values that Cumulus is using in the calculation, so we can determine whether there's a problem. Hopefully you are more co-operative than the strange person in the thread that beteljuice linked to, and we can actually get a resolution this time!

Re: Barometric Pressure conversion problem?

Posted: Fri 18 Mar 2011 3:20 am
by radon360
Okay, perhaps a dumb question:

If you're using the raw barometric pressure reading, is this value prior to any user calibration offset which may be applied? I believe that I have a roughly 1.5mb positive correction applied on the console. If this user offset set in the console isn't being taken into the calculation, I think I found the culprit.

I believe this is the line you want, if not let me know:

0428.125 : MSLP=29.7880001068115 SP=28.8332366943359 AP=29.7724380493164 pIn=29.7880001068115 eFt=892 mtF=50 C=1.79999995231628

Anything else that I can check or try for you?

-Ray

Re: Barometric Pressure conversion problem?

Posted: Fri 18 Mar 2011 8:13 am
by steve
radon360 wrote:If you're using the raw barometric pressure reading, is this value prior to any user calibration offset which may be applied? I believe that I have a roughly 1.5mb positive correction applied on the console. If this user offset set in the console isn't being taken into the calculation, I think I found the culprit.
Hmm. All the values I use are read from the console using the VP2 'BARDATA' command. It's quite possible that I also need to read the calibration settings from the console and use those as well.
I believe this is the line you want, if not let me know:

0428.125 : MSLP=29.7880001068115 SP=28.8332366943359 AP=29.7724380493164 pIn=29.7880001068115 eFt=892 mtF=50 C=1.79999995231628
Yes, that's the stuff. But I'll probably also need your console pressure reading taken at the same time, the pressure that is being sent to CWOP, and what you think the pressure being sent to CWOP should be. Does that MSLP figure match the one shown on your console, or is the figure shown here perhaps not taking your calibration into account?

Does the console allow you to display the sensor/station/absolute pressure?

Re: Barometric Pressure conversion problem?

Posted: Fri 18 Mar 2011 8:39 am
by steve
I wrote a test program separate from Cumulus and used those figures, to remove any possibility of problems converting between units, and got the same answers:

Sensor Pressure = 28.833 inHg
Altimeter Pressure = 29.772 inHg

The Altimeter Pressure is the one that Cumulus will have sent to CWOP, as the string 'b10081', i.e. 1008.1 hPa.

Re: Barometric Pressure conversion problem?

Posted: Fri 18 Mar 2011 9:42 am
by steve
I've just spotted that the results of the BARDATA command also contain the barometer calibration setting. I experimented with adding 1 mb to my VP2, and the bardata reflected this; i.e. the MSLP reported increased by 1 mb, and so did the calculated altimeter pressure. So your +1.5 mb calibration figure is being taken into account in the calculation.

You could try downloading Steve Hatchett's VPPressureCalc from here: http://www.softwx.com/downloads.html and try plugging in your current readings and comparing the altimeter pressure with that sent by Cumulus. Note that Cumulus uses the MADIS algorithm.

Re: Barometric Pressure conversion problem?

Posted: Sat 19 Mar 2011 12:15 am
by radon360
Okay, some more data to chew on:

First, the closest string from the debug log:

7434.4609 : MSLP=30.2140007019043 SP=29.2331695556641 AP=30.182975769043 pIn=30.2140007019043 eFt=892 mtF=44 C=1.20000004768372

The CWOP packet in the debug log:

7436.2484 : N9PBY-2>APRS,TCPXX*:@182346z4332.88N/08757.03W_280/002g006t040r000P000h66b10220eCumulusDsVP

Raw data from findu.com, first packet from Weatherlink servers:

N9PBY-2>APRS,TCPIP*,qAC,FOURTH:@182335z4332.89N/08757.03W_005/002g008t040r000p000P000h64b10230L....DsIP-VP
N9PBY-2>APRS,TCPIP*,qAC,FOURTH:@182346z4332.88N/08757.03W_280/002g006t040r000P000h66b10220eCumulusDsVP


Now, when I started, the console reading was 1023.0hPa, with a rising trend and when I stopped, it was 1023.2hPa. I was striving to get things a little closer together...honest. Oh, and apologies for the mix-mash of U.S. and SI units.

Inside console temperature was 73.3F, 27%RH. Outside temperature 40.0F 66%RH.


Plugged the values into the pressure calculator (892ft ASL), but here's where I get confused: The calculator doesn't specify whether to use indoor temperature (where the sensor is located) or to use outdoor temperature. I don't know which is the proper one to use here. If I plug in outdoor temp, then I arrive at a value that closely matches Cumulus. If I plug in the indoor temp, then I get something closer to Davis' value.

I plugged in the data from the previous post and obtained similar results.


Let me know if you want to me to try this again.

Re: Barometric Pressure conversion problem?

Posted: Sat 19 Mar 2011 9:01 am
by steve
radon360 wrote:The calculator doesn't specify whether to use indoor temperature (where the sensor is located) or to use outdoor temperature. I don't know which is the proper one to use here. If I plug in outdoor temp, then I arrive at a value that closely matches Cumulus. If I plug in the indoor temp, then I get something closer to Davis' value.
Steve Hatchett's instructions for using his routines don't explicitly say whether it's inside or outside temperature, but outside would be logical. The instructions do explicitly say to use the item from the VP2 bardata which Davis have called 'virtual temperature', which is the mean temperature over the last 12 hours, which he says the VP2 calculates using this formula:

Code: Select all

Round(((Round(currentTempF - 0.01) + Round(temp12HrsAgoF - 0.01)) / 2) - 0.01);
That's the figure that Cumulus logs as 'mtF', i.e. 44 in the latest data you've shown, so that's clearly the outside temperature.

Here's an old post from Steve Hatchett when he was first doing this work. Only part of the thread still seems to be available, unfortunately:

http://server.gladstonefamily.net/piper ... 03431.html

There are a number of discussions on that forum about Davis stations, CWOP, and altimeter pressure. Interestingly, a number of them say that weatherlink.com was at one time incorrectly sending MSLP to CWOP instead of altimeter, and it's not clear whether this has been fixed. It does appear from your example that it's still sending MSLP.

Something else you could try is Steve's VPLive program, which you can download from here: http://www.softwx.com/downloads.html

This will show the altimeter pressure as calculated by Steve's routines without having to manually enter any data. It will show the results of using both the MADIS algorithm and the ASOS algorithm.

I still haven't been able to discover whether it's possible to get the console to display station pressure instead of MSLP (without resorting to setting the altitude to zero). This would be useful.

Re: Barometric Pressure conversion problem?

Posted: Sat 19 Mar 2011 2:34 pm
by radon360
I hate to say it, but maybe I have been chasing a wild goose here. The altimeter and MSLP are close enough that I could have been trying to get the reported pressure to MADIS to match the proper altimeter pressure, although what was being reported by Davis was perhaps actually MSLP (or something else, for what we know). Then, when I switched over to Cumulus doing the uploading, which from what I can tell is reporting correctly, it was off because I had an offset applied to get whatever Davis was reporting to match.

One thing is clear: Davis is reporting what is being displayed on the console to MADIS. The pressure in the raw data strings from Davis matches what is on the console display. So presuming that the console value is MSLP, then Davis is indeed reporting the wrong pressure. While I might try inquiring to them about this, I would expect to get another condescending answer like I did when I asked about how the IP datalogger communicated with the local WeatherLink software and added modules.

This would also seem to answer another question which is why the barometer seemed lower in summer and higher in winter on the quality checks.

So, for the time being, I'm letting Cumulus do the uploading and I adjusted the offset to make the barometer value match what was previously being reported. I'll keep an eye on the data quality checks and see what it looks like.

I apologize for stirring things up here over all of this. However, the discussion about various ways to report air pressure has been enlightening and an interesting learning experience.

Thanks for all of your assistance and your dedication to making this wonderful piece of software.

-Ray

Re: Barometric Pressure conversion problem?

Posted: Sat 19 Mar 2011 5:18 pm
by steve
radon360 wrote:I apologize for stirring things up here over all of this.
No problem at all; you've been very helpful, and it's given me a chance to look into this again, and renew my confidence that Cumulus sends the correct data.

Re: Barometric Pressure conversion problem?

Posted: Mon 04 Apr 2011 1:25 am
by radon360
Just a follow-up.

While this is strictly an empirical observation, once I got my pressure recalibrated, it tracks much closer to the CWOP analysis, regardless of temperature or pressure extreme. As I stated previously, it seemed like I had to make adjustments between warmer seasons vs. colder seasons and my reading seemed "amplified", that is, reading higher than analysis at higher pressure and lower than analysis at lower pressure. These problems, of course were seen while I was allowing WeatherLink to do the uploading.

With Cumulus uploading to CWOP, the pressure tracks very closely with the analysis at pressure extremes, and thus far seems not to drift with temperature (mind you that the temperature hasn't changed significantly in the past couple of weeks).

Again, no hard evidence, but the trend is somewhat convincing (for me) that Cumulus is indeed reporting pressure correctly for CWOP observations, or at least MUCH better than what WeatherLink.com was reporting..

http://weather.gladstonefamily.net/site ... nformation


Thanks,
-Ray