yt 2.4 documentation


This is a non-comprehensive log of changes to the code.


Here are all of the contributors to the code base, in alphabetical order.

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

Version 2.4

The 2.4 release was particularly large, encompassing nearly a thousand changesets and a number of new features.

To help you get up to speed, we’ve made an IPython notebook file demonstrating a few of the changes to the scripting API. You can download it here.

Most Visible Improvements

  • Threaded volume renderer, completely refactored from the ground up for speed and parallelism.

  • The Plot Window (see Simple Data Inspection) is now fully functional! No more PlotCollections, and full, easy access to Matplotlib axes objects.

  • Many improvements to Time Series analysis:
    • EnzoSimulation now integrates with TimeSeries analysis!
    • Auto-parallelization of analysis and parallel iteration
    • Memory usage when iterating over parameter files reduced substantially
  • Many improvements to Reason, the yt GUI
    • Addition of “yt reason” as a startup command
    • Keyboard shortcuts in projection & slice mode: z, Z, x, X for zooms, hjkl, HJKL for motion
    • Drag to move in projection & slice mode
    • Contours and vector fields in projection & slice mode
    • Color map selection in projection & slice mode
    • 3D Scene
  • Integration with the all new yt Hub ( ): upload variable resolution projections, slices, project information, vertices and plot collections right from the yt command line!

Other Changes

  • ProjectionPlot and SlicePlot supplant the functionality of PlotCollection.
  • Camera path creation from keyframes and splines
  • Ellipsoidal data containers and ellipsoidal parameter calculation for halos
  • PyX and ZeroMQ now available in the install script
  • Consolidation of unit handling
  • HDF5 updated to 1.8.7, Mercurial updated to 2.2, IPython updated to 0.12
  • Preview of integration with Rockstar halo finder
  • Improvements to merger tree speed and memory usage
  • Sunrise exporter now compatible with Sunrise 4.0
  • Particle trajectory calculator now available!
  • Speed and parallel scalability improvements in projections, profiles and HOP
  • New Vorticity-related fields
  • Vast improvements to the ART frontend
  • Many improvements to the FLASH frontend, including full parameter reads, speedups, and support for more corner cases of FLASH 2, 2.5 and 3 data.
  • Integration of the Grid Data Format frontend, and a converter for Athena data to this format.
  • Improvements to command line parsing
  • Parallel import improvements on parallel filesystems (from yt.pmods import *)
  • proj_style keyword for projections, for Maximum Intensity Projections (proj_style = "mip")
  • Fisheye rendering for planetarium rendering
  • Profiles now provide *_std fields for standard deviation of values
  • Generalized Orientation class, providing 6DOF motion control
  • parallel_objects iteration now more robust, provides optional barrier. (Also now being used as underlying iteration mechanism in many internal routines.)
  • Dynamic load balancing in parallel_objects iteration.
  • Parallel-aware objects can now be pickled.
  • Many new colormaps included
  • Numerous improvements to the PyX-based eps_writer module
  • FixedResolutionBuffer to FITS export.
  • Generic image to FITS export.
  • Multi-level parallelism for extremely large cameras in volume rendering
  • Light cone and light ray updates to fit with current best practices for parallelism

Version 2.3

(yt 2.3 docs)

Version 2.2

