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
ideas_page [2016/03/29 17:56]
wkerzend
ideas_page [2016/04/27 12:26] (current)
wkerzend
Line 29: Line 29:
 ---- ----
  
-==== Testing ==== 
- 
-**Difficulty:​** Easy 
- 
-**Astronomy knowledge needed:** None 
- 
-**Mentors:​** @orbitfold, @yeganer 
- 
-**Programming skills:** Python 
- 
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP001_extensive_test_suite.rst|TEP001]] 
- 
-**SoCIS Application Tag:** testing 
- 
-**Description:​** Testing a scientific code like TARDIS is very important. We need to ensure that the scientific insights we gain using the code are not based on bugs. Open collaboration with GitHub is great, but the more people work on the code the more opportunities there are to introduce bugs. Making sure that the code doesn'​t change or only changes as we expect it, is thus an important part of TARDIS development. ​ 
- 
-We have two kind of tests: 1) Unit tests that test small portions of the code. 2) Full tests that run the code with different settings and make sure that the outcome stays the same. This project concerns itself with the full tests. ​ 
-We only use very few and not computationally expensive full tests as it is impractical for us to run these tests within our normal testing framework. ​ 
- 
-Thus we want to add a new testing mode to our current test suite - the slow tests. We need your help with that! 
- 
-**Your first objective if you choose to accept the mission:** Mark the TARDIS full test as slow and make it easy to enable it's execution only with a commandline option to `py.test` 
- 
----- 
  
 ==== Writing Models to file ==== ==== Writing Models to file ====
Line 71: Line 47:
  
 **Your first objective if you choose to accept the mission:** Write a `.to_hdf` function for the `MontecarloRunner` class in TARDIS that saves some of the important arrays to an HDF5 file.  **Your first objective if you choose to accept the mission:** Write a `.to_hdf` function for the `MontecarloRunner` class in TARDIS that saves some of the important arrays to an HDF5 file. 
- 
----- 
- 
-==== Atomic Datasets ==== 
- 
-**Difficulty:​** Hard 
- 
-**Astronomy knowledge needed:** Medium 
- 
-**Mentors:​** @lukeshingles,​ @shaching 
- 
-**Programming skills**: Python, Parsing, Databases (SQLAlchemy experience would be great) 
- 
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP004_tardisatomic_restructure.rst|TEP004]] 
- 
-**SoCIS Application Tag:** atomic dataset 
- 
-**Description:​** In addition to the input parameters (brightness of the supernova, ejected mass of the different chemical elements, etc.), TARDIS requires data for describing the structure of atoms from different elements (e.g. a sodium atom is differently structured than an iron atom; see the figure for a quick overview for carbon). 
- 
-{{:​bohrmodel.gif}} 
- 
-This data is not measured by astronomers,​ but is most often gathered in a lab by atomic physicists. As measurement equipment gets more and more precise, so do the measured structures of different elements. Thus these values update from time to time and are often available in simple ASCII files (http://​kurucz.harvard.edu/​atoms/​1401/​gf1401.gam). While we have compiled a small atom data set from some specific sources for our initial work, we would like to get a collection of parsers that can read the different ASCII formats of the group and put this information in a uniform database. ​ 
- 
-For this project you would help us make parsers for a variety of formats from a collection of atomic data sources (see the TEP) and in the second part put this into a database. The assembled database will not only be very interesting for us, but also for many other fields of astronomy that do rely on atomic data. A useful resource of understanding atomic structure description can be found in http://​www.physics.byu.edu/​faculty/​bergeson/​physics571/​notes/​L27spectnotation.pdf. 
- 
-**Your first objective if you choose to accept the mission:** Write a download function to download the atomic weights and symbols and so on from this page  http://​physics.nist.gov/​cgi-bin/​Compositions/​stand_alone.pl?​ele=&​all=all&​ascii=html. Then build a simple sqlalchemy database with one table and put it in there. "Bonus objective":​ Write a parser for (http://​kurucz.harvard.edu/​atoms/​1401/​gf1401.gam) using pyparsing. 
  
 ---- ----
Line 129: Line 79:
  
 ---- ----
- 
- 
  
 ==== Handling nuclear decay in TARDIS ==== ==== Handling nuclear decay in TARDIS ====
Line 156: Line 104:
  
 ---- ----
- 
-==== A better configuration system ==== 
- 
-**Difficulty:​** Medium 
- 
-**Astronomy knowledge needed:** None 
- 
-**Mentors**:​ @ssim, @wkerzendorf 
- 
-**Programming skills**: Python 
- 
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP006_configuration_tags.rst|TEP006]] 
- 
-**SoCIS Application Tag:** config system 
- 
-**Description:​** TARDIS is a complex piece of software and has many options that can be switched on and off. This means that the Configuration modules have to be able to take a variety of input forms, parse them, validate that the input is in someway sensible (that if a float is expected there is no string given). We have thought about how to make this easier to use and have come up with YAML tags. They are a great way to parse strings to the right format and make sure that the input is valid. 
- 
-**Your first objective if you choose to accept the mission:** Parse the string `5 km/s` using YAML tags and convert it to an AstroPy quantity. **Bonus objective** Look how you would use JSONSchema to replace our validation system and write it in your application. ​ 
- 
----- 
- 
  
 ==== Tighter integration of Atomic Data, Plasma and Model ==== ==== Tighter integration of Atomic Data, Plasma and Model ====
ideas_page.txt ยท Last modified: 2016/04/27 12:26 by wkerzend