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 [2016/02/17 14:02]
unoebauer [New module for the creation of spectra]
ideas_page [2016/04/04 18:29] (current)
wkerzend
Line 23: Line 23:
 ===== List of GSoC 2016 project ideas ===== ===== List of GSoC 2016 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 ​TNo PEP - 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 2016 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 2016 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-2016|tardis-gsoc-2016@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-gsoc-2016|tardis-gsoc-2016@googlegroups.com]] or on [[https://​gitter.im/​tardis-sn/​tardis|Gitter]].  
 + 
 +Putting in a Pull Request with the First objective is essential for each proposal to allow to see how you work
  
 ---- ----
Line 35: Line 37:
 **Astronomy knowledge needed:** None **Astronomy knowledge needed:** None
  
-**Mentors:​** ​W. KerzendorfS. Lietzau+**Mentors:​** ​@orbitfold@yeganer
  
 **Programming skills:** Python **Programming skills:** Python
  
 **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
  
 **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 58: Line 62:
 **Astronomy knowledge needed:** None **Astronomy knowledge needed:** None
  
-**Mentors:​** ​W. KerzendorfS. Lietzau+**Mentors:​** ​@wkerzendorf@yeganer
  
 **Programming skills:** Python **Programming skills:** Python
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP002_model_hdf5.rst|TEP002]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP002_model_hdf5.rst|TEP002]]
 +
 +**GSoC Application Tag:** model output
  
 **Description:​** TARDIS studies how light travels through a supernova and how it ultimately appears to us. We are researching this process and thus are interested in analyzing TARDIS outputs in great deal. This means that we aim at capturing the full state of a TARDIS calculation in more detail. TEP002 describes the ideas in some detail and we want you to help us to implement these. **Description:​** TARDIS studies how light travels through a supernova and how it ultimately appears to us. We are researching this process and thus are interested in analyzing TARDIS outputs in great deal. This means that we aim at capturing the full state of a TARDIS calculation in more detail. TEP002 describes the ideas in some detail and we want you to help us to implement these.
Line 72: Line 78:
 ==== Atomic Datasets ==== ==== Atomic Datasets ====
  
-**Difficulty:​** ​Moderate+**Difficulty:​** ​Hard
  
-**Astronomy knowledge needed:​** ​None/Low - might be helpful+**Astronomy knowledge needed:​** ​Medium
  
-**Mentors:​** ​L. ShinglesW. Kerzendorf+**Mentors:​** ​@lukeshingles@shaching
  
 **Programming skills**: Python, Parsing, Databases (SQLAlchemy experience would be great) **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]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP004_tardisatomic_restructure.rst|TEP004]]
 +
 +**GSoC 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). **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).
Line 100: Line 108:
 **Astronomy knowledge needed:** Medium **Astronomy knowledge needed:** Medium
  
-**Mentors:​** ​U. NoebauerC. Vogl+**Mentors:​** ​@unoebauer@chvogl
  
 **Programming skills**: Python, C, Cython **Programming skills**: Python, C, Cython
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP005_formal_integral.rst|TEP005]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP005_formal_integral.rst|TEP005]]
 +
 +**GSoC Application Tag:** spectral synthesis
  
 **Description:​** TARDIS'​s main task is to create spectra that can be compared with observations. In order to use TARDIS to estimate parameters of real supernovae, we need to select TARDIS simulation parameters in such a way so as to produce spectra resembling those of real supernovae. When having a real spectrum, however, we don't know what those simulation parameters may be. **Description:​** TARDIS'​s main task is to create spectra that can be compared with observations. In order to use TARDIS to estimate parameters of real supernovae, we need to select TARDIS simulation parameters in such a way so as to produce spectra resembling those of real supernovae. When having a real spectrum, however, we don't know what those simulation parameters may be.
Line 114: Line 124:
 This project requires a bit of physics knowledge. This project requires a bit of physics knowledge.
  
