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, and bugfixes.
yt () 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.0 at.
Binaries for yt 3.4.0 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 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. - 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 like ('gas', '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 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, Github PR 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. - Added support for particle fields for Boxlib data. See Bitbucket PR 2510 and Bitbucket PR 2497. - Added support for custom RAMSES particle fields. See Github PR 1470. - Added support for RAMSES-RT data. See Github PR 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 and Bitbucket PR 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. - Added the ability to detect and read in big endian Gadget data. See Github PR 1353. - Added support for Nyx datasets that do not contain particles. See Bitbucket PR 2571 - A number of untested and unmaintained modules have been deprecated and moved to the yt attic repository. 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 profile.standard_deviation. - 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. - 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. - 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. See Bitbucket PR 2490. - Added a yt download command-line helper to download test data from. For more information see yt download --help at the bash command line. See Bitbucket PR 2495 and Bitbucket PR 2471. - Added a yt upload command-line helper to upload files to the yt curldrop at the bash command line. See Github PR 1471. - If it’s installed, colormaps from the cmocean package will be made available as yt colormaps. 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. See Bitbucket PR 2401. - Add support for QUAD9 mesh elements. See Bitbucket PR 2549. - Add support for second-order triangle mesh elements. See Bitbucket PR 2378. - 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 and Github PR 1510. - 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 2493. - 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. See Bitbucket PR 2461. - The PointSource volume rendering source now optionally accepts a radius keyword 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. Enhancements and Bugfixes
- Fixed issue selecting and visualizing data at very high AMR levels. See Github PR 1521 Github PR 1433. - Print a more descriptive error message when defining a particle filter fails with missing fields See Github PR 1517. - Removed grid edge rounding from the FLASH frontend. This fixes a number of pernicious visualization artifacts for FLASH data. See Github PR 1493. - Parallel projections no longer error if there are less io chunks than MPI tasks. See Github PR 1488. - A memory leak in the volume renderer has been fixed. See Github PR 1485 and Github PR 1435. - The force_override keyword argument now raises an error when used with on-disk fields. See Github PR 1516. - Restore support for making plots from reloaded plots. See Github PR 1514 - Don’t ever try to read inputs or probin files for Castro and Maestro. See Github PR 1445. - Fixed issue that caused visualization artifacts when creating an off-axis projection for particle or octree AMR data. See Github PR 1434. - Fix i/o for the Enzo 'Dark_Matter_Density' field. See Github PR 1360. - Create the 'particle_ones' field even if we don’t have a particle mass field. See Github PR 1424. - Fixed issues with minor colorbar ticks with symlog colorbar scaling. See Github PR 1423. - Using the rockstar halo finder is now supported under Python3. See Github PR 1414. - Fixed issues with orientations of volume renderings when compositing multiple sources. See Github PR 1411. - Added a check for valid AMR structure in load_amr_grids. See Github PR 1408. - Fix bug in handling of periodic boundary conditions in the annotate_halos plot modifying function. See Github PR 1351. - Add support for plots with non-unit aspect ratios to the annotate_scale plot modifying function. See Bitbucket PR 2551. - Fixed issue with saving light ray datasets. See Bitbucket PR 2589. - Added support for 2D WarpX data. ee Bitbucket PR 2583. - Ensure the particle_radius field is always accessed with the correct field type. See Bitbucket PR 2562. - It is now possible to use a covering grid to access particle filter fields. See Bitbucket PR 2569. - The x limits of a ProfilePlot will now snap exactly to the limits specified in calls to ProfilePlot.set_xlim. See Bitbucket PR 2546. - Added a cookbook example showing how to make movies using matplotlib’s animation framework. See Bitbucket PR 2544. - Use a parallel-safe wrapper around mkdir when creating new directories. See Bitbucket PR 2570. - Removed yt.utilities.spatial. This was a forked version of scipy.spatial with support for a periodic KD-tree. Scipy now has a periodic KD-tree, so we have removed the forked version from yt. Please use scipy.spatial if you were relying on yt.utilities.spatial. See Bitbucket PR 2576. - Improvements for the HaloCatalog. See Bitbucket PR 2536 and Bitbucket PR 2535. - Removed 'log' in colorbar label in annotated volume rendering. See Bitbucket PR 2548 - Fixed a crash triggered by depositing particle data onto a covering grid. See Bitbucket PR 2545. - Ensure field type guessing is deterministic on Python3. See Bitbucket PR 2559. - Removed unused yt.utilities.exodusII_reader module. See Bitbucket PR 2533. - The cell_volume field in curvilinear coordinates now uses an exact rather than an approximate definition. See Bitbucket PR 2466.