INTRODUCTION

Modern investigations in paleomagnetism, particularly those with paleotectonic implications, typically follow a standardized procedure consisting of the following steps: (1) paleomagnetic sampling, (2) laboratory treatment, (3) component analysis, (4) application of field tests to estimate the age of natural remanent magnetization components, and (5) computation of virtual geomagnetic or paleomagnetic poles. With the advent of personal computers in the 1990s, specialized software became integral for conducting steps (3)–(5), enabling efficient analysis and interpretation of laboratory magnetic treatment results.

Regrettably, the Russian paleomagnetic community lacks contemporary software capable of encompassing the complete cycle of statistical processing and visualization of laboratory magnetic treatment results—a routine yet crucial stage in any paleomagnetic work. For instance, our colleagues at the Laboratory of the Main Geomagnetic Field and Petromagnetism of the IPE RAS currently rely on various software packages, such as PMGSC (Enkin, 2004) or its earlier MS DOS version (Enkin, 1994), as well as Remasoft (Chadima and Hrouda, 2006), to process paleomagnetic data. However, some of these software packages were developed 15–30 years ago, and their user-friendliness does not align with the expectations of modern researchers. A significant challenge arises from the fact that each software employs its own incompatible data storage format, impeding seamless transition between these formats. Moreover, employing multiple programs to analyze the same paleomagnetic dataset further complicates the presentation of results in scientific manuscripts and reports.

Currently, the software utilized by our Russian colleagues for analyzing paleomagnetic data allows the export of graphics in raster or vector formats. However, these exported plots often require extensive refinement in a third-party graphics editor to achieve the desired final form suitable for scientific publications and presentations. The technical requirements of the software used in paleomagnetism pose a significant challenge as most of these programs are specific to particular operating systems and sometimes even tied to specific versions of those operating systems. For instance, PaleoMac (Cogne, 2003), considered by many as an ideal program for paleomagnetic operations, necessitates the installation of an emulator for an outdated and specific version of the Mac OS. Unfortunately, this limitation practically renders the program unusable. Running programs designed for MS DOS (Enkin, 1994) also presents technical difficulties and proves inconvenient for ordinary PC users.

The primary objective of this study was to develop software for the analysis of paleomagnetic data that fulfills the following requirements:

—Accessibility: the software should be accessible from any device running any operating system.

—User-friendly interface: the interface should be intuitive and easy to navigate.

—Extensive functionality: the software should provide a wide range of options and functions to accommodate diverse analysis needs.

—Support for common data formats: it should be capable of importing and exporting the most commonly used paleomagnetic data formats.

—Compliance with publication standards: the exported graphics should meet to widely accepted standards suitable for use in scientific publications and presentations.

—Advanced data management capabilities: the software should offer comprehensive features for interacting with tabular data, visualizing them effectively, and providing control options through customizable hotkeys.

This paper presents a concise overview of the PMTools application and its primary features. For more comprehensive documentation (in Russian), please refer to the website https://pmtools.ru. It is important to acknowledge that the Paleomagnetism.org project (Koymans et al., 2016) served as an additional motivation for the development of PMTools. This modern online resource is an intriguing and robust tool for paleomagnetic data processing. However, our attempts to effectively utilize it for component analysis of magnetic treatment results and subsequent work with paleomagnetic directions proved unsuccessful. Nevertheless, preferences and requirements vary among researchers.

PMTOOLS: SOFTWARE IMPLEMENTATION AND SYSTEM REQUIREMENTS

The PMTools software, hereinafter referred to as “the application”, is developed using TypeScript with the React library. Redux is utilized for data storage within the session, while MaterialUI serves as a source of interface element templates. All graphics in PMTools are created by Ivan Efremov without the use of external libraries or modules. Graphs are plotted using dynamically generated SVG code, allowing for customizable display, interaction, and convenient export options for researchers in the field of paleomagnetism.

