コンテンツにスキップ

Final

Modules for handling final file of hypomh.

History
  • v0.2.0
    • remove conventional Final.read and replaced by Final.read2 (2024/07/03)
    • comment out Final.write (2024/07/03)
    • enhance Final.read (2024/07/03)
      • read info of each station and std of O-C of P, S.

logger = logging.getLogger(__name__) module-attribute

Final

handle final file of hypomh.

Parameters:

Name Type Description Default
text str

Raw text from final file.

required
origintime datetime

Origin time.

required
lat float

Hypocenter latitude in degrees.

required
lon float

Hypocenter longitude in degrees.

required
dep_km float

Hypocenter depth in km. Downward is positive.

required
mag float

Magnitude. Get np.nan if not calculated.

required
diag str

Diagnosis by hypomh. CONV, NOCN, DEEP, AIRF

required
cxx

Covariance matrix.

required
cxy

Covariance matrix.

required
initlat float

Initial hypocenter.

required
initlon float

Initial hypocenter.

required
initdep float

Initial hypocenter.

required
initlatunc float

Uncertainty of initial hypocenter.

required
initlonunc float

Uncertainty of initial hypocenter.

required
initdepunc float

Uncertainty of initial hypocenter.

required
n_station int

Number of stations.

required
model str

Velocity structure model.

required
n_p int

Number of P, S, initial data. n_init is always 3.

required
n_s int

Number of P, S, initial data. n_init is always 3.

required
n_init int

Number of P, S, initial data. n_init is always 3.

required
contrib_p float

Contribution of P, S, initial data.

required
contrib_s float

Contribution of P, S, initial data.

required
contrib_init float

Contribution of P, S, initial data.

required
arrivals DataFrame

Arrival information of each station.

required
poc_std float

Standard deviation of O-C of P, S.

required
soc_std float

Standard deviation of O-C of P, S.

required
Exaple
fp = "fp/for/final"
final = Final()
final.read(fp)
Official documentation of win (pickfile)

1行目は震源時・緯度(度)、経度(度)、深さ(km)・マグニチュード、
2行目は診断("CONV"・"NOCN"・"DEEP"・"AIRF"ど)と結果の誤差 (秒および km単位)です。ただし震源時の誤差は常に0で意味がありません。
3行目は誤差共分散行列の6つの成分で、東をx、南をy、下をzに とった km 単位の座標系で、Cxx,Cxy,Cxz,Cyy,Cyz,Czzの順です。 従って2行目の緯度・経度・深さの誤差の自乗が、それぞれ Cyy,Cxx,Czzに なっているはずです。
4行目は与えた初期震源の位置およびその不確定さ で、緯度(度)・緯度の不確定さ(km)・経度(度)・経度の不確定さ(km)・ 深さ(km)・深さの不確定さ(km)です。
5行目は左から、観測点数、速度構造 モデル名、P時刻データの数、S時刻データの数、初期値データの数(これは 初期震源の座標なので常に3)で、括弧内はそれぞれのデータからの寄与の 割合がパーセントで示されています(ただしhypomhの作者によると P,Sそれぞれのパーセント表示は問題があって、両者の和は信用できる、 とのこと)。
6行目からは各観測点ごとの結果が観測点数だけあって、各行の内容は、 左から、観測点コード・P極性・震央距離(km)・観測点方位(北から東回り (度))・射出角(下から(度))・入射角(下から(度))・観測点補正後の P時刻(s)・P精度(s)・P時刻のO-C(s)・観測点補正後のS時刻(s)・S精度(s)・ S時刻のO-C(s)・最大振幅(m/s)・マグニチュードです。ただし、最大振幅 データがなくてF-P時間データがある場合には、最大振幅の代わりに F-P時間(s)が表示されます。F-P時間の場合は一般に値が1以上になります ので、値からこの判別は容易です。マグニチュードは、最大振幅データがある 場合は渡辺(1971)の式を、F-P時間データしかない場合は津村(1967)の式を、 それぞれ使って求められていて、値"9.9"はマグニチュード未決定の意味です。 最後の行は、P時刻のO-CとS時刻のO-Cのそれぞれの標準偏差(s)です。 震源がよく決まった場合は、各観測点のO-C時間が精度と同程度以下に なっているはずです。

