Clouds are different. So is their effect to the UV Index. On average, clouds do reduce UV radiation, but it still far away from stops the skin damage. A lot of people think they can't get a sunburn on a cloudy day. Unfortunately, it doesn't work this way.
### Cloud factor
Clouds factor is affected by many things, for example cloud's thickness, cloud's position in the atmosphere and clouds configuration on the sky. Patchy clouds could even intensify radiation from the sun by the effect of a reflection factor. In that case the cloud works just like a mirror and focus all the sun rays to the ground.
For [UVIMate mobile application](https://play.google.com/store/apps/details?id=au.com.aershov.uvmate) we have implemented a very simple but effective [model](https://www.epa.gov/sunsafety/calculating-uv-index-0) to calculate a current UV Index with clouds factor. Basically we need to know a current UV level and local clouds coverage (from 0 to 1) provided by [UV Index API](http://uvimate.herokuapp.com/), thus a new UV Index could be calculated as:
```
// - Clear skies allow virtually 100% of UV to pass through, cloud cover (CC) < 0.2,
// - scattered clouds transmit 89%, CC > 0.2, < 0.7,
// - broken clouds transmit 73%, CC > 0.7, < 0.9,
// - and overcast skies transmit 31%, CC > 0.9.
// Resource: https://www.epa.gov/sunsafety/calculating-uv-index-0
public double calculateCloudsFactor()
{
if (cloudCover < 0.2)
return uvi;
if (cloudCover >= 0.2 && cloudCover < 0.7)
return uvi*0.89;
if (cloudCover >= 0.7 && cloudCover < 0.9)
return uvi*0.73;
if (cloudCover >= 0.9)
return uvi*0.31;
return uvi;
}
```
Clouds are different. So is their effect to the UV Index. On average, clouds do reduce UV radiation, but it still far away from stops the skin damage. A lot of people think they can't get a sunburn on a cloudy day. Unfortunately, it doesn't work this way.
Cloud factor
Clouds factor is affected by many things, for example cloud's thickness, cloud's position in the atmosphere and clouds configuration on the sky. Patchy clouds could even intensify radiation from the sun by the effect of a reflection factor. In that case the cloud works just like a mirror and focus all the sun rays to the ground.
For UVIMate mobile application we have implemented a very simple but effective model to calculate a current UV Index with clouds factor. Basically we need to know a current UV level and local clouds coverage (from 0 to 1) provided by UV Index API, thus a new UV Index could be calculated as:
// - Clear skies allow virtually 100% of UV to pass through, cloud cover (CC) < 0.2,
// - scattered clouds transmit 89%, CC > 0.2, < 0.7,
// - broken clouds transmit 73%, CC > 0.7, < 0.9,
// - and overcast skies transmit 31%, CC > 0.9.
// Resource: https://www.epa.gov/sunsafety/calculating-uv-index-0
public double calculateCloudsFactor()
{
if (cloudCover < 0.2)
return uvi;
if (cloudCover >= 0.2 && cloudCover < 0.7)
return uvi*0.89;
if (cloudCover >= 0.7 && cloudCover < 0.9)
return uvi*0.73;
if (cloudCover >= 0.9)
return uvi*0.31;
return uvi;
}