If we assume the Ph.msb remains the same we can treat Ph.lsb and Pl.msb as a single 16-bit word (third column). If we take all those words we get an average of 36643. If we take the results you get and look at how they differ from the average we get (fourth column) -
Note: Just spotted that the signs are inverted, but doesn't really matter.
Code:
143 8 36616 +27
143 54 36662 -19
143 118 36726 -83
143 0 36608 +35
142 228 36580 +63
142 246 36598 +45
143 98 36706 -63
143 48 36656 -13
143 4 36612 +31
143 62 36670 -27
It seems there is a cyclic effect, sometimes lower, sometimes higher.
The main questions are; is that cyclic variance expected or not, and is the cyclic variance within the range of what would be expected ?
The easiest way to tell would be to compare how this sensor behaves with others, but we don't have two sensors to compare.
It might be worth modifying the Arduino code so that reports what the individual sensor readings are, checking to see if that shows the same variance, because its accurate results may simply be because it is doing something we are not doing.
In the absence of anything to compare with, as the first two bytes, Ph.msb and Ph.lsb, are pretty consistent when we show them in other tests, we can presume they are what the sensor is reporting and there is no reason to believe the third Pl.msb isn't what the sensor has determined and reported.
So, unless there's something we are missing, this variance is happening naturally, it is there, an actual pressure variance, or noise, or whatever.
It does seem that the variance can be quite large, varying from -83 to +63 here, but whether that really is a large variance depends on what those values represents.
As best I can tell from the graphs in the datasheet, the ADC reading is about 7000000 at 800 mbar, 5000000 at 500 mbar. From that a single bit change in the ADC reading seemingly represents a 0.00015 mbar change. I recall that matches with past calculations.
And, given the best I can tell there is something like a 0.118 mbar change per metre change in elevation, each of those 0.00015 mbar changes represents an effective change of about 1.2 mm.
So from that, your sensor, albeit static, imagines it is moving up or down by +/-95mm, +/-9.5cm.
That is a pretty small amount for something which has such a large overall range and averaging should remove any variance if it is cyclic.
I would therefore ignore the variance, see what the averaged data reports, see how consistent the averaged data is when static.
I am working on the principle that it doesn't matter if it thinks it is jumping up and down by any amount providing the average is correct. That is, the averaged result is what's important, not instantaneous readings or changes from one to another.
The only way we can tell is by trying it, seeing how an averaged result behaves, then take it from there. I'll see if I can find that averaging code.