!-------------------------------------- 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: cmfm1b_8.ftn,v 1.2 2010/08/20 16:39:32 armaanl Exp $ C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSUBROUTINE CMFM1B_8 (LOT,JUMP,N,INC,C,CH,WA,FNF,FAC,LENC,LENWRK) 1,10 #include "taglam4d.cdk"
real*8 C(LENC),CH(LENWRK) REAL*8 WA(*), FAC(*) ! COMPLEX*16 C(*) ! REAL*8 CH(*), WA(*), FAC(*) real*8 FNF C C FFTPACK 5.0 auxiliary routine C NF = FNF NA = 0 L1 = 1 IW = 1 ! print *,'CMFM1B_8: FNF, NF =',FNF, NF 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 *,'CMFM1B_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 continue 52 CALL CMF2KB_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW)) GO TO 120 ! 62 continue 62 CALL CMF2KB_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW)) GO TO 120 ! 53 continue 53 CALL CMF3KB_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW)) GO TO 120 ! 63 continue 63 CALL CMF3KB_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW)) GO TO 120 ! 54 continue 54 CALL CMF4KB_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW)) GO TO 120 ! 64 continue 64 CALL CMF4KB_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW)) GO TO 120 ! 55 continue 55 CALL CMF5KB_8
(LOT,IDO,L1,NA,C,JUMP,INC,CH,1,LOT,WA(IW)) GO TO 120 ! 65 continue 65 CALL CMF5KB_8
(LOT,IDO,L1,NA,CH,1,LOT,C,JUMP,INC,WA(IW)) GO TO 120 ! 56 continue 56 CALL CMFGKB_8
(LOT,IDO,IP,L1,LID,NA,C,C,JUMP,INC,CH,CH,1, 1 LOT,WA(IW)) GO TO 120 ! 66 continue 66 CALL CMFGKB_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