DCL でファイル出力(png, eps形式)するとき、ファイル名の設定を特に何もしなければ、dcl_0001.png、dcl_0002.png のように連番で出力されます。この連番の桁数を制御したいというのが本投稿の趣旨です。検索してみても意外と引っ掛からないので、完全に備忘録です。以下の記述は GPhys(つまり RubyDCL)での記載を想定しています。FortranDCL には詳しくないので割愛します。
HTML版のマニュアルには記載がありません。PDF版の「地球流体電脳ライブラリ GRPH1 (図形処理下位パッケージ)」p.105 に記載があります。
http://www.gfd-dennou.org/library/dcl/pdf/grph1.pdf
swpack の内部変数管理ルーチンを使います。内部変数 ’IDMPDGT’ を swpset で設定することで実現できます。デフォルトは4になっています。これを例えば3桁出力(dcl_001.png, dcl_002.png・・・)のようにするには、以下のように設定します。
DCL.swpset('idmpdgt', 3) # 内部変数は小文字でもOK
あるいは、他にも swpack の内部変数を設定することを見越して、ハッシュによる設定ができる以下の記載でも良いでしょう。
DCLExt.sw_set_params 'idmpdgt'=>3 # ハッシュで指定する
ちなみに、装置番号 'IWS' は現在の DCL のバージョンでは、
1: DISP, 2: FILES
の2択のみになっており、ファイル出力は PDF がデフォルトになっていますが、swpack の内部変数('IFL')で出力形式を変更できます。
内部変数('IFL')の設定は DCL.swpset('ifl', 1) のように設定してもよいですが、GGraph.startup でも制御できるので、
GGraph.startup 'iws'=>2, 'ifl'=>1 # 出力をファイルにし png 形式にする
のようにすることをオススメしています。