Skip to content

A microservice for programmatic access to precomputed synthetic spectral model grids in astronomy

License

Notifications You must be signed in to change notification settings

BrownDwarf/gollum

Repository files navigation

gollum

v0.2.1

A microservice for programmatic access to precomputed synthetic spectral model grids in astronomy.

gollum demo

The goal of this repo is to provide a Python Application Programming Interface (API) to several different synthetic spectral models. gollum will be built on the astropy affiliated package specutils, and will be inspired by the API design of lightkurve. This project is loosely related to the parallel muler framework that is built on specutils and focuses on data. This project is all about models. The code itself and will have some overlap with functionality in Starfish, and this project could one day become a microservice to Starfish, rather than duplicate code.

Dashboard

We have a human-in-the-loop interactive dashboard which allows users to compare data to models. The current version of the dashboard supports the Sonora-Bobcat 2021 Models and the PHOENIX model grid.

dashboard demo

This dashboard allows users to control sliders correlating with intrinsic properties (effective temperature, surface gravity, and metallicity) and extrinsic properties (rotational broadening, radial velocity, and a normalization scalar). From the selected intrinsic values, the dashboard can find the closest matching model (based on the closest existing point in a jagged 3D array of existing intrinsic values) and display it on screen so that the user can compare it with the real data. The data itself shows up as a blue plot, while the model is red, which will allow users to make by-eye fittings of the models to the data displayed.

There is some latency in the updating of the model's graph when the user moves certain sliders too quickly. This latency comes from the large amount of data points and the effect of the curse of dimensionality when it comes to the search for the nearest grid point based on intrinsic values that the dashboard must do with each update of the sliders. This latency mostly only applies when the user moves the sliders very quickly, however. More gradual movement of the sliders allows for relatively smooth updating of the model spectrum with minimal latency.

The package is under active development. Please contribute by commenting on the Issues, providing Pull Requests, and starring the GitHub repo.