From 6d98e434da7666a2992774d95817d73d06a94b63 Mon Sep 17 00:00:00 2001
From: ESCOBAR Juan <escj@nuwa>
Date: Mon, 14 Sep 2020 11:53:46 +0200
Subject: [PATCH] Juan 14/09/2020 : put XRTHS in acc enter data + update

---
 src/MNH/ini_modeln.f90 |  1 +
 src/MNH/modeln.f90     | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 5fadcc1ba..7a6d37565 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -790,6 +790,7 @@ ALLOCATE(XRUS_PRES(IIU,IJU,IKU)); XRUS_PRES = 0.0
 ALLOCATE(XRVS_PRES(IIU,IJU,IKU)); XRVS_PRES = 0.0
 ALLOCATE(XRWS_PRES(IIU,IJU,IKU)); XRWS_PRES = 0.0
 ALLOCATE(XRTHS(IIU,IJU,IKU))    ; XRTHS = 0.0
+!$acc enter data copyin(XRTHS)
 ALLOCATE(XRTHS_CLD(IIU,IJU,IKU)); XRTHS_CLD = 0.0
 IF (CTURB /= 'NONE') THEN
   ALLOCATE(XTKET(IIU,IJU,IKU))
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index e28be6ca8..57bab5dd2 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -1501,13 +1501,16 @@ ZTIME1 = ZTIME2
 XTIME_BU_PROCESS = 0.
 XTIME_LES_BU_PROCESS = 0.
 !
+!$acc update device(XRTHS)
+!
 !$acc data create (XUT, XVT, XWT)                                         &
 !$acc &    copyin (XTHT, XPABST, XRT, XSVT, XRTHS_CLD, XRRS_CLD, XTHVREF) &
-!$acc &    copy   (XRTHS, XRRS, XRUS, XRVS, XRWS)                         &
+!$acc &    copy   (XRRS, XRUS, XRVS, XRWS)                         &
 !$acc &    copy   (XRWS_PRES)                                             & !XRWS_PRES copy and not copyout (hidden in UPDATE_HALO)
 !$acc &    present(XDXX, XDYY, XDZZ, XDZX, XDZY, XRHODJ)
 !
 !$acc update device(XUT, XVT, XWT, XRHODJ)
+
 !
 !
 !$acc data copyin (XTKET, XRSVS_CLD) &
@@ -1523,6 +1526,8 @@ CALL ADVECTION_METSV ( TZBAKFILE, GCLOSE_OUT,CUVW_ADV_SCHEME,          &
                  XRTHS_CLD, XRRS_CLD, XRSVS_CLD, XRTKEMS               )
 !$acc end data
 !
+!$acc update host(XRTHS)
+!
 CALL SECOND_MNH2(ZTIME2)
 !
 XT_ADV = XT_ADV + ZTIME2 - ZTIME1 - XTIME_LES_BU_PROCESS - XTIME_BU_PROCESS
@@ -1777,9 +1782,12 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
 !$acc &            XRCM, XWT_ACT_NUC, XDTHRAD, XCF_MF, XRC_MF, XRI_MF,                           &
 !$acc &            XSOLORG, XMI)                                                                 &
 !$acc &    copy   (XSUPSAT, XNACT, XNPRO, XSSPRO,                                                &
-!$acc &            XRTHS, XRT, XRRS, XSVT, XRSVS, XCLDFR, XCIT, XINPRR3D, XEVAP3D,               &
+!$acc &            XRT, XRRS, XSVT, XRSVS, XCLDFR, XCIT, XINPRR3D, XEVAP3D,               &
 !$acc &            XINPRC, XINPRR, XINPRS, XINPRG, XINPRH, XINDEP)                               &
 !$acc &    copyout(XSRCT, XRAINFR)
+
+!$acc update device ( XRTHS )
+  
   IF (CSURF=='EXTE') THEN
     ALLOCATE (ZSEA(SIZE(XRHODJ,1),SIZE(XRHODJ,2)))
     ALLOCATE (ZTOWN(SIZE(XRHODJ,1),SIZE(XRHODJ,2)))
@@ -1829,6 +1837,9 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO, XRAINFR        )
   END IF
 !$acc end data
+
+!$acc update host(XRTHS)
+  
   XRTHS_CLD(:, :, : )    = XRTHS(:, :, : )    - XRTHS_CLD(:, :, : )
   XRRS_CLD (:, :, :, : ) = XRRS (:, :, :, : ) - XRRS_CLD (:, :, :, : )
   XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : ) - XRSVS_CLD(:, :, :, : )
-- 
GitLab