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 QuakeML (see ?????????????? Elaboration window), save and read the elaboration in QuakeML XML file (see Writing and reading the seismic study results), report the work, connect modules, and transfer data to modules. The kernel also has a library of functions useful for various modules.
The functionality of the kernel is based on four main windows (Fig. 2):
- The main window of the program (SWIP5),
- Zoom window,
- Elaboration window,
- Report window (Report).
Modules extend the functionality of the program. They are added to the program during its starup. The program reads plugins that contain modules. Some modules use other plugins additionally for their work. They can be specific, individual plugins or all plugs of a given type. For example, a module for reading seismograms from files needs all plugins to read seismic formats, while a module for ML magnitude calculation needs a plug with a specific filter module simulating a Wood-Anderson seismometer. The lack of the necessary additional plugins may completely disconnect a given module or limit its functionality. Plugins are divided into 5 types:
- Filters (see e.g. Całkowanie, Różniczkowanie, Filtr drugiego rzędu IIR2)
- Waveform processing (see e.g. SplineT, kwadrat))
- Optimisation (see Optymalizacje),
- Seismic formats (see e.g. Wtyczki formatów sejsmicznych)
- Data bases (patrz np. Databases (e.g. Czytanie i pisanie opracowań do SC3DB),
- General (patrz npe.g. Lokalizacja zjawiska, Liczenie magnitudy i energii, Parametry drgań gruntu, Liczenie mechanizmu wstrząsu).
During startup, modules modify the program menu. They have two types of functionality: computational and graphical. In the case of graphical functionality, a separate operating window is opened. Single modules can provide a program with several functionalities, give the possibility to open many different windows and add many items to the program menu. By selecting plugins, you can modify the appearance and functionality of the program. There is now a module library written for SWIP5 (see Program manual (modules)). You can also add your own module by writing the program of the appropriate plugin.
The modules work on data kept by n the SWIP program, therefore, inter alia, processing modules do not know where the data is saved or read.https://docs.cyfronet.pl/download/attachments/74811420/image2021-10-9_12-47-15.png?version=1&modificationDate=1647437407000&api=v2
Fig. 1 Scheme of the SWIP5 modular structure
Fig. 2 Windows of SWIP kernel