From 61866737141ae105fd010533085717f17ee9b385 Mon Sep 17 00:00:00 2001 From: ESCOBAR Juan <escj@nuwa.aerologie.net> Date: Tue, 9 Apr 2013 15:33:58 +0200 Subject: [PATCH] Juan 9/04/2013: add acc directive & temp var from mode_zwork to ppm_scalar.f90 --- MNH/ppm_scalar.f90 | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/MNH/ppm_scalar.f90 b/MNH/ppm_scalar.f90 index d9038795b..7976ae2cd 100644 --- a/MNH/ppm_scalar.f90 +++ b/MNH/ppm_scalar.f90 @@ -87,6 +87,11 @@ USE MODI_BUDGET USE MODI_PPM USE MODI_ADVEC_PPM_ALGO ! +USE MODE_MNH_ZWORK, ONLY : ZUNIT=>ZUNIT3D, & +& ZRHOX1=>ZW3D20 ,ZRHOX2=>ZW3D21, & +& ZRHOY1=>ZW3D22 ,ZRHOY2=>ZW3D23, & +& ZRHOZ1=>ZW3D24 ,ZRHOZ2=>ZW3D25 + ! IMPLICIT NONE ! @@ -123,10 +128,10 @@ INTEGER :: IGRID ! localisation on the model grid REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZSRC ! ! Temporary advected rhodj -REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOX1,ZRHOX2 -REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOY1,ZRHOY2 -REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOZ1,ZRHOZ2 -REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZUNIT +!REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOX1,ZRHOX2 +!REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOY1,ZRHOY2 +!REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZRHOZ1,ZRHOZ2 +!REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZUNIT ! !------------------------------------------------------------------------------- ! @@ -137,7 +142,8 @@ IGRID = 1 ! ! Calculate the advection of the density RHODJ to pass to the algorithm ! -ZUNIT = 1.0 +!ZUNIT = 1.0 +!$acc data pcopyin (PCRU,PRHODJ) pcopyin(PCRV,PCRW) CALL PPM_S0_X(HLBCX, IGRID, ZUNIT, PCRU, PRHODJ, PTSTEP, ZRHOX1) CALL PPM_S0_Y(HLBCY, IGRID, ZUNIT, PCRV, ZRHOX1, PTSTEP, ZRHOY1) CALL PPM_S0_Z(IGRID, ZUNIT, PCRW, ZRHOY1, PTSTEP, ZRHOZ1) @@ -148,6 +154,7 @@ CALL PPM_S0_X(HLBCX, IGRID, ZUNIT, PCRU, ZRHOY2, PTSTEP, ZRHOX2) ! Case with KSV tracers ! DO JSV=1,KSV +!$acc data pcopyin (PSVT(:,:,:,JSV)) ! CALL ADVEC_PPM_ALGO(HSV_ADV_SCHEME, HLBCX, HLBCY, IGRID, PSVT(:,:,:,JSV), & PRHODJ, PTSTEP, & @@ -158,7 +165,10 @@ DO JSV=1,KSV ! IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ADV_BU_RSV') ! +!$acc end data +! END DO ! +!$acc end data ! END SUBROUTINE PPM_SCALAR -- GitLab