User Tools

Site Tools


ideas_page

This is an old revision of the document!


StarKit GSoC 2019 Ideas Page

A bit of astronomy and astrophysics background information

Stars come in a variety of forms. For example, they have different temperatures at their surfaces, which affect their appearance and color. Stars also spin at different speeds. They are born in different environments. As stars live out their lives, they evolve and physically change in dramatic ways.

Each star emits a spectrum of light. This spectrum depends on the properties of the star, so studying a star’s spectrum reveals great information about the star itself. For example, the star’s temperature and atmospheric chemical composition determine which elemental features (known as absorption lines) are seen in the spectrum, as shown in the image below. The density and rotation of a star affect the shape of these lines as well. A star’s motion toward or away from us (known as radial velocity) shifts the positions of these lines.

Stellar spectroscopy has been a vital part of astronomy for over a century, and there continues to be extensive research in this field. Extensive simulations and observations of stars have improved astronomers’ understanding of how stars’ physical properties affect their spectra. By better characterizing a star’s observed spectrum, astronomers can improve their understanding of stellar astrophysics, formation, populations and evolution.

The StarKit project

Starkit is a software package that fits stellar spectra and helps astronomers determine the physical properties of the star. It was developed to fit spectroscopic and photometric observations of stars to models of stellar structure, from which the important characteristics of the star can be found.

Starkit is made up of a series of modules, each of which contains a variety of different tools and functions that can be used by astronomers for their science. The primary modules included with the Starkit package are the base module, fitkit, gridkit, and utils.

The base module consists of the primary functions used in manipulating the given model to given characteristics. This includes things such as reshaping and resizing a model to the resolution and sampling of a particular instrument, adjusting the model to show effects of things such as doppler shifting of the starlight, and the effects of interstellar dust.

Fitkit contains the tools for the spectral fitting itself. Functions for fitting, saving the results of the fit, and recording and plotting the likelihood of fits are within Fitkit. In addition, functions for configuring the assumed ranges of the model parameters are included.

Next, is Gridkit. It holds the tools for loading, saving, and modifying various types of input models, or grids, that have been used with Starkit. In addition, Gridkit contains functions for fitting effects produced by the Earth’s atmosphere.

The final of the primary modules is utils, which has basic tools that are useful in observational astronomy, such as converting wavelengths in air to wavelengths in a vacuum.

List of GSoC 2019 project ideas

In the TARDIS collaboration we first establish a detailed plan on implementing new features before starting the actual work. This is an important step that ensures that the entire TARDIS collaboration is informed about the development efforts and that the team members can help shape the ideas during the discussion phase. We call these documents TEP - TARDIS Enhancement Proposals. We already have a great list of ideas at https://github.com/tardis-sn/tep that we need help with. Some of these we have specially selected for GSoC 2019 and are listed with specific “warm-up” tasks below. But feel free to propose your own TEP and make a PR on that.

If you use one of our TEPs, you can definitely add more detail to the implementation, but what we really want to see is a detailed timeline with milestones that shows us that you have thought about how to implement the feature in three months. For any questions about the projects, please ask on Gitter.

Putting in a Pull Request with the First objective is essential for each proposal to allow to see how you work.


Building a Testing Framework

Difficulty: Medium

Astronomy knowledge needed: None

Mentors:

Programming skills: Python

GSoC Application Tag:

Description: While StarKit has been successfully used in multiple publications, development is currently limited by the fact that there are no unit tests and lack of a standard for testing. This project aims to develop a testing framework that will be used to validate code commits as well as improve the reproducibility of the science from using this software. Goals of this work include: (1) a testing framework such as pytest that can be automatically run to test new commits, (2) unit tests, (3) an example end-to-end fit of a stellar spectrum. This testing framework should also be well documented so that it is clear how to create new tests in the future.

Your first objective if you choose to accept the mission: StarKit is based on the Astropy package-template and uses the testing framework of py.test. Write a very simple test and see if it runs with python setup.py test.


Spectral Grid generation & visualization

Difficulty: Medium

Astronomy knowledge needed: Medium

Mentors:

Programming skills: Python

GSoC Application Tag:

Description: In order to model the spectra of stars, StarKit uses a pre-computed grid consisting of model theoretical spectra that are generated a specific intervals in the different physical parameters. For example, a typical grid has thousands of spectra that are generated over a range of values in effective temperature, surface gravity, and composition. This grid has N-dimensions corresponding to N parameters. At each grid point is a spectrum generated a specific wavelengths and with a particular spectral resolution.

Your first objective if you choose to accept the mission: Using Jupyter Widget and matplotlib, program a widget that carries out box 2 in the getting started page. Program a sliding bar that corresponds to the variable grid.teff and plots the spectrum.


Dust Maps

Difficulty: Medium

Astronomy knowledge needed: None

Mentors:

Programming skills: Python

GSoC Application Tag:

Description: Dust in space absorbs the light that is emitted from a star when it reaches Earth. This effect is called extinction. If a star is farther away, the star light passes through more dust, which in turn increases the extinction. Starkit wants to incorporate Dustmaps, a software package that determines the amount of extinction based on the distance of the star.

Your first objective if you choose to accept the mission: Go to Dustmaps (https://dustmaps.readthedocs.io/en/latest/) and install the software. Make a function that takes the inputs: sky coordinates in Right Ascension (RA) and Declination (Dec), and distance. The function should return a value for extinction, E(B-V). There are several examples that will help you here: https://dustmaps.readthedocs.io/en/latest/examples.html#getting-started


ideas_page.1549407566.txt.gz · Last modified: 2019/02/05 23:59 by rbentley