This workshop assumes good familiarity with R as well as several of its contributed packages.

1 Dates and Times

Dec 7-9, 2016 google calendar link
8:30am - 4:30pm (PDT) each day
Cost: Free
Where: Pacific Forestry Centre, Victoria, BC
WebEx: Limited numbers. Contact Eliot.McIntire@canada.ca if you would like to participate remotely.
Rooms: Dilbert Hall

2 Before the workshop

(slides)

3 Workshop content

(raw version of notes available on github)

3.1 SpaDES in action

(Presenters Eliot and Alex) (slides)(exercises)

3.2 Thinking the SpaDES way

Presenter Eliot (slides)

  • Events

  • Modules

  • Types of SpaDES modules:

    • events (e.g., Fire, Vegetation Change)
    • data preparation (e.g., climate data downloading)
    • individual-based modules (e.g., caribou, wolves, mountain pine beetle)
    • parents and children
  • Data

3.3 Getting technical

Presenter Alex (slides)(exercises)

  1. The parts
  1. Surface dive

3.4 Building SpaDES modules

Presenter Alex (slides)(exercises 4) (exercises 4a)

  1. anatomy of a SpaDES module

  2. new module template: newModule

  3. module metadata defineModule

  4. scheduling events: scheduleEvent

  5. time

  6. default data sets using .inputObjects –> ?inputs

  7. visualizations: Plot

  8. default values for input data sets

  9. debugging (spades(sim, debug = TRUE))

  10. finding SpaDES tools

  11. summary statistics

  12. module development checklist

3.5 Simulation experiments and replication

Presenter Eliot (slides)(exercises)

  1. using the experiment() function for replication, scenario creation, and parameter experiments

  2. running parallel simulations on supercomputers and clusters

  3. Pattern Oriented Modeling (POM() function) for estimating unknown parameters

3.6 Getting the most out of R for ecological models

Presenters Eliot and Alex (slides)

  1. Spatial data (raster and sp packages)

  2. Matrices

  3. The data.table package

  4. SpaDES functions for spreading, moving, neighbourhoods etc. section 2 of spades-package help file

  5. The Rcpp package

3.7 Module integration

Presenter Alex (slides) (exercises)

  1. Building “models”, i.e., groups of modules (parents and children)

  2. Using metadata

  3. Visual tools: objectDiagram, moduleDiagram, eventDiagram

3.8 Sharing modules & models

Presenter Alex (slides)(exercises)

  1. SpaDES module repositories

  2. Using GitHub.com

  3. shiny apps and shinyapps.io (e.g., Proof of concept)

  4. Data sources

3.9 Data to decisions

Presenter Eliot (slides)

  1. Building a reproducible workflow
  2. Caching

5 Archived content

Previous versions of this workshop are archived at the links below.

last updated 2016-12-06