pmon

Section: WIN SYSTEM (1W)
Updated: 2013.8.29
Index Return to Main Contents
 

名称

pmon - トリガーリストの作成とモニター記録の印刷  

形式

pmon [-o] [-l logfile] param_file
pmon [-o] [-l logfile] param_file yymmdd hhmm length

 

解説

pmon は MON 形式のデータファイルを読み、トリガーリストをファイルに 出力したり、モニター記録をプリンターに出力します。 読み込む MON 形式データは、wdisk(1W) や fromtape(1W) で書き込まれる、 "年月日時.分" の形の名前がついた1分毎のファイルです。 1番目の形式は、オンラインで通常バックグラウンド動作するときの 形式です。プログラムはシグナルによって終了させられるまで終了しません。

2番目の形式は、データの期間を指定して動作させる場合です。 yymmdd で開始する年月日をそれぞれ2桁ずつ計6桁で、 hhmm で同じく時分をそれぞれ2桁ずつの計4桁で、 length で期間を分単位で、指定します。

pmon の動作のしかたは設定ファイル paramfile に記述されている必要があります。 paramfile では1行に1項目が設定されており、その意味は先頭から何行目にあるか で決まります。1行目以外は、スペース・タブまたは改行で区切られた 最初の項目だけが読まれ、その行の以降の部分はコメントとして 扱われます。1行目だけは改行までが読み込まれます。"#"で始まる行は コメント行として無視されます。各行の内容は次のとおりです。


1行目:出力されるモニター記録紙の左下端に印刷される文字列(最大 160字)。この行だけは空白も含めて行末までが使われることに注意してください。

2行目:MON 形式データのディレクトリ。pmon はこのディレクトリから データを読み込みます。このディレクトリには、どの1分ファイルまでが 利用できるか(書き込み完了しているか)を示す標識ファイル LATEST が 必要です。LATEST の内容は、「最も新しく書き込みの完了したファイル」の 名前("YYHHDDhh.mm" の形式)です。 pmon を1番目の形式で起動した場合、pmon はこのディレクトリに 「最後に読み込んだMON ファイル名」を内容とする標識ファイル USED を 作ります。ただし、":"で区切って2つ目のディレクトリを指定した場合は、 それが USED の置き場所として使われます。 USED は、pmon を1番目の形式で起動した際に、前回どこまで処理済で どこから処理を始めるべきかを決めるのに使われます。すなわち pmon は USED に示されるものの次の1分ファイルから処理を開始します。ただし USED ファイルが見つからないか、または USED ファイルの内容が 不正であるとき、1番目の形式で起動された pmon は この MON 形式データのディレクトリにあって最新の1分ファイル名を 内容としてもつ LATEST ファイルを読み、そこから処理を開始します。 さらに、1番目の形式で 起動された pmon では、印刷出力で「時」の変わり目がページの途中に にこないように、処理開始するデータ時間をさかのぼって調整します。

3行目:作業用のディレクトリ。 ":"で区切った後に整数を指定すると、このディレクトリに Sun Raster形式の印刷イメージファイルを保存します。ファイル名は "YYHHDD.hhmm-hhmm.ras" の形式で10分の期間を示します。 最新のものからここで指定された数だけのファイルが保存されるように、 古いファイルから削除されていきます("0" は削除しないことを示します)。 なおカウントと削除の対象になるのは上記の形式のファイル名だけでなく、 同じディレクトリ中にある、数字で始まるファイル名のファイルすべてです。 このとき、このディレクトリ中のファイル COUNT・MAX・LATEST・OLDEST は、 内容として、現ファイル数・最大ファイル数・最新ファイル名・最古ファイル名を それぞれ保持しています。この整数のあとに さらに":"で区切って任意のプログラムを指定すると、そのプログラムに Sun Raster形式の印刷イメージファイルを引き渡すことができます。 そのプログラムは3つの引数、すなわち 印刷イメージファイルのパス名・作業用ディレクトリ名・"YYHHDD.hhmm-hhmm" (印刷イメージファイル名の ".ras"を除いた部分)を伴って起動され、 完了後に印刷イメージファイルは削除されます。このとき、 たとえば、サイズを1/2にしてGIF形式に変換する次のような プログラム "ras2gif"
#!/bin/sh
# ras2gif [rasfile] [outdir] [basename]
PATH=/usr/X11R6/bin
rasttopnm $1|pbmreduce -threshold -value 0.8 2|ppmtogif>$2/$3.2.gif
を作り、設定ファイルの作業ディレクトリ行として
/dat/pmon:1440:/home/auto/ras2gif
と指定すると、/dat/pmon に常時最新の10日分のGIF形式ファイルが 保存されることになります。このようにして作ったGIFファイルを WWWで閲覧する場合の索引ページ作成には make_pmon_index(1W) が 使えます。

