1***********************************************************************
2*     TRANSFORM SPECTRA INTO WAVE (FOR M>0)
3***********************************************************************
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      SUBROUTINE SHMSWM(MM,JM,M,ISW,S,WR,WI,SD,PM,YS,YC,PY,R)
7
8      REAL S((MM+1)*(MM+1)),WR(-JM:JM),WI(-JM:JM)
9      REAL SD(0:MM+1),PM(0:MM+1,0:JM)
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      CALL SHNM2L(MM,M,M,LR,LI)
15      CALL SHPPMA(MM,JM,M,PM,YS,PY,R)
16      CALL SHLBWM(MM,JM,M,ISW,S(LR),WR,SD,PM,YC,R)
17      CALL SHLBWM(MM,JM,M,ISW,S(LI),WI,SD,PM,YC,R)
18      IF(ISW.EQ.-1) THEN
19        CALL SHMDXM(JM,WR(-JM),WI(-JM))
20      END IF
21
22      END
23