Model Input - Data Files
Time series data, as well as information about buildings and districts, are provided to the District Energy Model (DEM) through data files. Most of these files are stored in Feather format (Apache Software Foundation, 2025).
This section describes the required files, their contents, and the expected data formats. Although all files must be present for the simulation to run, their entries can be set to zero if a dataset is not relevant to a specific case (for example, the wind power file if wind generation is excluded from the scenario).
Note
A full Switzerland-wide data package for DEM simulations is currently in preparation and will be made available soon. This will eliminate the need for users to assemble their own datasets. In the meantime, please reach out to us (Contact) to request access to the data.
All input files must be located within the data directory following the predefined directory structure (see below).
District_Energy_Model/
├── config/
│ ├── ...
│ └── ...
├── data/
│ ├── community_data/
│ │ └── ...
│ ├── electricity_demand/
│ │ └── ...
│ ├── electricity_mix_national/
│ │ └── electricity_mix.feather
│ ├── heat_demand/
│ │ └── DHW_Profile.feather
│ ├── master_data/
│ │ ├── HDD_and_HDH_profiles/
│ │ │ ├── HDD_Municipality_2023.feather
│ │ │ ├── HDD_Municipality_2030.feather
│ │ │ ├── HDD_Municipality_2040.feather
│ │ │ ├── HDD_Municipality_2050.feather
│ │ │ └── ...
│ │ └── simulation_data/
│ │ ├── df_master_sim.feather
│ │ ├── meta_file_2.feather
│ │ ├── simulation_profiles_file.feather
│ │ └── ...
│ ├── tech_wind_power/
│ │ ├── profiles/
│ │ │ └── ...
│ │ └── p_installed_kW_wind_power.feather
│ └── weather_data/
│ └── com_files/
│ └── ...
├── doc/
│ ├── ...
│ └── ...
├── src/
│ ├── ...
│ └── ...
├── LICENSE.txt
└── README.md
Master File
This file contains information about each individual building, with one row per building. District-level information is derived from this file through aggregation. The file may include data for multiple districts; during a simulation, only the buildings belonging to the specified district are selected.
Each building is identified by a unique identification number (column 0: EGID) and assigned to a municipality represented by a numerical code (column 4: GGDENR). Custom districts can also be analyzed by specifying the buildings included in the district via their EGID values.
For Switzerland, data in columns 0 to 15 is sourced from the Federal Register of Buildings and Dwellings (RBD) (Federal Statistical Office, 2025), and the corresponding column naming conventions have been adopted accordingly.
File name |
df_master_sim |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to X, where X is the number buildings contained in the file. |
Number of rows |
According to number of buildings. |
Number of columns |
49 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
EGID |
int64 |
|
1 |
GDEKT |
object |
|
2 |
GKAT |
float64 |
|
3 |
GKLAS |
float64 |
|
4 |
GGDENR |
int64 |
|
5 |
GGDENAME |
object |
|
6 |
GKODE |
float64 |
|
7 |
GKODN |
float64 |
|
8 |
GBAUJ |
float64 |
|
9 |
GBAUP |
float64 |
|
10 |
GAREA |
float64 |
|
11 |
GASTW |
float64 |
|
12 |
GENH1 |
float64 |
|
13 |
GENH2 |
float64 |
|
14 |
GENW1 |
float64 |
|
15 |
GENW2 |
float64 |
|
16 |
Coord_lat |
float64 |
|
17 |
Coord_long |
float64 |
|
18 |
PV_Pot |
float64 |
|
19 |
PV_Pot_reco |
float64 |
|
20 |
FPV_Pot |
float64 |
|
21 |
FPV_Pot_reco |
float64 |
|
22 |
BeginningOfOperation |
object |
|
23 |
InitialPower |
float64 |
|
24 |
TotalPower |
float64 |
|
25 |
PlantCategory |
object |
|
26 |
TotalEnergy |
float64 |
|
27 |
altitude |
int32 |
|
28 |
Temperature_mean |
float64 |
|
29 |
renovation_base |
float64 |
|
30 |
renovation_low |
float64 |
|
31 |
renovation_high |
float64 |
|
32 |
heat_energy_demand_estimate_kWh_combined |
float64 |
|
33 |
dhw_estimatin_kWh_combined |
float64 |
|
34 |
cluster_number |
int64 |
|
35 |
kWh_household_sfh |
float64 |
|
36 |
kWh_household_mfh |
float64 |
|
37 |
Heating_System |
object |
|
38 |
Hot_Water_System |
object |
|
39 |
Electricity_Industry |
float64 |
|
40 |
Electricity_Service |
float64 |
|
41 |
s_wd_bm |
float64 |
|
42 |
s_wet_bm |
float64 |
|
43 |
LocalHydroPotential_Laufkraftwerk |
float64 |
|
44 |
LocalHydroPotential_Speicherkraftwerk |
float64 |
|
45 |
LocalHydroPotential_Pumpspeicherkraftwerk |
float64 |
|
46 |
avg_dh_connection_distance |
float64 |
|
47 |
dh_distance_cat |
int64 |
|
48 |
heat_energy_demand_renov_estimate_kWh |
float64 |
Meta file
This file contains information about each district, with one row per district. Some of the data can be derived as an aggregate from the Master File.
The district identification number (column 1: GGDENR) must match the corresponding municipality code of the buildings listed in the Master File.
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
Municipality |
object |
|
1 |
GGDENR |
int64 |
|
2 |
Canton |
object |
|
3 |
Coord_lat_median |
float64 |
|
4 |
Coord_long_median |
float64 |
|
5 |
altitude_median |
float64 |
|
6 |
Filename |
object |
|
7 |
LocalHydroPotential |
float64 |
|
8 |
LocalHydroPotential_Laufkraftwerk |
float64 |
|
9 |
LocalHydroPotential_Speicherkraftwerk |
float64 |
|
10 |
LocalHydroPotential_Pumpspeicherkraftwerk |
float64 |
|
11 |
v_h_eh |
float64 |
|
12 |
v_h_hp |
float64 |
|
13 |
v_h_dh |
float64 |
|
14 |
v_h_gb |
float64 |
|
15 |
v_h_ob |
float64 |
|
16 |
v_h_wb |
float64 |
|
17 |
v_h_solar |
float64 |
|
18 |
v_h_other |
float64 |
|
19 |
Total_Heating |
float64 |
|
20 |
v_hw_eh |
float64 |
|
21 |
v_hw_hp |
float64 |
|
22 |
v_hw_dh |
float64 |
|
23 |
v_hw_gb |
float64 |
|
24 |
v_hw_ob |
float64 |
|
25 |
v_hw_wb |
float64 |
|
26 |
v_hw_solar |
float64 |
|
27 |
v_hw_other |
float64 |
|
28 |
Total_Hot_Water |
float64 |
|
29 |
PV_Pot |
float64 |
|
30 |
TotalEnergy |
float64 |
|
31 |
kWh_household_sfh |
float64 |
|
32 |
kWh_household_mfh |
float64 |
|
33 |
Electricity_Industry |
float64 |
|
34 |
Electricity_Service |
float64 |
|
35 |
s_wd_bm |
float64 |
|
36 |
s_wet_bm |
float64 |
|
37 |
PV_Filename |
object |
|
38 |
dh_cap_class_1 |
float64 |
|
39 |
dh_cap_class_2 |
float64 |
|
40 |
dh_cap_class_3 |
float64 |
|
41 |
dh_cap_renov_class_1 |
float64 |
|
42 |
dh_cap_renov_class_2 |
float64 |
|
43 |
dh_cap_renov_class_3 |
float64 |
|
44 |
dh_avg_dist_class_1 |
float64 |
|
45 |
dh_avg_dist_class_2 |
float64 |
|
46 |
dh_avg_dist_class_3 |
float64 |
|
47 |
m_per_kWh_class_1_renov |
float64 |
|
48 |
m_per_kWh_class_2_renov |
float64 |
|
49 |
m_per_kWh_class_3_renov |
float64 |
|
50 |
m_per_kWh_class_1 |
float64 |
|
51 |
m_per_kWh_class_2 |
float64 |
|
52 |
m_per_kWh_class_3 |
float64 |
Simulation profiles
This file contains hourly profiles for an entire year (i.e., 8760 hours) representing various generation and demand metrics at national and regional levels.
File name |
simulation_profiles_file |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to 8759, hour of the year |
Number of rows |
8760 |
Number of columns |
51 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
Woody_Biomass_Profile |
float64 |
|
1 |
Wet_Biomass_Profile |
float64 |
|
2 |
Electricity_Profile_MFH |
float64 |
|
3 |
Electricity_Profile_SFH |
float64 |
|
4 |
Electricity_Profile_Industry_AG |
float64 |
|
5 |
Electricity_Profile_Industry_FR |
float64 |
|
6 |
Electricity_Profile_Industry_GL |
float64 |
|
7 |
Electricity_Profile_Industry_GR |
float64 |
|
8 |
Electricity_Profile_Industry_LU |
float64 |
|
9 |
Electricity_Profile_Industry_NE |
float64 |
|
10 |
Electricity_Profile_Industry_SO |
float64 |
|
11 |
Electricity_Profile_Industry_SG |
float64 |
|
12 |
Electricity_Profile_Industry_TI |
float64 |
|
13 |
Electricity_Profile_Industry_TG |
float64 |
|
14 |
Electricity_Profile_Industry_VS |
float64 |
|
15 |
Electricity_Profile_Industry_AI |
float64 |
|
16 |
Electricity_Profile_Industry_AR |
float64 |
|
17 |
Electricity_Profile_Industry_BL |
float64 |
|
18 |
Electricity_Profile_Industry_BS |
float64 |
|
19 |
Electricity_Profile_Industry_BE |
float64 |
|
20 |
Electricity_Profile_Industry_JU |
float64 |
|
21 |
Electricity_Profile_Industry_SZ |
float64 |
|
22 |
Electricity_Profile_Industry_ZG |
float64 |
|
23 |
Electricity_Profile_Industry_OW |
float64 |
|
24 |
Electricity_Profile_Industry_NW |
float64 |
|
25 |
Electricity_Profile_Industry_UR |
float64 |
|
26 |
Electricity_Profile_Industry_GE |
float64 |
|
27 |
Electricity_Profile_Industry_VD |
float64 |
|
28 |
Electricity_Profile_Industry_SH |
float64 |
|
29 |
Electricity_Profile_Industry_ZH |
float64 |
|
30 |
Hydro_Lokal_Laufwasser_Profile |
float64 |
|
31 |
Hydro_Lokal_Speicher_Profile |
float64 |
|
32 |
Hydro_Lokal_Pumpspeicher_Profile |
float64 |
|
33 |
PV_Profile_0 |
float64 |
|
34 |
PV_Profile_1 |
float64 |
|
35 |
PV_Profile_2 |
float64 |
|
36 |
PV_Profile_3 |
float64 |
|
37 |
PV_Profile_4 |
float64 |
|
38 |
PV_Profile_5 |
float64 |
|
39 |
PV_Profile_6 |
float64 |
|
40 |
PV_Profile_7 |
float64 |
|
41 |
PV_Profile_8 |
float64 |
|
42 |
PV_Profile_9 |
float64 |
|
43 |
PV_Profile_10 |
float64 |
|
44 |
Hydro_National_Profile |
float64 |
|
45 |
Nuclear_National_Profile |
float64 |
|
46 |
Solar_National_Profile |
float64 |
|
47 |
Wind_National_Profile |
float64 |
|
48 |
Biomass_National_Profile |
float64 |
|
49 |
Other_National_Profile |
float64 |
|
50 |
Import_National_Profile |
float64 |
Temperatures
These files contains hourly temperature data for an entire year (i.e., 8760 hours) across multiple years (i.e., one column per year). One file must be provided per district, where the temperature values represent spatial averages over the district area.
Past years include historical measurements from monitoring stations, while future years contain projected values based on climate scenarios (see also Climate Adjustment).
File name |
[com_nr], e.g. “2762” for municipality of Allschwil |
Format |
|
Directory |
|
Index |
datetime format; hourly entries; e.g., 2016-01-01 00:00:00 to 2016-12-31 23:00:00 |
Number of rows |
8760 |
Number of columns |
according to number of captured years |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
2016 |
float64 |
|
1 |
2023 |
float64 |
|
2 |
2024 |
float64 |
|
3 |
2025 |
float64 |
|
4 |
2030 |
float64 |
|
5 |
2040 |
float64 |
|
6 |
2050 |
float64 |
DHW profile
This file contains an hourly domestic hot water (DHW) demand profile for an entire year (i.e., 8760 hours). The profile is normalised to 1 and can be scaled according to the annual DHW demand of the district or building.
File name |
DHW_Profile |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to 8759, hour of the year |
Number of rows |
8760 |
Number of columns |
1 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
DHW_Profile |
float64 |
Wind power capacity
This file contains the currently installed wind power capacity (in kW) for each municipality.
File name |
p_installed_kW_wind_power |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to X, where X is the number districts contained in the file. |
Number of rows |
According to number of districts. |
Number of columns |
2 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
Municipality |
object |
|
1 |
p_kW |
float64 |
Wind power profiles
These files contain normalised hourly wind power generation profiles aggregated at the municipal level. For each municipality, two files are provided: one representing profiles optimised for maximum annual generation, and another optimised for maximum winter generation.
For Switzerland, the Wind-Topo dataset is used (Dujardin and Lehning, 2022a and 2022b).
in progress
National electricity mix
This file contains hourly profiles of the national electricity mix. The data include the hourly contribution of each generation technology and are used to create normalised profiles of national electricity generation technologies.
File name |
electricity_mix |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to 8759, hour of the year |
Number of rows |
8760 |
Number of columns |
10 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
Hydro Pumpspeicher |
float64 |
|
1 |
Hydro Laufwasser |
float64 |
|
2 |
Hydro Speicher |
float64 |
|
3 |
Nuclear |
float64 |
|
4 |
Solar |
float64 |
|
5 |
Wind |
float64 |
|
6 |
Biomass |
float64 |
|
7 |
Other |
float64 |
|
8 |
Load |
float64 |
|
9 |
Import |
float64 |
HDD Profiles
These files contain the number of heating degree days (HDD) per year for each municipality, calculated for base temperatures of 12 °C and 15 °C. Each file corresponds to one simulation year, and each row represents a single municipality.
File name |
HDD_Municipality_[year] |
Format |
|
Directory |
|
Index |
Numeric (integer), 0 to X, where X is the number districts contained in the file. |
Number of rows |
According to number of districts. |
Number of columns |
4 |
Number |
Column |
Data type |
Description |
|---|---|---|---|
0 |
Municipality |
object |
|
1 |
HDD_12_2023 |
float64 |
|
2 |
HDD_15_2023 |
float64 |
|
3 |
GGDENR |
int64 |
EV demand profiles
For Switzerland, the dataset by Herrera and Hug (2025a; 2025b) is used to model hourly EV charging demand and daily flexibility.
in progress
References
Apache Software Foundation. (2025). Feather file format (Apache Arrow). https://arrow.apache.org/docs/python/feather.html
Dujardin, J., Lehning, M. (2022a). Wind-Topo_model. EnviDat. https://www.doi.org/10.16904/envidat.301.
Dujardin, J., & Lehning, M. (2022b). Wind‐Topo: Downscaling near‐surface wind fields to high‐resolution topography in highly complex terrain with deep learning. Quarterly Journal of the Royal Meteorological Society, 148(744), 1368-1388. https://doi.org/10.1002/qj.4265
Parajeles Herrera, M., & Hug, G. (2025a). Charging Demand and Flexibility Bounds for Large-Scale BEV Fleets - The Case Study of Switzerland [Data set]. Zenodo. https://doi.org/10.5281/zenodo.16597426
Herrera, M. P., & Hug, G. (2025b). Modeling Charging Demand and Quantifying Flexibility Bounds for Large-Scale BEV Fleets. arXiv preprint arXiv:2504.03633. https://doi.org/10.48550/arXiv.2504.03633
Federal Statistical Office (FSO). (2025). Federal register of buildings and dwellings (RBD). https://www.bfs.admin.ch/bfs/en/home/registers/federal-register-buildings-dwellings.html