diff --git a/MNH/ppm_met.f90 b/MNH/ppm_met.f90 index a80d156d4d43758307df3dda1e36b61443277a77..b7132970d1d2d5af05ddf6a2a1646af1e2044cd0 100644 --- a/MNH/ppm_met.f90 +++ b/MNH/ppm_met.f90 @@ -92,6 +92,9 @@ USE MODI_ADVEC_PPM_ALGO ! incorporate ADVEC_4TH_ORDER_ALG, MZF4 and MZM4 !USE MODI_ADVEC_4TH_ORDER_AUX ! +USE MODE_MNH_ZWORK, ONLY : & +& ZUNIT3D ,& +& ZW3D10 ! IMPLICIT NONE ! @@ -132,9 +135,10 @@ 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)) :: 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)) :: ZUNIT3D ! !------------------------------------------------------------------------------- ! @@ -152,13 +156,18 @@ IGRID = 1 ! ! Calculate the advection of the density RHODJ to pass to the algorithm ! -ZUNIT = 1.0 -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) -CALL PPM_S0_Z(IGRID, ZUNIT, PCRW, PRHODJ, PTSTEP, ZRHOZ2) -CALL PPM_S0_Y(HLBCY, IGRID, ZUNIT, PCRV, ZRHOZ2, PTSTEP, ZRHOY2) -CALL PPM_S0_X(HLBCX, IGRID, ZUNIT, PCRU, ZRHOY2, PTSTEP, ZRHOX2) +! acc data +!$acc data pcopyin (PCRU,PRHODJ,PCRV,PCRW) & +!$acc & pcopyout(ZRHOX1,ZRHOY1,ZRHOZ1,ZRHOZ2,ZRHOY2,ZRHOX2) +!!$ZUNIT3D = 1.0 +CALL PPM_S0_X(HLBCX, IGRID, ZUNIT3D, PCRU, PRHODJ, PTSTEP, ZRHOX1) +CALL PPM_S0_Y(HLBCY, IGRID, ZUNIT3D, PCRV, ZRHOX1, PTSTEP, ZRHOY1) +CALL PPM_S0_Z(IGRID, ZUNIT3D, PCRW, ZRHOY1, PTSTEP, ZRHOZ1) +CALL PPM_S0_Z(IGRID, ZUNIT3D, PCRW, PRHODJ, PTSTEP, ZRHOZ2) +CALL PPM_S0_Y(HLBCY, IGRID, ZUNIT3D, PCRV, ZRHOZ2, PTSTEP, ZRHOY2) +CALL PPM_S0_X(HLBCX, IGRID, ZUNIT3D, PCRU, ZRHOY2, PTSTEP, ZRHOX2) +!$acc end data +! acc update host (ZRHOX1) ! ! ! Potential temperature @@ -204,6 +213,7 @@ DO JRR=1,KRR IF (JRR==7.AND.LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'ADV_BU_RRH') ! END DO +! acc end data ! ! END SUBROUTINE PPM_MET