Skip to contents

ODD (Overview, Design concepts and Details) protocols are a suggested standard for describing agent-based models (Grimm et al. 2006, 2010, 2020). As Grimm et al. (2020) state, "ODD model descriptions (...) are based on written text and intended to be read by humans." This function provides all the details the environment and agent specifications contain that might be relevant for the ODD to be written. It returns the 2020 ODD framework with all the collected information pre-filled into the respective category.

Usage

odd(.tidyabm, ...)

# S3 method for tidyabm_env
odd(.tidyabm, ...)

Arguments

.tidyabm

the tidyabm_env object

...

other arguments passed to particular types of environment

Value

a tibble of length 7 (the ODD categories)

References

Grimm, V., U. Berger, F. Bastiansen, S. Eliassen, V. Ginot, J. Giske, J. Goss-Custard, T. Grand, S. Heinz, G. Huse, A. Huth, J. U. Jepsen, C. Jørgensen, W. M. Mooij, B. Müller, G. Pe’er, C. Piou, S. F. Railsback, A. M. Robbins, M. M. Robbins, E. Rossmanith, N. Rüger, E. Strand, S. Souissi, R. A. Stillman, R. Vabø, U. Visser, & D. L. DeAngelis (2006). A standard protocol for describing individual-based and agent-based models. Ecological Modelling, 198, 115-296. 10.1016/j.ecolmodel.2006.04.023

Grimm, V., U. Berger, D. L. DeAngelis, J. G. Polhill, J. Giske, & S. F. Railsback (2010). The ODD protocol: A review and first update. Ecological Modelling 221, 2760-2768. 10.1016/j.ecolmodel.2010.08.019.

Grimm, V., S. F. Railsback, C. E. Vincenot, U. Berger, C. Gallagher, D. L. DeAngelis, B. Edmonds, J. Ge, J. Giske, J. Groeneveld, A. S. A. Johnston, A. Milles, J. Nabe-Nielsen, G. Polhill, V. Radchuk, M.-S. Rohwäder, R. A. Stillman, J. C. Thiele, & D. Ayllón (2020). The ODD Protocol for describing agent-based and other simulation models: A second update to improve clarity, replication, and structural realism. Journal of Artificial Societies and Social Simulation, 23(2), 7. 10.18564/jasss.4259

Examples

create_grid_environment(seed = 4583, size = 4) %>%
  add_agents(create_agent(), 2) %>%
  init() %>%
  iterate() %>%
  odd()
#> [1] "Tick 1 finished in 0.002 secs"
#> [1] "Tick 2 finished in 0.002 secs"
#> [1] "Tick 3 finished in 0.002 secs"
#> [1] "Tick 4 finished in 0.002 secs"
#> [1] "Tick 5 finished in 0.002 secs"
#> [1] "Tick 6 finished in 0.002 secs"
#> [1] "Tick 7 finished in 0.002 secs"
#> [1] "Tick 8 finished in 0.002 secs"
#> [1] "Tick 9 finished in 0.002 secs"
#> [1] "Tick 10 finished in 0.002 secs"
#> [1] "Tick 11 finished in 0.002 secs"
#> [1] "Tick 12 finished in 0.002 secs"
#> [1] "Tick 13 finished in 0.002 secs"
#> [1] "Tick 14 finished in 0.002 secs"
#> [1] "Tick 15 finished in 0.002 secs"
#> [1] "Tick 16 finished in 0.002 secs"
#> [1] "Tick 17 finished in 0.003 secs"
#> [1] "Tick 18 finished in 0.003 secs"
#> [1] "Tick 19 finished in 0.003 secs"
#> [1] "Tick 20 finished in 0.002 secs"
#> [1] "Tick 21 finished in 0.002 secs"
#> [1] "Tick 22 finished in 0.002 secs"
#> [1] "Tick 23 finished in 0.002 secs"
#> [1] "Tick 24 finished in 0.002 secs"
#> [1] "Tick 25 finished in 0.002 secs"
#> [1] "Tick 26 finished in 0.002 secs"
#> [1] "Tick 27 finished in 0.002 secs"
#> [1] "Tick 28 finished in 0.002 secs"
#> [1] "Tick 29 finished in 0.002 secs"
#> [1] "Tick 30 finished in 0.002 secs"
#> [1] "Tick 31 finished in 0.002 secs"
#> [1] "Tick 32 finished in 0.003 secs"
#> [1] "Tick 33 finished in 0.003 secs"
#> [1] "Tick 34 finished in 0.002 secs"
#> [1] "Tick 35 finished in 0.002 secs"
#> [1] "Tick 36 finished in 0.002 secs"
#> [1] "Tick 37 finished in 0.002 secs"
#> [1] "Tick 38 finished in 0.003 secs"
#> [1] "Tick 39 finished in 0.002 secs"
#> [1] "Tick 40 finished in 0.002 secs"
#> [1] "Tick 41 finished in 0.003 secs"
#> [1] "Tick 42 finished in 0.002 secs"
#> [1] "Tick 43 finished in 0.002 secs"
#> [1] "Tick 44 finished in 0.002 secs"
#> [1] "Tick 45 finished in 0.002 secs"
#> [1] "Tick 46 finished in 0.002 secs"
#> [1] "Tick 47 finished in 0.002 secs"
#> [1] "Tick 48 finished in 0.003 secs"
#> [1] "Tick 49 finished in 0.003 secs"
#> [1] "Tick 50 finished in 0.002 secs"
#> # A tibble: 7 × 4
#>   `ODD category`  Element                          Content `tidyABM information`
#>   <chr>           <chr>                            <chr>   <chr>                
#> 1 Overview        Purpose and patterns             "Brief…  NA                  
#> 2 Overview        Entities, state variables, and … "List … "ABM grid environmen…
#> 3 Overview        Process overview and scheduling  "Provi… "environment rules: …
#> 4 Design concepts Design concepts                  "This … "Model has not yet f…
#> 5 Details         Initialization                   "Speci… "See the list of age…
#> 6 Details         Input data                       "Repor…  NA                  
#> 7 Details         Submodels                        "Repea…  NA