!-------------------------------------- LICENCE BEGIN ------------------------------------
!Environment Canada - Atmospheric Science and Technology License/Disclaimer,
! version 3; Last Modified: May 7, 2008.
!This is free but copyrighted software; you can use/redistribute/modify it under the terms
!of the Environment Canada - Atmospheric Science and Technology License/Disclaimer
!version 3 or (at your option) any later version that should be found at:
!http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html
!
!This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
!without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
!See the above mentioned License/Disclaimer for more details.
!You should have received a copy of the License/Disclaimer along with this software;
!if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec),
!CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca
!-------------------------------------- LICENCE END --------------------------------------
!
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C FFTPACK 5.0
C Copyright (C) 1995-2004, Scientific Computing Division,
C University Corporation for Atmospheric Research
C Licensed under the GNU General Public License (GPL)
C
C Authors: Paul N. Swarztrauber and Richard A. Valent
C
C $Id: cmfm1f_8.ftn,v 1.4 2011/11/29 15:44:45 armaanl Exp $
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SUBROUTINE CMFM1F_8 (LOT,JUMP,N,INC,C,CH,WA,FNF,FAC) 1,10
#include "taglam4d.cdk"
COMPLEX*16 C(*)
REAL*8 CH(*), WA(*), FAC(*)
real*8 FNF
C
C FFTPACK 5.0 auxiliary routine
C
NF = FNF
! print *,'CMFM1F_8: FNF, NF = ',FNF, NF
NA = 0
L1 = 1
IW = 1
DO 125 K1=1,NF
IP = FAC(K1)
L2 = IP*L1
IDO = N/L2
LID = L1*IDO
NBR = 1+NA+2*MIN(IP-2,4)
! print *,'CMFM1F_8: IP,L2,IDO,LID,NBR=',
! & IP,L2,IDO,LID,NBR
GO TO (52,62,53,63,54,64,55,65,56,66),NBR
52 CALL CMF2KF_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW))
GO TO 120
62 CALL CMF2KF_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW))
GO TO 120
53 CALL CMF3KF_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW))
GO TO 120
63 CALL CMF3KF_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW))
GO TO 120
54 CALL CMF4KF_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW))
GO TO 120
64 CALL CMF4KF_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW))
GO TO 120
55 CALL CMF5KF_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW))
GO TO 120
65 CALL CMF5KF_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW))
GO TO 120
56 CALL CMFGKF_8
(LOT,IDO,IP,L1,LID,NA,C,C,JUMP,INC,CH,CH,
1 1,LOT,WA(IW))
GO TO 120
66 CALL CMFGKF_8
(LOT,IDO,IP,L1,LID,NA,CH,CH,1,LOT,C,C,
1 JUMP,INC,WA(IW))
120 L1 = L2
IW = IW+(IP-1)*(IDO+IDO)
IF(IP .LE. 5) NA = 1-NA
125 CONTINUE
RETURN
END