Skip to content
Snippets Groups Projects
Commit 0032eb90 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 17/06/2016: optimisation: change variable status INOUT->OUT, replace...

Philippe 17/06/2016: optimisation: change variable status INOUT->OUT, replace update by affectation, removed intermediate variable
parent f87b8861
No related branches found
No related tags found
No related merge requests found
......@@ -36,8 +36,8 @@ REAL, INTENT(IN) :: PTSTEP ! Single Time step
REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PTKET ! Vars at t
REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRT
!
REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRTHS, PRTKES! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS
REAL, DIMENSION(:,:,:), INTENT(OUT) :: PRTHS, PRTKES! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PRRS
!
END SUBROUTINE PPM_MET
!
......@@ -124,8 +124,8 @@ REAL, INTENT(IN) :: PTSTEP ! Time step
REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PTKET ! Vars at t
REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRT
!
REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PRTHS, PRTKES! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS
REAL, DIMENSION(:,:,:), INTENT(OUT) :: PRTHS, PRTKES! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PRRS
!
!* 0.2 Declarations of local variables :
!
......@@ -135,11 +135,6 @@ LOGICAL :: GTKEALLOC ! true if TKE arrays are not zero-sized
!
INTEGER :: IGRID ! localisation on the model grid
!
!* Variables specific to ppm scheme
!
! Advection source term calulated in the PPM algorithm
REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZSRC
!
!-------------------------------------------------------------------------------
!
!* 1. COMPUTES THE DOMAIN DIMENSIONS
......@@ -159,9 +154,7 @@ IGRID = 1
!
CALL ADVEC_PPM_ALGO(HMET_ADV_SCHEME, HLBCX, HLBCY, IGRID, PTHT, PRHODJ, PTSTEP, &
PRHOX1, PRHOX2, PRHOY1, PRHOY2, PRHOZ1, PRHOZ2, &
ZSRC, KTCOUNT, PCRU, PCRV, PCRW)
! add the advection to the sources
PRTHS = PRTHS + ZSRC
PRTHS, KTCOUNT, PCRU, PCRV, PCRW)
!
!
! Turbulence variables
......@@ -169,8 +162,7 @@ PRTHS = PRTHS + ZSRC
IF (GTKEALLOC) THEN
CALL ADVEC_PPM_ALGO(HMET_ADV_SCHEME, HLBCX, HLBCY, IGRID, PTKET,PRHODJ,PTSTEP, &
PRHOX1, PRHOX2, PRHOY1, PRHOY2, PRHOZ1, PRHOZ2, &
ZSRC, KTCOUNT, PCRU, PCRV, PCRW)
PRTKES = PRTKES + ZSRC
PRTKES, KTCOUNT, PCRU, PCRV, PCRW)
!
!
END IF
......@@ -180,13 +172,10 @@ END IF
! Case with KRR moist variables
!
DO JRR=1,KRR
!
CALL ADVEC_PPM_ALGO(HMET_ADV_SCHEME, HLBCX, HLBCY, IGRID, &
PRT(:,:,:,JRR), PRHODJ, PTSTEP, &
PRHOX1, PRHOX2, PRHOY1, PRHOY2, PRHOZ1, PRHOZ2, &
ZSRC, KTCOUNT, PCRU, PCRV, PCRW )
PRRS(:,:,:,JRR) = PRRS(:,:,:,JRR) + ZSRC(:,:,:)
!
PRRS(:,:,:,JRR), KTCOUNT, PCRU, PCRV, PCRW )
END DO
!
!
......
......@@ -38,7 +38,7 @@ REAL, INTENT(IN) :: PTSTEP ! Time step
!
REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT ! Vars at t
!
REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS ! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(OUT ) :: PRSVS ! Source terms
!
!
END SUBROUTINE PPM_SCALAR
......@@ -123,7 +123,7 @@ REAL, INTENT(IN) :: PTSTEP ! Time step
!
REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT
!
REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS ! Source terms
REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PRSVS ! Source terms
!
!
!* 0.2 Declarations of local variables :
......@@ -132,12 +132,6 @@ INTEGER :: JSV ! Loop index for Scalar Variables
!
INTEGER :: IGRID ! localisation on the model grid
!
!* Variables specific to ppm scheme
!
! Advection source term calulated in the PPM algorithm
REAL, DIMENSION(SIZE(PCRU,1),SIZE(PCRU,2),SIZE(PCRU,3)) :: ZSRC
!
!
!-------------------------------------------------------------------------------
!
!* 1. CALL THE ADVEC_PPM_ALGO ROUTINE FOR EACH FIELD
......@@ -148,14 +142,10 @@ IGRID = 1
! Case with KSV tracers
!
DO JSV=1,KSV
!
CALL ADVEC_PPM_ALGO(HSV_ADV_SCHEME, HLBCX, HLBCY, IGRID, PSVT(:,:,:,JSV), &
PRHODJ, PTSTEP, &
PRHOX1, PRHOX2, PRHOY1, PRHOY2, PRHOZ1, PRHOZ2, &
ZSRC, KTCOUNT, PCRU, PCRV, PCRW)
! add the advection to the sources
PRSVS(:,:,:,JSV) = PRSVS(:,:,:,JSV) + ZSRC(:,:,:)
!
PRSVS(:,:,:,JSV), KTCOUNT, PCRU, PCRV, PCRW)
END DO
!
!
......
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