6.2 トーン付き等高線図

サブルーチン UETONE を呼ぶだけで, とりあえず負の領域にトーンをつ けることができます. 次のプログラム例 U2D2 は, U2D1 の結果 に加えて, 負の領域に斜線のハッチをつけます. ここで, 24行めで SGLSET ルーチンを呼んで, トーンに関する論理型内部変数 'LSOFTF'.TRUE. に設定しています. これを .FALSE.(初期値) で描く と, 出力装置によっては先に描かれた図形が消えてしまうことがあります. 'LSOFTF' の設定を変えたり, UETONE を呼ぶ順序を USDAXS の前にしたりして, 結果がどのようになるか確かめてみましょう. ま た, この例では, ビューポートを陽に設定して長方形にしている点にも注意し て下さい.

      PROGRAM U2D2

      PARAMETER( NT=51, NZ=21 )
      PARAMETER( TMIN=0, TMAX=5, ZMIN=20, ZMAX=50 )
      PARAMETER( DT=(TMAX-TMIN)/(NT-1), DZ=(ZMAX-ZMIN)/(NZ-1) )
      REAL U(NT,NZ)

*- データ --
      DO 10 J=1,NZ
        Z  = (J-1)*DZ
        UZ = EXP(-0.2*Z)*(Z**0.5)
        DO 20 I=1,NT
          T = (I-1)*DT - 2.*EXP(-0.1*Z)
          U(I,J) = UZ*SIN(3.*T)
   20   CONTINUE
   10 CONTINUE

*- グラフ --
      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL GROPN( IWS )
      CALL SGLSET( 'LSOFTF', .TRUE. )
      CALL GRFRM

      CALL GRSWND( TMIN, TMAX, ZMIN, ZMAX )
      CALL GRSVPT(  0.2,  0.9,  0.4,  0.8 )
      CALL USPFIT
      CALL GRSTRF

      CALL USSTTL( 'TIME', 'YEAR', 'HEIGHT', 'km' )
      CALL USDAXS

      CALL UDCNTR( U, NT, NT, NZ )
      CALL UETONE( U, NT, NT, NZ )

      CALL GRCLS

      END
PROGRAM U2D2

\resizebox{10cm}{!}{\includegraphics{u2d/u2d2.eps}}
u2d2.f: frame1