diff --git a/.github/workflows/ci_fv3_ccpp_prebuild.yml b/.github/workflows/ci_fv3_ccpp_prebuild.yml index 5d87f7d505..968e3a0662 100644 --- a/.github/workflows/ci_fv3_ccpp_prebuild.yml +++ b/.github/workflows/ci_fv3_ccpp_prebuild.yml @@ -54,4 +54,4 @@ jobs: run: | cd /home/runner/work/ccpp-physics/ccpp-physics/fv3atm/ccpp/ mkdir -p /home/runner/work/ccpp-physics/ccpp-physics/fv3atm/bin/ccpp/physics/physics/ - ./framework/scripts/ccpp_prebuild.py --config config/ccpp_prebuild_config.py + ./framework/scripts/ccpp_prebuild.py --config config/ccpp_prebuild_config_fv3.py diff --git a/physics/CONV/SAMF/samfdeepcnv.f b/physics/CONV/SAMF/samfdeepcnv.f index b4fe700279..fe81956314 100644 --- a/physics/CONV/SAMF/samfdeepcnv.f +++ b/physics/CONV/SAMF/samfdeepcnv.f @@ -82,7 +82,7 @@ subroutine samfdeepcnv_run (im,km,first_time_step,restart, & & islimsk,garea,dot,ncloud,hpbl,ud_mf,dd_mf,dt_mf,cnvw,cnvc, & & QLCN, QICN, w_upi, cf_upi, CNV_MFD, & & CNV_DQLDT,CLCN,CNV_FICE,CNV_NDROP,CNV_NICE,mp_phys,mp_phys_mg,& - & clam,c0s,c1,betal,betas,evef,pgcon,asolfac, & + & clam,c0s,c1,betal,betas,evef,pgcon,asolfac,cscale, & & do_ca, ca_closure, ca_entr, ca_trigger, nthresh,ca_deep, & & rainevap,sigmain,sigmaout,omegain,omegaout,betadcu,betamcu, & & betascu,maxMF,do_mynnedmf,sigmab_coldstart,errmsg,errflg) @@ -97,7 +97,7 @@ subroutine samfdeepcnv_run (im,km,first_time_step,restart, & integer, intent(in) :: islimsk(:) real(kind=kind_phys), intent(in) :: cliq, cp, cvap, eps, epsm1, & & fv, grav, hvap, rd, rv, t0c - real(kind=kind_phys), intent(in) :: delt + real(kind=kind_phys), intent(in) :: delt, cscale real(kind=kind_phys), intent(in) :: psp(:), delp(:,:), & & prslp(:,:), garea(:), hpbl(:), dot(:,:), phil(:,:) real(kind=kind_phys), dimension(:), intent(in) :: fscav @@ -219,7 +219,7 @@ subroutine samfdeepcnv_run (im,km,first_time_step,restart, & ! parameters for prognostic sigma closure real(kind=kind_phys) omega_u(im,km),zdqca(im,km),tmfq(im,km), & omegac(im),zeta(im,km),dbyo1(im,km),sigmab(im),qadv(im,km), - & sigmaoutx(im),tentr(im,km) + & tentr(im,km) real(kind=kind_phys) gravinv,invdelt,sigmind,sigminm,sigmins parameter(sigmind=0.01,sigmins=0.03,sigminm=0.01) logical flag_shallow, flag_mid @@ -3467,14 +3467,6 @@ subroutine samfdeepcnv_run (im,km,first_time_step,restart, & endif enddo c -! - if(progsigma)then - do i = 1, im - sigmaoutx(i)=max(sigmaout(i,1),0.0) - sigmaoutx(i)=min(sigmaoutx(i),1.0) - enddo - endif -c !> - Calculate convective cloud water. do k = 1, km do i = 1, im @@ -3482,9 +3474,9 @@ subroutine samfdeepcnv_run (im,km,first_time_step,restart, & if (k >= kbcon(i) .and. k < ktcon(i)) then cnvw(i,k) = cnvwt(i,k) * xmb(i) * dt2 if(progsigma)then - cnvw(i,k) = cnvw(i,k) * sigmaoutx(i) + cnvw(i,k) = cnvw(i,k) * cscale else - cnvw(i,k) = cnvw(i,k) * sigmagfm(i) + cnvw(i,k) = cnvw(i,k) * cscale endif endif endif diff --git a/physics/CONV/SAMF/samfdeepcnv.meta b/physics/CONV/SAMF/samfdeepcnv.meta index e6f44bc7bc..1fc5fdf62c 100644 --- a/physics/CONV/SAMF/samfdeepcnv.meta +++ b/physics/CONV/SAMF/samfdeepcnv.meta @@ -188,6 +188,14 @@ type = real kind = kind_phys intent = in +[cscale] + standard_name = multiplicative_tuning_parameter_for_convective_cloud_water + long_name = multiplicative tuning parameter for convective cloud_water + units = none + dimensions = () + type = real + kind = kind_phys + intent = in [delt] standard_name = timestep_for_physics long_name = physics time step diff --git a/physics/CONV/SAMF/samfshalcnv.f b/physics/CONV/SAMF/samfshalcnv.f index ee7f6a76e2..bc69f0ebb0 100644 --- a/physics/CONV/SAMF/samfshalcnv.f +++ b/physics/CONV/SAMF/samfshalcnv.f @@ -55,7 +55,7 @@ subroutine samfshalcnv_run(im,km,itc,ntc,cliq,cp,cvap, & & t0c,delt,ntk,ntr,delp,first_time_step,restart, & & tmf,qmicro,progsigma,progomega, & & prslp,psp,phil,tkeh,qtr,prevsq,q,q1,t1,u1,v1,fscav, & - & rn,kbot,ktop,kcnv,islimsk,garea, & + & rn,kbot,ktop,kcnv,islimsk,garea,cscale, & & dot,ncloud,hpbl,ud_mf,dt_mf,cnvw,cnvc, & & clam,c0s,c1,evef,pgcon,asolfac,hwrf_samfshal, & & sigmain,sigmaout,omegain,omegaout,betadcu,betamcu,betascu, & @@ -71,7 +71,7 @@ subroutine samfshalcnv_run(im,km,itc,ntc,cliq,cp,cvap, & real(kind=kind_phys), intent(in) :: cliq, cp, cvap, & & eps, epsm1, fv, grav, hvap, rd, rv, t0c, betascu, betadcu, & & betamcu - real(kind=kind_phys), intent(in) :: delt + real(kind=kind_phys), intent(in) :: delt, cscale real(kind=kind_phys), intent(in) :: psp(:), delp(:,:), & & prslp(:,:), garea(:), hpbl(:), dot(:,:), phil(:,:), & & tmf(:,:,:), q(:,:) @@ -167,7 +167,7 @@ subroutine samfshalcnv_run(im,km,itc,ntc,cliq,cp,cvap, & ! parameters for prognostic sigma closure real(kind=kind_phys) omega_u(im,km),zdqca(im,km),tmfq(im,km), & omegac(im),zeta(im,km),dbyo1(im,km), - & sigmab(im),qadv(im,km),sigmaoutx(im) + & sigmab(im),qadv(im,km) real(kind=kind_phys) gravinv,dxcrtas,invdelt,sigmind,sigmins, & sigminm logical flag_shallow,flag_mid @@ -2441,13 +2441,6 @@ subroutine samfshalcnv_run(im,km,itc,ntc,cliq,cp,cvap, & endif enddo c - if(progsigma)then - do i = 1, im - sigmaoutx(i)=max(sigmaout(i,1),0.0) - sigmaoutx(i)=min(sigmaoutx(i),1.0) - enddo - endif - c convective cloud water do k = 1, km do i = 1, im @@ -2455,9 +2448,9 @@ subroutine samfshalcnv_run(im,km,itc,ntc,cliq,cp,cvap, & if (k >= kbcon(i) .and. k < ktcon(i)) then cnvw(i,k) = cnvwt(i,k) * xmb(i) * dt2 if (progsigma) then - cnvw(i,k) = cnvw(i,k) * sigmaoutx(i) + cnvw(i,k) = cnvw(i,k) * cscale else - cnvw(i,k) = cnvw(i,k) * sigmagfm(i) + cnvw(i,k) = cnvw(i,k) * cscale endif endif endif diff --git a/physics/CONV/SAMF/samfshalcnv.meta b/physics/CONV/SAMF/samfshalcnv.meta index c1714801dd..b96a742f2c 100644 --- a/physics/CONV/SAMF/samfshalcnv.meta +++ b/physics/CONV/SAMF/samfshalcnv.meta @@ -188,6 +188,14 @@ type = real kind = kind_phys intent = in +[cscale] + standard_name = multiplicative_tuning_parameter_for_convective_cloud_water + long_name = multiplicative tuning parameter for convective cloud water + units = none + dimensions = () + type = real + kind = kind_phys + intent = in [delt] standard_name = timestep_for_physics long_name = physics time step