diff --git a/src/MNH/fft.f90 b/src/MNH/fft.f90
index e75f2032ab6bf831385cd51aed7f0e0d795e04bd..63bc7eed263e73d79ac948535d5f635c9a3b8ee4 100644
--- a/src/MNH/fft.f90
+++ b/src/MNH/fft.f90
@@ -87,17 +87,16 @@ SUBROUTINE SET99( PTRIGS, KFAX, KN )
 END SUBROUTINE SET99
 
 
-SUBROUTINE FFT991( PA, PWORK, PTRIGS, PFAX, KJUMP, KN, KLOT, KSIGN, KSZA, KSZW, KSZT )
+SUBROUTINE FFT991( PA, PWORK, PTRIGS, PFAX, KJUMP, KN, KLOT, KSIGN )
   USE MODE_MPPDB
 
   IMPLICIT NONE
 
-      REAL,    DIMENSION(KSZA), INTENT(INOUT) :: PA
-      REAL,    DIMENSION(KSZW), INTENT(OUT)   :: PWORK
-      REAL,    DIMENSION(KSZT), INTENT(IN)    :: PTRIGS
-      INTEGER, DIMENSION(19),   INTENT(IN)    :: PFAX
-      INTEGER,                  INTENT(IN)    :: KJUMP, KN, KLOT, KSIGN
-      INTEGER,                  INTENT(IN)    :: KSZA, KSZW, KSZT
+  REAL,    DIMENSION(:),  INTENT(INOUT) :: PA
+  REAL,    DIMENSION(:),  INTENT(OUT)   :: PWORK
+  REAL,    DIMENSION(:),  INTENT(IN)    :: PTRIGS
+  INTEGER, DIMENSION(19), INTENT(IN)    :: PFAX
+  INTEGER,                INTENT(IN)    :: KJUMP, KN, KLOT, KSIGN
 !
 !     SUBROUTINE 'FFT991' - MULTIPLE FAST REAL PERIODIC TRANSFORM
 !     SUPERSEDES PREVIOUS ROUTINE 'FFT991'
diff --git a/src/MNH/flat_inv.f90 b/src/MNH/flat_inv.f90
index ab0bf19654cce00c68e446222e4012b43dabc024..fc54320f518c934050b60be6c5ac2677e7de9612 100644
--- a/src/MNH/flat_inv.f90
+++ b/src/MNH/flat_inv.f90
@@ -418,8 +418,7 @@ CALL REMAP_2WAY_X_ll(ZY,ZBAND_X,IINFO_ll)
 IF (HLBCX(1) == 'CYCL') THEN
     ZBAND1D( 1 : SIZE(ZBAND_X,1)*SIZE(ZBAND_X,2)*SIZE(ZBAND_X(:,:,IKB-1:),3) ) => ZBAND_X(:,:,IKB-1:)
     ZWORK1D( 1 : SIZE(ZWORKX) ) => ZWORKX(:,:,:)
-    CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX,-1, &
-                 SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSX) )
+    CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, -1 )
 ELSE
     CALL FFT55( ZBAND_X(1:,1:,IKB-1:), ZWORKX, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, -1 )
 END IF
@@ -439,8 +438,7 @@ IF (.NOT. L2D) THEN
   IF (HLBCY(1) == 'CYCL') THEN
        ZBAND1D( 1 : SIZE(ZBAND_YT,1)*SIZE(ZBAND_YT,2)*SIZE(ZBAND_YT(:,:,IKB-1:),3) ) => ZBAND_YT(:,:,IKB-1:)
        ZWORK1D( 1 : SIZE(ZWORKY) ) => ZWORKY(:,:,:)
-       CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY,-1, &
-                    SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSY) )
+       CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, -1 )
   ELSE
        CALL FFT55( ZBAND_YT(1:,1:,IKB-1:), ZWORKY, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, -1 )
   END IF
@@ -496,8 +494,7 @@ IF (.NOT. L2D) THEN
   IF (HLBCY(1) == 'CYCL') THEN
     ZBAND1D( 1 : SIZE(ZBAND_YRT,1)*SIZE(ZBAND_YRT,2)*SIZE(ZBAND_YRT(:,:,IKB-1:),3) ) => ZBAND_YRT(:,:,IKB-1:)
     ZWORK1D( 1 : SIZE(ZWORKY) ) => ZWORKY(:,:,:)
-    CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX,ILOTY, +1, &
-                 SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSY) )
+    CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, +1 )
   ELSE
     CALL FFT55( ZBAND_YRT(1:,1:,IKB-1:), ZWORKY, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, +1 )
   END IF
