Hi Matt et al., After looking at your list, I agree there's definitely enough for a user workshop, if that's your intention (and one could easily piggyback a developer workshop, as per the Enzo summer 2010 workshop). If you were going to do a standalone workshop, and given that no university that hosts a yt developer is in a particularly central or cheap place, much less a (inexpensive)*(cheap) place, you might think of just picking a city near the middle of the country that is a hub for at least one airline (so that flights are cheap) and then just get a conference room and block of rooms in a hotel near the airport. The main point of the meeting is for everybody to be in the same physical location, and it doesn't really matter where precisely that place is, as long as it's convenient to get to. To this end, some place like Chicago (United, American), Minneapolis (Delta), or Detroit (Delta) might be adequate. Just a thought... -Brian On Mon, Aug 29, 2011 at 2:50 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
This thread may now be cold, but I wanted to bring it back up briefly. I've been in touch a little bit with XSEDE personnel as well as a number of yt developers, and we have attempted to brainstorm some ideas, which I sum up here.
I think it is now certain that we will not be piggy-backing on the Enzo workshop. The issue is not as much a problem of infrastructure, but rather of weariness on the part of the developers. My feeling initially was that we could do a day and a half workshop, then move directly on to Enzo. It has been impressed upon me that 1) we should have more than a day and a half 2) It would take a *lot* out of the developers to do this.
This does not preclude piggybacking on an existing workshop in the future.
I see three main opportunities for a workshop:
* Piggyback on Enzo or other 'numerical' event which would have a large number of interested people, such as XSEDE * Host an isolated, standalone workshop * Host an online workshop / office hours
Marcel's comment about proximity to the NE corner of the country is well-taken; I too would like to be close to home. I think we could also probably find a small amount of money for travel, from some source or another. The idea of a virtual conference is somewhat appealing, but I am not as fond of webinars as others are, and I think we would have to have very short, targeted items if we did that. However, there are resources we could draw upon for webinars. I think the most productive would be option #2, but I am not yet convinced we would be able to support such an endeavor as a community, and I still do not know where we would host it. (Any institutions out there that could?) Another alternative Sam has suggested which I like is instead to host office hours in IRC or G+ or something with video.
However, one of the big questions that has come up with respect to a physical workshop is: what would we talk about? I scribbled out a few items this morning that I think could fill a goodly amount of time, which I have included below. My feeling from talking to others is that for it to be useful, we would need both beginner and advanced topics. My list is at the bottom of this email -- after writing this out I kind of came around and felt like there is enough material to fill up a few sessions.
Anyway, I'd like to solicit some thoughts on this. Pretty much it comes down to:
1a) Physical (likely spring), virtual (anytime) or no workshop? 1b) If Physical, where? (Specifically, which institutions or regions would you prefer, and could you volunteer your location?) 2) What do you think of the pseudo-agenda below?
One last item is that I was the most skeptical about the feasibility of a workshop, and I have been brought around by other developers -- who have impressed upon me that not only could we do this, we really *ought* to do it. If not now, at some point in the future.
Thanks everyone,
-Matt
* Agenda Ideas *
= Using yt =
- Introduction to yt - Jargon and terminology Installation How to start up How to write a script How to examine a simulation's characteristics Examining individual grids Slicing Projecting Command-line tool
- Data handling in yt - How to think of data objects in yt What is a field? (also: my_plugins.py) Basics of select/instantiating a data object How to call and use a derived quantity What DQs and DOs are available? Phase plots (1-, 2-, 3-D)
- Visualizing data - Projections, slices, and plot modifications Raw, stripped down plot objects Manually plotting data
- Advanced data objects - Accessing attributes of data objects Cutting and subselecting data from objects Creating new data objects 1D and 2D objects Creating fields Clump finding Finding points
- Advanced visualization - Writing your own plot callback Fixed resolution buffers
- Volume rendering - What is "Volume Rendering"? How to use the camera How to write a transfer function Making animations: camera paths and normalization "Photo-realistic"
- Astrophysical Analysis - Halo finding Halo analysis / halo profiler Halo mass functions Spectral energy distribution Star particle analysis Absorption spectra
- Large data analysis - How to run in parallel What kind of datasets work well with parallelism? Do's and don'ts of parallel analysis Distributing work
- Time series analysis - Full simulation Analysis objects Multi-level Parallelism
- Reason - How to use reason How does reason work Advanced features
= Advanced yt + Developing yt =
- Overview of the yt community - Communication channels Source control Testing Documentation People
- Mercurial - What is version control? What is distributed version control? What's a DAG?
- Contributing changes - How to commit, share, and notify What to expect when you contribute
- The yt testing system - How to write a test How do tests get run? What does it mean to 'pass' a test?
- How to write a code frontend - What does yt expect from a simulation output format? What is necessary / expected Simple prototyping How to construct the necessary source files
- Fast code and Cython - What is Cython? How do I compile and run Cython code? How to speed it up
- Writing parallel code - How does yt use parallelism? What routines are available for parallelism? How to debug parallel code
- Interfacing with external code - Raw C api Exporting data objects Cython for easy API usage
- yt internals - Parameter file storage and pickling kD-trees Idiomatic yt
On Mon, Aug 15, 2011 at 3:03 PM, Stephen Skory <s@skory.us> wrote:
Hi All,
I would be interested in a yt workshop. If it's combined with the Enzo workshop this fall, it would reduce the number of plane tickets. If we wait until spring, it would be even easier for me, as we are thinking about hosting that edition of Enzo workshop here at CU (unless someone else steps forward with more enthusiasm and money).
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org