サブルーチンの説明:コントロール

UMSCNT

  1. 機能
    投影面の「接点」を指定する.
  2. 呼び出し方法
    CALL UMSCNT(UXC, UYC, ROT)
  3. パラメーターの説明
                                                      
      UXC,      (R)   接点の経度,緯度.              
      UYC                                             
                                                      
      ROT       (R)   中央の経線の傾き.(時計周り)  
                                                      
    
  4. 備考
    1. この情報は UMPFIT が使う.
    2. 通常の円筒図法(正軸法)では,UYC=0, ROT=0 である. そうでないとき斜軸法となる.
    3. 円錐図法の時, 標準緯度 (STLAT1)が指定されていなければ, UYC が標準緯度となる. 標準緯度が指定されている時は,その標準緯度に対応する円錐を設定し, それが(UXC, UYC) で接するように,円錐を傾ける. すなわち,斜軸法になる.
    4. 方位図法では,(UXC,UYC,ROT) は, 地図投影の極(PLX,PLY,PLROT) と同じ意味になる.

UMSCWD

  1. 機能
    円形のウィンドウを設定する.
  2. 呼び出し方法
    CALL UMSCWD(UXC, UYC, R)
  3. パラメーターの説明
                                                
      UXC,      (R)   中心の経度,緯度.        
      UYC                                       
                                                
      R         (R)   ウィンドウ半径.(角度)  
                                                
    
  4. 備考
    1. この情報は UMPFIT が使う.
    2. この円の範囲が入るようにスケーリングファクタが決められる.
    3. 円筒図法,円錐図法では UMSCNT と異なり, UYCが 0 でなくても, 陽に指定されない限り,正軸法が採用される.
    4. 円錐図法の時, 標準緯度 (STLAT1)が指定されていなければ, UYC が標準緯度となる.

UMSPNT

  1. 機能
    地図に含める点を指定する.
  2. 呼び出し方法
    CALL UMSPNT(N, UXP, UYP)
  3. パラメーターの説明
                                           
      N         (I)      点の数            
                                           
      UXP,      (R(N))   点の経度,緯度.  
      UYP                                  
                                           
    
  4. 備考
    1. このルーチンは何度でも呼ぶことができる.
    2. N の合計は64 までである.
    3. この情報から「接点」を求める時には,点の重心を「接点」とする.

UMPFIT

  1. 機能
    地図投影の変換関数のパラメタを適切に決める.
  2. 呼び出し方法
    CALL UMPFIT
  3. パラメーターの説明
    なし.
  4. 備考
    1. このルーチンは,与えられた情報から変換関数のパラメタを適切に 決めて設定するが,確定はしない. (SGSTRF は呼ばない.)

サブルーチンの説明:地図情報の描画

UMPGLB

  1. 機能
    地図の境界線(縁)と緯度線, 経度線を描く.
  2. 呼び出し方法
    CALL UMPGLB
  3. パラメーターの説明
    なし.
  4. 備考
    1. これは次のUMPGRDUMPLIMを連続して呼んでいる.

