A useful new addition to yt are boolean data containers. These are hybrid data containers that are built by relating already-defined data containers with each other using boolean operators. Nested boolean logic, using parentheses, is also supported. The boolean data container (or volume) is made by constructing a list of volumes interspersed with operators given as strings. Below are some examples of what can be done with boolean data containers.
yt now has a Google Plus page. Here’s we’ll post smaller, less blog-worthy items, hold video conferencing ‘hangouts’, and so on. Encircle away! And if you post something you’d like to be reshared, just be sure to explicitly share it with ‘+yt’ so we know.
A few of us worked this past week on a couple yt projects and made what we think is significant progress. Two of the items we focused on were testing and parallelism.
For testing, we’ve broadened the test suite to include many more functions and derived quantities. We now have 548 tests that include (off and on-axis) slices, (off and on- axis) projections, phase distributions, halo finding, volume rendering, and geometrical region cuts such as rectangular solids, spheres, and disks.
I’m pleased to announce the 2012 yt Workshop at the FLASH Center in Chicago, January 24-26.
The workshop will be aimed at both users and developers of yt. We will begin with intensive user training, moving from basic usage to advanced and parallel usage. Users are encouraged to bring their ideas and prototypes for new analysis routines as there will be opportunities to work with more experienced developers. We will then address to how to modify, extend and contribute to yt, and transition to a developers workshop.
A few of the yt developers have been experimenting with screencasts to show off new features or demonstrate how to do some things. Sam and I have both prepared screencasts on volume rendering and getting started with developing, respectively. Check them out below, and please feel free to leave comments and let us know what you think – not just about the screencasts, but about what they demonstrate, and if you think any of the concepts or routines could be made easier.
In this post I’d like to discuss a bit of work in progress to highlight some exciting new features that we hope to have working in yt sometime soon.
On any machine that runs yt, there is a file created in the users home directory named ~/.yt/parameter_files.csv that yt uses internally to keep track of datasets it has seen. This is just a simple text file containing comma-separated entries with a few pieces of information about datasets, like their location on disk and the last date and time they were ‘seen’ by yt.
This last week, following the release of version 2.2 of yt, I spent a bit of time looking at speed improvements. There were several places that the code was unacceptably slow:
1D profiles (as noted in our method paper, even) Ghost-zone generation RAMSES grid data loading The first of these was relatively easy to fix. In the past, 1D profiles (unlike 2D profiles) were calculated using pure-python mechanisms; numpy was used for digitization, then inverse binning was conducted by the numpy ‘where’ command, and these binnings were used to generate the overall histogram.
(Please feel encouraged to forward this message to any other interested parties.)
We are proud to announce the release of yt version 2.2. This release includes several new features, bug fixes, and numerous improvements to the code base and documentation. At the new yt homepage, http://yt-project.org/ , an installation script, a cookbook, documentation and a guide to getting involved can be found. We are particularly proud of the new GUI, entitled “Reason,” which allows real-time exploration of datasets, and which can be used (locally or remotely over SSH) with no dependencies other than a web browser.
In keeping with the project rename we’ve moved this blog from it’s old home at blog.enzotools.org to its new home at blog.yt-project.org. But, we’ve put in a few redirects, and the RSS feed hasn’t moved, so you shouldn’t need to do anything different to get here. We’ve also enabled anonymous commenting, so feel free to comment below. (But, of course, letting us know who you are would certainly help with keeping in touch!
I am very excited to announce the yt Hub: http://hub.yt-project.org/.
The yt Hub is a gathering place for all things related to running, analyzing, and presenting astrophysical simulations. Once upon a time, we had the Enzotools Barn, which was a place to share Enzo scripts unrelated to yt, including hosting of those scripts. The Barn was a minor success, but had a very limited scope and a somewhat clunky user experience.
This is just a brief blog entry – other news is on the way soon! – to let everyone know we’ve updated our domains. In keeping with the change in focus of the yt project, expanding to work with multiple codes and take broader views of analysis and visualization, we have moved from enzotools.org to yt-project.org. Some other exciting changes will be coming from this in the future, too!
For more info, see the mailing list announcement.
Jorge posted this video of using yt inside ParaView. It demonstrated multi-res slices, projections, and even volume rendering with an adjustable transfer function. I think it’s pretty incredible. Thanks very much to Jorge and Kitware for their hard work, and it’ll be exciting to see where it goes from here!
In case you haven’t visited our front page lately, the yt homepage has been redesigned! The old homepage was nice and functional, but it tried to cram too much into too small a place. The new homepage focuses on the three main questions people have when they go to the yt page: ‘How do I get it?’, ‘How do I use it?’, and ‘How do I participate?’
The new page is focused on some concrete examples, some quantitative analysis, and features a heavy dosage of the yt community – in fact, the redesign came about through a conversation in IRC, where a few of the core developers were speculating about how best to convey how to participate and how strong a community yt has.
Thanks to some awesome work by developers at Kitware, yt can now be called from within ParaView!
This relies on a couple things, all of which are pretty exciting moving forward. The idea behind this is to leverage where the two codes have their own strengths and weaknesses, and identify places where they can work productively together. For instance, yt has been designed to provide astrophysical analysis; in this way, it can generate adaptive projections, spectral energy distributions and so on.
A couple of us have been working on a comprehensive notebook web GUI for yt. It’s not ready yet.
BUT! In advance of that, we’ve rolled a portion of that into something called the ‘mapserver’ into the development branch. This is a small, standalone webapp that implements a rendered-on-the-fly google maps interface in yt. To run it, just go into a directory that has some data, and run:
yt mapserver DD0054/DD0054 (where ‘DD0054/DD0054’ is the same thing you’d feed to ‘load’ in a script.
It’s been a while since the last Development post — but in that time, some pretty fun things have been going on. These are some of the smaller things, but there are bigger things in store which I’ll write about next time.
QuadTree Projections For a while, there has been the option to use a QuadTree data structure to conduct projections through a simulation volume. This was accessible through the quad_proj attribute, which respected the same interface as the normal proj interface.
yt is in need of an awesome new logo, which is why we are announcing the first ever new logo contest! So here’s the deal:
We’ll accept entries for the next two weeks. Let’s arbitrarily say Tuesday, May 10th, at 11:59:59 pm EST. If there is more than one entry, we will put it up for a community vote at that time.
Oh, and the most important part – the winner will get a coffee mug with their new logo front and center!
We are proud to announce the release of yt version 2.1. This release includes several new features, bug fixes, and numerous improvements to the code base and documentation. At the yt homepage, http://yt.enzotools.org/ , an installation script, a cookbook, documentation and a guide to getting involved can be found.
yt is an analysis and visualization toolkit for Adaptive Mesh Refinement data. yt provides full support for Enzo, Orion, and FLASH codes, with preliminary support for RAMSES, ART, Chombo, CASTRO and MAESTRO codes.
It’s been nearly a month since the last yt development post; in that time, there’s been quite a bit of development in a couple different areas. This is culminating in a 2.1 release, for which Sam Skillman is release manager, sometime in the next few days.
Streamlines and Treecode SamS has spent some time over the last month developing two types of streamline code. The first integrates a series of streamlines over a selection of the domain, which can then be visualizing using the mplot3d package.
This last week was the first full week on BitBucket and so far I think it has been quite successful. The new development process is for most of the core developers to maintain personal forks for experimental changes, or longer term changes, and then to commit directly or merge when bug fixes or features are ready to be integrated. The list of forks is easily visible and each individual fork’s divergence from the primary repository can be viewed by clicking on the green arrows.
The major changes this week came mostly in the form of administrative shifts. However, SamS did some great work I’m going to hint at (he’ll post a blog entry later) and I started laying the ground work for something I’ve been excited about for a while, an MPI-aware task queue.
BitBucket For the last couple months, yt has been struggling under the constraints of the hg server on its hosting plan.
In response to Matt’s post <http://blog.enzotools.org/yt-development-healpix- and-contour-tree> on the HEALpix rendering update, I thought it would be worth posting an example movie. This shows the all-sky rendering of an observer moving from the front face of a simulation through the volume to the back face. The test simulation is 32 Mpc/h on a side with 64^3 root grid cells and up to 4 levels of refinement. At the start it looks like a disc because the entire simulation is in front of the camera and by the end it is all around the sides, indicating the simulation is behind the camera.
This week there was not very much yt development. However, a few notes may be of interest. SamS has updated the HEALPix camera to support ordered projections; what this means is that you can now make volume renderings using a standard color transfer function, or even the Planck transfer function, that cover 4pi of the sky. I am still working on integrating a method for creating images easily, but for now the scripts from last week should work.
This week I added the ability to calculate all-sky column densities. This functionality uses HEALpix to calculate equally-area regions on the sky and then shoots out rays from a central source to some fixed radius, accumulating values of a field along the way. Although so far I’ve only used it to calculate column densities of “Density” it could be used for other values as well, including all- sky weighted averages of quantities.
As a result of progress in my scientific goals, and the application of recent yt developments to them, I did not make many changes or developments in yt this week. When I did work on yt, I primarily spent time re-organizing the documentation and fixing several errors. I have added an “installation” section, consolidated a few sections, and wrote two new sections on how to make plots and on how to generate derived data products.
yt has many extension packages to help you in your scientific workflow! Check
these out, or create your own.
ytini is set of tools and tutorials for using yt as a tool inside the 3D visual
effects software Houdini or a data pre-processor externally to Houdini.
Trident is a full-featured tool that projects arbitrary sightlines through
astrophysical hydrodynamics simulations for generating mock spectral
observations of the IGM and CGM.
pyXSIM is a Python package for simulating X-ray observations from astrophysical
Analyze merger tree data from multiple sources. It’s yt for merger trees!
yt_idv is a package for interactive volume rendering with yt!
It provides interactive visualization using OpenGL for datasets
loaded in yt. It is written to provide both scripting and interactive access.
widgyts is a jupyter widgets extension for yt,
backed by rust/webassembly to allow for browser-based, interactive exploration
of data from yt.
We welcome contributions from all members of the yt community. Feel free to
reach out if you need any help.
the yt data hub
The yt hub at https://girder.hub.yt/ has a ton of resources to check out,
whether you have yt installed or not.
The collections host all sorts of data
that can be loaded with yt. Some have been used in publications, and others are
used as sample frontend data for yt. Maybe there’s data from your simulation
The rafts host the yt quickstart notebooks,
where you can interact with yt in the browser, without needing to install it
locally. Check out some of the other rafts too, like the widgyts release
notebooks – a demo of the widgyts yt extension pacakge; or the notebooks from
the CCA workshop – a user’s workshop on using yt.