@author: jpeacock """ from obspy import Inventory from obspy.core.inventory import Network from obspy.core.util import AttribDict ns = "http://some-page.de/xmlns/1.0" Channel = AttribDict() Channel.namespace = ns Channel.value = AttribDict() Channel.value.my_nested_tag1 = AttribDict() Channel.value.my_nested_tag1.namespace = ns Channel.value.my_nested_tag1.value = 1.23e10 Channel.value.my_nested_tag2 = AttribDict() Channel.value.my_nested_tag2.namespace = ns Channel.value.my_nested_tag2.value = True inv = Inventory([Network("XX")], "XX") inv[0].extra = AttribDict() inv[0].extra.Channel = Channel inv.write( "my_inventory.xml", format="STATIONXML", nsmap={"somepage_ns": "http://some-page.de/xmlns/1.0"}, )
# -*- coding: utf-8 -*- """ Created on Mon Jun 10 19:26:01 2019 @author: jpeacock """ from obspy import Inventory from obspy.core.inventory import Network from obspy.core.util import AttribDict ns = 'http://some-page.de/xmlns/1.0' Channel = AttribDict() Channel.namespace = ns Channel.value = AttribDict() Channel.value.my_nested_tag1 = AttribDict() Channel.value.my_nested_tag1.namespace = ns Channel.value.my_nested_tag1.value = 1.23E+10 Channel.value.my_nested_tag2 = AttribDict() Channel.value.my_nested_tag2.namespace = ns Channel.value.my_nested_tag2.value = True inv = Inventory([Network('XX')], 'XX') inv[0].extra = AttribDict() inv[0].extra.Channel = Channel inv.write('my_inventory.xml', format='STATIONXML', nsmap={'somepage_ns': 'http://some-page.de/xmlns/1.0'})
# --- Set time period over which download data --- starttime = UTCDateTime("2014-236T00:00:00") endtime = UTCDateTime("2014-236T00:15:00") # --- Read in station file --- stations = read_stations(station_file) # --- Download instrument response inventory --- inv = Inventory() for station in stations["Name"]: inv += client.get_stations(network=network, station=station, starttime=starttime, endtime=endtime, level="response") inv.write(response_file, format="STATIONXML") # --- Make directories to store waveform data --- waveform_path = data_path / str(starttime.year) / f"{starttime.julday:03d}" waveform_path.mkdir(parents=True, exist_ok=True) # --- Download waveform data --- for station in stations["Name"]: print(f"Downloading waveform data for station {station} from {datacentre}") st = client.get_waveforms(network=network, station=station, location="*", channel="*H*", starttime=starttime, endtime=endtime) st.merge(method=-1)
export_to_seed_fmt = False plot = False # Create the Inventory master_inventory = Inventory( networks=[ # geonet_south_island(level=level), # geonet_north_island(level=level), # hobitss(level=level), # sahke(level=level), # bannister(network_code="ZX", level=level), # bannister(network_code="Z8", level=level), beacon(level=level) ], source="PYATOA") # Export to various output formats if write_to: master_inventory.write(write_to, format="STATIONXML") if export_to_specfem: export_specfem(master_inventory) if export_to_seed_fmt: export_seed_fmt(master_inventory) if plot: master_inventory.plot(projection="local", resolution="l", continent_fill_color="w", water_fill_color="w", label=True, color_per_network=True, outfile="./master_inventory.png")