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

Juan 11/04/2013: mirror PRTHS,PRRS,PRHODJ in ppm_met/advection

parent 09f7294d
No related branches found
No related tags found
1 merge request!4Jean Wurtz 30/04/2025 : Bugfixes mainly for TEB and for simple precision
......@@ -321,12 +321,12 @@ ELSEIF (HMET_ADV_SCHEME(1:3)=='PPM') THEN
ZRWCT = ZRWCT*PTSTEP_MET
!$acc update device (ZRUCT,ZRVCT,ZRWCT)
!$acc update device(PRT,PTHT)
!$acc update device(PRT,PTHT,PRTHS,PRRS,PRHODJ)
CALL PPM_MET (HLBCX,HLBCY, KRR, KTCOUNT, &
ZRUCT, ZRVCT, ZRWCT, PTSTEP_MET, PRHODJ, &
PTHT, PTKET, PRT, PRTHS, PRTKES, PRRS, &
HMET_ADV_SCHEME )
!
!$acc update host(PRTHS,PRRS)
END IF
!
!-------------------------------------------------------------------------------
......@@ -336,6 +336,8 @@ END IF
!
! 4.1. 2nd order scheme
!
IF (KSV .NE. 0) THEN
!
IF (HSV_ADV_SCHEME=='CEN2ND') THEN
!
CALL ADVECSCALAR (KSV, PSVT, ZRUCT,ZRVCT,ZRWCT,PRSVS )
......@@ -386,6 +388,7 @@ ELSEIF (HSV_ADV_SCHEME(1:3)=='PPM') THEN
PSVT, PRSVS, HSV_ADV_SCHEME )
!
END IF
END IF
!
!-------------------------------------------------------------------------------
!
......
......@@ -107,7 +107,9 @@ REAL, DIMENSION(:,:,:), POINTER :: XTHM=>NULL()
!!$REAL, DIMENSION(:,:,:), POINTER :: XTHT=>NULL()
REAL, DIMENSION(:,:,:), ALLOCATABLE :: XTHT
!$acc declare mirror (XTHT)
REAL, DIMENSION(:,:,:), POINTER :: XRTHS=>NULL()
!!$REAL, DIMENSION(:,:,:), POINTER :: XRTHS=>NULL()
REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: XRTHS
!$acc declare mirror (XRTHS)
REAL, DIMENSION(:,:,:), POINTER :: XTKEM=>NULL()
REAL, DIMENSION(:,:,:), POINTER :: XTKET=>NULL()
REAL, DIMENSION(:,:,:), POINTER :: XRTKES=>NULL()
......@@ -117,7 +119,9 @@ REAL, DIMENSION(:,:,:,:), POINTER :: XRM=>NULL()
!!$REAL, DIMENSION(:,:,:,:), POINTER :: XRT=>NULL()
REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: XRT
!$acc declare mirror (XRT)
REAL, DIMENSION(:,:,:,:), POINTER :: XRRS=>NULL()
!!$REAL, DIMENSION(:,:,:,:), POINTER :: XRRS=>NULL()
REAL, DIMENSION(:,:,:,:), ALLOCATABLE, TARGET :: XRRS
!$acc declare mirror (XRRS)
REAL, DIMENSION(:,:,:,:), POINTER :: XSVM=>NULL()
REAL, DIMENSION(:,:,:,:), POINTER :: XSVT=>NULL()
REAL, DIMENSION(:,:,:,:), POINTER :: XRSVS=>NULL()
......@@ -147,7 +151,7 @@ FIELD_MODEL(KFROM)%XRVS=>XRVS
FIELD_MODEL(KFROM)%XRWS=>XRWS
FIELD_MODEL(KFROM)%XTHM=>XTHM
!!$FIELD_MODEL(KFROM)%XTHT=>XTHT
FIELD_MODEL(KFROM)%XRTHS=>XRTHS
!!$FIELD_MODEL(KFROM)%XRTHS=>XRTHS
FIELD_MODEL(KFROM)%XTKEM=>XTKEM
FIELD_MODEL(KFROM)%XTKET=>XTKET
FIELD_MODEL(KFROM)%XRTKES=>XRTKES
......@@ -178,7 +182,7 @@ XRVS=>FIELD_MODEL(KTO)%XRVS
XRWS=>FIELD_MODEL(KTO)%XRWS
XTHM=>FIELD_MODEL(KTO)%XTHM
!!$XTHT=>FIELD_MODEL(KTO)%XTHT
XRTHS=>FIELD_MODEL(KTO)%XRTHS
!!$XRTHS=>FIELD_MODEL(KTO)%XRTHS
XTKEM=>FIELD_MODEL(KTO)%XTKEM
XTKET=>FIELD_MODEL(KTO)%XTKET
XRTKES=>FIELD_MODEL(KTO)%XRTKES
......@@ -186,7 +190,7 @@ XPABSM=>FIELD_MODEL(KTO)%XPABSM
XPABST=>FIELD_MODEL(KTO)%XPABST
XRM=>FIELD_MODEL(KTO)%XRM
!!$XRT=>FIELD_MODEL(KTO)%XRT
XRRS=>FIELD_MODEL(KTO)%XRRS
!!$XRRS=>FIELD_MODEL(KTO)%XRRS
XSVM=>FIELD_MODEL(KTO)%XSVM
XSVT=>FIELD_MODEL(KTO)%XSVT
XRSVS=>FIELD_MODEL(KTO)%XRSVS
......
......@@ -136,12 +136,12 @@ CALL PPM_S0_X(HLBCX, IGRID, ZUNIT3D, PCRU, ZRHOY2, PTSTEP, ZRHOX2)
! Potential temperature
!
!$acc data pcopyin (PTHT) pcopy(PRTHS)
! create/mirror(ZSRCTHT)
! create/mirror(ZSRC)
CALL ADVEC_PPM_ALGO(HMET_ADV_SCHEME, HLBCX, HLBCY, IGRID, PTHT, PRHODJ, PTSTEP, &
ZRHOX1, ZRHOX2, ZRHOY1, ZRHOY2, ZRHOZ1, ZRHOZ2, &
ZSRC, KTCOUNT, PCRU, PCRV, PCRW)
!$acc kernels
! add the advection to the sources
!$acc kernels
PRTHS = PRTHS + ZSRC
!$acc end kernels
!$acc end data
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment