1***********************************************************************
2*     TRANSFORM SPECTRA INTO WAVE FROM M=M1 TO M=M2 AT A LATITUDE
3***********************************************************************
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      SUBROUTINE SHMSWJ(MM,JM,ISW,J,M1,M2,S,WJ,SD,PMJ,YS,YC,PY,R)
7
8      REAL S((MM+1)*(MM+1)),WJ(-MM:MM)
9      REAL SD(0:MM+1),PMJ(0:MM+1)
10      REAL YS(0:JM),YC(0:JM)
11      REAL PY(2,0:JM,0:MM)
12      REAL R((MM+1)*(MM+1))
13
14      IF(M1.GT.0) THEN
15        WJ(0)=0
16      ELSE
17        CALL SHMWJZ(MM,JM,ISW,J,S,WJ(0),SD,PMJ,YS,YC,PY,R)
18      END IF
19
20      DO 20 M=M1,M2
21        CALL SHMWJM(MM,JM,ISW,J,M,S,WJ(M),WJ(-M),SD,PMJ,YS,YC,PY,R)
22   20 CONTINUE
23
24      DO 30 M=M2+1,MM
25        WJ( M)=0
26        WJ(-M)=0
27   30 CONTINUE
28
29      END
30