![]() |
Documentation of UrbanFireXDT
Documentation of UrbanFireXDT
|
% Description of the JSON configuration file
The simulation requires a configuration file formatted as JSON. A config file can have several scenario definitions. The scenario to be simulated is selected via a command line argument when starting the simulation.
The JSON file holds a dictionary with three keys / sections on the top level:
| Number | Section / key name | Description |
|---|---|---|
| 1 | Default Scenario Values | A general section defining default values for the configuration variables that apply to all scenarios (if not overwritten) |
| 2 | Scenarios | A list of scenarios, where every scenario is a dictionary with key-value entries for defining the configuration variables for this scenario, only |
| 3 | Parameter Variation | A list of possible parameter variation that can be combined with every scenario |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| id | integer | yes | 0 - inf | ID of the defined scenario - must be unique in the present file | no | |
| inherits from | integer | no | 0 - inf | Define another scenario ID from which the current scenario should inherit the defined values | no | |
| expansion id | integer | yes | ID of the scenario which defines the expansion | no | ||
| start | string | yes | YYYY-mm-dd HH:MM:SS | Start date in the format YYYY-mm-dd HH:MM:SS - if the data start after start date, simulation will wait for the data to start | no | |
| end | string | yes | YYYY-mm-dd HH:MM:SS | End date in the format YYYY-mm-dd HH:MM:SS - if the data end earlier, simulation will stop there | no | |
| tariff feed-in per kWh | float | yes | no | |||
| tariff demand per kWh | float | yes | The demand per kWh energy taken from the grid - This parameter is ignored if a time series on the demand prices is given | no | ||
| emissions per kWh | float | no | 100 | 0.0 - inf | The emissions in CO2eq per kWh of energy taken from the grid - This parameter is ignored if a time series on emissions is given | no |
| net present value discount rate | float | yes | The discount rate for the computation of the metric NPV in the metrics-per-cu.csv. If expansion PV sizing mode or expansion BS capacity computation mode is set to Optimized, this value is also used there. | no | ||
| net present value time horizon in years | float | yes | The time horizon for the NPV calculation. See also the remarks for parameter net present value discount rate. | no | ||
| installation cost PV per kWp | float | yes | Installation costs for a simulated PV installation per peak-power. Required for the NPV and EAC calculation. | no | ||
| installation cost BS per kWh | float | yes | Installation costs for a simulated BS installation per kWh of capacity. Required for the NPV and EAC calculation. | no | ||
| installation cost HP per kW | float | no | Installation costs for a simulated HP installation per power. Required for the NPV and EAC calculation. | no | ||
| installation cost CS per unit | float | no | Installation costs for a simulated charging station installation per charging unit. Required for the NPV and EAC calculation. Mind: A control unit might have multiple chargers per charging station. | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| time steps per hour | integer | yes | 1 to infinity | Number of time steps per hour - must align with the input data! | no | |
| data input path | string | yes | Path (relative or absolute) to the input data | no | ||
| data output path | string | yes | Path (relative or absolute) to the directory where the output should be saved | no | ||
| database name | string | no | "SystemStructure.db" | Name of the database that contains the system structure | no | |
| ev data path | string | no | Path (relative or absolute) to the EV driving profiles and other EV related data | no | ||
| use emission time series ia | bool | no | true | Use the emission time series for electricity demand from the grid (if it is available in the data) if set to true (default) | no | |
| use prices time series ia | bool | no | true | Use the electricity prices time series (if it is available in the data) if set to true (default) | no | |
| cache directory | string | no | data input path | The path used for caching values, especially the allocation of profile IDs to simulated components (PV and HP) per control unit. If not set, this value equals the data input path | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| expansion PV sizing mode | string | no | MaxAvailableRoofArea | - MaxAvailableRoofArea- StaticPVSize- Optimized | Defines the actual sizing mode for new PV installations. - MaxAvailableRoofArea (default) uses the maximum available roof area given the restictions of the next variables - StaticPVSize adds a static PV installation to all expanded control units with equal size and the same orientation - Optimized uses a LP to determine the optimal PV size respecting the individual profile and the orientation of the roofs. This option only works if the controller mode is set to opti with perfect forecast and the control horizon in ts is set to the complete simulation time span and control update freq in ts is also set to this value. Finally, the option controller optimization target must be set to electricity costs. | no |
| expansion PV min kWp for section usage | float | no | 0 | Minimal size of a PV installation on a roof section, to include this section | yes | |
| expansion PV max inst kWp per section | float | no | -1 | Maximal size of a PV installation in kW per roof section | yes | |
| expansion PV max inst kWp per unit | float | no | -1 | Maximal size of the total PV installation in kW per control unit | yes | |
| expansion PV kWp per roof area in m2 | float | yes | kWp per roof area (how it is in the three dimensional space) | yes | ||
| expansion PV kWp static | float | only if expansion PV sizing mode is set to StaticPVSize | if expansion PV sizing mode is set to StaticPVSize, the simulation ignores all roof information and just add a static pv installation per roof of the given size | yes | ||
| expansion PV static mode profile orientation | string | no | Profile orientation if static mode is selected | no | ||
| expansion PV static mode profile index | integer | no | Profile index if static mode is selected. Especially usefull if an fixed orientation is given | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| expansion BS P in kW | float | yes | Power in kW of the simulatively added batteries. Ignored, if 'expansion BS power computation mode' is set to 'Use E:P-ratio'. | yes | ||
| expansion BS E in kWh | float | yes | Capacity in kWh of the simulatively added batteries | yes | ||
| expansion BS initial SOC | float | yes | Initial SOC of the simulatively added batteries | yes | ||
| expansion BS E:P ratio | float | only if ‘expansion BS power computation mode’ == ‘Use E:P ratio’ | E:P-ratio for setting the power of simulatively added batteries dependent of the capacity (interesting for parameter variations). This is the inverse of the so-called C-Rate. | yes | ||
| expansion BS power computation mode | string | yes | - Power as given- Use E:P-ratio | If set to Use E:P ratio the variable ‘expansion BS P in kW’ will be ignored, instead $$ P = \frac{E}{expansion BS E:P ratio} $$ | no | |
| expansion BS capacity computation mode | string | no | const | const- use PV power- use mean annual consumption- use mean annual consumption with heat pump- optimized | Defines the rule for the calculation of the battery capacity. If set to const, the value of expansion BS E in kWh will be used.If set to use PV power, the capacity of the added storage is the kWp of the PV installation multiplied with the parameter use PV power if a simulated PV installation is present. Else it uses the same parameter as const.If set to use mean annual consumption, it uses the mean annual consumption of the measurement units as defined in the data given.If set to optimized, the optimal size is computed base on a optimization. Important: Check option expansion PV sizing mode for details. | no |
| expansion BS max capacity | float | no | -1 | 0.0 (excl.) to inf. or -1 | Maxium capacity of an added battery storage (very important for sizing with other modes than constant, but always applied). Defaults to -1.0, meaning there is no limit set. | no |
| expansion BS capacity sizing factor for PV | float | no | 1 | 0.0 (exclusive) to inf. | The sizing parameter of the battery storage if the computation mode is ‘use PV power’ | no |
| expansion BS efficiency in | float | no | 1 | 0.0 to 1.0 | Efficiency of the battery for charging in percent | | expansion BS efficiency out | float | no | 1 | 0.0 to 1.0 | Efficiency of the battery for discharging in percent | | expansion BS self-discharge per ts | float | no | 0 | 0.0 to 1.0 | Self-discharging rate in percent per time step | | expansion BS power for SOC 0 | float | no | 0 | 0.0 to inf | Power consumption of the battery controller if SOC is 0 in kW |
| expansion BS power for SOC 1 | float | no | 0 | 0.0 to inf | Power consumption of the battery controller if SOC is 1 in kW |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| HP flexibility in ts | unsigned int | no | 1 | 0 to inf | The number of time steps an existing heat pump profile can be shifted (in both temporal directions) | no |
| th. E to HP el. E conversion factor | float | yes | Factor for converting a thermal energy per building into a heat pump electricity consumption | no | ||
| Heat consumption apo building V: slope | float | no | 0.0 | 0.0-inf | Parameter for estimating the building heat consumption (in kWh thermal) if no data is given for a building in the data (param: coef. of the linear regression) | no |
| Heat consumption apo building V: intercept | float | no | 0.0 | 0.0-inf | Parameter for estimating the building heat consumption (in kWh thermal) if no data is given for a building in the data (param: intercept of the linear regression) | no |
Notice the difference between individual EVs and the EV charging station (CS): There is only one CS component per control unit, but one single CS can be the home for arbitrary EVs.
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| EV plugin probability | float | no | 0.25 | 0.0 to 1.0 | The probability of plugin in an EV when arraving at home (special cases for low SOC are hard coded) | no |
| EV battery size kWh | float | no | 30.0 | 0.0 to inf | The capacity of a simulated EV | no |
| EV consumption kWh per km | float | no | 0.2 | 0.0 to inf | The electricity consumption of an EV for driving 1 km | no |
| EV max charging power | float | no | 11.0 | 0.0 to inf | The maximum charging power of a simulated EV | no |
| CS max power kW | float | no | -1.0 | 0.0 (ex) to inf | The maximum charging power per charging station component, i.e., per building (regardless of the number of connected EVs). Take care on multi-residential buildings as it holds for them as well. This value will be ignored if the controller mode is not set to the rule-based strategy. | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| expansion profile selection | string | yes | as in data / random | Controls how the profiles (if there are more than one) should be assigned to a new created component | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| open space PV kWp | float | yes | 0.0 to infinity | Additional open space PV power in kWp | no | |
| open space wind kWp | float | yes | 0.0 to infinity | Additional open space wind power in kWp | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| break SAC loop if limit reached | bool | no | true | Should the SAC loop be stopped for an individual combination (like PV + HP) if one of the limits is reached (either PV or HP) (even though HP components should still be added)? | no | |
| CU selection mode for comp. add. | string | yes | - as in data- random- best SSR- best NPV- use list | Controls how to select the control units for expansion.Random: Shuffle the list of units randomly<br>As in data: Use the same sorting present in data (i.e., sorted by unit IDs)In case of best SSR and best NPV a simulation is executed first, where all SSR and NPV values for every control unit are computed, then they are sorted and finally this sorted list is takenIn the case of use list, only the units in the given list (see option cu selection: list of unit IDs to expand) are used for expansion | no | |
| cu selection: list of unit IDs to expand | list of unsigned longs | no | - | - | If the option CU selection mode for comp. add. is set to use list, this list defines the control unit IDs that can be selected for expansion. Otherwise, this parameter is ignored. | no |
| select buildings with given heat demand only | bool | no | no | Select only buildings where the heat consumption is given in the input database, table ‘heat_demand_per_location’. If set to true, parameters Heat consumption apo building V: slope and Heat consumption apo building V: intercept will be ignored. | no | |
| annual heat demand limit for selection | float | no | -1 | -1 (for no limit) or a value between 1 and inf. | Select only buildings where the annual heat consumption is lower or equal than the given limit (in thermal kWh), set to -1 (default) if no limit should be choosen | no |
| select only residential buildings | bool | no | no | If set to yes, only control units representing residential properties will be selected for SAC addition | no | |
| expansion PV max total kWp addition | float | no | no max. set | Maximal size of all added PV installations over all control units | no | |
| expansion BS max total E addition | float | no | -1 | -1 (for no limit) or a value >= 0.0 | Upper limit for the accumulated capacity of all added resid. battery storage systems. If this limit has been reached, no further components will be added to other control units, even if the expansion matrix tells so. | no |
| expansion BS max total P addition | float | no | -1 | -1 (for no limit) or a value >= 0.0 | Upper limit for the accumulated power of all added resid. battery storage systems. If this limit has been reached, no further components will be added to other control units, even if the expansion matrix tells so. | no |
| expansion HP max total addition | unsigned long | no | unset | value >= 0 | Upper limit for the total number of added heat pumps. Once the parameter has been set for a scenario from which it is inherited, it can no longer be set to -1! | no |
| expansion EV max total addition | unsigned long | no | unset | value >= 0 | Upper limit for the total number of added EVs. Once the parameter has been set for a scenario from which it is inherited, it can no longer be set to -1! | no |
| expansion CS max EV per CU | unsigned long | no | unset | value > 0 | Maximum number of EVs per control unit. Units with more EVs will be excluded. Usefull for optimizations. Once the parameter has been set for a scenario from which it is inherited, it can no longer be set to -1! | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| substations without HP addition | list of string | no | Substations, where no HP addition can take place (e.g., because of historic buildings) | no | ||
| substations without PV addition | list of string | no | Substations, where no PV addition can take place (e.g., because of historic buildings) | no | ||
| substations open-space PV potential | dict (substation name: kWp) | no | Open-space PV potential at a given substation, if an emtpy string (“”) is given as key, this value will be applied for all substations (except special rules are defined AFTER the emtpy string | no | ||
| substations wind potential | dict (substation name: kW) | no | TODO DESCRIPTION ! | no | ||
| substations BS potential | dict (substation name: [E in kWh, P in kW]) | no | TODO DESCRIPTION ! | no |
| Config Parameter Name | Type | Required | Default (if not set) | Possible Values | Description | Can be used for parameter variations |
|---|---|---|---|---|---|---|
| controller mode | string | no | rule-based | - rule-based- opti with perfect forecast | Defines the control strategy used inside the control units: rule-based control to optimize (using a linear program) PV self-consumption or an optimization with a perfect forecast | no |
| control horizon in ts | unsigned int | no | 24 | 1 to infinity | If a optimization is used a control strategy, if defines the number of time steps that the optimization looks into the future (i.e., the horizon) | yes |
| control update freq in ts | unsigned int | no | 1 | 1 to infinity | If a optimization is used a control strategy, if defines after how many time steps the optimization is executed again inside the control units (the default value of 1 means, that the optimization is executed every time step) | yes |
| controller allow bs charging from grid | string | no | no grid charging | - no grid charging- only grid charging- grid charging and discharging | Controls whether the battery can be charged from the grid and if the battery can also be discharged into the grid. This option is considered only if a controller mode is selected other than 'rule-based'. | no |
| controller optimization target | string | no | electricity costs | - electricity costs- peak load- emissions | The target of the optimization, if controller mode is set to a value other than 'rule-based'.Use electricity costs to minimize the costs for electricity consumption (minus revenue for feedin) per control unit.Use peak load to minimize the peak load per control unit.Use emissions to minimize the CO2 emissions caused by grid demand.If expansion PV sizing mode or expansion BS capacity computation mode is set to Optimized, this parameter must be set to electricity costs, and in this case, it also considers (discounted) installation costs for PV and/or BESS respecting the global parameters net present value time horizon in years and net present value discount rate for discounting. | no |