@@ -516,8 +513,7 @@ CALL REMAP_Y_X_ll(ZBAND_YR,ZBAND_X,IINFO_ll)
 IF (HLBCX(1) == 'CYCL') THEN
   ZBAND1D( 1 : SIZE(ZBAND_X,1)*SIZE(ZBAND_X,2)*SIZE(ZBAND_X(:,:,IKB-1:),3) ) => ZBAND_X(:,:,IKB-1:)
   ZWORK1D( 1 : SIZE(ZWORKX) ) => ZWORKX(:,:,:)
-  CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1, &
-               SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSX) )
+  CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1 )
 ELSE
   CALL FFT55( ZBAND_X(1:,1:,IKB-1:), ZWORKX, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1 )
 END IF
diff --git a/src/MNH/flat_invz.f90 b/src/MNH/flat_invz.f90
index d430bd07fd6509b6f82ec7cbf881cd4927618c72..fd02735299cc557efe6315163735cf29a266e39b 100644
--- a/src/MNH/flat_invz.f90
+++ b/src/MNH/flat_invz.f90
@@ -672,8 +672,7 @@ CALL PRINT_MSG( NVERB_WARNING, 'GEN', 'FLAT_INVZ', 'OpenACC: IAND(NZ_SPLITTING,1
      IF (HLBCX(1) == 'CYCL') THEN
       ZBAND1D( 1 : SIZE(ZBAND_X,1)*SIZE(ZBAND_X,2)*SIZE(ZBAND_X(:,:,IKB-1:),3) ) => ZBAND_X(:,:,IKB-1:)
       ZWORK1D( 1 : SIZE(ZWORKX) ) => ZWORKX(:,:,:)
-      CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX,-1, &
-                   SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSX) )
+      CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, -1 )
      ELSE
         CALL FFT55( ZBAND_X(1:,1:,IKB-1:), ZWORKX, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, -1 )
      END IF
@@ -693,8 +692,7 @@ CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'FLAT_INVZ', 'OpenACC: HLBCX(1)==CYCL not po
 #endif
         ZBAND1D( 1 : SIZE(ZBAND_SX_YP2_ZP1) ) => ZBAND_SX_YP2_ZP1(:,:,:)
         ZWORK1D( 1 : SIZE(ZWORK_SX_YP2_ZP1) ) => ZWORK_SX_YP2_ZP1(:,:,:)
-        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2_SX_YP2_ZP1, IIMAX, ILOT_SX_YP2_ZP1, -1, &
-                     SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSX) )
+        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2_SX_YP2_ZP1, IIMAX, ILOT_SX_YP2_ZP1, -1 )
         ! move (N+1) values in (2) values to avoid to lost them
         ZBAND_SX_YP2_ZP1(2,:,:)                 =  ZBAND_SX_YP2_ZP1(INC2_SX_YP2_ZP1-1,:,:)
         !ZBAND_SX_YP2_ZP1(INC2_SX_YP2_ZP1-1,:,:) = 0.0
@@ -727,8 +725,7 @@ CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'FLAT_INVZ', 'OpenACC: HLBCX(1)==CYCL not po
         IF (HLBCY(1) == 'CYCL') THEN
           ZBAND1D( 1 : SIZE(ZBAND_YT,1)*SIZE(ZBAND_YT,2)*SIZE(ZBAND_YT(:,:,IKB-1:),3) ) => ZBAND_YT(:,:,IKB-1:)
           ZWORK1D( 1 : SIZE(ZWORKY) ) => ZWORKY(:,:,:)
-          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY,-1, &
-                       SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSY) )
+          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, -1 )
         ELSE
            CALL FFT55( ZBAND_YT(1:,1:,IKB-1:), ZWORKY, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, -1 )
         END IF
@@ -749,8 +746,7 @@ CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'FLAT_INVZ', 'OpenACC: HLBCY(1)==CYCL not po
 #endif
           ZBAND1D( 1 : SIZE(ZBAND_SXP2_Y_ZP1T) ) => ZBAND_SXP2_Y_ZP1T(:,:,:)
           ZWORK1D( 1 : SIZE(ZWORK_SXP2_Y_ZP1) )  => ZWORK_SXP2_Y_ZP1(:,:,:)
