Do It For Science

PyCon 2017

Portland, OR

May 20, 2017

Kathryn (Katy) Huff

Scipy THW Software Carpentry Data Carpentry JOSS
BIDS Logo book book
cyclus pyrk pyne moltres
Chain reaction
Science can do much more than we imagine.
“Heavier-than-air flying machines are impossible” - Lord Kelvin, 1895
“ Organized Skepticism. Scientists are critical: All ideas must be tested and are subject to rigorous structured community scrutiny.” - R.K. Merton, 1942
“ The scientific method’s central motivation is the ubiquity of error—the awareness that mistakes and self-delusion can creep in absolutely anywhere and that the scientist’s effort is primarily expended in recognizing and rooting out error. ” - Donoho, 2009.
“the first principle is that you must not fool yourself, and you are the easiest person to fool.” - R. Feynman, 1974
“I am thinking about something much more important than bombs. I am thinking about computers.” - John von Neumann, 1946.


  • builds and organizes knowledge
  • tests explanations about the universe
  • systematically,
  • objectively,
  • transparently,
  • and reproducibly.

Otherwise it's not science.

Science relies on

  • peer review,
  • skepticism,
  • transparency,
  • attribution,
  • accountability,
  • collaboration,
  • and impact.

Since 6th century BCE, science has been perfecting these tenents.

Open source software is now superior at all of them.



  • improve efficiency,
  • reduce human error,
  • automate the mundane,
  • simplify the complex,
  • and accelerate research.

But scientists aren't trained to use them effectively.

We need you.

“Tell me and I'll forget, show me and I'll remember, involve me and I will understand.” -- Xun Kuang, 3rd Century BC


US EPA WNTR: Water Network Tool for Resilience has 12 contributors. has 43 open issues.

Climate has 30 open issues.
aospy: automated climate data analysis and management has 54 open issues
The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data. has 52 open issues.


image generated by Anthony Scopatz, Paul P.H.  Wilson, and Katy Huff

A Nuclear Fuel Cycle Simulation Framework

The Nuclear Fuel Cycle

Hundreds of discrete facilities mine, mill, convert, fabricate, transmute, recycle, and store nuclear material.

from Paul Lisowski

Agent Based Systems Analysis

An agent-based simulation is made up of actors and communications between those actors.

from Paul Lisowski

Agent Based Systems Analysis

A facility might create material.


Agent Based Systems Analysis

It might request material.


Agent Based Systems Analysis

It might do both.


Agent Based Systems Analysis

Even simple fuel cycles have many independent agents.

material flow

Transition Analysis

power deployed by reactor type.

Power generated by reactor type.

Material Tracking

EU scenario tracking fuel.

Fuel movement by type. has 62 open issues


pyne. has 90 open issues.
neutron diffusion vizualized with yt has 91 open issues.


pulse2percept: Models for Retinal Prosthetics has 4 open issues has 27 open issues
MNE has 181 open issues


In  [1]: import pint
         ureg = pint.UnitRegistry()
         3*ureg.meter + 4 *
Out [1]: <Quantity(3.04, 'meter')> has 97 open issues

Four Simple Steps

  • Be curious
  • Pick a project
  • Contribute to science
  • Save the world

Creative Commons 
Do It For Science: PyCon 2017 by Kathryn Huff is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at