yt.inline-intercomm / README

Full commit
What this does and how to do it

This sets up an inter-communicator to pass data back and forth between a
running enzo process and a running yt process.

** Right now it only works on a single processor on both ends! **

To start it, you have to have the MPI lookup server running.  For OpenMPI, this
looks like:

    $ ompi-server --no-daemonize -d -r ompi_server.txt

Now, you can start Enzo (compiled with python-yes) with this:

    $ mpirun -np 1 --ompi-server file:ompi_server.txt ./enzo.exe -d AMRCosmologySimulation.enzo

In another window, once it's up and running (and you have seen yt import) run

    $ mpirun -np 1 --ompi-server file:ompi_server.txt python2.7 --parallel

Now your yt window will update a pylab output, while your Enzo window continues
running Enzo.

Why is this cool?

Soon we will be able to dynamically connect, disconnect and reconnect processes
to running Enzo jobs.  Enzo will be able to fire-and-forget some data products,
which are then dealt with by separate communicators and yt itself.

Ultimately, this will be used for much more flexible in situ visualization.
Most interestingly, this model will also allow Enzo to run in the background
while visualization and interactive exploration occur in another window.