<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Enzotools Collective</title>
	<link>http://planet.enzotools.org/</link>
	<language>en</language>
	<description>Enzotools Collective - http://planet.enzotools.org/</description>

<item>
	<title>EnzoTools Blog: What's Up With yt 3.0?</title>
	<guid >http://feeds.feedburner.com/post/WhatsUpWith30.html</guid>
	<link>http://feedproxy.google.com/~r/EnzotoolsBlog/~3/UD6FaI8pSdI/WhatsUpWith30.html</link>
	<description>&lt;p&gt;This is a long blog post!  The short of it is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;If you're using Enzo or FLASH, you can probably do most of what you want to
do with 3.0.  But there are probably bugs, and you can't volume render yet.
But every bug or missing feature you find is a useful piece of information
that can help speed up development.&lt;/li&gt;
&lt;li&gt;If you're using RAMSES, 3.0 will be a vast improvement!&lt;/li&gt;
&lt;li&gt;Boxlib codes will need a small amount of updating to get working in 3.0&lt;/li&gt;
&lt;li&gt;SPH is coming!&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;As with all of yt, 3.0 is being developed completely in the open.  We're
testing using JIRA at &lt;a class=&quot;reference external&quot; href=&quot;http://yt-project.atlassian.net/&quot;&gt;http://yt-project.atlassian.net/&lt;/a&gt; for tracking progress.
The main development repository is at &lt;a class=&quot;reference external&quot; href=&quot;https://bitbucket.org/yt_analysis/yt-3.0&quot;&gt;https://bitbucket.org/yt_analysis/yt-3.0&lt;/a&gt;
and discussions have been ongoing on the yt-dev mailing list.  Down below you
can find some contributor ideas and information!&lt;/p&gt;
&lt;div class=&quot;section&quot; id=&quot;why-3-0&quot;&gt;
&lt;h3&gt;Why 3.0?&lt;/h3&gt;
&lt;p&gt;The very first pieces of yt to be written are now a bit over six years old.
When it started, it was a very simple Python wrapper around pyHDF, designed to
make slices, then export those slices to ASCII where they were plotted by a
plotting package called HippoDraw.  It grew a bit to include projections and
sphere selection over the course of a few months, and eventually became the
community project it is today.&lt;/p&gt;
&lt;p&gt;But, despite those initial steps being a relatively long time ago, there are
still many vestiges in yt.  For instance, the output of &lt;tt class=&quot;docutils literal&quot;&gt;print_stats&lt;/tt&gt; on an
AMR hierarchy object is largely unchanged since that time.&lt;/p&gt;
&lt;p&gt;Most importantly, however, is that yt needs to continue to adapt to best serve
analysis and visualization needs in the community.  To do that, yt 3.0 has been
conceived as a project to rethink some of the basic assumptions and principles
in yt.  In doing so, we will be able to support new codes of different types,
larger datasets, and most importantly enable us to grow the community of users
and developers.  In many ways, the developments in yt 3.0 will serve to clarify
and simply the code base, but without sacrificing speed or memory.  By changing
the version number from 2.X to 3.0, we also send the signal that things may not
work the same way -- and in fact, there may be API incompatibilities along the
way.  But they won't be changed without need, and we're trying to reduce
disruption as much as possible.&lt;/p&gt;
&lt;p&gt;yt 3.0 is designed to allow support for non-cartesian coordinates, non-grid
data (SPH, unstructured mesh), and to remove many of the &amp;quot;Enzo-isms&amp;quot; that
populate the code base.  This brings with it a lot of work, but also a lot of
opportunity.&lt;/p&gt;
&lt;p&gt;If you have ideas, concerns or comments, email yt-dev!&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;what-s-going-in-to-3-0&quot;&gt;
&lt;h3&gt;What's Going In To 3.0?&lt;/h3&gt;
&lt;p&gt;We've slated a large number of items to be put into 3.0, as well as a large
number of system rewrites.  By approaching this piecemeal, we hope to address
one feature or system at a time so that the code can remain in a usable state.&lt;/p&gt;
&lt;div class=&quot;section&quot; id=&quot;geometry-selection&quot;&gt;
&lt;h4&gt;Geometry selection&lt;/h4&gt;
&lt;p&gt;In the 2.X series, all geometric selection (spheres, regions, disks) is
conducted by looking first at grids, then points, and choosing which items go
in.  This also involves a large amount of numpy array concatenation, which
isn't terribly good for memory.&lt;/p&gt;
&lt;p&gt;The geometry selection routines have all been rewritten in Cython.  Each
geometric selection routine implements a selection method for grids and points.
This allows non-grid based codes (such as particle-only codes) to use the same
routines without a speed penalty.  These routines all live inside
&lt;tt class=&quot;docutils literal&quot;&gt;yt/geometry/selection_routines.pyx&lt;/tt&gt;, and adding a new routine is relatively
straightforward.&lt;/p&gt;
&lt;p&gt;The other main change with how geometry is handled is that data objects no
longer know how the data is laid out on disk or in memory.  In the past, data
objects all had a &lt;tt class=&quot;docutils literal&quot;&gt;_grids&lt;/tt&gt; attribute.  But, in 3.0, this can no longer be
relied upon -- because we don't want all the data formats to &lt;em&gt;have&lt;/em&gt; grids!
Data is now laid out in format-neutral &amp;quot;chunks,&amp;quot; which are designed to support
selection based on spatial locality, IO convenience, or another arbitrary
method.  This allows the new &lt;tt class=&quot;docutils literal&quot;&gt;GeometryHandler&lt;/tt&gt; class to define how data
should be read in off disk, and it reduces the burden on the data objects to
understand how to best access data.&lt;/p&gt;
&lt;p&gt;For instance, the &lt;tt class=&quot;docutils literal&quot;&gt;GridGeometryHandler&lt;/tt&gt; understands how to batch grid IO for
best performance and how to feed that to the code-specific IO handler to
request fields.  This new method allows data objects to specifically request
particular fields, understand which fields are being generated, and most
importantly not need to know anything about how data is being read off disk.&lt;/p&gt;
&lt;p&gt;It also allows dependencies for derived fields to be calculated before any IO
is read off disk.  Presently, if the field &lt;tt class=&quot;docutils literal&quot;&gt;VelocityMagnitude&lt;/tt&gt; is requested
of a data object, the data object will read the three fields &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;x-velocity&lt;/span&gt;&lt;/tt&gt;,
&lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;y-velocity&lt;/span&gt;&lt;/tt&gt; and &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;z-velocity&lt;/span&gt;&lt;/tt&gt; (or their frontend-specific aliases -- see
below for discussion of &amp;quot;Enzo-isms&amp;quot;) independently.  The new system allows
these to be read in bulk, which cuts by a third the number of trips to the
disk, and potentially reduces the cost of generating the field considerably.&lt;/p&gt;
&lt;p&gt;Finally, it allows data objects to expose different chunking mechanisms, which
simplifies parallelism and allows parallel analysis to respect a single,
unified interface.&lt;/p&gt;
&lt;p&gt;Geometry selection is probably the biggest change in 3.0, and the one that will
enable yt to read particle codes in the same way it reads grid codes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;removing-enzo-isms&quot;&gt;
&lt;h4&gt;Removing Enzo-isms&lt;/h4&gt;
&lt;p&gt;yt was originally designed to read Enzo data.  It wasn't until Jeff Oishi
joined the project that we thought about expanding it beyond Enzo, to the code
Orion, and at the time it was decided that we'd alias fields and parameters
from Orion to the corresponding field names and parameters in Enzo.  The Orion
fields and parameters would still be available, but the &lt;em&gt;canonical&lt;/em&gt; mechanism
for referring to them from the perspective of derived fields would be the Enzo
notation.&lt;/p&gt;
&lt;p&gt;When we developed yt 2.0, we worked hard to remove many of the Enzo-isms from
the parameter part of the system: instead of accessing items like
&lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;pf[&amp;quot;HubbleConstantNow&amp;quot;]&lt;/span&gt;&lt;/tt&gt; (a clear Enzo-ism, with the problem that it's also
not tab completable) we changed to accessing explicitly accessing
&lt;tt class=&quot;docutils literal&quot;&gt;pf.hubble_constant&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;But the fields were still Enzo-isms: &lt;tt class=&quot;docutils literal&quot;&gt;Density&lt;/tt&gt;, &lt;tt class=&quot;docutils literal&quot;&gt;Temperature&lt;/tt&gt;, etc.  For
3.0, we decided this will change.  The standard for fields used in &lt;tt class=&quot;docutils literal&quot;&gt;yt&lt;/tt&gt; is
still under discussion, but we are moving towards following PEP-8 like
standards, with lowercase and underscores, and going with explicit field names
over implicit field names.  Enzo fields will be translated to this (but of
course still accessible in the old way) and all derived fields will use this
naming scheme.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;non-cartesian-coordinates&quot;&gt;
&lt;h4&gt;Non-Cartesian Coordinates&lt;/h4&gt;
&lt;p&gt;From its inception, yt has only supported cartesian coordinates explicitly.
There are surprisingly few places that this becomes directly important: the
volume traversal, a few fields that describe field volumes, and the pixelizer
routines.&lt;/p&gt;
&lt;p&gt;Thanks to hard work by Anthony Scopatz and John ZuHone, we have now abstracted
out most of these items.  This work is still ongoing, but we have implemented a
few of the basic items necessary to provide full support for cylindrical, polar
and spherical coordinates.  Below is a slice through a polar disk simulation,
rendered with yt.&lt;/p&gt;
&lt;img alt=&quot;http://blog.yt-project.org/attachments/cylindrical_pixelizer.png&quot; src=&quot;http://blog.yt-project.org/attachments/cylindrical_pixelizer.png&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;unit-handling-and-parameter-access&quot;&gt;
&lt;h4&gt;Unit Handling and Parameter Access&lt;/h4&gt;
&lt;p&gt;Units in yt have always been in cgs, but we would like to make it easier to
convert fields and lengths.  The first step in this direction is to use Casey
Stark's project dimensionful (
&lt;a class=&quot;reference external&quot; href=&quot;http://caseywstark.com/blog/2012/code-release-dimensionful/&quot;&gt;http://caseywstark.com/blog/2012/code-release-dimensionful/&lt;/a&gt; ).  This project is
ambitious and uses the package SymPy ( &lt;a class=&quot;reference external&quot; href=&quot;http://sympy.org&quot;&gt;http://sympy.org&lt;/a&gt; ) for manipulating
symbols and units, and it seems ideal for our use case.  Fields will now carry
with them units, and we will ensure that they are correctly propagated.&lt;/p&gt;
&lt;p&gt;Related to this is how to access parameters.  In the past, parameter files
(&lt;tt class=&quot;docutils literal&quot;&gt;pf&lt;/tt&gt;) have been overloaded to provide dict-like access to parameters.  This
was degenerate with accessing units and conversion factors.  In 3.0, you will
need to explicitly access &lt;tt class=&quot;docutils literal&quot;&gt;pf.parameters&lt;/tt&gt; to access them.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;multi-fluid-and-multi-particle-support&quot;&gt;
&lt;h4&gt;Multi-Fluid and Multi-Particle Support&lt;/h4&gt;
&lt;p&gt;In yt 3.0, we want to be able to support simulations with separate populations
of fluids and particles.  As an example, in many cosmology simulations, both
dark matter and stars are simulated.  As it stands in yt 2.X, separating the
two for analysis requires selecting the entire set of all particles and
discarding those particles not part of the population of interest.  Some
simulation codes allow for subselecting particles in advance, but the means
of addressing different particle types was never clear.  For instance, it's not
ideal to create new derived fields for each type of particle -- we want to re-use
derived field definitions between particle types.&lt;/p&gt;
&lt;p&gt;Some codes, such as Piernik (the code Kacper Kowalik, one of the yt developers,
uses) also have support for multiple fluids.  There's currently no clear way to
address different types of fluid, and this suffers from the same issue the
particles do.&lt;/p&gt;
&lt;p&gt;In 3.0, fields are now specified by two characteristics, both of which have a
default, which means you don't have to change anything if you don't have a
multi-fluid or multi-particle simulation.  But if you do, you can now access
particles and fluids like this:&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
sp = pf.h.sphere(&amp;quot;max&amp;quot;, (10.0, 'kpc'))
total_star_mass = sp[&amp;quot;Star&amp;quot;, &amp;quot;ParticleMassMsun&amp;quot;].sum()
&lt;/pre&gt;
&lt;p&gt;Furthermore, these field definitions can be accessed anywhere that allows a
field definition:&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
sp = pf.h.sphere(&amp;quot;max&amp;quot;, (10.0, 'kpc'))
total_star_mass = sp.quantities[&amp;quot;TotalQuantity&amp;quot;]((&amp;quot;Star&amp;quot;, &amp;quot;ParticleMassMsun&amp;quot;))
&lt;/pre&gt;
&lt;p&gt;For codes that do allow easy subselection (like the sometime-in-the-future Enzo
3.0) this will also insert the selection of particle types directly in the IO
frontend, preventing unnecessary reads or allocations of memory.&lt;/p&gt;
&lt;p&gt;By using multiple fluids directly, we can define fields for angular momentum,
mass and so on only once, but apply them to different fluids and particle
types.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;supporting-sph-and-octree-directly&quot;&gt;
&lt;h4&gt;Supporting SPH and Octree Directly&lt;/h4&gt;
&lt;p&gt;One of the primary goals that this has all been designed around is supporting
non-grid codes natively.  This means reading Octree data directly, without the
costly step of regridding it, as is done in 2.X.  Octree data will be regarded
as Octrees, rather than patches with cells in them.  This can be seen in the
RAMSES frontend and the &lt;tt class=&quot;docutils literal&quot;&gt;yt/geometry/oct_container.pyx&lt;/tt&gt; file, where the
support for querying and manipulating Octrees can be found.&lt;/p&gt;
&lt;p&gt;A similar approach is being taken with SPH data.  However, as many of the core
yt developers are not SPH simulators, we have enlisted people from the SPH
community for help in this.  We have implemented particle selection code (using
Octrees for lookups) and are already able to perform limited quantitative
analysis on those particles, but the next phase of using information about the
spatial extent of particles is still to come.  This is an exciting area, and
one that requires careful thought and development.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;how-far-along-is-it&quot;&gt;
&lt;h3&gt;How Far Along Is It?&lt;/h3&gt;
&lt;p&gt;Many of the items above are still in their infancy.  However, several are
already working.  As it stands, RAMSES can be read and analyzed directly, but
not volume rendered.  The basics of reading SPH particles and quickly accessing
them are done, but they are not yet able to be regarded as a fluid with spatial
extent or visualized in a spatial manner.  Geometry selection is largely done
with the exception of boolean objects and covering grids.  Units are still in
their infancy, but the removal of Enzo-isms has begun.  Finally, non-cartesian
coordinates are somewhat but not completely functional; FLASH cylindrical
datasets should be available, but they require some work to properly analyze
still.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;why-would-i-want-to-use-it&quot;&gt;
&lt;h3&gt;Why Would I Want To Use It?&lt;/h3&gt;
&lt;p&gt;The best part of many of these changes is that they're under the hood.  But
they also provide for cleaner scripts and a reduction in the effort to get
started.  And many of these improvements carry with them substantial speedups.&lt;/p&gt;
&lt;p&gt;For example, reading a large data region off disk from an Enzo dataset is now
nearly 50% faster than in 2.X, and the memory overhead is considerably lower
(as we get rid of many intermediate allocations.)  Using yt to analyze Octree
data such as RAMSES and NMSU-ART is much more straightforward, and it requires
no costly regridding step.&lt;/p&gt;
&lt;p&gt;Perhaps the best reason to want to move to 3.0 is that it's going to be the
primary line of development.  Eventually 2.X will be retired, and hopefully the
support of Octree and SPH code will help grow the community and bring new ideas
and insight.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;how-can-i-help&quot;&gt;
&lt;h3&gt;How Can I Help?&lt;/h3&gt;
&lt;p&gt;The first thing you can do is try it out!  If you clone it from
&lt;a class=&quot;reference external&quot; href=&quot;http://bitbucket.org/yt_analysis/yt-3.0&quot;&gt;http://bitbucket.org/yt_analysis/yt-3.0&lt;/a&gt; you can build it and test it.  Many
operations on patch based AMR will work (in fact, we run the testing suite on
3.0, and as of right now only covering grid tests fail) and you can also load
up RAMSES data and project, slice, and analyze it.&lt;/p&gt;
&lt;p&gt;If you run into any problems, please report them to either yt-users or yt-dev!
And if you want to contribute, whether that be in the form of brainstorming,
telling us your ideas about how to do things, or even contributing code and
effort, please stop by either the #yt channel on chat.freenode.org or yt-dev,
where we can start a conversation about how to proceed.&lt;/p&gt;
&lt;p&gt;Thanks for making it all the way down -- 3.0 is the future of yt, and I hope to
continue sharing new developments and status reports.&lt;/p&gt;
&lt;/div&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/EnzotoolsBlog/~4/UD6FaI8pSdI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 15 Nov 2012 21:05:33 +0000</pubDate>
	<author>matthewturk@gmail.com (Matthew Turk)</author>
</item>
<item>
	<title>EnzoTools Blog: Our New Blog</title>
	<guid >http://feeds.feedburner.com/post/ForkBlogging.html</guid>
	<link>http://feedproxy.google.com/~r/EnzotoolsBlog/~3/ZommPJ9cDnY/ForkBlogging.html</link>
	<description>&lt;p&gt;Hi everyone!  Welcome to the new yt Project blog.  We've gotten rid of the old
Posterous-based blog in favor of making it easier to include code, entries from
anybody in the community, and to overall make it easier and clearer how to
contribute.&lt;/p&gt;
&lt;p&gt;So, to that end, we've moved to using a combination of pretty cool technologies
to make it easy to blog and have your entry added to the blog.&lt;/p&gt;
&lt;p&gt;For the blogging itself, we use &lt;a class=&quot;reference external&quot; href=&quot;http://blohg.org&quot;&gt;Blohg&lt;/a&gt;, which is a
mercurial-backed system.  So all the blog entries are stored in a mercurial
repository, on BitBucket (&lt;a class=&quot;reference external&quot; href=&quot;http://bitbucket.org/yt_analysis/blog&quot;&gt;yt_analysis/blog&lt;/a&gt;) and instead of being in HTML or
something, they're written in ReStructured Text (ReST) -- which is the same
format that the yt docstrings and documentation are all written in.  We're
standardizing on ReST, which means to contribute to any of yt, you only have
to learn one way to format your text.  (Plus, ReST is &lt;a class=&quot;reference external&quot; href=&quot;http://docutils.sourceforge.net/docs/user/rst/quickstart.html&quot;&gt;super easy&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;To add a new entry, you just have to &lt;a class=&quot;reference external&quot; href=&quot;http://bitbucket.org/yt_analysis/blog/fork&quot;&gt;fork&lt;/a&gt; the blog repository and then
issue a Pull Request.  You can add the entry by creating a new file in the
directory &lt;cite&gt;content/post&lt;/cite&gt;, and it'll automatically show up with your name and
the time you added it.  Once your pull request is accepted, the blog will be
&lt;em&gt;automatically&lt;/em&gt; rebuilt and uploaded to the blog site (thanks to &lt;a class=&quot;reference external&quot; href=&quot;http://shiningpanda-ci.com&quot;&gt;Shining Panda&lt;/a&gt;, which we use for our testing suite -- more on
that later!) which lives inside Amazon's cloud.&lt;/p&gt;
&lt;p&gt;But the best part is that this is all hidden behind the scenes.  For all
intents and purposes, you just need to add your text, issue a pull request, and
it'll show up in a few minutes.&lt;/p&gt;
&lt;p&gt;But here's the best part -- by converting to this system, we've also made it
easy to include code samples using the &lt;a class=&quot;reference external&quot; href=&quot;http://ipython.org&quot;&gt;IPython Notebook&lt;/a&gt;.  A bunch of the yt developers have started using the
IPython notebook for basically everything -- analysis, teaching, sharing
snippets -- and we want to keep using it for everything.  (If you take a look
over at &lt;a class=&quot;reference external&quot; href=&quot;https://hub.yt-project.org/&quot;&gt;https://hub.yt-project.org/&lt;/a&gt; you can see that we've started uploading
Notebooks to the yt Data Hub, which then get displayed by the amazing NBViewer
project by the IPython developers.)  So, we made it easy to include a notebook
here in the blog.&lt;/p&gt;
&lt;p&gt;To include the notebook, you'll first need a copy of the NBConvert repository,
which will also need to be in your &lt;tt class=&quot;docutils literal&quot;&gt;PYTHONPATH&lt;/tt&gt;.  You may also need to
install the &amp;quot;pandoc&amp;quot; project, but that's usually included in most Linux
distributions and can be gotten with MacPorts.  Once you've added that, just cd
to the blohg directory and run::&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
python2.7 blohg_converter.py /path/to/your/notebook.ipynb
&lt;/pre&gt;
&lt;p&gt;This will grab all the images and put them in the right directories inside the
blog repository, add a new &lt;tt class=&quot;docutils literal&quot;&gt;.rst&lt;/tt&gt; file, and then you're set to go.  Just run
&lt;tt class=&quot;docutils literal&quot;&gt;hg ci &lt;span class=&quot;pre&quot;&gt;-A&lt;/span&gt;&lt;/tt&gt; and you're good to go!&lt;/p&gt;
&lt;p&gt;Because this blog is a bit new, we're still working through some kinks.
Already as I've made a couple changes, the RSS feed has marked itself as
completely updated; this is an error, so I'm trying to figure out what's going
on and fix it up.  So I apologize in advance if any other minor glitches happen
along the way!&lt;/p&gt;
&lt;p&gt;With this change in the blogging system, I think we've lowered the barrier to
sharing with the community changes in yt, new features, and even showing old
features using the Notebook.  I'm really optimistic&lt;/p&gt;
&lt;p&gt;And if you have something you would like to share -- a new paper you've
written, something cool you've done (even if not in yt!) or anything else, go
ahead and &lt;a class=&quot;reference external&quot; href=&quot;http://bitbucket.org/yt_analysis/blog/fork&quot;&gt;fork&lt;/a&gt; the repository and
write up a blog post -- everything you need comes in the box!&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/EnzotoolsBlog/~4/ZommPJ9cDnY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 04 Nov 2012 22:09:04 +0000</pubDate>
	<author>matthewturk@gmail.com (Matthew Turk)</author>
</item>
<item>
	<title>EnzoTools Blog: Simple Grid Refinement.ipynb</title>
	<guid >http://feeds.feedburner.com/post/Simple_Grid_Refinement.html</guid>
	<link>http://feedproxy.google.com/~r/EnzotoolsBlog/~3/9WK6k1A_TwA/Simple_Grid_Refinement.html</link>
	<description>&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://hub.yt-project.org/go/65ik8c&quot;&gt;Notebook Download&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;section&quot; id=&quot;grid-refinement&quot;&gt;
&lt;h3&gt;Grid refinement&lt;/h3&gt;
&lt;p&gt;In yt, you can now generate very simple initial conditions:&lt;/p&gt;
&lt;p&gt;In[1]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;yt.mods&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;yt.frontends.stream.api&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;load_uniform_grid&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;yt.frontends.gdf.api&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;yt.utilities.grid_data_format.writer&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;write_to_gdf&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;DataModifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;pass&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;TophatSphere&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataModifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fields&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;radius&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fields&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fields&lt;/span&gt;
        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;radius&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;radius&lt;/span&gt;
        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;center&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;apply&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;container&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'x'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;
         &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;   &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'y'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;
         &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;   &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'z'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;field&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fields&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;field&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;r&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;radius&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fields&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;field&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;na&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;random&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;random&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;ug&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;load_uniform_grid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'Density'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;256&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
yt : [INFO     ] 2012-10-30 18:11:48,715 Loading plugins from /home/mturk/.yt/my_plugins.py
yt : [INFO     ] 2012-10-30 18:11:49,025 Parameters: current_time              = 0.0
yt : [INFO     ] 2012-10-30 18:11:49,026 Parameters: domain_dimensions         = [256 256 256]
yt : [INFO     ] 2012-10-30 18:11:49,026 Parameters: domain_left_edge          = [ 0.  0.  0.]
yt : [INFO     ] 2012-10-30 18:11:49,027 Parameters: domain_right_edge         = [ 1.  1.  1.]
yt : [INFO     ] 2012-10-30 18:11:49,028 Parameters: cosmological_simulation   = 0.0
yt : [INFO     ] 2012-10-30 18:11:49,028 Parameters: current_time              = 0.0
yt : [INFO     ] 2012-10-30 18:11:49,028 Parameters: domain_dimensions         = [256 256 256]
yt : [INFO     ] 2012-10-30 18:11:49,029 Parameters: domain_left_edge          = [ 0.  0.  0.]
yt : [INFO     ] 2012-10-30 18:11:49,029 Parameters: domain_right_edge         = [ 1.  1.  1.]
yt : [INFO     ] 2012-10-30 18:11:49,030 Parameters: cosmological_simulation   = 0.0
&lt;/pre&gt;
&lt;p&gt;In[2]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;spheres&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;spheres&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TophatSphere&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;Density&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;spheres&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TophatSphere&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;Density&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;20.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.05&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.75&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sp&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;spheres&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sp&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;apply&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ug&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;grids&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ug&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
yt : [INFO     ] 2012-10-30 18:11:49,035 Adding Density to list of fields
&lt;/pre&gt;
&lt;p&gt;In[3]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ProjectionPlot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ug&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;x&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;Density&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
Initializing tree  0 /  0  0% |                               | ETA:  --:--:--
Initializing tree  0 /  0100% ||||||||||||||||||||||||||||||||| Time: 00:00:00
Projecting  level  0 /  0   0% |                              | ETA:  --:--:--
Projecting  level  0 /  0 100% |||||||||||||||||||||||||||||||| Time: 00:00:01
yt : [INFO     ] 2012-10-30 18:11:53,889 Projection completed
yt : [INFO     ] 2012-10-30 18:11:53,894 xlim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:53,894 ylim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:53,895 Making a fixed resolution buffer of (Density) 800 by 800
yt : [INFO     ] 2012-10-30 18:11:53,914 xlim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:53,915 ylim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:53,915 Making a fixed resolution buffer of (Density) 800 by 800
yt : [INFO     ] 2012-10-30 18:11:53,934 Making a fixed resolution buffer of (Density) 800 by 800
&lt;/pre&gt;
&lt;img alt=&quot;http://blog.yt-project.org/attachments/Simple_Grid_Refinement_files/Simple_Grid_Refinement_fig_00.png&quot; src=&quot;http://blog.yt-project.org/attachments/Simple_Grid_Refinement_files/Simple_Grid_Refinement_fig_00.png&quot; /&gt;
&lt;p&gt;We can even save them out to disk!&lt;/p&gt;
&lt;p&gt;In[4]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;err&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;home&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mturk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;gdf&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In[5]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;write_to_gdf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ug&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;/home/mturk/test.gdf&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In[6]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;pf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;GDFStaticOutput&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;/home/mturk/test.gdf&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
yt : [INFO     ] 2012-10-30 18:11:56,370 Parameters: current_time              = 0.0
yt : [INFO     ] 2012-10-30 18:11:56,371 Parameters: domain_dimensions         = [256 256 256]
yt : [INFO     ] 2012-10-30 18:11:56,371 Parameters: domain_left_edge          = [ 0.  0.  0.]
yt : [INFO     ] 2012-10-30 18:11:56,372 Parameters: domain_right_edge         = [ 1.  1.  1.]
yt : [INFO     ] 2012-10-30 18:11:56,373 Parameters: cosmological_simulation   = 0.0
&lt;/pre&gt;
&lt;p&gt;In[7]:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ProjectionPlot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;x&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;Density&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;p2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
Initializing tree  0 /  0  0% |                               | ETA:  --:--:--
Initializing tree  0 /  0100% ||||||||||||||||||||||||||||||||| Time: 00:00:00
Projecting  level  0 /  0   0% |                              | ETA:  --:--:--
Projecting  level  0 /  0 100% |||||||||||||||||||||||||||||||| Time: 00:00:01
yt : [INFO     ] 2012-10-30 18:11:57,908 Projection completed
yt : [INFO     ] 2012-10-30 18:11:57,914 xlim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:57,914 ylim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:57,915 Making a fixed resolution buffer of (Density) 800 by 800
yt : [INFO     ] 2012-10-30 18:11:57,934 xlim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:57,935 ylim = 0.000000 1.000000
yt : [INFO     ] 2012-10-30 18:11:57,935 Making a fixed resolution buffer of (Density) 800 by 800
yt : [INFO     ] 2012-10-30 18:11:57,954 Making a fixed resolution buffer of (Density) 800 by 800
&lt;/pre&gt;
&lt;img alt=&quot;http://blog.yt-project.org/attachments/Simple_Grid_Refinement_files/Simple_Grid_Refinement_fig_01.png&quot; src=&quot;http://blog.yt-project.org/attachments/Simple_Grid_Refinement_files/Simple_Grid_Refinement_fig_01.png&quot; /&gt;
&lt;p&gt;Over time, this functionality will expand to include cell-flagging,
refinement, and much more interesting modifications to grid values.&lt;/p&gt;
&lt;/div&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/EnzotoolsBlog/~4/9WK6k1A_TwA&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 30 Oct 2012 22:16:54 +0000</pubDate>
	<author>matthewturk@gmail.com (Matthew Turk)</author>
</item>

</channel>
</rss>
