Talk titles and abstracts

How Python in Astronomy has Impacted My Professional Life - Karl Gordon

In short, my participation in the Python in Astronomy in 2016 taught me what it takes to make software that is actual useful for others and revealed the incredible encouraging and supportive community of astronomy python coders. Just releasing software is not enough - it needs good documentation, automated testing, and encourage contributions from others. Interacting with the astronomy python community has shown me that it is now better for my career to make all my code public. As one illustration, I will use the dust_extinction package that I started after the 2016 meeting. This package provides dust extinction curves using the astropy affiliated template package and is based on the astropy modeling and units packages.

Astropy - Adrian Price-Whelan

SunPy - Danny Ryan

A Complete fiasco: The Difficulties of Dealing with Atomic Data and a Possible Pythonic Solution - Will Barnes

Atomic data is used ubiquitously throughout the astrophysics and astronomy community. Whether it is performing radiative transfer calculations in a protoplanetary disk or interpreting observed spectra in the solar corona, observers and modelers alike rely heavily on vast amounts of detailed atomic data. These databases, which contain data from both laboratory experiments and large simulation codes, are often difficult to access, have no common format, and require a great deal of effort (and funding) to assemble. One such example is the [CHIANTI atomic database][1] which has been maintained continuously since 1995 and is heavily used by solar physicists. Recently I've begun work on a package called [fiasco][2] (the Italian name for the style of bottle used to store a Chianti wine) which provides a high-level interface to the CHIANTI database. In this talk, I'll discuss the difficulties of working with this data, the software and techniques used to parse the data, and the high-level interface. Additionally, and most importantly, I will discuss the possible use of fiasco as a general interface to any atomic database and how this might extend the usefulness of the package into the general astronomy community. My hope is that this last point in particular will generate much discussion and interest in how to improve programmatic interfaces to this type of data.

[1]: http://www.chiantidatabase.org/

[2]: https://github.com/wtbarnes/fiasco

Catch that asteroid with poliastro! - Juan Luis Cano

