merge standard release WRF/WPS V3.0.1.1 into wrffire
[wrffire.git] / wrfv2_fire / external / fftpack / fftpack5 / sintmi.F
blob80931f487089098d76984283d1aa1dd7c66a5d10
1 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
2 !                                                                       
3 !   FFTPACK 5.0                                                         
4 !   Copyright (C) 1995-2004, Scientific Computing Division,             
5 !   University Corporation for Atmospheric Research                     
6 !   Licensed under the GNU General Public License (GPL)                 
7 !                                                                       
8 !   Authors:  Paul N. Swarztrauber and Richard A. Valent                
9 !                                                                       
10 !   $Id: sintmi.f,v 1.2 2004/06/15 21:29:20 rodney Exp $                
11 !                                                                       
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
13                                                                         
14       SUBROUTINE SINTMI (N, WSAVE, LENSAV, IER) 
15       INTEGER    N, LENSAV, IER 
16       REAL       WSAVE(LENSAV) 
17 !                                                                       
18       IER = 0 
19 !                                                                       
20       IF (LENSAV .LT. N/2 + N + INT(LOG(REAL(N))) +4) THEN 
21         IER = 2 
22         CALL XERFFT ('SINTMI', 3) 
23         GO TO 300 
24       ENDIF 
25 !                                                                       
26       PI = 4.*ATAN(1.) 
27       IF (N .LE. 1) RETURN 
28       NS2 = N/2 
29       NP1 = N+1 
30       DT = PI/FLOAT(NP1) 
31       DO 101 K=1,NS2 
32          WSAVE(K) = 2.*SIN(K*DT) 
33   101 END DO 
34       LNSV = NP1 + INT(LOG(REAL(NP1))) +4 
35       CALL RFFTMI (NP1, WSAVE(NS2+1), LNSV, IER1) 
36       IF (IER1 .NE. 0) THEN 
37         IER = 20 
38         CALL XERFFT ('SINTMI',-5) 
39       ENDIF 
40 !                                                                       
41   300 CONTINUE 
42       RETURN 
43       END