merge origin/develop into develop
This commit is contained in:
commit
929f58b942
36
autoPyLoT.py
36
autoPyLoT.py
@ -243,7 +243,7 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
|||||||
# get latest NLLoc-location file if several are available
|
# get latest NLLoc-location file if several are available
|
||||||
nllocfile = max(glob.glob(locsearch), key=os.path.getctime)
|
nllocfile = max(glob.glob(locsearch), key=os.path.getctime)
|
||||||
evt = read_events(nllocfile)[0]
|
evt = read_events(nllocfile)[0]
|
||||||
# calculating seismic moment Mo and moment magnitude Mw
|
# calculate seismic moment Mo and moment magnitude Mw
|
||||||
moment_mag = MomentMagnitude(corr_dat, evt, parameter.get('vp'),
|
moment_mag = MomentMagnitude(corr_dat, evt, parameter.get('vp'),
|
||||||
parameter.get('Qp'),
|
parameter.get('Qp'),
|
||||||
parameter.get('rho'), True, \
|
parameter.get('rho'), True, \
|
||||||
@ -255,14 +255,22 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
|||||||
net_mw = moment_mag.net_magnitude()
|
net_mw = moment_mag.net_magnitude()
|
||||||
print("Network moment magnitude: %4.1f" % net_mw.mag)
|
print("Network moment magnitude: %4.1f" % net_mw.mag)
|
||||||
# calculate local (Richter) magntiude
|
# calculate local (Richter) magntiude
|
||||||
|
WAscaling = parameter.get('WAscaling')
|
||||||
|
magscaling = parameter.get('magscaling')
|
||||||
local_mag = LocalMagnitude(corr_dat, evt,
|
local_mag = LocalMagnitude(corr_dat, evt,
|
||||||
parameter.get('sstop'), parameter.get('WAscaling'), \
|
parameter.get('sstop'),
|
||||||
True, iplot)
|
WAscaling, True, iplot)
|
||||||
for station, amplitude in local_mag.amplitudes.items():
|
for station, amplitude in local_mag.amplitudes.items():
|
||||||
picks[station]['S']['Ao'] = amplitude.generic_amplitude
|
picks[station]['S']['Ao'] = amplitude.generic_amplitude
|
||||||
evt = local_mag.updated_event(parameter.get('magscaling'))
|
print("Local station magnitudes scaled with:")
|
||||||
net_ml = local_mag.net_magnitude()
|
print("log(Ao) + %f * log(r) + %f * r + %f" % (WAscaling[0],
|
||||||
|
WAscaling[1],
|
||||||
|
WAscaling[2]))
|
||||||
|
evt = local_mag.updated_event(magscaling)
|
||||||
|
net_ml = local_mag.net_magnitude(magscaling)
|
||||||
print("Network local magnitude: %4.1f" % net_ml.mag)
|
print("Network local magnitude: %4.1f" % net_ml.mag)
|
||||||
|
print("Network local magnitude scaled with:")
|
||||||
|
print("%f * Ml + %f" % (magscaling[0], magscaling[1]))
|
||||||
else:
|
else:
|
||||||
print("autoPyLoT: No NLLoc-location file available!")
|
print("autoPyLoT: No NLLoc-location file available!")
|
||||||
print("No source parameter estimation possible!")
|
print("No source parameter estimation possible!")
|
||||||
@ -306,7 +314,7 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
|||||||
nlloccounter = maxnumit
|
nlloccounter = maxnumit
|
||||||
evt = read_events(nllocfile)[0]
|
evt = read_events(nllocfile)[0]
|
||||||
if locflag < 2:
|
if locflag < 2:
|
||||||
# calculating seismic moment Mo and moment magnitude Mw
|
# calculate seismic moment Mo and moment magnitude Mw
|
||||||
moment_mag = MomentMagnitude(corr_dat, evt, parameter.get('vp'),
|
moment_mag = MomentMagnitude(corr_dat, evt, parameter.get('vp'),
|
||||||
parameter.get('Qp'),
|
parameter.get('Qp'),
|
||||||
parameter.get('rho'), True, \
|
parameter.get('rho'), True, \
|
||||||
@ -318,14 +326,22 @@ def autoPyLoT(input_dict=None, parameter=None, inputfile=None, fnames=None, even
|
|||||||
net_mw = moment_mag.net_magnitude()
|
net_mw = moment_mag.net_magnitude()
|
||||||
print("Network moment magnitude: %4.1f" % net_mw.mag)
|
print("Network moment magnitude: %4.1f" % net_mw.mag)
|
||||||
# calculate local (Richter) magntiude
|
# calculate local (Richter) magntiude
|
||||||
|
WAscaling = parameter.get('WAscaling')
|
||||||
|
magscaling = parameter.get('magscaling')
|
||||||
local_mag = LocalMagnitude(corr_dat, evt,
|
local_mag = LocalMagnitude(corr_dat, evt,
|
||||||
parameter.get('sstop'), parameter.get('WAscaling'), \
|
parameter.get('sstop'),
|
||||||
True, iplot)
|
WAscaling, True, iplot)
|
||||||
for station, amplitude in local_mag.amplitudes.items():
|
for station, amplitude in local_mag.amplitudes.items():
|
||||||
picks[station]['S']['Ao'] = amplitude.generic_amplitude
|
picks[station]['S']['Ao'] = amplitude.generic_amplitude
|
||||||
evt = local_mag.updated_event(parameter.get('magscaling'))
|
print("Local station magnitudes scaled with:")
|
||||||
net_ml = local_mag.net_magnitude(parameter.get('magscaling'))
|
print("log(Ao) + %f * log(r) + %f * r + %f" % (WAscaling[0],
|
||||||
|
WAscaling[1],
|
||||||
|
WAscaling[2]))
|
||||||
|
evt = local_mag.updated_event(magscaling)
|
||||||
|
net_ml = local_mag.net_magnitude(magscaling)
|
||||||
print("Network local magnitude: %4.1f" % net_ml.mag)
|
print("Network local magnitude: %4.1f" % net_ml.mag)
|
||||||
|
print("Network local magnitude scaled with:")
|
||||||
|
print("%f * Ml + %f" % (magscaling[0], magscaling[1]))
|
||||||
else:
|
else:
|
||||||
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
print("autoPyLoT: No NLLoc-location file available! Stop iteration!")
|
||||||
locflag = 9
|
locflag = 9
|
||||||
|
@ -284,7 +284,7 @@ defaults = {'rootpath': {'type': str,
|
|||||||
|
|
||||||
'magscaling': {'type': (float, float),
|
'magscaling': {'type': (float, float),
|
||||||
'tooltip': 'Scaling relation for derived local magnitude [a*Ml+b]. \
|
'tooltip': 'Scaling relation for derived local magnitude [a*Ml+b]. \
|
||||||
If zeros are set, no scaling is of network magnitude is applied.',
|
If zeros are set, no scaling of network magnitude is applied!',
|
||||||
'value': (0., 0.)}
|
'value': (0., 0.)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,24 +221,23 @@ class PylotParameter(object):
|
|||||||
# for key, value in self.iteritems():
|
# for key, value in self.iteritems():
|
||||||
# lines.append('{key}\t{value}\n'.format(key=key, value=value))
|
# lines.append('{key}\t{value}\n'.format(key=key, value=value))
|
||||||
# fid_out.writelines(lines)
|
# fid_out.writelines(lines)
|
||||||
|
|
||||||
header = ('%This is a parameter input file for PyLoT/autoPyLoT.\n'+
|
header = ('%This is a parameter input file for PyLoT/autoPyLoT.\n'+
|
||||||
'%All main and special settings regarding data handling\n'+
|
'%All main and special settings regarding data handling\n'+
|
||||||
'%and picking are to be set here!\n'+
|
'%and picking are to be set here!\n'+
|
||||||
'%Parameters are optimized for local data sets!\n')
|
'%Parameters are optimized for %{} data sets!\n'.format(self.get_main_para_names()['pick'][0]))
|
||||||
seperator = '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n'
|
separator = '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n'
|
||||||
|
|
||||||
fid_out.write(header)
|
fid_out.write(header)
|
||||||
self.write_section(fid_out, self.get_main_para_names()['dirs'],
|
self.write_section(fid_out, self.get_main_para_names()['dirs'],
|
||||||
'main settings', seperator)
|
'main settings', separator)
|
||||||
self.write_section(fid_out, self.get_main_para_names()['nlloc'],
|
self.write_section(fid_out, self.get_main_para_names()['nlloc'],
|
||||||
'NLLoc settings', seperator)
|
'NLLoc settings', separator)
|
||||||
self.write_section(fid_out, self.get_main_para_names()['smoment'],
|
self.write_section(fid_out, self.get_main_para_names()['smoment'],
|
||||||
'parameters for seismic moment estimation', seperator)
|
'parameters for seismic moment estimation', separator)
|
||||||
self.write_section(fid_out, self.get_main_para_names()['localmag'],
|
self.write_section(fid_out, self.get_main_para_names()['localmag'],
|
||||||
'settings local magnitude', seperator)
|
'settings local magnitude', separator)
|
||||||
self.write_section(fid_out, self.get_main_para_names()['pick'],
|
self.write_section(fid_out, self.get_main_para_names()['pick'],
|
||||||
'common settings picker', seperator)
|
'common settings picker', separator)
|
||||||
fid_out.write(('#special settings for calculating CF#\n'+
|
fid_out.write(('#special settings for calculating CF#\n'+
|
||||||
'%!!Edit the following only if you know what you are doing!!%\n'))
|
'%!!Edit the following only if you know what you are doing!!%\n'))
|
||||||
self.write_section(fid_out, self.get_special_para_names()['z'],
|
self.write_section(fid_out, self.get_special_para_names()['z'],
|
||||||
@ -250,9 +249,9 @@ class PylotParameter(object):
|
|||||||
self.write_section(fid_out, self.get_special_para_names()['quality'],
|
self.write_section(fid_out, self.get_special_para_names()['quality'],
|
||||||
'quality assessment', None)
|
'quality assessment', None)
|
||||||
|
|
||||||
def write_section(self, fid, names, title, seperator):
|
def write_section(self, fid, names, title, separator):
|
||||||
if seperator:
|
if separator:
|
||||||
fid.write(seperator)
|
fid.write(separator)
|
||||||
fid.write('#{}#\n'.format(title))
|
fid.write('#{}#\n'.format(title))
|
||||||
l_val = 50
|
l_val = 50
|
||||||
l_name = 15
|
l_name = 15
|
||||||
|
Loading…
Reference in New Issue
Block a user