The architecture of PMTools is modular, and it is an open-source application distributed under the MIT license. The code is hosted in a repository on the GitHub service, accessible at the following address: https://github.com/I194/PMTools_2.0. It features detailed internal documentation and is fully typed. These steps and efforts have been taken primarily to enable independent development of PMTools and potential software solutions by the paleomagnetic community. The current version of PMTools can be accessed at https://pmtools.ru/.

An important aspect of PMTools is its minimal technical and hardware requirements. As a web application, it only requires a modern browser to run. Users of the Google Chrome browser have the option to install a local version of the application for offline use. The locally installed application will be automatically updated upon the device’s first connection to the Internet. The program can be comfortably used on personal computers with a screen resolution of at least 1920 × 1080. The authors have also tested the application’s functionality on tablets running various operating systems (such as Android and iOS), where PMTools operated fully.

The following abbreviated names are used for various data storage formats in the context of this discussion:

pmd: text files with the .pmd extension, storing demagnetization results from programs by Randolph Enkin (Enkin, 1994; 2004), such as kirsch.exe for MS DOS and PMGSC for MS Windows.

squid: text files used to store magnetic treatment results from the Paleomag2020 program (Kirschvink et al., 2008), which controls the SRM 755 cryogenic magnetometer (2G Enterprises, USA) at the Shared Research Facilities Center of the IPE RAS (Veselovskiy et al., 2022). These files (originally extensionless) require the .squid extension to function correctly with PMTools.

dir and pmm: text files with the .dir and .pmm extensions, respectively, storing component analysis results from programs by R. Enkin, such as pmstat.exe for MS DOS and PMGSC for MS Windows.

rs3: text files with the .rs3 extension, used to store magnetic treatment and component analysis results in the Remasoft program (Chadima and Hrouda, 2006).

csv and xlsx: standard formats for storing tabular data, viewable and editable in applications like MS Excel.

svg: Scalable Vector Graphics markup language, used to describe two-dimensional vector and mixed vector-raster graphics in XML format. These files can be imported into vector editors like CorelDRAW and Inkscape.

PMTools employs standard mathematical techniques for working with vectors on a sphere and their projections, as described in classical publications on paleomagnetism (Khramov et al., 1982; Collinson, 2013; Tauxe, 2010). The PMTools interface is available in both Russian and English languages, and users can switch between them within the application.

ANALYSIS OF THE MAGNETIC TREATMENT RESULTS

PMTools provides users with two modules for working with source data, as depicted in the block diagram shown in Fig. 1. The first module, named “PCA Magnetic Treatment”, focuses on visualizing and conducting component analysis (Principal Component Analysis, PCA (Kirschvink, 1980)) of the remanent magnetization obtained through thermal or alternative field demagnetization. To begin interacting with this module, users import demagnetization results from various file formats (.pmd, .squid, .rs3, as well as their equivalents in .csv and .xlsx formats). The Zijderveld plot, stereoplot, and demagnetization graph are employed for visualization purposes.

Fig. 1.
figure 1

The basic block diagram of the PMTools application functionality.

Data can be imported into PMTools by either selecting the desired files through the “Import files” dialog or dragging and dropping the files onto the application page. The imported file list is displayed on the toolbar in the drop-down list “Current file”, where users can selectively remove files from the program’s memory. Quick switching between loaded files is possible by pressing Shift + \(\boxed \to \) or Shift + \(\boxed \leftarrow \).

Figure 2 illustrates the overall layout of the “PCA Magnetic treatment” module. The page is divided into two sections. The upper left section contains a table displaying information about the current sample (Fig. 2a), including sample number, bedding, and volume. Users can edit this data, which affects the displayed graphics and table data but does not alter the source file. To save the changes, users need to export the updated data from the table (details below). The demagnetization results for the current sample are presented in the table in the lower left section of the page (Fig. 2c). Although this table is not editable, users can apply filters (Filters) to the data, hide columns (Columns), and adjust the vertical row size (Density). Additionally, an Export button allows users to export all data from the current file. This table interaction pattern persists across other windows and modules of PMTools, with variations in the exported data structure for each data type. Specifically, data from the current file on the “Magnetic treatment” page can be exported in pmd, csv, and xlsx formats.

Fig. 2.
figure 2

