SLIDE 1 Open-Source Astrophysics with the Enzo Community Code
Brian W. O’Shea Michigan State University
SLIDE 2 What is Enzo?
- N-body + hydro (+MHD + RHD + ...) block-
structured AMR code originally written at NCSA (by Greg Bryan & Mike Norman)
- Publicly available: http://enzo-project.org
- One of the PRAC codes for Blue Waters (two
separate projects: O’Shea et al., Nagamine et al.)
SLIDE 3 What science does Enzo enable?
➡ cosmology (large scale structure, dark energy,
galaxy clusters)
➡ galaxy formation (both in cosmological context
and isolated)
➡ star formation (Pop III/high redshift, modern-day) ➡ accretion disks ➡ turbulence (HD, MHD, self-gravitating) ➡ instabilities in compressible fluids ➡ probably more
SLIDE 4
History
SLIDE 5
1996-2003: closed-source!
SLIDE 6
March 2004: Enzo 1.0
SLIDE 7
November 2008: Enzo 1.5
SLIDE 8
June 2010: Enzo 2.0
SLIDE 9
June 2010: Enzo 2.0
SLIDE 10
June 2010: Enzo 2.0
SLIDE 11
June 2010: Enzo 2.0
SLIDE 12
June 2010: Enzo 2.0 October 2011: Enzo 2.1
SLIDE 13 The Enzo community today
- 25 contributors (~12 active developers) at >10
institutions
- ~200 people on enzo-users mailing list (~50% active?)
- ~80 million SUs devoted to Enzo simulations in 2011
from NSF, NASA, DOE (with more in 2012)
- Financial support from NSF (AST, OCI, PHY), NASA,
and DOE
- Complementary community: yt (http://yt-
project.org): see tomorrow’s talk by Matt Turk!
SLIDE 14 Development model
- Entirely distributed development model: small
number of devs per institution!
- Code distribution using mercurial (BitBucket)
- Use code forks / pull requests to move features
from development branches into main branch of the code
- Almost all development discussion takes place
- n archived, public mailing list and on Google
DOcs (meeting notes emailed out)
SLIDE 15 Community support
- Most developers are astrophysicists “scratching
their own itch” (and funded to do science!)
- Development spurred by ~1.5 workshops/year
+ periodic task-oriented “code sprints”
- Active mailing lists for users and developers
- Development funded by many streams:
universities, federal agencies, postdoctoral fellowships
- Complementary yt development has helped to
spur usage of Enzo!
SLIDE 16 Impact
- Enthusiastic and heavily-involved user/developer
community
- Enzo is widely known in astrophysics - strongly
represented in code comparisons, conference talks/posters - and highly trusted
- Code is flexible and extensible: high science/
dollar!
- Has spurred development of open-source science
- Involvement in this community has strongly
affected young scientists’ career trajectories
SLIDE 17 Challenges
- No “Fearless Leader” of development
process: hard to make major code revisions (esp. user-facing)
- Part-time developers: distractions, hard to
do “boring but important” infrastructure projects
- Significant work required to build
consensus and keep community together!
SLIDE 18
Recent Enzo- enabled results
SLIDE 19 Radio emission from cosmic ray electrons in galaxy clusters
Skillman, Hallman, O’Shea, Burns, Smith & Turk 2011, Astrophysical Journal, 735, 96 Skillman, et al. 2012, ApJ, submitted
and
SLIDE 20
SLIDE 21
SLIDE 22
SLIDE 23 Evolution of the intergalactic medium
Smith, Hallman, Shull & O’Shea 2011, Astrophysical Journal, 731, 6
SLIDE 24
SLIDE 25
Phase Flux
SLIDE 26
Self-gravitating star forming clouds
Collins et al. 2012, ApJ, 750, 13
SLIDE 27
SLIDE 28
SLIDE 29
Reionization of the Universe
So, Norman, Harkness, Reynolds 2012 (in prep.)
SLIDE 30
SLIDE 31
SLIDE 32
SLIDE 33
SLIDE 34 Conclusions
- Conversion of a code from closed-source to
an open-source community code is not without technical and sociological challenges.
SLIDE 35 Conclusions
- For the Enzo collaboration, this transition
has been worth it:
- Enhanced transparency/reproducibility (more
trust in the code)
- Larger user base: more eyes on the code,
wider adoption
- More and better science per dollar!
SLIDE 36 Conclusions
- The benefits can be seen in the wide
variety of science produced by Enzo users!
➡ cosmology ➡ galaxy formation ➡ star formation ➡ accretion disks ➡ turbulence ➡ fluid instabilities ➡ and more!
SLIDE 37
Questions?
SLIDE 38 Acknowledgments
- Collaborators: Michael Norman (UCSD/SDSC),
Matthew Turk (Columbia), Jack Burns (CU/Boulder), Eric Hallman (CfA/Tech-X), Robert Harkness (SDSC), Dan Reynolds (SMU), Sam Skillman (CU/ Boulder), Britton Smith (MSU), Geoffrey So (UCSD), Rick Wagner (UCSD/SDSC), John Wise (GATech)
- The Enzo development consortium
- Funding through NSF (AST, OCI, PHY), NASA, DOE
- Computational time through NSF (Teragrid/XSEDE),
NASA, DOE