Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Poniżej dwa przykładowe skrypty:

1. Skrypt rysujący w Maltabie ObsPy sejsmogramy z okna powiększenia:

# !SWIP5
# !MENU Test plot
# !DATA FROM ZOOM WINDOW
for i=1:numel(WaveForms)
    subplot(numel(WaveForms),1,i)
    plot(WaveForms(i).data.data)
    title(WaveForms(i).name)
endstreamSWIP5.spectrogram(log=True, title='PL network ' + str(st[0].stats.starttime))

2. Skrypt generujący IS-EPOS NORDIC katalog (wcześniej, należy wczytać wszystkie zjawiska do SWIP):

# !SWIP5
# !MENU Create IS-EPOS catalog
# !QUAKEML
addpath 'c:\Users\jwisz\Documents\Python'
addpath 'c:\Users\jwisz\Documents\Python\SWIDB'
Catalog = QuakeML2Catalog(QuakeML);
save('Catalog_VERIS.mat','Catalog','-v6');catalogSWIP5.write("example.dat", format="NORDIC")

Anchor
Konfiguracja menu w skryptach Python
Konfiguracja menu w skryptach Python
Konfiguracja menu w skryptach Python

...

Wtedy nazwa „…” będzie traktowana, jako pozycja na belce głównej menu programu SWIP5 np.

# !TOP MENU OBSPY"

Powyższe definicje muszą wystąpić na początku skryptu po linii

...

Poniżej przedstawione są przykładowe definicje w skrypcie i odpowiadające im pozycje w menu:

# !SWIP5
# !MENU Create IS-EPOS catalog

Python→Create IS-EPOS catalog

# !SWIP5
# !MENU Create catalogs
# !MENU IS-EPOS catalog

Python→Create catalogs→

# !SWIP5
# !TOP MENU Filters
# !MENU Python filter


Anchor
Konfiguracja przekazywania danych do programu Python
Konfiguracja przekazywania danych do programu Python
Konfiguracja

...

przekazywania danych w skryptach Python

Linie definiujące sposób przekazywania danych do Pythona muszą znajdować się poniżej linii definiujących menu. W zależności od odpowiednich linii na początku skryptu odpowiednie dane są przekazane do programu Python. Przedstawia to poniższa tabela:


Dane eksportowane do Pythona

Linie skryptu Python

1

Bieżące zjawisko. Jeżeli SWIP wczytał wiele zjawisk, tylko bieżąco opracowywane (zaznaczone) zjawisko jest przekazywane (patrz Praca na wielu wstrząsach). Opracowanie zjawiska jest dostepne w skrypcie jako zmienna globalna catalogSWIP5 typu Event.

# !CURRENT EVENT

2

EventParameters QuakeML – cała struktura QuakeML, w tym wszystkie wczytane zjawiska, jest przekazywana do programu Maltab. Jest to przydatne np. gdy w Pythonie mamy funkcje do tworzenia katalogu lub chcemy w Pythonie padać sejsmiczność danego obszaru, badać statystyki itp. Katalog jest dostepny w skrypcie jako zmienna globalna catalogSWIP5 typu Event.

# !QUAKEML

3

Wszystkie kanały widoczne w oknie głównym programu SWIP5 obcinane czasowo do sygnału widocznego w oknie głównym są wysyłane do Pythona. Kanały sejsmiczne są dostepne w skrypcie jako zmienna globalna streamSWIP5 typu Stream.

# !DATA FROM MAIN WINDOW

4

Wszystkie kanały widoczne w oknie powiększenia programu SWIP5 obcinane czasowo do sygnału widocznego w oknie powiększenia są wysyłane do Pythona. Kanały sejsmiczne są dostepne w skrypcie jako zmienna globalna streamSWIP5 typu Stream.

# !DATA FROM ZOOM WINDOW

5

Kanały zaznaczone (widoczne, jako niebieskie w oknie głównym) nieobcinane czasowo są wysyłane do Pythona. Kanały sejsmiczne są dostepne w skrypcie jako zmienna globalna streamSWIP5 typu Stream.

# !DATA FROM SELECTION


Dane importowane z Pythona


6Opracowanie zjawiska trzymane w zmiennej catalogSWIP5zostaje zaimportowane do SWIP5 zastepując istniejace opracowanie lub katalog# !REPLACE QUAKEML
7Opracowanie zjawiska trzymane w zmiennej catalogSWIP5zostaje zaimportowane do SWIP5. Dodawane są do bieżacego opracowania zjawiska nowe wartości: originu, magnitudy, magnitudy stacyjnej, amplituty, mechanizmy lub piku. Dodawane są tylko nowe wartości. Nie zmienia się  już stniejacych. W opracowaniu eksportowanym z pythona musi być zjawisko z ID takim samym jak bieżące zjawiskao w SWIP5. W przeciwnym wypadku dane są ignorowane. # !INSERT TO QUAKEML
8Wczytywany jest do SWIP5 plik zapisywany przez skrypt Pythona. W skrypcie musi być komenda zapisu do pliku, którego nazawa jest w zbiorze konfiguracyjnym.# !READ MINISEED
9Dodawane są do sejsmogramu w SWIP5 kanały z pliku zapisanego przez skrypt Pythona. W skrypcie musi być komenda zapisu do pliku, którego nazawa jest w zbiorze konfiguracyjnym.# !ADD MINISEED

Parametry zjawisk lub całych biuletynów z QuakeML są przekazywane do Pythona w formacie QuakeML i widzianesą jako zmienna catalogSWIP5 bez wgledu ile kanałów jest przekazywanych, natomiast zapisy sejsmiczne w formacie MiniSEED .Bieżące zjawiska lub cały biuletyn w QuakeML (tabela, linie 1,2) są widziane w skrypcie jako zmienna QuakeML, natomiast zapisy sejsmiczne (tabela linie 3-5) są widziane jak zmienna WaveFormsi widziane są jakp zmienna streamSWIP5. W skrypcie może wystąpić jedna linia opisująca sposób przekazania QuakeML i jedna linia opisująca sposób przekazania zapisów sejsmicznych.