diff --git a/src/PHYEX/turb/mode_prandtl.f90 b/src/PHYEX/turb/mode_prandtl.f90 index 6158c5c4dff154f19e9667605580dd5067c860a3..02904a59aaf12cab9f0b48fe9afdbc78ac0e64fa 100644 --- a/src/PHYEX/turb/mode_prandtl.f90 +++ b/src/PHYEX/turb/mode_prandtl.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2024 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. @@ -551,18 +551,12 @@ DO JSV=1,KSV ! CALL GX_M_M_PHY(D,OFLAT,PSVM(:,:,JSV),PDXX,PDZZ,PDZX,ZGXMM_PSV) CALL GX_M_M_PHY(D,OFLAT,PTHLM,PDXX,PDZZ,PDZX,ZGXMM_PTH) - CALL GX_M_M_PHY(D,OFLAT,PRM(:,:,1),PDXX,PDZZ,PDZX,ZGXMM_PRM) ! !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PTH(:,:) !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) CALL MZM_PHY(D,ZWORK1,ZWORK2) ! - !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) - ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PRM(:,:) - !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) - CALL MZM_PHY(D,ZWORK1,ZWORK3) -! !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) IF (KRR /= 0) THEN ZWORK1(:,:) = ZW1(:,:)*PETHETA(:,:) @@ -573,6 +567,13 @@ DO JSV=1,KSV ZWORK1(:,:) * ZWORK2(:,:) ! IF (KRR /= 0) THEN + CALL GX_M_M_PHY(D,OFLAT,PRM(:,:,1),PDXX,PDZZ,PDZX,ZGXMM_PRM) + ! + !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) + ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PRM(:,:) + !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) + CALL MZM_PHY(D,ZWORK1,ZWORK3) + ! PRED2RS3(:,:,JSV) = PREDR1(:,:) * PREDS1(:,:,JSV) + & ZW1(:,:) * PEMOIST(:,:) * ZWORK3(:,:) ELSE @@ -605,10 +606,8 @@ DO JSV=1,KSV ! CALL GX_M_M_PHY(D,OFLAT,PSVM(:,:,JSV),PDXX,PDZZ,PDZX,ZGXMM_PSV) CALL GX_M_M_PHY(D,OFLAT,PTHLM,PDXX,PDZZ,PDZX,ZGXMM_PTH) - CALL GX_M_M_PHY(D,OFLAT,PRM(:,:,1),PDXX,PDZZ,PDZX,ZGXMM_PRM) CALL GY_M_M_PHY(D,OFLAT,PSVM(:,:,JSV),PDYY,PDZZ,PDZY,ZGYMM_PSV) CALL GY_M_M_PHY(D,OFLAT,PTHLM,PDYY,PDZZ,PDZY,ZGYMM_PTH) - CALL GY_M_M_PHY(D,OFLAT,PRM(:,:,1),PDYY,PDZZ,PDZY,ZGYMM_PRM) ! !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PTH(:,:) & @@ -616,13 +615,15 @@ DO JSV=1,KSV !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) CALL MZM_PHY(D,ZWORK1,ZWORK2) ! - !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) - ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PRM(:,:) & - + ZGYMM_PSV(:,:) * ZGYMM_PRM(:,:) - !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) - CALL MZM_PHY(D,ZWORK1,ZWORK3) - ! IF (KRR /= 0) THEN + CALL GX_M_M_PHY(D,OFLAT,PRM(:,:,1),PDXX,PDZZ,PDZX,ZGXMM_PRM) + CALL GY_M_M_PHY(D,OFLAT,PRM(:,:,1),PDYY,PDZZ,PDZY,ZGYMM_PRM) + ! + !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) + ZWORK1(:,:) = ZGXMM_PSV(:,:) * ZGXMM_PRM(:,:) + ZGYMM_PSV(:,:) * ZGYMM_PRM(:,:) + !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) + CALL MZM_PHY(D,ZWORK1,ZWORK3) + ! !$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT) ZWORK1(:,:) = ZW1(:,:)*PETHETA(:,:) !$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)