Research

Research & projects.

My work spans solar-radio research, spectroscopy, and scientific software. These projects bring together observation, experiment, and computation.

Selected work

Research and development in detail

Project 01 · Full-stack research software

Solar Observer: Space Weather Monitoring Dashboard

2026 - Present

A full-stack dashboard that combines solar-radio spectra, X-ray and proton flux, solar imagery, geomagnetic indices, and solar-wind measurements in one event-monitoring and archive-search environment.

Space Weather Monitoring Dashboard with solar, geomagnetic, and heliospheric data panels

Interactive system tour

Inside the monitoring workspace

Six connected views bring live monitoring, scientific analysis, forecasting, and historical context into one research environment.

System views

Monitoring overview01 / 06
Solar Observer space weather dashboard with coordinated solar and geospace data panels
Scroll to inspect the full view

Scientific background

Space-weather interpretation often requires evidence from several instruments and data services. This project brings those streams together with alerts, a combined event timeline, and archive search so solar activity can be reviewed as a connected sequence rather than as isolated plots.

Research questions

  • How can complementary solar and geospace measurements be monitored in a coherent event timeline?
  • Can machine-learning models detect and classify radio bursts reliably enough to assist expert review?
  • How can current observations and historical data be made accessible through the same interface?

Data or experimental methods

  • e-CALLISTO dynamic spectra
  • GOES XRS and proton-flux measurements
  • SDO/AIA and HMI imagery
  • SOHO/LASCO C2 and C3 coronagraph frames
  • Kp, Dst, solar-wind, and interplanetary magnetic-field parameters

Analysis methods

  • ResNet-18 burst-detection and three-class burst-typing models
  • Next.js 14, TypeScript, Tailwind CSS, Plotly.js, and ShadCN UI
  • FastAPI, Python 3.11, Pydantic v2, Astropy, NumPy, SciPy, and Pandas
  • PostgreSQL with TimescaleDB, Redis, PyTorch, and Docker Compose

Verified findings

  • The burst-detection classifier achieved a test F1 score of 0.932.
  • The Type II, Type III, and Other classifier achieved 0.966 validation accuracy with a macro F1 score of 0.889.
  • The dashboard integrates event alerts, a combined timeline, and archive search across the monitored data streams.
Current statusActive development.
Collaborators & supervisorsDeveloper: Sahan S Liyanage.

Project 02 · Open-source Python library

ecallistolib

2025 - Present

An MIT-licensed Python library for downloading, reading, processing, combining, and plotting e-CALLISTO FITS dynamic spectra, with a command-line interface and a tested scientific-processing workflow.

Scientific background

Reusable programmatic access is essential for large or repeatable e-CALLISTO analyses. The library packages archive retrieval, metadata-preserving parsing, spectrum preparation, RFI mitigation, segment combination, and plotting into a documented Python interface.

Research questions

  • How can e-CALLISTO data preparation be made reusable outside a desktop GUI?
  • How can processing preserve observation metadata while supporting reproducible analysis?
  • How can common download and plotting tasks be exposed through both Python and the command line?

Data or experimental methods

  • e-CALLISTO archive downloads and local FITS files
  • Metadata-preserving FITS parsing
  • Time and frequency cropping and segment combination
  • Background subtraction and publication-quality plotting

Analysis methods

  • Median filtering and MAD-based radio-frequency-interference mitigation
  • NumPy, SciPy, Astropy, and Matplotlib
  • ecallisto command-line interface for download and plotting workflows
  • Optional dependency groups for accelerated RFI mitigation and a pytest test suite

Verified findings

  • Version 1.3.1 supports Python 3.10 through 3.14.
  • The library covers archive download through processed, publication-quality dynamic-spectrum plots.
  • The project is distributed under the MIT licence.
Current statusActive development and maintenance.
Collaborators & supervisorsAuthor and maintainer: Sahan S Liyanage.

Project 03 · Scientific software

e-CALLISTO FITS Analyzer

2024 - Present

As lead developer and first author, I built an open-source Python desktop application for Windows, macOS, and Linux that supports event-level analysis of e-CALLISTO dynamic spectra, published in RAS Techniques and Instruments.

Solar radio dynamic spectrum displayed in e-CALLISTO FITS Analyzer

Scientific background

