SAMSI in Research Triangle Park, NC
April 13-17, 2015
Our ability to simulate and analyze large, complex ecological models is driven, in part, by our ability to construct and maintain computational tools capable of coupling appropriate physical models with accurate and efficient numerical algorithms. In addition, as data analysis and scientific visualization become increasingly more integral to successful ecological-based research, it is imperative for scientists in this discipline to have some fundamental skills in software programming and management to be successful in their work. However, development of fundamental software skills is often insufficient in and of itself to make these problems tractable. Ecosystem problems are true multi-scale and multi-physics problems, and as such ecological research teams require computational scientists as well as mathematical and statistical ecologists to fully utilize computational frameworks in understanding these systems.
Unfortunately, the demands on management of software infrastructure and development also grow significantly as the complexity of the problem and size of the research team increase. Often, models become dependent on several layers of underlying software developed by external groups that may or may not still be active. Maintaining these complex “software stacks” consisting of packages and libraries in multiple languages with multiple configuration and build systems can be non-trivial, particularly when several computational platforms must be supported. Beyond the software itself, managing the development process requires organization and sound software engineering practice. This is particularly imperative as the time frames under which these problems are studied now often span several enumerations of research teams.
In this workshop, participants will learn the basics of effective code construction and management. They will gain experience with software repository tools, which enhance the communication between members of a research team and allow archival of development benchmarks to ease the transition for new members of the development team. They will also learn the basics associated with incorporating third-party software, including building appropriate makefiles and ensuring seamless integration of sometimes confl icting environments. Finally, they will learn basic techniques for navigating between different platforms and developing regression tests for their development efforts.
The target audience will be researchers at the graduate level and beyond who are or will be actively developing code, using complex simulation tools, and/or processing complex data sets to further their efforts in large-system ecological research. Towards that end, the workshop is intended to bring together and foster collaborations between researchers in need of sophisticated simulation tools and those whose work focuses on developing these tools and making them accessible to the community. Each day will begin with a motivating lecture from a member of the computational ecology community. During the late afternoon of the first day, participants will be asked to participate in a round of lightning talks, where they will present their current research problems (in three minutes or less) to the audience. The objective of these lighting talks is to identify possible collaborative teams early as well as to identify needs of participants and adjust lecture content accordingly.
The first three days of the workshop will also consist of interactive tutorials led by instructors who actively work on development of simulation codes for large-scale, physics-based problems. Participants will spend time in break-out groups organized by topic, thus providing a forum for open discussion. The remaining two days will consist of break-out sessions where participants will work on development efforts of common interest. Note that the entire schedule of the workshop is geared towards bringing communities together to resolve complex problems; we expect teams to be coalescing all week, and that collaborations are initiated well before the final two days.