Resources

Guides to Good Practice

We strive to foster and support good practices for developing and disseminating open and reproducible computational models. Computational modeling is not a primary skill for most practitioners but rather a tool used to better understand emergent or complex phenomena. The Software and Data Carpentries organizations are also dedicated to improving foundational computational and data science skills and offer hands-on workshops.

Agent-based model development

  • Keep your models simple
  • Document your models using ODD or equivalent documentation protocol
  • Perform sensitivity analysis on your model variables

Some of the code and data management practices listed below are also described in greater detail in Good Enough Practices in Scientific Computing by Wilson et al. It is definitely worth a read if you would like to further explore these topics.

Code management

  • Use a version control system diligently, and strive for small, focused changes with meaningful and descriptive commit messages.
  • Document all external dependencies (e.g., Docker, pip, packrat)
  • Strive for simple, well-commented, self-documenting code with meaningful variable names
  • Adopt or develop community documentation standards to describe your computational artifacts (e.g., ODD)
  • Adopt a consistent, self-describing directory structure for your code, data, documentation, and results
  • Archive your codebase in a DOI-issuing repository that provides citable URLs for specific versions of your codebase (Force11 software citation principles)
  • Provide example test cases and expected outputs
  • Structure your code in ways that are amenable to reuse and comprehension (modular and well-encapsulated)

Data management

  • Preserve raw and intermediate forms of data
  • Document all data cleaning and processing steps
  • Script your data analysis as opposed to manually munging an Excel sheet
  • Archive your data in a DOI-issuing repository that provides citable URLs for specific versions of your dataset
  • Create tidy, analysis-friendly data
  • DataONE’s best practices
This website uses cookies and Google Analytics to help us track user engagement and improve our site. If you'd like to know more information about what data we collect and why, please see our data privacy policy. If you continue to use this site, you consent to our use of cookies.