We have had a number of new people joining the team recently, and more will be joining in the next couple of months. A suggestion was made to hold a “DM Boot Camp” to introduce these people to DM processes and the code, particularly the Science Pipelines stack.
My original conception of this was to have a single, unified activity that would be partly local and partly virtual. Given current schedules, it may not be possible to do it this way, but this at least provides a starting point for discussion.
Sites
UW and Princeton (the primary Science Pipelines development locations)
Participants
All UW and Princeton new hires. DavidN, JonathanS, AngeloF, NateP, Hsin-FangC would benefit from a solid understanding of the Science Pipelines stack. Possibly others.
Curriculum
Each day would involve a few hours of lectures delivered via videoconference by subject experts. Due to time zones, something like 10-1 Pacific (1-4 Eastern) might be a good timeslot. A hands-on tutorial with a dedicated local tutor would occupy much of the rest of the day (afternoon Pacific, morning Eastern); additional time could be spent on personal projects with assistance from the local tutor.
- Day 1:
- Presentation: Introduction to LSST and DM science goals, system description, DM’s role, data products, processing flows
- Presentation: DM organization and people, communication, documents
- Presentation: DM code structure
- Tutorial: Installing and using the stack (Python, eups)
- Day 2:
- Presentation: Middleware (log, daf_base, pex_exceptions, Butler, pex_config, pipe_base, db)
- Presentation: afw
- Presentation: meas_base
- Tutorial: Modifying existing code (JIRA, git, GitHub, eups, lsstsw, scons, doxygen, Jenkins, code review)
- Day 3:
- Presentation: Orchestration and control (ctrl_execute)
- Presentation: obs_* packages
- Presentation: meas_* packages
- Presentation: pipe_tasks (driver scripts, measurement conversion, database ingest)
- Tutorial: Creating a new package (sconsUtils, .table files, .cfg files, third-party packages, eupspkg, distribution server)