Simulation Configuration
Options for Simulation Configuration
This is a list of all the attributes that can be defined in different sections of the simulation configuration.
Execution
The simulation is executed in parallel if multiple processors are available. Sometimes it's handy to switch to a sequential execution to evade problems with locks or synchronization.
Therefore use in top level config option execution the maxProcessCount property and set it to 1.
{
"execution": {
"maxProcessCount": 1
},
"globals": {
// ...
}
}
Globals
The globals options define general settings for the simulation like everything around the simulation time.
| Property | Type | Default | Required | Constraints | Excludes |
|---|---|---|---|---|---|
| id | String | model_name + _ + timestamp | ☑ | No special characters | |
| steps | Integer | 1 | ☐ | value ≥ 0 | startTime; endTime |
| startTime | DateTime | now | ☐ | value > endTime | steps |
| endTime | DateTime | null | ☐ | value > startTime | steps |
| deltaT | Integer | 1 | ☑ | value > 0 | |
| deltaTUnit | TimeUnit | seconds | ☐ | one of: milliseconds, seconds, minutes, hours, days, months, years |
Here is an example:
{
"globals": {
"startPoint": "2020-01-01T00:00:00",
"endPoint": "2020-01-01T01:00:00",
"deltaT": 1,
"deltaTUnit": "seconds",
"console": true,
"output": "csv",
"options": {
"delimiter": ";",
"numberFormat": "F2"
}
}
}
startPoint: the start time of the simulation
endPoint: the end time of the simulation
deltaT: the length of a single time step
deltaTUnit: the unit of a single time step
console: if true, the simulation progress is displayed in the terminal
output: the medium into which simulation output data is stored
Note: if output is set to csv, then the key options can be used to define further details such as the delimiter and the numberFormat.
Output
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| output | OutputOption | none | ☐ | one of: none, CSV, MongoDB, redis, postgresql, sqlite |
Output (mongoOptions, npgSqlOptions, redisOptions)
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| port | Integer | db specific | ☐ | value > 0 |
| host | String | localhost | ☑ | |
| user | String | ☑ | ||
| password | String | ☑ | ||
| connectionTimeout | Integer | 5 | ☐ | value > 0 |
| databaseName | String | $sim-config-id | ☑ |
Output (sqLiteOptions)
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| databaseName | String | $sim-config-id | ☑ | |
| isInMemory | Boolean | false | ☐ |
Output (socketOptions) exclude?
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| socketPath | String | ☑ | ||
| sendingInterval | Integer | 0 | ☐ |
Output (csvOptions)
| Property | Type | Default | Required | Constraints | Notes |
|---|---|---|---|---|---|
| delimiter | Delimiter | , | ☑ | one of: ,, ;, \t, \w | |
| includeHeader | Boolean | true | ☐ | ||
| encoding | String | UTF-8 | ☐ | ||
| chunkSize | Integer | ☐ | exclude | ||
| appendConfigName | Boolean | true | ☐ | ||
| fileSuffix | String | ☐ | overwrites appendConfigName | ||
| numberFormat | String | g | ☐ | exclude | |
| culture | String | en-EN | ☐ |
Layer
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| name | String | classname in AST | ☑ | |
| file | Path | ☑ | path exists | |
| output | OutputOption | none | ☐ | |
| outputFrequency | Integer | 1 | ☐ | value ≥ 0 |
The layer section includes a list of configurations for each layer type defined in the model. Here is an example of the configuration for two layers:
{
"layers": [
{
"name": "TrafficLightLayer",
"file": "res/traffic_lights/traffic_lights_harburg_zentrum.zip"
},
{
"name": "CitizenLayer",
"file": "res/networks/harburg_zentrum_walk_graph.geojson",
"mapping": [
{
"parameter": "ParkingOccupancy",
"value": 0.779
}
]
}
]
}
name: the name of the layer type. Note: this must match the layer type's name in the model.
file: the path to a file with geodata that is used to populate the layer.
mapping: a list of additional mappings for the layer.
Raster Layer
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| file | Path | ☐ | allowed file types: asc, csv, zip | |
| output | LayerOutputOption | asc | ☐ | options: asc, csv, none |
(Optional)
** Spatio-Temporal-Layer**
- Set von Dateien auswählen
- Ordnung der Dateien bestimmen
- Dateien mit Zeitangaben versehen
Empty Layer
- Bounding Box angeben (lower left, upper right)
- No Data Value mit bspw. -99
Vector Layer
| Property | Type | Default | Required | Constraints |
|---|---|---|---|---|
| file | Path | ☐ | allowed file types: geoJSON, ESRI Shapefile | |
| output | VectorLayerOutputOptions | asc | ☐ | options: asc, geoJSON, ESRI Shapefile, none |
Agents
| Property | Type | Default | Required | Constraints | Excludes |
|---|---|---|---|---|---|
| name | String | classname provided by AST | ☑ | agent must exist in model | |
| frequency | Integer | 1 | ☐ | value > 0 | |
| file | Path | ☐ | path exists | count | |
| output | OutputOption | Global Output Value | ☐ | ||
| outputFrequency | Integer | 1 | ☐ | value ≥ 0 | |
| outputFilter | FilterList | ☐ | |||
| count | Integer | 0 | ☐ | value ≥ 0 | |
| mapping | Mapping | ☑ | external variables must be mapped |
The Agents section includes a configuration (an AgentMapping) for each agent type defined in the model. Here is an example:
{
"agents": [
{
"name": "Citizen",
"count": 10,
"file": "res/agent_inits/CitizenInit10k.csv",
"options": {
"delimiter": ";"
},
"mapping": [
{
"parameter" : "CanCycle",
"value" : true
},
{
"parameter": "resultTrajectory",
"value": true
}
]
}
]
}
name: the name of the agent type. Note: this must match the agent type's name in the model.
count: the number of agents of this agent type that should be spawned at the beginning of the simulation
file: the path to a csv file that contains a set of attributes and attribute values to parametrize the agents
Note: if a file is specified, the key options can be used to define further details such as the delimiter.
mapping: a list of additional mappings for the agents.
Mapping
| Property | Type | Default | Required | Constraints | Excludes |
|---|---|---|---|---|---|
| parameter | String | ☑ | must exist in agent definition and be marked as external | ||
| value | Any | ☐ | must be type of external parameter | field | |
| field | String | ☐ | allowed if input file is specified; must exist in .csv | value | |
| type | PrimitiveTypes | read from AST | ☑ |
{
"mapping": [
{
"parameter": "Energy",
"value": 100,
"field": "field.name"
}
]
}