格子点の値が欠損値のときでも, 欠損値処理の指定をすることによって, 
 
UDPACK や UEPACK, UGPACK にある2次元量表示サブルーチンでも欠損値処理を 
 
して作図できます. 
 
 
 
プログラム MISS2 の例では, 基本的には第2.2節の  
 
QUICK4 と同じプログラム構成で, ただし格子点値の一部分を欠損値  
 
RMISS (この値はGLRGET ルーチンで設定されている実数欠損値を 
 
参照しました)として, 欠損値処理の指定をおこなって作画しています. 欠損 
 
値処理の指定は, やはり GLLSET ルーチンによって内部変数 'LMISS' を .TRUE. とすることによっておこないます. この実行結果 
 
からもわかるように, 欠損値のまわりの格子点を境界としてコンターやトーン 
 
が描かれません. 
 
 
 
2次元ベクトル場を作画する UGPACK でも, 同様の欠損値処理を行ないます. 
 
UGVECT ルーチンでは, ベクトルの少なくとも1成分が欠損値の時にはベ 
 
クトルを描きません. UGLSET ルーチンで UGPACK に関する内部変数  
 
'LMISSP' を .TRUE. にすると, 欠損値ベクトルの格子点にマー 
 
カー 
 
 
を描きます. この印のマーカータイプやマーカーサイズは,  
 
やはり, UGISET, UGRSET ルーチンでそれぞれ対応する内部変数  
 
'ITYPE1', 'RSIZEM' を設定することにより変更できます. 
 
 
 
 
 
 
 
 
 
 
 
  
  
 
program sample_2d02
  use dcl
  integer,parameter :: nx=18, ny=18
  real,parameter :: xmin=0, xmax=360, dx1=10, dx2=60
  real,parameter :: ymin=-90, ymax=90
  real,parameter :: pi=3.141592, drad=pi/180, dz=0.05
  integer,parameter :: my=6, nc=3
  real ::      p(0:nx, 0:ny), uy1(0:ny), uy2(0:my)
  character(len=nc),dimension(0:my) :: ch
    ch = (/ 'SP ', '60S', '30S', 'EQ ', '30N', '60N', 'NP ' /)
    do j = 0, ny
      alat = ( ymin + (ymax-ymin) * j/ny ) * drad
      slat = sin(alat)
      uy1(j) = slat
      do i = 0, nx
        alon = ( xmin + (xmax-xmin) * i/nx ) * drad
        p(i,j) = cos(alon) * (1-slat**2) * sin(2*pi*slat) + dz
      end do
    end do
    do j = 0, my
      alat = ( ymin + (ymax-ymin) * j/my ) * drad
      slat = sin(alat)
      uy2(j) = slat
    end do
    call DclOpenGraphics()
    call DclNewFrame
    call DclSetWindow( xmin, xmax, uy1(1), uy1(ny) )
    call DclSetViewPort( 0.2, 0.8, 0.2, 0.8 )
    call DclSetTransFunction
    call DclDrawAxis( 'bt', dx2, dx1 )
    call DclDrawTitle( 'b', 'LONGITUDE', 0.0 )
    call DclDrawAxisSpecify( 'lr', uy2, uy1, ch )
    call DclDrawTitle( 'l', 'LATITUDE', 0.0 )
    call DclSetXEvenGrid( xmin, xmax, nx+1 )
    call DclSetYGrid( uy1 )
    call DclSetContourLabelFormat( '(f6.1)' )
    call DclSetContourLevel( p, 0.2 )
    call DclSetContourLine( 0.1, index=1, type=4, height=0.01 )
    call DclDrawContour( p )
    call DclCloseGraphics
end program
 
 | 
|  
                DclDrawLine (SGPLU,SGPLZU)  |  
    ユーザー座標系で折れ線を描く. | 
|  
                DclSetLineType (SGSPLT)  |  
    折れ線のラインタイプを設定する. | 
|  
                DclSetLineIndex (SGSPLI)  |  
    折れ線のラインインデクスの設定する. | 
* 括弧の中は、対応するf77インターフェイス名.