diff --git a/physics/rascnv.F90 b/physics/rascnv.F90 index 79a5dce40..b23b04e9a 100644 --- a/physics/rascnv.F90 +++ b/physics/rascnv.F90 @@ -402,8 +402,9 @@ subroutine rascnv_run(IM, k, itc, ntc, ntr, dt, dtf & ! fscav_ = -999.0_kp ! By default no scavenging if (itc > 0 .and. ntc > 0) then - if (ntr >= itc + ntc - 3) then - fscav_(itc:ntc) = fscav + n = itc + ntc - 1 + if (n <= ntr + 2) then + fscav_(itc:n) = fscav else errmsg = 'Error in rascnv_run: test ntr >= itc + ntc - 3 FAILED' errflg = 1 diff --git a/physics/rascnv.meta b/physics/rascnv.meta index 3f61ac1c0..5832827aa 100644 --- a/physics/rascnv.meta +++ b/physics/rascnv.meta @@ -211,9 +211,9 @@ intent = in optional = F [itc] - standard_name = number_of_aerosol_tracers_for_convection - long_name = number of aerosol tracers transported/scavenged by convection - units = count + standard_name = index_of_first_chemical_tracer_for_convection + long_name = index of first chemical tracer transported/scavenged by convection + units = index dimensions = () type = integer intent = in diff --git a/physics/samfaerosols.F b/physics/samfaerosols.F index 87a2277dd..66faf1fb9 100644 --- a/physics/samfaerosols.F +++ b/physics/samfaerosols.F @@ -9,7 +9,7 @@ module samfcnv_aerosols contains subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt, - & xlamde, xlamdd, cnvflg, jmin, kb, kmax, kbcon, ktcon, fscav, + & xlamde, xlamdd, cnvflg, jmin, kb, kmax, kd94, ktcon, fscav, & edto, xlamd, xmb, c0t, eta, etad, zi, xlamue, xlamud, delp, & qtr, qaero) @@ -25,7 +25,7 @@ subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt, & xlamde, xlamdd logical, dimension(im), intent(in) :: cnvflg integer, dimension(im), intent(in) :: jmin, - & kb, kmax, kbcon, ktcon + & kb, kmax, kd94, ktcon real(kind=kind_phys), dimension(im), intent(in) :: edto, & xlamd, xmb real(kind=kind_phys), dimension(ntc), intent(in) :: fscav @@ -195,7 +195,7 @@ subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt, do i = 1, im if (cnvflg(i) .and. (k < jmin(i))) then dz = zi(i,kp1) - zi(i,k) - if (k >= kbcon(i)) then + if (k >= kd94(i)) then tem = xlamde * dz tem1 = half * xlamdd * dz else @@ -264,7 +264,7 @@ subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt, tem = half * (xlamue(i,k) + xlamue(i,kk)) tem1 = half * (xlamud(i,k) + xlamud(i,kk)) - if (k <= kbcon(i)) then + if (k <= kd94(i)) then ptem = xlamde ptem1 = xlamd(i) + xlamdd else diff --git a/physics/samfdeepcnv.f b/physics/samfdeepcnv.f index 95e99e7be..a7ea0009b 100644 --- a/physics/samfdeepcnv.f +++ b/physics/samfdeepcnv.f @@ -2683,7 +2683,7 @@ subroutine samfdeepcnv_run (im,km,itc,ntc,cliq,cp,cvap, & if (do_aerosols) & call samfdeepcnv_aerosols(im, im, km, itc, ntc, ntr, delt, - & xlamde, xlamdd, cnvflg, jmin, kb, kmax, kbcon, ktcon, fscav, + & xlamde, xlamdd, cnvflg, jmin, kb, kmax, kd94, ktcon, fscav, & edto, xlamd, xmb, c0t, eta, etad, zi, xlamue, xlamud, delp, & qtr, qaero) diff --git a/physics/samfdeepcnv.meta b/physics/samfdeepcnv.meta index 255213268..9ba69b1f2 100644 --- a/physics/samfdeepcnv.meta +++ b/physics/samfdeepcnv.meta @@ -62,9 +62,9 @@ intent = in optional = F [itc] - standard_name = number_of_aerosol_tracers_for_convection - long_name = number of aerosol tracers transported/scavenged by convection - units = count + standard_name = index_of_first_chemical_tracer_for_convection + long_name = index of first chemical tracer transported/scavenged by convection + units = index dimensions = () type = integer intent = in diff --git a/physics/samfshalcnv.meta b/physics/samfshalcnv.meta index 33f457b23..d72bb73cf 100644 --- a/physics/samfshalcnv.meta +++ b/physics/samfshalcnv.meta @@ -62,9 +62,9 @@ intent = in optional = F [itc] - standard_name = number_of_aerosol_tracers_for_convection - long_name = number of aerosol tracers transported/scavenged by convection - units = count + standard_name = index_of_first_chemical_tracer_for_convection + long_name = index of first chemical tracer transported/scavenged by convection + units = index dimensions = () type = integer intent = in