Dublin Institute for Advanced Studies contact@dias.ie 00353 (0) 16140100

ESA Summer of Code in Space 2019


Dr Peter Gallagher
Dr Sophie Murray
Dr Eoin Carly
Dr Shane Maloney
Dr Laura Hayes

Solar Feature Identification and Classification Using Machine Learning

Sunspots are the sources of the most extreme and potentially adverse solar events such as flares and CMEs. Sunspots appear as dark regions on the solar surface, the size, appearance and complexity is know to be related to their activity. As a result many systems have been developed to forecast flares and most rely on sunspot group classifications as inputs. Currently classifications are manually produced so are subject to human errors and biases. Additionally, as the classifications are only produced on a daily basis this limits the time resolution of some forecasting methods. Further with the imaging cadence of SDO HMI (45 seconds), it would be impossible for a human to produce classifications for every observation. As such the development of an automated classification system would provide many benefits. The first task of this project would be to create a database of sunspot observations and classifications this dataset would made publicly available for use by other researchers. The second task in this project would be to train a CNN to classify sunspots using this dataset. The final task would then integrate this CNN into www.solarmonitor.org to provide historical and future sunspot classifications.


  1. Create dataset of sunspot images and classifications and make publicly available.
  2. Train CNN on sunspot images and classifications dataset
  3. Integrate CNN into www.solarmonitor.org operations for historical and future data
  4. Publish code either in solarmontitor repo or in standalone repo

Transitioning CHIMERA algorithm into fully fledged open source package on PyPi

Coronal holes (CH) are regions of open magnetic fields that appear as dark areas in the solar corona due to their low density and temperature compared to the surrounding quiet corona. Accurate identification and segmentation of CHs for operational space weather forecasting has been a difficult task due to their comparable intensity to local quiet Sun regions. Current segmentation methods typically rely on the use of single EUV passband and magnetogram images to extract CH information. The Coronal Hole Identification via Multi-thermal Emission Recognition Algorithm (CHIMERA; Garton et al 2018) analyses multi-thermal images from the Atmospheric Image Assembly (AIA) onboard the Solar Dynamics Observatory (SDO) to segment coronal hole boundaries by their intensity ratio across three passbands (171 AA, 193 AA, and 211 AA). The algorithm allows accurate extraction of CH boundaries and many of their properties, which can be further used for solar wind forecasting in the heliosphere and at Earth. The original code is written in Interactive Data Language (IDL, a proprietary licensed language) runs regularly on SolarMonitor.org/chimera, but the Python code needs further work before it can be used operationally, and be of use to the wider scientific community. The goal of this project would be to transition the current research python code into a more robust operation and open source package on PyPi


  1. Refactor – code readability, docstrings, API, external packages
  2. Add unit test online documents
  3. Add continuous integration to run tests and build documentation on each commit
  4. Publish pyCHIMERA package on PyPi

Transitioning SMART algorithm into fully fledged open source package on PyPi

With the advent of space-based observations, the scientific community has learned much about the structure and topology of solar active regions (ARs). The Solar Monitor Active Region Tracker (SMART; Higgins et al 2011) uses line-of-sight solar surface magnetic field observations to determine ‘magnetically interesting’ ARs that may be of interest for flaring. The original code, written in the Interactive Data Language a (IDL, a proprietary licensed language), used data from the Michelson Doppler Imager onboard the Solar and Heliospheric Observatory for basic research investigations into the nature of ARs. Recently the code was rewritten in the Python programming language so that it could be used for space weather forecasting purposes using NASA’s Solar Dynamics Observatory data. However there are still a number of issues that need to be addressed before it can be used operationally, such as refactoring and packaging, more testing, and improved documentation. Ultimately, the algorithm will be integrated into the SolarMonitor.org platform, providing a real-time monitoring system to track the evolution of AR magnetic properties. It will also serve as a starting point to classification and flare forecasting algorithms.


  1. Refactor – code readability, docstrings, API, external packages
  2. Add unit tests and online documents
  3. Add continuous integration to run tests and build documentation on each commit
  4. Publish SMARTypy package on PyPi