サブルーチンの説明

UETONE

  1. 機能
    トーンによる2次元等値線図のぬりわけをおこなう.
  2. 呼び出し方法
    CALL UETONE(Z,MX,NX,NY)
  3. パラメーターの説明
                                                                   
      Z    (R)   MX  NYの2次元配列. 作画にはNX                    
                 NYの部分を使う.                                  
                                                                   
      MX   (I)   配列Zの第1次元整合寸法.                          
                                                                   
      NX   (I)   作画に使う配列Zの第1次元寸法.                    
                                                                   
      NY   (I)   作画に使う配列Zの第2次元寸法.                    
                                                                   
    
  4. 備考
    1. X方向の格子点の座標が UWSGXA ([here]節参照)または UWSGXB ([here]節参照) によって設定されていない場合,SGQWNDでウインドウ情報を 取得し ウインドウのUXMIN, UXMAXNX-1等分するような 格子点を設定する.
    2. Y方向の格子点の座標が UWSGYA ([here]節参照)または UWSGYB ([here]節参照) によって設定されていない場合,SGQWNDでウインドウ情報を 取得し ウインドウのUYMIN, UYMAXNY-1等分するような 格子点を設定する.
    3. ぬりわけをおこなうレベルの値がUEGTLA, UEGTLB, UESTLVまたはUESTLNによって設定されていない場合, 次のようにぬりわけるレベル値とトーンパターンを設定する. UELGET/UELSET の管理する 内部変数'LTONE'.TRUE.のとき (以下,特に断らない場合,単に「内部変数」というのは UEpGET/UEpSETの管理する 内部変数のことをさす), 次のサブルーチンを内部で呼んで 約NLEV本のトーンレベルを設定する.
      CALL UEGTLB(Z,MX,NX,NY,-REAL(NLEV))
      NLEVは内部変数'NLEV'が参照する値である (初期値は12); 内部変数'LTONE'.FALSE.のとき, 内部変数'RLEV'が参照する値以下の領域を 内部変数'IPAT'が参照する値のトーンパターンでぬりわける ('RLEV', IPAT'の初期値はそれぞれ 0.0, 1201:右上がりの斜線). なお 'LTONE'の初期値は.FALSE.である.
    4. GLpGET/GLpSETの管理する内部変数'LMISS'.TRUE.なら欠損値処理をおこなう. つまり欠損値のまわりの格子点はぬりわけない. (その際,参照する欠損値は GLpGET/GLpSETの管理する 内部変数'RMISS'である.) .FALSE.なら欠損値処理をおこなわない. くわしくは「MATH1」のマニュアル参照.
    5. ぬりわけをおこなう前にすべての格子点値のチェックをおこなう. 次の2つの場合ぬりわけはおこなわずその旨メッセージが出力される. 2つの場合とは:
      • すべての格子点が欠損値のとき(missing field).
      • すべての格子点が同一な値のとき(constant field).

UETONF

  1. 機能
    イメージデータ描画機能を使って,2次元等値線図のぬりわけをおこなう.
  2. 呼び出し方法
    CALL UETONF(Z,MX,NX,NY)
  3. パラメーターの説明
                                                                   
      Z    (R)   MX  NYの2次元配列. 作画にはNX                    
                 NYの部分を使う.                                  
                                                                   
      MX   (I)   配列Zの第1次元整合寸法.                          
                                                                   
      NX   (I)   作画に使う配列Zの第1次元寸法.                    
                                                                   
      NY   (I)   作画に使う配列Zの第2次元寸法.                    
                                                                   
    
  4. 備考
    1. UETONE とほぼ互換性があるが, 指定できるトーンパターンはべた塗りだけである.
    2. イメージ描画機能のないデバイスでは使用できない.
    3. ピクセル毎に周囲4点のデータから線形内挿して値 (Z) を 求め色を決める. したがって,色の境界は一般に曲線となる.

UEGTLA

  1. 機能
    UDTONE で使うトーンレベル値を 最小値・最大値および きざみ値またはおよそのレベル数で設定する.
  2. 呼び出し方法
    CALL UEGTLA(XMIN,XMAX,DX)
  3. パラメーターの説明
                                                                            
      XMIN,        (R)   トーンレベルの最小値と最大値.                     
      XMAX               必ずしもきりのよい値でなくてもよい.               
                                                                            
      DX           (R)   DX > 0 のときDXをきざみ幅とする.               
                                                                            
                         DX = 0 のとき内部変数                              
                         'NLEV'を参照して,約NLEV本の                       
                         トーンレベルを生成する.                           
                                                                            
                         DX < 0 のとき約INT(ABS(DX))                     
                         本の トーンレベルを生成する.                      
                                                                            
    
  4. 備考
    1. このルーチンはUDGCLA ([here]節参照) と同じアルゴリズムにもとづいてレベル値を生成している. アルゴリズムを同一にするため,UDPACK で用いられる 内部変数'NLEV', 'ICYCLE'と同じものが, UEPACK でも用意されている. UDPACK でこれらの値を変えたときは, UEPACK でも変更してやらなければならない.
    2. XMIN XMAX でなければならない.
    3. トーンレベルはDXが決めるきざみ幅の整数倍に なるように設定される.
    4. トーンパターンは内部変数'ICOLOR1''ICOLOR2'が 示す色番号(初期値は15, 94)の間をトーンレベルの数で分割し, それに 'ITPAT' をパターン番号とする (初期値は999,べた塗り)トーンパターン番号を生成する.

UEGTLB

  1. 機能
    UETONE で使うコンターレベル値を 格子点値を与える配列と きざみ値またはおよそのレベル数で設定する.
  2. 呼び出し方法
    CALL UEGTLB(Z,MX,NX,NY,DX)
  3. パラメーターの説明
                                                 
      Z, MX, NX,      UETONE ([here]             
      NY              節)参照.                 
                                                 
      DX              UEGTLA ([here]             
                      節)参照.                 
                                                 
    
  4. 備考
    1. このルーチンはZの格子点値の最小値・最大値をチェックして, 内部でUEGTLAを呼んでいる.

UESTLV

  1. 機能
    ぬりわけるレベルとパターンを1レベルごと指定する.
  2. 呼び出し方法
    CALL UESTLV(TLEV1,TLEV2,IPAT)
  3. パラメーターの説明
                                                                       
      TLEV1   (R)   ぬりわけるレベルの下限値.                         
                                                                       
      TLEV2   (R)   ぬりわけるレベルの上限値.                         
                                                                       
      IPAT    (I)   トーンパターン番号                                 
                    (「GRPH1」のマニュアル参照).                     
                                                                       
    
  4. 備考
    1. ある値(ZLEV)以下の部分すべてをぬりたいときは, TLEV1として GLpGET/GLpSETの管理する 'RMISS'の値を指定し,TLEV2として ZLEVを指定すればよい.逆に,ある値(ZLEV)以上の 部分をすべてぬりたいときは,TLEV1としてZLEVを 指定し,TLEV2として'RMISS'の値を指定すればよい.
    2. TLEV1 < TLEV2でなければならない.
    3. 設定するトーンレベルは100以下でなければならない.
    4. 現在設定されているトーンレベルの数は
      CALL UEQNTL(NTON)
      によって参照できる.
    5. ITON番目のトーンレベルの属性は
      CALL UEQTLV(TLEV1,TLEV2,IPAT,ITON)
      によって参照できる.

UESTLN

  1. 機能
    ぬりわけるレベルとパターンを配列で複数レベル指定する.
  2. 呼び出し方法
    CALL UESTLN(TLEVN,IPATN,NTON)
  3. パラメーターの説明
                                                                            
      TLEVN   (R)   ぬりわけるレベルの値を格納する配列. 大きさNTON+1.      
                                                                            
      IPATN   (I)   トーンパターン番号を格納する配列. 大きさNTON.          
                    (トーンパターン番号については「GRPH1」のマニュアル参   
                    照).                                                   
                                                                            
      NTON    (I)   配列IPATNの大きさ.                                     
                                                                            
    
  4. 備考
    1. UESTLVとの関連で説明すると, TLEV1としてTLEVN(i), TLEV2としてTLEVN(i+1), IPATとしてIPATN(i) (i=1,NTON)を 指定したのと同等である. したがって, TLEVN(i) < TLEVN(i+1)でなければならない. くわしくは[here]節参照.
    2. UESTLVと同じように, 現在設定されているトーンレベルの数はUEQNTLで, トーンレベルの属性はUEQTLVによって参照できる.

UEITLV

  1. 機能
    UESTLVまたはUESTLNで設定したトーンレベルを無効にする.
  2. 呼び出し方法
    CALL UEITLV
  3. パラメーターの説明
    なし
  4. 備考
    1. UESTLVまたはUESTLNによって既に 設定されているトーンレベルを 無効にしてUETONEを呼びたいとき, このルーチンを呼ぶ必要がある.

UEpGET/UEpSET(UEpSTX)

  1. 機能
    UEPACKサブルーチンパッケージで使用する内部変数を参照/変更する. (UEpSTXは実行時オプションによる変更を許す.)
  2. 呼び出し方法
    CALL UEpGET(CP,IPARA)
    CALL UEpSET(CP,IPARA)
    CALL UEpSTX(CP,IPARA)
  3. パラメーターの説明
                                          
      CP      (C*8)     内部変数の名前.  
                                          
      IPARA   (I,R,L)   内部変数の値.    
                                          
    

    以下にCPとして指定できる名前のリストを記す.

                                                                            
      'LTONE'     (L)   ぬりわけるトーンレベルをユーザーが指定しなかったと  
                        き, UEGTLB                                         
                        を使ってトーンレベルとトーンパターンを              
                        生成するかどうかを指定する. .TRUE. ならUEGTLB      
                        をつかう; .FALSE.                                   
                        なら'RLEV'(下記)以下をぬるような設定をする        
                        (初期値は.FALSE.). [-1ex]0ex1ex}                   
                                                                            
      'RLEV'      (R)   'LTONE'が.FALSE.のとき,                            
                        ぬりわける領域の境界値(初期値は0.0)                
                        . ここで指定した値以下の領域をぬる.                
                        [-1ex]0ex1ex}                                       
                                                                            
      'IPAT'      (I)   'LTONE'が.FALSE.のとき,                            
                        内部変数'RLEV'以下の領域をぬる                      
                        トーンパターン(初期値は1201:右上がりの斜線)        
                        . [-1ex]0ex1ex}                                     
                                                                            
      'ICOLOR1'   (I)   'LTONE'が.TRUE.のとき用いる                         
                        色番号の下限値(初期値は15). [-1ex]0ex1ex}          
                                                                            
      'ICOLOR2'   (I)   'LTONE'が.TRUE.のとき用いる                         
                        色番号の上限値(初期値は94). [-1ex]0ex1ex}          
                                                                            
      'ITPAT'     (I)   'LTONE'が.TRUE.のとき用いる                         
                        パターン番号(初期値は999, べた塗り).              
                        [-1ex]0ex1ex}                                       
                                                                            
    
  4. 備考
    1. 内部変数を管理するための下請けルーチンとして 以下のものがある.
                                                                          
        UEPQNP(NCP)         内部変数の総数NCPを求める.                   
                                                                          
        UEPQID(CP,IDX)      内部変数CPの位置IDXを求める.                 
                                                                          
        UEPQCP(IDX,CP)      IDXの位置にある内部変数の名前CPを参照する.   
                                                                          
        UEPQVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを参照する.  
                                                                          
        UEPSVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを変更する.  
                                                                          
      
    2. UEpGETは上に述べたUEPQIDを呼んで 内部変数の位置を求め,UEPQVLによって値を参照する; UEpSETUEPQIDを呼んで内部変数の位置を求め, UEPSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはUEPQIDが出力する.
    3. 上記内部変数のほかに, UDGCLA, UDGCLBとアルゴリズムの同一性を保つために, UDPACK で用いられる内部変数'NLEV', 'ICYCLE'と同じものが, UEPACK でも用意されている. UDPACK でこれらの値を変えたときは, UEPACK でも変更してやらなければならない.
    4. ITYPEとしては適切な型の定数または変数を指定すること.

その他のサブルーチン

このパッケージにはこのほかに以下の下位ルーチンがある. ここではその名前をあげるにとどめる.

                                     
  UESTLZ   UEQTLZ   UEAREA   UEAINT  
                                     


Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:08:18 EDT 1995