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.
@@ -14,32 +14,53 @@ A technical memorandum describing DEMOS is available [here](./DEMOS_Technical_Me
14
14
*Sun, Bingrong, Shivam Sharda, Venu M. Garikapati, Mohamed Amine Bouzaghrane, Juan Caicedo, Srinath Ravulaparthy, Isabel Viegas de Lima, Ling Jin, C. Anna Spurlock, and Paul Waddell. "Demographic Microsimulator for Integrated Urban Systems: Adapting Panel Survey of Income Dynamics to Capture the Continuum of Life." Transportation Research Record (2025): 03611981251333339.*
15
15
16
16
## Usage
17
-
> A public Docker image of DEMOS has been released. Please follow the `From Source` instructions.
18
17
19
-
### Docker Container
20
-
The docker image for demos is stored in `registry/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.
18
+
### Docker Compose (recommended)
19
+
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.
20
+
21
+
#### Prepare the configuration file and data folder
21
22
22
-
For running the `docker-compose` workflow:
23
23
```bash
24
-
DEMOS_CONFIG_PATH=<path-to-config> DEMOS_DATA_DIR=<path-to-data-dir> docker-compose up
24
+
# Create a directory where to run DEMOS from
25
+
mkdir demos
26
+
cd demos
27
+
28
+
# Create the configuration folder and retrieve an example configuration
By default `DEMOS_CONFIG_PATH` is set to `./demos_config.toml` and `DEMOS_DATA_DIR` is set to `./data`, so if `data` and `demos_config.toml` are part of the current directory, no additional input is needed.
28
-
29
-
Alternatively,
42
+
Now you can run docker as follows:
30
43
```bash
31
-
docker run --volume <path-to-config>:/demos/config.toml:ro --volume <path-to-data-dir>:/demos/data --platform=linux/amd64 demos
44
+
docker compose up
32
45
```
33
-
34
46
#### IMPORTANT for MacOS and Windows users
35
47
> Docker imposes a global limit on how much RAM containers can allocate. DEMOS easily surpases those limits, so in order to run DEMOS in Docker, users need to access the Docker Desktop GUI and `Preferences → Resources → Memory → Increase it (at least 16-20gb)`
36
48
37
-
#### Building the docker image (development only)
49
+
Documentation for custom data requirements, configuration and overall functionality of demos can be found [in the Docs](https://nrel.github.io/DEMOS/).
50
+
51
+
## Other ways to run DEMOS
52
+
53
+
If you need to change either the data or configuration path:
DEMOS requires a series of input tables. Example tables are provided [here](https://app.box.com/s/tox2nflumia2g4n6rk2i0navca9pskep) for internal NREL use. It is recommended to store all the input values in the folder `data` in root of the project, but absolute values can be used by specifying them in the configuration file. You may also refer to the data description [here](https://cloud.urbansim.com/docs/general/documentation/urbansim%20block%20model%20data.html)
66
-
67
-
To run demos:
68
-
```
69
-
python simulate.py -cfg {configuration_file}
70
-
```
71
-
72
-
73
-
74
-
A default configuration file is provided in `configuration/demos_config.toml`. The `[[tables]]` entries outline tables to be loaded. For example, we can load the `persons` and `households` table from an H5 source:
0 commit comments