Program structure
A SWIP5 program is made up of a program kernel (in Windows it is the SWIP5.exe file together with dynamic libraries of kernel libraries kept in the same directory as SWIP5.exe) and modules extending the functionality of the program implemented by SWIP5 plugins (in Windows these are dll files and in Linux they are so files) (Fig. 1). All plugins are kept in the Plugins subdirectory.
The program kernel includes the ability to display seismograms (see The main window of the program, Extra windows of the program, Controlling the view of seismograms), pick seismic phases (see Picking phases), browse and edit the elaboration in QuekML QuakeML (see ??????????????), report the work, connect modules and transfer data to modules. The kernel also has a library of functions useful for various modules.
Funkcjonalność jądra zawarta jest w czterech głównych oknach (RysThe functionality of the kernel is based on four main windows (Fig. 2):
- Okno główne programu The main window of the program (SWIP5),
- Okno powiększenia Zoom window (Zoom),
- Okno opracowania (Elaboration),
- Okno raportu (Report).
Moduły rozszerzające funkcjonalność programu dodawane są do programu w trakcie jego uruchomienia. Program czyta wtyczki zawierające moduły. Niektóre moduły wykorzystują dodatkowo inne wtyczki do swojej pracy. Mogą to być konkretne, pojedyncze komponenty lub wszystkie wtyczki danego typu. Na przykład moduł do czytania sejsmogramów z plików, potrzebuje wszystkich wtyczek do czytania formatów sejsmicznych, natomiast moduł do obliczania magnitudy ML potrzebuje wtyczki z konkretnym modułem do filtracji symulującej sejsmometr Wooda-Andersona. Brak niezbędnych, dodatkowych komponentów może powodować całkowite odłączenie danego modułu lub ograniczenie jego funkcjonalności. Wtyczki podzielone zostały na 5 typów:
- filtry (patrz np. Całkowanie, Różniczkowanie, Filtr drugiego rzędu IIR2)
- przetwarzanie sejsmogramów (patrz np. SplineT, kwadrat))
- optymalizacje (patrz Optymalizacje),
- czytanie formatów sejsmicznych (patrz Wtyczki formatów sejsmicznych)
- baza danych (patrz np. Czytanie i pisanie opracowań do SC3DB),
- typ ogólny (patrz np. Lokalizacja zjawiska, Liczenie magnitudy i energii, Parametry drgań gruntu, Liczenie mechanizmu wstrząsu).
Moduły podczas uruchamiania modyfikują menu programu ze względu na fakt iż posiadają one dwa typy funkcjonalności: obliczeniową i graficzną. W przypadku funkcjonalności graficznej otwierane jest własne okno obsługi. Pojedyncze moduły mogą dostarczać programowi kilka funkcjonalności, dawać możliwości otwierania wielu różnych okien i jednocześnie dodawać wiele pozycji do menu programu. Dobierając wtyczki można modyfikować wygląd i funkcjonalność programu. Istnie obecnie biblioteka modułów napisana dla SWIP5 (patrz Podręcznik modułów programu). Można również dodawać własne modułu przez zaprogramowanie odpowiednich wtyczek.
Moduły pracują na danych trzymanych w programie SWIP, w związku z tym m.in. moduły przetwarzające nie wiedzą, gdzie dane są zapisywane czy czytane.