diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
index d887867658482fd608c4b63ded7f47791ec48f1e..dea53edd9195d98168676ae6492853348a212918 100644
--- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
+++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
@@ -206,6 +206,12 @@ void Foam::solarCalculator::init()
         }
         case mSunLoadFairWeatherConditions:
         {
+            dict_.readIfPresent
+            (
+                "skyCloudCoverFraction",
+                skyCloudCoverFraction_
+            );
+
             A_ = readScalar(dict_.lookup("A"));
             B_ = readScalar(dict_.lookup("B"));
 
@@ -218,7 +224,9 @@ void Foam::solarCalculator::init()
                 calculateBetaTetha();
             }
 
-            directSolarRad_ = A_/exp(B_/sin(beta_));
+            directSolarRad_ =
+                (1.0 - 0.75*pow(skyCloudCoverFraction_, 3.0))
+              * A_/exp(B_/sin(beta_));
 
             groundReflectivity_ =
                 readScalar(dict_.lookup("groundReflectivity"));
@@ -257,6 +265,7 @@ Foam::solarCalculator::solarCalculator
     B_(0.0),
     beta_(0.0),
     tetha_(0.0),
+    skyCloudCoverFraction_(0.0),
     Setrn_(0.0),
     SunPrime_(0.0),
     C_(readScalar(dict.lookup("C"))),
diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
index 6d3b13c12ba2641ef3d35e17f5a16c8cb0e4a4c8..ca7c7a3746884eb139595de076f93ed912b63669 100644
--- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
+++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2015-2017 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,6 +52,7 @@ Description
     2) SunLoadFairWeatherConditions: The solar fluxes are calculated following
        the Fair Weather Conditions Method from the ASHRAE Handbook. The entries
        are:
+            skyCloudCoverFraction: Fraction of sky covered by clouds (0-1)
             A :     Apparent solar irradiation at air mass m = 0
             B :     Atmospheric extinction coefficient
             beta:   Solar altitude (in degrees) above the horizontal. This
@@ -61,7 +62,7 @@ Description
 
             In this model the flux is calculated as:
 
-                directSolarRad = A/exp(B/sin(beta));
+                directSolarRad = skyCloudCoverFraction*A/exp(B/sin(beta));
 
     3) SunLoadTheoreticalMaximum: The entries are:
             Setrn
@@ -158,6 +159,9 @@ private:
         scalar beta_;
         scalar tetha_;
 
+        //- Sky cloud cover fraction [0-1]
+        scalar skyCloudCoverFraction_;
+
 
         //- Maximum theoretical direct solar load model parameters
         scalar Setrn_;