4行目:使用するチャネル表ファイルのパス名。

5行目:モニター記録の出力先のプリンター名。pmon が出力するイメージは 400dpiでA4縦の大きさになるような Sun Raster 形式です。プリンターは lpr コマンドでオプション -v を処理することができなくてはなりません。 プリンター名として英字で始まらないような名前(たとえば "*")を 指定した場合は、印刷は行なわれません。標準で Sun Raster 形式を印刷 できないシステムのために、フィルタープログラムとして lpf_lbpvf(1W)、 ras2rpdl(1W)、ras2lips(1W) があります。

6行目:1枚を何段に分割して印刷出力するかを指定する。時間軸は 1段あたり10分間に固定されています。したがって、1ページあたりの 時間は、ここに指定した段数 x 10分間となります。

7行目:何チャネルを出力するかを指定する。ここで指定したチャネル数の トレースが一段に出力されます。 なお、1ページあたりの段数と最大描けるチャネル数の関係の目安は以下の 通りです。チャネル数がこれを超えても重なって見にくくなるだけで、描画自体は 行われます。
段数時間(分)/ページ最大チャネル数
1    10    209    
2    20    103    
3    30    67    
6    60    32    
9    90    20    
12    120    14    

以降はトリガーリスト作成のためのパラメタです。


8行目:出力するトリガーリストファイル名。なお pmon は起動されるとまず このファイルを最後まで読み、すでにリストアップされている最後の時刻より 早い時刻のトリガー情報は出力しません。起動時にこのファイルが存在しなければ 生成されます。

9行目:地域分け定義ファイル名。このファイルは1行に1地域を 定義したテキストファイルで、行の先頭に地域名を、その右にその地域に 属する観測点名を、それぞれ空白・タブ・"/" または "+" で 区切って列挙します。定義する地域の数に制限はありません。 また1つの観測点は10個までの地域に属することができます。 行の先頭の "#" は無視されます。

10行目:1つの地域に属する観測点のうち、同時に何点でトリガーを 検出したらその「地域のトリガー」を宣言するか、を観測点数で指定します。 [3]

11行目:振幅のSTA(短時間平均)を計算するための時定数(秒)。

12行目:振幅のLTA(長時間平均)を計算するための時定数(秒)。

13行目:トリガー中の振幅のLTAを計算するための時定数(秒)。これは、 振幅の大きなイベントの時にトリガーが早く終わり過ぎないように、 12行目の値よりはかなり長くとられます。

14行目:1つの観測点のトリガーを宣言するために必要な、連続して STA/LTA 値がトリガーレベルを超える時間の長さ(秒)。これ以下の 長さだと無視されます。

15行目:1つの観測点のトリガーの終了を宣言するために必要な、 連続してSTA/LTA 値がトリガーレベルを下回る時間の長さ(秒)。 これ以下の長さだとトリガーは継続しているものとみなされます。

16行目:トリガーリストファイルへの出力レベル(0〜3)。内容は 次のとおりです。

0:出力しない。
1:網全体
2:地域毎のトリガー情報も出力する。1字下げて出力される。
3:観測点のトリガー情報も出力する。2字下げて出力される。

17行目以降は各観測点ごとのパラメタ定義で、7行目に設定した チャネル数分の情報を、1行に1チャネル分ずつ設定します。 ここに指定したチャネルがモニター記録に印刷され、同時にトリガー検出 にも使われます。空白行は7行目に設定したチャネル数に 含まれ、モニター記録上で1トレース分のブランクが作られます。1行には 次の4項目を、空白またはタブで区切って書き並べます。5項目め以降は コメントとして無視されます。


(1)観測点コードと(2)成分名(以上は4行目で指定したチャネル表 ファイルになければなりません)。

(3)プロットの振幅スケール。 データを2の何乗分の1で割ってプロットするか、を指定します。 スケールが0のとき、データの1カウントが400dpiのプリンタの 1ピクセルになります。

(4)トリガーレベルとなるSTA/LTA比の値を、 小数点付きの数値で指定します。0.0のときはトリガーには使われません。

paramfile の内容の例を次に示します。

