has_get_plot_classes
if event.depth is None: event.depth = 0.
base_source = gf.ExplosionSource.from_pyrocko_event(event) base_source.stf = gf.HalfSinusoidSTF(duration=event.duration or 0.0)
subs = dict( event_name=event.name, event_time=util.time_to_str(event.time))
problem = VolumePointProblem( name=expand_template(self.name_template, subs), base_source=base_source, target_groups=target_groups, targets=targets, ranges=self.ranges, distance_min=self.distance_min, norm_exponent=self.norm_exponent, nthreads=self.nthreads)
return problem
Parameter('north_shift', 'm', label='Northing', **as_km), Parameter('east_shift', 'm', label='Easting', **as_km), Parameter('depth', 'm', label='Depth', **as_km), Parameter('volume_change', 'm^3', label='Volume Change', **as_km3) ]
Parameter('time', 's', label='Time'), Parameter('duration', 's', label='Duration') ]
arr = self.get_parameter_array(source) for ip, p in enumerate(self.parameters): if p.name == 'time': arr[ip] -= self.base_source.time return arr
d = self.get_parameter_dict(x)
p = {k: float(self.ranges[k].make_relative(self.base_source[k], d[k])) for k in self.base_source.keys() if k in d}
stf = None if self.has_waveforms: stf = gf.HalfSinusoidSTF(duration=float(d.duration))
source = self.base_source.clone(stf=stf, **p) return source
def get_plot_classes(cls): |