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