\n",
"\n",
"\n",
"Loading ITables v2.3.0 from the internet...\n",
"(need help?)
\n",
"
\n",
"
\n",
"\n",
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import itables as itables\n",
"from itables import init_notebook_mode\n",
"init_notebook_mode(all_interactive=True, connected=True)\n",
"import pandas as pd\n",
"from IPython.core.display import HTML\n",
"\n",
"table = pd.read_csv('../../../attributes.csv')\n",
"core_type_dict = {'int' : 'integer','double':'float','string':'string','int_array':'list-of-integer-values','double_array':'list-of-double-values','xy':'table-xy-curve','xy_array':'list-of-tables','txy':'time-series','txy_stochastic':'stochastic-time-series','txy_step':'stepwise-time-series'}\n",
"object_attributes = table[table[\"Object type\"] == \"area\"].reset_index().iloc[:, 1:]\n",
"for index, row in object_attributes.iterrows():\n",
" object_attributes.at[index, \"Attribute name\"] = f\"\"\"{row['Attribute name']}\"\"\"\n",
" object_attributes.at[index, \"Core data type\"] = f\"\"\"{row['Core data type']}\"\"\"\n",
"itables.show(object_attributes,\n",
" dom='tlip',\n",
" search={'regex': True, \"caseInsensitive\": True},\n",
" column_filters='header',\n",
" columns=[\n",
" {\n",
" 'name': '',\n",
" 'className': 'dt-control',\n",
" 'orderable': False,\n",
" 'data': None,\n",
" 'defaultContent': '',\n",
" },\n",
" {\n",
" 'name': 'Attribute name',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'Python data type',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'Core data type',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'unit',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'I/O',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'License',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'Version added',\n",
" 'className': 'dt-body-left'\n",
" },\n",
" {\n",
" 'name': 'Description',\n",
" 'visible': False\n",
" }\n",
" ]\n",
")\n",
"HTML('''''')"
]
},
{
"cell_type": "markdown",
"id": "1a8ccd01",
"metadata": {},
"source": [
"(area:forward_cost)=\n",
"### forward_cost\n",
"Forward cost per iteration (unit: MEUR)\n",
"\n",
"\n",
"(area:priceTransition)=\n",
"### priceTransition\n",
"The probability of jumping from one price level to another. The nPriceLevels first scenarios represent the transition probability of jumping from price level 1 to 1, 1 to 2, 1 to 3, etc., 1 to nPriceLevels. The next nPriceLevels scenarios represent jumping from 2 to 1, 2 to 2 and so on. (unit: none)\n",
"\n",
"\n",
"(area:reserve_up_obligation)=\n",
"### reserve_up_obligation\n",
"Reserve up obligation (unit: MW)\n",
"\n",
"\n",
"(area:indvan_prd_price_level)=\n",
"### indvan_prd_price_level\n",
"Price level the water values at start time refers to. (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:price)=\n",
"### price\n",
"Market prices. (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:load)=\n",
"### load\n",
"Fixed load to be satisfied. NB: Loads are limited to an internal resolution of accumulated price points, changes within the week will first be accumulated then distributed for sequential price points. (unit: MW)\n",
"\n",
"\n",
"(area:output_price)=\n",
"### output_price\n",
"Output price (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:reserve_down_obligation_cost)=\n",
"### reserve_down_obligation_cost\n",
"Violations of reserve down obligation (unit: MW)\n",
"\n",
"\n",
"(area:transmission_spot_sale_strat)=\n",
"### transmission_spot_sale_strat\n",
"Separate backward transmission limitation for sales to the spot market (used in calibration), same limitations apply. (unit: MW)\n",
"\n",
"\n",
"(area:reserve_down_price)=\n",
"### reserve_down_price\n",
"Reserve down price (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:output_reserve_up_price)=\n",
"### output_reserve_up_price\n",
"Output reserve up price (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:forward_cost_first_run)=\n",
"### forward_cost_first_run\n",
"Forward cost per iteration (first main iteration) (unit: MEUR)\n",
"\n",
"\n",
"(area:water_value_result)=\n",
"### water_value_result\n",
"Aggregated water values (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:lognormal_probabilities)=\n",
"### lognormal_probabilities\n",
"Probabilities (weights) from k-means clustering used in the lognormal inflow model (unit: none)\n",
"\n",
"\n",
"(area:total_energy_consumed)=\n",
"### total_energy_consumed\n",
"Total energy consumed (unit: GWh)\n",
"\n",
"\n",
"(area:priceBand)=\n",
"### priceBand\n",
"The weekly prices corresponding to the price levels calculated by the price model (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:cutFrequency)=\n",
"### cutFrequency\n",
"The number of times a cut is binding is given as an array of XY tables. Each xy table in the array corresponds to a price level in ascending order. The x values are all 0, while the y values represent the frequency. (unit: none)\n",
"\n",
"\n",
"(area:backward_cost_first_run)=\n",
"### backward_cost_first_run\n",
"Backward cost per iteration (first main iteration) (unit: MEUR)\n",
"\n",
"\n",
"(area:transmission_spot_purchase_strat)=\n",
"### transmission_spot_purchase_strat\n",
"Separate backward transmission limitation for purchases from the spot market (used in calibration), same limitations apply. (unit: MW)\n",
"\n",
"\n",
"(area:reserve_up_price)=\n",
"### reserve_up_price\n",
"Reserve up price (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:reserve_down_obligation)=\n",
"### reserve_down_obligation\n",
"Reserve down obligation (unit: MW)\n",
"\n",
"\n",
"(area:backward_cost)=\n",
"### backward_cost\n",
"Backward cost per iteration (unit: MEUR)\n",
"\n",
"\n",
"(area:total_reservoir_volume)=\n",
"### total_reservoir_volume\n",
"Total reservoir volume (unit: GWh)\n",
"\n",
"\n",
"(area:transmission_spot_purchase)=\n",
"### transmission_spot_purchase\n",
"Transmission limitation for purchases from the spot market. NB: Transmission is limited to an internal resolution of accumulated price points, changes within the week will first be accumulated then distributed for sequential price points. (unit: MW)\n",
"\n",
"\n",
"(area:total_reserve_down_allocation)=\n",
"### total_reserve_down_allocation\n",
"Output total reserve down allocation (unit: MW)\n",
"\n",
"\n",
"(area:total_production)=\n",
"### total_production\n",
"Total production (unit: GWh)\n",
"\n",
"\n",
"(area:total_reserve_down_capacity)=\n",
"### total_reserve_down_capacity\n",
"Maximum reserve down capacity (unit: MW)\n",
"\n",
"\n",
"(area:total_reserve_up_allocation)=\n",
"### total_reserve_up_allocation\n",
"Output total reserve up allocation (unit: MW)\n",
"\n",
"\n",
"(area:total_energy_pumped)=\n",
"### total_energy_pumped\n",
"Total energy pumped (unit: GWh)\n",
"\n",
"\n",
"(area:transmission_spot_sale)=\n",
"### transmission_spot_sale\n",
"Transmission limitation for sales to spot market. NB: Transmission is limited to an internal resolution of accumulated price points, changes within the week will first be accumulated then distributed for sequential price points. (unit: MW)\n",
"\n",
"\n",
"(area:reserve_up_obligation_cost)=\n",
"### reserve_up_obligation_cost\n",
"Violations of reserve up obligation (unit: MW)\n",
"\n",
"\n",
"(area:fcost_per_scen)=\n",
"### fcost_per_scen\n",
"Forward cost per scenario from final simulation. (unit: MEUR)\n",
"\n",
"\n",
"(area:output_reserve_down_price)=\n",
"### output_reserve_down_price\n",
"Output reserve down price (unit: EUR/MWh)\n",
"\n",
"\n",
"(area:waterValue)=\n",
"### waterValue\n",
"Aggregated water values at the end of the simulation interval. Each xy table in the array corresponds to a price level in ascending order. The tables consist of 51 xy points, where the x values represent the relative water level in the reservoir in steps of 2% from 100% down to 0% (descending order). The y values are the water values for the given price level and degree of reservoir filling. (unit: % and EUR/MWh)\n",
"\n",
"\n",
"(area:expected_objective_value)=\n",
"### expected_objective_value\n",
"Expected objective value (sum over all scenarios, [production-pump] * price * probability for each scenario, corrected for value of remaining water.) (unit: kEUR)\n",
"\n",
"\n",
"(area:total_reservoir_overflow)=\n",
"### total_reservoir_overflow\n",
"Total reservoir overflow (unit: GWh)\n",
"\n",
"\n",
"(area:total_storable_inflow)=\n",
"### total_storable_inflow\n",
"Total inflow (regulated + unregulated) (unit: GWh)\n",
"\n",
"\n",
"(area:total_nonstorable_inflow)=\n",
"### total_nonstorable_inflow\n",
"Reserved for future use: total unregulated inflow (unit: GWh)\n",
"\n",
"\n",
"(area:cutRHS)=\n",
"### cutRHS\n",
"The right-hand side of the cuts is given as an array of XY tables. Each xy table in the array corresponds to a price level in ascending order. The x values are all 0, while the y values are the right-hand side of the cuts. (unit: kEUR)\n",
"\n",
"\n",
"(area:total_reserve_up_capacity)=\n",
"### total_reserve_up_capacity\n",
"Maximum reserve up capacity (unit: MW)\n",
"\n",
"\n",
"(area:total_discharge)=\n",
"### total_discharge\n",
"Total discharge (unit: GWh)"
]
}
],
"metadata": {
"jupytext": {
"text_representation": {
"extension": ".md",
"format_name": "myst",
"format_version": 0.13,
"jupytext_version": "1.13.8"
}
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.12"
},
"source_map": [
11,
36,
114
]
},
"nbformat": 4,
"nbformat_minor": 5
}