staInfos = sacTool.readStaInfos(staLstFile)
taupM = tool.quickTaupModel(modelFile='iaspTaupMat')
modelL = [trainPS.loadModel('modelP_320000_100-2-15'),\
trainPS.loadModel('modelS_320000_100-2-15')]
aMat = sacTool.areaMat(laL, loL, laN, loN)
staTimeML = detecQuake.getStaTimeL(staInfos, aMat, taupM=taupM)
quakeLs = list()
bSec = UTCDateTime(2015, 6, 1).timestamp + 0 * 86400 * 230
eSec = UTCDateTime(2015, 10, 1).timestamp + 0 * 86400 * 231

for date in range(int(bSec), int(eSec), 86400):
    dayNum = int(date / 86400)
    dayDir = workDir + 'output20190901/' + str(dayNum)
    if os.path.exists(dayDir):
        print('done')
        continue
    date = UTCDateTime(float(date))
    print('pick on ', date)
    staL = detecQuake.getStaL(staInfos, aMat, staTimeML,\
     modelL, date, getFileName=names.NMFileName,\
     mode='norm',f=[2,15])
    quakeLs.append(detecQuake.associateSta(staL, aMat, \
        staTimeML, timeR=10, maxDTime=3, N=1,locator=\
        locator(staInfos)))
    tool.saveQuakeLWaveform(staL, quakeLs[-1], \
        matDir=workDir+'output20190901/',\
            index0=-1500,index1=1500)
    tool.saveQuakeLs(quakeLs, workDir + 'phaseLsNM20190901V6')
    detecQuake.plotResS(staL, quakeLs[-1], outDir=workDir + 'output20190901/')
    staL = []
    date += 86400
    sacTool.cutSacByDate(date,staInfos,names.NMFileName,R=[38,40,100,104],outDir=traceDir,\
    decMul=2,B=0,E=86400-10,isFromO=True,nameMode='ML')

quakeWLXL = tool.readQuakeLsByP('NM/phaseLstWLX', staInfos)[0]
catalog = WLXDIR + 'catalog.dat'
tool.saveQuakeLs(quakeWLXL, catalog, mod='ML')
date = UTCDateTime(2015, 9, 19, 0, 0, 10)
laL = R[:2]
loL = R[2:]
laN = 30
loN = 30
modelL = None
aMat = sacTool.areaMat(laL, loL, laN, loN)
staTimeML = [None for staInfo in staInfos]
staL = detecQuake.getStaL(staInfos, aMat, staTimeML, modelL,date, \
    getFileName=names.NMFileName,mode='mid',isPre=False,f=[2,8],R=[38,40,100,104])
waveformL, tmpNameL = tool.loadWaveformLByQuakeL(quakeWLXL,
                                                 isCut=True,
                                                 matDir='NM/output/',
                                                 f=[2, 8])
quakeCCLs = []
quakeCCLs.append(pyMFTCuda.doMFTAll(staL,waveformL,date.timestamp,86400*50,\
    locator=locator(staInfos),tmpNameL=tmpNameL,minDelta=50*5,MINMUL=7,\
    quakeRefL=quakeWLXL,maxCC=0.3,winTime=0.8,R=[38,40,100,104],minMul=3,maxDis=200,\
    deviceL=['cuda:0','cuda:1']))
date = UTCDateTime(2015, 1, 1, 0, 0, 10)
quakeCCLs = []
for i in range(30):
    date += 86400
    staL = detecQuake.getStaL(staInfos, aMat, staTimeML, modelL,date, \
        getFileName=names.NMFileName,mode='mid',isPre=False,f=[2,8],R=[38,40,100,104])
