yt an integrated science environment for astrophysical
play

yt : An Integrated Science Environment for Astrophysical - PowerPoint PPT Presentation

yt : An Integrated Science Environment for Astrophysical Simulations Matthew Turk There is only one sky. (but there are many simulation codes) Different methods, data structures, assumptions, IO methods, units, variable names, ...


  1. yt : An Integrated Science Environment for Astrophysical Simulations Matthew Turk

  2. There is only one sky. (but there are many simulation codes)

  3. Different methods, data structures, assumptions, IO methods, units, variable names, ...

  4. Analysis.

  5. astro-ph/1011.3514 yt-project.org

  6. install script: Full dependency stack Source code Development environment GUI Sample data

  7. yt has been designed to address physical, not computational, entities.

  8. The Universe is full of gas, dark matter and stars. yt makes it easy to access that material.

  9. Transparent IO, masking of overlapping data, load-on-demand, geometric and non- geometric selection, field generation, and common interfaces to different datatypes.

  10. Enzo, Orion, CASTRO, FLASH Chombo, Tiger, Athena , ART, RAMSES yt is designed to be the lingua franca of astrophysical codes.

  11. Objects Orthogonal Rays 1D Non-orthogonal Rays Slices Oblique Slices 2D Projections Spheres Rectangular Prisms Disks/Cylinders Inclined Boxes 3D Clumps Extracted Regions Boolean combinations

  12. from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’)) p.save(’Galaxy’)

  13. from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = SlicePlot(pf, 2, ’Density’, ’c’, (200,’kpc’)) p.set_width(20, ’kpc’) p.save("GalaxyZoom")

  14. from yt.mods import * pf = load(’galaxy0030/galaxy0030’) p = ProjectionPlot(pf, 2, ’Density’, ’c’, (20,’kpc’)) p.save(’Galaxy’)

  15. Volume Rendering

  16. Designed around integrating through a volume: visualization is a side effect. dI ν ds = j ν − α ν I ν

  17. 10 -14 g/cc

  18. Canned Analysis Tasks

  19. Absorption Spectrum Coordinate Transformations Halo Finding Mass Functions Merger Trees Halo Profiling Level Sets Light Cones Light Rays Time Series Star Analysis Two-Point Analysis

  20. Level Sets

  21. Synthetic Spectra

  22. Two-Point Functions

  23. Parallelism

  24. Multi-level parallelism: dynamic workgroups, communicators, subgroups and task queues

  25. Parallelism Embarassingly Parallel Spatial Decomposition Decomposed by load or Helper functions to IO characteristics decompose the domain

  26. Parallelism Embarassingly Parallel Spatial Decomposition Quantities Profiles Slices Halo Finding Projections Volume Rendering

  27. Developing as a Team

  28. Forky development: very low barrier to entry; everything comes in the box.

  29. Testing: answer as well as integration tests get run every 30 minutes.

  30. Community ◮ Mailing lists: community, development ◮ IRC ( #yt on irc.freenode.net ) ◮ Cookbook, docs ◮ Curriculum from workshop

  31. 2

  32. 80,000 lines of code Python, Cython, C 20 contributors (60+ users) Contributors from 10+ institutions 8AM 6PM

  33. Contributors Tom Abel Jean-Claude Passy David Collins Thomass Robitaille Andrew Cunningham Anna Rosen Nathan Goldbaum Anthony Scopatz Cameron Hummels Devin Silvia Ji-hoon Kim Sam Skillman Stephen Skory Steffen Klemer Kacper Kowalik Britton Smith Michael Kuhlen Geoffrey So Eve Lee Casey Stark Chris Malone Elizabeth Tasker Chris Moody Rick Wagner John Wise Andrew Myers Jeff Oishi John ZuHone

  34. yt 3.0

  35. No more grids, only chunks

  36. Particle segregation, multiple fluids

  37. Address technical debt

  38. Strategies ◮ Patch: chunks are collections of grids ◮ Octree: direct octree parsing ◮ SPH/N-body: octree indexing

  39. 3.0 Milestones 1. Patch-based analysis and 2D viz 2. Patch-based volume rendering 3. Halo Finding 4. Octree analysis and 2D viz 5. Particle analysis and 2D viz

  40. Caveats!

  41. SPH Support ◮ Particle support only at first ◮ No first light (ETA: 3-6 weeks) ◮ Many free parameters, many output formats

  42. Octree Support ◮ Volume rendering not ready yet ◮ Subtleties may lurk ◮ ART half-finished

  43. I volunteer!

  44. (demo)

  45. Thank you. yt-project.org

Recommend


More recommend