diff --git a/MNH/advection.f90 b/MNH/advection.f90
index 005ba4bd2fd25bc0d5d8e5e6f5fe9873ef2411ab..f0ce6e349182fe753b9febcfb062decadb7ed040 100644
--- a/MNH/advection.f90
+++ b/MNH/advection.f90
@@ -152,6 +152,7 @@ USE MODI_MPDATA_SCALAR
 USE MODI_PPM_MET
 USE MODI_PPM_SCALAR
 !
+USE MODE_MNH_ZWORK, ONLY : ZRUT,ZRVT,ZRWT,ZRUCT,ZRVCT,ZRWCT
 !
 !-------------------------------------------------------------------------------
 !
@@ -201,16 +202,16 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS , PRSVS
 !
 !
 !  
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRUT 
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRVT 
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRWT
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRUT 
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRVT 
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRWT
                                                   ! cartesian 
                                                   ! components of
                                                   ! momentum
 !
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRUCT 
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRVCT
-REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRWCT
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRUCT 
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRVCT
+!$$ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)) :: ZRWCT
                                                   ! contravariant
                                                   ! components
                                                   ! of momentum
@@ -318,8 +319,9 @@ ELSEIF (HMET_ADV_SCHEME(1:3)=='PPM') THEN
    ZRUCT = ZRUCT*PTSTEP_MET
    ZRVCT = ZRVCT*PTSTEP_MET
    ZRWCT = ZRWCT*PTSTEP_MET
+   !$acc update device (ZRUCT,ZRVCT,ZRWCT)
 
-   !$acc update device(PRT)
+   !$acc update device(PRT,PTHT)
    CALL PPM_MET   (HLBCX,HLBCY, KRR, KTCOUNT,                  &
                    ZRUCT, ZRVCT, ZRWCT, PTSTEP_MET, PRHODJ,    &
                    PTHT, PTKET, PRT, PRTHS, PRTKES, PRRS,      &
diff --git a/MNH/mode_mnh_zwork.f90 b/MNH/mode_mnh_zwork.f90
index 34571de1990923114967e3458dd84cbe117165d2..da5860e7b795b3035c3b13ba7bfe6d952ab08aa6 100644
--- a/MNH/mode_mnh_zwork.f90
+++ b/MNH/mode_mnh_zwork.f90
@@ -36,6 +36,13 @@ REAL, SAVE, ALLOCATABLE , DIMENSION(:,:)   :: ZPSRC_HALO2_SOUTH
 REAL, SAVE, ALLOCATABLE , DIMENSION(:,:,:) :: ZUNIT3D
 !$acc declare mirror(ZUNIT3D)
 
+REAL, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: &
+ ZQL,ZQR,ZDQ,ZQ6,ZDMQ,ZQL0,ZQR0,ZQ60,ZFPOS,ZFNEG
+!$acc declare mirror(ZQL,ZQR,ZDQ,ZQ6,ZDMQ,ZQL0,ZQR0,ZQ60,ZFPOS,ZFNEG)
+
+REAL, SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: &
+ ZRUT,ZRVT,ZRWT,ZRUCT,ZRVCT,ZRWCT
+!$acc declare mirror(ZRUT,ZRVT,ZRWT,ZRUCT,ZRVCT,ZRWCT)
 !
 CONTAINS
 
@@ -109,6 +116,14 @@ SUBROUTINE MNH_ALLOC_ZWORK(IMODEL)
 
      ALLOCATE (ZUNIT3D(IIU,IJU,IKU)) 
 
+     ALLOCATE (ZQL(IIU,IJU,IKU),ZQR(IIU,IJU,IKU),ZDQ(IIU,IJU,IKU))
+     ALLOCATE (ZQ6(IIU,IJU,IKU),ZDMQ(IIU,IJU,IKU),ZQL0(IIU,IJU,IKU))
+     ALLOCATE (ZQR0(IIU,IJU,IKU),ZQ60(IIU,IJU,IKU),ZFPOS(IIU,IJU,IKU))
+     ALLOCATE (ZFNEG(IIU,IJU,IKU))
+
+     ALLOCATE (ZRUT(IIU,IJU,IKU),ZRVT(IIU,IJU,IKU),ZRWT(IIU,IJU,IKU))
+     ALLOCATE (ZRUCT(IIU,IJU,IKU),ZRVCT(IIU,IJU,IKU),ZRWCT(IIU,IJU,IKU))
+
 !$acc kernels 
      ZW3D1 = XUNDEF
      ZW3D2 = XUNDEF
@@ -149,7 +164,25 @@ SUBROUTINE MNH_ALLOC_ZWORK(IMODEL)
      ZRHOZ1_PPM_MET = XUNDEF
      ZRHOZ2_PPM_MET = XUNDEF  
      ZSRC_PPM_MET   = XUNDEF
+
+     ZQL = XUNDEF
+     ZQR = XUNDEF
+     ZDQ = XUNDEF
+     ZQ6 = XUNDEF
+     ZDMQ = XUNDEF
+     ZQL0 = XUNDEF
+     ZQR0 = XUNDEF
+     ZQ60 = XUNDEF
+     ZFPOS = XUNDEF
+     ZFNEG = XUNDEF 
      
+     ZRUT = XUNDEF
+     ZRVT = XUNDEF
+     ZRWT = XUNDEF
+     ZRUCT = XUNDEF
+     ZRVCT = XUNDEF
+     ZRWCT = XUNDEF
+
 !$acc end kernels
 !$acc update host (ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7)
 !$acc update host (ZW3D8,ZW3D9,ZW3D10,ZW3D11,ZW3D12,ZW3D13,ZW3D14,ZW3D15)
@@ -160,6 +193,8 @@ SUBROUTINE MNH_ALLOC_ZWORK(IMODEL)
 !$acc update host (ZRHOX1_PPM_MET,ZRHOX2_PPM_MET,ZRHOY1_PPM_MET)
 !$acc update host (ZRHOY2_PPM_MET,ZRHOZ1_PPM_MET,ZRHOZ2_PPM_MET) 
 !$acc update host (ZSRC_PPM_MET) 
+!$acc update host (ZQL,ZQR,ZDQ,ZQ6,ZDMQ,ZQL0,ZQR0,ZQ60,ZFPOS,ZFNEG)
+!$acc update host (ZRUT,ZRVT,ZRWT,ZRUCT,ZRVCT,ZRWCT)
     
 
   END IF