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.
|
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.