. 0 results .

Cloud Coverage Algorithm

BETA V1

There are many ways you can detect clouds

Most cloud detection is still done by the human eye, because no fully automated systems are as accurate as somebody looking up and saying "it's cloudy". Cloud coverage is measured in how many eighths of the sky are covered by cloud. That unit is called an Okta. Our system does not calculate Oktas because we don't look at the sky and divide it up, but instead look at how covered the sun is and watch as that happens throughout the day.

How ours works

Currenty, our cloud coverage is only determined by a single light sensor pointed towards the sun all day. By watching the values returned by the sensor, we are able to tell if the sun is fully out in the open or covered by a cloud. We then store that data and use an algorithm to divide the day into morning and afternoon and then compare each light reading to the last one to see if there was a difference between them. The difference is stored and then averaged to give us a "light factor". During the morning, if the light level is 1000 that means it's very bright and sunny outside, if the next reading is 999 then 1000 again and continues being only 1 number apart, the light factor will be 1 and will mean that for the whole morning it was bright and sunny. We also calculate an average light level reading (which in this example would be around 999) which helps make things more accurate.

If we instead were seeing a consatnt light level reading of 995 or so, that would mean the sun is slightly obscured by thin clouds. If the reading hovers around that point then the average light level would be around 995 and the light factor would be 1 - because there wasn't much change between the numbers. This would mean the whole morning was lightly coudy. If the light factor were higher than 1, it would mean the light reading were bouncing around between higher and lower values, which would indicate clouds moving past the sun and sometimes allowing it to poke out, so the algorithm would then output that the morning was partly cloudy.

So by looking at how bright the sunshine is and how much variation there is between readings, we can roughly calculate if it is sunny, overcast, partly cloudy or very cloudy. This obvoiously only works during the day and not at night (although it could possibly work during a full moon).

How we can improve it

There are a few ways we can improve this to make it even more accurate and even determine what percentage of the sky is covered by clouds. There are other types of sensors we can use and there is even machine learning AI software that is open source and easy to implement where a camera can be taking images of the sky and then use the AI software to compare it to it's own neural network to "guess" at the cloud coverage. The guesses are often 90% correct or higher and get better with practice and training. We will keep working on this project and making it more and more accurate, so check back often and see the progress!

Why is it displaying weird results?

Since it's in BETA and we are still working out the kinks, sometimes it'll display results that are wrong. We continue to test and fine tune it so that it can be trusted on it's own and be stripped of it's BETA status. We chose to display it now so you can see what we are working on and watch it's imporvement over time instead of working on it behind the scenes and just releasing the final product later on down the line.

> return to climate page