EARTHQUAKE RESEARCH INSTITUTE,  UNIVERSITY OF TOKYO
#                     /* (1) footnote */
/dat/mon:/dat/mon1    /* (2) mon data directory */
/var/tmp              /* (3) temporary work directory */
/dat/etc/channels.tbl /* (4) channel table file */
lp                    /* (5) print name or '*' for no print */
12                    /* (6) rows/sheet (10 min/row) */
12                    /* (7) N of channels, or traces/row */
#
#  EVENT DETECTION PARAMETERS
#
/dat/etc/pmon.out  /* ( 8) file for event trigger report */
/dat/etc/zones.tbl /* ( 9) file fo definition of zones */
3                  /* (10) minimum number of stations to trigger */
0.3                /* (11) time const (sec) of STA */
60.0               /* (12) time const (sec) of LTA */
1000.0             /* (13) time const (sec) of LTA (during trigger) */
2.0                /* (14) duration time (sec) for trigger */
10.0               /* (15) post-event time (sec) to declare end */
1                  /* (16) trigger report level (0:no - 3:full) */
#
#  CHANNEL TABLE
#
#  comp sta/lta(0.0 for unuse) 
#name  scl
#
OKY  U  2 1.5
FCO  U  3 1.5
MOT  U  3 1.5
OOZ  U  3 1.5
UMJ  U  3 1.5
FUJ  U  3 2.5
FJZ  U  3 0.0
KMR  U  3 0.0 
MTS  U  5 2.5
FJO  U  3 2.5
AKY  U  2 2.5
SRY  U  3 2.5

pmon はハングアップシグナルを受け取ると、その時点までにメモリー中で 描画したモニター記録をプリンターへ送って印刷しますが、これは 定期的な印刷の内容や間隔には影響を及ぼさない、余分な出力です。

地域分け定義ファイルの例を次に示します。

FUJIGAWA   OKY FCO MOT OOZ UMJ KRMT / AKY SRY OYM OWD KIN MHK
W-KANTO    SIMB FUJ FJZ KMR MTS FJO / HKN ATA OKY FCO
IZU-PEN    HKN ATA NRY AZRO HAT / SNK OKA J-H
OSHIMA     SNK OKA J-H KSK / TKO1 TKO2 TKO3 TKO4
TOKAI      TKO1 TKO2 TKO3 TKO4 SAGR OMZK / SNK OKA J-H

トリガーリストの内容の例(出力レベル1の場合)を次に示します。

971022.123205 on, at W-KANTO
971022.123300 cont, 1 zone
971022.123304 off, FUJIGAW NIHONKA IZU-PEN
971022.125209 on, at ASHIO
971022.125221 off,
971022.131301 on, at IZU-PEN
971022.131400 cont, 2 zones
971022.131421 off, W-KANTO FUJIGAW N-KANTO S-KANTO NANSHIN ASHIO

この例では、まず97年10月22日12時32分05秒に W-KANTO地域でトリガーが かかり、12時33分00秒現在1地域でトリガーが継続しており、 12時33分04秒にトリガーが終了し、最終的にこのイベントでトリガーが 検出されたのは W-KANTOのほかに、FUJIGAWA, NIHONKAI, IZU-PEN の3つの 地域であったことが報告されています(地域名の8文字目以降は省略 されます)。2つめのイベントは12時52分09秒〜21秒の間、ASHIO地域で トリガーしています。3つ目のイベントは同様に13時13分01秒〜 13時14分21秒の間で、最初にIZU-PEN地域でトリガーし、続いて終了までに W-KANTO等の6地域でもトリガーがかかったことを示しています。

pmon は引数なしで起動すると簡単な使用法を表示します。

同じトリガーリストファイルに出力を書き込む2つ以上の pmon が同時に実行される ことのないように、 pmon は "出力トリガーリストファイル名".lock という名前の 錠ファイルを使用します。起動時にこのファイルがトリガーリストファイルと 同じディレクトリに存在していると、pmon は起動しません。

pmon は 10分ごとに、しかもトリガー中のチャネルが1つもないときに限って、 設定ファイル paramfile の10行目以降を読み直し、必要なら設定を更新します。これによって pmon を 止めずにトリガー関係の設定を変更することができます。ただし、確実に設定を 変更するためにはプログラムを再起動することをお勧めします。  

メッセージ

2番目の形式で起動されたときは、pmon は地域分け定義や MON 形式 データファイルの読み込みに関する、さまざまなメッセージを標準出力に 書き出します。1番目の形式で起動された場合は、それらが出力されない かわりに、設定された観測点のデータが MON ファイル中に存在しなかった 場合、およびそれが回復したときに、標準出力にメッセージ ("XXX absent"、"XXX present")を出力します。  

オプション

-o
オフセットを取り除いてプロットします。オフセット値としては、 最初の1分間の平均値が使われます。このオプションを指定すると、 オフセット電圧自体を監視することはできなくなることに注意して ください。
-l logfile
ログメッセージをファイル logfile に書き出します。このオプションを指定しない場合は、標準出力に ログを書き出します。
 

ソース

`pmon.c'
 

関連事項

wdisk(1W), events(1W), fromtape(1W), lpf_lbpvf(1W), ras2rpdl(1W), ras2lips(1W), make_pmon_index(1W)


 

Index

名称
形式
解説
メッセージ
オプション
ソース
関連事項