Пример #3
0
quakeLs = tool.readQuakeLs('NM/phaseLstNMALLReloc', staInfos)
laL = R[:2]
loL = R[2:]
laN = 30
loN = 30
modelL = None
aMat = sacTool.areaMat(laL, loL, laN, loN)
staTimeML = [None for staInfo in staInfos]
for sec in range(int(sDate.timestamp), int(eDate.timestamp), 86400):
    print(sec)
    date = UTCDateTime(sec)
    dayNum = int(sec / 86400)
    dayDir = 'NM/output/' + str(dayNum)

    if os.path.exists(dayDir):
        print('done')
        continue
    quakeL = []
    for quakeLTmp in quakeLs:
        for quake in quakeLTmp:
            if quake.time >= date.timestamp and quake.time < date.timestamp + 86400:
                quakeL.append(quake)
    if len(quakeL) == 0:
        print('no quake', date)
        continue
    staL = detecQuake.getStaL(staInfos, aMat, staTimeML, modelL,date, \
        getFileName=names.NMFileName,mode='mid',isPre=False,R=R,f=[-1,-1])
    print('quake Num:%d' % len(quakeL))
    tool.saveQuakeLWaveform(staL, quakeL, matDir='NM/output/')
    detecQuake.plotResS(staL, quakeL, outDir='NM/output/')
Пример #4
0
laN=20
loN=20
modelL = [trainPS.loadModel('modelPNew2_15'),trainPS.loadModel('modelSNew2_15')]
aMat=sacTool.areaMat(laL,loL,laN,loN)
staTimeML= detecQuake.getStaTimeL(staInfos, aMat, taupM=taupM)
quakeLs=list()

for i in range(181, 210):
    print('pick on ',i)
    date = UTCDateTime(2008,1,1)+i*86400
    dayNum=int(date.timestamp/86400)
    dayDir='output/'+str(dayNum)
    if os.path.exists(dayDir):
        print('done')
        continue
    staL = detecQuake.getStaL(staInfos, aMat, staTimeML, modelL, date, taupM=taupM, mode='mid')
    quakeLs.append(detecQuake.associateSta(staL, aMat, staTimeML, timeR=10, maxDTime=3, N=1,\
        locator=locator(staInfos)))
    tool.saveQuakeLs(quakeLs, 'phaseLst2')
    tool.saveQuakeLWaveform(staL, quakeLs[-1], matDir='output/')
    detecQuake.plotResS(staL,quakeLs[-1])

tool.saveQuakeLs(quakeLs, 'phaseLst2')

import os 
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
import detecQuake
#import trainPS
import sacTool
from imp import reload
from obspy import UTCDateTime
Пример #5
0
        sacFileNames=sacFileNames+glob(fileP)
    return sacFileNames

taupM=tool.quickTaupModel(modelFile='iaspTaupMat')
laL=[32,44]
loL=[102,118]
laN=40
loN=40
modelL = [trainPS.loadModel('modelPNew2_15'),trainPS.loadModel('modelSNew2_15')]
aMat=sacTool.areaMat(laL,loL,laN,loN)
staTimeML= detecQuake.getStaTimeL(staInfos, aMat, taupM=taupM)
quakeLs=list()
bSec=UTCDateTime(2014,1,1).timestamp+0*86400*230
eSec=UTCDateTime(2017,2,4).timestamp+0*86400*231

for date in range(int(bSec),int(eSec),86400):
    dayNum=int(date/86400)
    dayDir='output/'+str(dayNum)
    if os.path.exists(dayDir):
        print('done')
        continue
    date=UTCDateTime(float(date))
    print('pick on ',date)
    #date = UTCDateTime(2015,1,1)+i*86400
    staL = detecQuake.getStaL(staInfos, aMat, staTimeML, modelL, date, getFileName=NMFileName,mode='mid')
    quakeLs.append(detecQuake.associateSta(staL, aMat, staTimeML, timeR=10, maxDTime=3, N=1,locator=locator(staInfos)))
    tool.saveQuakeLWaveform(staL, quakeLs[-1], matDir='output/')
    tool.saveQuakeLs(quakeLs, 'phaseLstHimaNewV100')
    detecQuake.plotResS(staL,quakeLs[-1])
    staL=[]