diff --git a/src/ZSOLVER/ppm.f90 b/src/ZSOLVER/ppm.f90 index 150ef055a45211c6956fbda8f9cf9bd40688b480..6c80487d465aecf2a6ddbc78f07daae49da0017f 100644 --- a/src/ZSOLVER/ppm.f90 +++ b/src/ZSOLVER/ppm.f90 @@ -2760,6 +2760,9 @@ REAL, DIMENSION(:,:) :: ZPSRC_HALO2_WEST TYPE(HALO2LIST_ll), SAVE , POINTER :: TZ_PSRC_HALO2_ll ! halo2 for PSRC LOGICAL, SAVE :: GFIRST_CALL_PPM_S0_X = .TRUE. +! +REAL , POINTER , CONTIGUOUS , DIMENSION(:,:) :: ZWEST + !------------------------------------------------------------------------------- !$acc data present( PSRC, PCR, PRHO, PR , & @@ -2800,8 +2803,9 @@ IF (GFIRST_CALL_PPM_S0_X) THEN CALL INIT_HALO2_ll(TZ_PSRC_HALO2_ll,1,IIU,IJU,IKU) END IF CALL GET_HALO2_DF(PSRC, TZ_PSRC_HALO2_ll, HNAME='PSRC') +ZWEST => TZ_PSRC_HALO2_ll%HALO2%WEST !$acc kernels -ZPSRC_HALO2_WEST(:,:) = TZ_PSRC_HALO2_ll%HALO2%WEST(:,:) +ZPSRC_HALO2_WEST(:,:) = ZWEST(:,:) ZPHAT=PSRC ZFPOS=PSRC ZFNEG=PSRC @@ -3211,6 +3215,8 @@ INTEGER :: I,J,K REAL, DIMENSION(:,:) :: ZPSRC_HALO2_SOUTH #endif ! +REAL , POINTER , CONTIGUOUS , DIMENSION(:,:) :: ZSOUTH +! !------------------------------------------------------------------------------- !$acc data present( PSRC, PCR, PRHO, PR , & @@ -3258,12 +3264,13 @@ IF (GFIRST_CALL_PPM_S0_Y) THEN NULLIFY(TZ_PSRC_HALO2_ll) CALL INIT_HALO2_ll(TZ_PSRC_HALO2_ll,1,IIU,IJU,IKU) END IF -CALL GET_HALO2_DF(PSRC, TZ_PSRC_HALO2_ll, HNAME='PSRC') +CALL GET_HALO2_DF(PSRC, TZ_PSRC_HALO2_ll, HNAME='PSRC') +ZSOUTH => TZ_PSRC_HALO2_ll%HALO2%SOUTH(:,:) ! ! Initialize with relalistic value all work array ! !$acc kernels -ZPSRC_HALO2_SOUTH(:,:) = TZ_PSRC_HALO2_ll%HALO2%SOUTH(:,:) +ZPSRC_HALO2_SOUTH(:,:) = ZSOUTH(:,:) ZPHAT=PSRC ZFPOS=PSRC ZFNEG=PSRC