The e-CALLISTO network contains observations from more than 150 stations, but raw spectra can be affected by radio-frequency interference, background noise, irregular station frequency coverage, and the division of events into 15-minute files. The software addresses these practical barriers while preserving interactive scientific control.

Research questions

  • How can common solar-radio analysis steps be made consistent, transparent, and reproducible?
  • How can fragmented observations be merged across time and frequency for event-level analysis?
  • How can interactive tools support Type II burst isolation, drift measurement, and physically meaningful shock estimates?

Data or experimental methods

  • Local and archive-downloaded e-CALLISTO FITS and FITS.GZ observations
  • Validated time and frequency combination of compatible files
  • Deterministic RFI cleaning with median filtering, hot-channel detection and repair, percentile clipping, and background subtraction
  • Interactive polygon masking in the time-frequency plane

Analysis methods

  • Maximum-intensity backbone extraction and interactive outlier removal
  • Power-law fitting and mean drift-rate calculation
  • One-fold or scaled Newkirk shock-speed and source-height estimation
  • GOES X-ray visualization, SOHO/LASCO CME browsing, and publication-ready export
  • Python, PySide6, NumPy, SciPy, Astropy, SunPy, Matplotlib, and PyQtGraph
  • netCDF4 for GOES data, OpenPyXL for spreadsheet export, and Requests/BeautifulSoup for archive retrieval

Verified findings

  • The application provides a continuous workflow from archive acquisition and deterministic RFI cleaning to quantitative Type II burst analysis.
  • For the Arecibo Observatory Type II event of 2 March 2022, the analyzer measured an average drift rate of -0.0400 +/- 0.0003 MHz/s.
  • Using the one-fold Newkirk model, the same event produced an average shock speed of 449 +/- 1 km/s at 1.715 +/- 0.002 solar radii.
Current statusActive development; peer-reviewed article published in RAS Techniques and Instruments in 2026.
Collaborators & supervisorsLead developer and first author: Sahan S Liyanage, Astronomy and Space Science Unit, University of Colombo. Co-authors: J. Adassuriya, K. P. S. C. Jayaratne, C. Monstein, and P. K. Manoharan.

Project 04 · Solar and space physics

Coronal Shock Waves from Type II Solar Radio Bursts

May 2023 - April 2024

This BSc Honours research determined the speed and formation height of coronal shock waves from the frequency drift of 25 metric Type II solar radio bursts observed by the e-CALLISTO network between January 2022 and October 2023.

Scientific background

Metric Type II solar radio bursts are commonly associated with shock waves moving through the solar corona. Their slowly drifting emission lanes provide an observational route to studying the height and speed of shock propagation through a model of coronal electron density.

Research questions

  • What coronal source heights are consistent with the observed radio-emission frequencies?
  • What shock speeds are implied by the measured frequency drift?
  • How sensitive are inferred physical parameters to the selected density model and fitting choices?

Data or experimental methods

  • 25 well-defined e-CALLISTO metric Type II radio-burst observations
  • Type II burst identification and event isolation
  • Plasma-emission theory
  • Coronal electron-density models

Analysis methods

  • Frequency-drift measurement
  • Python 3.10 with Astropy and Matplotlib
  • Power-law curve fitting and drift-rate measurement
  • Source-height estimation
  • Shock-speed inference

Verified findings

  • Calculated shock speeds ranged from 343 to 1032 km/s, with an average of 650 +/- 226 km/s.
  • Estimated shock-formation heights ranged from 1.317 to 1.724 solar radii.
  • The source-height fit Rs = 7.7 fs^-0.59 + 0.73 achieved R-squared = 0.999 and RMSE = 0.003 within the metric-burst sample.
  • Maximum-intensity burst isolation produced more reliable estimates than the second-maximum-intensity method.
  • The fitted power-law index agreed with Aguilar-Rodríguez et al. (2005) to 99.4%, and no correlation was found between shock speed and associated CME speed.
Current statusCompleted BSc Honours thesis in April 2024; results published in the 2025 Proceedings of the Technical Sessions, Institute of Physics, Sri Lanka.
Collaborators & supervisorsSupervisors: Dr. Janaka Adassuriya and Prof. K. P. S. C. Jayaratne. Publication co-author: C. Monstein.

Project 05 · Raman spectroscopy

Raman Spectroscopic Analysis of Common Minerals in Sri Lanka

November 2022 - March 2023

