!-------------------------------------- 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: rfft2i_8.ftn,v 1.4 2011/11/29 15:45:07 armaanl Exp $ C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSUBROUTINE RFFT2I_8 (L, M, WSAVE, LENSAV, IER) 4,5 #include "taglam4d.cdk"
INTEGER L, M, LENSAV, IER INTEGER LWSAV,MWSAV REAL*8 WSAVE(LENSAV) C C Initialize IER C IER = 0 C C Verify LENSAV C LWSAV = L+INT(LOG(REAL(L)))+4 MWSAV = 2*M+INT(LOG(REAL(M)))+4 ! print *,'RFFT2I_8: LWSAV,MWSAV=', LWSAV,MWSAV IF (LENSAV .LT. LWSAV+MWSAV) THEN IER = 2 CALL XERFFT
('RFFT2I', 4) GO TO 100 ENDIF C CALL RFFTMI_8
(L, WSAVE(1), L + INT(LOG(REAL(L))) + 4, IER1) ! do ji=1,lensav ! print *,'RFFT2I_8: apres RFFTMI_8: ji,wsave(ji)=',ji,wsave(ji) ! enddo IF (IER1 .NE. 0) THEN IER = 20 CALL XERFFT
('RFFT2I',-5) GO TO 100 ENDIF CALL CFFTMI_8
(M, WSAVE(L+INT(LOG(REAL(L)))+5), 1 2*M+INT(LOG(REAL(M)))+4,IER1) IF (IER1 .NE. 0) THEN IER = 20 CALL XERFFT
('RFFT2I',-5) ENDIF ! do ji=1,lensav ! print *,'RFFT2I_8: apres CFFTMI_8: ji,wsave(ji)=',ji,wsave(ji) ! enddo C 100 CONTINUE RETURN END