From 4d2814c645ea7d90dbfc3e741c2bc7d16683e77d Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 22 May 2023 10:39:24 +0200 Subject: [PATCH] Philippe 22/05/2023: FFT: remove unnecessary dummy arguments for RPASSM and QPASSM --- src/MNH/fft.f90 | 62 +++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 38 deletions(-) diff --git a/src/MNH/fft.f90 b/src/MNH/fft.f90 index 63bc7eed2..298211f32 100644 --- a/src/MNH/fft.f90 +++ b/src/MNH/fft.f90 @@ -203,17 +203,11 @@ SUBROUTINE FFT991( PA, PWORK, PTRIGS, PFAX, KJUMP, KN, KLOT, KSIGN ) IFAC=PFAX(IK+1) IERR=-1 IF ( IGO == 1 ) THEN - CALL RPASSM(PA(IA:),PA(IA+ILA:),PWORK(1:),PWORK(IFAC*ILA+1:), & - PTRIGS(:), & - KJUMP,INX,INVEX,KN,IFAC,ILA,IERR, & - SIZE(PA(IA:)),SIZE(PA(IA+ILA:)),SIZE(PWORK(1:)), & - SIZE(PWORK(IFAC*ILA+1:)),SIZE(PTRIGS(:))) + CALL RPASSM( PA(IA:), PA(IA+ILA:), PWORK(:), PWORK(IFAC*ILA+1:), PTRIGS(:), & + KJUMP, INX, INVEX, KN, IFAC, ILA, IERR ) ELSE - CALL RPASSM(PWORK(1:),PWORK(ILA+1:),PA(IA:),PA(IA+IFAC*ILA:), & - PTRIGS(:), & - INX,KJUMP,INVEX,KN,IFAC,ILA,IERR, & - SIZE(PWORK(1:)),SIZE(PWORK(ILA+1:)),SIZE(PA(IA:)), & - SIZE(PA(IA+IFAC*ILA:)),SIZE(PTRIGS(:))) + CALL RPASSM( PWORK(:), PWORK(ILA+1:), PA(IA:), PA(IA+IFAC*ILA:), PTRIGS(:), & + INX, KJUMP, INVEX, KN, IFAC, ILA, IERR ) END IF IF (IERR.NE.0) GO TO 500 ILA=IFAC*ILA @@ -262,17 +256,11 @@ SUBROUTINE FFT991( PA, PWORK, PTRIGS, PFAX, KJUMP, KN, KLOT, KSIGN ) ILA=ILA/IFAC IERR=-1 IF ( IGO == 1 ) THEN - CALL QPASSM(PA(IA:),PA(IA+IFAC*ILA:),PWORK(1:),PWORK(ILA+1:), & - PTRIGS(:), & - KJUMP,INX,INVEX,KN,IFAC,ILA,IERR, & - SIZE(PA(IA:)),SIZE(PA(IA+IFAC*ILA:)),SIZE(PWORK(1:)), & - SIZE(PWORK(ILA+1:)),SIZE(PTRIGS(:))) + CALL QPASSM( PA(IA:), PA(IA+IFAC*ILA:), PWORK(:), PWORK(ILA+1:), PTRIGS(:), & + KJUMP, INX, INVEX, KN, IFAC, ILA, IERR ) ELSE - CALL QPASSM(PWORK(1:),PWORK(IFAC*ILA+1:),PA(IA:),PA(IA+ILA:), & - PTRIGS(:), & - INX,KJUMP,INVEX,KN,IFAC,ILA,IERR, & - SIZE(PWORK(1:)),SIZE(PWORK(IFAC*ILA+1:)),SIZE(PA(IA:)), & - SIZE(PA(IA+ILA:)),SIZE(PTRIGS(:))) + CALL QPASSM( PWORK(:), PWORK(IFAC*ILA+1:), PA(IA:), PA(IA+ILA:), PTRIGS(:), & + INX, KJUMP, INVEX, KN, IFAC, ILA, IERR ) END IF IF (IERR.NE.0) GO TO 500 IGO=-IGO @@ -344,18 +332,17 @@ END SUBROUTINE FFT991 -SUBROUTINE RPASSM(PA,PB,PC,PD,PTRIGS,KINC3,KINC4,KLOT,KN,KFAC,KLA,KERR,KSZ1,KSZ2,KSZ3,KSZ4,KSZ5) +SUBROUTINE RPASSM( PA, PB, PC, PD, PTRIGS, KINC3, KINC4, KLOT, KN, KFAC, KLA, KERR ) IMPLICIT NONE - REAL, DIMENSION(KSZ1), INTENT(IN) :: PA - REAL, DIMENSION(KSZ2), INTENT(IN) :: PB - REAL, DIMENSION(KSZ3), INTENT(INOUT) :: PC - REAL, DIMENSION(KSZ4), INTENT(INOUT) :: PD - REAL, DIMENSION(KSZ5), INTENT(IN) :: PTRIGS - INTEGER, INTENT(IN) :: KINC3, KINC4, KLOT, KN, KFAC, KLA - INTEGER, INTENT(OUT) :: KERR - INTEGER, INTENT(IN) :: KSZ1,KSZ2,KSZ3,KSZ4,KSZ5 + REAL, DIMENSION(:), INTENT(IN) :: PA + REAL, DIMENSION(:), INTENT(IN) :: PB + REAL, DIMENSION(:), INTENT(INOUT) :: PC + REAL, DIMENSION(:), INTENT(INOUT) :: PD + REAL, DIMENSION(:), INTENT(IN) :: PTRIGS + INTEGER, INTENT(IN) :: KINC3, KINC4, KLOT, KN, KFAC, KLA + INTEGER, INTENT(OUT) :: KERR ! ! SUBROUTINE 'RPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART ! OF MULTIPLE REAL FFT (FOURIER SYNTHESIS) ROUTINE @@ -1281,17 +1268,16 @@ END SUBROUTINE RPASSM -SUBROUTINE QPASSM(PA,PB,PC,PD,PTRIGS,KINC3,KINC4,KLOT,KN,KFAC,KLA,KERR,KSZ1,KSZ2,KSZ3,KSZ4,KSZ5) +SUBROUTINE QPASSM( PA, PB, PC, PD, PTRIGS, KINC3, KINC4, KLOT, KN, KFAC, KLA, KERR ) IMPLICIT NONE - REAL, DIMENSION(KSZ1), INTENT(IN) :: PA - REAL, DIMENSION(KSZ2), INTENT(IN) :: PB - REAL, DIMENSION(KSZ3), INTENT(INOUT) :: PC - REAL, DIMENSION(KSZ4), INTENT(INOUT) :: PD - REAL, DIMENSION(KSZ5), INTENT(IN) :: PTRIGS - INTEGER, INTENT(IN) :: KINC3, KINC4, KLOT, KN, KFAC, KLA - INTEGER, INTENT(OUT) :: KERR - INTEGER, INTENT(IN) :: KSZ1, KSZ2, KSZ3, KSZ4, KSZ5 + REAL, DIMENSION(:), INTENT(IN) :: PA + REAL, DIMENSION(:), INTENT(IN) :: PB + REAL, DIMENSION(:), INTENT(INOUT) :: PC + REAL, DIMENSION(:), INTENT(INOUT) :: PD + REAL, DIMENSION(:), INTENT(IN) :: PTRIGS + INTEGER, INTENT(IN) :: KINC3, KINC4, KLOT, KN, KFAC, KLA + INTEGER, INTENT(OUT) :: KERR ! ! SUBROUTINE 'QPASSM' - PERFORMS ONE PASS THROUGH DATA AS PART ! OF MULTIPLE REAL FFT (FOURIER ANALYSIS) ROUTINE -- GitLab