User Tools

Site Tools


start

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
start [2019/01/29 00:01]
216.165.21.2
start [2019/03/03 18:23] (current)
wkerzend
Line 1: Line 1:
-====== TARDIS GSoC 2019 Ideas Page ======+====== ​Apply to TARDIS GSoC ======
  
-===== A bit of astronomy and astrophysics background information =====+If you are interested, follow the steps:
  
-{{http://upload.wikimedia.org/​wikipedia/​commons/​thumb/​a/​a2/​SN1994D.jpg/​480px-SN1994D.jpg}}+  - go through **[[checklist|checklist]]** 
 +  - check out what we expect from you ([[expectations|expectations]],​ [[acceptance_requirements|acceptance requirements]] and [[application_guidelines]|application guidelines]]) 
 +  - get familiar with TARDIS and pick a project from our **[[ideas_page|Ideas Page]]** 
 +  - [[http://summerofcode.withgoogle.com|apply]]
  
-A [[http://​en.wikipedia.org/​wiki/​Supernova|supernova]] (here we show SN1994D in the Galaxy NGC4526 - //image source: wikipedia//​) marks the brilliant death throes of a star, during which it outshines its entire galaxy. It not only marks death, though: supernova ejecta change the evolution of the universe and enable the formation of planets and life as we know it. From the iron in your blood to the silicon in your laptop, supernovae return heavy elements assembled from the primordial hydrogen and helium left after the big bang.+====== Accepted projects for GSoC 2016 ======
  
-There are still many mysteries surrounding supernovae (e.g. their precise origins, inner workings, ...). One way to study these objects in more detail is to split the light coming from these objects into its components ​(like using prism) and analyzing the resulting data (which is called ​spectrum). Here, we show spectra (black lines) of a number of different supernova types (//image courtesy Daniel Kasen and LBL//). Different chemical elements present in the supernova leave their mark on the spectra by imprinting characteristic features, so-called atomic lines (regions highlighted in colour). Thus, studying and interpreting such spectra allows us to identify what supernovae are made of.+These were the projects that we selected for GSoC 2016 (a while ago but still a good reference) and can serve as reference for future proposals:
  
-{{http://supernova.lbl.gov/​~dnkasen/​tutorial/​graphics/​sn_types.jpg}}+  * {{:mishinma_gsoc_application.pdf|}} 
 +  * {{:​ftsamis_gsoc_2016.pdf|}} 
 +  * {{:​karandesai_gsoc_2016.pdf|}}
  
-With sophisticated computer simulations astronomers try to reproduce the observed spectra to draw conclusion about the properties of the supernova ejecta and ultimately the explosion mechanism and progenitor stars. ​TARDIS ​is such a numerical code. It calculates theoretical spectra based on a number of input parameters, such as the supernova brightness and the abundances of the different chemical elements present in the ejecta (e.g. Oxygen, Silicon, Iron, etc.). The main idea for this procedure is that by finding a close match between theoretical and observed spectra we identify the parameters that actually describe the supernovae.+====== ​TARDIS ​GSoC 2019 Ideas Page ======
  
-===== The TARDIS ​project =====+We have compiled some background information about TARDIS ​and the science we do with it as well as some of our suggested projects for GSoC 2019 on the **[[ideas_page|Ideas Page]]**.
  
-As mentioned in the background information above, ​TARDIS ​is a scientific tool (more specifically a Monte Carlo radiative transfer code) whose primary goal is the calculation of theoretical spectra for supernovaeBelow, you find the typical result of a TARDIS calculationIt shows the calculated synthetic spectra for a simple supernova model. This particular setup (''​tardis_example''​) ​is officially provided by the TARDIS collaboration ​on the [[http://tardis.readthedocs.org/en/latest/​running.html|documentation]].+You are also welcome to come up with your own project ideas and discuss them with the TARDIS ​mentorsWe're here to help you become new open source developersso don't be shy if you have any questionsThe best way to get in contact ​is to chat with us on [[https://gitter.im/tardis-sn/gsoc2019|Gitter]].
  
-{{::​tardis_example.png?​600|}}+====== The Selection Process ======
  
-TARDIS aims to be an easy to use piece of software for research and training purposesUnlike many other scientific codes, we have purposefully made it open-source. This enables scientists to use the code to analyze their observations,​ but also to review the code and potentially fix errors.+GSoC is about getting people involved and contributing ​to open source over the long-term As such, we heavily weight our application selection process towards students that are interested in remaining involved in TARDIS and open source ​software development long after GSoC has ended
  
-===== List of GSoC 2019 project ideas =====+**GSoC is not a job!** ​ If you think this is just a summer job, then GSoC is probably not for you.  It's only like a job in terms of planning your time commitment over the summer.
  
-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 ProposalsWe 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 PR on that. +Additionally,​ submissions are graded based on perception of the submitter'​s abilities to complete ​the task within ​the program timeframe, general consensus on the technical approach being proposed, ​and overall interest in having such modifications made to TARDIS-SN ​Particular notice is made of students ​that are responsive ​to questions ​and readily interactive in the gitter channel. Communication is great thing!
  
-If you use one of our TEPs, you can definitely add more detail ​to the implementationbut what we really want to see is 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 [[https://​gitter.im/​tardis-sn/​gsoc2019|Gitter]]+Just about every GSoC organization receives considerably more project proposals than can be accepted. ​ Every application gets read multiple times and reviewed in detail.  Of those applicationsonly small subset are selected, so keep in mind that the selection process is rather competitive and difficult
  
-Putting in a Pull Request with the First objective ​is essential for each proposal ​to allow to see how you work+Whether or not you are accepted, contributing to open source outside of GSoC is one of the main goals of the program and is the best way to be noticed and get your proposal accepted Keep that in mind.  Thanks for your interest and we look forward to working with new TARDIS-SN developers!
  
-----+====== About GSoC ======
  
 +Since 2005, Google has run an awesome open source software development program, called the [[http://​code.google.com/​soc/​|Google Summer of Code]] (GSoC), which specifically targets **students**. ​ Under this program, Google funds students to write code for open source projects during the northern hemisphere'​s summer timeframe. TARDIS, a scientific code to study exploding stars, participates in this program to get young minds engaged in scientific software development. The process is as follows:
  
-=== Moving ​TARDIS ​to Python 3 ==== +  * The student writes a project proposal for TARDIS. 
- +    Sometimes their project idea caters to something that the TARDIS ​collaboration suggests ​and sometimes ​it's an idea entirely ​of the student'​s conception
-**Difficulty:​** Medium +  Proposals ​are reviewedevaluated, and ranked by the TARDIS collaboration
- +  * Google allocates a certain number of slots to each participating organization 
-**Astronomy knowledge needed:** None +    That, in turn, determines how many student developers work with the TARDIS ​collaboration.
- +
-**Mentors:​** @wkerzendorf,​ @unoebauer +
- +
-**Programming skills:** Python +
- +
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP012_gui_overhaul.rst|TEP012]] +
- +
-**GSoC Application Tag:** python2 +
- +
-**Description:​** ​TARDIS ​is built on Python 2. Python 2 reaches end-of-life in 2019 and with-it several ​of the developers of the python scientific stack are switching to Python 3 only. TARDIS will need to transition to Python 3 as fast as possible and this project will lead to this transition.  +
- +
-**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.  +
- +
-==== Expanding the Integration-Testing Framework ==== +
- +
-**Difficulty:​** Easy +
- +
-**Astronomy knowledge needed:** None +
- +
-**Mentors:​** @orbitfold +
- +
-**Programming skills:** Python +
- +
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP001_extensive_test_suite.rst|TEP001]] +
- +
-**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 greatbut 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 itis thus an important part of TARDIS development.  +
- +
-We have two types of tests: unit tests that verify small portions of the code and full-scale integration tests. Both of these test types are implemented with a framework. But the integration tests are difficult to use +
- +
-  * currently we mainly run the integration tests on an external server. We want to integrate them into our general TRAVIS continuous integration routine. We'd also like to expand that and check also different properties of our model against reference data (e.g. electron densities, ionization fractions, dilution factors) +
-  hand in hand with expanding the verification process we will improve the reporting process which should contain detailed plots and comparison results. A framework exists but is currently not actively used.  +
- +
- +
-**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` ?????+
  
 +This page will help you to familiarize yourself with GSoC, the TARDIS collaboration and provides a guideline for applications. ​
 ---- ----
- +//adapted ​from the BRL-CAD page//
- +
-==== Atomic Datasets ==== +
- +
-**Difficulty:​** Hard +
- +
-**Astronomy knowledge needed:** Medium +
- +
-**Mentors:​** @lukeshingles,​ @shaching +
- +
-**Programming skills**: Python, Parsing, Databases, SQLAlchemy +
- +
-**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). +
- +
-{{:​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. +
- +
-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.py) to generate an HDF store - then implement a meta table in the HDF file that stores the units of the columns. ???? +
- +
----- +
- +
-==== New stream-lined model file ==== +
- +
-**Difficulty:​** Medium/​Hard +
- +
-**Astronomy knowledge needed:** Low/None +
- +
-**Mentors:​** @unoebauer, @wkerzendorf +
- +
-**Programming skills**: Python +
- +
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP007_isotopes_decay.rst|TEP007]] +
- +
-**GSoC Application Tag:** nuclear decay +
- +
-**Description:​** The main task that TARDIS accomplishes is to take a model of the exploded star and then simulate the transport of light resulting in a prediction of the observed spectrum. There are currently multiple formats to input the model. For this year, we aim to streamline this process and provide a single format for input. We will also provide converters for the legacy formats.  +
- +
-**Your first objective if you choose to accept the mission:** ??? +
- +
----- +
- +
-=== Jupyter notebook widget for TARDIS ==== +
- +
-**Difficulty:​** Medium +
- +
-**Astronomy knowledge needed:** None +
- +
-**Mentors:​** @wkerzendorf,​ @unoebauer +
- +
-**Programming skills:** Python +
- +
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP012_gui_overhaul.rst|TEP012]] +
- +
-**GSoC Application Tag:** gui +
- +
-**Description:​** Often we need more information about the model and the calculation than the mere spectrum. For example, we frequently need to investigate in detail how a specific spectral line feature forms, which ions and which specific line transitions contribute. For exactly this purpose a Qt-GUI was developed (see [[http://​tardis.readthedocs.io/​en/​latest/​gui.html#​gui-explanation|here]]). It allows the user to easily analyse TARDIS runs and extract important physical information without knowing the exact inner data structure of TARDIS. +
- +
-QT for this type of application is no longer the ideal framework. Many applications now work with Jupyter notebook and we want to have a functional GUI that acts as a Jupyter widget. Once this is implemented,​ we would like to have several example notebooks that exist within the documentation so that it is easy for users to try it out themselves.  +
- +
-**Your first objective if you choose to accept the mission:** Make a Jupyter notebook and embed it in the documentation that showcases the current way of running TARDIS and plots the spectrum. ??? +
- +
----- +
- +
-=== Distribution of TARDIS via conda ==== +
- +
-**Difficulty:​** Medium +
- +
-**Astronomy knowledge needed:** None +
- +
-**Mentors:​** @wkerzendorf,​ @unoebauer +
- +
-**Programming skills:** Python +
- +
-**Related TEP:** [[https://​github.com/​tardis-sn/​tep/​blob/​master/​TEP012_gui_overhaul.rst|TEP012]] +
- +
-**GSoC Application Tag:** gui +
- +
-**Description:​** TARDIS is a tool to analyze transient phenomenon like supernovae. It is important for researchers to quickly install this tool to react to new observed objects. Anaconda offers a quick and easy way to install python packages and its dependencies. For this project, we want to make it easy to install TARDIS via Anaconda.  +
- +
-**Your first objective if you choose to accept the mission:** Make an offline conda packages for TARDIS. +
start.1548716501.txt.gz · Last modified: 2019/01/29 00:01 by 216.165.21.2