diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
index e3aa394f352e10a51fa309694cf00466c14972c3..f56c7f21848a9b984791b86b9d984ad259ae866d 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
@@ -44,6 +44,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     ranGen_(label(0)),
     fluctuationScale_(pTraits<Type>::zero),
     referenceField_(p.size()),
+    alpha_(0.1),
     curTimeIndex_(-1)
 {}
 
@@ -61,6 +62,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     ranGen_(label(0)),
     fluctuationScale_(ptf.fluctuationScale_),
     referenceField_(ptf.referenceField_, mapper),
+    alpha_(ptf.alpha_),
     curTimeIndex_(-1)
 {}
 
@@ -77,6 +79,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     ranGen_(label(0)),
     fluctuationScale_(pTraits<Type>(dict.lookup("fluctuationScale"))),
     referenceField_("referenceField", dict, p.size()),
+    alpha_(dict.lookupOrDefault<scalar>("alpha", 0.1)),
     curTimeIndex_(-1)
 {
     if (dict.found("value"))
@@ -103,6 +106,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     ranGen_(ptf.ranGen_),
     fluctuationScale_(ptf.fluctuationScale_),
     referenceField_(ptf.referenceField_),
+    alpha_(ptf.alpha_),
     curTimeIndex_(-1)
 {}
 
@@ -118,6 +122,7 @@ turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     ranGen_(ptf.ranGen_),
     fluctuationScale_(ptf.fluctuationScale_),
     referenceField_(ptf.referenceField_),
+    alpha_(ptf.alpha_),
     curTimeIndex_(-1)
 {}
 
@@ -170,9 +175,14 @@ void turbulentInletFvPatchField<Type>::updateCoeffs()
             ranGen_.randomise(randomField[facei]);
         }
 
-        patchField = 
-            0.9*patchField
-          + 0.1*
+        // Correction-factor proposed by Yi Wang to compensate for the loss
+        // of RMS fluctuation due to the temporal correlation introduced by
+        // the alpha parameter.
+        scalar rmsCorr = sqrt(12*(2*alpha_ - sqr(alpha_)))/alpha_;
+
+        patchField =
+            (rmsCorr*(1 - alpha_))*patchField
+          + (rmsCorr*alpha_)*
             (
                 referenceField_
               + cmptMultiply
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H
index 9e2fbfdf1f1fe42ce9693c97cdd15170a19d46de..00e05fd58b58c1502b5b55e16b49d3ef375d181f 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.H
@@ -26,7 +26,17 @@ Class
     Foam::turbulentInletFvPatchField
 
 Description
-    Foam::turbulentInletFvPatchField
+    Generate a fluctuating inlet condition by adding a random component
+    to a reference (mean) field.
+    Input:
+        referenceField
+            Mean field.
+        fluctuationScale
+            RMS fluctuation, provided as the fraction of the mean field.
+        alpha
+            temporal correlation factor;
+            the fraction of the new random component added to the previous
+            time-step (defaults to 0.1).
 
 SourceFiles
     turbulentInletFvPatchField.C
@@ -59,6 +69,7 @@ class turbulentInletFvPatchField
         Random ranGen_;
         Type fluctuationScale_;
         Field<Type> referenceField_;
+        scalar alpha_;
         label curTimeIndex_;