diff --git a/docs/api/custom-curves.md b/docs/api/custom-curves.md index 46b9e4e..31a6a3b 100644 --- a/docs/api/custom-curves.md +++ b/docs/api/custom-curves.md @@ -9,7 +9,7 @@ import ApiEndpoint from '@site/src/components/ApiEndpoint'; Curves are used extensively within the ETM to control the behavior of various technologies. Most these curves vary depending on the region selected for a scenario, while others are generated dynamically based on choices made by the end-user. -In some cases it's possible for a user to upload a custom curve, which will be used instead of the defaults. For example, uploading a curve to change the price of imported electricity changes when it is profitable to import electricity rather than generating it domestically. +In some cases it's possible for a user to upload a custom curve, which will be used instead of the defaults. For example, uploading a curve to change the price of imported electricity changes when it is profitable to import electricity rather than generating it domestically. Read more about modifiable curves and the different types of curves [here](/main/curves/#modifying-profiles). ## The Curve object @@ -42,11 +42,12 @@ The API allows you to customise a number of curves used by the model's hourly ca ### Curve types -The curve type is part of the API response which describes the way the uploaded curve will be processed prior to use in a scenario. +The curve type is part of the API response which describes the way the uploaded curve will be processed prior to use in a scenario. Read more about the different curve types in the documentation about [modifiable curves](/main/curves/#modifying-profiles). A brief description is provided here: -* `generic` – Uploaded curves of this type will be validated to ensure that the curve contains 8,760 numeric values, but no other processing is performed and these curves are stored as provided. * `price` – Donates that the curve is a price curve. The provided file should contain 8,760 numeric values representing euros and cents, without any currency formatting. You may also provide an exported price curve from the Energy Transition Model (a comma-separated file with a "price" column). Each hourly value is rounded to the nearest cent. * `profile` – The curve is a load profile and should contain 8,760 numeric values. The values themselves are not important as the curve will be normalized by the model to represent the shape of demand. +* `capacity_profile` - The curve represents the fraction of peak capacity deployed for each hour and should contain 8,760 numeric values. +* `availability` - Represents the availability for which a value between 0 and 1 should be provided for each hour. The file should contain 8,760 numeric values. * `temperature` – These curves describe 8,760 hourly temperature values in °C. No formatting should be present in uploaded files. ## Get all custom curves diff --git a/docs/main/curves.md b/docs/main/curves.md index 18f5840..b7ff414 100644 --- a/docs/main/curves.md +++ b/docs/main/curves.md @@ -59,23 +59,27 @@ For all other countries the time curves are based on the Primes reference scenar _Checkout: the [ETDataset - curves](https://github.com/quintel/etdataset-public/tree/master/curves) as it contains all raw data, scripts and further explanations._ ## Modifying Profiles -The ETM calculates the hourly production and demand of gas, electricity, heat and hydrogen. These curves can be modified by uploading your own curves in the [Modify profiles](https://energytransitionmodel.com/scenario/flexibility/curve_upload/upload-curves) section. +The ETM calculates the supply and demand of gas, electricity, heat and hydrogen on an hourly basis, for which it uses default curves. These curves can be modified by uploading custom curves in the [Modify profiles](https://energytransitionmodel.com/scenario/flexibility/curve_upload/upload-curves) section. Note that uploaded curves are scenario inputs; based on these profiles, the model calculates the resulting (hourly) flows. ### Types of profiles -You can upload three types of profiles: +The following profile types can be uploaded: - 1. Demand profiles. These profiles specify the fraction of annual demand used in each hour of the year (8760 hours) for a specific category. The values in your uploaded curve do not matter: the ETM will convert your file to a new curve which respects the shape of your original. Example of profiles are: electric buses, industry heating. + 1. **Regular profiles**. These profiles are typically used for demand profiles and represent the fraction of annual demand used in each hour of the year (8760 hours) for a specific category. The unit used in the uploaded curve file does not matter: the model uses the shape of the profile (the relative distribution of demand over time). For example, if the profile sums up to 500 and the first hour has a value of 5, 1% of the annual demand for this category is assigned to the first hour. Examples of regular profiles are: electric buses, industry heating. - 2. Production profiles ('capacity profiles'). These profiles specify for each hour per year the fraction of installed capacity used in that hour for a specific production technology. The sum of all hours should equal the total annual full load hours of that technology. Example of profiles are: solar PV, wind offshore. + 2. **Capacity profiles**. These profiles are typically used for supply profiles and represent the fraction of installed capacity used for each hour of the year for a specific production technology. For example, a value of 0.5 means that 50% of peak capacity is utilised in that hour. The sum of all hours should equal the total annual full load hours of that technology. Examples of profiles are: solar PV, wind offshore. Note that a capacity profile is also used for the must-run interconnectors import and export profiles. - 3. Price curves. These profiles specify a price for each hour per year. The unit is €/MWh. Example of a profile is: imported electricity. + 3. **Price curves**. These profiles are used for the interconnector prices and represent the price for each hour of the year. The unit is €/MWh and the value for each hour will be rounded to the nearest whole cent. Example profile: interconnector 1 electricity price. + + 4. **Availability curves**. These profiles are used for interconnector import and export availability and represent the availability of the interconnector for each hour of the year. Values should be specified between 0 and 1 for each hour, where for example 0.5 means that 50% of the capacity is available, 0 that no capacity is available or 1 that all capacity is available. Example profile: interconnector 1 import availability. + + 5. **Temperature curve**. Used to set the air temperature profile and represents the outdoor air temperature for each hour of the year. The unit is degrees Celsius. ### Uploading a custom profile -In the curve upload section, you can choose a curve profile you want to overwrite using the curve upload form. Simply choose a profile by clicking on the drop-down menu and selecting the specific profile you want to overwrite. To upload your own curve profile you have to click on the 'Upload a custom curve' button below the drop-down menu. This will allow you to choose a file from your computer. +In the curve upload section, simply choose a profile by clicking on the drop-down menu and select the specific profile to be overwritten. Click on 'Upload a custom curve' to provide a CSV file. ![Upload form](/img/docs/curve-upload-form.png) -Your file should be a CSV file with 8,760 rows (one for each hour per year) each with a numeric value specifying the demand, supply or price over time. +The CSV file should contain 8,760 rows (one for each hour per year) each with a numeric value. See additional value requirements per profile type described above. ``` 23.64 @@ -86,18 +90,17 @@ Your file should be a CSV file with 8,760 rows (one for each hour per year) each etc ``` -For **price curves**, the unit of the values is €/MWh. The price in each hour will be rounded to the nearest whole cent. - -For **supply** curves ('capacity profiles'), the sum of the profile should equal the total annual number of full load hours of the specific technology. This means that for each hour the profile should contain a value between 0 and 1 specifying the fraction of peak capacity used in that hour. E.g. a value of 0.5 means that 50% of peak capacity is utilised in that hour. +It is also possible to download the uploaded profiles in the same section. For all profile types except regular profiles, downloaded profiles are obtained in the same format as they were uploaded. When downloading a profile of type 'regular profile', a normalised profile is obtained where the shape of the orginially uploaded profile is maintained. -For **demand** curves (which also includes gas import/export curves) the unit used does not matter. The ETM will only use the _shape_ of your profile. For example, if your profile sums up to 500 and the first hour has a value of 5, 1% of the annual demand in the ETM is assigned to the first hour. +### Results +Based on uploaded supply and demand profiles and on annual flows, the model calculates resulting hourly profiles representing the hourly energy flows. The chart on the right in the ETM section shows for all modifiable supply and demand categories the resulting hourly profiles. This means, for example, that if a _capacity profile_ for wind offshore is uploaded, the profile depicted in the chart is **not** the _capacity profile_ that represents the fraction of installed capacity deployed per hour. Instead, it shows the resulting deployed capacity in MW for each hour of the year. These resulting hourly supply and demand profiles can be downloaded in the [Data export](https://energytransitionmodel.com/scenario/data/data_export/overview) section. -Click on the question mark in the curve upload form for specific file instructions about the selected curve. +![Modify profiles chart](/img/docs/modify_profiles.png) +Note that if a technology is not present in the scenario, the chart series will remain empty. By default, the chart shows the daily peak capacity of the profile for the whole year. Select a month or week in the dropdown menu to see the hourly values. ### Interaction with Weather Years -The ETM allows users to select different [weather years](weather-conditions.md). This affects all supply and demand profiles that are weather-dependent, such as heat demand and production of wind and solar power. When uploading a custom profile using the CSV upload form, **_the ETM always prioritizes the uploaded curve over any standard curves used within the ETM_**. This means that even if you choose a different weather year any uploaded profiles will remain intact while other profiles will change according to that weather year. - +The ETM allows users to select different [weather years](weather-conditions.md). This affects all supply and demand profiles that are weather-dependent, such as heat demand and production of wind and solar power. When uploading a custom profile using the CSV upload form, **_the ETM always prioritises the uploaded curve over any standard curves used within the ETM_**. This means that even if a different weather year is chosen, any uploaded profiles will remain unchanged while other profiles will change according to that weather year. ### Comments on selected profiles The table below provides some additional information on selected categories. @@ -110,9 +113,3 @@ The table below provides some additional information on selected categories. |**Demand: Electric cars**|You can upload 5 different profiles for electric cars. The ETM uses a mix of these profiles depending on your choices in the [Demand response - electric vehicles](https://energytransitionmodel.com/scenario/flexibility/flexibility_net_load/demand-response-electric-vehicles) section.| |**Import/Export: Gases**| The ETM uses 'demand' type profiles for both import and export (see above). This means that the units used in your custom profile do not matter. The ETM will extract the _shape_ of your profile and apply that to the annual import/export volume.| |**Import/Export: Interconnectors**|See [imported electricity](costs-imported-electricity.md#uploaded-price-curves)| - - -### Results -The chart on the right shows the profiles of all categories that can be modified. If you upload a custom profile, this is reflected in the chart. Note that if a technology is not present in your scenario, the chart series will be empty. By default, the chart shows the daily peak capacity of the profile for the whole year. Select a month or week in the dropdown menu to see the hourly values. You can download the hourly demand and supply curves in your scenario in the [Data export](https://energytransitionmodel.com/scenario/data/data_export/overview) section. - -![Modify profiles chart](/img/docs/modify_profiles.png) diff --git a/docs/main/scenario-tools/creating-and-updating.md b/docs/main/scenario-tools/creating-and-updating.md index 3da1fd1..d9ff51a 100644 --- a/docs/main/scenario-tools/creating-and-updating.md +++ b/docs/main/scenario-tools/creating-and-updating.md @@ -49,11 +49,11 @@ a value. This will reset the slider to its standard value. ::: ### curves -In the `input/curves` folder you can add custom demand, supply and price curves to use in your scenarios. These curves can be used to overwrite the default ETM [profiles](https://docs.energytransitionmodel.com/main/curves#modifying-profiles). In the `scenario_list.csv` file you specify for each scenario which CSV curve file to use by adding the file name to the `curve_file` column. +In the `input/curves` folder you can add custom demand, supply, price, availability and temperature curves to use in your scenarios. These curves can be used to overwrite the default ETM [profiles](https://docs.energytransitionmodel.com/main/curves#modifying-profiles). In the `scenario_list.csv` file you specify for each scenario which CSV curve file to use by adding the file name to the `curve_file` column. Each file should look as follows: * The first row of each column should contain the key of the category you want to upload a custom curve for. A full ist of available keys can be found on [Github](https://github.com/quintel/etsource/blob/production/config/user_curves.yml). Example: *interconnector_1_price* - * Row 2-8761 should contain the hourly values (one for each hour per year) + * Row 2-8761 should contain the hourly values (one for each hour per year). Read de documentation about [modifiable profiles](https://docs.energytransitionmodel.com/main/curves#modifying-profiles) for more details on the value requirements per profile type. * You can add multiple columns to customize multiple profiles * You can add multiple CSV files in case you want to use different profiles for different scenarios diff --git a/docs/main/scenario-tools/creating-templates.md b/docs/main/scenario-tools/creating-templates.md index e219148..ddc44c7 100644 --- a/docs/main/scenario-tools/creating-templates.md +++ b/docs/main/scenario-tools/creating-templates.md @@ -7,7 +7,9 @@ It's possible to adopt the settings of an existing scenario, which we then call ## Obtain scenario settings By running the tool, the script will create a `template_settings.csv` file in the `output/` folder. This file provides an overview of all slider settings for each scenario template as provided in the [template list](#template_listcsv) file. -In addition, it is also possible to obtain balanced slider settings, custom orders (e.g. hydrogen supply and demand orders, heat network orders) and custom uploaded curves of the template scenarios. When the balanced slider settings and heat network orders are obtained, these are provided in respectively `output/template_settings_balanced_values.csv` and `output/orders/heat_network_orders.csv` containing the relevant output for all scenarios. Custom orders other than the heat network orders are provided in `output/orders` in a separate CSV per scenario. Similarly, custom curves are provided in `output/curves` in a separate CSV per scenario. +In addition, it is also possible to obtain balanced slider settings, custom orders (e.g. hydrogen supply and demand orders, heat network orders) and uploaded custom curves of the template scenarios. When the balanced slider settings and heat network orders are obtained, these are provided in respectively `output/template_settings_balanced_values.csv` and `output/orders/heat_network_orders.csv` containing the relevant output for all scenarios. Custom orders other than the heat network orders are provided in `output/orders` in a separate CSV per scenario. + +Similarly, custom curves are provided in `output/curves` in a separate CSV per scenario. Note that obtained custom curves represent the curves that were uploaded to a scenario as input and will be obtained in the same format as they were uploaded. More information about modifiable profiles can be found [here](/main/curves#modifying-profiles). These curves thus do not represent the profiles with hourly energy flows that are a result of scenario calculations. The profiles with hourly energy flows can be obtained via the [data_downloads.csv](retrieving-data#data_downloadscsv). ### Setting up the input CSV file For running this part of the tool only one input CSV file is needed: the one that specifies from which