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

主站蜘蛛池模板: 美女国内精品自产拍在线播放| 日本亚洲最大的色成网站www| 五月天丁香婷婷综合久久| 色综合日本| 亚洲精品黄| 日韩激情成人| 在线无码av一区二区三区| 亚洲精品动漫| 久久99国产综合精品1| 欧美在线国产| 福利小视频在线播放| 国内精品久久人妻无码大片高| 国产精品99一区不卡| 亚亚洲乱码一二三四区| 亚洲国产高清精品线久久| 亚洲网综合| 亚洲欧州色色免费AV| 特级做a爰片毛片免费69| 999精品视频在线| 欧美在线视频a| 国产成a人片在线播放| 天天色天天操综合网| 91青青在线视频| 2021国产在线视频| 久久国产精品无码hdav| 亚洲综合激情另类专区| 四虎免费视频网站| 色综合久久88| 狠狠ⅴ日韩v欧美v天堂| 欧美激情网址| 久久精品女人天堂aaa| 国产69精品久久| 欧美日韩一区二区在线播放| 99久久精彩视频| 亚洲男人天堂久久| 在线观看无码a∨| 久草视频一区| 国产成人高清精品免费| 亚洲第一成人在线| 无码一区18禁| 国产精品久久久久久久久kt| 无码视频国产精品一区二区| 蜜桃视频一区二区三区| 国产美女丝袜高潮| 特级做a爰片毛片免费69| 国产精品 欧美激情 在线播放| 巨熟乳波霸若妻中文观看免费| 国产香蕉在线视频| 996免费视频国产在线播放| 国产大片喷水在线在线视频| 欧美日本在线观看| 国产乱肥老妇精品视频| 欧美日韩午夜| 亚洲男女在线| 久久影院一区二区h| 国内精品小视频在线| 国产男人天堂| 女高中生自慰污污网站| 国产第三区| 高清不卡毛片| 欧洲在线免费视频| 99er这里只有精品| 精品久久香蕉国产线看观看gif | 99性视频| 青青草国产精品久久久久| 国产午夜无码专区喷水| 一本大道东京热无码av| 国产精品香蕉| 成年人免费国产视频| 欧美成人a∨视频免费观看| 国产精品嫩草影院av| 99re精彩视频| 国产成人综合久久精品下载| 国产一区三区二区中文在线| 91视频青青草| 国产精品播放| 狠狠色成人综合首页| 亚洲国产综合精品一区| 国产一二视频| 亚洲一区二区三区国产精品| 久久久久久午夜精品| 国产成人一区免费观看|