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
NCSA Logo ARFC Logo
cyclus pyrk pyne moltres
Fission.
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.

Science

  • 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.

Computers

should...

  • 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

Water

US EPA WNTR: Water Network Tool for Resilience

github.com/USEPA/WNTR has 12 contributors.
github.com/OGGM/oggm has 43 open issues.

Climate

github.com/cambecc/earth has 30 open issues.
aospy: automated climate data analysis and management
github.com/spencerahill/AOSPy has 54 open issues
The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data.
github.com/ARM-DOE/pyart has 52 open issues.

Energy

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.

source

Agent Based Systems Analysis

It might request material.

sink

Agent Based Systems Analysis

It might do both.

fac

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.

github.com/cyclus/cyclus has 62 open issues

PyNE

pyne.
github.com/pyne/pyne has 90 open issues.
neutron diffusion vizualized with yt
github.com/yt-project/yt has 91 open issues.

Health

pulse2percept: Models for Retinal Prosthetics
github.com/uwescience/pulse2percept has 4 open issues
github.com/nipy/nipy has 27 open issues
MNE has 181 open issues

Pint


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

github.com/hgrecco/pint has 97 open issues

Four Simple Steps

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

THE END

katyhuff.github.io/2017-05-20-pycon
Creative Commons 
                                            License
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 http://katyhuff.github.io/2017-05-20-pycon.