From 7d75e3b351f04a86db5b8b914de2055edd16151e Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Mon, 4 Apr 2022 11:26:54 +0200 Subject: [PATCH] Quentin 04/04/2022: Expand Array etheta and emoist --- src/common/turb/mode_emoist.F90 | 9 ++++++++- src/common/turb/mode_etheta.F90 | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/common/turb/mode_emoist.F90 b/src/common/turb/mode_emoist.F90 index 531f156fc..f8b2f1122 100644 --- a/src/common/turb/mode_emoist.F90 +++ b/src/common/turb/mode_emoist.F90 @@ -89,6 +89,7 @@ REAL,DIMENSION(D%NIT,D%NJT,D%NKT) :: & ! ZA = coeft A, ZRW = total mixing ratio rw REAL :: ZDELTA ! = Rv/Rd - 1 INTEGER :: JRR ! moist loop counter +INTEGER :: JI,JJ,JK ! loop counter ! !--------------------------------------------------------------------------- ! @@ -112,12 +113,15 @@ ELSE PEMOIST(:,:,:) = 0. ELSE IF ( KRR == 1 ) THEN ! only vapor ZDELTA = (CST%XRV/CST%XRD) - 1. + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) PEMOIST(:,:,:) = ZDELTA*PTHLM(:,:,:) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ELSE ! liquid water & ice present ZDELTA = (CST%XRV/CST%XRD) - 1. ZRW(:,:,:) = PRM(:,:,:,1) ! - IF ( KRRI>0) THEN ! rc and ri case + IF ( KRRI>0) THEN ! rc and ri case + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,3) DO JRR=5,KRR ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,JRR) @@ -140,7 +144,9 @@ ELSE PRM(:,:,:,2)+PRM(:,:,:,4)))& / (1. + ZRW(:,:,:)) & ) * PAMOIST(:,:,:) * 2. * PSRCM(:,:,:) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ELSE + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) DO JRR=3,KRR ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,JRR) ENDDO @@ -160,6 +166,7 @@ ELSE -(1.+ZDELTA) * (PTHLM(:,:,:) + PLOCPEXNM(:,:,:)*PRM(:,:,:,2)) & / (1. + ZRW(:,:,:)) & ) * PAMOIST(:,:,:) * 2. * PSRCM(:,:,:) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) END IF END IF ! diff --git a/src/common/turb/mode_etheta.F90 b/src/common/turb/mode_etheta.F90 index 96bcf2680..9ccbab925 100644 --- a/src/common/turb/mode_etheta.F90 +++ b/src/common/turb/mode_etheta.F90 @@ -93,6 +93,7 @@ REAL,DIMENSION(D%NIT,D%NJT,D%NKT) :: & ! ZA = coeft A, ZRW = total mixing ratio rw REAL :: ZDELTA ! = Rv/Rd - 1 INTEGER :: JRR ! moist loop counter +INTEGER :: JI,JJ,JK ! loop counter ! !--------------------------------------------------------------------------- ! @@ -107,15 +108,20 @@ IF (OOCEAN) THEN ! ocean case PETHETA(:,:,:) = 1. ELSE IF ( KRR == 0) THEN ! dry case + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) PETHETA(:,:,:) = 1. + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ELSE IF ( KRR == 1 ) THEN ! only vapor ZDELTA = (CST%XRV/CST%XRD) - 1. + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) PETHETA(:,:,:) = 1. + ZDELTA*PRM(:,:,:,1) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ELSE ! liquid water & ice present ZDELTA = (CST%XRV/CST%XRD) - 1. ZRW(:,:,:) = PRM(:,:,:,1) ! IF ( KRRI>0 ) THEN ! rc and ri case + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,3) DO JRR=5,KRR ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,JRR) @@ -135,7 +141,9 @@ ELSE PRM(:,:,:,2)+PRM(:,:,:,4)))& / (1. + ZRW(:,:,:)) & ) * PATHETA(:,:,:) * 2. * PSRCM(:,:,:) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) ELSE + !$mnh_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) DO JRR=3,KRR ZRW(:,:,:) = ZRW(:,:,:) + PRM(:,:,:,JRR) ENDDO @@ -153,6 +161,7 @@ ELSE -(1.+ZDELTA) * (PTHLM(:,:,:) + PLOCPEXNM(:,:,:)*PRM(:,:,:,2)) & / (1. + ZRW(:,:,:)) & ) * PATHETA(:,:,:) * 2. * PSRCM(:,:,:) + !$mnh_end_expand_array(JI=1:D%NIT,JJ=1:D%NJT,JK=1:D%NKT) END IF END IF ! -- GitLab