-**Your first objective if you choose to accept the mission:** Implement a simple counting estimator, storing the number of Monte Carlo packets that come into resonance with each atomic line transition. For this, look into the main Monte Carlo part of TARDIS and find the location where the ''​j_blue_estimators''​ are incremented. This would be the place to insert your counters.+**Your first objective if you choose to accept the mission:** Implement a simple counting estimator, storing the number of Monte Carlo packets that come into resonance with each atomic line transition. For this, look into the main Monte Carlo part of TARDIS and find the location where the ''​j_blue_estimators''​ are incremented. This would be a good place to insert your counters. ​ 
 + 
 +"Bonus objective:"​ Once the counter is properly working, you could try to implement an estimator for the line absorption rates (see Equation 11 in [[http://​adsabs.harvard.edu/​cgi-bin/​nph-data_query?​bibcode=1999A%26A...345..211L&​link_type=ARTICLE&​db_key=AST&​high=|Lucy 1999]]). In an additional step, these level absorption rates could be used to calculate level absorption rates (see Equation 19 in [[http://​adsabs.harvard.edu/​cgi-bin/​nph-data_query?​bibcode=1999A%26A...345..211L&​link_type=ARTICLE&​db_key=AST&​high=|Lucy 1999]]). 
 + 
 +**Hints:** As mentioned above, understanding what incrementing ''​j_blue_estimators''​ means, is the key to the first objective. Physically, it measures the energy of all photons which can come into resonance with a particular line. Photons/​packets not necessarily have to interact with the line to be counted. The relativistic Doppler shift just has to shift their frequency far enough so that it matches the frequency of the line. Taking all this into account, you will realise that the ''​j_blue_estimators''​ behave very similar to the counter you are supposed to implement. ​  
  
 ---- ----
Line 126: Line 140:
 **Astronomy knowledge needed:** Low/None **Astronomy knowledge needed:** Low/None
  
-**Mentors:​** ​W. KerzendorfU. Noebauer+**Mentors:​** ​@unoebauer@wkerzendorf
  
 **Programming skills**: Python **Programming skills**: Python
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP007_isotopes_decay.rst|TEP007]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP007_isotopes_decay.rst|TEP007]]
 +
 +**GSoC Application Tag:** nuclear decay
  
 **Description:​** Supernova are powered by the decay of radioactive elements and thus if we want to simulate **Description:​** Supernova are powered by the decay of radioactive elements and thus if we want to simulate
Line 149: Line 165:
 **Astronomy knowledge needed:** None **Astronomy knowledge needed:** None
  
-**Mentors**:​+**Mentors**: ​@ssim, @wkerzendorf
  
 **Programming skills**: Python **Programming skills**: Python
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP006_configuration_tags.rst|TEP006]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP006_configuration_tags.rst|TEP006]]
 +
 +**GSoC 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. **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.
Line 168: Line 186:
 **Astronomy knowledge needed:** Low **Astronomy knowledge needed:** Low
  
-**Mentors**:​+**Mentors**: ​@yeganer, @wkerzendorf
  
 **Programming skills**: Python **Programming skills**: Python
  
 **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP008.rst|TEP008]] **Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP008.rst|TEP008]]
 +
 +**GSoC Application Tag:** atomic/​model/​plasma integration
  
 **Description:​** TARDIS needs to calculate the Plasma state very often during the runtime. TARDIS should also be able to use different modules with different approximations how to calculate the plasma state. Last year we updated the plasma module to allow a more modular approach. While we got far, this new framework is not yet completely embedded in the code and we will need your help with finalizing the integration. ​ **Description:​** TARDIS needs to calculate the Plasma state very often during the runtime. TARDIS should also be able to use different modules with different approximations how to calculate the plasma state. Last year we updated the plasma module to allow a more modular approach. While we got far, this new framework is not yet completely embedded in the code and we will need your help with finalizing the integration. ​
ideas_page.1455714127.txt.gz · Last modified: 2016/02/17 14:02 by unoebauer