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