1***********************************************************************
2*     TRANSFORM WAVE INTO SPECTRA
3***********************************************************************
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      SUBROUTINE SHMW2S(MM,JM,ISW,W,S,SD,PM,XS,XC,PX,WY,WX,R,Z)
7
8      REAL W(-JM:JM,-MM:MM),S((MM+1)*(MM+1))
9      REAL SD(0:MM+1),PM(0:MM+1,0:JM)
10      REAL XS(0:JM),XC(0:JM)
11      REAL PX(2,0:JM,0:MM)
12      REAL WY(0:JM,2),WX(0:JM,2)
13      REAL R((MM+1)*(MM+1)),Z(JM,0:JM,4)
14
15      M=0
16      IF(ISW.EQ.-1) THEN
17        DO 10 N=0,MM
18          S(N+1)=0
19   10   CONTINUE
20      ELSE
21        CALL SHPPMA(MM,JM,M,PM,XS,PX,R)
22        CALL SHLFWM(MM,JM,M,ISW,W(-JM,0),S,SD,XC,PM,WY,WX,R,Z)
23      END IF
24
25      DO 20 M=1,MM
26        CALL SHNM2L(MM,M,M,LR,LI)
27        CALL SHPPMA(MM,JM,M,PM,XS,PX,R)
28        CALL SHLFWM(MM,JM,M,ISW,W(-JM, M),S(LR),SD,XC,PM,WY,WX,R,Z)
29        CALL SHLFWM(MM,JM,M,ISW,W(-JM,-M),S(LI),SD,XC,PM,WY,WX,R,Z)
30        IF(ISW.EQ.-1) THEN
31          CALL SHMSRI(MM,M,S(LR),S(LI))
32        END IF
33   20 CONTINUE
34
35      END
36