From 3cc95b1a7d345a67af3619c3fc48bdd77b37969c Mon Sep 17 00:00:00 2001 From: ESCOBAR Juan <escj@nuwa> Date: Mon, 14 Sep 2020 16:01:51 +0200 Subject: [PATCH] Juan 14/09/2020 : put XRTHS in acc enter data + update --- ini_modeln.f90 | 4 +++- modeln.f90 | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ini_modeln.f90 b/ini_modeln.f90 index 19254a43c..8203f0ada 100644 --- a/ini_modeln.f90 +++ b/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)) @@ -1537,7 +1538,8 @@ IF (KMI == 1) THEN ALLOCATE(XUFRC_PAST(0,0,0)) ALLOCATE(XVFRC_PAST(0,0,0)) END IF - +ELSE + !Do not allocate because they are the same on all grids (not 'n' variables) END IF ! ---------------------------------------------------------------------- ! diff --git a/modeln.f90 b/modeln.f90 index 0b0f5b1b8..a65e4e58a 100644 --- a/modeln.f90 +++ b/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 @@ -1780,9 +1785,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))) @@ -1832,6 +1840,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