REOWAV.inc

References to this file elsewhere.
1       SUBROUTINE REOWAV
2      1  (WDATA,QDATA,MEND1,NEND1,JEND1,MNWAV,KWMAX,KQMAX,KWW,KQQ,
3      2   KMX2 ,LAG  ,IWORG,INOUT)
4 C
5 Crizvi      REAL*4 WDATA(KWMAX,MNWAV), QDATA(KQMAX,MNWAV)
6       REAL WDATA(KWMAX,MNWAV), QDATA(KQMAX,MNWAV)
7       INTEGER*4 LAG(MEND1,NEND1)
8       CHARACTER*4 IWORG,INOUT
9 C
10 C  INOUT='IN  '...COPIES FROM WDATA TO QDATA
11 C        'OUT '...COPIES FROM QDATA TO WDATA
12 C  IWORG='CLMN'...DOES NOTHING
13 C        'DGNL'...CHANGES FROM DIAGONAL TO COLUMWISE ORDER
14 C
15       IF(INOUT.EQ.'IN  ') THEN
16 C
17              IF(IWORG.EQ.'CLMN') THEN
18         DO 100 K=1,KMX2
19         DO 100 L=1,MNWAV
20          QDATA(K+KQQ,L)=WDATA(K+KWW,L)
21   100   CONTINUE
22         ELSE IF(IWORG.EQ.'DGNL') THEN
23         L=0
24         DO 200 M=1,MEND1
25          NMAX=MIN(NEND1,JEND1+1-M)
26         DO 200 N=1,NMAX
27          L=L+1
28          LX=LAG(M,N)
29         DO 200 K=1,KMX2
30          QDATA(K+KQQ,L)=WDATA(K+KWW,LX)
31   200   CONTINUE
32         END IF
33 C
34       ELSE IF(INOUT.EQ.'OUT ') THEN
35 C
36         IF(IWORG.EQ.'CLMN') THEN
37         DO 300 K=1,KMX2
38         DO 300 L=1,MNWAV
39          WDATA(K+KWW,L)=QDATA(K+KQQ,L)
40   300   CONTINUE
41         ELSE IF(IWORG.EQ.'DGNL') THEN
42         WRITE(96,*)'SUBR.REOWAV DOES NOT TAKE CARE OF DIAGONAL OUTPUT'
43         STOP 9999
44         END IF
45 C
46       END IF
47 C
48       RETURN
49       END SUBROUTINE REOWAV
50