-          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2_SXP2_Y_ZP1, IJMAX, ILOT_SXP2_Y_ZP1, -1, &
-                       SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSY) )
+          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2_SXP2_Y_ZP1, IJMAX, ILOT_SXP2_Y_ZP1, -1 )
            ! move (N+1) values in (2) values to avoid to lost them
            ZBAND_SXP2_Y_ZP1T(2,:,:)                 = ZBAND_SXP2_Y_ZP1T(INC2_SXP2_Y_ZP1-1,:,:)
            !ZBAND_SXP2_Y_ZP1T(INC2_SXP2_Y_ZP1-1,:,:) = 0.0
@@ -887,8 +883,7 @@ CALL PRINT_MSG( NVERB_WARNING, 'GEN', 'FLAT_INVZ', 'L2D=T not tested' )
         IF (HLBCY(1) == 'CYCL') THEN
           ZBAND1D( 1 : SIZE(ZBAND_YRT,1)*SIZE(ZBAND_YRT,2)*SIZE(ZBAND_YRT(:,:,IKB-1:),3) ) => ZBAND_YRT(:,:,IKB-1:)
           ZWORK1D( 1 : SIZE(ZWORKY) ) => ZWORKY(:,:,:)
-          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, +1, &
-                       SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSY) )
+          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, +1 )
         ELSE
            CALL FFT55( ZBAND_YRT(1:,1:,IKB-1:), ZWORKY, PTRIGSY, KIFAXY, INC2Y, IJMAX, ILOTY, +1 )
         END IF
@@ -907,8 +902,7 @@ CALL PRINT_MSG( NVERB_WARNING, 'GEN', 'FLAT_INVZ', 'L2D=T not tested' )
      IF (HLBCX(1) == 'CYCL') THEN
         ZBAND1D( 1 : SIZE(ZBAND_X,1)*SIZE(ZBAND_X,2)*SIZE(ZBAND_X(:,:,IKB-1:),3) ) => ZBAND_X(:,:,IKB-1:)
         ZWORK1D( 1 : SIZE(ZWORKX) ) => ZWORKX(:,:,:)
-        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1, &
-                     SIZE(ZBAND1D), SIZE(ZWORK1D), SIZE(PTRIGSX) )
+        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1 )
      ELSE
         CALL FFT55( ZBAND_X(1:,1:,IKB-1:), ZWORKX, PTRIGSX, KIFAXX, INC2X, IIMAX, ILOTX, +1 )
      END IF
@@ -944,8 +938,7 @@ CALL PRINT_MSG( NVERB_WARNING, 'GEN', 'FLAT_INVZ', 'L2D=T not tested' )
 !$acc end kernels
           ZBAND1D( 1 : SIZE(ZBAND_SXP2_Y_ZP1RT) ) => ZBAND_SXP2_Y_ZP1RT(:,:,:)
           ZWORK1D( 1 : SIZE(ZWORK_SXP2_Y_ZP1) )   => ZWORK_SXP2_Y_ZP1(:,:,:)
-          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2_SXP2_Y_ZP1, IJMAX, &
-                       ILOT_SXP2_Y_ZP1, +1, SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSY) )
+          CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSY, KIFAXY, INC2_SXP2_Y_ZP1, IJMAX, ILOT_SXP2_Y_ZP1, +1 )
         ELSE
            CALL FFT55( ZBAND_SXP2_Y_ZP1RT, ZWORK_SXP2_Y_ZP1, PTRIGSY, KIFAXY, INC2_SXP2_Y_ZP1, IJMAX, ILOT_SXP2_Y_ZP1, +1 )
         END IF
@@ -972,8 +965,7 @@ CALL PRINT_MSG( NVERB_WARNING, 'GEN', 'FLAT_INVZ', 'L2D=T not tested' )
 !$acc end kernels
         ZBAND1D( 1 : SIZE(ZBAND_SX_YP2_ZP1) ) => ZBAND_SX_YP2_ZP1(:,:,:)
         ZWORK1D( 1 : SIZE(ZWORK_SX_YP2_ZP1) ) => ZWORK_SX_YP2_ZP1(:,:,:)
-        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2_SX_YP2_ZP1, IIMAX, &
-                     ILOT_SX_YP2_ZP1, +1, SIZE(ZBAND1D), SIZE(ZWORK1D), size(PTRIGSX) )
+        CALL FFT991( ZBAND1D, ZWORK1D, PTRIGSX, KIFAXX, INC2_SX_YP2_ZP1, IIMAX, ILOT_SX_YP2_ZP1, +1 )
      ELSE
         CALL FFT55( ZBAND_SX_YP2_ZP1, ZWORK_SX_YP2_ZP1, PTRIGSX, KIFAXX, INC2_SX_YP2_ZP1, IIMAX, ILOT_SX_YP2_ZP1, +1 )
      END IF