Skip to content
Snippets Groups Projects
Commit 035cf607 authored by ESCOBAR Juan's avatar ESCOBAR Juan
Browse files

Juan 10/04/2013: put ZRUT,ZRVT,ZRWT,ZRUCT,ZRVCT,ZRWCT in mnh_zwork for adevction.f90

parent 9e6ecd5a
No related branches found
No related tags found
No related merge requests found
......@@ -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, &
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment