999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python用于簡易烈度計系統(tǒng)運維

2017-09-12 06:35:03周藍捷方韓李文惠
科技創(chuàng)新與應用 2017年26期

周藍捷+方韓+李文惠

摘 要:文章是關(guān)于Python在地震監(jiān)測服務器環(huán)境中的應用,使用Python及擴展包進行簡易烈度計地震監(jiān)測服務器運維監(jiān)控、信息分析和發(fā)布。以常見的微信信息推送、延時統(tǒng)計、數(shù)據(jù)有效率統(tǒng)計、格式轉(zhuǎn)換及簡單數(shù)據(jù)分析過程提供了例程。

關(guān)鍵詞:Python;簡易烈度計;運維監(jiān)控

中圖分類號:P315.73 文獻標志碼:A 文章編號:2095-2945(2017)26-0151-02

1 概況

在福建省簡易烈度計地震預警項目實施中,廈門地震勘測研究中心承擔項目中簡易烈度計站點的勘選、安裝、組網(wǎng)建設等工作。在實施過程中,中心在Linux操作系統(tǒng)上,采用Earthworm技術(shù)系統(tǒng)搭建了簡易烈度計數(shù)據(jù)處理平臺。為了更好的監(jiān)控系統(tǒng)運行狀態(tài),減輕值班人員工作量,采用Python語言編寫了系統(tǒng)運行狀態(tài)監(jiān)控與信息發(fā)布程序。

Python是一門簡單易學且功能強大的編程語言。它由荷蘭人Guido van Rossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議。它擁有高效的高級數(shù)據(jù)結(jié)構(gòu),并且能夠用簡單而又高效的方式進行面向?qū)ο缶幊獭ython簡單易學,并具有跨平臺特性,雖然運行效率不高,但并不成為瓶頸,不影響系統(tǒng)表現(xiàn),但開發(fā)效率極高,能夠幫助運維人員快速達成開發(fā)目標。

在開發(fā)的過程中,主要使用了Python中的Numpy、Matplotlib、Bsemap和Obspy等擴展包。

2 在烈度計系統(tǒng)運維中的應用

2.1 運維信息使用微信企業(yè)號推送

#定制并獲取用戶關(guān)心的內(nèi)容content,通過企業(yè)號發(fā)送出去

#gettoken和senddata兩個函數(shù)內(nèi)容略,可直接復用

corpid = 'qiyehaoID'

corpsecret = 'qiyehaoMIYAO'

#獲取token

accesstoken = gettoken(corpid,corpsecret)

#系統(tǒng)通知相關(guān)變量

user = '1|2|21|zlj|35|36|37|62|63|64|zsp'

#給user發(fā)送

contents=getcontent()

senddata(accesstoken,user,contents)

2.2 烈度計數(shù)據(jù)處理

2.2.1 OBSPY.EARTHWORM.CLIENT應用

#實時獲取Earthworm服務器中臺站數(shù)據(jù)當前的延時

from obspy.clients.earthworm import Client

from obspy import UTCDateTime

clientZ = Client("10.35.176.14", 16022, timeout=5)

t = UTCDateTime()

print("Process started at:", t)

responses =clientZ.get_availability(network="FJ")

delays=()

for response in responses:

delays += (response[1],response[5],t-response[5])

print('site:',response[1],'last received:',response[5],'delay is:',float(t-response[5]))

delayinseconds=delays[2::3]

delaymax=max(delayinseconds)

delaymin=min(delayinseconds)

print('current time is',t,'.processed',len(delays)/3,'sites.')

print('max delay of above is:',delaymax,'and min is:',delaymin)

2.2.2 OBSPY-SCAN應用

我們經(jīng)常會有一堆數(shù)據(jù),但是要處理的事件只是其中幾分鐘,我們想看看其中有哪些臺站是可以用的,或者,我們想知道這段時間整個臺網(wǎng)運行的情況。ObsPy提供了obspy-scan腳本可供使用。它在文件頭中檢數(shù)據(jù)文件格式(支持MiniSEED、SAC、SACXY、GSE2、SH-ASC、SH-Q、SEISAN等等),通過計算,以紅色豎線繪制出斷記,以小叉表示數(shù)據(jù)起始點,將整個數(shù)據(jù)文件的有效性直觀的展現(xiàn)出來。這個腳本工具可以一次性掃描超過1000個文件(實際上已經(jīng)在超過30000個文件的序列中運用過,計算持續(xù)時間45分鐘)。它能夠自動的將數(shù)據(jù)文件對應的年份月份繪制出來。對于繪制結(jié)果,我們還可以對關(guān)心的片段進行放大。

如下簡單的一個指令即可進行數(shù)據(jù)文件掃描:

$obspy-scan /home/xmzk/357/*HLZ.mseed -o 357report.png

圖1 obspy-scan的結(jié)果

2.2.3 波形按震中距排序分布圖的繪制

以2016年10月31日16:26分廣東梅州3.6級地震事件中,福建省漳州市境內(nèi)128個簡易烈度計的數(shù)據(jù)記錄,做簡單的震中距排序分布圖為例:endprint

#在列表中查詢臺站經(jīng)緯度,計算震中距,0.1-10Hz帶通濾波,做震中距排序分布圖

#關(guān)鍵部分代碼

for sta in stas:

y,x=os.popen("grep "+sta+" /root/allstation | awk '{print $2,$3}'").read().split()

stZs.select(station=sta)[0].stats.stla=float(x)

stZs.select(station=sta)[0].stats.stlo=float(y)

for sts in stZs:

sts.stats.distance=gps2dist_azimuth(sts.stats.stla,sts.stats.stlo,eq_lat,eq_lon)[0]

Zstf=stZs.filter('bandpass',freqmin=0.1,freqmax=10)

Zstf.plot(type='section')

plt.savefig('/root/imgs/Z-section-'+et+'.png')

2.2.4 數(shù)據(jù)文件的抽取和格式的轉(zhuǎn)換

#對給定的miniseed文件,抽取指定時間的數(shù)據(jù)片段,并轉(zhuǎn)換為SAC格式

from obspy import read,Stream,UTCDateTime

import numpy as np

import os,datetime

pa=input("請輸入數(shù)據(jù)文件完整路徑,以'/'結(jié)束( eg. /home/xmzk/mseed/FJ/2016/305/,當前目錄 ./ ):")

et=input("請輸入有效起始UTC時刻,格式Y(jié)YYYMMDD-HHMM( eg. 20161030-0826 ):")

drt=input("請輸入需要取出的時間長度,單位整數(shù)秒( eg. 300 ):")

dt=UTCDateTime(datetime.datetime.strptime(et,'%Y%m%d-%H%M'))

stZs=read(pa+"*HLZ*.mseed",starttime=dt,endtime=dt+int(drt)).merge().sort()

for sts in stZs:

if hasattr(sts.data,'mask'):

sts.data=sts.data.filled(0)

for sts in stZs:

sts.write('./'+sts.id+'.SAC',format='SAC')

3 小結(jié)與展望

采用Python語言及相應的擴展包能夠提高地震學項目的開發(fā)效率,能夠減少在計算機編程語言方面的學習時間,成倍的提升數(shù)據(jù)處理工作效率,能夠提供豐富的圖形可視化結(jié)果,具有光明的前景,是值得學習并使用的高級計算機語言之一。

參考文獻:

[1]Python Tutorial.http://www.pythondoc.com/pythontutorial3/index.html.

[2]TIOBE.http://www.tiobe.com/.

[3]Numpy.http://www.numpy.org/.

[4]Matplotlib.http://matplotlib.org/.

[5]Basemap.http://matplotlib.org/basemap/.

[6]ObsPy Tutorial.http://docs.obspy.org/tutorial/.endprint

主站蜘蛛池模板: swag国产精品| jijzzizz老师出水喷水喷出| 国产日韩欧美一区二区三区在线| 国产成人h在线观看网站站| 亚洲九九视频| 又猛又黄又爽无遮挡的视频网站| 亚洲人成色在线观看| 国产乱论视频| 亚洲人成人伊人成综合网无码| 91精品国产情侣高潮露脸| 国产成人8x视频一区二区| 日韩欧美网址| 国产AV无码专区亚洲精品网站| 久久精品亚洲热综合一区二区| 天天操天天噜| 亚洲综合精品香蕉久久网| 好吊色妇女免费视频免费| 中文字幕天无码久久精品视频免费 | 18禁黄无遮挡免费动漫网站| 色婷婷成人| 亚洲日韩高清在线亚洲专区| 久久综合成人| 亚洲开心婷婷中文字幕| 国产欧美中文字幕| 国产成人AV男人的天堂| 亚洲高清在线天堂精品| 伊人中文网| 国产女人在线观看| 亚洲高清资源| 亚洲综合九九| 福利姬国产精品一区在线| 亚洲欧美日本国产专区一区| 97久久超碰极品视觉盛宴| 999国产精品| 亚洲中久无码永久在线观看软件| www.91在线播放| 亚洲视频色图| 亚洲日韩精品伊甸| 最新日韩AV网址在线观看| 丝袜国产一区| 婷婷亚洲视频| 最新国产成人剧情在线播放| 91麻豆国产在线| 亚洲视频免费在线看| 久草视频一区| 国产中文一区a级毛片视频| 亚洲天堂精品在线| 亚洲狠狠婷婷综合久久久久| 91精品国产一区| 国产精彩视频在线观看| 国产97区一区二区三区无码| 深爱婷婷激情网| 国产va在线观看免费| 欧美人与牲动交a欧美精品| 午夜福利视频一区| 国产产在线精品亚洲aavv| 国产v精品成人免费视频71pao| 国产成人h在线观看网站站| 日韩无码黄色| 2021国产精品自产拍在线观看| 国产一级精品毛片基地| 少妇精品久久久一区二区三区| 少妇极品熟妇人妻专区视频| 免费观看男人免费桶女人视频| 美女国内精品自产拍在线播放| 亚洲欧美日韩久久精品| 国产精品成人免费综合| 久久精品国产精品一区二区| 三上悠亚在线精品二区| 婷婷五月在线| 亚洲成人网在线观看| 精品国产aⅴ一区二区三区| 国产成人免费高清AⅤ| 最新国产成人剧情在线播放| 亚洲欧美另类日本| 福利小视频在线播放| 亚洲侵犯无码网址在线观看| 国产玖玖玖精品视频| 国产欧美视频在线| 亚洲免费人成影院| 欧美综合成人| 992tv国产人成在线观看|