Usage Examples¶
This section shows some more extensive examples demonstrating that
SEIS-PROV
can be used to capture provenance for a wide range of
seismological relevant applications. Keep in mind that these diagrams describe
the history of some piece of data, not a workflow. The arrows point towards
the past, e.g. to the origin/history of any piece of data.
Note
Right click -> View Image to see the graphs in more detail.
Detailed Processing Chain¶
This example demonstrates how a linear chain of signal processing routines can be described. The data has been detrended with a linear fit, then a Butterworth lowpass filter has been applied and finally some integer decimation has been performed. All of these operations where performed by a certain version of ObsPy. Toolboxes can be adapted to provide this kind of provenance information fully automatic.
Python code utilizing the prov package.
import prov
import prov.model
NS_PREFIX = "seis_prov"
NS_SEIS = (NS_PREFIX, "http://seisprov.org/seis_prov/0.1/#")
pr = prov.model.ProvDocument()
pr.add_namespace(*NS_SEIS)
obspy = pr.agent("seis_prov:sp000_sa_9dig8ata", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "ObsPy"),
("seis_prov:software_name", "ObsPy"),
("seis_prov:software_version", "0.10.1"),
("seis_prov:website", "http://www.obspy.org"),
("seis_prov:doi", "10.1785/gssrl.81.3.530"))
)
trace_1 = pr.entity("seis_prov:sp001_wf_490dfadf3", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.FURT.00.BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(6000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
detrend = pr.activity("seis_prov:sp002_dt_f87sf7sf78", other_attributes=(
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean"),
))
trace_2 = pr.entity("seis_prov:sp003_wf_js83hf34aj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.FURT.00.BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(6000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
lowpass = pr.activity("seis_prov:sp004_lp_f87sf7sf78", other_attributes=(
("prov:label", "Lowpass Filter"),
("prov:type", "seis_prov:lowpass_filter"),
("seis_prov:filter_type", "Butterworth"),
("seis_prov:corner_frequency", 10.0),
("seis_prov:filter_order", 4),
("seis_prov:number_of_passes", 1),
))
trace_3 = pr.entity("seis_prov:sp005_wf_378f8ks8kd", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.FURT.00.BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(6000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
decimate = pr.activity("seis_prov:sp006_dc_f87sf7sf78", other_attributes=(
("prov:label", "Decimate"),
("prov:type", "seis_prov:decimate"),
("seis_prov:factor", 2))
)
trace_4 = pr.entity("seis_prov:sp007_wf_jadz89du8l", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.FURT.00.BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(3000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
pr.association(detrend, obspy)
pr.association(lowpass, obspy)
pr.association(decimate, obspy)
pr.usage(detrend, trace_1)
pr.usage(lowpass, trace_2)
pr.usage(decimate, trace_3)
pr.generation(trace_2, detrend)
pr.generation(trace_3, lowpass)
pr.generation(trace_4, decimate)
In the PROV-XML serialization.
<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:seis_prov="http://seisprov.org/seis_prov/0.1/#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prov:softwareAgent prov:id="seis_prov:sp000_sa_9dig8ata">
<prov:label>ObsPy</prov:label>
<seis_prov:doi>10.1785/gssrl.81.3.530</seis_prov:doi>
<seis_prov:software_name>ObsPy</seis_prov:software_name>
<seis_prov:software_version>0.10.1</seis_prov:software_version>
<seis_prov:website>http://www.obspy.org</seis_prov:website>
</prov:softwareAgent>
<prov:entity prov:id="seis_prov:sp001_wf_490dfadf3">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">6000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.FURT.00.BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:activity prov:id="seis_prov:sp002_dt_f87sf7sf78">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:entity prov:id="seis_prov:sp003_wf_js83hf34aj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">6000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.FURT.00.BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:activity prov:id="seis_prov:sp004_lp_f87sf7sf78">
<prov:label>Lowpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:lowpass_filter</prov:type>
<seis_prov:corner_frequency xsi:type="xsd:double">10.0</seis_prov:corner_frequency>
<seis_prov:filter_order xsi:type="xsd:int">4</seis_prov:filter_order>
<seis_prov:filter_type>Butterworth</seis_prov:filter_type>
<seis_prov:number_of_passes xsi:type="xsd:int">1</seis_prov:number_of_passes>
</prov:activity>
<prov:entity prov:id="seis_prov:sp005_wf_378f8ks8kd">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">6000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.FURT.00.BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:activity prov:id="seis_prov:sp006_dc_f87sf7sf78">
<prov:label>Decimate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:decimate</prov:type>
<seis_prov:factor xsi:type="xsd:int">2</seis_prov:factor>
</prov:activity>
<prov:entity prov:id="seis_prov:sp007_wf_jadz89du8l">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">3000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.FURT.00.BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp002_dt_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_lp_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp006_dc_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_490dfadf3"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_lp_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_js83hf34aj"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dc_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_378f8ks8kd"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_js83hf34aj"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_378f8ks8kd"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_lp_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_jadz89du8l"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dc_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
</prov:document>
In the PROV-JSON serialization.
{
"activity": {
"seis_prov:sp002_dt_f87sf7sf78": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp004_lp_f87sf7sf78": {
"prov:label": "Lowpass Filter",
"prov:type": "seis_prov:lowpass_filter",
"seis_prov:corner_frequency": {
"$": 10.0,
"type": "xsd:double"
},
"seis_prov:filter_order": {
"$": 4,
"type": "xsd:int"
},
"seis_prov:filter_type": "Butterworth",
"seis_prov:number_of_passes": {
"$": 1,
"type": "xsd:int"
}
},
"seis_prov:sp006_dc_f87sf7sf78": {
"prov:label": "Decimate",
"prov:type": "seis_prov:decimate",
"seis_prov:factor": {
"$": 2,
"type": "xsd:int"
}
}
},
"agent": {
"seis_prov:sp000_sa_9dig8ata": {
"prov:label": "ObsPy",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:doi": "10.1785/gssrl.81.3.530",
"seis_prov:software_name": "ObsPy",
"seis_prov:software_version": "0.10.1",
"seis_prov:website": "http://www.obspy.org"
}
},
"entity": {
"seis_prov:sp001_wf_490dfadf3": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 6000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.FURT.00.BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
},
"seis_prov:sp003_wf_js83hf34aj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 6000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.FURT.00.BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
},
"seis_prov:sp005_wf_378f8ks8kd": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 6000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.FURT.00.BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
},
"seis_prov:sp007_wf_jadz89du8l": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 3000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.FURT.00.BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
}
},
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"used": {
"_:id4": {
"prov:activity": "seis_prov:sp002_dt_f87sf7sf78",
"prov:entity": "seis_prov:sp001_wf_490dfadf3"
},
"_:id5": {
"prov:activity": "seis_prov:sp004_lp_f87sf7sf78",
"prov:entity": "seis_prov:sp003_wf_js83hf34aj"
},
"_:id6": {
"prov:activity": "seis_prov:sp006_dc_f87sf7sf78",
"prov:entity": "seis_prov:sp005_wf_378f8ks8kd"
}
},
"wasAssociatedWith": {
"_:id1": {
"prov:activity": "seis_prov:sp002_dt_f87sf7sf78",
"prov:agent": "seis_prov:sp000_sa_9dig8ata"
},
"_:id2": {
"prov:activity": "seis_prov:sp004_lp_f87sf7sf78",
"prov:agent": "seis_prov:sp000_sa_9dig8ata"
},
"_:id3": {
"prov:activity": "seis_prov:sp006_dc_f87sf7sf78",
"prov:agent": "seis_prov:sp000_sa_9dig8ata"
}
},
"wasGeneratedBy": {
"_:id7": {
"prov:activity": "seis_prov:sp002_dt_f87sf7sf78",
"prov:entity": "seis_prov:sp003_wf_js83hf34aj"
},
"_:id8": {
"prov:activity": "seis_prov:sp004_lp_f87sf7sf78",
"prov:entity": "seis_prov:sp005_wf_378f8ks8kd"
},
"_:id9": {
"prov:activity": "seis_prov:sp006_dc_f87sf7sf78",
"prov:entity": "seis_prov:sp007_wf_jadz89du8l"
}
}
}
In PROV-N notation.
document
prefix seis_prov <http://seisprov.org/seis_prov/0.1/#>
agent(seis_prov:sp000_sa_9dig8ata, [seis_prov:software_name="ObsPy", seis_prov:software_version="0.10.1", seis_prov:doi="10.1785/gssrl.81.3.530", prov:type='prov:SoftwareAgent', prov:label="ObsPy", seis_prov:website="http://www.obspy.org"])
entity(seis_prov:sp001_wf_490dfadf3, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.FURT.00.BHZ", seis_prov:number_of_samples=6000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
activity(seis_prov:sp002_dt_f87sf7sf78, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
entity(seis_prov:sp003_wf_js83hf34aj, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.FURT.00.BHZ", seis_prov:number_of_samples=6000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
activity(seis_prov:sp004_lp_f87sf7sf78, -, -, [seis_prov:number_of_passes=1, seis_prov:filter_type="Butterworth", seis_prov:filter_order=4, seis_prov:corner_frequency="10" %% xsd:float, prov:type="seis_prov:lowpass_filter", prov:label="Lowpass Filter"])
entity(seis_prov:sp005_wf_378f8ks8kd, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.FURT.00.BHZ", seis_prov:number_of_samples=6000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
activity(seis_prov:sp006_dc_f87sf7sf78, -, -, [prov:type="seis_prov:decimate", prov:label="Decimate", seis_prov:factor=2])
entity(seis_prov:sp007_wf_jadz89du8l, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.FURT.00.BHZ", seis_prov:number_of_samples=3000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
wasAssociatedWith(seis_prov:sp002_dt_f87sf7sf78, seis_prov:sp000_sa_9dig8ata, -)
wasAssociatedWith(seis_prov:sp004_lp_f87sf7sf78, seis_prov:sp000_sa_9dig8ata, -)
wasAssociatedWith(seis_prov:sp006_dc_f87sf7sf78, seis_prov:sp000_sa_9dig8ata, -)
used(seis_prov:sp002_dt_f87sf7sf78, seis_prov:sp001_wf_490dfadf3, -)
used(seis_prov:sp004_lp_f87sf7sf78, seis_prov:sp003_wf_js83hf34aj, -)
used(seis_prov:sp006_dc_f87sf7sf78, seis_prov:sp005_wf_378f8ks8kd, -)
wasGeneratedBy(seis_prov:sp003_wf_js83hf34aj, seis_prov:sp002_dt_f87sf7sf78, -)
wasGeneratedBy(seis_prov:sp005_wf_378f8ks8kd, seis_prov:sp004_lp_f87sf7sf78, -)
wasGeneratedBy(seis_prov:sp007_wf_jadz89du8l, seis_prov:sp006_dc_f87sf7sf78, -)
endDocument
Schematic Processing Chain¶
Sometimes not all information needs to be captured for a given application and SEIS PROV is flexible enough to also allow a qualitative description of a workflow. This is the same example as above but with less information. This could be treated as a schema on how to process a large amount of data independent of the used software and actual data.
Python code utilizing the prov package.
import prov
import prov.model
NS_PREFIX = "seis_prov"
NS_SEIS = (NS_PREFIX, "http://seisprov.org/seis_prov/0.1/#")
pr = prov.model.ProvDocument()
pr.add_namespace(*NS_SEIS)
trace_1 = pr.entity("seis_prov:sp001_wf_0439jdf", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
))
detrend = pr.activity("seis_prov:sp002_dt_f87sf7sf78", other_attributes=(
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean"),
))
trace_2 = pr.entity("seis_prov:sp003_wf_js83hf34aj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
))
lowpass = pr.activity("seis_prov:sp004_lp_f87sf7sf78", other_attributes=(
("prov:label", "Lowpass Filter"),
("prov:type", "seis_prov:lowpass_filter"),
("seis_prov:filter_type", "Butterworth"),
("seis_prov:corner_frequency", 10.0),
("seis_prov:filter_order", 4),
("seis_prov:number_of_passes", 1),
))
trace_3 = pr.entity("seis_prov:sp005_wf_378f8ks8kd", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
))
decimate = pr.activity("seis_prov:sp006_dc_f87sf7sf78", other_attributes=(
("prov:label", "Decimate"),
("prov:type", "seis_prov:decimate"),
("seis_prov:factor", 2))
)
trace_4 = pr.entity("seis_prov:sp007_wf_jude89du8l", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
))
pr.usage(detrend, trace_1)
pr.usage(lowpass, trace_2)
pr.usage(decimate, trace_3)
pr.generation(trace_2, detrend)
pr.generation(trace_3, lowpass)
pr.generation(trace_4, decimate)
In the PROV-XML serialization.
<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:seis_prov="http://seisprov.org/seis_prov/0.1/#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prov:entity prov:id="seis_prov:sp001_wf_0439jdf">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
</prov:entity>
<prov:activity prov:id="seis_prov:sp002_dt_f87sf7sf78">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:entity prov:id="seis_prov:sp003_wf_js83hf34aj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
</prov:entity>
<prov:activity prov:id="seis_prov:sp004_lp_f87sf7sf78">
<prov:label>Lowpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:lowpass_filter</prov:type>
<seis_prov:corner_frequency xsi:type="xsd:double">10.0</seis_prov:corner_frequency>
<seis_prov:filter_order xsi:type="xsd:int">4</seis_prov:filter_order>
<seis_prov:filter_type>Butterworth</seis_prov:filter_type>
<seis_prov:number_of_passes xsi:type="xsd:int">1</seis_prov:number_of_passes>
</prov:activity>
<prov:entity prov:id="seis_prov:sp005_wf_378f8ks8kd">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
</prov:entity>
<prov:activity prov:id="seis_prov:sp006_dc_f87sf7sf78">
<prov:label>Decimate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:decimate</prov:type>
<seis_prov:factor xsi:type="xsd:int">2</seis_prov:factor>
</prov:activity>
<prov:entity prov:id="seis_prov:sp007_wf_jude89du8l">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
</prov:entity>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_0439jdf"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_lp_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_js83hf34aj"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dc_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_378f8ks8kd"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_js83hf34aj"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_378f8ks8kd"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_lp_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_jude89du8l"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dc_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
</prov:document>
In the PROV-JSON serialization.
{
"activity": {
"seis_prov:sp002_dt_f87sf7sf78": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp004_lp_f87sf7sf78": {
"prov:label": "Lowpass Filter",
"prov:type": "seis_prov:lowpass_filter",
"seis_prov:corner_frequency": {
"$": 10.0,
"type": "xsd:double"
},
"seis_prov:filter_order": {
"$": 4,
"type": "xsd:int"
},
"seis_prov:filter_type": "Butterworth",
"seis_prov:number_of_passes": {
"$": 1,
"type": "xsd:int"
}
},
"seis_prov:sp006_dc_f87sf7sf78": {
"prov:label": "Decimate",
"prov:type": "seis_prov:decimate",
"seis_prov:factor": {
"$": 2,
"type": "xsd:int"
}
}
},
"entity": {
"seis_prov:sp001_wf_0439jdf": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace"
},
"seis_prov:sp003_wf_js83hf34aj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace"
},
"seis_prov:sp005_wf_378f8ks8kd": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace"
},
"seis_prov:sp007_wf_jude89du8l": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace"
}
},
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"used": {
"_:id1": {
"prov:activity": "seis_prov:sp002_dt_f87sf7sf78",
"prov:entity": "seis_prov:sp001_wf_0439jdf"
},
"_:id2": {
"prov:activity": "seis_prov:sp004_lp_f87sf7sf78",
"prov:entity": "seis_prov:sp003_wf_js83hf34aj"
},
"_:id3": {
"prov:activity": "seis_prov:sp006_dc_f87sf7sf78",
"prov:entity": "seis_prov:sp005_wf_378f8ks8kd"
}
},
"wasGeneratedBy": {
"_:id4": {
"prov:activity": "seis_prov:sp002_dt_f87sf7sf78",
"prov:entity": "seis_prov:sp003_wf_js83hf34aj"
},
"_:id5": {
"prov:activity": "seis_prov:sp004_lp_f87sf7sf78",
"prov:entity": "seis_prov:sp005_wf_378f8ks8kd"
},
"_:id6": {
"prov:activity": "seis_prov:sp006_dc_f87sf7sf78",
"prov:entity": "seis_prov:sp007_wf_jude89du8l"
}
}
}
In PROV-N notation.
document
prefix seis_prov <http://seisprov.org/seis_prov/0.1/#>
entity(seis_prov:sp001_wf_0439jdf, [prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace"])
activity(seis_prov:sp002_dt_f87sf7sf78, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
entity(seis_prov:sp003_wf_js83hf34aj, [prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace"])
activity(seis_prov:sp004_lp_f87sf7sf78, -, -, [seis_prov:number_of_passes=1, seis_prov:filter_type="Butterworth", seis_prov:filter_order=4, seis_prov:corner_frequency="10" %% xsd:float, prov:type="seis_prov:lowpass_filter", prov:label="Lowpass Filter"])
entity(seis_prov:sp005_wf_378f8ks8kd, [prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace"])
activity(seis_prov:sp006_dc_f87sf7sf78, -, -, [prov:type="seis_prov:decimate", prov:label="Decimate", seis_prov:factor=2])
entity(seis_prov:sp007_wf_jude89du8l, [prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace"])
used(seis_prov:sp002_dt_f87sf7sf78, seis_prov:sp001_wf_0439jdf, -)
used(seis_prov:sp004_lp_f87sf7sf78, seis_prov:sp003_wf_js83hf34aj, -)
used(seis_prov:sp006_dc_f87sf7sf78, seis_prov:sp005_wf_378f8ks8kd, -)
wasGeneratedBy(seis_prov:sp003_wf_js83hf34aj, seis_prov:sp002_dt_f87sf7sf78, -)
wasGeneratedBy(seis_prov:sp005_wf_378f8ks8kd, seis_prov:sp004_lp_f87sf7sf78, -)
wasGeneratedBy(seis_prov:sp007_wf_jude89du8l, seis_prov:sp006_dc_f87sf7sf78, -)
endDocument
Waveform Simulation¶
This fairly realistic example demonstrates how the waveform files resulting from a numerical simulation can be described. This example does use some of the more advanced features of the W3C PROV data model which are useful in many contexts. Note that the waveform simulation activity has start and end times and that SPECFEM in this example actually has been steered by a certain person.
The amount of information to store has to be decided by the given application. The general idea is to store those input file parameters that actually have an effect on the output. It might also be useful to store information about the machine it was run on in the provenance information but that is not shown here.
Additionally in this case the provenance also contains a reference to a source code file which might often be user defined and thus influences the final result of the simulation.
One can also see which parameter file the input parameters have been extracted from. In the provenance data model this is done by specifying the source of some information.
The implementation of this in a waveform solver is fairly simple by just using an existing SEIS PROV XML file as a template and adjusting the information dynamically. No need to incorporate an actual XML library.
Python code utilizing the prov package.
import prov
import prov.model
NS_PREFIX = "seis_prov"
NS_SEIS = (NS_PREFIX, "http://seisprov.org/seis_prov/0.1/#")
pr = prov.model.ProvDocument()
pr.add_namespace(*NS_SEIS)
me = pr.agent("seis_prov:sp000_pp_dj89345j", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "Person")),
("prov:label", "Hans Mustermann"),
("seis_prov:name", "Hans Mustermann"),
("seis_prov:email", "hans.mustermann@email.com")
))
other = pr.agent("seis_prov:sp000_pp_9034j90df", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "Person")),
("prov:label", "Susanna Musterfrau"),
("seis_prov:name", "Susanna Musterfrau"),
("seis_prov:email", "susanna.musterfrau@email.com")
))
specfem = pr.agent("seis_prov:sp000_sa_9dig8ata", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "SPECFEM3D GLOBE"),
("seis_prov:software_name", "SPECFEM3D GLOBE"),
("seis_prov:software_version", "7.0.0"),
("seis_prov:website", "http://geodynamics.org/cig/software/specfem3d")
))
model = pr.entity("seis_prov:sp000_em_skfusjdoej", other_attributes=(
("prov:label", "Earth Model"),
("prov:type", "seis_prov:earth_model"),
("seis_prov:model_name", "Random Model"),
("seis_prov:model_type", "3D"),
("seis_prov:website", "http://random.org/model")
))
param = pr.entity("seis_prov:sp000_in_38jd89da8l", other_attributes=(
("prov:label", "Input Parameters"),
("prov:type", "seis_prov:input_parameters"),
("seis_prov:SIMULATION_TYPE", 1),
("seis_prov:NOISE_TOMOGRAPHY", 0),
("seis_prov:NCHUNKS", 1),
("seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES", 90.0 ),
("seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES", 90.0),
("seis_prov:CENTER_LATITUDE_IN_DEGREES", 40.0),
("seis_prov:CENTER_LONGITUDE_IN_DEGREES", 10.0),
("seis_prov:GAMMA_ROTATION_AZIMUTH", 20.0),
("seis_prov:NEX_XI", 240),
("seis_prov:NEX_ETA", 240),
("seis_prov:NPROC_XI", 5),
("seis_prov:NPROC_ETA", 5),
("seis_prov:ANISOTROPIC_KL", False),
("seis_prov:RECEIVERS_CAN_BE_BURIED", True),
("seis_prov:USE_LDDRK", False),
("seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION", False),
("seis_prov:ABSORBING_CONDITIONS", False),
("seis_prov:OCEANS", False),
("seis_prov:ELLIPTICITY", False),
("seis_prov:TOPOGRAPHY", False),
("seis_prov:GRAVITY", False),
("seis_prov:ROTATION", False),
("seis_prov:ATTENUATION", False)
))
file_object = pr.entity("seis_prov:sp000_fi_d49dh0h4", other_attributes=(
("prov:label", "File"),
("prov:type", "seis_prov:file"),
("seis_prov:filename", "constants.h"),
("seis_prov:location", "/AuxiliaryData/Files/constants_h"),
("seis_prov:location_type", "HDF5 Data Set")
))
par_file_object = pr.entity("seis_prov:sp000_fi_asf90345", other_attributes=(
("prov:label", "File"),
("prov:type", "seis_prov:file"),
("seis_prov:filename", "Parfile"),
("seis_prov:location", "/AuxiliaryData/Files/Parfile"),
("seis_prov:location_type", "HDF5 Data Set")
))
trace = pr.entity("seis_prov:sp001_wf_4j09fj3", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:description", "Synthetic Waveform")
))
simulation = pr.activity("seis_prov:sp001_ws_f87sf7sf78",
startTime=datetime(2014, 2, 2, 12, 15, 3),
endTime=datetime(2014, 2, 2, 14, 7, 13),
other_attributes=(
("prov:label", "Waveform Simulation"),
("prov:type", "seis_prov:waveform_simulation"),
))
pr.association(simulation, specfem)
pr.association(model, other)
pr.delegation(specfem, me)
pr.usage(simulation, model)
pr.usage(simulation, param)
pr.usage(simulation, file_object)
pr.primary_source(param, par_file_object)
pr.generation(trace, simulation)
In the PROV-XML serialization.
<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:seis_prov="http://seisprov.org/seis_prov/0.1/#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prov:person prov:id="seis_prov:sp000_pp_dj89345j">
<prov:label>Hans Mustermann</prov:label>
<seis_prov:email>hans.mustermann@email.com</seis_prov:email>
<seis_prov:name>Hans Mustermann</seis_prov:name>
</prov:person>
<prov:person prov:id="seis_prov:sp000_pp_9034j90df">
<prov:label>Susanna Musterfrau</prov:label>
<seis_prov:email>susanna.musterfrau@email.com</seis_prov:email>
<seis_prov:name>Susanna Musterfrau</seis_prov:name>
</prov:person>
<prov:softwareAgent prov:id="seis_prov:sp000_sa_9dig8ata">
<prov:label>SPECFEM3D GLOBE</prov:label>
<seis_prov:software_name>SPECFEM3D GLOBE</seis_prov:software_name>
<seis_prov:software_version>7.0.0</seis_prov:software_version>
<seis_prov:website>http://geodynamics.org/cig/software/specfem3d</seis_prov:website>
</prov:softwareAgent>
<prov:entity prov:id="seis_prov:sp000_em_skfusjdoej">
<prov:label>Earth Model</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:earth_model</prov:type>
<seis_prov:model_name>Random Model</seis_prov:model_name>
<seis_prov:model_type>3D</seis_prov:model_type>
<seis_prov:website>http://random.org/model</seis_prov:website>
</prov:entity>
<prov:entity prov:id="seis_prov:sp000_in_38jd89da8l">
<prov:label>Input Parameters</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:input_parameters</prov:type>
<seis_prov:ABSORBING_CONDITIONS xsi:type="xsd:boolean">false</seis_prov:ABSORBING_CONDITIONS>
<seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES xsi:type="xsd:double">90.0</seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES>
<seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES xsi:type="xsd:double">90.0</seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES>
<seis_prov:ANISOTROPIC_KL xsi:type="xsd:boolean">false</seis_prov:ANISOTROPIC_KL>
<seis_prov:ATTENUATION xsi:type="xsd:boolean">false</seis_prov:ATTENUATION>
<seis_prov:CENTER_LATITUDE_IN_DEGREES xsi:type="xsd:double">40.0</seis_prov:CENTER_LATITUDE_IN_DEGREES>
<seis_prov:CENTER_LONGITUDE_IN_DEGREES xsi:type="xsd:double">10.0</seis_prov:CENTER_LONGITUDE_IN_DEGREES>
<seis_prov:ELLIPTICITY xsi:type="xsd:boolean">false</seis_prov:ELLIPTICITY>
<seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION xsi:type="xsd:boolean">false</seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION>
<seis_prov:GAMMA_ROTATION_AZIMUTH xsi:type="xsd:double">20.0</seis_prov:GAMMA_ROTATION_AZIMUTH>
<seis_prov:GRAVITY xsi:type="xsd:boolean">false</seis_prov:GRAVITY>
<seis_prov:NCHUNKS xsi:type="xsd:int">1</seis_prov:NCHUNKS>
<seis_prov:NEX_ETA xsi:type="xsd:int">240</seis_prov:NEX_ETA>
<seis_prov:NEX_XI xsi:type="xsd:int">240</seis_prov:NEX_XI>
<seis_prov:NOISE_TOMOGRAPHY xsi:type="xsd:int">0</seis_prov:NOISE_TOMOGRAPHY>
<seis_prov:NPROC_ETA xsi:type="xsd:int">5</seis_prov:NPROC_ETA>
<seis_prov:NPROC_XI xsi:type="xsd:int">5</seis_prov:NPROC_XI>
<seis_prov:OCEANS xsi:type="xsd:boolean">false</seis_prov:OCEANS>
<seis_prov:RECEIVERS_CAN_BE_BURIED xsi:type="xsd:boolean">true</seis_prov:RECEIVERS_CAN_BE_BURIED>
<seis_prov:ROTATION xsi:type="xsd:boolean">false</seis_prov:ROTATION>
<seis_prov:SIMULATION_TYPE xsi:type="xsd:int">1</seis_prov:SIMULATION_TYPE>
<seis_prov:TOPOGRAPHY xsi:type="xsd:boolean">false</seis_prov:TOPOGRAPHY>
<seis_prov:USE_LDDRK xsi:type="xsd:boolean">false</seis_prov:USE_LDDRK>
</prov:entity>
<prov:entity prov:id="seis_prov:sp000_fi_d49dh0h4">
<prov:label>File</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:file</prov:type>
<seis_prov:filename>constants.h</seis_prov:filename>
<seis_prov:location>/AuxiliaryData/Files/constants_h</seis_prov:location>
<seis_prov:location_type>HDF5 Data Set</seis_prov:location_type>
</prov:entity>
<prov:entity prov:id="seis_prov:sp000_fi_asf90345">
<prov:label>File</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:file</prov:type>
<seis_prov:filename>Parfile</seis_prov:filename>
<seis_prov:location>/AuxiliaryData/Files/Parfile</seis_prov:location>
<seis_prov:location_type>HDF5 Data Set</seis_prov:location_type>
</prov:entity>
<prov:entity prov:id="seis_prov:sp001_wf_4j09fj3">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:description>Synthetic Waveform</seis_prov:description>
</prov:entity>
<prov:activity prov:id="seis_prov:sp001_ws_f87sf7sf78">
<prov:startTime>2014-02-02T12:15:03</prov:startTime>
<prov:endTime>2014-02-02T14:07:13</prov:endTime>
<prov:label>Waveform Simulation</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_simulation</prov:type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp000_em_skfusjdoej"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_pp_9034j90df"></prov:agent>
</prov:wasAssociatedWith>
<prov:actedOnBehalfOf>
<prov:delegate prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:delegate>
<prov:responsible prov:ref="seis_prov:sp000_pp_dj89345j"></prov:responsible>
</prov:actedOnBehalfOf>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_em_skfusjdoej"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_in_38jd89da8l"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_fi_d49dh0h4"></prov:entity>
</prov:used>
<prov:hadPrimarySource>
<prov:generatedEntity prov:ref="seis_prov:sp000_in_38jd89da8l"></prov:generatedEntity>
<prov:usedEntity prov:ref="seis_prov:sp000_fi_asf90345"></prov:usedEntity>
</prov:hadPrimarySource>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp001_wf_4j09fj3"></prov:entity>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
</prov:document>
In the PROV-JSON serialization.
{
"actedOnBehalfOf": {
"_:id3": {
"prov:delegate": "seis_prov:sp000_sa_9dig8ata",
"prov:responsible": "seis_prov:sp000_pp_dj89345j"
}
},
"activity": {
"seis_prov:sp001_ws_f87sf7sf78": {
"prov:endTime": "2014-02-02T14:07:13",
"prov:label": "Waveform Simulation",
"prov:startTime": "2014-02-02T12:15:03",
"prov:type": "seis_prov:waveform_simulation"
}
},
"agent": {
"seis_prov:sp000_pp_9034j90df": {
"prov:label": "Susanna Musterfrau",
"prov:type": {
"$": "prov:Person",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:email": "susanna.musterfrau@email.com",
"seis_prov:name": "Susanna Musterfrau"
},
"seis_prov:sp000_pp_dj89345j": {
"prov:label": "Hans Mustermann",
"prov:type": {
"$": "prov:Person",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:email": "hans.mustermann@email.com",
"seis_prov:name": "Hans Mustermann"
},
"seis_prov:sp000_sa_9dig8ata": {
"prov:label": "SPECFEM3D GLOBE",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:software_name": "SPECFEM3D GLOBE",
"seis_prov:software_version": "7.0.0",
"seis_prov:website": "http://geodynamics.org/cig/software/specfem3d"
}
},
"entity": {
"seis_prov:sp000_em_skfusjdoej": {
"prov:label": "Earth Model",
"prov:type": "seis_prov:earth_model",
"seis_prov:model_name": "Random Model",
"seis_prov:model_type": "3D",
"seis_prov:website": "http://random.org/model"
},
"seis_prov:sp000_fi_asf90345": {
"prov:label": "File",
"prov:type": "seis_prov:file",
"seis_prov:filename": "Parfile",
"seis_prov:location": "/AuxiliaryData/Files/Parfile",
"seis_prov:location_type": "HDF5 Data Set"
},
"seis_prov:sp000_fi_d49dh0h4": {
"prov:label": "File",
"prov:type": "seis_prov:file",
"seis_prov:filename": "constants.h",
"seis_prov:location": "/AuxiliaryData/Files/constants_h",
"seis_prov:location_type": "HDF5 Data Set"
},
"seis_prov:sp000_in_38jd89da8l": {
"prov:label": "Input Parameters",
"prov:type": "seis_prov:input_parameters",
"seis_prov:ABSORBING_CONDITIONS": false,
"seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES": {
"$": 90.0,
"type": "xsd:double"
},
"seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES": {
"$": 90.0,
"type": "xsd:double"
},
"seis_prov:ANISOTROPIC_KL": false,
"seis_prov:ATTENUATION": false,
"seis_prov:CENTER_LATITUDE_IN_DEGREES": {
"$": 40.0,
"type": "xsd:double"
},
"seis_prov:CENTER_LONGITUDE_IN_DEGREES": {
"$": 10.0,
"type": "xsd:double"
},
"seis_prov:ELLIPTICITY": false,
"seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION": false,
"seis_prov:GAMMA_ROTATION_AZIMUTH": {
"$": 20.0,
"type": "xsd:double"
},
"seis_prov:GRAVITY": false,
"seis_prov:NCHUNKS": {
"$": 1,
"type": "xsd:int"
},
"seis_prov:NEX_ETA": {
"$": 240,
"type": "xsd:int"
},
"seis_prov:NEX_XI": {
"$": 240,
"type": "xsd:int"
},
"seis_prov:NOISE_TOMOGRAPHY": {
"$": 0,
"type": "xsd:int"
},
"seis_prov:NPROC_ETA": {
"$": 5,
"type": "xsd:int"
},
"seis_prov:NPROC_XI": {
"$": 5,
"type": "xsd:int"
},
"seis_prov:OCEANS": false,
"seis_prov:RECEIVERS_CAN_BE_BURIED": true,
"seis_prov:ROTATION": false,
"seis_prov:SIMULATION_TYPE": {
"$": 1,
"type": "xsd:int"
},
"seis_prov:TOPOGRAPHY": false,
"seis_prov:USE_LDDRK": false
},
"seis_prov:sp001_wf_4j09fj3": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:description": "Synthetic Waveform"
}
},
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"used": {
"_:id4": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_em_skfusjdoej"
},
"_:id5": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_in_38jd89da8l"
},
"_:id6": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_fi_d49dh0h4"
}
},
"wasAssociatedWith": {
"_:id1": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:agent": "seis_prov:sp000_sa_9dig8ata"
},
"_:id2": {
"prov:activity": "seis_prov:sp000_em_skfusjdoej",
"prov:agent": "seis_prov:sp000_pp_9034j90df"
}
},
"wasDerivedFrom": {
"_:id7": {
"prov:generatedEntity": "seis_prov:sp000_in_38jd89da8l",
"prov:type": {
"$": "prov:PrimarySource",
"type": "prov:QUALIFIED_NAME"
},
"prov:usedEntity": "seis_prov:sp000_fi_asf90345"
}
},
"wasGeneratedBy": {
"_:id8": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp001_wf_4j09fj3"
}
}
}
In PROV-N notation.
document
prefix seis_prov <http://seisprov.org/seis_prov/0.1/#>
agent(seis_prov:sp000_pp_dj89345j, [seis_prov:name="Hans Mustermann", prov:type='prov:Person', prov:label="Hans Mustermann", seis_prov:email="hans.mustermann@email.com"])
agent(seis_prov:sp000_pp_9034j90df, [seis_prov:name="Susanna Musterfrau", prov:type='prov:Person', prov:label="Susanna Musterfrau", seis_prov:email="susanna.musterfrau@email.com"])
agent(seis_prov:sp000_sa_9dig8ata, [seis_prov:website="http://geodynamics.org/cig/software/specfem3d", prov:type='prov:SoftwareAgent', prov:label="SPECFEM3D GLOBE", seis_prov:software_version="7.0.0", seis_prov:software_name="SPECFEM3D GLOBE"])
entity(seis_prov:sp000_em_skfusjdoej, [seis_prov:model_name="Random Model", prov:type="seis_prov:earth_model", prov:label="Earth Model", seis_prov:website="http://random.org/model", seis_prov:model_type="3D"])
entity(seis_prov:sp000_in_38jd89da8l, [seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES="90" %% xsd:float, seis_prov:OCEANS="0" %% xsd:boolean, seis_prov:NPROC_ETA=5, seis_prov:GRAVITY="0" %% xsd:boolean, seis_prov:NOISE_TOMOGRAPHY=0, seis_prov:NCHUNKS=1, seis_prov:NEX_XI=240, seis_prov:USE_LDDRK="0" %% xsd:boolean, seis_prov:ANISOTROPIC_KL="0" %% xsd:boolean, seis_prov:ATTENUATION="0" %% xsd:boolean, seis_prov:RECEIVERS_CAN_BE_BURIED="1" %% xsd:boolean, seis_prov:CENTER_LONGITUDE_IN_DEGREES="10" %% xsd:float, seis_prov:NPROC_XI=5, prov:type="seis_prov:input_parameters", seis_prov:ROTATION="0" %% xsd:boolean, seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION="0" %% xsd:boolean, seis_prov:CENTER_LATITUDE_IN_DEGREES="40" %% xsd:float, seis_prov:TOPOGRAPHY="0" %% xsd:boolean, seis_prov:NEX_ETA=240, seis_prov:ELLIPTICITY="0" %% xsd:boolean, prov:label="Input Parameters", seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES="90" %% xsd:float, seis_prov:ABSORBING_CONDITIONS="0" %% xsd:boolean, seis_prov:SIMULATION_TYPE=1, seis_prov:GAMMA_ROTATION_AZIMUTH="20" %% xsd:float])
entity(seis_prov:sp000_fi_d49dh0h4, [seis_prov:location_type="HDF5 Data Set", prov:type="seis_prov:file", prov:label="File", seis_prov:filename="constants.h", seis_prov:location="/AuxiliaryData/Files/constants_h"])
entity(seis_prov:sp000_fi_asf90345, [seis_prov:location_type="HDF5 Data Set", prov:type="seis_prov:file", prov:label="File", seis_prov:filename="Parfile", seis_prov:location="/AuxiliaryData/Files/Parfile"])
entity(seis_prov:sp001_wf_4j09fj3, [prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Waveform"])
activity(seis_prov:sp001_ws_f87sf7sf78, 2014-02-02T12:15:03, 2014-02-02T14:07:13, [prov:type="seis_prov:waveform_simulation", prov:label="Waveform Simulation"])
wasAssociatedWith(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_sa_9dig8ata, -)
wasAssociatedWith(seis_prov:sp000_em_skfusjdoej, seis_prov:sp000_pp_9034j90df, -)
actedOnBehalfOf(seis_prov:sp000_sa_9dig8ata, seis_prov:sp000_pp_dj89345j, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_em_skfusjdoej, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_in_38jd89da8l, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_fi_d49dh0h4, -)
wasDerivedFrom(seis_prov:sp000_in_38jd89da8l, seis_prov:sp000_fi_asf90345, -, -, -, [prov:type='prov:PrimarySource'])
wasGeneratedBy(seis_prov:sp001_wf_4j09fj3, seis_prov:sp001_ws_f87sf7sf78, -)
endDocument
Cross Correlation¶
This is a simplistic example of two waveforms that are cross correlated to produce a cross correlation. It is of course also possible to store the processing steps that have been applied to the waveforms prior to the correlation.
Python code utilizing the prov package.
import prov
import prov.model
NS_PREFIX = "seis_prov"
NS_SEIS = (NS_PREFIX, "http://seisprov.org/seis_prov/0.1/#")
pr = prov.model.ProvDocument()
pr.add_namespace(*NS_SEIS)
obspy = pr.agent("seis_prov:sp001_sa_9dig8ata", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "ObsPy"),
("seis_prov:software_name", "ObsPy"),
("seis_prov:software_version", "0.10.1"),
("seis_prov:website", "http://www.obspy.org"),
("seis_prov:doi", "10.1785/gssrl.81.3.530"))
)
trace_1 = pr.entity("seis_prov:sp002_wf_4390jsdfj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.FURT.00.BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(6000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
trace_2 = pr.entity("seis_prov:sp003_wf_0034aiddj8", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:seed_id", "BW.ALTM..BHZ"),
("seis_prov:start_time",
prov.model.Literal(datetime(2013, 1, 2, 12, 10, 11),
prov.constants.XSD_DATETIME)),
("seis_prov:number_of_samples",
prov.model.Literal(6000, prov.constants.XSD_INT)),
("seis_prov:sampling_rate",
prov.model.Literal(100.0, prov.constants.XSD_DOUBLE)),
("seis_prov:units", "m/s")
)
)
cross_correlate = pr.activity("seis_prov:sp004_co_f87sf7sf78", other_attributes=(
("prov:label", "Cross Correlate"),
("prov:type", "seis_prov:cross_correlate"),
("seis_prov:correlation_type", "Phase Cross Correlation"),
("seis_prov:max_lag_time_in_sec", 120.0)
))
correlation = pr.entity("seis_prov:sp005_cc_utakgh82hl", other_attributes=(
("prov:label", "Cross Correlation"),
("prov:type", "seis_prov:cross_correlation"),
("seis_prov:correlation_type", "Phase Cross Correlation"),
("seis_prov:seed_id_a", "BW.FURT.00.BHZ"),
("seis_prov:seed_id_b", "BW.ALTM..BHZ"),
("seis_prov:max_correlation_coefficient", 0.75),
("seis_prov:max_lag_time_in_sec", 120.0)
))
pr.association(cross_correlate, obspy)
pr.usage(cross_correlate, trace_1)
pr.usage(cross_correlate, trace_2)
pr.generation(correlation, cross_correlate)
In the PROV-XML serialization.
<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:seis_prov="http://seisprov.org/seis_prov/0.1/#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prov:softwareAgent prov:id="seis_prov:sp001_sa_9dig8ata">
<prov:label>ObsPy</prov:label>
<seis_prov:doi>10.1785/gssrl.81.3.530</seis_prov:doi>
<seis_prov:software_name>ObsPy</seis_prov:software_name>
<seis_prov:software_version>0.10.1</seis_prov:software_version>
<seis_prov:website>http://www.obspy.org</seis_prov:website>
</prov:softwareAgent>
<prov:entity prov:id="seis_prov:sp002_wf_4390jsdfj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">6000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.FURT.00.BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:entity prov:id="seis_prov:sp003_wf_0034aiddj8">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:number_of_samples xsi:type="xsd:int">6000</seis_prov:number_of_samples>
<seis_prov:sampling_rate xsi:type="xsd:double">100.0</seis_prov:sampling_rate>
<seis_prov:seed_id>BW.ALTM..BHZ</seis_prov:seed_id>
<seis_prov:start_time xsi:type="xsd:dateTime">2013-01-02T12:10:11</seis_prov:start_time>
<seis_prov:units>m/s</seis_prov:units>
</prov:entity>
<prov:activity prov:id="seis_prov:sp004_co_f87sf7sf78">
<prov:label>Cross Correlate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:cross_correlate</prov:type>
<seis_prov:correlation_type>Phase Cross Correlation</seis_prov:correlation_type>
<seis_prov:max_lag_time_in_sec xsi:type="xsd:double">120.0</seis_prov:max_lag_time_in_sec>
</prov:activity>
<prov:entity prov:id="seis_prov:sp005_cc_utakgh82hl">
<prov:label>Cross Correlation</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:cross_correlation</prov:type>
<seis_prov:correlation_type>Phase Cross Correlation</seis_prov:correlation_type>
<seis_prov:max_correlation_coefficient xsi:type="xsd:double">0.75</seis_prov:max_correlation_coefficient>
<seis_prov:max_lag_time_in_sec xsi:type="xsd:double">120.0</seis_prov:max_lag_time_in_sec>
<seis_prov:seed_id_a>BW.FURT.00.BHZ</seis_prov:seed_id_a>
<seis_prov:seed_id_b>BW.ALTM..BHZ</seis_prov:seed_id_b>
</prov:entity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_co_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp001_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_co_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp002_wf_4390jsdfj"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_co_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_0034aiddj8"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_cc_utakgh82hl"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_co_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
</prov:document>
In the PROV-JSON serialization.
{
"activity": {
"seis_prov:sp004_co_f87sf7sf78": {
"prov:label": "Cross Correlate",
"prov:type": "seis_prov:cross_correlate",
"seis_prov:correlation_type": "Phase Cross Correlation",
"seis_prov:max_lag_time_in_sec": {
"$": 120.0,
"type": "xsd:double"
}
}
},
"agent": {
"seis_prov:sp001_sa_9dig8ata": {
"prov:label": "ObsPy",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:doi": "10.1785/gssrl.81.3.530",
"seis_prov:software_name": "ObsPy",
"seis_prov:software_version": "0.10.1",
"seis_prov:website": "http://www.obspy.org"
}
},
"entity": {
"seis_prov:sp002_wf_4390jsdfj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 6000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.FURT.00.BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
},
"seis_prov:sp003_wf_0034aiddj8": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:number_of_samples": {
"$": 6000,
"type": "xsd:int"
},
"seis_prov:sampling_rate": {
"$": 100.0,
"type": "xsd:double"
},
"seis_prov:seed_id": "BW.ALTM..BHZ",
"seis_prov:start_time": {
"$": "2013-01-02T12:10:11",
"type": "xsd:dateTime"
},
"seis_prov:units": "m/s"
},
"seis_prov:sp005_cc_utakgh82hl": {
"prov:label": "Cross Correlation",
"prov:type": "seis_prov:cross_correlation",
"seis_prov:correlation_type": "Phase Cross Correlation",
"seis_prov:max_correlation_coefficient": {
"$": 0.75,
"type": "xsd:double"
},
"seis_prov:max_lag_time_in_sec": {
"$": 120.0,
"type": "xsd:double"
},
"seis_prov:seed_id_a": "BW.FURT.00.BHZ",
"seis_prov:seed_id_b": "BW.ALTM..BHZ"
}
},
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"used": {
"_:id2": {
"prov:activity": "seis_prov:sp004_co_f87sf7sf78",
"prov:entity": "seis_prov:sp002_wf_4390jsdfj"
},
"_:id3": {
"prov:activity": "seis_prov:sp004_co_f87sf7sf78",
"prov:entity": "seis_prov:sp003_wf_0034aiddj8"
}
},
"wasAssociatedWith": {
"_:id1": {
"prov:activity": "seis_prov:sp004_co_f87sf7sf78",
"prov:agent": "seis_prov:sp001_sa_9dig8ata"
}
},
"wasGeneratedBy": {
"_:id4": {
"prov:activity": "seis_prov:sp004_co_f87sf7sf78",
"prov:entity": "seis_prov:sp005_cc_utakgh82hl"
}
}
}
In PROV-N notation.
document
prefix seis_prov <http://seisprov.org/seis_prov/0.1/#>
agent(seis_prov:sp001_sa_9dig8ata, [seis_prov:software_name="ObsPy", seis_prov:software_version="0.10.1", seis_prov:doi="10.1785/gssrl.81.3.530", prov:type='prov:SoftwareAgent', prov:label="ObsPy", seis_prov:website="http://www.obspy.org"])
entity(seis_prov:sp002_wf_4390jsdfj, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.FURT.00.BHZ", seis_prov:number_of_samples=6000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
entity(seis_prov:sp003_wf_0034aiddj8, [seis_prov:sampling_rate="100" %% xsd:float, seis_prov:units="m/s", seis_prov:seed_id="BW.ALTM..BHZ", seis_prov:number_of_samples=6000, prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:start_time="2013-01-02T12:10:11" %% xsd:dateTime])
activity(seis_prov:sp004_co_f87sf7sf78, -, -, [seis_prov:correlation_type="Phase Cross Correlation", prov:type="seis_prov:cross_correlate", prov:label="Cross Correlate", seis_prov:max_lag_time_in_sec="120" %% xsd:float])
entity(seis_prov:sp005_cc_utakgh82hl, [seis_prov:max_correlation_coefficient="0.75" %% xsd:float, seis_prov:correlation_type="Phase Cross Correlation", seis_prov:max_lag_time_in_sec="120" %% xsd:float, seis_prov:seed_id_b="BW.ALTM..BHZ", seis_prov:seed_id_a="BW.FURT.00.BHZ", prov:type="seis_prov:cross_correlation", prov:label="Cross Correlation"])
wasAssociatedWith(seis_prov:sp004_co_f87sf7sf78, seis_prov:sp001_sa_9dig8ata, -)
used(seis_prov:sp004_co_f87sf7sf78, seis_prov:sp002_wf_4390jsdfj, -)
used(seis_prov:sp004_co_f87sf7sf78, seis_prov:sp003_wf_0034aiddj8, -)
wasGeneratedBy(seis_prov:sp005_cc_utakgh82hl, seis_prov:sp004_co_f87sf7sf78, -)
endDocument
Adjoint Source Calculation¶
Last but not least is a fairly extreme example describing the provenance
history of a more complex operation - the calculation of an adjoint source
for transverse component seismograms. Nobody will create such a graph by
hand so this is only feasible if is happens automatically but it
demonstrates the power and scope of the concepts behind W3C PROV and
SEIS-PROV
. In practice most programs and tools will likely choose to
create simpler descriptions.
This SEIS-PROV
document here describes:
- The generation of north and east component synthetic seismograms with SPECFEM3D GLOBE.
- These seismograms are detrended, demeaned, tapered, bandpass filtered, detrended, demeaned, tapered, interpolated to new sampling rates, and finally rotated to a transverse component seismogram.
- The same is done to the observed waveforms and additionally their instrument response is deconvolved at a certain point in the chain.
- The difference between these two processed transverse component seismograms is then encoded in an adjoint source.
In this particular example the graph generating code already has a hard to time to produce a nice and clean graph and it is kind of hard to interpret visually. Different ways to visualize such complex provenance descriptions might have to be devised in the future.
Python code utilizing the prov package.
import prov
import prov.model
NS_PREFIX = "seis_prov"
NS_SEIS = (NS_PREFIX, "http://seisprov.org/seis_prov/0.1/#")
pr = prov.model.ProvDocument()
pr.add_namespace(*NS_SEIS)
# Define all the agents.
me = pr.agent("seis_prov:sp000_pp_me09234j", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "Person")),
("prov:label", "Hans Mustermann"),
("seis_prov:name", "Hans Mustermann"),
("seis_prov:email", "hans.mustermann@email.com")
))
other = pr.agent("seis_prov:sp000_pp_j3j4loikj90", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "Person")),
("prov:label", "Susanna Musterfrau"),
("seis_prov:name", "Susanna Musterfrau"),
("seis_prov:email", "susanna.musterfrau@email.com")
))
specfem = pr.agent("seis_prov:sp000_sa_9dig8ata", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "SPECFEM3D GLOBE"),
("seis_prov:software_name", "SPECFEM3D GLOBE"),
("seis_prov:software_version", "7.0.0"),
("seis_prov:website", "http://geodynamics.org/cig/software/specfem3d")
))
# Specfem in this case has been steered by a certain person.
pr.delegation(specfem, me)
obspy = pr.agent("seis_prov:sp000_sa_9dasdfih", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "ObsPy"),
("seis_prov:software_name", "ObsPy"),
("seis_prov:software_version", "0.10.2"),
("seis_prov:website", "http://www.obspy.org"),
("seis_prov:doi", "10.5281/zenodo.17641"))
)
pyadjoint = pr.agent("seis_prov:sp000_sa_9d0h43a", other_attributes=(
("prov:type",
prov.identifier.QualifiedName(prov.constants.PROV, "SoftwareAgent")),
("prov:label", "pyadjoint"),
("seis_prov:software_name", "pyadjoint"),
("seis_prov:software_version", "0.0.1dev"),
("seis_prov:website", "http://krischer.github.io/pyadjoint"))
)
# Now everything needed to generate a synthetic waveform trace.
model = pr.entity("seis_prov:sp000_em_skfusjdoej", other_attributes=(
("prov:label", "Earth Model"),
("prov:type", "seis_prov:earth_model"),
("seis_prov:model_name", "Random Model"),
("seis_prov:model_type", "3D"),
("seis_prov:website", "http://random.org/model")
))
pr.association(model, other)
input_parameters = pr.entity("seis_prov:sp000_in_38jd89da8l", other_attributes=(
("prov:label", "Input Parameters"),
("prov:type", "seis_prov:input_parameters"),
("seis_prov:SIMULATION_TYPE", 1),
("seis_prov:NOISE_TOMOGRAPHY", 0),
("seis_prov:NCHUNKS", 1),
("seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES", 90.0 ),
("seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES", 90.0),
("seis_prov:CENTER_LATITUDE_IN_DEGREES", 40.0),
("seis_prov:CENTER_LONGITUDE_IN_DEGREES", 10.0),
("seis_prov:GAMMA_ROTATION_AZIMUTH", 20.0),
("seis_prov:NEX_XI", 240),
("seis_prov:NEX_ETA", 240),
("seis_prov:NPROC_XI", 5),
("seis_prov:NPROC_ETA", 5),
("seis_prov:ANISOTROPIC_KL", False),
("seis_prov:RECEIVERS_CAN_BE_BURIED", True),
("seis_prov:USE_LDDRK", False),
("seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION", False),
("seis_prov:ABSORBING_CONDITIONS", False),
("seis_prov:OCEANS", False),
("seis_prov:ELLIPTICITY", False),
("seis_prov:TOPOGRAPHY", False),
("seis_prov:GRAVITY", False),
("seis_prov:ROTATION", False),
("seis_prov:ATTENUATION", False)
))
file_object = pr.entity("seis_prov:sp000_fi_d49dh0h4", other_attributes=(
("prov:label", "File"),
("prov:type", "seis_prov:file"),
("seis_prov:filename", "constants.h"),
("seis_prov:location", "/AuxiliaryData/Files/constants.h"),
("seis_prov:location_type", "HDF5 Data Set")
))
simulation = pr.activity("seis_prov:sp001_ws_f87sf7sf78",
startTime=datetime(2014, 2, 2, 12, 15, 3),
endTime=datetime(2014, 2, 2, 14, 7, 13),
other_attributes=(
("prov:label", "Waveform Simulation"),
("prov:type", "seis_prov:waveform_simulation"),
))
pr.association(simulation, specfem)
# This simulation used the model, the input parameters, and an additional
# files.
pr.usage(simulation, model)
pr.usage(simulation, input_parameters)
pr.usage(simulation, file_object)
synthetic_trace_N_original = pr.entity("seis_prov:sp001_wf_39409df", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_original = pr.entity("seis_prov:sp001_wf_kd9404hd04h", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
# And generated east and north synthetics.
pr.generation(synthetic_trace_N_original, simulation)
pr.generation(synthetic_trace_E_original, simulation)
# Now both synthetics will be detrended, demeaned, tapered, filtered, and once
# again everything.
# First detrend.
detrend_1_syn_N = pr.activity("seis_prov:sp002_dt_4ijf0dfo0", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_1_syn_N, obspy)
detrend_1_syn_E = pr.activity("seis_prov:sp002_dt_ir0dfk409", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_1_syn_E, obspy)
# First demean.
demean_1_syn_N = pr.activity("seis_prov:sp003_dt_4834f0dj0", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_1_syn_N, obspy)
demean_1_syn_E = pr.activity("seis_prov:sp003_dt_vj3urc943", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_1_syn_E, obspy)
# First taper
taper_1_syn_N = pr.activity("seis_prov:sp004_tp_dsfj43e4j", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_1_syn_N, obspy)
taper_1_syn_E = pr.activity("seis_prov:sp004_tp_dk430f834", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_1_syn_E, obspy)
# Pre filter.
pre_filt_syn_N = pr.activity("seis_prov:sp005_bp_qzprtj48r", other_attributes=((
("prov:label", "Bandpass Filter"),
("prov:type", "seis_prov:bandpass_filter"),
("seis_prov:filter_type", "Cosine SAC Taper"),
("seis_prov:sac_cosine_taper_frequency_limits",
"0.013333333,0.016666667,0.037037037,0.044444444")
)))
pr.association(pre_filt_syn_N, obspy)
pre_filt_syn_E = pr.activity("seis_prov:sp005_bp_843ijdfskjgr", other_attributes=((
("prov:label", "Bandpass Filter"),
("prov:type", "seis_prov:bandpass_filter"),
("seis_prov:filter_type", "Cosine SAC Taper"),
("seis_prov:sac_cosine_taper_frequency_limits",
"0.013333333,0.016666667,0.037037037,0.044444444")
)))
pr.association(pre_filt_syn_E, obspy)
# Second detrend.
detrend_2_syn_N = pr.activity("seis_prov:sp006_dt_893ndidh", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_2_syn_N, obspy)
detrend_2_syn_E = pr.activity("seis_prov:sp006_dt_jk340du34j", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_2_syn_E, obspy)
# Second demean.
demean_2_syn_N = pr.activity("seis_prov:sp007_dt_dko349dfj", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_2_syn_N, obspy)
demean_2_syn_E = pr.activity("seis_prov:sp007_dt_9djldfj", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_2_syn_E, obspy)
# Second taper
taper_2_syn_N = pr.activity("seis_prov:sp008_tp_iojdf9834j", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_2_syn_N, obspy)
taper_2_syn_E = pr.activity("seis_prov:sp008_tp_834jd0h", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_2_syn_E, obspy)
# Interpolation.
interpolation_syn_N = pr.activity("seis_prov:sp009_ip_iadsf3490j", other_attributes=((
("prov:label", "Interpolate"),
("prov:type", "seis_prov:interpolate"),
("seis_prov:interpolation_method", "weighted average slopes"),
("seis_prov:new_sampling_rate", prov.model.Literal(
1.0,
prov.constants.XSD_DOUBLE))
)))
pr.association(interpolation_syn_N, obspy)
interpolation_syn_E = pr.activity("seis_prov:sp009_ip_diajsdf80", other_attributes=((
("prov:label", "Interpolate"),
("prov:type", "seis_prov:interpolate"),
("seis_prov:interpolation_method", "weighted average slopes"),
("seis_prov:new_sampling_rate", prov.model.Literal(
1.0,
prov.constants.XSD_DOUBLE))
)))
pr.association(interpolation_syn_E, obspy)
rotate_syn = pr.activity("seis_prov:sp010_rt_asdfkj4034", other_attributes=((
("prov:label", "Rotate"),
("prov:type", "seis_prov:rotate"),
("seis_prov:method", "NE->RT")
)))
pr.association(rotate_syn, obspy)
# The final trace has been rotated to transverse.
final_synthetic_trace = pr.entity("seis_prov:sp010_wf_43ptb430df", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "T"),
("seis_prov:description", "Synthetic Data")
))
# Create a lot of in between trace.
synthetic_trace_E_1 = pr.entity("seis_prov:sp002_wf_asdklfj93ef", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_2 = pr.entity("seis_prov:sp003_wf_wasdf34439", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_3 = pr.entity("seis_prov:sp004_wf_ds934jdafkj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_4 = pr.entity("seis_prov:sp005_wf_zdkja894dioj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_5 = pr.entity("seis_prov:sp006_wf_349df9j0", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_6 = pr.entity("seis_prov:sp007_wf_ijd0934j0", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_7 = pr.entity("seis_prov:sp008_wf_idj30949j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_E_8 = pr.entity("seis_prov:sp009_wf_09j3kjdi", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_1 = pr.entity("seis_prov:sp002_wf_eioasdf0934j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_2 = pr.entity("seis_prov:sp003_wf_kajoi4309j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_3 = pr.entity("seis_prov:sp004_wf_ija09j43l", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_4 = pr.entity("seis_prov:sp005_wf_lkjaoi9034j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_5 = pr.entity("seis_prov:sp006_wf_3oijoi904j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_6 = pr.entity("seis_prov:sp007_wf_iajsdfje", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_7 = pr.entity("seis_prov:sp008_wf_oij09adfj", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
synthetic_trace_N_8 = pr.entity("seis_prov:sp009_wf_jasdfj09032j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Synthetic Data")
))
# Now connect everything.
pr.usage(detrend_1_syn_E, synthetic_trace_E_original)
pr.generation(synthetic_trace_E_1, detrend_1_syn_E)
pr.usage(demean_1_syn_E, synthetic_trace_E_1)
pr.generation(synthetic_trace_E_2, demean_1_syn_E)
pr.usage(taper_1_syn_E, synthetic_trace_E_2)
pr.generation(synthetic_trace_E_3, taper_1_syn_E)
pr.usage(pre_filt_syn_E, synthetic_trace_E_3)
pr.generation(synthetic_trace_E_4, pre_filt_syn_E)
pr.usage(detrend_2_syn_E, synthetic_trace_E_4)
pr.generation(synthetic_trace_E_5, detrend_2_syn_E)
pr.usage(demean_2_syn_E, synthetic_trace_E_5)
pr.generation(synthetic_trace_E_6, demean_2_syn_E)
pr.usage(taper_2_syn_E, synthetic_trace_E_6)
pr.generation(synthetic_trace_E_7, taper_2_syn_E)
pr.usage(interpolation_syn_E, synthetic_trace_E_7)
pr.generation(synthetic_trace_E_8, interpolation_syn_E)
pr.usage(detrend_1_syn_N, synthetic_trace_N_original)
pr.generation(synthetic_trace_N_1, detrend_1_syn_N)
pr.usage(demean_1_syn_N, synthetic_trace_N_1)
pr.generation(synthetic_trace_N_2, demean_1_syn_N)
pr.usage(taper_1_syn_N, synthetic_trace_N_2)
pr.generation(synthetic_trace_N_3, taper_1_syn_N)
pr.usage(pre_filt_syn_N, synthetic_trace_N_3)
pr.generation(synthetic_trace_N_4, pre_filt_syn_N)
pr.usage(detrend_2_syn_N, synthetic_trace_N_4)
pr.generation(synthetic_trace_N_5, detrend_2_syn_N)
pr.usage(demean_2_syn_N, synthetic_trace_N_5)
pr.generation(synthetic_trace_N_6, demean_2_syn_N)
pr.usage(taper_2_syn_N, synthetic_trace_N_6)
pr.generation(synthetic_trace_N_7, taper_2_syn_N)
pr.usage(interpolation_syn_N, synthetic_trace_N_7)
pr.generation(synthetic_trace_N_8, interpolation_syn_N)
pr.usage(rotate_syn, synthetic_trace_N_8)
pr.usage(rotate_syn, synthetic_trace_E_8)
pr.generation(final_synthetic_trace, rotate_syn)
# Real data processing chain.
real_trace_N_original = pr.entity("seis_prov:sp001_wf_0askjdf0", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_E_original = pr.entity("seis_prov:sp001_wf_asdfoij0", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
# Now both reals will be detrended, demeaned, tapered, filtered, and once
# again everything.
# First detrend.
detrend_1_real_N = pr.activity("seis_prov:sp001_dt_o3ijasdfuh", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_1_real_N, obspy)
detrend_1_real_E = pr.activity("seis_prov:sp001_dt_ij2390jdl", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_1_real_E, obspy)
# First demean.
demean_1_real_N = pr.activity("seis_prov:sp002_dt_3809adlkjo", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_1_real_N, obspy)
demean_1_real_E = pr.activity("seis_prov:sp002_dt_ij09328j", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_1_real_E, obspy)
# First taper
taper_1_real_N = pr.activity("seis_prov:sp003_tp_kio390jf", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_1_real_N, obspy)
taper_1_real_E = pr.activity("seis_prov:sp003_tp_aioj309j", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_1_real_E, obspy)
# Pre filter.
pre_filt_real_N = pr.activity("seis_prov:sp004_bp_lij09jel", other_attributes=((
("prov:label", "Bandpass Filter"),
("prov:type", "seis_prov:bandpass_filter"),
("seis_prov:filter_type", "Cosine SAC Taper"),
("seis_prov:sac_cosine_taper_frequency_limits",
"0.013333333,0.016666667,0.037037037,0.044444444")
)))
pr.association(pre_filt_real_N, obspy)
pre_filt_real_E = pr.activity("seis_prov:sp004_bp_ijasdoij4l", other_attributes=((
("prov:label", "Bandpass Filter"),
("prov:type", "seis_prov:bandpass_filter"),
("seis_prov:filter_type", "Cosine SAC Taper"),
("seis_prov:sac_cosine_taper_frequency_limits",
"0.013333333,0.016666667,0.037037037,0.044444444")
)))
pr.association(pre_filt_real_E, obspy)
# instrument correction
remove_response_N = pr.activity("seis_prov:sp005_rr_ddcc155", other_attributes=((
("prov:label", "Remove Response"),
("prov:type", "seis_prov:remove_response"),
("seis_prov:water_level", prov.model.Literal(
600,
prov.constants.XSD_DOUBLE)),
("seis_prov:input_units", "counts"),
("seis_prov:output_units", "m")
)))
pr.association(pre_filt_real_N, obspy)
remove_response_E = pr.activity("seis_prov:sp005_rr_asdf34034", other_attributes=((
("prov:label", "Remove Response"),
("prov:type", "seis_prov:remove_response"),
("seis_prov:water_level", prov.model.Literal(
600,
prov.constants.XSD_DOUBLE)),
("seis_prov:input_units", "counts"),
("seis_prov:output_units", "m")
)))
pr.association(pre_filt_real_E, obspy)
# Second detrend.
detrend_2_real_N = pr.activity("seis_prov:sp006_dt_as034lkjo", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_2_real_N, obspy)
detrend_2_real_E = pr.activity("seis_prov:sp006_dt_asdfoij4", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "linear fit")
)))
pr.association(detrend_2_real_E, obspy)
# Second demean.
demean_2_real_N = pr.activity("seis_prov:sp007_dt_340jdflioj", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_2_real_N, obspy)
demean_2_real_E = pr.activity("seis_prov:sp007_dt_inv3l90o", other_attributes=((
("prov:label", "Detrend"),
("prov:type", "seis_prov:detrend"),
("seis_prov:detrending_method", "demean")
)))
pr.association(demean_2_real_E, obspy)
# Second taper
taper_2_real_N = pr.activity("seis_prov:sp008_tp_io34oic83", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_2_real_N, obspy)
taper_2_real_E = pr.activity("seis_prov:sp008_tp_9304jlkmio", other_attributes=((
("prov:label", "Taper"),
("prov:type", "seis_prov:taper"),
("seis_prov:window_type", "Hanning"),
("seis_prov:taper_width", prov.model.Literal(
0.05,
prov.constants.XSD_DOUBLE)),
("seis_prov:side", "both")
)))
pr.association(taper_2_real_E, obspy)
# Interpolation.
interpolation_real_N = pr.activity("seis_prov:sp009_ip_i34j09d", other_attributes=((
("prov:label", "Interpolate"),
("prov:type", "seis_prov:interpolate"),
("seis_prov:interpolation_method", "weighted average slopes"),
("seis_prov:new_sampling_rate", prov.model.Literal(
1.0,
prov.constants.XSD_DOUBLE))
)))
pr.association(interpolation_real_N, obspy)
interpolation_real_E = pr.activity("seis_prov:sp009_ip_4309jlkjn", other_attributes=((
("prov:label", "Interpolate"),
("prov:type", "seis_prov:interpolate"),
("seis_prov:interpolation_method", "weighted average slopes"),
("seis_prov:new_sampling_rate", prov.model.Literal(
1.0,
prov.constants.XSD_DOUBLE))
)))
pr.association(interpolation_real_E, obspy)
rotate_real = pr.activity("seis_prov:sp010_rt_039jznwmp", other_attributes=((
("prov:label", "Rotate"),
("prov:type", "seis_prov:rotate"),
("seis_prov:method", "NE->RT")
)))
pr.association(rotate_real, obspy)
# The final trace has been rotated to transverse.
final_real_trace = pr.entity("seis_prov:sp011_wf_aj0934mjh", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "T"),
("seis_prov:description", "Observed Data")
))
# Create a lot of in between trace.
real_trace_E_1 = pr.entity("seis_prov:sp002_wf_asdjf043m", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_2 = pr.entity("seis_prov:sp003_wf_9034jfzq", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_3 = pr.entity("seis_prov:sp004_wf_w90jasdfh", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_4 = pr.entity("seis_prov:sp005_wf_j0asdfm9", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_5 = pr.entity("seis_prov:sp006_wf_wasdfjme", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_6 = pr.entity("seis_prov:sp007_wf_j09boija", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_7 = pr.entity("seis_prov:sp008_wf_jasdf943", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_8 = pr.entity("seis_prov:sp009_wf_wj9hljo", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_E_9 = pr.entity("seis_prov:sp010_wf_fijioj345", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "E"),
("seis_prov:description", "Observed Data")
))
real_trace_N_1 = pr.entity("seis_prov:sp002_wf_wlkjsdf094", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_2 = pr.entity("seis_prov:sp003_wf_wjasdf4380", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_3 = pr.entity("seis_prov:sp004_wf_ncbeirp", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_4 = pr.entity("seis_prov:sp005_wf_wkjasdfio", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_5 = pr.entity("seis_prov:sp006_wf_wjasd9043", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_6 = pr.entity("seis_prov:sp007_wf_jasdfh4", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_7 = pr.entity("seis_prov:sp008_wf_asdfj9043", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_8 = pr.entity("seis_prov:sp009_wf_niasdf043", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
real_trace_N_9 = pr.entity("seis_prov:sp010_wf_9043594j", other_attributes=(
("prov:label", "Waveform Trace"),
("prov:type", "seis_prov:waveform_trace"),
("seis_prov:component", "N"),
("seis_prov:description", "Observed Data")
))
# Now connect everything.
pr.usage(detrend_1_real_E, real_trace_E_original)
pr.generation(real_trace_E_1, detrend_1_real_E)
pr.usage(demean_1_real_E, real_trace_E_1)
pr.generation(real_trace_E_2, demean_1_real_E)
pr.usage(taper_1_real_E, real_trace_E_2)
pr.generation(real_trace_E_3, taper_1_real_E)
pr.usage(pre_filt_real_E, real_trace_E_3)
pr.generation(real_trace_E_4, pre_filt_real_E)
pr.usage(remove_response_E, real_trace_E_4)
pr.generation(real_trace_E_5, remove_response_E)
pr.usage(detrend_2_real_E, real_trace_E_5)
pr.generation(real_trace_E_6, detrend_2_real_E)
pr.usage(demean_2_real_E, real_trace_E_6)
pr.generation(real_trace_E_7, demean_2_real_E)
pr.usage(taper_2_real_E, real_trace_E_7)
pr.generation(real_trace_E_8, taper_2_real_E)
pr.usage(interpolation_real_E, real_trace_E_8)
pr.generation(real_trace_E_9, interpolation_real_E)
pr.usage(detrend_1_real_N, real_trace_N_original)
pr.generation(real_trace_N_1, detrend_1_real_N)
pr.usage(demean_1_real_N, real_trace_N_1)
pr.generation(real_trace_N_2, demean_1_real_N)
pr.usage(taper_1_real_N, real_trace_N_2)
pr.generation(real_trace_N_3, taper_1_real_N)
pr.usage(pre_filt_real_N, real_trace_N_3)
pr.generation(real_trace_N_4, pre_filt_real_N)
pr.usage(remove_response_N, real_trace_N_4)
pr.generation(real_trace_N_5, remove_response_N)
pr.usage(detrend_2_real_N, real_trace_N_5)
pr.generation(real_trace_N_6, detrend_2_real_N)
pr.usage(demean_2_real_N, real_trace_N_6)
pr.generation(real_trace_N_7, demean_2_real_N)
pr.usage(taper_2_real_N, real_trace_N_7)
pr.generation(real_trace_N_8, taper_2_real_N)
pr.usage(interpolation_real_N, real_trace_N_8)
pr.generation(real_trace_N_9, interpolation_real_N)
pr.usage(rotate_real, real_trace_N_9)
pr.usage(rotate_real, real_trace_E_9)
pr.generation(final_real_trace, rotate_real)
calc_adjoint_source = pr.activity("seis_prov:sp011_ca_c7540fc", other_attributes=((
("prov:label", "Calculate Adjoint Source"),
("prov:type", "seis_prov:calculate_adjoint_source"),
("seis_prov:adjoint_source_type", "Time Frequency Phase")
)))
pr.association(calc_adjoint_source, pyadjoint)
pr.usage(calc_adjoint_source, final_real_trace)
pr.usage(calc_adjoint_source, final_synthetic_trace)
adjoint_source = pr.entity("seis_prov:sp012_as_cd84e87", other_attributes=((
("prov:label", "Adjoint Source"),
("prov:type", "seis_prov:adjoint_source"),
("seis_prov:adjoint_source_type", "Time Frequency Phase")
)))
pr.generation(adjoint_source, calc_adjoint_source)
In the PROV-XML serialization.
<prov:document xmlns:prov="http://www.w3.org/ns/prov#" xmlns:seis_prov="http://seisprov.org/seis_prov/0.1/#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prov:person prov:id="seis_prov:sp000_pp_me09234j">
<prov:label>Hans Mustermann</prov:label>
<seis_prov:email>hans.mustermann@email.com</seis_prov:email>
<seis_prov:name>Hans Mustermann</seis_prov:name>
</prov:person>
<prov:person prov:id="seis_prov:sp000_pp_j3j4loikj90">
<prov:label>Susanna Musterfrau</prov:label>
<seis_prov:email>susanna.musterfrau@email.com</seis_prov:email>
<seis_prov:name>Susanna Musterfrau</seis_prov:name>
</prov:person>
<prov:softwareAgent prov:id="seis_prov:sp000_sa_9dig8ata">
<prov:label>SPECFEM3D GLOBE</prov:label>
<seis_prov:software_name>SPECFEM3D GLOBE</seis_prov:software_name>
<seis_prov:software_version>7.0.0</seis_prov:software_version>
<seis_prov:website>http://geodynamics.org/cig/software/specfem3d</seis_prov:website>
</prov:softwareAgent>
<prov:actedOnBehalfOf>
<prov:delegate prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:delegate>
<prov:responsible prov:ref="seis_prov:sp000_pp_me09234j"></prov:responsible>
</prov:actedOnBehalfOf>
<prov:softwareAgent prov:id="seis_prov:sp000_sa_9dasdfih">
<prov:label>ObsPy</prov:label>
<seis_prov:doi>10.5281/zenodo.17641</seis_prov:doi>
<seis_prov:software_name>ObsPy</seis_prov:software_name>
<seis_prov:software_version>0.10.2</seis_prov:software_version>
<seis_prov:website>http://www.obspy.org</seis_prov:website>
</prov:softwareAgent>
<prov:softwareAgent prov:id="seis_prov:sp000_sa_9d0h43a">
<prov:label>pyadjoint</prov:label>
<seis_prov:software_name>pyadjoint</seis_prov:software_name>
<seis_prov:software_version>0.0.1dev</seis_prov:software_version>
<seis_prov:website>http://krischer.github.io/pyadjoint</seis_prov:website>
</prov:softwareAgent>
<prov:entity prov:id="seis_prov:sp000_em_skfusjdoej">
<prov:label>Earth Model</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:earth_model</prov:type>
<seis_prov:model_name>Random Model</seis_prov:model_name>
<seis_prov:model_type>3D</seis_prov:model_type>
<seis_prov:website>http://random.org/model</seis_prov:website>
</prov:entity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp000_em_skfusjdoej"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_pp_j3j4loikj90"></prov:agent>
</prov:wasAssociatedWith>
<prov:entity prov:id="seis_prov:sp000_in_38jd89da8l">
<prov:label>Input Parameters</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:input_parameters</prov:type>
<seis_prov:ABSORBING_CONDITIONS xsi:type="xsd:boolean">false</seis_prov:ABSORBING_CONDITIONS>
<seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES xsi:type="xsd:double">90.0</seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES>
<seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES xsi:type="xsd:double">90.0</seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES>
<seis_prov:ANISOTROPIC_KL xsi:type="xsd:boolean">false</seis_prov:ANISOTROPIC_KL>
<seis_prov:ATTENUATION xsi:type="xsd:boolean">false</seis_prov:ATTENUATION>
<seis_prov:CENTER_LATITUDE_IN_DEGREES xsi:type="xsd:double">40.0</seis_prov:CENTER_LATITUDE_IN_DEGREES>
<seis_prov:CENTER_LONGITUDE_IN_DEGREES xsi:type="xsd:double">10.0</seis_prov:CENTER_LONGITUDE_IN_DEGREES>
<seis_prov:ELLIPTICITY xsi:type="xsd:boolean">false</seis_prov:ELLIPTICITY>
<seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION xsi:type="xsd:boolean">false</seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION>
<seis_prov:GAMMA_ROTATION_AZIMUTH xsi:type="xsd:double">20.0</seis_prov:GAMMA_ROTATION_AZIMUTH>
<seis_prov:GRAVITY xsi:type="xsd:boolean">false</seis_prov:GRAVITY>
<seis_prov:NCHUNKS xsi:type="xsd:int">1</seis_prov:NCHUNKS>
<seis_prov:NEX_ETA xsi:type="xsd:int">240</seis_prov:NEX_ETA>
<seis_prov:NEX_XI xsi:type="xsd:int">240</seis_prov:NEX_XI>
<seis_prov:NOISE_TOMOGRAPHY xsi:type="xsd:int">0</seis_prov:NOISE_TOMOGRAPHY>
<seis_prov:NPROC_ETA xsi:type="xsd:int">5</seis_prov:NPROC_ETA>
<seis_prov:NPROC_XI xsi:type="xsd:int">5</seis_prov:NPROC_XI>
<seis_prov:OCEANS xsi:type="xsd:boolean">false</seis_prov:OCEANS>
<seis_prov:RECEIVERS_CAN_BE_BURIED xsi:type="xsd:boolean">true</seis_prov:RECEIVERS_CAN_BE_BURIED>
<seis_prov:ROTATION xsi:type="xsd:boolean">false</seis_prov:ROTATION>
<seis_prov:SIMULATION_TYPE xsi:type="xsd:int">1</seis_prov:SIMULATION_TYPE>
<seis_prov:TOPOGRAPHY xsi:type="xsd:boolean">false</seis_prov:TOPOGRAPHY>
<seis_prov:USE_LDDRK xsi:type="xsd:boolean">false</seis_prov:USE_LDDRK>
</prov:entity>
<prov:entity prov:id="seis_prov:sp000_fi_d49dh0h4">
<prov:label>File</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:file</prov:type>
<seis_prov:filename>constants.h</seis_prov:filename>
<seis_prov:location>/AuxiliaryData/Files/constants.h</seis_prov:location>
<seis_prov:location_type>HDF5 Data Set</seis_prov:location_type>
</prov:entity>
<prov:activity prov:id="seis_prov:sp001_ws_f87sf7sf78">
<prov:startTime>2014-02-02T12:15:03</prov:startTime>
<prov:endTime>2014-02-02T14:07:13</prov:endTime>
<prov:label>Waveform Simulation</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_simulation</prov:type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dig8ata"></prov:agent>
</prov:wasAssociatedWith>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_em_skfusjdoej"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_in_38jd89da8l"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
<prov:entity prov:ref="seis_prov:sp000_fi_d49dh0h4"></prov:entity>
</prov:used>
<prov:entity prov:id="seis_prov:sp001_wf_39409df">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp001_wf_kd9404hd04h">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp001_wf_39409df"></prov:entity>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp001_wf_kd9404hd04h"></prov:entity>
<prov:activity prov:ref="seis_prov:sp001_ws_f87sf7sf78"></prov:activity>
</prov:wasGeneratedBy>
<prov:activity prov:id="seis_prov:sp002_dt_4ijf0dfo0">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp002_dt_4ijf0dfo0"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp002_dt_ir0dfk409">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp002_dt_ir0dfk409"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp003_dt_4834f0dj0">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp003_dt_4834f0dj0"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp003_dt_vj3urc943">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp003_dt_vj3urc943"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp004_tp_dsfj43e4j">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_tp_dsfj43e4j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp004_tp_dk430f834">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_tp_dk430f834"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp005_bp_qzprtj48r">
<prov:label>Bandpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:bandpass_filter</prov:type>
<seis_prov:filter_type>Cosine SAC Taper</seis_prov:filter_type>
<seis_prov:sac_cosine_taper_frequency_limits>0.013333333,0.016666667,0.037037037,0.044444444</seis_prov:sac_cosine_taper_frequency_limits>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp005_bp_qzprtj48r"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp005_bp_843ijdfskjgr">
<prov:label>Bandpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:bandpass_filter</prov:type>
<seis_prov:filter_type>Cosine SAC Taper</seis_prov:filter_type>
<seis_prov:sac_cosine_taper_frequency_limits>0.013333333,0.016666667,0.037037037,0.044444444</seis_prov:sac_cosine_taper_frequency_limits>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp005_bp_843ijdfskjgr"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp006_dt_893ndidh">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp006_dt_893ndidh"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp006_dt_jk340du34j">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp006_dt_jk340du34j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp007_dt_dko349dfj">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp007_dt_dko349dfj"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp007_dt_9djldfj">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp007_dt_9djldfj"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp008_tp_iojdf9834j">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp008_tp_iojdf9834j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp008_tp_834jd0h">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp008_tp_834jd0h"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp009_ip_iadsf3490j">
<prov:label>Interpolate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:interpolate</prov:type>
<seis_prov:interpolation_method>weighted average slopes</seis_prov:interpolation_method>
<seis_prov:new_sampling_rate xsi:type="xsd:double">1.0</seis_prov:new_sampling_rate>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp009_ip_iadsf3490j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp009_ip_diajsdf80">
<prov:label>Interpolate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:interpolate</prov:type>
<seis_prov:interpolation_method>weighted average slopes</seis_prov:interpolation_method>
<seis_prov:new_sampling_rate xsi:type="xsd:double">1.0</seis_prov:new_sampling_rate>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp009_ip_diajsdf80"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp010_rt_asdfkj4034">
<prov:label>Rotate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:rotate</prov:type>
<seis_prov:method>NE->RT</seis_prov:method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp010_rt_asdfkj4034"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:entity prov:id="seis_prov:sp010_wf_43ptb430df">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>T</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp002_wf_asdklfj93ef">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp003_wf_wasdf34439">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp004_wf_ds934jdafkj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp005_wf_zdkja894dioj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp006_wf_349df9j0">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp007_wf_ijd0934j0">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp008_wf_idj30949j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp009_wf_09j3kjdi">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp002_wf_eioasdf0934j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp003_wf_kajoi4309j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp004_wf_ija09j43l">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp005_wf_lkjaoi9034j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp006_wf_3oijoi904j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp007_wf_iajsdfje">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp008_wf_oij09adfj">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp009_wf_jasdfj09032j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Synthetic Data</seis_prov:description>
</prov:entity>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_ir0dfk409"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_kd9404hd04h"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp002_wf_asdklfj93ef"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_ir0dfk409"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp003_dt_vj3urc943"></prov:activity>
<prov:entity prov:ref="seis_prov:sp002_wf_asdklfj93ef"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_wasdf34439"></prov:entity>
<prov:activity prov:ref="seis_prov:sp003_dt_vj3urc943"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_tp_dk430f834"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_wasdf34439"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp004_wf_ds934jdafkj"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_tp_dk430f834"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp005_bp_843ijdfskjgr"></prov:activity>
<prov:entity prov:ref="seis_prov:sp004_wf_ds934jdafkj"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_zdkja894dioj"></prov:entity>
<prov:activity prov:ref="seis_prov:sp005_bp_843ijdfskjgr"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dt_jk340du34j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_zdkja894dioj"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp006_wf_349df9j0"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dt_jk340du34j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp007_dt_9djldfj"></prov:activity>
<prov:entity prov:ref="seis_prov:sp006_wf_349df9j0"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_ijd0934j0"></prov:entity>
<prov:activity prov:ref="seis_prov:sp007_dt_9djldfj"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp008_tp_834jd0h"></prov:activity>
<prov:entity prov:ref="seis_prov:sp007_wf_ijd0934j0"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp008_wf_idj30949j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp008_tp_834jd0h"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp009_ip_diajsdf80"></prov:activity>
<prov:entity prov:ref="seis_prov:sp008_wf_idj30949j"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp009_wf_09j3kjdi"></prov:entity>
<prov:activity prov:ref="seis_prov:sp009_ip_diajsdf80"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_4ijf0dfo0"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_39409df"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp002_wf_eioasdf0934j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_4ijf0dfo0"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp003_dt_4834f0dj0"></prov:activity>
<prov:entity prov:ref="seis_prov:sp002_wf_eioasdf0934j"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_kajoi4309j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp003_dt_4834f0dj0"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_tp_dsfj43e4j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_kajoi4309j"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp004_wf_ija09j43l"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_tp_dsfj43e4j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp005_bp_qzprtj48r"></prov:activity>
<prov:entity prov:ref="seis_prov:sp004_wf_ija09j43l"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_lkjaoi9034j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp005_bp_qzprtj48r"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dt_893ndidh"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_lkjaoi9034j"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp006_wf_3oijoi904j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dt_893ndidh"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp007_dt_dko349dfj"></prov:activity>
<prov:entity prov:ref="seis_prov:sp006_wf_3oijoi904j"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_iajsdfje"></prov:entity>
<prov:activity prov:ref="seis_prov:sp007_dt_dko349dfj"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp008_tp_iojdf9834j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp007_wf_iajsdfje"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp008_wf_oij09adfj"></prov:entity>
<prov:activity prov:ref="seis_prov:sp008_tp_iojdf9834j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp009_ip_iadsf3490j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp008_wf_oij09adfj"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp009_wf_jasdfj09032j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp009_ip_iadsf3490j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp010_rt_asdfkj4034"></prov:activity>
<prov:entity prov:ref="seis_prov:sp009_wf_jasdfj09032j"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp010_rt_asdfkj4034"></prov:activity>
<prov:entity prov:ref="seis_prov:sp009_wf_09j3kjdi"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp010_wf_43ptb430df"></prov:entity>
<prov:activity prov:ref="seis_prov:sp010_rt_asdfkj4034"></prov:activity>
</prov:wasGeneratedBy>
<prov:entity prov:id="seis_prov:sp001_wf_0askjdf0">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp001_wf_asdfoij0">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:activity prov:id="seis_prov:sp001_dt_o3ijasdfuh">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp001_dt_o3ijasdfuh"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp001_dt_ij2390jdl">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp001_dt_ij2390jdl"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp002_dt_3809adlkjo">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp002_dt_3809adlkjo"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp002_dt_ij09328j">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp002_dt_ij09328j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp003_tp_kio390jf">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp003_tp_kio390jf"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp003_tp_aioj309j">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp003_tp_aioj309j"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp004_bp_lij09jel">
<prov:label>Bandpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:bandpass_filter</prov:type>
<seis_prov:filter_type>Cosine SAC Taper</seis_prov:filter_type>
<seis_prov:sac_cosine_taper_frequency_limits>0.013333333,0.016666667,0.037037037,0.044444444</seis_prov:sac_cosine_taper_frequency_limits>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_bp_lij09jel"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp004_bp_ijasdoij4l">
<prov:label>Bandpass Filter</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:bandpass_filter</prov:type>
<seis_prov:filter_type>Cosine SAC Taper</seis_prov:filter_type>
<seis_prov:sac_cosine_taper_frequency_limits>0.013333333,0.016666667,0.037037037,0.044444444</seis_prov:sac_cosine_taper_frequency_limits>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_bp_ijasdoij4l"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp005_rr_ddcc155">
<prov:label>Remove Response</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:remove_response</prov:type>
<seis_prov:input_units>counts</seis_prov:input_units>
<seis_prov:output_units>m</seis_prov:output_units>
<seis_prov:water_level xsi:type="xsd:double">600.0</seis_prov:water_level>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_bp_lij09jel"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp005_rr_asdf34034">
<prov:label>Remove Response</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:remove_response</prov:type>
<seis_prov:input_units>counts</seis_prov:input_units>
<seis_prov:output_units>m</seis_prov:output_units>
<seis_prov:water_level xsi:type="xsd:double">600.0</seis_prov:water_level>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp004_bp_ijasdoij4l"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp006_dt_as034lkjo">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp006_dt_as034lkjo"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp006_dt_asdfoij4">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>linear fit</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp006_dt_asdfoij4"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp007_dt_340jdflioj">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp007_dt_340jdflioj"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp007_dt_inv3l90o">
<prov:label>Detrend</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:detrend</prov:type>
<seis_prov:detrending_method>demean</seis_prov:detrending_method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp007_dt_inv3l90o"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp008_tp_io34oic83">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp008_tp_io34oic83"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp008_tp_9304jlkmio">
<prov:label>Taper</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:taper</prov:type>
<seis_prov:side>both</seis_prov:side>
<seis_prov:taper_width xsi:type="xsd:double">0.05</seis_prov:taper_width>
<seis_prov:window_type>Hanning</seis_prov:window_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp008_tp_9304jlkmio"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp009_ip_i34j09d">
<prov:label>Interpolate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:interpolate</prov:type>
<seis_prov:interpolation_method>weighted average slopes</seis_prov:interpolation_method>
<seis_prov:new_sampling_rate xsi:type="xsd:double">1.0</seis_prov:new_sampling_rate>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp009_ip_i34j09d"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp009_ip_4309jlkjn">
<prov:label>Interpolate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:interpolate</prov:type>
<seis_prov:interpolation_method>weighted average slopes</seis_prov:interpolation_method>
<seis_prov:new_sampling_rate xsi:type="xsd:double">1.0</seis_prov:new_sampling_rate>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp009_ip_4309jlkjn"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:activity prov:id="seis_prov:sp010_rt_039jznwmp">
<prov:label>Rotate</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:rotate</prov:type>
<seis_prov:method>NE->RT</seis_prov:method>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp010_rt_039jznwmp"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9dasdfih"></prov:agent>
</prov:wasAssociatedWith>
<prov:entity prov:id="seis_prov:sp011_wf_aj0934mjh">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>T</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp002_wf_asdjf043m">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp003_wf_9034jfzq">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp004_wf_w90jasdfh">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp005_wf_j0asdfm9">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp006_wf_wasdfjme">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp007_wf_j09boija">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp008_wf_jasdf943">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp009_wf_wj9hljo">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp010_wf_fijioj345">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>E</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp002_wf_wlkjsdf094">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp003_wf_wjasdf4380">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp004_wf_ncbeirp">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp005_wf_wkjasdfio">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp006_wf_wjasd9043">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp007_wf_jasdfh4">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp008_wf_asdfj9043">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp009_wf_niasdf043">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:entity prov:id="seis_prov:sp010_wf_9043594j">
<prov:label>Waveform Trace</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:waveform_trace</prov:type>
<seis_prov:component>N</seis_prov:component>
<seis_prov:description>Observed Data</seis_prov:description>
</prov:entity>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_dt_ij2390jdl"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_asdfoij0"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp002_wf_asdjf043m"></prov:entity>
<prov:activity prov:ref="seis_prov:sp001_dt_ij2390jdl"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_ij09328j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp002_wf_asdjf043m"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_9034jfzq"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_ij09328j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp003_tp_aioj309j"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_9034jfzq"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp004_wf_w90jasdfh"></prov:entity>
<prov:activity prov:ref="seis_prov:sp003_tp_aioj309j"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_bp_ijasdoij4l"></prov:activity>
<prov:entity prov:ref="seis_prov:sp004_wf_w90jasdfh"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_j0asdfm9"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_bp_ijasdoij4l"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp005_rr_asdf34034"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_j0asdfm9"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp006_wf_wasdfjme"></prov:entity>
<prov:activity prov:ref="seis_prov:sp005_rr_asdf34034"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dt_asdfoij4"></prov:activity>
<prov:entity prov:ref="seis_prov:sp006_wf_wasdfjme"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_j09boija"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dt_asdfoij4"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp007_dt_inv3l90o"></prov:activity>
<prov:entity prov:ref="seis_prov:sp007_wf_j09boija"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp008_wf_jasdf943"></prov:entity>
<prov:activity prov:ref="seis_prov:sp007_dt_inv3l90o"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp008_tp_9304jlkmio"></prov:activity>
<prov:entity prov:ref="seis_prov:sp008_wf_jasdf943"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp009_wf_wj9hljo"></prov:entity>
<prov:activity prov:ref="seis_prov:sp008_tp_9304jlkmio"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp009_ip_4309jlkjn"></prov:activity>
<prov:entity prov:ref="seis_prov:sp009_wf_wj9hljo"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp010_wf_fijioj345"></prov:entity>
<prov:activity prov:ref="seis_prov:sp009_ip_4309jlkjn"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp001_dt_o3ijasdfuh"></prov:activity>
<prov:entity prov:ref="seis_prov:sp001_wf_0askjdf0"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp002_wf_wlkjsdf094"></prov:entity>
<prov:activity prov:ref="seis_prov:sp001_dt_o3ijasdfuh"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp002_dt_3809adlkjo"></prov:activity>
<prov:entity prov:ref="seis_prov:sp002_wf_wlkjsdf094"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp003_wf_wjasdf4380"></prov:entity>
<prov:activity prov:ref="seis_prov:sp002_dt_3809adlkjo"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp003_tp_kio390jf"></prov:activity>
<prov:entity prov:ref="seis_prov:sp003_wf_wjasdf4380"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp004_wf_ncbeirp"></prov:entity>
<prov:activity prov:ref="seis_prov:sp003_tp_kio390jf"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp004_bp_lij09jel"></prov:activity>
<prov:entity prov:ref="seis_prov:sp004_wf_ncbeirp"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp005_wf_wkjasdfio"></prov:entity>
<prov:activity prov:ref="seis_prov:sp004_bp_lij09jel"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp005_rr_ddcc155"></prov:activity>
<prov:entity prov:ref="seis_prov:sp005_wf_wkjasdfio"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp006_wf_wjasd9043"></prov:entity>
<prov:activity prov:ref="seis_prov:sp005_rr_ddcc155"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp006_dt_as034lkjo"></prov:activity>
<prov:entity prov:ref="seis_prov:sp006_wf_wjasd9043"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp007_wf_jasdfh4"></prov:entity>
<prov:activity prov:ref="seis_prov:sp006_dt_as034lkjo"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp007_dt_340jdflioj"></prov:activity>
<prov:entity prov:ref="seis_prov:sp007_wf_jasdfh4"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp008_wf_asdfj9043"></prov:entity>
<prov:activity prov:ref="seis_prov:sp007_dt_340jdflioj"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp008_tp_io34oic83"></prov:activity>
<prov:entity prov:ref="seis_prov:sp008_wf_asdfj9043"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp009_wf_niasdf043"></prov:entity>
<prov:activity prov:ref="seis_prov:sp008_tp_io34oic83"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp009_ip_i34j09d"></prov:activity>
<prov:entity prov:ref="seis_prov:sp009_wf_niasdf043"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp010_wf_9043594j"></prov:entity>
<prov:activity prov:ref="seis_prov:sp009_ip_i34j09d"></prov:activity>
</prov:wasGeneratedBy>
<prov:used>
<prov:activity prov:ref="seis_prov:sp010_rt_039jznwmp"></prov:activity>
<prov:entity prov:ref="seis_prov:sp010_wf_9043594j"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp010_rt_039jznwmp"></prov:activity>
<prov:entity prov:ref="seis_prov:sp010_wf_fijioj345"></prov:entity>
</prov:used>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp011_wf_aj0934mjh"></prov:entity>
<prov:activity prov:ref="seis_prov:sp010_rt_039jznwmp"></prov:activity>
</prov:wasGeneratedBy>
<prov:activity prov:id="seis_prov:sp011_ca_c7540fc">
<prov:label>Calculate Adjoint Source</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:calculate_adjoint_source</prov:type>
<seis_prov:adjoint_source_type>Time Frequency Phase</seis_prov:adjoint_source_type>
</prov:activity>
<prov:wasAssociatedWith>
<prov:activity prov:ref="seis_prov:sp011_ca_c7540fc"></prov:activity>
<prov:agent prov:ref="seis_prov:sp000_sa_9d0h43a"></prov:agent>
</prov:wasAssociatedWith>
<prov:used>
<prov:activity prov:ref="seis_prov:sp011_ca_c7540fc"></prov:activity>
<prov:entity prov:ref="seis_prov:sp011_wf_aj0934mjh"></prov:entity>
</prov:used>
<prov:used>
<prov:activity prov:ref="seis_prov:sp011_ca_c7540fc"></prov:activity>
<prov:entity prov:ref="seis_prov:sp010_wf_43ptb430df"></prov:entity>
</prov:used>
<prov:entity prov:id="seis_prov:sp012_as_cd84e87">
<prov:label>Adjoint Source</prov:label>
<prov:type xsi:type="xsd:string">seis_prov:adjoint_source</prov:type>
<seis_prov:adjoint_source_type>Time Frequency Phase</seis_prov:adjoint_source_type>
</prov:entity>
<prov:wasGeneratedBy>
<prov:entity prov:ref="seis_prov:sp012_as_cd84e87"></prov:entity>
<prov:activity prov:ref="seis_prov:sp011_ca_c7540fc"></prov:activity>
</prov:wasGeneratedBy>
</prov:document>
In the PROV-JSON serialization.
{
"actedOnBehalfOf": {
"_:id1": {
"prov:delegate": "seis_prov:sp000_sa_9dig8ata",
"prov:responsible": "seis_prov:sp000_pp_me09234j"
}
},
"activity": {
"seis_prov:sp001_dt_ij2390jdl": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp001_dt_o3ijasdfuh": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp001_ws_f87sf7sf78": {
"prov:endTime": "2014-02-02T14:07:13",
"prov:label": "Waveform Simulation",
"prov:startTime": "2014-02-02T12:15:03",
"prov:type": "seis_prov:waveform_simulation"
},
"seis_prov:sp002_dt_3809adlkjo": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp002_dt_4ijf0dfo0": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp002_dt_ij09328j": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp002_dt_ir0dfk409": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp003_dt_4834f0dj0": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp003_dt_vj3urc943": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp003_tp_aioj309j": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp003_tp_kio390jf": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp004_bp_ijasdoij4l": {
"prov:label": "Bandpass Filter",
"prov:type": "seis_prov:bandpass_filter",
"seis_prov:filter_type": "Cosine SAC Taper",
"seis_prov:sac_cosine_taper_frequency_limits": "0.013333333,0.016666667,0.037037037,0.044444444"
},
"seis_prov:sp004_bp_lij09jel": {
"prov:label": "Bandpass Filter",
"prov:type": "seis_prov:bandpass_filter",
"seis_prov:filter_type": "Cosine SAC Taper",
"seis_prov:sac_cosine_taper_frequency_limits": "0.013333333,0.016666667,0.037037037,0.044444444"
},
"seis_prov:sp004_tp_dk430f834": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp004_tp_dsfj43e4j": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp005_bp_843ijdfskjgr": {
"prov:label": "Bandpass Filter",
"prov:type": "seis_prov:bandpass_filter",
"seis_prov:filter_type": "Cosine SAC Taper",
"seis_prov:sac_cosine_taper_frequency_limits": "0.013333333,0.016666667,0.037037037,0.044444444"
},
"seis_prov:sp005_bp_qzprtj48r": {
"prov:label": "Bandpass Filter",
"prov:type": "seis_prov:bandpass_filter",
"seis_prov:filter_type": "Cosine SAC Taper",
"seis_prov:sac_cosine_taper_frequency_limits": "0.013333333,0.016666667,0.037037037,0.044444444"
},
"seis_prov:sp005_rr_asdf34034": {
"prov:label": "Remove Response",
"prov:type": "seis_prov:remove_response",
"seis_prov:input_units": "counts",
"seis_prov:output_units": "m",
"seis_prov:water_level": {
"$": 600.0,
"type": "xsd:double"
}
},
"seis_prov:sp005_rr_ddcc155": {
"prov:label": "Remove Response",
"prov:type": "seis_prov:remove_response",
"seis_prov:input_units": "counts",
"seis_prov:output_units": "m",
"seis_prov:water_level": {
"$": 600.0,
"type": "xsd:double"
}
},
"seis_prov:sp006_dt_893ndidh": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp006_dt_as034lkjo": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp006_dt_asdfoij4": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp006_dt_jk340du34j": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "linear fit"
},
"seis_prov:sp007_dt_340jdflioj": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp007_dt_9djldfj": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp007_dt_dko349dfj": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp007_dt_inv3l90o": {
"prov:label": "Detrend",
"prov:type": "seis_prov:detrend",
"seis_prov:detrending_method": "demean"
},
"seis_prov:sp008_tp_834jd0h": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp008_tp_9304jlkmio": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp008_tp_io34oic83": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp008_tp_iojdf9834j": {
"prov:label": "Taper",
"prov:type": "seis_prov:taper",
"seis_prov:side": "both",
"seis_prov:taper_width": {
"$": 0.05,
"type": "xsd:double"
},
"seis_prov:window_type": "Hanning"
},
"seis_prov:sp009_ip_4309jlkjn": {
"prov:label": "Interpolate",
"prov:type": "seis_prov:interpolate",
"seis_prov:interpolation_method": "weighted average slopes",
"seis_prov:new_sampling_rate": {
"$": 1.0,
"type": "xsd:double"
}
},
"seis_prov:sp009_ip_diajsdf80": {
"prov:label": "Interpolate",
"prov:type": "seis_prov:interpolate",
"seis_prov:interpolation_method": "weighted average slopes",
"seis_prov:new_sampling_rate": {
"$": 1.0,
"type": "xsd:double"
}
},
"seis_prov:sp009_ip_i34j09d": {
"prov:label": "Interpolate",
"prov:type": "seis_prov:interpolate",
"seis_prov:interpolation_method": "weighted average slopes",
"seis_prov:new_sampling_rate": {
"$": 1.0,
"type": "xsd:double"
}
},
"seis_prov:sp009_ip_iadsf3490j": {
"prov:label": "Interpolate",
"prov:type": "seis_prov:interpolate",
"seis_prov:interpolation_method": "weighted average slopes",
"seis_prov:new_sampling_rate": {
"$": 1.0,
"type": "xsd:double"
}
},
"seis_prov:sp010_rt_039jznwmp": {
"prov:label": "Rotate",
"prov:type": "seis_prov:rotate",
"seis_prov:method": "NE->RT"
},
"seis_prov:sp010_rt_asdfkj4034": {
"prov:label": "Rotate",
"prov:type": "seis_prov:rotate",
"seis_prov:method": "NE->RT"
},
"seis_prov:sp011_ca_c7540fc": {
"prov:label": "Calculate Adjoint Source",
"prov:type": "seis_prov:calculate_adjoint_source",
"seis_prov:adjoint_source_type": "Time Frequency Phase"
}
},
"agent": {
"seis_prov:sp000_pp_j3j4loikj90": {
"prov:label": "Susanna Musterfrau",
"prov:type": {
"$": "prov:Person",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:email": "susanna.musterfrau@email.com",
"seis_prov:name": "Susanna Musterfrau"
},
"seis_prov:sp000_pp_me09234j": {
"prov:label": "Hans Mustermann",
"prov:type": {
"$": "prov:Person",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:email": "hans.mustermann@email.com",
"seis_prov:name": "Hans Mustermann"
},
"seis_prov:sp000_sa_9d0h43a": {
"prov:label": "pyadjoint",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:software_name": "pyadjoint",
"seis_prov:software_version": "0.0.1dev",
"seis_prov:website": "http://krischer.github.io/pyadjoint"
},
"seis_prov:sp000_sa_9dasdfih": {
"prov:label": "ObsPy",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:doi": "10.5281/zenodo.17641",
"seis_prov:software_name": "ObsPy",
"seis_prov:software_version": "0.10.2",
"seis_prov:website": "http://www.obspy.org"
},
"seis_prov:sp000_sa_9dig8ata": {
"prov:label": "SPECFEM3D GLOBE",
"prov:type": {
"$": "prov:SoftwareAgent",
"type": "prov:QUALIFIED_NAME"
},
"seis_prov:software_name": "SPECFEM3D GLOBE",
"seis_prov:software_version": "7.0.0",
"seis_prov:website": "http://geodynamics.org/cig/software/specfem3d"
}
},
"entity": {
"seis_prov:sp000_em_skfusjdoej": {
"prov:label": "Earth Model",
"prov:type": "seis_prov:earth_model",
"seis_prov:model_name": "Random Model",
"seis_prov:model_type": "3D",
"seis_prov:website": "http://random.org/model"
},
"seis_prov:sp000_fi_d49dh0h4": {
"prov:label": "File",
"prov:type": "seis_prov:file",
"seis_prov:filename": "constants.h",
"seis_prov:location": "/AuxiliaryData/Files/constants.h",
"seis_prov:location_type": "HDF5 Data Set"
},
"seis_prov:sp000_in_38jd89da8l": {
"prov:label": "Input Parameters",
"prov:type": "seis_prov:input_parameters",
"seis_prov:ABSORBING_CONDITIONS": false,
"seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES": {
"$": 90.0,
"type": "xsd:double"
},
"seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES": {
"$": 90.0,
"type": "xsd:double"
},
"seis_prov:ANISOTROPIC_KL": false,
"seis_prov:ATTENUATION": false,
"seis_prov:CENTER_LATITUDE_IN_DEGREES": {
"$": 40.0,
"type": "xsd:double"
},
"seis_prov:CENTER_LONGITUDE_IN_DEGREES": {
"$": 10.0,
"type": "xsd:double"
},
"seis_prov:ELLIPTICITY": false,
"seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION": false,
"seis_prov:GAMMA_ROTATION_AZIMUTH": {
"$": 20.0,
"type": "xsd:double"
},
"seis_prov:GRAVITY": false,
"seis_prov:NCHUNKS": {
"$": 1,
"type": "xsd:int"
},
"seis_prov:NEX_ETA": {
"$": 240,
"type": "xsd:int"
},
"seis_prov:NEX_XI": {
"$": 240,
"type": "xsd:int"
},
"seis_prov:NOISE_TOMOGRAPHY": {
"$": 0,
"type": "xsd:int"
},
"seis_prov:NPROC_ETA": {
"$": 5,
"type": "xsd:int"
},
"seis_prov:NPROC_XI": {
"$": 5,
"type": "xsd:int"
},
"seis_prov:OCEANS": false,
"seis_prov:RECEIVERS_CAN_BE_BURIED": true,
"seis_prov:ROTATION": false,
"seis_prov:SIMULATION_TYPE": {
"$": 1,
"type": "xsd:int"
},
"seis_prov:TOPOGRAPHY": false,
"seis_prov:USE_LDDRK": false
},
"seis_prov:sp001_wf_0askjdf0": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp001_wf_39409df": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp001_wf_asdfoij0": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp001_wf_kd9404hd04h": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp002_wf_asdjf043m": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp002_wf_asdklfj93ef": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp002_wf_eioasdf0934j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp002_wf_wlkjsdf094": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp003_wf_9034jfzq": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp003_wf_kajoi4309j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp003_wf_wasdf34439": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp003_wf_wjasdf4380": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp004_wf_ds934jdafkj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp004_wf_ija09j43l": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp004_wf_ncbeirp": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp004_wf_w90jasdfh": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp005_wf_j0asdfm9": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp005_wf_lkjaoi9034j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp005_wf_wkjasdfio": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp005_wf_zdkja894dioj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp006_wf_349df9j0": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp006_wf_3oijoi904j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp006_wf_wasdfjme": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp006_wf_wjasd9043": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp007_wf_iajsdfje": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp007_wf_ijd0934j0": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp007_wf_j09boija": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp007_wf_jasdfh4": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp008_wf_asdfj9043": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp008_wf_idj30949j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp008_wf_jasdf943": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp008_wf_oij09adfj": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp009_wf_09j3kjdi": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp009_wf_jasdfj09032j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp009_wf_niasdf043": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp009_wf_wj9hljo": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp010_wf_43ptb430df": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "T",
"seis_prov:description": "Synthetic Data"
},
"seis_prov:sp010_wf_9043594j": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "N",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp010_wf_fijioj345": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "E",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp011_wf_aj0934mjh": {
"prov:label": "Waveform Trace",
"prov:type": "seis_prov:waveform_trace",
"seis_prov:component": "T",
"seis_prov:description": "Observed Data"
},
"seis_prov:sp012_as_cd84e87": {
"prov:label": "Adjoint Source",
"prov:type": "seis_prov:adjoint_source",
"seis_prov:adjoint_source_type": "Time Frequency Phase"
}
},
"prefix": {
"seis_prov": "http://seisprov.org/seis_prov/0.1/#"
},
"used": {
"_:id100": {
"prov:activity": "seis_prov:sp003_tp_kio390jf",
"prov:entity": "seis_prov:sp003_wf_wjasdf4380"
},
"_:id102": {
"prov:activity": "seis_prov:sp004_bp_lij09jel",
"prov:entity": "seis_prov:sp004_wf_ncbeirp"
},
"_:id104": {
"prov:activity": "seis_prov:sp005_rr_ddcc155",
"prov:entity": "seis_prov:sp005_wf_wkjasdfio"
},
"_:id106": {
"prov:activity": "seis_prov:sp006_dt_as034lkjo",
"prov:entity": "seis_prov:sp006_wf_wjasd9043"
},
"_:id108": {
"prov:activity": "seis_prov:sp007_dt_340jdflioj",
"prov:entity": "seis_prov:sp007_wf_jasdfh4"
},
"_:id110": {
"prov:activity": "seis_prov:sp008_tp_io34oic83",
"prov:entity": "seis_prov:sp008_wf_asdfj9043"
},
"_:id112": {
"prov:activity": "seis_prov:sp009_ip_i34j09d",
"prov:entity": "seis_prov:sp009_wf_niasdf043"
},
"_:id114": {
"prov:activity": "seis_prov:sp010_rt_039jznwmp",
"prov:entity": "seis_prov:sp010_wf_9043594j"
},
"_:id115": {
"prov:activity": "seis_prov:sp010_rt_039jznwmp",
"prov:entity": "seis_prov:sp010_wf_fijioj345"
},
"_:id118": {
"prov:activity": "seis_prov:sp011_ca_c7540fc",
"prov:entity": "seis_prov:sp011_wf_aj0934mjh"
},
"_:id119": {
"prov:activity": "seis_prov:sp011_ca_c7540fc",
"prov:entity": "seis_prov:sp010_wf_43ptb430df"
},
"_:id26": {
"prov:activity": "seis_prov:sp002_dt_ir0dfk409",
"prov:entity": "seis_prov:sp001_wf_kd9404hd04h"
},
"_:id28": {
"prov:activity": "seis_prov:sp003_dt_vj3urc943",
"prov:entity": "seis_prov:sp002_wf_asdklfj93ef"
},
"_:id30": {
"prov:activity": "seis_prov:sp004_tp_dk430f834",
"prov:entity": "seis_prov:sp003_wf_wasdf34439"
},
"_:id32": {
"prov:activity": "seis_prov:sp005_bp_843ijdfskjgr",
"prov:entity": "seis_prov:sp004_wf_ds934jdafkj"
},
"_:id34": {
"prov:activity": "seis_prov:sp006_dt_jk340du34j",
"prov:entity": "seis_prov:sp005_wf_zdkja894dioj"
},
"_:id36": {
"prov:activity": "seis_prov:sp007_dt_9djldfj",
"prov:entity": "seis_prov:sp006_wf_349df9j0"
},
"_:id38": {
"prov:activity": "seis_prov:sp008_tp_834jd0h",
"prov:entity": "seis_prov:sp007_wf_ijd0934j0"
},
"_:id4": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_em_skfusjdoej"
},
"_:id40": {
"prov:activity": "seis_prov:sp009_ip_diajsdf80",
"prov:entity": "seis_prov:sp008_wf_idj30949j"
},
"_:id42": {
"prov:activity": "seis_prov:sp002_dt_4ijf0dfo0",
"prov:entity": "seis_prov:sp001_wf_39409df"
},
"_:id44": {
"prov:activity": "seis_prov:sp003_dt_4834f0dj0",
"prov:entity": "seis_prov:sp002_wf_eioasdf0934j"
},
"_:id46": {
"prov:activity": "seis_prov:sp004_tp_dsfj43e4j",
"prov:entity": "seis_prov:sp003_wf_kajoi4309j"
},
"_:id48": {
"prov:activity": "seis_prov:sp005_bp_qzprtj48r",
"prov:entity": "seis_prov:sp004_wf_ija09j43l"
},
"_:id5": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_in_38jd89da8l"
},
"_:id50": {
"prov:activity": "seis_prov:sp006_dt_893ndidh",
"prov:entity": "seis_prov:sp005_wf_lkjaoi9034j"
},
"_:id52": {
"prov:activity": "seis_prov:sp007_dt_dko349dfj",
"prov:entity": "seis_prov:sp006_wf_3oijoi904j"
},
"_:id54": {
"prov:activity": "seis_prov:sp008_tp_iojdf9834j",
"prov:entity": "seis_prov:sp007_wf_iajsdfje"
},
"_:id56": {
"prov:activity": "seis_prov:sp009_ip_iadsf3490j",
"prov:entity": "seis_prov:sp008_wf_oij09adfj"
},
"_:id58": {
"prov:activity": "seis_prov:sp010_rt_asdfkj4034",
"prov:entity": "seis_prov:sp009_wf_jasdfj09032j"
},
"_:id59": {
"prov:activity": "seis_prov:sp010_rt_asdfkj4034",
"prov:entity": "seis_prov:sp009_wf_09j3kjdi"
},
"_:id6": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp000_fi_d49dh0h4"
},
"_:id78": {
"prov:activity": "seis_prov:sp001_dt_ij2390jdl",
"prov:entity": "seis_prov:sp001_wf_asdfoij0"
},
"_:id80": {
"prov:activity": "seis_prov:sp002_dt_ij09328j",
"prov:entity": "seis_prov:sp002_wf_asdjf043m"
},
"_:id82": {
"prov:activity": "seis_prov:sp003_tp_aioj309j",
"prov:entity": "seis_prov:sp003_wf_9034jfzq"
},
"_:id84": {
"prov:activity": "seis_prov:sp004_bp_ijasdoij4l",
"prov:entity": "seis_prov:sp004_wf_w90jasdfh"
},
"_:id86": {
"prov:activity": "seis_prov:sp005_rr_asdf34034",
"prov:entity": "seis_prov:sp005_wf_j0asdfm9"
},
"_:id88": {
"prov:activity": "seis_prov:sp006_dt_asdfoij4",
"prov:entity": "seis_prov:sp006_wf_wasdfjme"
},
"_:id90": {
"prov:activity": "seis_prov:sp007_dt_inv3l90o",
"prov:entity": "seis_prov:sp007_wf_j09boija"
},
"_:id92": {
"prov:activity": "seis_prov:sp008_tp_9304jlkmio",
"prov:entity": "seis_prov:sp008_wf_jasdf943"
},
"_:id94": {
"prov:activity": "seis_prov:sp009_ip_4309jlkjn",
"prov:entity": "seis_prov:sp009_wf_wj9hljo"
},
"_:id96": {
"prov:activity": "seis_prov:sp001_dt_o3ijasdfuh",
"prov:entity": "seis_prov:sp001_wf_0askjdf0"
},
"_:id98": {
"prov:activity": "seis_prov:sp002_dt_3809adlkjo",
"prov:entity": "seis_prov:sp002_wf_wlkjsdf094"
}
},
"wasAssociatedWith": {
"_:id10": {
"prov:activity": "seis_prov:sp002_dt_ir0dfk409",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id11": {
"prov:activity": "seis_prov:sp003_dt_4834f0dj0",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id117": {
"prov:activity": "seis_prov:sp011_ca_c7540fc",
"prov:agent": "seis_prov:sp000_sa_9d0h43a"
},
"_:id12": {
"prov:activity": "seis_prov:sp003_dt_vj3urc943",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id13": {
"prov:activity": "seis_prov:sp004_tp_dsfj43e4j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id14": {
"prov:activity": "seis_prov:sp004_tp_dk430f834",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id15": {
"prov:activity": "seis_prov:sp005_bp_qzprtj48r",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id16": {
"prov:activity": "seis_prov:sp005_bp_843ijdfskjgr",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id17": {
"prov:activity": "seis_prov:sp006_dt_893ndidh",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id18": {
"prov:activity": "seis_prov:sp006_dt_jk340du34j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id19": {
"prov:activity": "seis_prov:sp007_dt_dko349dfj",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id2": {
"prov:activity": "seis_prov:sp000_em_skfusjdoej",
"prov:agent": "seis_prov:sp000_pp_j3j4loikj90"
},
"_:id20": {
"prov:activity": "seis_prov:sp007_dt_9djldfj",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id21": {
"prov:activity": "seis_prov:sp008_tp_iojdf9834j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id22": {
"prov:activity": "seis_prov:sp008_tp_834jd0h",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id23": {
"prov:activity": "seis_prov:sp009_ip_iadsf3490j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id24": {
"prov:activity": "seis_prov:sp009_ip_diajsdf80",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id25": {
"prov:activity": "seis_prov:sp010_rt_asdfkj4034",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id3": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:agent": "seis_prov:sp000_sa_9dig8ata"
},
"_:id61": {
"prov:activity": "seis_prov:sp001_dt_o3ijasdfuh",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id62": {
"prov:activity": "seis_prov:sp001_dt_ij2390jdl",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id63": {
"prov:activity": "seis_prov:sp002_dt_3809adlkjo",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id64": {
"prov:activity": "seis_prov:sp002_dt_ij09328j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id65": {
"prov:activity": "seis_prov:sp003_tp_kio390jf",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id66": {
"prov:activity": "seis_prov:sp003_tp_aioj309j",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id67": [
{
"prov:activity": "seis_prov:sp004_bp_lij09jel",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
{
"prov:activity": "seis_prov:sp004_bp_lij09jel",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
}
],
"_:id68": [
{
"prov:activity": "seis_prov:sp004_bp_ijasdoij4l",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
{
"prov:activity": "seis_prov:sp004_bp_ijasdoij4l",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
}
],
"_:id69": {
"prov:activity": "seis_prov:sp006_dt_as034lkjo",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id70": {
"prov:activity": "seis_prov:sp006_dt_asdfoij4",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id71": {
"prov:activity": "seis_prov:sp007_dt_340jdflioj",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id72": {
"prov:activity": "seis_prov:sp007_dt_inv3l90o",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id73": {
"prov:activity": "seis_prov:sp008_tp_io34oic83",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id74": {
"prov:activity": "seis_prov:sp008_tp_9304jlkmio",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id75": {
"prov:activity": "seis_prov:sp009_ip_i34j09d",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id76": {
"prov:activity": "seis_prov:sp009_ip_4309jlkjn",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id77": {
"prov:activity": "seis_prov:sp010_rt_039jznwmp",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
},
"_:id9": {
"prov:activity": "seis_prov:sp002_dt_4ijf0dfo0",
"prov:agent": "seis_prov:sp000_sa_9dasdfih"
}
},
"wasGeneratedBy": {
"_:id101": {
"prov:activity": "seis_prov:sp003_tp_kio390jf",
"prov:entity": "seis_prov:sp004_wf_ncbeirp"
},
"_:id103": {
"prov:activity": "seis_prov:sp004_bp_lij09jel",
"prov:entity": "seis_prov:sp005_wf_wkjasdfio"
},
"_:id105": {
"prov:activity": "seis_prov:sp005_rr_ddcc155",
"prov:entity": "seis_prov:sp006_wf_wjasd9043"
},
"_:id107": {
"prov:activity": "seis_prov:sp006_dt_as034lkjo",
"prov:entity": "seis_prov:sp007_wf_jasdfh4"
},
"_:id109": {
"prov:activity": "seis_prov:sp007_dt_340jdflioj",
"prov:entity": "seis_prov:sp008_wf_asdfj9043"
},
"_:id111": {
"prov:activity": "seis_prov:sp008_tp_io34oic83",
"prov:entity": "seis_prov:sp009_wf_niasdf043"
},
"_:id113": {
"prov:activity": "seis_prov:sp009_ip_i34j09d",
"prov:entity": "seis_prov:sp010_wf_9043594j"
},
"_:id116": {
"prov:activity": "seis_prov:sp010_rt_039jznwmp",
"prov:entity": "seis_prov:sp011_wf_aj0934mjh"
},
"_:id120": {
"prov:activity": "seis_prov:sp011_ca_c7540fc",
"prov:entity": "seis_prov:sp012_as_cd84e87"
},
"_:id27": {
"prov:activity": "seis_prov:sp002_dt_ir0dfk409",
"prov:entity": "seis_prov:sp002_wf_asdklfj93ef"
},
"_:id29": {
"prov:activity": "seis_prov:sp003_dt_vj3urc943",
"prov:entity": "seis_prov:sp003_wf_wasdf34439"
},
"_:id31": {
"prov:activity": "seis_prov:sp004_tp_dk430f834",
"prov:entity": "seis_prov:sp004_wf_ds934jdafkj"
},
"_:id33": {
"prov:activity": "seis_prov:sp005_bp_843ijdfskjgr",
"prov:entity": "seis_prov:sp005_wf_zdkja894dioj"
},
"_:id35": {
"prov:activity": "seis_prov:sp006_dt_jk340du34j",
"prov:entity": "seis_prov:sp006_wf_349df9j0"
},
"_:id37": {
"prov:activity": "seis_prov:sp007_dt_9djldfj",
"prov:entity": "seis_prov:sp007_wf_ijd0934j0"
},
"_:id39": {
"prov:activity": "seis_prov:sp008_tp_834jd0h",
"prov:entity": "seis_prov:sp008_wf_idj30949j"
},
"_:id41": {
"prov:activity": "seis_prov:sp009_ip_diajsdf80",
"prov:entity": "seis_prov:sp009_wf_09j3kjdi"
},
"_:id43": {
"prov:activity": "seis_prov:sp002_dt_4ijf0dfo0",
"prov:entity": "seis_prov:sp002_wf_eioasdf0934j"
},
"_:id45": {
"prov:activity": "seis_prov:sp003_dt_4834f0dj0",
"prov:entity": "seis_prov:sp003_wf_kajoi4309j"
},
"_:id47": {
"prov:activity": "seis_prov:sp004_tp_dsfj43e4j",
"prov:entity": "seis_prov:sp004_wf_ija09j43l"
},
"_:id49": {
"prov:activity": "seis_prov:sp005_bp_qzprtj48r",
"prov:entity": "seis_prov:sp005_wf_lkjaoi9034j"
},
"_:id51": {
"prov:activity": "seis_prov:sp006_dt_893ndidh",
"prov:entity": "seis_prov:sp006_wf_3oijoi904j"
},
"_:id53": {
"prov:activity": "seis_prov:sp007_dt_dko349dfj",
"prov:entity": "seis_prov:sp007_wf_iajsdfje"
},
"_:id55": {
"prov:activity": "seis_prov:sp008_tp_iojdf9834j",
"prov:entity": "seis_prov:sp008_wf_oij09adfj"
},
"_:id57": {
"prov:activity": "seis_prov:sp009_ip_iadsf3490j",
"prov:entity": "seis_prov:sp009_wf_jasdfj09032j"
},
"_:id60": {
"prov:activity": "seis_prov:sp010_rt_asdfkj4034",
"prov:entity": "seis_prov:sp010_wf_43ptb430df"
},
"_:id7": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp001_wf_39409df"
},
"_:id79": {
"prov:activity": "seis_prov:sp001_dt_ij2390jdl",
"prov:entity": "seis_prov:sp002_wf_asdjf043m"
},
"_:id8": {
"prov:activity": "seis_prov:sp001_ws_f87sf7sf78",
"prov:entity": "seis_prov:sp001_wf_kd9404hd04h"
},
"_:id81": {
"prov:activity": "seis_prov:sp002_dt_ij09328j",
"prov:entity": "seis_prov:sp003_wf_9034jfzq"
},
"_:id83": {
"prov:activity": "seis_prov:sp003_tp_aioj309j",
"prov:entity": "seis_prov:sp004_wf_w90jasdfh"
},
"_:id85": {
"prov:activity": "seis_prov:sp004_bp_ijasdoij4l",
"prov:entity": "seis_prov:sp005_wf_j0asdfm9"
},
"_:id87": {
"prov:activity": "seis_prov:sp005_rr_asdf34034",
"prov:entity": "seis_prov:sp006_wf_wasdfjme"
},
"_:id89": {
"prov:activity": "seis_prov:sp006_dt_asdfoij4",
"prov:entity": "seis_prov:sp007_wf_j09boija"
},
"_:id91": {
"prov:activity": "seis_prov:sp007_dt_inv3l90o",
"prov:entity": "seis_prov:sp008_wf_jasdf943"
},
"_:id93": {
"prov:activity": "seis_prov:sp008_tp_9304jlkmio",
"prov:entity": "seis_prov:sp009_wf_wj9hljo"
},
"_:id95": {
"prov:activity": "seis_prov:sp009_ip_4309jlkjn",
"prov:entity": "seis_prov:sp010_wf_fijioj345"
},
"_:id97": {
"prov:activity": "seis_prov:sp001_dt_o3ijasdfuh",
"prov:entity": "seis_prov:sp002_wf_wlkjsdf094"
},
"_:id99": {
"prov:activity": "seis_prov:sp002_dt_3809adlkjo",
"prov:entity": "seis_prov:sp003_wf_wjasdf4380"
}
}
}
In PROV-N notation.
document
prefix seis_prov <http://seisprov.org/seis_prov/0.1/#>
agent(seis_prov:sp000_pp_me09234j, [seis_prov:name="Hans Mustermann", prov:type='prov:Person', prov:label="Hans Mustermann", seis_prov:email="hans.mustermann@email.com"])
agent(seis_prov:sp000_pp_j3j4loikj90, [seis_prov:name="Susanna Musterfrau", prov:type='prov:Person', prov:label="Susanna Musterfrau", seis_prov:email="susanna.musterfrau@email.com"])
agent(seis_prov:sp000_sa_9dig8ata, [seis_prov:website="http://geodynamics.org/cig/software/specfem3d", prov:type='prov:SoftwareAgent', prov:label="SPECFEM3D GLOBE", seis_prov:software_version="7.0.0", seis_prov:software_name="SPECFEM3D GLOBE"])
actedOnBehalfOf(seis_prov:sp000_sa_9dig8ata, seis_prov:sp000_pp_me09234j, -)
agent(seis_prov:sp000_sa_9dasdfih, [seis_prov:software_name="ObsPy", seis_prov:software_version="0.10.2", seis_prov:doi="10.5281/zenodo.17641", prov:type='prov:SoftwareAgent', prov:label="ObsPy", seis_prov:website="http://www.obspy.org"])
agent(seis_prov:sp000_sa_9d0h43a, [seis_prov:website="http://krischer.github.io/pyadjoint", prov:type='prov:SoftwareAgent', prov:label="pyadjoint", seis_prov:software_version="0.0.1dev", seis_prov:software_name="pyadjoint"])
entity(seis_prov:sp000_em_skfusjdoej, [seis_prov:model_name="Random Model", prov:type="seis_prov:earth_model", prov:label="Earth Model", seis_prov:website="http://random.org/model", seis_prov:model_type="3D"])
wasAssociatedWith(seis_prov:sp000_em_skfusjdoej, seis_prov:sp000_pp_j3j4loikj90, -)
entity(seis_prov:sp000_in_38jd89da8l, [seis_prov:ANGULAR_WIDTH_ETA_IN_DEGREES="90" %% xsd:float, seis_prov:OCEANS="0" %% xsd:boolean, seis_prov:NPROC_ETA=5, seis_prov:GRAVITY="0" %% xsd:boolean, seis_prov:NOISE_TOMOGRAPHY=0, seis_prov:NCHUNKS=1, seis_prov:NEX_XI=240, seis_prov:USE_LDDRK="0" %% xsd:boolean, seis_prov:ANISOTROPIC_KL="0" %% xsd:boolean, seis_prov:ATTENUATION="0" %% xsd:boolean, seis_prov:RECEIVERS_CAN_BE_BURIED="1" %% xsd:boolean, seis_prov:CENTER_LONGITUDE_IN_DEGREES="10" %% xsd:float, seis_prov:NPROC_XI=5, prov:type="seis_prov:input_parameters", seis_prov:ROTATION="0" %% xsd:boolean, seis_prov:EXACT_MASS_MATRIX_FOR_ROTATION="0" %% xsd:boolean, seis_prov:CENTER_LATITUDE_IN_DEGREES="40" %% xsd:float, seis_prov:TOPOGRAPHY="0" %% xsd:boolean, seis_prov:NEX_ETA=240, seis_prov:ELLIPTICITY="0" %% xsd:boolean, prov:label="Input Parameters", seis_prov:ANGULAR_WIDTH_XI_IN_DEGREES="90" %% xsd:float, seis_prov:ABSORBING_CONDITIONS="0" %% xsd:boolean, seis_prov:SIMULATION_TYPE=1, seis_prov:GAMMA_ROTATION_AZIMUTH="20" %% xsd:float])
entity(seis_prov:sp000_fi_d49dh0h4, [seis_prov:location_type="HDF5 Data Set", prov:type="seis_prov:file", prov:label="File", seis_prov:filename="constants.h", seis_prov:location="/AuxiliaryData/Files/constants.h"])
activity(seis_prov:sp001_ws_f87sf7sf78, 2014-02-02T12:15:03, 2014-02-02T14:07:13, [prov:type="seis_prov:waveform_simulation", prov:label="Waveform Simulation"])
wasAssociatedWith(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_sa_9dig8ata, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_em_skfusjdoej, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_in_38jd89da8l, -)
used(seis_prov:sp001_ws_f87sf7sf78, seis_prov:sp000_fi_d49dh0h4, -)
entity(seis_prov:sp001_wf_39409df, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp001_wf_kd9404hd04h, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
wasGeneratedBy(seis_prov:sp001_wf_39409df, seis_prov:sp001_ws_f87sf7sf78, -)
wasGeneratedBy(seis_prov:sp001_wf_kd9404hd04h, seis_prov:sp001_ws_f87sf7sf78, -)
activity(seis_prov:sp002_dt_4ijf0dfo0, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp002_dt_4ijf0dfo0, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp002_dt_ir0dfk409, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp002_dt_ir0dfk409, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp003_dt_4834f0dj0, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp003_dt_4834f0dj0, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp003_dt_vj3urc943, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp003_dt_vj3urc943, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp004_tp_dsfj43e4j, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp004_tp_dsfj43e4j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp004_tp_dk430f834, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp004_tp_dk430f834, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp005_bp_qzprtj48r, -, -, [seis_prov:filter_type="Cosine SAC Taper", seis_prov:sac_cosine_taper_frequency_limits="0.013333333,0.016666667,0.037037037,0.044444444", prov:type="seis_prov:bandpass_filter", prov:label="Bandpass Filter"])
wasAssociatedWith(seis_prov:sp005_bp_qzprtj48r, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp005_bp_843ijdfskjgr, -, -, [seis_prov:filter_type="Cosine SAC Taper", seis_prov:sac_cosine_taper_frequency_limits="0.013333333,0.016666667,0.037037037,0.044444444", prov:type="seis_prov:bandpass_filter", prov:label="Bandpass Filter"])
wasAssociatedWith(seis_prov:sp005_bp_843ijdfskjgr, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp006_dt_893ndidh, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp006_dt_893ndidh, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp006_dt_jk340du34j, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp006_dt_jk340du34j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp007_dt_dko349dfj, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp007_dt_dko349dfj, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp007_dt_9djldfj, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp007_dt_9djldfj, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp008_tp_iojdf9834j, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp008_tp_iojdf9834j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp008_tp_834jd0h, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp008_tp_834jd0h, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp009_ip_iadsf3490j, -, -, [seis_prov:interpolation_method="weighted average slopes", seis_prov:new_sampling_rate="1" %% xsd:float, prov:type="seis_prov:interpolate", prov:label="Interpolate"])
wasAssociatedWith(seis_prov:sp009_ip_iadsf3490j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp009_ip_diajsdf80, -, -, [seis_prov:interpolation_method="weighted average slopes", seis_prov:new_sampling_rate="1" %% xsd:float, prov:type="seis_prov:interpolate", prov:label="Interpolate"])
wasAssociatedWith(seis_prov:sp009_ip_diajsdf80, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp010_rt_asdfkj4034, -, -, [seis_prov:method="NE->RT", prov:type="seis_prov:rotate", prov:label="Rotate"])
wasAssociatedWith(seis_prov:sp010_rt_asdfkj4034, seis_prov:sp000_sa_9dasdfih, -)
entity(seis_prov:sp010_wf_43ptb430df, [seis_prov:component="T", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp002_wf_asdklfj93ef, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp003_wf_wasdf34439, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp004_wf_ds934jdafkj, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp005_wf_zdkja894dioj, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp006_wf_349df9j0, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp007_wf_ijd0934j0, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp008_wf_idj30949j, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp009_wf_09j3kjdi, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp002_wf_eioasdf0934j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp003_wf_kajoi4309j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp004_wf_ija09j43l, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp005_wf_lkjaoi9034j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp006_wf_3oijoi904j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp007_wf_iajsdfje, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp008_wf_oij09adfj, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
entity(seis_prov:sp009_wf_jasdfj09032j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Synthetic Data"])
used(seis_prov:sp002_dt_ir0dfk409, seis_prov:sp001_wf_kd9404hd04h, -)
wasGeneratedBy(seis_prov:sp002_wf_asdklfj93ef, seis_prov:sp002_dt_ir0dfk409, -)
used(seis_prov:sp003_dt_vj3urc943, seis_prov:sp002_wf_asdklfj93ef, -)
wasGeneratedBy(seis_prov:sp003_wf_wasdf34439, seis_prov:sp003_dt_vj3urc943, -)
used(seis_prov:sp004_tp_dk430f834, seis_prov:sp003_wf_wasdf34439, -)
wasGeneratedBy(seis_prov:sp004_wf_ds934jdafkj, seis_prov:sp004_tp_dk430f834, -)
used(seis_prov:sp005_bp_843ijdfskjgr, seis_prov:sp004_wf_ds934jdafkj, -)
wasGeneratedBy(seis_prov:sp005_wf_zdkja894dioj, seis_prov:sp005_bp_843ijdfskjgr, -)
used(seis_prov:sp006_dt_jk340du34j, seis_prov:sp005_wf_zdkja894dioj, -)
wasGeneratedBy(seis_prov:sp006_wf_349df9j0, seis_prov:sp006_dt_jk340du34j, -)
used(seis_prov:sp007_dt_9djldfj, seis_prov:sp006_wf_349df9j0, -)
wasGeneratedBy(seis_prov:sp007_wf_ijd0934j0, seis_prov:sp007_dt_9djldfj, -)
used(seis_prov:sp008_tp_834jd0h, seis_prov:sp007_wf_ijd0934j0, -)
wasGeneratedBy(seis_prov:sp008_wf_idj30949j, seis_prov:sp008_tp_834jd0h, -)
used(seis_prov:sp009_ip_diajsdf80, seis_prov:sp008_wf_idj30949j, -)
wasGeneratedBy(seis_prov:sp009_wf_09j3kjdi, seis_prov:sp009_ip_diajsdf80, -)
used(seis_prov:sp002_dt_4ijf0dfo0, seis_prov:sp001_wf_39409df, -)
wasGeneratedBy(seis_prov:sp002_wf_eioasdf0934j, seis_prov:sp002_dt_4ijf0dfo0, -)
used(seis_prov:sp003_dt_4834f0dj0, seis_prov:sp002_wf_eioasdf0934j, -)
wasGeneratedBy(seis_prov:sp003_wf_kajoi4309j, seis_prov:sp003_dt_4834f0dj0, -)
used(seis_prov:sp004_tp_dsfj43e4j, seis_prov:sp003_wf_kajoi4309j, -)
wasGeneratedBy(seis_prov:sp004_wf_ija09j43l, seis_prov:sp004_tp_dsfj43e4j, -)
used(seis_prov:sp005_bp_qzprtj48r, seis_prov:sp004_wf_ija09j43l, -)
wasGeneratedBy(seis_prov:sp005_wf_lkjaoi9034j, seis_prov:sp005_bp_qzprtj48r, -)
used(seis_prov:sp006_dt_893ndidh, seis_prov:sp005_wf_lkjaoi9034j, -)
wasGeneratedBy(seis_prov:sp006_wf_3oijoi904j, seis_prov:sp006_dt_893ndidh, -)
used(seis_prov:sp007_dt_dko349dfj, seis_prov:sp006_wf_3oijoi904j, -)
wasGeneratedBy(seis_prov:sp007_wf_iajsdfje, seis_prov:sp007_dt_dko349dfj, -)
used(seis_prov:sp008_tp_iojdf9834j, seis_prov:sp007_wf_iajsdfje, -)
wasGeneratedBy(seis_prov:sp008_wf_oij09adfj, seis_prov:sp008_tp_iojdf9834j, -)
used(seis_prov:sp009_ip_iadsf3490j, seis_prov:sp008_wf_oij09adfj, -)
wasGeneratedBy(seis_prov:sp009_wf_jasdfj09032j, seis_prov:sp009_ip_iadsf3490j, -)
used(seis_prov:sp010_rt_asdfkj4034, seis_prov:sp009_wf_jasdfj09032j, -)
used(seis_prov:sp010_rt_asdfkj4034, seis_prov:sp009_wf_09j3kjdi, -)
wasGeneratedBy(seis_prov:sp010_wf_43ptb430df, seis_prov:sp010_rt_asdfkj4034, -)
entity(seis_prov:sp001_wf_0askjdf0, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp001_wf_asdfoij0, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
activity(seis_prov:sp001_dt_o3ijasdfuh, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp001_dt_o3ijasdfuh, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp001_dt_ij2390jdl, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp001_dt_ij2390jdl, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp002_dt_3809adlkjo, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp002_dt_3809adlkjo, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp002_dt_ij09328j, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp002_dt_ij09328j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp003_tp_kio390jf, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp003_tp_kio390jf, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp003_tp_aioj309j, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp003_tp_aioj309j, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp004_bp_lij09jel, -, -, [seis_prov:filter_type="Cosine SAC Taper", seis_prov:sac_cosine_taper_frequency_limits="0.013333333,0.016666667,0.037037037,0.044444444", prov:type="seis_prov:bandpass_filter", prov:label="Bandpass Filter"])
wasAssociatedWith(seis_prov:sp004_bp_lij09jel, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp004_bp_ijasdoij4l, -, -, [seis_prov:filter_type="Cosine SAC Taper", seis_prov:sac_cosine_taper_frequency_limits="0.013333333,0.016666667,0.037037037,0.044444444", prov:type="seis_prov:bandpass_filter", prov:label="Bandpass Filter"])
wasAssociatedWith(seis_prov:sp004_bp_ijasdoij4l, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp005_rr_ddcc155, -, -, [seis_prov:output_units="m", seis_prov:input_units="counts", prov:type="seis_prov:remove_response", prov:label="Remove Response", seis_prov:water_level="600" %% xsd:float])
wasAssociatedWith(seis_prov:sp004_bp_lij09jel, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp005_rr_asdf34034, -, -, [seis_prov:output_units="m", seis_prov:input_units="counts", prov:type="seis_prov:remove_response", prov:label="Remove Response", seis_prov:water_level="600" %% xsd:float])
wasAssociatedWith(seis_prov:sp004_bp_ijasdoij4l, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp006_dt_as034lkjo, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp006_dt_as034lkjo, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp006_dt_asdfoij4, -, -, [seis_prov:detrending_method="linear fit", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp006_dt_asdfoij4, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp007_dt_340jdflioj, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp007_dt_340jdflioj, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp007_dt_inv3l90o, -, -, [seis_prov:detrending_method="demean", prov:type="seis_prov:detrend", prov:label="Detrend"])
wasAssociatedWith(seis_prov:sp007_dt_inv3l90o, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp008_tp_io34oic83, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp008_tp_io34oic83, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp008_tp_9304jlkmio, -, -, [seis_prov:taper_width="0.05" %% xsd:float, seis_prov:window_type="Hanning", prov:type="seis_prov:taper", prov:label="Taper", seis_prov:side="both"])
wasAssociatedWith(seis_prov:sp008_tp_9304jlkmio, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp009_ip_i34j09d, -, -, [seis_prov:interpolation_method="weighted average slopes", seis_prov:new_sampling_rate="1" %% xsd:float, prov:type="seis_prov:interpolate", prov:label="Interpolate"])
wasAssociatedWith(seis_prov:sp009_ip_i34j09d, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp009_ip_4309jlkjn, -, -, [seis_prov:interpolation_method="weighted average slopes", seis_prov:new_sampling_rate="1" %% xsd:float, prov:type="seis_prov:interpolate", prov:label="Interpolate"])
wasAssociatedWith(seis_prov:sp009_ip_4309jlkjn, seis_prov:sp000_sa_9dasdfih, -)
activity(seis_prov:sp010_rt_039jznwmp, -, -, [seis_prov:method="NE->RT", prov:type="seis_prov:rotate", prov:label="Rotate"])
wasAssociatedWith(seis_prov:sp010_rt_039jznwmp, seis_prov:sp000_sa_9dasdfih, -)
entity(seis_prov:sp011_wf_aj0934mjh, [seis_prov:component="T", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp002_wf_asdjf043m, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp003_wf_9034jfzq, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp004_wf_w90jasdfh, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp005_wf_j0asdfm9, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp006_wf_wasdfjme, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp007_wf_j09boija, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp008_wf_jasdf943, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp009_wf_wj9hljo, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp010_wf_fijioj345, [seis_prov:component="E", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp002_wf_wlkjsdf094, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp003_wf_wjasdf4380, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp004_wf_ncbeirp, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp005_wf_wkjasdfio, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp006_wf_wjasd9043, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp007_wf_jasdfh4, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp008_wf_asdfj9043, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp009_wf_niasdf043, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
entity(seis_prov:sp010_wf_9043594j, [seis_prov:component="N", prov:type="seis_prov:waveform_trace", prov:label="Waveform Trace", seis_prov:description="Observed Data"])
used(seis_prov:sp001_dt_ij2390jdl, seis_prov:sp001_wf_asdfoij0, -)
wasGeneratedBy(seis_prov:sp002_wf_asdjf043m, seis_prov:sp001_dt_ij2390jdl, -)
used(seis_prov:sp002_dt_ij09328j, seis_prov:sp002_wf_asdjf043m, -)
wasGeneratedBy(seis_prov:sp003_wf_9034jfzq, seis_prov:sp002_dt_ij09328j, -)
used(seis_prov:sp003_tp_aioj309j, seis_prov:sp003_wf_9034jfzq, -)
wasGeneratedBy(seis_prov:sp004_wf_w90jasdfh, seis_prov:sp003_tp_aioj309j, -)
used(seis_prov:sp004_bp_ijasdoij4l, seis_prov:sp004_wf_w90jasdfh, -)
wasGeneratedBy(seis_prov:sp005_wf_j0asdfm9, seis_prov:sp004_bp_ijasdoij4l, -)
used(seis_prov:sp005_rr_asdf34034, seis_prov:sp005_wf_j0asdfm9, -)
wasGeneratedBy(seis_prov:sp006_wf_wasdfjme, seis_prov:sp005_rr_asdf34034, -)
used(seis_prov:sp006_dt_asdfoij4, seis_prov:sp006_wf_wasdfjme, -)
wasGeneratedBy(seis_prov:sp007_wf_j09boija, seis_prov:sp006_dt_asdfoij4, -)
used(seis_prov:sp007_dt_inv3l90o, seis_prov:sp007_wf_j09boija, -)
wasGeneratedBy(seis_prov:sp008_wf_jasdf943, seis_prov:sp007_dt_inv3l90o, -)
used(seis_prov:sp008_tp_9304jlkmio, seis_prov:sp008_wf_jasdf943, -)
wasGeneratedBy(seis_prov:sp009_wf_wj9hljo, seis_prov:sp008_tp_9304jlkmio, -)
used(seis_prov:sp009_ip_4309jlkjn, seis_prov:sp009_wf_wj9hljo, -)
wasGeneratedBy(seis_prov:sp010_wf_fijioj345, seis_prov:sp009_ip_4309jlkjn, -)
used(seis_prov:sp001_dt_o3ijasdfuh, seis_prov:sp001_wf_0askjdf0, -)
wasGeneratedBy(seis_prov:sp002_wf_wlkjsdf094, seis_prov:sp001_dt_o3ijasdfuh, -)
used(seis_prov:sp002_dt_3809adlkjo, seis_prov:sp002_wf_wlkjsdf094, -)
wasGeneratedBy(seis_prov:sp003_wf_wjasdf4380, seis_prov:sp002_dt_3809adlkjo, -)
used(seis_prov:sp003_tp_kio390jf, seis_prov:sp003_wf_wjasdf4380, -)
wasGeneratedBy(seis_prov:sp004_wf_ncbeirp, seis_prov:sp003_tp_kio390jf, -)
used(seis_prov:sp004_bp_lij09jel, seis_prov:sp004_wf_ncbeirp, -)
wasGeneratedBy(seis_prov:sp005_wf_wkjasdfio, seis_prov:sp004_bp_lij09jel, -)
used(seis_prov:sp005_rr_ddcc155, seis_prov:sp005_wf_wkjasdfio, -)
wasGeneratedBy(seis_prov:sp006_wf_wjasd9043, seis_prov:sp005_rr_ddcc155, -)
used(seis_prov:sp006_dt_as034lkjo, seis_prov:sp006_wf_wjasd9043, -)
wasGeneratedBy(seis_prov:sp007_wf_jasdfh4, seis_prov:sp006_dt_as034lkjo, -)
used(seis_prov:sp007_dt_340jdflioj, seis_prov:sp007_wf_jasdfh4, -)
wasGeneratedBy(seis_prov:sp008_wf_asdfj9043, seis_prov:sp007_dt_340jdflioj, -)
used(seis_prov:sp008_tp_io34oic83, seis_prov:sp008_wf_asdfj9043, -)
wasGeneratedBy(seis_prov:sp009_wf_niasdf043, seis_prov:sp008_tp_io34oic83, -)
used(seis_prov:sp009_ip_i34j09d, seis_prov:sp009_wf_niasdf043, -)
wasGeneratedBy(seis_prov:sp010_wf_9043594j, seis_prov:sp009_ip_i34j09d, -)
used(seis_prov:sp010_rt_039jznwmp, seis_prov:sp010_wf_9043594j, -)
used(seis_prov:sp010_rt_039jznwmp, seis_prov:sp010_wf_fijioj345, -)
wasGeneratedBy(seis_prov:sp011_wf_aj0934mjh, seis_prov:sp010_rt_039jznwmp, -)
activity(seis_prov:sp011_ca_c7540fc, -, -, [prov:type="seis_prov:calculate_adjoint_source", prov:label="Calculate Adjoint Source", seis_prov:adjoint_source_type="Time Frequency Phase"])
wasAssociatedWith(seis_prov:sp011_ca_c7540fc, seis_prov:sp000_sa_9d0h43a, -)
used(seis_prov:sp011_ca_c7540fc, seis_prov:sp011_wf_aj0934mjh, -)
used(seis_prov:sp011_ca_c7540fc, seis_prov:sp010_wf_43ptb430df, -)
entity(seis_prov:sp012_as_cd84e87, [prov:type="seis_prov:adjoint_source", prov:label="Adjoint Source", seis_prov:adjoint_source_type="Time Frequency Phase"])
wasGeneratedBy(seis_prov:sp012_as_cd84e87, seis_prov:sp011_ca_c7540fc, -)
endDocument