yt 3.4 release notes
The yt community is proud to announce the release of yt 3.4.0. This is a
major release and includes a number of new features, minor improvements,
yt (http://yt-project.org) is an
open source, community developed toolkit
for the analysis and visualization of volumetric data.
Since our last major release we have moved code hosting to GitHub. If you
are interested in contributing to yt, please see our new home at
In addition, we have merged 450 pull requests from 44 contributors,
including 19 new contributors:
- Alexander Lindsay
- Andrew Myers
- Austin Gilbert
- Avik Laha
- Ben Keller
- Benjamin Thompson
- Bili Dong
- Britton Smith
- Cameron Hummels
- Chang-Goo Kim
- Corentin Cadiou
- David Hannasch
- Enrico Garaldi
- Fabian Koller
- Hilary Egan
- Hsi-Yu Schive
- Hugo Pfister
- Jared Coughlin
- Jill Naiman
- John McCann
- John Regan
- John Wise
- John ZuHone
- Jonah Miller
- Joseph Smidt
- Kacper Kowalik
- Kausik Venkat
- Marianne Corvellec
- Mark Richardson
- Matthew Krafczyk
- Matthew Turk
- Michael Zingale
- Nathan Goldbaum
- Nicholas Earl
- Rafael Ruggiero
- Rasmi Elasmar
- Robert Thompson
- Sam Skillman
- Salvatore Cielo
- Suoqing Ji
- Ting-Wai To
- Weiguang Cui
- Yi-Hao Chen
- Yinghe Lu
The bolded names indicate first-time contributors. We extend our sincere
gratitude to everyone who has contributed!
See the changelog below for a summary of new features, changes, and
For more information, including installation instructions, links to
community resources, and information on contributing to yt’s development,
please see the yt homepage at http://yt-project.org and the documentation
for yt 3.4.0 at http://yt-project.org/docs/3.4.0.
Binaries for yt 3.4.0 are available via pip and conda. If you installed via
the install script or use conda to manage your python installation, you can
update yt via:
$ conda update -c conda-forge yt
And via pip if you manage your python installation with pip:
$ pip install -U yt
As always, if you have any questions, concerns, or run into any trouble
updating please don’t hesitate to send a message to the mailing list or
stop by our Slack or IRC channel.
yt is the product of a large community of developers and users and we are
extraordinarily grateful for and proud of their contributions. Please
forward this announcement on to any interested parties.
The yt development team
Changes and New Features
- yt now supports displaying plots using the interactive matplotlib
backends. To enable this functionality call yt.toggle_interactivity().
This is currently supported at an experimental level, please let us know if
you come across issues using it. See Bitbucket PR 2294
- The yt configuration file should now be located in a location
following the XDG_CONFIG convention (usually ~/.config/yt/ytrc) rather
than the old default location (usually ~/.yt/config). You can use yt
config migrate at the bash command line to migrate your configuration
file to the new location. See Bitbucket PR 2343
- Added yt.LinePlot, a new plotting class for creating 1D plots along
lines through a dataset. See Github PR 1509
https://github.com/yt-project/yt/pull/1509 and Github PR 1440
- Added yt.define_unit to easily define new units in yt’s unit system.
See Bitbucket PR 2485
- Added yt.plot_2d, a wrapper around SlicePlot for plotting 2D datasets.
See Github PR 1476 https://github.com/yt-project/yt/pull/1476.
- We have restored support for boolean data objects. Boolean objects are
data objects that are defined in terms of boolean operations on other data
objects. See Bitbucket PR 2257
- Datasets now have a fields attribute that allows access to fields via
a python object. For example, instead of using a tuple field name
'density'), one can now use ds.fields.gas.density. See Bitbucket PR 2459
- It is now possible to create a wider variety of data objects via ds.r,
including rays, fixed resolution rays, points, and images. See Github PR
1518 https://github.com/yt-project/yt/pull/1518 and Github PR 1393
- add_field and ds.add_field must now be called with a sampling_type keyword
argument. Possible values are currently cell and particle. We have also
deprecated the particle_type keyword argument in favor of
sampling_type='cell'. For now a 'cell' sampling_type is assumed if
sampling_type is not specified but in the future sampling_type will
always need to be specified.
- Added support for the Athena++ code. See Bitbucket PR 2149
- Added support for the Enzo-p code. See Github PR 1447
https://github.com/yt-project/yt/pull/1447, Github PR 1443
https://github.com/yt-project/yt/pull/1443 and Github PR 1439
- Added support for the AMReX code. See Bitbucket PR 2530
- Added support for the openPMD output format. See Bitbucket PR 2376
- Added support for reading face-centered and vertex-centered fields for
block AMR codes. See Bitbucket PR 2575
- Added support for loading outputs from the Amiga Halo Finder. See Github
PR 1477 https://github.com/yt-project/yt/pull/1477.
- Added support for particle fields for Boxlib data. See Bitbucket PR
2510 https://bitbucket.org/yt_analysis/yt/pull-requests/2510 and Bitbucket
PR 2497 https://bitbucket.org/yt_analysis/yt/pull-requests/2497.
- Added support for custom RAMSES particle fields. See Github PR 1470
- Added support for RAMSES-RT data. See Github PR 1456
https://github.com/yt-project/yt/pull/1456 and Github PR 1449
- Added support for Enzo MHDCT fields. See Github PR 1438
- Added support for units and particle fields to the GAMER
frontend. See Bitbucket
PR 2366 https://bitbucket.org/yt_analysis/yt/pull-requests/2366
PR 2408 https://bitbucket.org/yt_analysis/yt/pull-requests/2408.
- Added support for type 2 Gadget binary outputs. See Bitbucket PR 2355
- Added the ability to detect and read double precision Gadget
data. See Bitbucket
PR 2537 https://bitbucket.org/yt_analysis/yt/pull-requests/2537.
- Added the ability to detect and read in big endian Gadget data. See Github
PR 1353 https://github.com/yt-project/yt/pull/1353.
- Added support for Nyx datasets that do not contain particles. See
PR 2571 https://bitbucket.org/yt_analysis/yt/pull-requests/2571
- A number of untested and unmaintained modules have been deprecated and
moved to the yt attic repository https://github.com/yt-project/yt_attic.
This includes the functionality for calculating two point functions, the
Sunrise exporter, the star analysis module, and the functionality for
calculating halo mass functions. If you are interested in working on
restoring the functionality in these modules, we welcome contributions.
Please contact us on the mailing list or by opening an issue on GitHub if
you have questions.
- The particle trajectories functionality has been removed from the
analysis modules API and added as a method of the DatasetSeries object.
You can now create a ParticleTrajectories object using
ts.particle_trajectories() where ts is a time series of datasets.
- The spectral_integrator analysis module is now available via
yt.fields.xray_emission_fields. See Bitbucket PR 2465
- The photon_simulator analysis module has been deprecated in favor of
the pyXSIMpackage, available separately from yt. See Bitbucket PR 2441
- yt.utilities.fits_image is now available as yt.visualization.fits_image.
In addition classes that were in the yt.utilities.fits_image namespace
are now available in the main yt namespace.
- The profile.variance attribute has been deprecated in favor of
- The number_of_particles key no longer needs to be defined when loading
data via the stream frontend. See Github PR 1428
- The install script now only supports installing via miniconda. We have
removed support for compiling python and yt’s dependencies from
source. See Github
PR 1459 https://github.com/yt-project/yt/pull/1459.
- Added plot.set_background_color for PlotWindow and PhasePlot plots.
This lets users specify a color to fill in the background of a plot instead
of the default color, white. See Bitbucket PR 2513
- PlotWindow plots can now optionally use a right-handed coordinate
system. See Bitbucket PR 2318
- The isocontour API has been overhauled to make use of units. See Bitbucket
PR 2453 https://bitbucket.org/yt_analysis/yt/pull-requests/2453.
- Dataset instances now have a checksum property, which can be accessed
via ds.checksum. This provides a unique identifier that is guaranteed to
be the same from session to session. See Bitbucket PR 2503
- Added a data_source keyword argument to OffAxisProjectionPlot.
PR 2490 https://bitbucket.org/yt_analysis/yt/pull-requests/2490.
- Added a yt download command-line helper to download test data from
more information see yt download --help at
the bash command line. See Bitbucket PR 2495
https://bitbucket.org/yt_analysis/yt/pull-requests/2495 and Bitbucket
PR 2471 https://bitbucket.org/yt_analysis/yt/pull-requests/2471.
- Added a yt upload command-line helper to upload files to the yt
curldrop https://docs.hub.yt/services.html#curldrop at the bash
command line. See Github PR 1471
- If it’s installed, colormaps from the cmocean package
http://matplotlib.org/cmocean/ will be made available as yt
See Bitbucket PR 2439
- It is now possible to visualize unstructured mesh fields defined on
multiple mesh blocks. See Bitbucket PR 2487
- Add support for second-order interpolation when slicing tetrahedral
unstructured meshes. See Bitbucket PR 2550
- Add support for volume rendering second-order tetrahedral meshes.
PR 2401 https://bitbucket.org/yt_analysis/yt/pull-requests/2401.
- Add support for QUAD9 mesh elements. See Bitbucket PR 2549
- Add support for second-order triangle mesh elements. See Bitbucket PR
- Added support for dynamical dark energy parameterizations to the
Cosmology object. See Bitbucket PR 2572
- ParticleProfile can now handle log-scaled bins and data with negative
values. See Bitbucket PR 2564
https://bitbucket.org/yt_analysis/yt/pull-requests/2564 and Github PR
- Cut region data objects can now be saved as reloadable datasets using
save_as_dataset. See Bitbucket PR 2541
- Clump objects can now be saved as reloadable datasets using
save_as_dataset. See Bitbucket PR 2326
- It is now possible to specify the field to use for the size of the
circles in the annotate_halos plot modifying function. See Bitbucket PR
- The ds.max_level attribute is now a property that is computed on
demand. The more verbose ds.index.max_level will continue to work.
PR 2461 https://bitbucket.org/yt_analysis/yt/pull-requests/2461.
- The PointSource volume rendering source now optionally accepts a
argument to draw spatially extended points. See Bitbucket PR 2404
- It is now possible to save volume rendering images in eps, ps, and pdf
format. See Github PR 1504 https://github.com/yt-project/yt/pull/1504.
Enhancements and Bugfixes