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 [2017/01/27 12:12]
chvogl
ideas_page [2017/02/09 15:00] (current)
unoebauer [Handling nuclear decay in TARDIS]
Line 25: Line 25:
 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 2017 and are listed with specific "​warm-up"​ tasks below. But feel free to propose your own TEP and make a PR on that.  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 2017 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 our mailing list [[https://​groups.google.com/​forum/#​!forum/​tardis-gsoc-sn-2017|tardis-sn-gsoc-2017@googlegroups.com]] or on [[https://​gitter.im/​tardis-sn/​tardis|Gitter]]. ​+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 our mailing list [[https://​groups.google.com/​forum/#​!forum/​tardis-sn-gsoc2017|tardis-sn-gsoc2017@googlegroups.com]] or on [[https://​gitter.im/​tardis-sn/​gsoc2017|Gitter]]. ​
  
 Putting in a Pull Request with the First objective is essential for each proposal to allow to see how you work.  Putting in a Pull Request with the First objective is essential for each proposal to allow to see how you work. 
Line 43: Line 43:
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP001_extensive_test_suite.rst|TEP001]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP001_extensive_test_suite.rst|TEP001]]
  
-**GSoC Application Tag:** testing+**GSoC Application Tag:​** ​integration-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. ​ **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. ​
Line 73: Line 73:
 **Description:​** ​ **Description:​** ​
  
 +One important piece of TARDIS is the calculation of the plasma state. That means that it is also crucial to ensure that the results from these calculations do not change unexpectedly. For this purpose we use unit tests of isolated parts of the plasma state calculations and compare the results to pre-computed reference data. Naturally, whenever we improve, expand or alter the implemented physics underlying the calculation,​ we have to also modify the reference data. This project aims at making it easy for us to generate and update reference and to automate this process. ​
  
-**Your first objective if you choose to accept the mission:​** ​+ 
 +**Your first objective if you choose to accept the mission:​** ​Look at the function '​test_partition_function.py'​ and try to replace the comparison values there and replace them with one loaded from a file. 
  
 ---- ----
Line 88: Line 90:
 **Programming skills:** Python **Programming skills:** Python
  
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​tep014_model_from_file.rst|TEP014]]+**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​a1661c6b508b5aed341a2627e03a7ad9c3942f12/​tep014_model_from_file.rst|TEP014]]
  
 **GSoC Application Tag:** reading simulation **GSoC Application Tag:** reading simulation
Line 111: Line 113:
 **Mentors:​** @lukeshingles,​ @shaching **Mentors:​** @lukeshingles,​ @shaching
  
-**Programming skills**: Python, Parsing, Databases ​(SQLAlchemy ​experience would be great)+**Programming skills**: Python, Parsing, DatabasesSQLAlchemy
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP004_tardisatomic_restructure.rst|TEP004]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP004_tardisatomic_restructure.rst|TEP004]]
Line 125: Line 127:
 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. 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.gamusing pyparsing.+In GSoC 2016 we created a package that compiles all of this information into a database named Carsus (see http://​carsus.readthedocs.io/​en/​latest/​). For this year we aim to strengthen the link between Carsus and TARDIS and also include more atomic data into Carsus. 
 + 
 +**Your first objective if you choose to accept the mission:​** ​Use the script (https://github.com/tardis-sn/carsus-db/blob/master/scripts/create_hdfstore.pyto generate an HDF store - then implement a meta table in the HDF file that stores the units of the columns
  
 ---- ----
Line 133: Line 137:
 **Difficulty:​** Hard **Difficulty:​** Hard
  
-**Astronomy knowledge needed:** Medium+**Astronomy knowledge needed:** Medium/High
  
 **Mentors:​** @unoebauer, @chvogl **Mentors:​** @unoebauer, @chvogl
Line 186: Line 190:
  
  
-**Your first objective if you choose to accept the mission:** Make a Pandas DataFrame with columns atomic_number,​ mass_number,​ mass - then use PYNE [[http://​pyne.io/​|PYNE]] to write a function that takes this table decays it for 100 days and returns a table with the decayed masses. ​+**Your first objective if you choose to accept the mission:** Make a Pandas DataFrame with columns atomic_number,​ mass_number,​ mass - then use [[http://​pyne.io/​|PYNE]] to write a function that takes this table decays it for 100 days and returns a table with the decayed masses. ​
  
  
ideas_page.1485515551.txt.gz · Last modified: 2017/01/27 12:12 by chvogl