2次元等高線図を描く(内部で用意した作業領域を使う).
CALL UDCNTR(Z,MX,NX,NY)
Z (R) MX NYの2次元配列. 作画にはNX NYの部分を使う. MX (I) 配列Zの第1次元整合寸法. NX (I) 作画に使う配列Zの第1次元寸法. NY (I) 作画に使う配列Zの第2次元寸法.
( NX + 2 ) ( NY + 2 ) 2 / NB + 1 ≦ 1000でなければならない. NBは GLpGET/GLpSETの管理する 内部変数'NBITSPW'を参照する. 普通この値は32である (「MATH1」のマニュアル参照). もしもこの制限を越える大きさの配列を用いて作画したいときは, 作業領域をユーザーが指定するサブルーチンUDCNTZ (次節参照)を用いるとよい.
CALL UDGCLB(Z,MX,NX,NY,-REAL(NLEV))NLEVは UDpGET/UDpSETの管理する 内部変数'NLEV'が参照する値である (初期値は12). (以下,特に断らない限り,単に「内部変数」というのは UDpGET/UDpSETの管理する 内部変数のことをさす.)
2次元等高線図を描く(ユーザーが作業領域を与える).
CALL UDCNTZ(Z,MX,NX,NY,IBR,NBR3)
Z (R) MX NYの2次元配列. 作画にはNX NYの部分を使う. MX (I) 配列Zの第1次元整合寸法. NX (I) 作画に使う配列Zの第1次元寸法. NY (I) 作画に使う配列Zの第2次元寸法. IBR (I) 作業領域として用いられる配列. NBR3 (I) 配列IBRの長さ.
( NX + 2 ) ( NY + 2 ) 2 / NB + 1 ≦ NBR3 / 3NBは GLpGET/GLpSETの管理する 内部変数'NBITSPW'を参照する. ふつうこの値は32である (「MATH1」のマニュアル参照).
UDCNTR(またはUDCNTZ)で使うコンターレベル値を 最小値・最大値および きざみ値またはおよそのレベル数で設定する.
CALL UDGCLA(XMIN,XMAX,DX)
XMIN, (R) コンターレベルの最小値と最大値. XMAX 必ずしもきりのよい値でなくてもよい. DX (R) DX > 0 のときDXをきざみ幅とする. DX = 0 のとき内部変数 'NLEV'を参照して,約NLEV本の コンターレベルを生成する. DX < 0 のとき約INT(ABS(DX)) 本の コンターレベルを生成する.
UDCNTR(またはUDCNTZ)で使うコンターレベル値を 格子点値を与える配列と きざみ値またはおよそのレベル数で設定する.
CALL UDGCLB(Z,MX,NX,NY,DX)
Z, MX, NX, UDCNTR ([here] NY 節)参照. DX UDGCLA ([here] 節)参照.
コンターラインの属性をすべて指定して1本のコンターレベルを設定する.
CALL UDSCLV(ZLEV,INDX,ITYP,CLV,HL)
ZLEV (R) コンターレベルの値. INDX (I) コンターラインのラインインデクス. ITYP (I) コンターラインのラインタイプ. CLV (C*(*)) コンターラインにつけるラベル. HL (R) ラベルの高さ(単位はV座標系). HL ≦ 0 のときラベルをつけない.
CALL UDQCLN(NLEV)によって参照できる.
CALL UDQCLV(ZLEV,INDX,ITYP,CLV,HL,NL)によって参照できる. コンターレベルに関する情報はUDSCLVによって順に追加されるので, UDQCLVが参照するコンターレベルの値は必ずしも昇順にならんで いるとは限らない.
あるコンターレベルを削除する.
CALL UDDCLV(ZLEV)
ZLEV (R) 削除するコンターレベルの値.
UDGCLA, UDGCLB, UDSCLVで設定したコンターレベルを 無効にする.
CALL UDICLV
なし
UDGCLA, UDGCLB, UDSCLVで設定したコンターレベルの 間隔を求める.
RUDLEV(NLEV)
NLEV (I) 何番目のコンター間隔を調べるか指定する. RUDVAL (R) コンター間隔を与える実数型関数値.
コンターラベルのフォーマットを指定する.
CALL UDSFMT(CFMT)
CFMT (C*(*)) 指定するフォーマット(長さは16文字以下).
CALL UDSFMT('(I8)')とすればよい (文字は左詰めされるのでラベルが8文字以下なら, たとえば'(I12)'でも効果は同じ). 初期値はサブルーチンCHVAL (「MISC1」のマニュアルFMTLIB参照)が解釈するオプション'D' (有効数字3ケタでほぼ4-5文字の表現)である.
CALL UDQFMT(CFMT)によって参照できる.
UDPACKサブルーチンパッケージで使用する内部変数を参照/変更する. ( UDpSTXは実行時オプションによる変更を許す.)
CALL UDpGET(CP,IPARA)
CALL UDpSET(CP,IPARA)
CALL UDpSTX(CP,IPARA)
CP (C*8) 内部変数の名前. IPARA (I,R,L) 内部変数の値.
以下にCPとして指定できる名前のリストを記す.
'INDXMJ' (I) major lineのラインインデクス(初期値は3) . [-1ex]0ex1ex} 'INDXMN' (I) minor lineのラインインデクス(初期値は1) . [-1ex]0ex1ex} 'LABEL' (L) major lineにラベルをつけるかどうかの指定をする. .TRUE.ならつける; .FALSE.ならつけない (初期値は.TRUE.). [-1ex]0ex1ex} 'LDASH' (L) 負のコンターラインを異なるラインタイプで描くかどう かを指定する. .TRUE.のとき負のコンターラインを内部変数'IDASH'の 参照するラインタイプで描く; .FALSE. のときすべてのコンターラインを内部変数'ISOLID'の 参照するラインタイプで描く (初期値は.TRUE.) . [-1ex]0ex1ex} 'IDASH' (I) 'LDASH'が.TRUE.のとき,負のコンターレベルに使う ラインタイプ(初期値は3:破線). [-1ex]0ex1ex} 'ISOLID' (I) 'LDASH'が.TRUE.のとき0以上のコンターレベルに, または'LDASH'が.FALSE. のときすべてのコンターレベルに使う ラインタイプ(初期値は1:実線). [-1ex]0ex1ex} 'ICYCLE' (I) minor lineをmajor lineの間に何本引くかを指定する. すなわち'ICYCLE'で参照する値に1本の割合で major lineを引き,残りはminor lineを引く (初期値は2) . [-1ex]0ex1ex} 'NLEV' (I) コンターレベルを自動的に生成するとき,この内部変数 を参照して 約NLEV本のコンターレベルを生成する (初期値は12). [-1ex]0ex1ex} 'RSIZEL' (R) コンターラベルの文字高(単位はV座標系;初期値は不定 ). この内部変数が不定のとき UZRGET/UZRSET の管理する内部変数'RSIZEL1'を 参照する( [here] 節参照). [-1ex]0ex1ex} 'LMSG' (L) グラフの下部マージンにメッセージを書くかどうかを指 定する. .TRUE.なら書く;.FALSE.なら書かない(初期値は.TRUE.) . [-1ex]0ex1ex} 'RSIZET' (R) グラフの下部マージンに書くメッセージの文字高 (単位はV座標系;初期値は不定). この内部変数が不定のとき UZpGET/UZpSET の管理する内部変数'RSIZEL1'を 参照する( [here] 節参照). [-1ex]0ex1ex} 'XTTL' (R) グラフの下部マージンに書くメッセージの位置を決める 内部変数. -1から+1までの実数値をとりうる. -1のとき左よせ,0のときセンタリング,+1のとき右よせ する (初期値は0). [-1ex]0ex1ex} 'IUNDEF' (I) 値が不定であることを示す内部変数 (初期値は-999) . [-1ex]0ex1ex}
UDPQNP(NCP) 内部変数の総数NCPを求める. UDPQID(CP,IDX) 内部変数CPの位置IDXを求める. UDPQCP(IDX,CP) IDXの位置にある内部変数の名前CPを参照する. UDPQVL(IDX,IPARA) IDXの位置にある内部変数の値IPARAを参照する. UDPSVL(IDX,IPARA) IDXの位置にある内部変数の値IPARAを変更する.
このパッケージにはこのほかに以下の下位ルーチン・関数がある. ここではその名前をあげるにとどめる.
UDSCLZ UDQCLZ UDLINE UDUXUY UDGRDN RUDVAL UDBSET UDBCLR LUDCHK UDISET UDLABL
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:08:06 EDT 1995