It is now 5 months since we nailed down oak flooring in our ground floor living rooms after extensive maintenance and re-decoration.
I've been monitoring the under floor temperature and relative humidity ever since to determine whether we had fixed our damp and ventilation problems.
So now that I have data, what does it all mean?
In my original post last October, I made it clear I knew little or nothing about moisture levels. Since then I have gained a small amount of understanding.
the mould level
It seems to be generally agreed that if the moisture level rises to 80% relative humidity or greater, then there is a high chance of mould developing. So I added a mould marker to my graph and hoped that the %RH would stay well below that level.
Well the graph below is typical.
Although the %RH is on the safe side of the mould line, it still looks a little high to me.
the relationship between RH & moisture
I wanted to determine the relationship between the %RH outside the house, and the %RH in the space under my floor. Since %RH is moisture level, but related to temperature, I needed to see how the outside atmosphere was affecting the conditions under the floor (remember that we now have 5 nice new air-bricks ventilating the under floor area).
Although the calculations can be complicated, I found there are a few simplified expressions which give a reasonable estimation for dew point, relative humidity and temperature, as long as the RH is above 50%.
dp = temp - ((100 - RH)/5)
RH = 100 - 5(temp -dp)
where dp is the dew point temperature
temp is the current temperature
RH is the %relative humidity
I put these simple calculations into a spreadsheet, so that I could enter the temperature and RH from the current weather forecast, then enter a second temperature and see what the corresponding RH should be.
I took the other-space temperature reading from the digital temp/RH meter in my lounge. This room was 19'C and had not been occupied for over 12 hours. I was impressed to see that the actual RH was within 2% of the calculated value.
|This was a cheap (£7) gizmo from Amazon|
I then entered the under floor temperature as my other-space value, and found my under floor RH was a few percent higher than the calculated value.
updating my php graph
So as this was looking quite encouraging, I decided to add a plot on my monitor graph using the local weather service current temperature and %RH to calculate what the under floor %RH should be (a sort of 'target %RH') assuming that the outside moisture in the atmosphere was the only source of moisture.
Since it may be up to 2 hours between weather service updates, and the figures provided are just integer values, some of the apparent step changes are to be expected. Where the target RH drops to the baseline, this is an indication that the service did not return any data.
But apart from these limitations, I would still expect the actual under floor %RH to vary more in step with the calculated target values, albeit with a lag (possibly a day or two).
If the under floor data is correct (and I did do a simple check by putting our digital room temp/RH meter under the floor for a few hours) then there must be some other source of moisture, in addition to that carried in by the outside air via the air-bricks.
I suspect that moisture in the ground is slowly drawn up through the concrete base. I do seem to get higher %RH readings with the sensor closer to the concrete base, and lower readings higher up near the wooden floor. But I don't know what that really indicates.
We have had a lot of rain recently, so I'm hoping for a long dry summer to prove whether ground moisture is the cause!
When we had the floors up/open back in October, we didn't find any indication of water leaks or moisture ingress through the walls. So I can only imagine that ground moisture is the source.
the coding bit
I'm using the AnsiWeather script to gather data from the OpenWeatherMap free service. In Gambas this just means executing the script with appropriate command arguments and then stripping the data out. Something like this:-
Exec ["ansiweather", "-a", "false", "-d", "false", "-s", "false", "-l", "horsham"] Wait To strReply
strTempC = Mid(strReply, InStr(strReply, ">") + 2)
strTempC = Mid(strTempC, 1, InStr(strTempC, "C") - 4)
...and so on...
Let's see what the summer brings!