This mini-research project analysed eleven Sri Lankan mineral samples, including calcite, dolomite, apatite, four quartz varieties, feldspar, amazonite, graphite, and mica, to assess vibrational signatures for mineral identification.

Raman spectroscopy optical bench illuminated by the active 532 nm laser

Scientific background

Sri Lanka contains many high-purity mineral varieties, but the project report identified a lack of a dedicated Raman-spectroscopy database for Sri Lankan minerals. The work examined commonly found samples individually and in chemically or structurally related groups.

Research questions

  • Which Raman peaks characterize the selected common Sri Lankan minerals?
  • Can related mineral groups and quartz varieties be distinguished through their vibrational signatures?
  • How effective is Raman spectroscopy as a non-destructive mineral-identification method?

Data or experimental methods

  • Calcite, dolomite, apatite, crystal/milky/rose/smokey quartz, feldspar, amazonite, graphite, and phlogopite mica samples
  • Cutting and polishing of solid sample surfaces
  • Andor Kymera 328i-A spectrograph with a 532 nm laser, 1200 lines/mm grating, and detector at -80 degrees Celsius
  • Sulphur reference measurements for Raman-shift calibration

Analysis methods

  • Python-based asymmetric least-squares background reduction
  • BaselineRemoval Zhangfit baseline correction
  • Savitzky-Golay smoothing and Matplotlib visualization
  • Peak assignment using chemical structure and published Raman modes

Verified findings

  • Prominent peaks were observed at 1075 cm^-1 for calcite, 1099 cm^-1 for dolomite, and 962 cm^-1 for apatite.
  • The quartz varieties shared strong peaks near 465 cm^-1, while feldspar samples showed characteristic peaks between 450 and 515 cm^-1.
  • Graphite showed a G-band peak near 1088 cm^-1; phlogopite mica showed prominent peaks near 187 and 688 cm^-1.
  • The study concluded that Raman spectroscopy is useful for non-destructive mineral identification.
Current statusCompleted mini-research project; report dated May 2023.
Collaborators & supervisorsResearchers: Sahan Liyanage, Nethmi Nawarathna, and Janitha Dissanayaka. Supervisor: H. H. E. Jayaweera.

Project 06 · Experimental physics

Spectral Analysis of Fluids to Determine the Effects of Temperature

2021

A group laboratory project that used a home-made spectrometer and image-based absorbance measurements to estimate liquid temperature and the effective power of an unknown heat source.

Scientific background

The project tested whether a simple, home-made optical spectrometer could use temperature-dependent absorbance as a practical thermometric signal for common fluids.

Research questions

  • Which tested liquid and wavelength provide the clearest temperature-dependent absorbance response?
  • Can a fitted absorbance relation estimate liquid temperature with useful accuracy?
  • Can the calibrated method be extended to estimate an unknown heat-source power?

Data or experimental methods

  • Home-made spectrometer, DSLR camera, white-light source, and induction cooker
  • Kerosene, coconut oil, battery acid, and distilled-water samples
  • Image-based optical spectra and absorbance measurements

Analysis methods

  • Spectral extraction and absorbance analysis
  • Linear calibration of temperature against absorbance
  • Experimental uncertainty and model-error analysis

Verified findings

  • Distilled water at 462 nm produced the best thermometric response.
  • The fitted relation was T = 73A + 230, with a gradient of 73 +/- 3 K and an intercept of (2.3 +/- 0.1) x 10^2 K.
  • Model errors ranged from 4% to 12%, and the method was extended to estimate the effective power of an unknown heat source.
Current statusCompleted group project for General Physics Laboratory II.
Collaborators & supervisorsDepartment of Physics, University of Colombo.

Workshops and teaching

Developing research practice through shared learning.

19-30 August 2024

COSPAR Capacity Building Workshop 2024

Samarkand State University, Samarkand City, Uzbekistan

Training on coronal and interplanetary shocks using SOHO, SDO, STEREO, ground-based observations, SolarSoft, SunPy, Astropy, and Python.

31 August - 11 September 2026 · Cairo, Egypt

Instructor - COSPAR Capacity Building Workshop 2026

Taught solar-radio data analysis using Python at the workshop on Earth-Affecting Solar Transients, hosted by NRIAG.

Get in touch

Interested in a shared question?

I welcome conversations about observational projects, scientific software, complementary data, and future research directions.

Start a conversation