Solar codes

Solar Spicule Tracking Code (SSTC)

Version 1.0

Solar Spicule Tracking Code version 1.0 (SSTC v1.0, written in MatLab) is designed for automated detection, tracking and analysis of solar spicules properties (also applicable for coronal loop and other curvilinear features detection in the solar atmosphere).

The code works best with hi-resolution observational solar imaging data. The choice of either photospheric, chromospheric or coronal spectral lines depends on the particular features to be identified and analysed.

As an output, the code provides information on individual spicules/loops detected as well as overall statistics. A gradient contour method is used to constrain identified spicule/loop boundaries as well as their axis (the spicule/loop ``spine'').

Detection results may be influenced by quality of current observational data (DKIST data will be tested by the authors when available). The level of accuracy of the code can be improved by adding more points along the spicule/loop ``spine'' (if the detection region has a particularity high density of spicules/loops). This will also provide a more accurate time evolution of the spicules/loops.

To improve robustness, Machine Learning (ML) will be implemented in the next version of the code. Data processing time of current version depends on user computing facilities (ie number of CPU cores, GPU performance) used.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield for providing the Solar Spicule Tracking Code (SSTC).

Sheffield Dispersion Diagram Code (SDDC) Version 1.0

Sheffield Dispersion Diagram Code version 1.0 (SDDC v1.0, written in Python) is designed to produce the dispersion diagram for magneto-acoustic magnetohydrodynamic (MHD) wave modes within a solar application.

The motivation for developing this method comes from the analytical requirement to derive a dispersion relation in order to previously produce a dispersion diagram.

In order to do this, simple models or specific case studies are considered so that the mathematics becomes more manageable.

Consideration of more complicated models and solving the set of MHD equations result in a differential equation with no known analytic solution. However using the shooting method, the roots of the equation can be found. Therefore more complicated models and plasma structuring can be investigated in more depth using this method than could be conducted through theory alone.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield for support provided in the creation of Sheffield Dispersion Diagram Code, SDDC v1.0, 2020. The development of the code was also supported by the European Union’s Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET). SJS also thanks STFC for the PhD studentship under which the code was produced and developed.

Sheffield Dispersion Diagram Code (SDDC) Version 2.0

Sheffield Dispersion Diagram Code version 2.0 (SDDC v2.0, written in Python) is designed to produce the dispersion diagram for magneto-acoustic magnetohydrodynamic (MHD) wave modes within a solar application.

The version explained in this manual builds on the previous v1.0 which was very much the spine of the code. This version is much more streamlined and contains additional features which improve the accuracy of the results and additional files for analysis of results.

The improvements made in SDDC v2.0 include:

  • Multiprocessing options - speeding up the elapsed time and optimisation of previous version(s).

  • Analysis files. These include files which import the output data from the main program to allow for use in plotting and visualisations.

  • Inclusion of physics required to account for background plasma flows, uniform and non-uniform. This file can be provided upon request to the developers.

The bulk of the code is still the same as the previous version, however may be tweaked for improved optimisation. The same physics is still implemented as described in previous version of the code.

For more information on the main functions used in the code see the code manual for SDDC v1.0.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield for support provided in the creation of Sheffield Dispersion Diagram Code, SDDC v2.0, 2020. The development of the code was also supported by the European Union’s Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET). SJS also thanks STFC for the PhD studentship under which the code was produced and developed.

Wave Mode Analysis Code (WMAC)

Version 1.0

Wave Mode Analysis Code version 1.0 (WMAC v1.0, written in MatLab 2019a) is prepared to analyse solar data as it is dealing with the techniques of Proper Orthogonal Decomposition (POD), developed by Pearson (1901), and Dynamic Mode Decomposition(DMD), initially developed by Schmid (2010).

The POD is a mathematical technique that identifies modes that are orthogonal in space and it provides a clear ranking of the modes in terms of their contribution (Higham et al. 2018).

While DMD identifies temporal orthogonality and it does not rank the modes in any way. If it is assumed that modes are temporally orthogonal, ie different modes cannot have identical frequencies, then DMD with a search criteria offers an optimal methodology to identify coherent mode structure from, for example, intensity snapshots.

In this manual we apply the POD and DMD in an intensity time series of a sunspot data to identify MHD wave mode.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield for the support provided in the creation of Wave Mode Analysis Code, WMAC v1.0, 2020. The development of the code was also supported by the European Union’s Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET). SJS also thanks STFC for the PhD studentship under which the code was produced and developed.

Code for Vortex Flow Analysis (CVFA)

Version 1.1

CVFA v1.1 code and data, zip

Use the main function "vortex2D.m" to run

CVFA v1.1 manual

Code for Vortex Flow Analysis version 1.1 (CVFA v1.1, written in MatLab 2019a). Vortex flows in the solar photosphere are fundamentally important for the generation of magnetohydrodynamic (MHD) waves which propagate to the upper layers of the solar atmosphere. Vortex tubes are formed as coherent magnetic field structures in the solar atmosphere, eg twisted magnetic flux tubes.

In this manual, we explain a code of Lagrangian Averaged Vorticity Deviation (LAVD) (Haller et al. 2016) adopted to identify vortex flows (the centre of circulation and 3D vortex boundary) in the solar atmosphere data.

Additional algorithmic techniques were developed to check whether a structure detected by the LAVD method is a true vortex or not and how to determine the rotational direction (clockwise or anticlockwise).

Also, we applied these methods to the MuRaM magneto-convection simulation data to detect and track the evolution of 2D vortices in the solar photosphere.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield for support provided in the creation of Code for Vortex Flow Analysis code, CVFA v1.1, 2020. The development of the code was also supported by the European Union’s Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET). YA also thanks Uumm Al Qura University PhD studentship.

Tool for Analysis of Oscillatory Modes (TAOM)

Version 1.0

The Tool for Analysis of Oscillatory Modes (TAOM) version 1.0 (TAOM v1.0, written in MatLab) is designed to detect and trace the boundary of binary image of sunspots umbra (or other feature for which boundary can be traced). It then calculates the eigenmodes and eigenfunctions of the shape of the input sunspots image which implies a fixed boundary condition using discrete Laplacian in MatLab. The code scans parameter space for eigenvalues and orthogonal eigenvectors that match the boundary conditions for any given cross-sectional shape.

Also this code is designed to find the best elliptical (or other shape) approximation of the sunspot and calculate the eigenmodes/eigenfunctions and provides the comparison between the umbra of the sunspots and elliptical membrane. This code work with binary image only.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield and King Faisal University for support provided. The development of the code was also supported by the European Unions Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET).

Vortex Detection Code (VDC)

Version 1.0

VDC v1.0 zip

Use the main function "gamma_identification_for_vortex_demo.m" to run

VDC v1.0 manual

The Vortex Detection Code (VDC) version 1.0 (VDC v1.0, written in Mat-Lab) is designed to detect and identify the vortex flow motions in the 2D numericalor observational solar data.

Code is based on implementation of Gamma functions (Graftieaux et al. 2001) and new algorithm for more accurate tracking of the vortex boundary. The code is fully tested on the numerical data generated by SolarBox code.

Queries

For help with any queries, contact:

Citation in literature

We acknowledge the Plasma Dynamics Group at the University of Sheffield and King Faisal University for support provided. The development of the code was also supported by the European Unions Horizon 2020 research and innovation program under grant agreement No.824135 (SOLARNET).

VDC_detection.mp4