The overall view of the “Magnetic treatment” block of the PMTools application: (a) table with the initial parameters of the sample—name, bedding, volume; (b) table with the results of component analysis for a given file/sample; (c) table with the results of magnetic treatment of the sample; (d) menu for selecting the coordinate system and method for calculating the direction of magnetization component; (e) graphical display of demagnetization results: Zijderveld plot, stereoplot, and demagnetization curve.

On the right half of the “PCA Magnetic treatment” page (Fig. 2e), the demagnetization results are visualized using a Zijderveld plot, a stereoplot, and a demagnetization plot. Each graph’s appearance can be customized based on the user’s preferences by right-clicking on the graph and selecting the desired options. For instance, users can choose to display point labels indicating the ordinal number and/or names of demagnetization steps. Additionally, users have the ability to change the projection (W-Up, N‑Up, N-N) and reset the zoom applied to the Zijderveld plot.

Visualization of the demagnetization data is crucial for conducting component analysis. On the “PCA Magnetic treatment” page, above the graphs, the toolbar (Fig. 2d) provides various statistical operations on the magnetic treatment results. These operations allow users to calculate the direction of the selected remanence component and obtain the corresponding statistical parameters. The toolbar elements, from left to right, include:

(i) A menu for selecting the coordinate system: sample (CORE), geographic (GEO), and stratigraphic (STRAT).

(ii) A menu for choosing the algorithm used to calculate the direction of the magnetization component: classical principal component method (PCA, hotkey D), principal component method with reference to the origin (PCA0, hotkey O), great circle intersection method (GC, hotkey G), and the method of crossing great circles with normalization of the initial vectors’ lengths (GCN, hotkey I).

(iii) A button to display a table with the component analysis results for all open files, labeled “BY ALL FILES.”

(iv) Buttons to hide and show the demagnetization steps for the current file.

To perform a component analysis, users need to select points that correspond to the position of the end of the remanent magnetization vector at specific steps of magnetic treatment. There are three ways to select demagnetization points (steps):

1. Selection through the point number entry window.

2. Selection through a table displaying the initial data.

3. Interactive selection by capturing the required steps in the designated area on the graph, achieved by holding down the left mouse button.

The results of any statistical processing applied to the magnetic treatment results for the currently open sample (file) are displayed in a table located in the middle of the left half of the page (Fig. 2b).

The calculated directions of the remanent magnetization components for all analyzed files are shown in a consolidated table, which can be accessed from the control panel by clicking the “BY ALL FILES” button. At the top of the table (Fig. 3), there is a field where users can enter the name of the file that will be created when exporting the table. The component analysis results can be exported in .dir and .pmm formats, as well as .csv and .xlsx formats, all having a similar structure.

Fig. 3.
figure 3

Table with the results of component analysis: individual paleomagnetic directions in geographic and stratigraphic coordinate systems and their maximum angular deviations (MAD).

DIRECTIONAL STATISTICS

The second module of PMTools (Fig. 1) is dedicated to operations involving the results of component analysis. Specifically, it facilitates the calculation of mean directions for magnetization components and paleomagnetic poles, field tests, and a reversals test. This module is accessed through the “DIR Directional statistics” page (Fig. 4).

Fig. 4.
figure 4

The general view of the “Directional statistics” block in the PMTools application: (a) menu for selecting the coordinate system and method of calculating the mean direction of the magnetization component, calling up a summary table of mean directions, as well as functions for calculating VGP and performing paleomagnetic tests; (b) table with mean directions of magnetization component for an opened file; (c) table with results of demagnetization of the sample; (d) visualization of the sample of individual vectors in the table (c) on a stereogram. Additionally, there is a table with the results of component analysis showing individual paleomagnetic directions in geographic and stratigraphic coordinate systems and their maximum angular deviations.

When working with the “DIR Directional statistics” module, the first step is to import the results of the component analysis. These results can be imported from .dir and .pmm formats, as well as their corresponding counterparts in .csv and .xlsx formats. The imported individual paleomagnetic directions are displayed in the table on the left side of the page (Fig. 4c) and on the stereoplot on the right (Fig. 4d). The following key operations can be performed:

