From 6f212a9c8a16c3adc6164de94bf743555cccfc5d Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Mon, 12 Jan 2026 23:20:30 -0500 Subject: [PATCH 01/14] MYNN link --- phys/MYNN-EDMF | 2 +- phys/module_pbl_driver.F | 39 ++++++++++++++++++++++---------------- phys/module_physics_init.F | 5 +++-- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 809bcaec90..f859accfbd 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 809bcaec9033525b3deb58bc125ab8c37e9b0025 +Subproject commit f859accfbda1f0d5d7002c6c7838795c4168f279 diff --git a/phys/module_pbl_driver.F b/phys/module_pbl_driver.F index 5c53524a03..c771d6b8e5 100644 --- a/phys/module_pbl_driver.F +++ b/phys/module_pbl_driver.F @@ -99,15 +99,15 @@ SUBROUTINE pbl_driver( & ,f_qv,f_qc,f_qr & ,f_qi,f_qs,f_qg & ! variables added for BEP - ,frc_urb2d & - ,a_u_bep,a_v_bep,a_t_bep,a_q_bep & - ,b_u_bep,b_v_bep,b_t_bep,b_q_bep & - ,sf_bep,vl_bep & - ,sf_sfclay_physics,sf_urban_physics & - ,tke_pbl,diss_pbl,tpe_pbl & - ,tke_adv,diss_adv,tpe_adv & - ,pr_pbl,el_pbl & - ,wu_tur,wv_tur,wt_tur,wq_tur & + ,frc_urb2d & + ,a_u_bep,a_v_bep,a_t_bep,a_q_bep & + ,b_u_bep,b_v_bep,b_t_bep,b_q_bep & + ,sf_bep,vl_bep & + ,sf_sfclay_physics,sf_urban_physics & + ,tke_pbl,diss_pbl,tpe_pbl & + ,tke_adv,diss_adv,tpe_adv & + ,pr_pbl,el_pbl & + ,wu_tur,wv_tur,wt_tur,wq_tur & ! variables added for AHE , gmt, xtime, julday, julyr, ahe & , distributed_ahe_opt & @@ -1702,7 +1702,7 @@ SUBROUTINE pbl_driver( & &RQSBLTEN=rqsblten, & &RQNWFABLTEN=rqnwfablten,RQNIFABLTEN=rqnifablten, & &RQNBCABLTEN=rqnbcablten, & -! &Ro3BLTEN=ro3blten, & +! &Ro3BLTEN=ro3blten, & &EXCH_H=exch_h,EXCH_M=exch_m, & &pblh=pblh,KPBL=KPBL, & &el_pbl=el_pbl, & @@ -1741,7 +1741,15 @@ SUBROUTINE pbl_driver( & &FLAG_QNBCA=flag_qnbca, & &IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde, & &IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme, & - &ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte ) + &ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte & + &,sf_urban_physics=sf_urban_physics,FRC_URB2D=frc_urb2d & ! BEP Changes JC 11/25 + &,A_U_BEP=a_u_bep,A_V_BEP=a_v_bep,A_T_BEP=a_t_bep & + &,A_Q_BEP=a_q_bep,A_E_BEP=a_e_bep & + &,B_U_BEP=b_u_bep,B_V_BEP=b_v_bep,B_T_BEP=b_t_bep & + &,B_Q_BEP=b_q_bep,B_E_BEP=b_e_bep & + &,DLG_BEP=dlg_bep,DL_U_BEP=dl_u_bep & + &,SF_BEP=sf_bep,VL_BEP=vl_bep ) ! End BEP Changes + if (pert_mynn .and. multi_perturb == 1) then call Remove_multi_perturb_pbl_perturbations ( & @@ -2222,7 +2230,7 @@ SUBROUTINE pbl_driver( & CALL surface_drag( & RUBLTEN=rublten,RVBLTEN=rvblten & ! - ,U_PHY=u_phy, V_PHY=v_phy, Z=z & ! + ,U_PHY=u_phy, V_PHY=v_phy, Z=z & ! ,XLAND=xland, HT=ht, KPBL2D=kpbl & ! ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & @@ -2586,7 +2594,7 @@ subroutine Remove_multi_perturb_pbl_perturbations (perts_qvapor, perts_qcloud, end subroutine Remove_multi_perturb_pbl_perturbations !============================================================================= - SUBROUTINE diff3d(DT,CP,DZ,TH ,QV,QC,T,U,V,RHO & + SUBROUTINE diff3d(DT,CP,DZ,TH,QV,QC,T,U,V,RHO & ,EXCH_H,EXCH_M & ,RUBLTEN,RVBLTEN,RTHBLTEN & ,RQVBLTEN,RQCBLTEN & @@ -2752,7 +2760,7 @@ SUBROUTINE diff3d(DT,CP,DZ,TH ,QV,QC,T,U,V,RHO & call diff(kms,kme,kts,kte,dt,v1d,rho1d,rhoz1d,exch_m1d,a_v1d,b_v1d,sf1d, & & vl1d,dz1d,wv1d) -! solve the diffusion for equivalent potential temperature +! solve the diffusion for equivalent potential temperature call diff(kms,kme,kts,kte,dt,the1d,rho1d,rhoz1d,exch_h1d,a_t1d,b_t1d,sf1d, & & vl1d,dz1d,wt1d) @@ -2771,7 +2779,7 @@ SUBROUTINE diff3d(DT,CP,DZ,TH ,QV,QC,T,U,V,RHO & ! compute the tendencies do k=kts,kte - rublten(i,k,j)=(u1d(k)-u(i,k,j))/dt + rublten(i,k,j)=(u1d(k)-u(i,k,j))/dt rvblten(i,k,j)=(v1d(k)-v(i,k,j))/dt thnew=the1d(k)/(QC(i,k,j)*(-ELOCP/T(i,k,j))+1) rthblten(i,k,j)=(thnew-th(i,k,j))/dt @@ -2967,7 +2975,6 @@ subroutine diff(kms,kme,kts,kte,dt,co,da,daz,cd,aa,bb,sf,vl,dz,fc) izf=1 do iz=iz1,kte-1 - dzv=vl(iz)*dz(iz) a(iz,1)=-cddz(iz)*dt/dzv/da(iz) a(iz,2)=1+dt*(cddz(iz)+cddz(iz+1))/dzv/da(iz)-aa(iz)*dt diff --git a/phys/module_physics_init.F b/phys/module_physics_init.F index 67b1b61537..88a0e2fa50 100644 --- a/phys/module_physics_init.F +++ b/phys/module_physics_init.F @@ -3839,8 +3839,9 @@ SUBROUTINE bl_init(STEPBL,BLDT,DT,RUBLTEN,RVBLTEN,RTHBLTEN, & CASE (MYNNPBLSCHEME) IF(isfc .NE. 5 .AND. isfc .NE. 1 .AND. isfc .NE. 2) CALL wrf_error_fatal & ( 'module_physics_init: use mynnsfc or sfclay or myjsfc scheme for this pbl option') - IF ((SF_URBAN_PHYSICS.eq.2).OR.(SF_URBAN_PHYSICS.EQ.3)) CALL wrf_error_fatal & - ( 'module_physics_init: use ysu (option1), myj (option 2), or boulac (option 8) with BEP/BEM urban scheme' ) + ! BEP LINKAGE - JC 01/2026 + ! IF ((SF_URBAN_PHYSICS.eq.2).OR.(SF_URBAN_PHYSICS.EQ.3)) CALL wrf_error_fatal & + ! ( 'module_physics_init: use ysu (option1), myj (option 2), or boulac (option 8) with BEP/BEM urban scheme' ) CALL mynnedmf_init( & &RUBLTEN,RVBLTEN,RTHBLTEN,RQVBLTEN,RQCBLTEN, & From 57591708aead265925fb325e349782c77997ac32 Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Tue, 13 Jan 2026 00:24:52 -0500 Subject: [PATCH 02/14] Fix mynn branch typo --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index f859accfbd..b454f0c772 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit f859accfbda1f0d5d7002c6c7838795c4168f279 +Subproject commit b454f0c7720199f27ff92d1997c51b7550661a4d From 1719ec0aa6910a4002f8315272c6a9adf23a80a6 Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Tue, 13 Jan 2026 15:06:11 -0500 Subject: [PATCH 03/14] Bypass diff3d call --- phys/module_pbl_driver.F | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/phys/module_pbl_driver.F b/phys/module_pbl_driver.F index c771d6b8e5..1e1226dfd4 100644 --- a/phys/module_pbl_driver.F +++ b/phys/module_pbl_driver.F @@ -2425,7 +2425,7 @@ SUBROUTINE pbl_driver( & ! fluxes (something that will be general for all the routines). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - + IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - MYNN changes, bypass diff3d call if MYNN called CALL diff3d (DT=dtbl,CP=cp,DZ=dz8w,TH=th_phy,QV=qv_curr,QC=qc_curr,T=t_phy & ,U=u_phy,V=v_phy,RHO=rho,EXCH_H=exch_h & ,EXCH_M=exch_m & @@ -2471,7 +2471,19 @@ SUBROUTINE pbl_driver( & ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) ENDIF - + ELSE + ! Free up arrays + DEALLOCATE (a_u) ! Implicit component for the momemtum in X-direction + DEALLOCATE (a_v) ! Implicit component for the momemtum in Y-direction + DEALLOCATE (a_t) ! Implicit component for the Pot. Temp. + DEALLOCATE (a_q) ! Implicit component for the water vapor + DEALLOCATE (b_u) ! Explicit component for the momemtum in X-direction + DEALLOCATE (b_v) ! Explicit component for the momemtum in Y-direction + DEALLOCATE (b_t) ! Explicit component for the Pot. Temp. + DEALLOCATE (b_q) ! Explicit component for the water vapor + DEALLOCATE (sf ) ! surfaces + DEALLOCATE (vl ) ! volumes + ENDIF ! End MYNN Changes IF (distributed_ahe_opt == 1) THEN call cal_mon_day(julday, julyr, jmonth, jday) ihour = (jmonth - 1) * 24 + MOD(INT(gmt + xtime / 60.0), 24) From ce2ff59c3157555a410d68e58e381f0a1f11960a Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Tue, 13 Jan 2026 16:27:48 -0500 Subject: [PATCH 04/14] Bypass diff3d for MYNN --- phys/module_pbl_driver.F | 65 ++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/phys/module_pbl_driver.F b/phys/module_pbl_driver.F index 1e1226dfd4..fc32c6ccfa 100644 --- a/phys/module_pbl_driver.F +++ b/phys/module_pbl_driver.F @@ -2412,9 +2412,9 @@ SUBROUTINE pbl_driver( & ENDIF !JOE-END #endif - - IF (idiff.eq.1) THEN - + + IF (idiff.eq.1) THEN + IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - MYNN changes, bypass diff3d call if MYNN called !Alberto: here we call the general routine to solve the diffusion ! + all the source/sink terms. ! the only thing that should be passed from the PBL schemes is the value of the exch_h, and exch_m @@ -2424,8 +2424,7 @@ SUBROUTINE pbl_driver( & ! As I explain below, in the routine, here we could extract the vertical turbulent ! fluxes (something that will be general for all the routines). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - MYNN changes, bypass diff3d call if MYNN called + CALL diff3d (DT=dtbl,CP=cp,DZ=dz8w,TH=th_phy,QV=qv_curr,QC=qc_curr,T=t_phy & ,U=u_phy,V=v_phy,RHO=rho,EXCH_H=exch_h & ,EXCH_M=exch_m & @@ -2449,29 +2448,9 @@ SUBROUTINE pbl_driver( & DEALLOCATE (b_q) ! Explicit component for the water vapor DEALLOCATE (sf ) ! surfaces DEALLOCATE (vl ) ! volumes - ENDIF !idiff - - IF(scalar_pblmix .GT. 0)THEN - CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=scalar, is_scalar=.true. & - ,RHO=rho,EXCH_H=exch_h & - ,EXCH_M=exch_m & - ,SCALAR_TEND=scalar_tend & - ,NUM_SCALAR=num_scalar, PARAM_FIRST_SCALAR=param_first_scalar & - ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & - ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & - ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) - ENDIF - IF(tracer_pblmix .GT. 0)THEN - CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=tracer, is_scalar=.false. & - ,RHO=rho,EXCH_H=exch_h & - ,EXCH_M=exch_m & - ,SCALAR_TEND=tracer_tend & - ,NUM_SCALAR=num_tracer, PARAM_FIRST_SCALAR=param_first_scalar & - ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & - ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & - ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) - ENDIF - ELSE + + ELSE + ! Free up arrays DEALLOCATE (a_u) ! Implicit component for the momemtum in X-direction DEALLOCATE (a_v) ! Implicit component for the momemtum in Y-direction @@ -2483,7 +2462,35 @@ SUBROUTINE pbl_driver( & DEALLOCATE (b_q) ! Explicit component for the water vapor DEALLOCATE (sf ) ! surfaces DEALLOCATE (vl ) ! volumes - ENDIF ! End MYNN Changes + + ENDIF ! End MYNN Changes + + ENDIF !idiff + + IF(scalar_pblmix .GT. 0)THEN + IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - Bypass diff call if MYNN called + CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=scalar, is_scalar=.true. & + ,RHO=rho,EXCH_H=exch_h & + ,EXCH_M=exch_m & + ,SCALAR_TEND=scalar_tend & + ,NUM_SCALAR=num_scalar, PARAM_FIRST_SCALAR=param_first_scalar & + ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & + ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & + ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) + ENDIF ! End MYNN Changes + ENDIF + IF(tracer_pblmix .GT. 0)THEN + IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - Bypass diff call if MYNN called + CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=tracer, is_scalar=.false. & + ,RHO=rho,EXCH_H=exch_h & + ,EXCH_M=exch_m & + ,SCALAR_TEND=tracer_tend & + ,NUM_SCALAR=num_tracer, PARAM_FIRST_SCALAR=param_first_scalar & + ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & + ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & + ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) + ENDIF + ENDIF IF (distributed_ahe_opt == 1) THEN call cal_mon_day(julday, julyr, jmonth, jday) ihour = (jmonth - 1) * 24 + MOD(INT(gmt + xtime / 60.0), 24) From 9446e92eef2156a0d7545cc8d03be4bd869f85f9 Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Mon, 19 Jan 2026 22:47:14 -0500 Subject: [PATCH 05/14] Add to MYNN urban vol & sfcs --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index b454f0c772..02e21ad545 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit b454f0c7720199f27ff92d1997c51b7550661a4d +Subproject commit 02e21ad54568149b59768f4c6cbf4e7d730c8388 From 49d88f44c490395d2d9e581fdac7f11cba408a3e Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Tue, 20 Jan 2026 01:03:40 -0500 Subject: [PATCH 06/14] Fix MYNN urban volume typos --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 02e21ad545..ca5cf78177 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 02e21ad54568149b59768f4c6cbf4e7d730c8388 +Subproject commit ca5cf78177ade61776d16bcecba3ae50d5f4438c From 4215f203249afb0b55ec5f2a5d00bf3ba220842f Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Fri, 6 Feb 2026 20:02:45 -0500 Subject: [PATCH 07/14] Update MYNN with urban vl & sf terms --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index ca5cf78177..dce9d4456a 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit ca5cf78177ade61776d16bcecba3ae50d5f4438c +Subproject commit dce9d4456a6b95c7da5a9ad990d13c4852be1efb From 1b8fbe5fad1c0b835fc18b5fd4c42355c965047b Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Fri, 6 Feb 2026 20:15:12 -0500 Subject: [PATCH 08/14] Fix sf term bug --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index dce9d4456a..13b3650e10 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit dce9d4456a6b95c7da5a9ad990d13c4852be1efb +Subproject commit 13b3650e109f0e3060e4c3be31baabdeef84f236 From fde56534afd26c566d9e2100d85628828ec15fa4 Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Fri, 6 Feb 2026 20:32:49 -0500 Subject: [PATCH 09/14] Fix vl & sf typos --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 13b3650e10..69d64eaba0 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 13b3650e109f0e3060e4c3be31baabdeef84f236 +Subproject commit 69d64eaba09c0c3193f850c9d37ad2c2a0861adc From 36759409c325bb0c6bf22c1b82558466c18e7d8a Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Fri, 6 Feb 2026 20:41:45 -0500 Subject: [PATCH 10/14] typo fix --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 69d64eaba0..9a714d565a 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 69d64eaba09c0c3193f850c9d37ad2c2a0861adc +Subproject commit 9a714d565a31a074b0e92ce6abb7c6b09011023a From 2474a093439c6036d69ea1c99fed327f37295ebd Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Tue, 10 Feb 2026 16:49:30 -0500 Subject: [PATCH 11/14] Add newest MYNN fixes --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 9a714d565a..0e462bc37d 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 9a714d565a31a074b0e92ce6abb7c6b09011023a +Subproject commit 0e462bc37d2517b6c1a445699050feae87b26660 From a03cc0ffe590f3c45240ffdea53c263814dc3ccb Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Thu, 12 Feb 2026 00:10:52 -0500 Subject: [PATCH 12/14] Remove unnecessary lines --- phys/module_pbl_driver.F | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/phys/module_pbl_driver.F b/phys/module_pbl_driver.F index fc32c6ccfa..bf4845f3d0 100644 --- a/phys/module_pbl_driver.F +++ b/phys/module_pbl_driver.F @@ -2230,7 +2230,7 @@ SUBROUTINE pbl_driver( & CALL surface_drag( & RUBLTEN=rublten,RVBLTEN=rvblten & ! - ,U_PHY=u_phy, V_PHY=v_phy, Z=z & ! + ,U_PHY=u_phy, V_PHY=v_phy, Z=z & ! ,XLAND=xland, HT=ht, KPBL2D=kpbl & ! ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & @@ -2414,7 +2414,7 @@ SUBROUTINE pbl_driver( & #endif IF (idiff.eq.1) THEN - IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - MYNN changes, bypass diff3d call if MYNN called + !Alberto: here we call the general routine to solve the diffusion ! + all the source/sink terms. ! the only thing that should be passed from the PBL schemes is the value of the exch_h, and exch_m @@ -2425,6 +2425,7 @@ SUBROUTINE pbl_driver( & ! fluxes (something that will be general for all the routines). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + CALL diff3d (DT=dtbl,CP=cp,DZ=dz8w,TH=th_phy,QV=qv_curr,QC=qc_curr,T=t_phy & ,U=u_phy,V=v_phy,RHO=rho,EXCH_H=exch_h & ,EXCH_M=exch_m & @@ -2448,27 +2449,9 @@ SUBROUTINE pbl_driver( & DEALLOCATE (b_q) ! Explicit component for the water vapor DEALLOCATE (sf ) ! surfaces DEALLOCATE (vl ) ! volumes - - ELSE - - ! Free up arrays - DEALLOCATE (a_u) ! Implicit component for the momemtum in X-direction - DEALLOCATE (a_v) ! Implicit component for the momemtum in Y-direction - DEALLOCATE (a_t) ! Implicit component for the Pot. Temp. - DEALLOCATE (a_q) ! Implicit component for the water vapor - DEALLOCATE (b_u) ! Explicit component for the momemtum in X-direction - DEALLOCATE (b_v) ! Explicit component for the momemtum in Y-direction - DEALLOCATE (b_t) ! Explicit component for the Pot. Temp. - DEALLOCATE (b_q) ! Explicit component for the water vapor - DEALLOCATE (sf ) ! surfaces - DEALLOCATE (vl ) ! volumes - - ENDIF ! End MYNN Changes - ENDIF !idiff IF(scalar_pblmix .GT. 0)THEN - IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - Bypass diff call if MYNN called CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=scalar, is_scalar=.true. & ,RHO=rho,EXCH_H=exch_h & ,EXCH_M=exch_m & @@ -2477,10 +2460,8 @@ SUBROUTINE pbl_driver( & ,IDS=ids,IDE=ide,JDS=jds,JDE=jde,KDS=kds,KDE=kde & ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) - ENDIF ! End MYNN Changes ENDIF IF(tracer_pblmix .GT. 0)THEN - IF (bl_pbl_physics .NE. 5) THEN ! JC 01/2026 - Bypass diff call if MYNN called CALL diff4d (DT=dtbl,DZ=dz8w, SCALAR=tracer, is_scalar=.false. & ,RHO=rho,EXCH_H=exch_h & ,EXCH_M=exch_m & @@ -2490,7 +2471,7 @@ SUBROUTINE pbl_driver( & ,IMS=ims,IME=ime,JMS=jms,JME=jme,KMS=kms,KME=kme & ,ITS=its,ITE=ite,JTS=jts,JTE=jte,KTS=kts,KTE=kte) ENDIF - ENDIF + IF (distributed_ahe_opt == 1) THEN call cal_mon_day(julday, julyr, jmonth, jday) ihour = (jmonth - 1) * 24 + MOD(INT(gmt + xtime / 60.0), 24) @@ -2613,7 +2594,7 @@ subroutine Remove_multi_perturb_pbl_perturbations (perts_qvapor, perts_qcloud, end subroutine Remove_multi_perturb_pbl_perturbations !============================================================================= - SUBROUTINE diff3d(DT,CP,DZ,TH,QV,QC,T,U,V,RHO & + SUBROUTINE diff3d(DT,CP,DZ,TH ,QV,QC,T,U,V,RHO & ,EXCH_H,EXCH_M & ,RUBLTEN,RVBLTEN,RTHBLTEN & ,RQVBLTEN,RQCBLTEN & @@ -2994,6 +2975,7 @@ subroutine diff(kms,kme,kts,kte,dt,co,da,daz,cd,aa,bb,sf,vl,dz,fc) izf=1 do iz=iz1,kte-1 + dzv=vl(iz)*dz(iz) a(iz,1)=-cddz(iz)*dt/dzv/da(iz) a(iz,2)=1+dt*(cddz(iz)+cddz(iz+1))/dzv/da(iz)-aa(iz)*dt From 38a79e90a259ead52e93ae6c5ba7d5ac9cb18752 Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Thu, 12 Feb 2026 14:13:09 -0500 Subject: [PATCH 13/14] Mix. l corrections --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index 0e462bc37d..fd486d1f87 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit 0e462bc37d2517b6c1a445699050feae87b26660 +Subproject commit fd486d1f879fbcce4d9941253c7da37c3652c7d2 From 67abb9cf7bc0a3d9a2ef4a3e70d883768bb8a2ff Mon Sep 17 00:00:00 2001 From: turbulentlens Date: Thu, 12 Feb 2026 14:35:18 -0500 Subject: [PATCH 14/14] Fix dlg changes --- phys/MYNN-EDMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phys/MYNN-EDMF b/phys/MYNN-EDMF index fd486d1f87..b25bd6b2ee 160000 --- a/phys/MYNN-EDMF +++ b/phys/MYNN-EDMF @@ -1 +1 @@ -Subproject commit fd486d1f879fbcce4d9941253c7da37c3652c7d2 +Subproject commit b25bd6b2ee71415ace77428ae52a6f69fe35182f