From 9a648cb8f4623d27a7616913add1d8008e47b69c Mon Sep 17 00:00:00 2001 From: lulinxue Date: Sun, 12 Aug 2018 23:15:28 -0600 Subject: [PATCH 1/3] modified: sfc_diff.f modified: sfc_drv.f modified: sflx.f --- physics/sfc_diff.f | 7 +++++++ physics/sfc_drv.f | 8 ++++++++ physics/sflx.f | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/physics/sfc_diff.f b/physics/sfc_diff.f index e25506a09..ce8b6decb 100644 --- a/physics/sfc_diff.f +++ b/physics/sfc_diff.f @@ -258,6 +258,13 @@ subroutine sfc_ex_coef_run & endif ! - Calculate the roughness length for heat (see eq.(1) of \cite zheng_et_al_2012 ) . ! mg, sfc-perts: add surface perturbations to z0max over land +!! Following Gehne et al. (2018) \cite gehne_et_al_2018, a perturbation of the momentum +!! roughness length (z0pert) is added using a logrithmic scaling. The spatial pattern of +!! z0pert is drawn from a normal distribution with a standard deviation of 0.14 while is +!! bounded between -0.5 and 0.5. Similarly, a perturbation of the ratio between the roughness +!! length for heat to the momentum roughness length (ztpert) is added. The spatial pattern +!! of ztpert is drawn from a normal distribution with a standard deviation of 0.08. + if ( islimsk(i) == 1 .and. z0pert(i) /= 0.0 ) then z0max = z0max * (10.**z0pert(i)) endif diff --git a/physics/sfc_drv.f b/physics/sfc_drv.f index 513aae26e..fadeae117 100644 --- a/physics/sfc_drv.f +++ b/physics/sfc_drv.f @@ -590,6 +590,14 @@ subroutine lsm_noah_run & ! perturb vegetation fraction that goes into sflx, use the same ! perturbation strategy as for albedo (percentile matching) +!! Following Gehne et al. (2018) \cite gehne_et_al_2018, a perturbation of vegetation + +!! fraction is added to account for the uncertainty. A percentile matching technique +!! is applied to guarantee the perturbed vegetation fraction is bounded between 0 and +!! 1. The standard deviation of the perturbations is 0.25 for vegetation fraction of +!! 0.5 and the perturbations go to zero as vegetation fraction approaches its upper +!! or lower bound. + vegfp = vegfpert(i) ! sfc-perts, mgehne ! sfc perts, mgehne if (pertvegf(1)>0.0) then diff --git a/physics/sflx.f b/physics/sflx.f index d9ae482ca..2d93ed7a1 100644 --- a/physics/sflx.f +++ b/physics/sflx.f @@ -426,6 +426,15 @@ subroutine gfssflx & ! --- inpu ! z0, czil, xlai, csoil ) ! ! --- ... bexp sfc-perts, mgehne +!! Following Gehne et al. (2018) \cite gehne_et_al_2018, a perturbation of LAI +!! "leaf area index" (xlaip) and a perturbation of the empirical exponent parameter +!! b in the soil hydraulic conductivity calculation (bexpp) are added to account for +!! the uncertainties of LAI and b associated with different vegetation types and soil +!! types using a linear scaling. The spatial pattern of xlaip is drawn from a normal +!! distrubtion with a standard deviation of 0.25 while makes the LAI between 0 and 8. +!! The spatial pattern of bexpp is drawn from a normal distribution with a standard +!! deviation of 0.4 while is bounded between -1 and 1. + if( bexpp < 0.) then bexp = bexp * max(1.+bexpp, 0.) endif From 7d65afd51694fa1a276f2403db8ca517a3dec8f9 Mon Sep 17 00:00:00 2001 From: lulinxue Date: Mon, 13 Aug 2018 14:25:13 -0600 Subject: [PATCH 2/3] modified: sflx.f --- physics/sflx.f | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/physics/sflx.f b/physics/sflx.f index 2d93ed7a1..19caa0fca 100644 --- a/physics/sflx.f +++ b/physics/sflx.f @@ -431,9 +431,9 @@ subroutine gfssflx & ! --- inpu !! b in the soil hydraulic conductivity calculation (bexpp) are added to account for !! the uncertainties of LAI and b associated with different vegetation types and soil !! types using a linear scaling. The spatial pattern of xlaip is drawn from a normal -!! distrubtion with a standard deviation of 0.25 while makes the LAI between 0 and 8. +!! distribution with a standard deviation of 0.25 while makes the LAI between 0 and 8. !! The spatial pattern of bexpp is drawn from a normal distribution with a standard -!! deviation of 0.4 while is bounded between -1 and 1. +!! deviation of 0.4, and is bounded between -1 and 1. if( bexpp < 0.) then bexp = bexp * max(1.+bexpp, 0.) From 7408f867714ad705502b9e9ce3c781bdf9d0e380 Mon Sep 17 00:00:00 2001 From: lulinxue Date: Mon, 13 Aug 2018 15:02:18 -0600 Subject: [PATCH 3/3] modified: sfc_drv.f --- physics/sfc_drv.f | 1 - 1 file changed, 1 deletion(-) diff --git a/physics/sfc_drv.f b/physics/sfc_drv.f index fadeae117..0c7a11320 100644 --- a/physics/sfc_drv.f +++ b/physics/sfc_drv.f @@ -591,7 +591,6 @@ subroutine lsm_noah_run & ! perturb vegetation fraction that goes into sflx, use the same ! perturbation strategy as for albedo (percentile matching) !! Following Gehne et al. (2018) \cite gehne_et_al_2018, a perturbation of vegetation - !! fraction is added to account for the uncertainty. A percentile matching technique !! is applied to guarantee the perturbed vegetation fraction is bounded between 0 and !! 1. The standard deviation of the perturbations is 0.25 for vegetation fraction of