(i) Selecting and deselecting directions by pressing the “Visibility” button or using the hotkey H.

(ii) Reversing the selected directions by pressing the “Reverse” button or using the hotkey R.

(iii) Calculating the mean paleomagnetic direction for the selected directions using various methods:

—Fisher method (FISHER) with the hotkey F.

—Modified Fisher method (MCFADDEN) which considers data presented as normals to great circles, with the hotkey M.

—Crossing great circles method (GC) with the hotkey G.

(iv) Exporting the calculated mean directions to .pmm files or their corresponding formats .csv and .xlsx.

(v) Centering the selection of vectors relative to their mean on the stereogram by using the “CENTER BY MEAN” button.

(vi) Utilizing the cut-off (45°) selection method (Koymans et al., 2016).

The “CALCULATE VGP” function in PMTools enables the calculation of virtual geomagnetic poles (VGP) or paleomagnetic poles for each displayed paleomagnetic direction on the stereogram. If the “CALCULATE VGP” button is selected, the user will be presented with the choice to either manually input the coordinates of sampling sites or import them from an MS Excel file. If the obtained VGP is intended for export to the GPlates program format (Muller et al., 2018), the user can also provide age and plate_id fields for each paleomagnetic direction. Upon clicking the “CALCULATE VGP” button, a table will appear containing VGP coordinates and statistical parameters (such as semi-axes of the 95% confidence oval dp/dm and paleolatitude value). The tabular data are displayed on the stereoplot and can be exported in GMap (.vgp) (Torsvik and Smethurst, 1998) and GPlates (.gpml) software formats, commonly used for paleotectonic interpretation of paleomagnetic data, as well as in .csv or .xlsx formats.

Within the “Hypothesis testing” menu section, the user can apply various tests to the processed data by clicking on the “Paleomagnetic tests” button. The following tests can be performed:

(1) The fold test (bootstrap version following the algorithm by (Tauxe et al., 2016)) on all available data from the currently open file.

(2) Reversals test (McFadden and McElhinny, 1990; Tauxe, 2010), automatically performed on all available data from the currently open file.

(3) Reversals test according to (McFadden and McElhinny, 1990) with manual data input.

(4) Conglomerate test (Watson, 1956), automatically performed on all available data from the currently open file.

The graphical results of the applied paleomagnetic tests can be exported in a vector format, while textual information can be easily copied to the clipboard.

In summary, both modules of the PMTools program, namely “PCA Magnetic treatment” and “DIR Directional statistics”, provide users with a comprehensive workflow from interpreting demagnetization results to calculating paleomagnetic poles and exporting them for further analysis in specialized programs. The application ensures maximum comfort throughout the process. It is worth emphasizing that PMTools supports the import and export of paleomagnetic data in widely used formats, enabling users to work with both modules sequentially or independently. This flexibility allows users to choose the most suitable working environment for their needs.

CONCLUSION

The paper introduces PMTools—a new application designed for the interpretation and visualization of paleomagnetic data, specifically the results of magnetic treatment and component analysis of natural remanent magnetization in rocks. PMTools aims to provide not only the essential set of paleomagnetic operations but also incorporates the user-friendly experience of Russian researchers gained over years of working with various paleomagnetic software. The complete documentation and the latest version of PMTools can be accessed at https://pmtools.ru. The distinctive features of PMTools include:

—Cross-platform compatibility, allowing users to work on PCs, tablets, smartphones, and other devices, even without Internet access.

—Support for commonly used paleomagnetic data formats.

—Customizable “hotkeys” for convenient application control.

—Export of publication and presentation-ready graphics.

—Open-source code with an interface available in both Russian and English languages.

PMTools has undergone testing by multiple users; however, as with any software, the presence of bugs is possible. The authors encourage users to provide feedback, comments, and suggestions. Future development of PMTools will focus on improving its interface and functionality. It is worth mentioning that PMTools holds a certificate of state registration of the computer program with registration number 2022669034, issued on October 14, 2022.