Plasma Hack Week 2021: Tutorials & Presentations
The pre- Hack Week Python tutorials can be found on their dedicated tutorial page.
Coordinating Python Development with PyHC
Monday, June 28th at 12:10 pm ETPresenter(s): Julie Barnum
Co-author(s): Aaron Roberts, Alexandria Ware, and Shawn Polson
This presentation serves as an introduction to the Python in Heliophysics Community (PyHC). We'll go over the motivation behind the community, as well as a general layout of how the community is structured and run.
git and GitHub Tutorial
Monday, June 28th at 2:00 pm ETPresenter(s): Erik T. Everson and Sterling Smith
In this tutorial we will cover what is
git and GitHub; what are their differences; how they work together; and how to use them. The demonstration will show how to use
git and GitHub to version control our software development, which allows us to better collaborate on projects and record the project's development history.
Virtual Environment Setup
Monday, June 28th at 3:30 pm ETPresenter(s): Erik T. Everson
This tutorial will cover the creation, setup, and use of virtual environments. Virtual environments allow you to create Python environments with differing dependencies. This is helpful when you have task X with dependencies A and task Y with dependencies B, but the dependencies A and B conflict. As a solution, two virtual environments can be created with the needed dependencies which you can then switch between for the two (or more) tasks.
Tuesday, June 29th at 11:00 am ETPresenter(s): Nick Murphy and Ramiz Qudsi
Co-author(s): PlasmaPy Developers
This tutorial will introduce the essentials of working with PlasmaPy. We will work through some examples with Astropy's
constants subpackages, which are both widely used in PlasmaPy. We will then discuss PlasmaPy's
Interface between Plasma Physics and Hydrogen in Solids
Tuesday, June 29th at 12:10 pm ETPresenter(s): Rémi Delaporte-Mathurin
[Hack Session] First Contribution to an Open Source Project
Tuesday, June 29th at 2:00 pm ETPresenter(s): Nick Murphy
This hack session will be an opportunity to apply what we learned from the git and GitHub tutorial by making your first contribution to an open source project such as PlasmaPy. This session will start with a demonstration of a contribution to PlasmaPy in order to improve the documentation on how to contribute to PlasmaPy. After that demonstration, participants will be able to make a contribution to PlasmaPy or another project of their choice.
Wednesday, June 30th at 12:10 pm ETPresenter(s): Nikolas Logan
This tutorial will be a live demonstration of the
xarray package. The focus will be on how
xarray can be used to make plasma physics code and data more transparent and user friendly. To this end, we will show how
xarray's introduction of array dimensions and attributes "allows for a more intuitive, more concise, and less error-prone developer experience".
[Hack Session] Clean Coding Refactoring Session
Wednesday, June 30th at 2:00 pm ETPresenter(s): Nick Murphy
This hack session will start out with a short presentation on writing clean scientific software and describe clean coding strategies like: choosing meaningful variable names, writing short functions that do exactly one thing, and writing code as a top-down narrative. Participants will then take code that they have written already and refactor it by applying these strategies.
Thursday, July 1st at 11:00 am ETPresenter(s): Peter Hill and David Schwörer
Co-author(s): Ben Dudson, Joseph Parker, David Dickinson, and John Omotani
This tutorial will give an overview of the BOUT++ framework for solving fluid PDEs. We'll go through some simple physics models implemented in BOUT++ and talk about its capabilities, as well give a live demonstration of its Python interface, and
xarray-based post-processing utilities.
Thursday, July 1st at 12:10 am ETPresenter(s): Quinn Pratt
We will discuss linear error propagation theory, and the "uncertainties" python package. We will go through two examples illustrating how to handle uncertainties on fits, and propagation through simulation.
[Hack Session] Charged Particle Radiography with PlasmaPy
Thursday, July 1st at 2:00 pm ETPresenter(s): Peter Heuer
Charged particle radiography (often also called proton radiography) is a common diagnostic for electric and magnetic fields in high energy density plasmas. PlasmaPy now includes a synthetic charged particle radiography module for creating synthetic radiographs from provided grids of fields (either from simulations or analytically constructed). In this tutorial we will discuss the basics of charged particle radiography and the purpose of the PlasmaPy module. Then, attendees will be able to experiment with the software to generate radiographs using an example notebook.
Friday, July 2nd at 11:30 am ETPresenter(s): Steve Richardson
Co-author(s): Paul Adamson
TurboPy is a lightweight computational physics framework for rapidly prototyping new physics codes. This tutorial will introduce the turboPy framework, and give a live demonstration of how it can be used to create new computational physics "apps".
Writing Tests for Scientific Software
Friday, July 2nd at 12:10 pm ETPresenter(s): Dominik Stańczak