arrivals: pd.DataFrame instance-attribute

contrib_init: float instance-attribute

contrib_p: float instance-attribute

contrib_s: float instance-attribute

cov: np.ndarray instance-attribute

cxx: float instance-attribute

cxy: float instance-attribute

cyy: float instance-attribute

cyz: float instance-attribute

czz: float instance-attribute

dep_km: float instance-attribute

deperror: float instance-attribute

diag: str instance-attribute

initdep: float instance-attribute

initdepunc: float instance-attribute

initlat: float instance-attribute

initlatunc: float instance-attribute

initlon: float instance-attribute

initlonunc: float instance-attribute

lat: float instance-attribute

laterror: float instance-attribute

lon: float instance-attribute

lonerror: float instance-attribute

mag: float instance-attribute

model: str instance-attribute

n_init: int instance-attribute

n_p: int instance-attribute

n_s: int instance-attribute

n_station: int instance-attribute

origintime: datetime.datetime instance-attribute

poc_std: float instance-attribute

soc_std: float instance-attribute

text: str instance-attribute

__init__()

generate Final object.

read(fp)

read final file by hypomh.

Parameters:

Name Type Description Default
fp str

file path for final file.

required
See Also

hypomh.f l.237-

2100 FORMAT('***** FINAL RESULTS *****')
    WRITE( 6,2200) IYR,MNT,IDY,IHR,MIN,COT,ALATF,ALNGF,XM1(3)
    *              ,AMAG
    WRITE(22,2200) IYR,MNT,IDY,IHR,MIN,COT,ALATF,ALNGF,XM1(3)
    *              ,AMAG
    WRITE(21,2200) IYR,MNT,IDY,IHR,MIN,COT,ALATF,ALNGF,XM1(3)
    *              ,AMAG
    WRITE(22,2210) DIAG,EOT,EX1(2),EX1(1),EX1(3)
    WRITE(21,2210) DIAG,EOT,EX1(2),EX1(1),EX1(3)
    WRITE( 6,2210) DIAG,EOT,EX1(2),EX1(1),EX1(3)
    WRITE(22,2220) H(1,1),-H(1,2),H(1,3),H(2,2),-H(2,3),H(3,3)
    WRITE(21,2220) H(1,1),-H(1,2),H(1,3),H(2,2),-H(2,3),H(3,3)
    WRITE( 6,2220) H(1,1),-H(1,2),H(1,3),H(2,2),-H(2,3),H(3,3)
    WRITE(22,2230) ALATI,EX0(2),ALNGI,EX0(1),XM0(3),EX0(3)
    WRITE(21,2230) ALATI,EX0(2),ALNGI,EX0(1),XM0(3),EX0(3)
    WRITE( 6,2230) ALATI,EX0(2),ALNGI,EX0(1),XM0(3),EX0(3)
    WRITE(22,2240) ND,VST,NPD,RSL(1),NSD,RSL(2),NPR,RSL(3)
    WRITE(21,2240) ND,VST,NPD,RSL(1),NSD,RSL(2),NPR,RSL(3)
    WRITE( 6,2240) ND,VST,NPD,RSL(1),NSD,RSL(2),NPR,RSL(3)
......
2200 FORMAT(3I3.2,3X,2I3,F8.3,2F11.5,    F8.3,F6.1)
2210 FORMAT(3X,A4,11X, F8.3,2(F9.3,2X),F8.3)
C 2220 FORMAT(2(F8.3,1X),F8.3,2(F9.3,2X),F8.3)
2220 FORMAT(6F10.3)
2230 FORMAT(12X,3(F7.3,1X,F5.1,1X))
2240 FORMAT(2X,I3,1X,A4,1X,3(I3,1X,'(',F5.1,'%',1X,')',1X))

xyellipse()

xzellipse()

yzellipse()

cov2ellipse(cxx, cyy, cxy)

linux(command, verbose=False)

read_final(fp)

read_finals(fplist)

yy2yyyy(yy)

Convert yy of hypomh to yyyy.