UMPGRD

  1. 機能
    緯度線・経度線を描く.
  2. 呼び出し方法
    CALL UMPGRD
  3. パラメーターの説明
    なし.
  4. 備考
    1. 描く緯度線・経度線の種類としては major line と minor line の 2種類がある.
    2. major line を描くかどうかはUMLGET/UMLSETが管理する 内部変数'LGRIDMJ'が決める(初期値は.TRUE.. (以下,特に断らない限り「内部変数」とは UMpGET/UMpSETが 管理する内部変数のことをいう.) 描くその間隔は'DGRIDMJ'が決める. また描く線分の属性は'INDEXMJ', 'ITYPEMJ'が決める (初期値はそれぞれ3, 1). さらに子午線に関しては,内部変数'DGRPLMJ'によって 極から何度はいったところから描くかが指定できる(初期値は0).
    3. minor line を描くかどうかは 内部変数'LGRIDMN'が決める(初期値は.TRUE.. 描くその間隔は'DGRIDMN'が決める. また描く線分の属性は'INDEXMN', 'ITYPEMN'が決める (初期値はそれぞれ1, 3). さらに子午線に関しては,内部変数'DGRPLMN'によって 極から何度はいったところから描くかが指定できる(初期値は0).
    4. 'DGRIDMJ''DGRIDMN'GRFRM を 呼んだタイミングで「不定」に設定される. これらの値が不定のとき,地図の大きさから適当な値が設定される.

UMPLIM

  1. 機能
    地図の境界線(縁)を描く.
  2. 呼び出し方法
    CALL UMPLIM
  3. パラメーターの説明
    なし.
  4. 備考
    1. 地図境界を描く線分のラインインデクスは 内部変数'INDEXBND'が決める(初期値は3). ラインタイプはつねに1(実線)である.

UMPMAP

  1. 機能
    各種地図情報を描く.
  2. 呼び出し方法
    CALL UMPMAP(CDSN)
  3. パラメーターの説明
                                             
      CDSN   (C*(*))   地図情報ファイル名.  
                                             
    
  4. 備考
    1. CDSN で指定したファイル名が直接用いられるとは限らない. 実際に読み込まれるファイル名は UMQFNM が決める. UMQFNM の標準的な仕様では, まずカレントディレクトリを探す. 次にGLCGET/GLCSETが管理する内部変数 'DUPATH'のさすディレクトリを探す. 最後に内部変数'DSPATH'のさすディレクトリを探す.
    2. 現在のところ次のような地図情報ファイルが用意されている.
                                             
        'coast'    :   世界の海岸線.         
                                             
        'border'   :   世界の国境.          
                                             
        'plate'    :   世界のプレート境界.  
                                             
        'state'    :   アメリカの州境.      
                                             
        'coast'    :   日本の海岸線.         
                                             
        'pref'     :   日本の県境.          
                                             
      

UMpGET/UMpSET(UMpSTX)

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

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

                                                                            
      'LGRIDMJ'    (L)   UMPGRDが緯度線・経度線を 描くとき major line       
                         を描くかどうかを指定する. .TRUE.なら描く;         
                         .FALSE.なら描かない (初期値は.TRUE.)              
                         . [-1ex]0ex1ex}                                    
                                                                            
      'LGRIDMN'    (L)   UMPGRDが緯度線・経度線を 描くとき minor line       
                         を描くかどうかを指定する. .TRUE.なら描く;         
                         .FALSE.なら描かない (初期値は.TRUE.)              
                         . [-1ex]0ex1ex}                                    
                                                                            
      'INDEXMJ'    (I)   UMPGRDが描く緯度線・経度線の major line            
                         のラインインデクス (初期値は3). [-1ex]0ex1ex}     
                                                                            
      'INDEXMN'    (I)   UMPGRDが描く緯度線・経度線の minor line            
                         のラインインデクス (初期値は1). [-1ex]0ex1ex}     
                                                                            
      'ITYPEMJ'    (I)   UMPGRDが描く緯度線・経度線の major line            
                         のラインタイプ (初期値は1). [-1ex]0ex1ex}         
                                                                            
      'ITYPEMN'    (I)   UMPGRDが描く緯度線・経度線の minor line            
                         のラインタイプ (初期値は3). [-1ex]0ex1ex}         
                                                                            
      'DGRIDMJ'    (I)   UMPGRDが描く緯度線・経度線の major line の間隔     
                         (単位は度; 初期値は30). [-1ex]0ex1ex}             
                                                                            
      'DGRIDMN'    (I)   UMPGRDが描く緯度線・経度線の minor line の間隔     
                         (単位は度; 初期値は10). [-1ex]0ex1ex}             
                                                                            
      'DGRPLMJ'    (I)   UMPGRDが描く経度線の major line                    
                         を極からどれだけはいったところから描くかを指定す   
                         る. (単位は度; 初期値は0). [-1ex]0ex1ex}         
                                                                            
      'DGRPLMN'    (I)   UMPGRDが描く経度線の minor line                    
                         を極からどれだけはいったところから描くかを指定す   
                         る. (単位は度; 初期値は0). [-1ex]0ex1ex}         
                                                                            
      'INDEXBND'   (I)   UMPLIMが描く地図境界線の ラインインデクス          
                         (初期値は3). [-1ex]0ex1ex}                        
                                                                            
      'MAXBND'     (I)   UMPLIMが描く地図境界線を描くとき                   
                         いくつぐらいの線分に分割して描くかを設定する       
                         (初期値は300). [-1ex]0ex1ex}                      
                                                                            
      'INDEXOUT'   (I)   海岸線などの地図情報を描く線分の                   
                         ラインインデクス (初期値は1). [-1ex]0ex1ex}       
                                                                            
      'ITYPEOUT'   (I)   海岸線などの地図情報を描く線分の ラインタイプ      
                         (初期値は1). [-1ex]0ex1ex}                        
                                                                            
      'LGLOBE'     (L)   UMSTRF が変換パラメータを決定するとき,            
                         全球を描くようにするかどうかを指定する. .TRUE.    
                         なら全球を描く; .FALSE. なら全球を描かない         
                         (初期値は.FALSE.). [-1ex]0ex1ex}                  
                                                                            
    

  4. 備考
    1. 内部変数を管理するための下請けルーチンとして 以下のものがある.
                                                                          
        UMPQNP(NCP)         内部変数の総数NCPを求める.                   
                                                                          
        UMPQID(CP,IDX)      内部変数CPの位置IDXを求める.                 
                                                                          
        UMPQCP(IDX,CP)      IDXの位置にある内部変数の名前CPを参照する.   
                                                                          
        UMPQVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを参照する.  
                                                                          
        UMPSVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを変更する.  
                                                                          
      
    2. UMpGETは上に述べたUMPQIDを呼んで 内部変数の位置を求め,UMPQVLによって値を参照する; UMpSETUMPQIDを呼んで内部変数の位置を求め, UMPSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはUMPQIDが出力する.
    3. ITYPEとしては適切な型の定数または変数を指定すること.


Back to Main


Latex Source


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

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