1 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
4 ! Copyright (C) 1995-2004, Scientific Computing Division,
5 ! University Corporation for Atmospheric Research
6 ! Licensed under the GNU General Public License (GPL)
8 ! Authors: Paul N. Swarztrauber and Richard A. Valent
10 ! $Id: xerfft.f,v 1.3 2004/07/06 00:58:41 rodney Exp $
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
14 SUBROUTINE XERFFT( SRNAME, INFO)
16 ! .. Scalar Arguments ..
25 ! XERFFT is an error handler for library FFTPACK version 5.0 routines.
26 ! It is called by an FFTPACK 5.0 routine if an input parameter has an
27 ! invalid value. A message is printed and execution stops.
29 ! Installers may consider modifying the STOP statement in order to
30 ! call system-specific exception-handling facilities.
35 ! SRNAME (input) CHARACTER*6
36 ! The name of the routine which called XERFFT.
38 ! INFO (input) INTEGER
39 ! When a single invalid parameter in the parameter list of
40 ! the calling routine has been detected, INFO is the position
41 ! of that parameter. In the case when an illegal combination
42 ! of LOT, JUMP, N, and INC has been detected, the calling
43 ! subprogram calls XERFFT with INFO = -1.
45 ! =====================================================================
47 ! .. Executable Statements ..
50 WRITE( *, '(A,A,A,I3,A)') ' ** On entry to ', SRNAME, &
51 & ' parameter number ', INFO, ' had an illegal value'
52 ELSEIF (INFO .EQ. -1) THEN
53 WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME, &
54 & ' parameters LOT, JUMP, N and INC are inconsistent'
55 ELSEIF (INFO .EQ. -2) THEN
56 WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME, &
57 & ' parameter L is greater than LDIM'
58 ELSEIF (INFO .EQ. -3) THEN
59 WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME, &
60 & ' parameter M is greater than MDIM'
61 ELSEIF (INFO .EQ. -5) THEN
62 WRITE( *, '(A,A,A,A)') ' ** Within ', SRNAME, &
63 & ' input error returned by lower level routine'
64 ELSEIF (INFO .EQ. -6) THEN
65 WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME, &
66 & ' parameter LDIM is less than 2*(L/2+1)'