!-------------------------------------- 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 Revision: L. Fillion - ARMA/MSC - Jan 2001: Used in Limited area Mesovar analysis.
C
C $Id: xerfft.ftn,v 1.4 2011/11/29 15:45:24 armaanl Exp $
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SUBROUTINE XERFFT( SRNAME, INFO) 31,1
C
C .. Scalar Arguments ..
CHARACTER*6 SRNAME
INTEGER INFO
#include "taglam4d.cdk"
#include "comlun.cdk"
C
C ..
C
C Purpose
C =======
C
C XERFFT is an error handler for library FFTPACK version 5.0 routines.
C It is called by an FFTPACK 5.0 routine if an input parameter has an
C invalid value. A message is printed and execution stops.
C
C Installers may consider modifying the STOP statement in order to
C call system-specific exception-handling facilities.
C
C Arguments
C =========
C
C SRNAME (input) CHARACTER*6
C The name of the routine which called XERFFT.
C
C INFO (input) INTEGER
C When a single invalid parameter in the parameter list of
C the calling routine has been detected, INFO is the position
C of that parameter. In the case when an illegal combination
C of LOT, JUMP, N, and INC has been detected, the calling
C subprogram calls XERFFT with INFO = -1.
C
C =====================================================================
C
C .. Executable Statements ..
C
IF (INFO .GE. 1) THEN
WRITE( *, '(A,A,A,I3,A)') ' ** On entry to ', SRNAME,
1 ' parameter number ', INFO, ' had an illegal value'
ELSEIF (INFO .EQ. -1) THEN
WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME,
1 ' parameters LOT, JUMP, N and INC are inconsistent'
ELSEIF (INFO .EQ. -2) THEN
WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME,
1 ' parameter L is greater than LDIM'
ELSEIF (INFO .EQ. -3) THEN
WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME,
1 ' parameter M is greater than MDIM'
ELSEIF (INFO .EQ. -5) THEN
WRITE( *, '(A,A,A,A)') ' ** Within ', SRNAME,
1 ' input error returned by lower level routine'
ELSEIF (INFO .EQ. -6) THEN
WRITE( *, '(A,A,A,A)') ' ** On entry to ', SRNAME,
1 ' parameter LDIM is less than 2*(L/2+1)'
ENDIF
*
!cluc STOP
CALL ABORT3D
(NULOUT,'XERFFT: Problem with NCAR/FFT dimensions')
*
* End of XERFFT
*
END