User Tools

Site Tools


ideas_page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ideas_page [2019/01/30 00:26]
216.165.95.84
ideas_page [2019/03/12 22:43] (current)
216.165.21.29
Line 35: Line 35:
 ---- ----
  
-==== Transition ​StarKit to Python ​3 ====+==== Building a Testing Framework ==== 
 + 
 +**Difficulty:​** Easy 
 + 
 +**Astronomy knowledge needed:** Some 
 + 
 +**Mentors:​** Wolfgang Kerzendorf (@werzendorf),​ Tuan Do (@followthesheep) 
 + 
 +**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 **Difficulty:​** Medium
Line 41: Line 59:
 **Astronomy knowledge needed:** None **Astronomy knowledge needed:** None
  
-**Mentors:​**+**Mentors:​** ​Devin Chu (@dchu808), Rory Bentley (@rbentl)
  
 **Programming skills:** Python **Programming skills:** Python
Line 47: Line 65:
 **GSoC Application Tag:​** ​ **GSoC Application Tag:​** ​
  
-**Description:​** ​StarKit is written and tested for Python 2, but this is becoming obsolete due to changes in the underlying scientific libraries such as numpy migrating to Python 3. The goal of this project is to transition ​the code to be compatible with Python 3To evaluate whether the transition is successfulthis project will also need to define ​series ​of tests before migration begins. A successful project should also show that a typical science case can be replicated using the new Python 3 compatible code.+**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 parametersFor example, a typical grid has thousands ​of spectra ​that are generated over 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:​** ​Identify places where python3 will make the code simpler ​and issue PRs that show python3 code that is simpler than the current code.+**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 [[https://​starkit.readthedocs.io/​en/​latest/​getting_started.html|getting started page]]. Program a sliding bar that corresponds to the variable ''​grid.teff''​ and plots the spectrum.
  
 ---- ----
  
-==== Building a Testing Framework ​====+==== Dust Maps ====
  
 **Difficulty:​** Medium **Difficulty:​** Medium
  
-**Astronomy knowledge needed:​** ​None+**Astronomy knowledge needed:​** ​Some
  
-**Mentors:​**+**Mentors:​** ​Tuan Do (@followthesheep),​ Devin Chu (@dchu808)
  
 **Programming skills:** Python **Programming skills:** Python
  
-**GSoC Application Tag:**+**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 standard for testing. This project aims to develop ​testing framework that will be used to validate code commits as well as improve ​the reproducibility of the science from using this softwareGoals 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 stellar spectrum. This testing framework should also be well documented so that it is clear how to create new tests in the future.+**Description:​** ​Dust in space absorbs ​the light that is emitted from star when it reaches Earth. This effect is called extinction. If star is farther away, the star light passes through more dust, which in turn increases ​the extinctionStarkit 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:​** ​StarKit is based on the Astropy package-template ​and uses the testing framework of py.test. Write very simple test and see if it runs with python setup.py test+**Your first objective if you choose to accept the mission:​** ​Go to Dustmaps (https://​dustmaps.readthedocs.io/​en/​latest/​) ​and install ​the softwareMake function that takes the inputs: sky coordinates in Right Ascension (RA) and Declination (Dec), and distanceThe 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
  
 ---- ----
  
-==== Spectral Grid generation & visualization ​====+==== Auto-generate Filter Curves ==== 
 + 
 +**Difficulty:​** Easy 
 + 
 +**Astronomy knowledge needed:** Some 
 + 
 +**Mentors:​** Tuan Do (@followthesheep),​ Rory Bentley (@rbentl) 
 + 
 +**Programming skills:** Python 
 + 
 +**GSoC Application Tag:**  
 + 
 +**Description:​** Imaging of stars are typically done using different filters which is used to collect the light from the star over a certain wavelength range. The filter curve is a function that determines the fraction of light that is transmitted at each wavelength of the filter. This curve depends on the material that the filter is made of. Starkit uses a set of filters defined by the wsynphot package https://​github.com/​starkit/​wsynphot (Documentation at https://​wsynphot.readthedocs.io) so that it can model how bright stars are using different filters. This project is about developing some visualizations and plots of this library of filter curves so that people will have an easier time searching for filters.  
 + 
 +**Your first objective if you choose to accept the mission:** Install the wsynphot package and plot the filter curve for the filter named '​Keck/​NIRC2/​H'​ 
 + 
 + 
 +---- 
 + 
 +==== Include information about ages of stars ==== 
 + 
 +**Difficulty:​** Medium 
 + 
 +**Astronomy knowledge needed:** Some 
 + 
 +**Mentors:​** Wolfgang Kerzendorf (@werzendorf),​ Rory Bentley (@rbentl) 
 + 
 +**Programming skills:** Python 
 + 
 +**GSoC Application Tag:**  
 + 
 +**Description:​** A star’s age will tell a lot about its temperature and size. We want to use this information to analyze our stars. There is a package that will translate a stars age to its size and temperature called isochrones (https://​github.com/​timothydmorton/​isochrones/​). The goal of this project is to link this code to allow StarKit to use the information about a star’s age. 
 + 
 +**Your first objective if you choose to accept the mission:** Install the ‘eep’ branch from https://​github.com/​timothydmorton/​isochrones/​ and run this notebook https://​github.com/​timothydmorton/​isochrones/​blob/​eep/​notebooks/​demo.ipynb. 
 + 
 + 
 +---- 
 + 
 +==== Auto-generating documentation with complex data ====
  
 **Difficulty:​** Medium **Difficulty:​** Medium
Line 77: Line 133:
 **Astronomy knowledge needed:** None **Astronomy knowledge needed:** None
  
-**Mentors:​** ​+**Mentors:​** ​Wolfgang Kerzendorf (@werzendorf),​ Devin Chu (@dchu808)
  
 **Programming skills:** Python **Programming skills:** Python
Line 83: Line 139:
 **GSoC Application Tag:​** ​ **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 parametersFor example, a typical grid has thousands of spectra ​that are generated over a range of values in effective temperature,​ surface gravity, and compositionThis 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.+**Description:​** ​Documentation is an important for research software. It ensures ​that external users doing analysis with the Code understand what the code currently doesWe want to make sure that the documentation (consisting ​of Jupyter notebooks) automatically updates itselfTRAVIS is often used for continuous integration but can also be used to generate documentation.
  
-**Your first objective if you choose to accept the mission:​** ​Using Jupyter Widget and matplotlib, program ​widget ​that carries out box 2 in the [[https://​starkit.readthedocs.io/​en/​latest/​getting_started.html|getting started page]]. Program ​sliding bar that corresponds to the variable ''​grid.teff''​ and plots the spectrum.+**Your first objective if you choose to accept the mission:​** ​Build simple .travis.yml file that in the before_install step automatically downloads ​a grid from the documentation.
  
 ---- ----
  
 +==== Update to new Astropy modeling infrastructure ====
 +
 +**Difficulty:​** Hard
 +
 +**Astronomy knowledge needed:** None
 +
 +**Mentors:​** Wolfgang Kerzendorf (@werzendorf),​ Tuan Do (@followthesheep)
 +
 +**Programming skills:** Python
 +
 +**GSoC Application Tag:​** ​
 +
 +**Description:​** StarKit extensively uses the Astropy modeling framework. Recent updates have unfortunately made things unusable for us in Astropy modeling but a fix is in progress (see https://​github.com/​astropy/​astropy/​pull/​7945). We need to test if this will work with StarKit.
 +
 +**Your first objective if you choose to accept the mission:** Download the PR and see if this will work with StarKit. ​
 +
 +----
ideas_page.1548804377.txt.gz · Last modified: 2019/01/30 00:26 by 216.165.95.84