Skip to content

Commit 4c08485

Browse files
committed
Small fixes to text
1 parent 0e15783 commit 4c08485

7 files changed

Lines changed: 76 additions & 35 deletions

docs/user-guide/add-agent.ipynb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@
186186
"source": [
187187
"In this scenario we can see that agent `A2` has an intermediate behaviour compared to the two agents in the first simulation, investing in both gas boilers and heat pumps.\n",
188188
"\n",
189+
"## Summary\n",
190+
"\n",
189191
"From this small scenario, the difference between investment strategies between agents is evident. This is one of the key benefits of agent-based models when compared to optimisation-based models.\n",
190192
"\n",
191193
"Have a play around with the files to see if you can come up with different scenarios!"

docs/user-guide/add-gdp-correlation-demand.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"cell_type": "markdown",
1212
"metadata": {},
1313
"source": [
14-
"In the previous section we added an exogenous service demand. That is, we explicitly specified what the demand would be per year. \n",
14+
"In the previous tutorial we added an exogenous service demand. That is, we explicitly specified what the demand would be per year. \n",
1515
"However, we may not know what the electricity demand may be per year. Instead, we may conclude that our electricity demand is a function of the GDP and population of a particular region. \n",
1616
"To accommodate such a scenario, MUSE enables us to choose a regression function that estimates service demands from GDP and population, which may be more certain in your case.\n",
1717
"In this section we will show how this can be done.\n",
@@ -36,11 +36,11 @@
3636
"source": [
3737
"Similarly to before, we must amend the `technodata/preset` folder. As we are no longer explicitly specifying demand, we can delete the `Residential2020Consumption.csv` and `Residential2050Consumption.csv` files. Instead, we must replace these files with the following:\n",
3838
"\n",
39-
"- A macrodrivers file. This contains the drivers of the service demand that we want to model. For this example, these will include GDP based on purchasing power parity (GDP PPP) and the population that we expect from 2010 to 2110.\n",
39+
"- __A macrodrivers file__: This contains the drivers of the service demand that we want to model. For this example, these will include GDP based on purchasing power parity (GDP PPP) and the population that we expect from 2010 to 2110.\n",
4040
"\n",
41-
"- A regression parameters file. This file will set the function type we would like to use to predict the service demand and the respective parameters of this regression file per region.\n",
41+
"- __A regression parameters file__: This file will set the function type we would like to use to predict the service demand and the respective parameters of this regression file per region.\n",
4242
"\n",
43-
"- A timeslice share file. This file sets how the demand is shared between timeslice.\n",
43+
"- __A timeslice share file__: This file sets how the demand is shared between timeslice.\n",
4444
"\n",
4545
"The example files for each of those just mentioned can be found below, respectively:\n",
4646
"\n",

docs/user-guide/add-region.ipynb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
"\n",
2222
"We will add a region called `R2` (however, this could equally be called `USA` or `India`). This requires us to undertake a similar process as before of modifying the input simulation data.\n",
2323
"\n",
24+
"## Input files\n",
25+
"\n",
2426
"We begin by modifying the `settings.toml` file. We just have to add our new region to the `regions` variable, in the 4th line of the file, like so:\n",
2527
"\n",
2628
"```toml\n",
@@ -79,6 +81,8 @@
7981
"cell_type": "markdown",
8082
"metadata": {},
8183
"source": [
84+
"## Results\n",
85+
"\n",
8286
"Again, we will run the results using the ```python -m pip muse settings.toml``` in the command line, and visualize the data as follows:"
8387
]
8488
},
@@ -128,12 +132,21 @@
128132
"source": [
129133
"We can see that `R2` quickly reaches its capacity limit for `heatpump`, and additional investment in `gasboiler` needed to meet the residential heating demand.\n",
130134
"\n",
135+
"## Summary\n",
136+
"\n",
137+
"In this tutorial we have shown how to add a new region to the model, and shown how the `TotalCapacityLimit` parameter can be used to put an upper limit on capacity in a region.\n",
138+
"\n",
131139
"Have a play around with the various costs data in the technodata files for each of the sectors and technologies to see if different scenarios emerge. Although be careful. In some cases, the constraints on certain technologies will make it impossible for the demand to be met and it will give you an error such as the following:\n",
132140
"\n",
133141
" message: 'The algorithm terminated successfully and determined that the problem is infeasible.'\n",
134142
"\n",
135143
"To avoid this error message you may have to relax the constraints in the technodata files (`MaxCapacityGrowth`, `MaxCapacityAddition` and `TotalCapacityLimit`)"
136144
]
145+
},
146+
{
147+
"cell_type": "markdown",
148+
"metadata": {},
149+
"source": []
137150
}
138151
],
139152
"metadata": {

docs/user-guide/add-solar.ipynb

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Adding a new technology"
7+
"# Adding a new technology\n",
8+
"\n",
9+
"In this tutorial we will begin by giving an overview of the input files that MUSE requires to run. We will then show how to modify these files to add a new technology to the model."
810
]
911
},
1012
{
@@ -30,7 +32,7 @@
3032
"\n",
3133
"To create a customised case study it is necessary to edit both of these file types.\n",
3234
"\n",
33-
"Simulation settings are specified in a TOML file. [TOML](https://github.com/toml-lang/toml) is a simple, extensible and intuitive file format well suited for specifying small sets of complex data.\n",
35+
"Simulation settings are specified in a TOML file. [TOML](../inputs/toml_primer.rst) is a simple, extensible and intuitive file format well suited for specifying small sets of complex data.\n",
3436
"\n",
3537
"Simulation data is specified in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) files. This is a common format used for larger datasets, and is made up of columns and rows, with a comma used to differentiate between entries. \n",
3638
"\n",
@@ -124,8 +126,7 @@
124126
"|windturbine|R1|2020|1|0|0|0|0|**0**|\n",
125127
"|**solarPV**|**R1**|**2020**|**1**|**0**|**0**|**0**|**0**|**0**|\n",
126128
"\n",
127-
"Similar to the the ```CommIn.csv```, we create a new row, and add in the solar commodity. We must ensure that we call our new commodity and technologies the same as the previous file for MUSE to successfully run. ie `solar` and `solarPV`.\n",
128-
"\n",
129+
"Similar to the the ```CommIn.csv```, we create a new row, and add in the solar commodity. We must ensure that we call our new commodity and technologies the same as the previous file for MUSE to successfully run. ie `solar` and `solarPV`. \n",
129130
"Please note that we use flat forward extension of the values when only one value is defined. For example, in the `CommOut.csv` we only provide data for the year 2020. Therefore for the benchmark years, 2025, 2030, 2035... we assume the data remains unchanged from 2020."
130131
]
131132
},
@@ -147,15 +148,14 @@
147148
"metadata": {},
148149
"source": [
149150
"Finally, the `Technodata.csv` file contains parametrisation data for the technology, such as the cost, growth constraints, lifetime of the power plant and fuel used. \n",
150-
"\n",
151151
"We will only display the some of the parameters, as the table is too large to display in full. The remaining parameters will be copied from the `windturbine` technology. You can see the full file [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/blob/main/docs/tutorial-code/1-add-new-technology/1-introduction/technodata/power/Technodata.csv), and details about each parameter [here](../inputs/technodata.rst).\n",
152152
"\n",
153-
"|ProcessName|RegionName|Time|Level|cap_par|cap_exp|…|Fuel|EndUse|Agent1|\n",
154-
"|-|-|-|-|-|-|-|-|-|-|\n",
155-
"|Unit|-|Year|-|MUS$2010/PJ_a|-|…|-|-|New|\n",
156-
"|gasCCGT|R1|2020|fixed|23.78234399|1|…|gas|electricity|1|\n",
157-
"|windturbine|R1|2020|fixed|36.30771182|1|…|wind|electricity|1|\n",
158-
"|**solarPV**|**R1**|**2020**|**fixed**|**30**|**1**|...|**solar**|**electricity**|**1**|\n",
153+
"|ProcessName|RegionName|Time|cap_par|cap_exp|…|Fuel|EndUse|Agent1|\n",
154+
"|-|-|-|-|-|-|-|-|-|\n",
155+
"|Unit|-|Year|MUS$2010/PJ_a|-|…|-|-|New|\n",
156+
"|gasCCGT|R1|2020|23.78234399|1|…|gas|electricity|1|\n",
157+
"|windturbine|R1|2020|36.30771182|1|…|wind|electricity|1|\n",
158+
"|**solarPV**|**R1**|**2020**|**30**|**1**|...|**solar**|**electricity**|**1**|\n",
159159
"\n",
160160
"Again, flat forward extension is used. Therefore, as we only provide data for the benchmark year 2020, 2025 and the following benchmark years will keep the same characteristics."
161161
]
@@ -172,7 +172,6 @@
172172
"metadata": {},
173173
"source": [
174174
"Next, navigate to the `input` folder.\n",
175-
"\n",
176175
"We must now edit each of the files found here to add the new `solar` commodity. Due to space constraints we will not display all of the entries contained in every input. You can be view the edited files in full [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/tree/main/docs/tutorial-code/1-add-new-technology/1-introduction)."
177176
]
178177
},
@@ -197,7 +196,6 @@
197196
"metadata": {},
198197
"source": [
199198
"The `Projections.csv` file details the initial market prices for the commodities. The market clearing algorithm will update these throughout the simulation, however an initial estimate is required to start the simulation. As solar energy is free, we will indicate this by adding a final column.\n",
200-
"\n",
201199
"Please note that the unit row is not read by MUSE, but used as a reference for the user. The units should be consistent across all input files for MUSE; MUSE does not carry out any unit conversion.\n",
202200
"\n",
203201
"|RegionName|Attribute|Time|electricity|gas|heat|CO2f|wind|**solar**|\n",
@@ -423,6 +421,15 @@
423421
"For the full example with the completed input files see [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/tree/main/docs/tutorial-code/1-add-new-technology/2-scenario)."
424422
]
425423
},
424+
{
425+
"cell_type": "markdown",
426+
"metadata": {},
427+
"source": [
428+
"## Summary\n",
429+
"\n",
430+
"In this tutorial we have shown how to add a new technology to the model, and how to modify the parameters of this technology. Have a go at modifying some of the other parameters to see how this affects investment decisions. "
431+
]
432+
},
426433
{
427434
"cell_type": "markdown",
428435
"metadata": {},

docs/user-guide/additional-service-demand.ipynb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,11 @@
114114
"|ProcessName|RegionName|Time|cap_par|…|Fuel|EndUse|Agent1|\n",
115115
"|-|-|-|-|-|-|-|-|\n",
116116
"|Unit|-|Year|MUS$2010/PJ_a|…|-|-|New|\n",
117-
"|gasboiler|R1|2020|3.8|…|gas|heat|1|\n",
118117
"|...|...|...|...|...|...|...|...|\n",
119118
"|**electric_stove**|**R1**|**2020**|**8.8667**|**…**|**electricity**|**cook**|**1**|\n",
120119
"|**gas_stove**|**R1**|**2020**|**3.8**|**…**|**gas**|**cook**|**1**|\n",
121120
"\n",
122-
"As can be seen, we have added two technologies with different `cap_par` costs. We specified their respective fuels, and the enduse for both is `cook`. For the full file please see [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/blob/main/docs/tutorial-code/5-add-service-demand/1-exogenous-demand/technodata/power/Technodata.csv)."
121+
"As can be seen, we have added two technologies with different `cap_par` costs. We specified their respective fuels, and the enduse for both is `cook`. For the full file please see [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/blob/main/docs/tutorial-code/5-add-service-demand/1-exogenous-demand/technodata/residential/Technodata.csv)."
123122
]
124123
},
125124
{
@@ -131,9 +130,9 @@
131130
"- `CommOut.csv`\n",
132131
"- `ExistingCapacity.csv`\n",
133132
"\n",
134-
"This is largely a similar process to the tutorial shown in [\"adding a new technology\"](add-solar.ipynb). We must add the input to each of the technologies (gas and electricity for `gas_stove` and `electric_stove` respectively), outputs of `cook` for both and the existing capacity for each technology in each region.\n",
133+
"This is largely a similar process to the previous tutorial. We must add the input to each of the technologies (gas and electricity for `gas_stove` and `electric_stove` respectively), outputs of `cook` for both and the existing capacity for each technology in each region.\n",
135134
"\n",
136-
"To prevent repetition of the [\"adding a new technology\"](add-solar.ipynb) section, we will leave the full files [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/tree/main/docs/tutorial-code/5-add-service-demand/1-exogenous-demand). "
135+
"To prevent repetition of the previous tutorial, we will leave the full files [here](https://github.com/EnergySystemsModellingLab/MUSE_OS/tree/main/docs/tutorial-code/5-add-service-demand/1-exogenous-demand). "
137136
]
138137
},
139138
{
@@ -196,8 +195,17 @@
196195
"cell_type": "markdown",
197196
"metadata": {},
198197
"source": [
199-
"We can see that `electric_stove` is heavily used in the residential sector, and `gas_stove` is barely used at all. Therefore, compared to the default model, there is a larger increase in capacity in the `power` sector to accommodate this increase in demand for electricity, which is largely driven by `windturbine`."
198+
"We can see that `electric_stove` is heavily used in the residential sector, and `gas_stove` is barely used at all. Therefore, compared to the default model, there is a larger increase in capacity in the `power` sector to accommodate this increase in demand for electricity, which is largely driven by `windturbine`.\n",
199+
"\n",
200+
"## Summary\n",
201+
"\n",
202+
"In this tutorial we have shown how to add a service demand to MUSE, and how to add technologies to meet this demand. Try changing the demand profile for `cook` to see how this influences investment decisions."
200203
]
204+
},
205+
{
206+
"cell_type": "markdown",
207+
"metadata": {},
208+
"source": []
201209
}
202210
],
203211
"metadata": {

docs/user-guide/min-max-timeslice-constraints.ipynb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,11 @@
9494
"cell_type": "markdown",
9595
"metadata": {},
9696
"source": [
97-
"Once this has been completed, we can run MUSE as before, with the following command:\n",
97+
"Once you've had a look at these files, run MUSE with the usual command:\n",
9898
"\n",
9999
" python -m muse settings.toml\n",
100100
"\n",
101-
"Next, we will visualise the output of the technologies in each timeslice:"
101+
"We will then visualise the output of the technologies in each timeslice:"
102102
]
103103
},
104104
{
@@ -219,8 +219,17 @@
219219
"source": [
220220
"As expected, we can see an enforced reduction in `windturbine` output in the 2nd (1) and 3rd (2) timeslices.\n",
221221
"\n",
222-
"From the `MCACapacity.csv` file, we can see that the capacity of `windturbine` in this year is 1. Therefore, the results show that `windturbine` is operating at its maximum permitted level in all timeslices apart from the first, where it's operating below this level."
222+
"From the `MCACapacity.csv` file, we can see that the capacity of `windturbine` in this year is 1. Therefore, the results show that `windturbine` is operating at its maximum permitted level in all timeslices apart from the first, where it's operating below this level.\n",
223+
"\n",
224+
"## Summary\n",
225+
"\n",
226+
"In this tutorial we've shown had to impose minimum and maximum constraints on the activity of technologies on a timeslice-basis. Not only will this impact the supply of comodities, but it may also influence investment decisions. You are encouraged to explore the implications of this on your own."
223227
]
228+
},
229+
{
230+
"cell_type": "markdown",
231+
"metadata": {},
232+
"source": []
224233
}
225234
],
226235
"metadata": {

docs/user-guide/modify-timing-data.ipynb

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Modification of time"
7+
"# Modifying the time framework"
88
]
99
},
1010
{
@@ -41,19 +41,19 @@
4141
"\n",
4242
"```toml\n",
4343
"[timeslices.all-year.all-week]\n",
44-
"all-year.all-week.night = 1095\n",
45-
"all-year.all-week.morning = 1095\n",
46-
"all-year.all-week.mid-afternoon = 1095\n",
47-
"all-year.all-week.early-peak = 1095\n",
48-
"all-year.all-week.late-peak = 1095\n",
49-
"all-year.all-week.evening = 1095\n",
50-
"all-year.all-week.early-morning = 1095\n",
51-
"all-year.all-week.late-afternoon = 1095\n",
44+
"night = 1095\n",
45+
"morning = 1095\n",
46+
"mid-afternoon = 1095\n",
47+
"early-peak = 1095\n",
48+
"late-peak = 1095\n",
49+
"evening = 1095\n",
50+
"early-morning = 1095\n",
51+
"late-afternoon = 1095\n",
5252
"```\n",
5353
" \n",
5454
"The total length of the timeslices should add up to 8760; the number of hours in a benchmark year. Whilst this is required, MUSE does not check and enforce this.\n",
5555
" \n",
56-
"Next, we modify both Residential Consumption files. Again, we put the text in bold for the modified entries. We must add the demand for the two additional timelsices, which we call timeslice 7 and 8. We will also change the demand for `heat` in the existing timeslices.\n",
56+
"Next, we modify both Residential Consumption files. Again, we put the text in bold for the modified entries. We must add the demand for the two additional timeslices, which are numbers 7 and 8. We will also change the demand for `heat` in the existing timeslices.\n",
5757
"\n",
5858
"Below is the modified ```Residential2020Consumption.csv``` file:\n",
5959
" \n",
@@ -205,6 +205,8 @@
205205
"cell_type": "markdown",
206206
"metadata": {},
207207
"source": [
208+
"## Summary\n",
209+
"\n",
208210
"As we add more timeslices or years, the model takes longer to run, but slightly different scenarios emerge. This highlights the trade-off between time granularity and speed of computation. It is up to you to decide what level of granularity is required for your use case."
209211
]
210212
},

0 commit comments

Comments
 (0)