You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Demographic Microsimulator (DEMOS) is an agent-based simulation framework used to model the evolution of population demographic characteristics and lifecycle events, such as education attainment, marital status, and other key transitions. DEMOS modules are designed to capture the interdependencies between short-term and long-term lifecycle events, which are often influential in downstream transportation and land-use modeling.
@@ -28,7 +28,7 @@ cd demos
28
28
# Create the configuration folder and retrieve an example configuration
Copy file name to clipboardExpand all lines: docs/source/pages/intro.md
+44-36Lines changed: 44 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,16 @@
1
1
# Get Started
2
2
3
-
DEMOS is a modular demographic microsimulator. It operates on tabular data representing agents or entities (primarily persons and households), and is configured via a simple TOML file. DEMOS can be run from source or using Docker for reproducibility.
3
+
## Overview
4
+
The Demographic Microsimulator (DEMOS) is an agent-based simulation framework used to model the evolution of population demographic characteristics and lifecycle events, such as education attainment, marital status, and other key transitions. DEMOS modules are designed to capture the interdependencies between short-term and long-term lifecycle events, which are often influential in downstream transportation and land-use modeling.
5
+
6
+
A key feature of DEMOS is its ability to track changes in an agent’s demographic status from year *t* to year *t + 1*. This structure allows the model to evolve populations over any user-defined time horizon. As a result, DEMOS is well suited for analyzing medium- and long-term transportation-related decisions, including household vehicle transactions (e.g., purchasing, selling, or replacing vehicles) and work location choices.
7
+
Core features of DEMOS include the modeling of more than ten lifecycle events, behaviorally realistic patterns informed by long-running panel data, explicit representation of interdependencies among lifecycle processes, and a flexible, modular simulation architecture.
8
+
9
+
A technical memorandum describing DEMOS is available [here](https://github.com/NREL/DEMOS/blob/main/DEMOS_Technical_Memo.pdf). The memorandum provides an overview of the framework’s functionality, model structure, input and output data, and its applications in transportation planning and broader policy analysis contexts. Interested readers are also encouraged to consult the paper listed below for additional details on the DEMOS methodology.
10
+
11
+
---
12
+
13
+
DEMOS operates on tabular data representing agents or entities (primarily persons and households), and is configured via a simple TOML file. DEMOS can be run from source or using Docker for reproducibility.
4
14
5
15
This document summarizes instructions to install, configure and run DEMOS. Sections 1-4 will help you correctly organize the data and configuration file, so we recommend reading them once before attempting to run DEMOS.
6
16
@@ -15,50 +25,56 @@ This document summarizes instructions to install, configure and run DEMOS. Secti
15
25
16
26
## 1. Installation
17
27
18
-
### Using Docker (Recommended)
28
+
### Docker Compose (recommended)
29
+
The latest docker image for demos is stored in `ghcr.io/nrel/demos:latest`. The input data and configuration file are fed to the container through volumes. Alternatively, we provide a `docker-compose` workflow that can be used.
30
+
31
+
#### Prepare the configuration file and data folder
19
32
33
+
```bash
34
+
# Create a directory where to run DEMOS from
35
+
mkdir demos
36
+
cd demos
37
+
38
+
# Create the configuration folder and retrieve an example configuration
> Make sure the Docker Daemon is running. This changes from system to system but Docker Desktop should have a status flag indicating if the daemon is live, if Desktop is available
22
58
23
59
<!-- **Important Note:**
24
60
> While the pipeline to build a docker image is implemented, there is no public docker image available, please execute [from source](#From-Source) -->
25
61
26
-
1.**Clone the repository**:
27
-
```bash
28
-
git clone https://github.com/NREL/DEMOS_NREL.git
29
-
cd DEMOS_NREL
30
-
```
31
-
32
-
**Build Docker Image***(Development only)*
33
-
> NOTE: Ideally, our DEMOS Docker image is hosted in a public image registry so users will not need to build it themselves
By default, this assumes that your config file is located in`./configuration/demos_config.toml` and the data folder is `./data`, with `./` being the root of the project (See the [file stucture section](#file-tree-structure-for-data-and-configuration) for details on how to organize the input data).
44
-
If you need to specify a different location for them, you can run:
45
63
46
-
```bash
47
-
DEMOS_CONFIG_PATH=<path-to-config> DEMOS_DATA_DIR=<path-to-data-dir> docker compose up
48
-
```
64
+
By default, this assumes that your config file is located in `./configuration/demos_config.toml` and the data folder is `./data`, with `./` being the root of the project (See the [file stucture section](#file-tree-structure-for-data-and-configuration) for details on how to organize the input data).
65
+
If you need to specify a different location for them, you can run:
49
66
50
-
<!-- 1. **Or run with Docker directly**:
51
-
```bash
52
-
docker run --volume <path-to-config>:/demos/config.toml:ro --volume <path-to-data-dir>:/demos/data --platform=linux/amd64 demos
53
-
``` -->
67
+
```bash
68
+
DEMOS_CONFIG_PATH=<path-to-config> DEMOS_DATA_DIR=<path-to-data-dir> docker compose up
69
+
```
54
70
55
71
> **Note for MacOS/Windows:**
56
72
> Increase Docker's memory allocation to at least 16–20 GB via Docker Desktop:
57
73
> `Preferences → Resources → Memory`.
58
74
59
75
---
60
76
61
-
### From Source
77
+
### From Source (is you are not using Docker)
62
78
63
79
1.**Clone the repository**:
64
80
```bash
@@ -79,14 +95,6 @@ This document summarizes instructions to install, configure and run DEMOS. Secti
0 commit comments