1*-----------------------------------------------------------------------
2*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
3*-----------------------------------------------------------------------
4      PROGRAM TEST03
5
6      PARAMETER ( NX=37, NY=37 )
7      PARAMETER ( XMIN=  0, XMAX=360, YMIN=-90, YMAX=+90 )
8      PARAMETER ( PI=3.141592, DRAD=PI/180, DZ=0.05 )
9      PARAMETER ( FACT=10 )
10
11      REAL      P(NX,NY), U(NX,NY), V(NX,NY), ALON(NX), ALAT(NY)
12
13      EXTERNAL  IMOD
14
15
16      CALL GLRGET( 'RMISS', RMISS )
17      CALL GLLSET( 'LMISS', .TRUE. )
18
19      DO 10 I = 1, NX
20        ALON(I) = XMIN + (XMAX-XMIN) * (I-1) / (NX-1)
21   10 CONTINUE
22
23      DO 20 J = 1, NY
24        ALAT(J) = YMIN + (YMAX-YMIN) * (J-1) / (NY-1)
25   20 CONTINUE
26
27      DO 40 J = 1, NY
28        DO 30 I = 1, NX
29          SLAT = SIN(ALAT(J)*DRAD)
30          P(I,J) = COS(ALON(I)*DRAD) * (1-SLAT**2) * SIN(2*PI*SLAT)
31     +             + DZ
32   30   CONTINUE
33   40 CONTINUE
34
35      DO 60 J = 1, NY
36        DO 50 I = 1, NX
37          IF (J.EQ.1 .OR. J.EQ.NY) THEN
38            U(I,J) = RMISS
39            V(I,J) = RMISS
40          ELSE
41            U(I,J) = ( P(I,J-1) - P(I,J+1) ) * FACT
42            V(I,J) = ( P(IMOD(I,NX-1)+1,J) - P(IMOD(I-2,NX-1)+1,J) )
43     +             * FACT
44          END IF
45   50   CONTINUE
46   60 CONTINUE
47
48      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
49      CALL SGPWSN
50      READ (*,*) IWS
51
52      CALL GROPN( IWS )
53      CALL GRFRM
54
55      CALL GRSWND( XMIN, XMAX, YMIN, YMAX )
56      CALL GRSVPT( 0.1,  0.9,  0.1,  0.9 )
57      CALL GRSSIM( 0.4, 0.0, 0.0 )
58      CALL GRSMPL( 165.0, 60.0, 0.0 )
59      CALL GRSTXY( -180.0, 180.0, 0.0, 90.0 )
60      CALL GRSTRN( 30 )
61      CALL GRSTRF
62      CALL SGLSET( 'LCLIP', .TRUE. )
63
64      CALL UMLSET( 'LGRIDMJ', .FALSE. )
65      CALL UMRSET( 'DGRIDMN', 30.0 )
66      CALL UMPMAP( 'coast_world' )
67      CALL UMPGLB
68
69      CALL UDCNTR( P, NX, NX, NY )
70
71      DO 80 J=1,NY
72        DO 70 I=1,NX
73          IF (.NOT.(U(I,J).EQ.RMISS .OR. V(I,J).EQ.RMISS)) THEN
74            CALL SGLAZU(ALON(I),ALAT(J),ALON(I)+U(I,J),ALAT(J)+V(I,J),
75     +           1, 3 )
76          END IF
77   70   CONTINUE
78   80 CONTINUE
79
80      CALL GRCLS
81
82      END
83