From 0467d63c8baf1f38ae5955e2094ca004df1bccd2 Mon Sep 17 00:00:00 2001 From: Ruiyu Sun Date: Wed, 10 Feb 2021 00:44:36 +0000 Subject: [PATCH 1/2] Fix bugs in the pre-rad to have correct radii and radiation fluxes --- physics/GFS_rrtmg_pre.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/physics/GFS_rrtmg_pre.F90 b/physics/GFS_rrtmg_pre.F90 index 109df3b65..c18396221 100644 --- a/physics/GFS_rrtmg_pre.F90 +++ b/physics/GFS_rrtmg_pre.F90 @@ -288,7 +288,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, & plyr(i,k1) = prsl(i,k2) * 0.01 ! pa to mb (hpa) tlyr(i,k1) = tgrs(i,k2) prslk1(i,k1) = prslk(i,k2) - rho(i,k1) = plyr(i,k1)/(con_rd*tlyr(i,k1)) + rho(i,k1) = prsl(i,k2)/(con_rd*tlyr(i,k1)) orho(i,k1) = 1.0/rho(i,k1) !> - Compute relative humidity. @@ -774,7 +774,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, & !tgs: progclduni has different limits for ice radii (10.0-150.0) than ! calc_effectRad (4.99-125.0 for WRFv3.8.1; 2.49-125.0 for WRFv4+) ! it will raise the low limit from 5 to 10, but the high limit will remain 125. - call calc_effectRad (tlyr(i,:), plyr(i,:), qv_mp(i,:), qc_mp(i,:), & + call calc_effectRad (tlyr(i,:), plyr(i,:)*100., qv_mp(i,:), qc_mp(i,:), & nc_mp(i,:), qi_mp(i,:), ni_mp(i,:), qs_mp(i,:), & re_cloud(i,:), re_ice(i,:), re_snow(i,:), 1, lm ) end do From 8cc60d34c49426b78d2fe14a9c16fc719c558041 Mon Sep 17 00:00:00 2001 From: Ruiyu Sun Date: Wed, 17 Feb 2021 17:17:16 +0000 Subject: [PATCH 2/2] a bug fix in radiation_clouds.f for Thompson MP --- physics/radiation_clouds.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/physics/radiation_clouds.f b/physics/radiation_clouds.f index 056bede28..dacf6e38e 100644 --- a/physics/radiation_clouds.f +++ b/physics/radiation_clouds.f @@ -3189,7 +3189,7 @@ subroutine progcld6 & endif ! Call subroutine get_alpha_exp to define alpha parameter for exponential cloud overlap options - if ( iovr == 4 .or. iovr == 5) then + if ( iovr == 3 .or. iovr == 4 .or. iovr == 5) then call get_alpha_exp(ix, nLay, dzlay, de_lgth, alpha) else de_lgth(:) = 0.