(yt 2.2 docs)
  • Command-line submission to the yt Hub (
  • Initial release of the web-based GUI Reason, designed for efficient remote usage over SSH tunnels (see The GUI Reason)
  • Absorption line spectrum generator for cosmological simulations (see Making an Absorption Spectrum)
  • Interoperability with ParaView for volume rendering, slicing, and so forth
  • Support for the Nyx code
  • An order of magnitude speed improvement in the RAMSES support
  • Quad-tree projections, speeding up the process of projecting by up to an order of magnitude and providing better load balancing
  • “mapserver” for in-browser, Google Maps-style slice and projection visualization (see Mapserver)
  • Many bug fixes and performance improvements
  • Halo loader (see Loading Haloes Off Disk)

Version 2.1

(yt 2.1 docs)
  • HEALpix-based volume rendering for 4pi, allsky volume rendering
  • libconfig is now included
  • SQLite3 and Forthon now included by default in the install script
  • Development guide has been lengthened substantially and a development bootstrap script (Bootstrapping Your Development Environment) is now included.
  • Installation script now installs Python 2.7 and HDF5 1.8.6
  • iyt now tab-completes field names
  • Halos can now be stored on-disk much more easily between HaloFinding runs.
  • Halos found inline in Enzo can be loaded and merger trees calculated
  • Support for CASTRO particles has been added
  • Chombo support updated and fixed
  • New code contributions
  • Contour finder has been sped up by a factor of a few
  • Constrained two-point functions are now possible, for LOS power spectra
  • Time series analysis (Time Series Analysis) now much easier
  • Stream Lines now a supported 1D data type (AMRStreamlineBase)
  • Stream Lines now able to be calculated and plotted (Streamlining)
  • In situ Enzo visualization now much faster
  • “gui” source directory reorganized and cleaned up
  • Cython now a compile-time dependency, reducing the size of source tree updates substantially
  • yt-supplemental repository now checked out by default, containing cookbook, documentation, handy mercurial extensions, and advanced plotting examples and helper scripts.
  • Pasteboards now supported and available
  • Parallel yt efficiency improved by removal of barriers and improvement of collective operations

Version 2.0

  • Major reorganization of the codebase for speed, ease of modification, and maintainability
  • Re-organization of documentation and addition of Orientation Session
  • Support for FLASH code
  • Preliminary support for MAESTRO, CASTRO, ART, and RAMSES (contributions welcome!)
  • Perspective projection for volume rendering
  • Exporting to Sunrise
  • Preliminary particle rendering in volume rendering visualization
  • Drastically improved parallel volume rendering, via kD-tree decomposition
  • Simple merger tree calculation for FOF catalogs
  • New and greatly expanded documentation, with a “source” button

Version 1.7

  • Direct writing of PNGs (see Streamlining)
  • Multi-band image writing (see Streamlining)
  • Parallel halo merger tree (see Halo Merger Tree)
  • Parallel structure function generator (see Two Point Functions)
  • Image pan and zoom object and display widget (see The AMR Image Panner)
  • Parallel volume rendering (see Volume Rendering)
  • Multivariate volume rendering, allowing for multiple forms of emission and absorption, including approximate scattering and Planck emissions. (see Volume Rendering)
  • Added Camera interface to volume rendering (See Volume Rendering)
  • Off-axis projection (See Volume Rendering)
  • Stereo (toe-in) volume rendering (See Volume Rendering)
  • DualEPS extension for better EPS construction
  • yt now uses Distribute instead of SetupTools
  • Better iyt initialization for GUI support
  • Rewritten, memory conservative and speed-improved contour finding algorithm
  • Speed improvements to volume rendering
  • Preliminary support for the Tiger code
  • Default colormap is now algae
  • Lightweight projection loading with projload
  • Improvements to yt.data_objects.time_series
  • Improvements to yt.extensions.EnzoSimulation (See Analyzing an Entire Simulation)
  • Removed direct_ray_cast
  • Fixed bug causing double data-read in projections
  • Added Cylinder support to ParticleIO
  • Fixes for 1- and 2-D Enzo datasets
  • Preliminary, largely non-functional Gadget support
  • Speed improvements to basic HOP
  • Added physical constants module
  • Beginning to standardize and enforce docstring requirements, changing to autosummary-based API documentation.

Version 1.6.1

  • Critical fixes to ParticleIO
  • Halo mass function fixes for comoving coordinates
  • Fixes to halo finding
  • Fixes to the installation script
  • “yt instinfo” command to report current installation information as well as auto-update some types of installations
  • Optimizations to the volume renderer (2x-26x reported speedups)

Version 1.6

Version 1.6 is a point release, primarily notable for the new parallel halo finder (see Halo Finding)

  • (New) Parallel HOP ( , Halo Finding )
  • (Beta) Software ray casting and volume rendering (see Volume Rendering)
  • Rewritten, faster and better contouring engine for clump identification
  • Spectral Energy Distribution calculation for stellar populations (see Synthetic Spectrum Generator)
  • Optimized data structures such as the hierarchy
  • Star particle analysis routines (see Star Particle Analysis)
  • Halo mass function routines (see Halo Mass Function: Start to Finish)
  • Completely rewritten, massively faster and more memory efficient Particle IO
  • Fixes for plots, including normalized phase plots
  • Better collective communication in parallel routines
  • Consolidation of optimized C routines into amr_utils
  • Many bug fixes and minor optimizations

Version 1.5

Version 1.5 features many new improvements, most prominently that of the addition of parallel computing abilities (see Parallel Computation With YT) and generalization for multiple AMR data formats, specifically both Enzo and Orion.

  • Rewritten documentation
  • Fully parallel slices, projections, cutting planes, profiles, quantities
  • Parallel HOP
  • Friends-of-friends halo finder
  • Object storage and serialization
  • Major performance improvements to the clump finder (factor of five)
  • Generalized domain sizes
  • Generalized field info containers
  • Dark Matter-only simulations
  • 1D and 2D simulations
  • Better IO for HDF5 sets
  • Support for the Orion AMR code
  • Spherical re-gridding
  • Halo profiler
  • Disk image stacker
  • Light cone generator
  • Callback interface improved
  • Several new callbacks
  • New data objects – ortho and non-ortho rays, limited ray-tracing
  • Fixed resolution buffers
  • Spectral integrator for CLOUDY data
  • Substantially better interactive interface
  • Performance improvements everywhere
  • Command-line interface to many common tasks
  • Isolated plot handling, independent of PlotCollections

Version 1.0

  • Initial release!