poliastro (http://docs.poliastro.space/) is a Python library for Astrodynamics focused on interplanetary trajectories, interactive visualization and user friendliness. It features core algorithms like propagation (Kepler problem), orbit determination (Lambert problem), orbital maneuvers computation (Hohmann, bielliptic) and conversion between classical, equinoctial and cartesian orbital elements. It also ships simple methods for orbit plotting and makes heavy use of astropy.units, astropy.time and astropy.coordinates for correctness.

In this talk I will present benchmarks of some poliastro algorithms accelerated with numba against its FORTRAN counterparts, review its interactive plotting capabilities and comment about the validation strategies used for the algorithms.

[The Struggles of] Developing Python Packages for Spectroscopy - Nick Earl

An overview of some of the challenges faced in developing spectroscopic open-source packages for the astronomy community, and what we've done to try and overcome them. The talk discusses three spectroscopy-focused packages at different stages of development and how we plan to ensure community traction while working under bureaucratic constraints, building in inter-operatibility with other python packages, and providing accessibility for contributors of a wide range of programming backgrounds.

How to get career credit for writing software - Arfon Smith

Modern scientific research depends on software and yet the activities of a research software engineer aren't generally recognized by the academy. In this talk I'll discuss why our inability to recognize the importance of research software is a serious threat to our long-term success and offer some potential tactics for elevating the role of software in academia.

Predicting Solar Flares Using Machine-Learning Methods - Monica Bobra

In this talk, we discuss the application of various machine learning algorithms -- such as Support Vector Machine, a sparse linear regression (Lasso), and Convolutional Neural Network, which are all available in the open source python libraries called scikit-learn and caffe -- to image data from the photosphere, chromosphere, transition region, and corona taken by instruments aboard the Solar Dynamics Observatory in order to predict solar activity on a variety of time scales. Such an approach may be useful since, at the present time, there are no physical models of flares available for real-time prediction. We discuss our results (Bobra and Couvidat, 2015; Bobra and Ilonidis, 2016; Jonas et al., 2017) as well as other attempts to predict flares using machine-learning (e.g. Ahmed et al., 2013; Nishizuka et al. 2017) and compare these results with the more traditional techniques used by the NOAA Space Weather Prediction Center (Crown, 2012). We also discuss some of the challenges in using machine-learning algorithms for space science applications.

More Usable Flops per Watt: A Story About a Highly-optimized Correlation Function Code - Manodeep Sinha

Galaxy clustering is determined by a combination of cosmological parameters, non-linear gravitational collapse, and the physics of galaxy formation. Consequently, comparing the observed and predicted correlation functions provides a stringent test for galaxy formation theories as well as precise values of cosmological parameters. However, quantifying the clustering strength requires computing pair-wise separations -- an inherently quadratic process. Since large galaxy surveys, and consequently the theoretical models, contain millions of galaxies, computing the correlation function becomes a bottleneck in the analysis pipeline. With upcoming surveys like Large Synoptic Survey Telescope and the Square Kilometre Array (SKA), the number of detected sources will increase many-folds, and will exacerbate the bottleneck. I will show that software tuned to the underlying CPU hardware can speed up the calculation by almost two orders of magnitude. For modern CPUs, such a tuning involves proper utilization of the cache hierarchy, vectorized code targeting the Single Instruction Multiple Data (SIMD) capable wide vector registers as well as many-core parallelization. Here I present Corrfunc -- a suite of OpenMP-parallelized clustering codes that exploit current CPU micro-architecture with custom Advanced Vector Extensions (AVX) and Streaming SIMD Extensions (SSE) intrinsics. Corrfunc can compute a variety of correlation functions for source positions in either a Cartesian geometry (i.e., generated from cosmological simulations) or for positions on the sky. The algorithm within Corrfunc can be easily adapted to a variety of different measurements and has already been implemented for nearest neighbour searches, group finding in galaxy surveys, weak lensing measurements etc. By design, Corrfunc is highly optimized and can compute wprp for mathcal{O}(1 million) galaxies in ~ 6 seconds on a post-2011 CPU, which is at least a factor of few faster than existing public correlation function routines. Corrfunc is covered by a suite of tests, extensive documentation and is publicly available at https://github.com/manodeep/Corrfunc.

Data Analysis tools for JWST - Pey Lian Lim

This talk will provide an overview of the tools being developed for JWST users. This includes interactive tools for data visualization as well as tools to facilitate scripted workflows for photometric and spectroscopic data analysis. The talk will also outline our open-source development model and highlight areas where community contributions will be most effective.

The role of Python in the first detection of Gravitational Waves - Bas Swinkels

The last 2 years saw the spectacular birth of Gravitational Wave astronomy, which featured the first ever detection of signals generated by colliding black holes, and a neutron star merger of which the afterglow has been observed across the EM spectrum. I will give a quick overview of the recent discoveries, and then explain how Python plays a key role in this field. I will focus on the automation of the Virgo interferometer and on analysis tools used for understanding the disturbances that are limiting the sensitivity of these complex instruments.

Developing End User Tools for DKIST Data Analysis - Stuart Mumford

The Daniel K. Inouye Solar Telescope (DKIST) is a 4m solar telescope currently under construction on Haleakalā in Hawaii. In this talk I will give an overview of the software under development to enable users to perform scientific analysis on the data collected by the DKIST. This software is being developed in Python using SunPy and Astropy to provide the core tools. The DKIST data centre is expected to generate approximately 3 Pb of calibrated science quality data a year once telescope operations are at full capacity. The data centre will provide no pre-processing of the data before download, which is an extra challenge to the user software. The tools that will be written for these data will include, search and retrieval from the data centre, cataloguing and searching data local to the user and then reading of this data and metadata in a way which is compatible with existing tooling. This talk will describe these stages and the new and existing tools used in implementing them, as well as the challenges faced while doing so.

Collaborations in the Extreme: the rise of open code development in the scientific community - Kelle Cruz

The internet is changing the scientific landscape by fostering international, interdisciplinary and collaborative software development. More than ever before, software is a crucial component of any scientific result. The ability to easily share code is reshaping expectations about reproducibility — a fundamental tenet of the scientific process. Furthermore, in this new landscape, scientific communities develop open source software, mostly built and maintained by unpaid volunteers, upon which both scientists and industry increasingly depend upon for day-to-day operations.

In this lecture, Kelle Cruz will briefly provide the backstory of how these shifts have come about, describe some of the most impactful open source projects, and discuss efforts currently underway aimed at ensuring these community-led projects are sustainable and receive support. She will conclude with a discussion of the implications of these shifts for science education and academic science.