Plan for WRF Developer Documentation and Training Tiger Team, FY2004


John Michalakes

Mesoscale and Microscale Meteorology

National Center for Atmospheric Research


Draft: September 19, 2003


1. Background

The WRF model code, conservatively estimated at more than 200-thousand lines, has been developed at a rapid pace and the code is still growing. The demands of a rapid development schedule and the richness and diversity of features required for a community code: multiple dynamical cores, physics options, I/O and coupling options, nesting, and portability to a wide range of computing platforms. Considerable attention has also been given to providing levels of abstraction in the software that allow scientists to avoid dealing with parallelism and other aspects of the software infrastructure. Thus, in addition to being large, the WRF software is also unavoidably complex. At the present time, developer documentation is out-of-date, and detailed knowledge of the software is concentrated in far too few individuals to support maintenance and ongoing development, especially once the code is adopted by a large number of users. The problem is especially acute for operational users. The WRF project will not succeed without immediate and intensive effort to distribute knowledge and expertise concerning the WRF model code and infrastructure to the community.

The plan outlined here involves: 1) hiring a software engineer to become a second WRF software expert within the model development group at NCAR/MMM, 2) enlistment of a “tiger team” of individuals from key participating institutions who will work train intensively together and the return to become in-house experts within their institutions, 3) development of comprehensive and up to date developer documentation produced by this team for dissemination to the WRF user community. I expect to begin as soon as possible in FY04 and complete the intensive phase of this training and documentation in approximately nine months. After this, a reduced level of ongoing effort sufficient to ensure that documentation remains up-to-date; this later activity may be folded into the responsibilities of a software infrastructure group within the WRF DTC.

2. Approach

The goals for training new expert WRF developers and for producing comprehensive developer documentation are complementary. Contributing to the writing of developer documentation will ensure that team members learn the code thoroughly. Thus, the documentation and training efforts can proceed concurrently. The sequence of activities is as follows:

1.      Assembling the team of developers

a.      NCAR will hire a new Software Engineer III, who will begin in an “understudy” capacity to Michalakes as WG2 lead and lead software developer. The SE-III will also be designated the chair of the training and documentation team.

b.      A training and documentation tiger team will be assembled from among the key WRF participating institutions (in particular, institutions that deem they need in-house expertise on the WRF code and infrastructure). Suggested participants include:

                                                               i.      AFWA – Robert Williams, Michael McAtee, or other AFWA designee

                                                             ii.      NCEP – Tom Black, Matt Pyle, S. Gopalakrishnan, or other NCEP designee

                                                            iii.      FSL – Dan Schaffer, Jacques Middlecoff or other NCEP designee

                                                           iv.      NCAR – New SE-III and other NCAR designees, including Dave Gill, Wei Wang, and perhaps a representative such as Jon Wolfe or Nancy Collins from the ESMF project in SCD

                                                             v.      Other possible designees. V. Balaji (GFDL), David Ovens (UW), Coats (Baron Associates)

2.      Initial meeting and intensive training

a.      Several day tutorial on WRF code and infrastructure by Michalakes held at NCAR

b.      Develop outline for developer documentation

c.      Writing assignments

3.      Series of meetings with individual developers and periodic status reports

4.      Collect sections and assemble draft developers document

5.      Review of draft by team

6.      External reviews (community)

7.      Finalization and distribution developer document

8.      Ongoing maintenance of document (beyond this statement of work)

3. Schedule

TBD, but expect to reach #4 in 9 months.  #7 in one year.

4. Requirements

This effort will be a shared burden among the participating institutions. NCAR will prepare and present training material, provide overall coordination the team’s activities, host the initial tiger team meeting, conduct follow up visits and work sessions at the other institutions, prepare status periodic reports to the WRF project leadership, coordinate document reviews, and assume responsibility for compiling and distributing the final developer documentation. This will require and estimated 1/3 FTE of the new SE-III and 1/3 FTE of Michalakes over the duration of the FY04 effort. Travel for Michalakes and the SE-III for follow-up visits and work sessions at the other institutions will cost in the neighborhood of $8,000. The effort will require approximately one month of administrative support for meeting organization, travel arrangement, and document preparation and proofreading. An estimated $5,000 will be expended for office supplies and printing charges. The initial meeting will require the MMM Layton Classroom or a similarly equipped classroom facility and refreshments for up to ten people for four days.

Contributions by other participating institutions will be in the form of travel support and staff time for attending team meetings, learning the WRF software infrastructure, and writing sections of the documentation. Although it is difficult to estimate costs for the other institutions’ contributions, each should budget for significant participation by their representative to the tiger team – at least two-months effort – to ensure a successful outcome.