<div dir="ltr">Hey Matt,<div><br></div><div>Thanks for this update.  This doesn't really answer any of your questions, but Is there a rough (i.e. +/- 3 months) time scale for a 4.0 roll out?  And as that approaches, will there be a fork we can download and play with?  For some SPH users like myself, this would allow me to on the side work on development for public software like powderday and try to start getting it 4.0 compatible in advance.</div><div><br></div><div>-d</div><div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 23, 2017 at 4:17 PM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
There are a couple big, backwards-incompatible changes that are coming<br>
up in the future for yt.  None of these will come as a surprise, but<br>
here they are:<br>
<br>
 * The Demeshening: removing the global octree index for particle<br>
datasets and replacing with a bitmap index.  This also includes<br>
changing how particle fields are regarded, and makes the SPH<br>
implementation much cleaner and faster.<br>
 * Non-Spatial Coordinates: this one is a bit different than the title<br>
suggests.  For example, ds.domain_left_edge and ds.domain_right_edge<br>
will no longer be YTArray instances, instead they will be YTIndexArray<br>
instances. YTIndexArray differs from YTArray in that instead of having<br>
a single unit associated with it, it has a tuple of units, one for<br>
each column of the array.  This will not, in its initial form, be a<br>
big change to non-Cartesian coordinates, but that will certainly be<br>
possible.<br>
<br>
YTEPs are either done or being prepped for both of these.  Those are<br>
kind of outside the main topic of this email, which is much more<br>
social.<br>
<br>
>From discussions, it seems pretty likely that these two would need to<br>
be a yt 4.0.  So let's take that as a given.<br>
<br>
Both of these are designed to be *as backwards compatible as<br>
possible*.  The Demeshening will have many more breaking changes for<br>
people that rely on yt for SPH data, but ideally the *surface area* of<br>
those breakages will be small.  For the non-spatial changes, we<br>
absolutely want that to be completely backwards compatible for<br>
cartesian, spatial datasets.<br>
<br>
So if we take as given that we want disruption to both users and<br>
developers to be minimal, we're still kind of stuck with the<br>
possibility that this will be a difficult transition.  We absolutely<br>
want everything that worked before to work again.<br>
<br>
What I'm getting at is this: how can we manage this change, when the<br>
development from 3.x to 4.0 may be long?  We're at a different stage<br>
than we were when we managed this for yt 3.0, which I did *not* do a<br>
good job of managing.  We now encourage people to use binary<br>
distributions a lot more, and we have a reliable bugfix release<br>
system.<br>
<br>
If we were to merge in both of those two big things, there is still<br>
the possibility that unforeseen difficulties would crop up -- but, the<br>
userbase will be much more isolated than they were when we did 3.0.<br>
So the main problem is going to be if folks want to do big<br>
development, but that big development conflicts with one of those two<br>
things.<br>
<br>
Here's the first thing I want to ask:<br>
<br>
==<br>
Is anybody planning or working toward some big development that they<br>
would be nervous about doing in the codebase while we shake out any<br>
lingering issues from those?<br>
==<br>
<br>
Ultimately, the question we need to figure out is, "how do we minimize<br>
disruption to cartesian, grid-based codes while we fix this stuff up?"<br>
 And I think until we know if folks have anything pretty big planned,<br>
we can't *quite* answer that.<br>
<br>
-Matt<br>
______________________________<wbr>_________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org" target="_blank">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/lis<wbr>tinfo.cgi/yt-dev-spacepope.org</a><br>
</blockquote></div><br></div></div>