diff --git a/MNH/ppm_scalar.f90 b/MNH/ppm_scalar.f90
index d9038795b484aa58d2e2972aa1a4b5992326bd0b..7976ae2cda98f9fbf5a48be4ce6df6948aae8db8 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