Computational Model Library

Artificial Anasazi: Baseline Fixes, Dynamic Soil and Plot Crowding (1.0.0)

Artificial Anasazi is an agent-based model of farming households in the Long House Valley, Arizona, from 800 to 1350 CE. Each household chooses where to farm and settle based on expected harvest, water sources and stored maize, and simulated household counts are compared with the archaeological record.

This release adapts the NetLogo Models Library version (Stonedahl & Wilensky 2010) of Janssen’s (2009) NetLogo replication of the original Ascape model (Dean et al. 2000; Axtell et al. 2002). It contains four configurations in one NetLogo 7.0.4 file, selected with two switches:

  • Both switches off: the baseline, which is the Models Library model with small fixes that make it work as intended (the arable-uplands zone name, the setup base yield, the initial household count, one-tick-lag capacity reporting, and seed control with observation-only instruments).
  • soil-on?: dynamic soil quality that depletes under cultivation and regrows, following Janssen (2010, eq. 4).
  • crowding-on?: households may share an occupied plot, up to a limit, when no empty plot is available and their share still meets the nutrition need.
  • Both on: both mechanisms together.

Code comments mark each change as [BASELINE FIX], [BASELINE], [SOIL] or [CROWDING]. Standalone versions of each configuration, a project page and the full documentation are at the repository linked below.

Tiny colorful pixel-art figures.png

Release Notes

First release of this adaptation of Artificial Anasazi, built from the NetLogo Models Library version (Stonedahl & Wilensky 2010) of Janssen’s (2009) NetLogo replication and converted to NetLogo 7.0.4.

Baseline fixes (code comments tagged [BASELINE FIX] and [BASELINE])
- Arable-uplands zone name corrected in calculate-yield (uplands-fix?; OFF reproduces the published behavior).
- Optional application of harvest-adjustment to the setup base yield (setup-yield-fix?, default OFF).
- Initial household count is now assigned in setup.
- Carrying capacity is measured on the current tick; the published one-tick-lagged value is kept as potential-lagged.
- run-seed seeds the random number generator after clear-all. Fit statistics, peak windows and series run outside the main random stream, so they do not change a run.

Added mechanisms
- Dynamic soil quality (soil-on?, tag [SOIL]): depletion under cultivation and regrowth following Janssen (2010, eq. 4).
- Scarcity-driven plot sharing (crowding-on?, tag [CROWDING]): households join an occupied plot, up to crowding-limit, only when no empty plot is available and their share still meets the nutrition need.
- With both switches OFF the model reduces to the baseline.

Standalone versions of the baseline, soil-only and crowding-only models, a project page and further documentation are in the repository linked on this page.

Associated Publications

Artificial Anasazi: Baseline Fixes, Dynamic Soil and Plot Crowding 1.0.0

Artificial Anasazi is an agent-based model of farming households in the Long House Valley, Arizona, from 800 to 1350 CE. Each household chooses where to farm and settle based on expected harvest, water sources and stored maize, and simulated household counts are compared with the archaeological record.

This release adapts the NetLogo Models Library version (Stonedahl & Wilensky 2010) of Janssen’s (2009) NetLogo replication of the original Ascape model (Dean et al. 2000; Axtell et al. 2002). It contains four configurations in one NetLogo 7.0.4 file, selected with two switches:

  • Both switches off: the baseline, which is the Models Library model with small fixes that make it work as intended (the arable-uplands zone name, the setup base yield, the initial household count, one-tick-lag capacity reporting, and seed control with observation-only instruments).
  • soil-on?: dynamic soil quality that depletes under cultivation and regrows, following Janssen (2010, eq. 4).
  • crowding-on?: households may share an occupied plot, up to a limit, when no empty plot is available and their share still meets the nutrition need.
  • Both on: both mechanisms together.

Code comments mark each change as [BASELINE FIX], [BASELINE], [SOIL] or [CROWDING]. Standalone versions of each configuration, a project page and the full documentation are at the repository linked below.

Release Notes

First release of this adaptation of Artificial Anasazi, built from the NetLogo Models Library version (Stonedahl & Wilensky 2010) of Janssen’s (2009) NetLogo replication and converted to NetLogo 7.0.4.

Baseline fixes (code comments tagged [BASELINE FIX] and [BASELINE])
- Arable-uplands zone name corrected in calculate-yield (uplands-fix?; OFF reproduces the published behavior).
- Optional application of harvest-adjustment to the setup base yield (setup-yield-fix?, default OFF).
- Initial household count is now assigned in setup.
- Carrying capacity is measured on the current tick; the published one-tick-lagged value is kept as potential-lagged.
- run-seed seeds the random number generator after clear-all. Fit statistics, peak windows and series run outside the main random stream, so they do not change a run.

Added mechanisms
- Dynamic soil quality (soil-on?, tag [SOIL]): depletion under cultivation and regrowth following Janssen (2010, eq. 4).
- Scarcity-driven plot sharing (crowding-on?, tag [CROWDING]): households join an occupied plot, up to crowding-limit, only when no empty plot is available and their share still meets the nutrition need.
- With both switches OFF the model reduces to the baseline.

Standalone versions of the baseline, soil-only and crowding-only models, a project page and further documentation are in the repository linked on this page.

Version Submitter First published Last modified Status
1.0.0 Thomas Tuoti Sun Oct 4 15:38:36 2026 Sun Oct 4 15:38:39 2026 Published

Discussion

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.
Accept