From 5ab3b57ab658470106df5d096ff455d375059366 Mon Sep 17 00:00:00 2001 From: Erik Lien Johnsen Date: Thu, 12 Sep 2024 11:12:47 +0200 Subject: [PATCH] New scenarios and bid config to match multi scenario 20 in v0, plus improved names, and adding 0.01 to buy_price (#370) * New scenarios and bid config to match multi scenario 20 in v0, plus improved names * Adding 0.01 to buy_price * Fixing price_independent --- scripts/mapping.ipynb | 52 +- .../fornebu/bid_configuration_day_ahead.yaml | 25 +- .../v1/fornebu/shop_attribute_mapping.yaml | 561 +++++++++++++++--- .../shop_based_partial_bid_configuration.yaml | 317 +++++++--- tests/data/demo/v1/fornebu/shop_scenario.yaml | 212 ++++++- .../demo/v1/fornebu/shop_scenario_set.yaml | 36 +- 6 files changed, 994 insertions(+), 209 deletions(-) diff --git a/scripts/mapping.ipynb b/scripts/mapping.ipynb index cde38d7ee..08776db15 100644 --- a/scripts/mapping.ipynb +++ b/scripts/mapping.ipynb @@ -8,10 +8,11 @@ "source": [ "import yaml\n", "no2_price_scenario_mappings = []\n", - "for attr_name in [\"buy_price\", \"sale_price\"]:\n", - " for price_offset in range(-200, 200+1, 20):\n", + "price_offsets_in_multi_scenario_20 = {-500, -50, -40, -30, -20, -15, -10, -5, 5, 10, 15, 20, 30, 40, 50, 70, 100, 2000}\n", + "for attr_name, add_extra in {\"buy_price\": 0.01, \"sale_price\": 0}.items():\n", + " for add_to_price in sorted(price_offsets_in_multi_scenario_20.union(set(range(-200, 200+1, 20)))):\n", " no2_price_scenario_mappings.append({\n", - " \"external_id\": f\"no2_{attr_name}_offset_{price_offset}\",\n", + " \"external_id\": f\"no2_{attr_name}_{'plus' if add_to_price>0 else 'minus'}_{abs(add_to_price)}_first_24h\",\n", " \"object_type\": \"market\",\n", " \"object_name\": \"Dayahead\",\n", " \"attribute_name\": attr_name,\n", @@ -20,14 +21,44 @@ " \"AddFromOffset\": {\n", " \"parameters\": {\n", " \"relative_datapoints\": [\n", - " {\"offset_minute\": 0.0, \"offset_value\": price_offset},\n", - " {\"offset_minute\": 1440.0, \"offset_value\": 0.0},\n", + " {\"offset_minute\": 0.0, \"offset_value\": add_to_price+add_extra},\n", + " {\"offset_minute\": 1440.0, \"offset_value\": 0.0+add_extra},\n", " ]\n", " }\n", " }\n", " },\n", " ],\n", " })\n", + " for price_multiplier in {0}:\n", + " no2_price_scenario_mappings.append({\n", + " \"external_id\": f\"no2_{attr_name}_multiply_{price_multiplier}_first_24h\",\n", + " \"object_type\": \"market\",\n", + " \"object_name\": \"Dayahead\",\n", + " \"attribute_name\": attr_name,\n", + " \"time_series\": f\"[external_id]907677\",\n", + " \"transformations\": ([{\n", + " \"AddFromOffset\": {\n", + " \"parameters\": {\n", + " \"relative_datapoints\": [\n", + " {\"offset_minute\": 0.0, \"offset_value\": add_extra},\n", + " {\"offset_minute\": 1440.0, \"offset_value\": add_extra},\n", + " ]\n", + " }\n", + " }\n", + " }] if add_extra != 0 else [])+\n", + " [{\n", + " \"MultiplyFromOffset\": {\n", + " \"parameters\": {\n", + " \"relative_datapoints\": [\n", + " {\"offset_minute\": 0.0, \"offset_value\": price_multiplier},\n", + " {\"offset_minute\": 1440.0, \"offset_value\": price_multiplier},\n", + " ]\n", + " }\n", + " }\n", + " },\n", + " ],\n", + " })\n", + "\n", "\n", "print(yaml.safe_dump(no2_price_scenario_mappings, sort_keys=False))" ] @@ -133,12 +164,15 @@ "plants = plants_with_schedule\n", "for plant in plants:\n", " for add_steps in [True, False]:\n", - " for number_of_scenarios_in_scenario_set in [\"2\", \"3\"]:\n", + " for number_of_scenarios_in_scenario_set in [\"1\", \"2\", \"3\", \"20\"]:\n", + " if add_steps and number_of_scenarios_in_scenario_set == \"1\":\n", + " continue\n", + " method = f\"multi scenario {number_of_scenarios_in_scenario_set}\" if number_of_scenarios_in_scenario_set != \"1\" else \"price independent\"\n", " print(f\"- name: {plant} {number_of_scenarios_in_scenario_set}{' step' if add_steps else ''}\")\n", - " print(f\" method: multi scenario {number_of_scenarios_in_scenario_set}\")\n", - " print(f\" power_asset: \\\"[external_id]plant_water_value_based_{plant.lower()}\\\"\")\n", + " print(f\" method: {method}\")\n", + " print(f\" power_asset: \\\"[external_id]plant_information_{plant.lower()}\\\"\")\n", " print(f\" add_steps: {add_steps}\")\n", - " print(f\" scenario_set: \\\"[name|type:ShopScenarioSet]{number_of_scenarios_in_scenario_set} scenarios\\\"\")\n", + " print(f\" scenario_set: \\\"[name]Fornebu {number_of_scenarios_in_scenario_set} scenario{'s' if number_of_scenarios_in_scenario_set!='1' else ''}\\\"\")\n", " " ] }, diff --git a/tests/data/demo/v1/fornebu/bid_configuration_day_ahead.yaml b/tests/data/demo/v1/fornebu/bid_configuration_day_ahead.yaml index 4fa6effb4..44b57bf34 100644 --- a/tests/data/demo/v1/fornebu/bid_configuration_day_ahead.yaml +++ b/tests/data/demo/v1/fornebu/bid_configuration_day_ahead.yaml @@ -10,7 +10,15 @@ price_area: "[external_id]price_area_information_no2" bid_date_specification: "[name]Default BidDate" partials: - - "[name|type:ShopBasedPartialBidConfiguration]plant A set A" + - "[external_id]shop_based_partial_bid_configuration_strand_krv_1" + - "[external_id]shop_based_partial_bid_configuration_rull2_1" + - "[external_id]shop_based_partial_bid_configuration_rull1_1" + - "[external_id]shop_based_partial_bid_configuration_lien_krv_1" + - "[external_id]shop_based_partial_bid_configuration_dalby_1" + - "[external_id]shop_based_partial_bid_configuration_holen_1" + - "[external_id]shop_based_partial_bid_configuration_landet_1" + - "[external_id]shop_based_partial_bid_configuration_scott_1" + - "[external_id]shop_based_partial_bid_configuration_lund_1" - name: Multi Scenario 2 NO2 market_configuration: "[external_id]market_configuration_nord_pool_day_ahead" price_area: "[external_id]price_area_information_no2" @@ -79,3 +87,18 @@ - "[external_id]shop_based_partial_bid_configuration_holen_3" - "[external_id]shop_based_partial_bid_configuration_landet_2" - "[external_id]shop_based_partial_bid_configuration_lund_3_step" + +- name: Multi scenario 20 NO2 + market_configuration: "[name]Nord Pool Day-Ahead" + price_area: "[external_id]price_area_information_no2" + bid_date_specification: "[name]Default BidDate" + partials: + - "[external_id]shop_based_partial_bid_configuration_strand_krv_20_step" + - "[external_id]shop_based_partial_bid_configuration_rull2_20_step" + - "[external_id]shop_based_partial_bid_configuration_rull1_20_step" + - "[external_id]shop_based_partial_bid_configuration_lien_krv_20_step" + - "[external_id]shop_based_partial_bid_configuration_dalby_20_step" + - "[external_id]shop_based_partial_bid_configuration_holen_20_step" + - "[external_id]shop_based_partial_bid_configuration_landet_20_step" + - "[external_id]shop_based_partial_bid_configuration_scott_20_step" + - "[external_id]shop_based_partial_bid_configuration_lund_20_step" diff --git a/tests/data/demo/v1/fornebu/shop_attribute_mapping.yaml b/tests/data/demo/v1/fornebu/shop_attribute_mapping.yaml index 72ddedff7..ac5c4a7ff 100644 --- a/tests/data/demo/v1/fornebu/shop_attribute_mapping.yaml +++ b/tests/data/demo/v1/fornebu/shop_attribute_mapping.yaml @@ -2779,9 +2779,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_rull2_production_schedule_flag +- external_id: base_mapping_fornebu_plant_holen_production_schedule_flag object_type: plant - object_name: Rull2 + object_name: Holen attribute_name: production_schedule_flag time_series: null transformations: @@ -2790,9 +2790,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_dalby_production_schedule_flag +- external_id: base_mapping_fornebu_plant_rull1_production_schedule_flag object_type: plant - object_name: Dalby + object_name: Rull1 attribute_name: production_schedule_flag time_series: null transformations: @@ -2801,9 +2801,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_scott_production_schedule_flag +- external_id: base_mapping_fornebu_plant_dalby_production_schedule_flag object_type: plant - object_name: Scott + object_name: Dalby attribute_name: production_schedule_flag time_series: null transformations: @@ -2823,9 +2823,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_holen_production_schedule_flag +- external_id: base_mapping_fornebu_plant_strand_krv_production_schedule_flag object_type: plant - object_name: Holen + object_name: Strand_krv attribute_name: production_schedule_flag time_series: null transformations: @@ -2834,9 +2834,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_rull1_production_schedule_flag +- external_id: base_mapping_fornebu_plant_scott_production_schedule_flag object_type: plant - object_name: Rull1 + object_name: Scott attribute_name: production_schedule_flag time_series: null transformations: @@ -2845,9 +2845,9 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: base_mapping_fornebu_plant_strand_krv_production_schedule_flag +- external_id: base_mapping_fornebu_plant_rull2_production_schedule_flag object_type: plant - object_name: Strand_krv + object_name: Rull2 attribute_name: production_schedule_flag time_series: null transformations: @@ -2856,7 +2856,7 @@ relative_datapoints: - offset_minute: 0.0 offset_value: 0 -- external_id: no2_buy_price_offset_-200 +- external_id: no2_buy_price_minus_500_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2866,10 +2866,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -200 + offset_value: -499.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-180 + offset_value: 0.01 +- external_id: no2_buy_price_minus_200_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2879,10 +2879,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -180 + offset_value: -199.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-160 + offset_value: 0.01 +- external_id: no2_buy_price_minus_180_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2892,10 +2892,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -160 + offset_value: -179.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-140 + offset_value: 0.01 +- external_id: no2_buy_price_minus_160_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2905,10 +2905,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -140 + offset_value: -159.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-120 + offset_value: 0.01 +- external_id: no2_buy_price_minus_140_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2918,10 +2918,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -120 + offset_value: -139.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-100 + offset_value: 0.01 +- external_id: no2_buy_price_minus_120_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2931,10 +2931,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -100 + offset_value: -119.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-80 + offset_value: 0.01 +- external_id: no2_buy_price_minus_100_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2944,10 +2944,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -80 + offset_value: -99.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-60 + offset_value: 0.01 +- external_id: no2_buy_price_minus_80_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2957,10 +2957,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -60 + offset_value: -79.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-40 + offset_value: 0.01 +- external_id: no2_buy_price_minus_60_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2970,10 +2970,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -40 + offset_value: -59.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_-20 + offset_value: 0.01 +- external_id: no2_buy_price_minus_50_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2983,10 +2983,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: -20 + offset_value: -49.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_0 + offset_value: 0.01 +- external_id: no2_buy_price_minus_40_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -2996,10 +2996,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 0 + offset_value: -39.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_20 + offset_value: 0.01 +- external_id: no2_buy_price_minus_30_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3009,10 +3009,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 20 + offset_value: -29.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_40 + offset_value: 0.01 +- external_id: no2_buy_price_minus_20_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3022,10 +3022,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 40 + offset_value: -19.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_60 + offset_value: 0.01 +- external_id: no2_buy_price_minus_15_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3035,10 +3035,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 60 + offset_value: -14.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_80 + offset_value: 0.01 +- external_id: no2_buy_price_minus_10_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3048,10 +3048,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 80 + offset_value: -9.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_100 + offset_value: 0.01 +- external_id: no2_buy_price_minus_5_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3061,10 +3061,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 100 + offset_value: -4.99 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_120 + offset_value: 0.01 +- external_id: no2_buy_price_minus_0_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3074,10 +3074,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 120 + offset_value: 0.01 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_140 + offset_value: 0.01 +- external_id: no2_buy_price_plus_5_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3087,10 +3087,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 140 + offset_value: 5.01 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_160 + offset_value: 0.01 +- external_id: no2_buy_price_plus_10_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3100,10 +3100,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 160 + offset_value: 10.01 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_180 + offset_value: 0.01 +- external_id: no2_buy_price_plus_15_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3113,10 +3113,10 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 180 + offset_value: 15.01 - offset_minute: 1440.0 - offset_value: 0.0 -- external_id: no2_buy_price_offset_200 + offset_value: 0.01 +- external_id: no2_buy_price_plus_20_first_24h object_type: market object_name: Dayahead attribute_name: buy_price @@ -3126,10 +3126,212 @@ parameters: relative_datapoints: - offset_minute: 0.0 - offset_value: 200 + offset_value: 20.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_30_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 30.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_40_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 40.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_50_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 50.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_60_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 60.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_70_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 70.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_80_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 80.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_100_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 100.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_120_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 120.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_140_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 140.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_160_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 160.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_180_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 180.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_200_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 200.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_plus_2000_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 2000.01 + - offset_minute: 1440.0 + offset_value: 0.01 +- external_id: no2_buy_price_multiply_0_first_24h + object_type: market + object_name: Dayahead + attribute_name: buy_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 0.01 + - offset_minute: 1440.0 + offset_value: 0.01 + - MultiplyFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 0 + - offset_minute: 1440.0 + offset_value: 0 +- external_id: no2_sale_price_minus_500_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -500 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-200 +- external_id: no2_sale_price_minus_200_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3142,7 +3344,7 @@ offset_value: -200 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-180 +- external_id: no2_sale_price_minus_180_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3155,7 +3357,7 @@ offset_value: -180 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-160 +- external_id: no2_sale_price_minus_160_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3168,7 +3370,7 @@ offset_value: -160 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-140 +- external_id: no2_sale_price_minus_140_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3181,7 +3383,7 @@ offset_value: -140 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-120 +- external_id: no2_sale_price_minus_120_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3194,7 +3396,7 @@ offset_value: -120 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-100 +- external_id: no2_sale_price_minus_100_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3207,7 +3409,7 @@ offset_value: -100 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-80 +- external_id: no2_sale_price_minus_80_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3220,7 +3422,7 @@ offset_value: -80 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-60 +- external_id: no2_sale_price_minus_60_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3233,7 +3435,20 @@ offset_value: -60 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-40 +- external_id: no2_sale_price_minus_50_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -50 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_minus_40_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3246,7 +3461,20 @@ offset_value: -40 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_-20 +- external_id: no2_sale_price_minus_30_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -30 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_minus_20_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3259,7 +3487,46 @@ offset_value: -20 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_0 +- external_id: no2_sale_price_minus_15_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -15 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_minus_10_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -10 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_minus_5_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: -5 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_minus_0_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3272,7 +3539,46 @@ offset_value: 0 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_20 +- external_id: no2_sale_price_plus_5_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 5 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_10_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 10 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_15_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 15 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_20_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3285,7 +3591,20 @@ offset_value: 20 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_40 +- external_id: no2_sale_price_plus_30_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 30 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_40_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3298,7 +3617,20 @@ offset_value: 40 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_60 +- external_id: no2_sale_price_plus_50_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 50 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_60_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3311,7 +3643,20 @@ offset_value: 60 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_80 +- external_id: no2_sale_price_plus_70_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 70 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_plus_80_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3324,7 +3669,7 @@ offset_value: 80 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_100 +- external_id: no2_sale_price_plus_100_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3337,7 +3682,7 @@ offset_value: 100 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_120 +- external_id: no2_sale_price_plus_120_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3350,7 +3695,7 @@ offset_value: 120 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_140 +- external_id: no2_sale_price_plus_140_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3363,7 +3708,7 @@ offset_value: 140 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_160 +- external_id: no2_sale_price_plus_160_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3376,7 +3721,7 @@ offset_value: 160 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_180 +- external_id: no2_sale_price_plus_180_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3389,7 +3734,7 @@ offset_value: 180 - offset_minute: 1440.0 offset_value: 0.0 -- external_id: no2_sale_price_offset_200 +- external_id: no2_sale_price_plus_200_first_24h object_type: market object_name: Dayahead attribute_name: sale_price @@ -3402,3 +3747,29 @@ offset_value: 200 - offset_minute: 1440.0 offset_value: 0.0 +- external_id: no2_sale_price_plus_2000_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - AddFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 2000 + - offset_minute: 1440.0 + offset_value: 0.0 +- external_id: no2_sale_price_multiply_0_first_24h + object_type: market + object_name: Dayahead + attribute_name: sale_price + time_series: "[external_id]907677" + transformations: + - MultiplyFromOffset: + parameters: + relative_datapoints: + - offset_minute: 0.0 + offset_value: 0 + - offset_minute: 1440.0 + offset_value: 0 diff --git a/tests/data/demo/v1/fornebu/shop_based_partial_bid_configuration.yaml b/tests/data/demo/v1/fornebu/shop_based_partial_bid_configuration.yaml index 272eebdc0..376523584 100644 --- a/tests/data/demo/v1/fornebu/shop_based_partial_bid_configuration.yaml +++ b/tests/data/demo/v1/fornebu/shop_based_partial_bid_configuration.yaml @@ -5,183 +5,318 @@ # add_steps: Boolean! # scenario_set: ShopScenarioSet -- name: Strand_krv 2 step +- name: Lund 2 step method: multi scenario 2 - power_asset: "[external_id]plant_information_strand_krv" + power_asset: "[external_id]plant_information_lund" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Strand_krv 3 step + scenario_set: "[name]Fornebu 2 scenarios" +- name: Lund 3 step method: multi scenario 3 - power_asset: "[external_id]plant_information_strand_krv" + power_asset: "[external_id]plant_information_lund" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Strand_krv 2 + scenario_set: "[name]Fornebu 3 scenarios" +- name: Lund 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_lund" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Lund 1 + method: price independent + power_asset: "[external_id]plant_information_lund" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Lund 2 method: multi scenario 2 - power_asset: "[external_id]plant_information_strand_krv" + power_asset: "[external_id]plant_information_lund" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Strand_krv 3 + scenario_set: "[name]Fornebu 2 scenarios" +- name: Lund 3 method: multi scenario 3 - power_asset: "[external_id]plant_information_strand_krv" + power_asset: "[external_id]plant_information_lund" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 3 scenarios" +- name: Lund 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_lund" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" - name: Rull2 2 step method: multi scenario 2 power_asset: "[external_id]plant_information_rull2" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Rull2 3 step method: multi scenario 3 power_asset: "[external_id]plant_information_rull2" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 3 scenarios" +- name: Rull2 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_rull2" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Rull2 1 + method: price independent + power_asset: "[external_id]plant_information_rull2" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" - name: Rull2 2 method: multi scenario 2 power_asset: "[external_id]plant_information_rull2" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Rull2 3 method: multi scenario 3 power_asset: "[external_id]plant_information_rull2" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Rull1 2 step + scenario_set: "[name]Fornebu 3 scenarios" +- name: Rull2 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_rull2" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" +- name: Scott 2 step method: multi scenario 2 - power_asset: "[external_id]plant_information_rull1" + power_asset: "[external_id]plant_information_scott" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Rull1 3 step + scenario_set: "[name]Fornebu 2 scenarios" +- name: Scott 3 step method: multi scenario 3 - power_asset: "[external_id]plant_information_rull1" + power_asset: "[external_id]plant_information_scott" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Rull1 2 + scenario_set: "[name]Fornebu 3 scenarios" +- name: Scott 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_scott" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Scott 1 + method: price independent + power_asset: "[external_id]plant_information_scott" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Scott 2 method: multi scenario 2 - power_asset: "[external_id]plant_information_rull1" + power_asset: "[external_id]plant_information_scott" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Rull1 3 + scenario_set: "[name]Fornebu 2 scenarios" +- name: Scott 3 method: multi scenario 3 - power_asset: "[external_id]plant_information_rull1" + power_asset: "[external_id]plant_information_scott" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Lien_krv 2 step + scenario_set: "[name]Fornebu 3 scenarios" +- name: Scott 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_scott" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" +- name: Strand_krv 2 step method: multi scenario 2 - power_asset: "[external_id]plant_information_lien_krv" + power_asset: "[external_id]plant_information_strand_krv" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Lien_krv 3 step + scenario_set: "[name]Fornebu 2 scenarios" +- name: Strand_krv 3 step method: multi scenario 3 - power_asset: "[external_id]plant_information_lien_krv" + power_asset: "[external_id]plant_information_strand_krv" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Lien_krv 2 + scenario_set: "[name]Fornebu 3 scenarios" +- name: Strand_krv 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_strand_krv" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Strand_krv 1 + method: price independent + power_asset: "[external_id]plant_information_strand_krv" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Strand_krv 2 method: multi scenario 2 - power_asset: "[external_id]plant_information_lien_krv" + power_asset: "[external_id]plant_information_strand_krv" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Lien_krv 3 + scenario_set: "[name]Fornebu 2 scenarios" +- name: Strand_krv 3 method: multi scenario 3 - power_asset: "[external_id]plant_information_lien_krv" + power_asset: "[external_id]plant_information_strand_krv" + add_steps: False + scenario_set: "[name]Fornebu 3 scenarios" +- name: Strand_krv 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_strand_krv" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 20 scenarios" - name: Dalby 2 step method: multi scenario 2 power_asset: "[external_id]plant_information_dalby" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Dalby 3 step method: multi scenario 3 power_asset: "[external_id]plant_information_dalby" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 3 scenarios" +- name: Dalby 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_dalby" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Dalby 1 + method: price independent + power_asset: "[external_id]plant_information_dalby" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" - name: Dalby 2 method: multi scenario 2 power_asset: "[external_id]plant_information_dalby" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Dalby 3 method: multi scenario 3 power_asset: "[external_id]plant_information_dalby" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Holen 2 step - method: multi scenario 2 - power_asset: "[external_id]plant_information_holen" - add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Holen 3 step - method: multi scenario 3 - power_asset: "[external_id]plant_information_holen" - add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Holen 2 - method: multi scenario 2 - power_asset: "[external_id]plant_information_holen" - add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Holen 3 - method: multi scenario 3 - power_asset: "[external_id]plant_information_holen" + scenario_set: "[name]Fornebu 3 scenarios" +- name: Dalby 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_dalby" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 20 scenarios" - name: Landet 2 step method: multi scenario 2 power_asset: "[external_id]plant_information_landet" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Landet 3 step method: multi scenario 3 power_asset: "[external_id]plant_information_landet" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 3 scenarios" +- name: Landet 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_landet" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Landet 1 + method: price independent + power_asset: "[external_id]plant_information_landet" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" - name: Landet 2 method: multi scenario 2 power_asset: "[external_id]plant_information_landet" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" + scenario_set: "[name]Fornebu 2 scenarios" - name: Landet 3 method: multi scenario 3 power_asset: "[external_id]plant_information_landet" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Scott 2 step + scenario_set: "[name]Fornebu 3 scenarios" +- name: Landet 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_landet" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" +- name: Rull1 2 step method: multi scenario 2 - power_asset: "[external_id]plant_information_scott" + power_asset: "[external_id]plant_information_rull1" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Scott 3 step + scenario_set: "[name]Fornebu 2 scenarios" +- name: Rull1 3 step method: multi scenario 3 - power_asset: "[external_id]plant_information_scott" + power_asset: "[external_id]plant_information_rull1" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Scott 2 + scenario_set: "[name]Fornebu 3 scenarios" +- name: Rull1 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_rull1" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Rull1 1 + method: price independent + power_asset: "[external_id]plant_information_rull1" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Rull1 2 method: multi scenario 2 - power_asset: "[external_id]plant_information_scott" + power_asset: "[external_id]plant_information_rull1" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Scott 3 + scenario_set: "[name]Fornebu 2 scenarios" +- name: Rull1 3 method: multi scenario 3 - power_asset: "[external_id]plant_information_scott" + power_asset: "[external_id]plant_information_rull1" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Lund 2 step + scenario_set: "[name]Fornebu 3 scenarios" +- name: Rull1 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_rull1" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" +- name: Lien_krv 2 step method: multi scenario 2 - power_asset: "[external_id]plant_information_lund" + power_asset: "[external_id]plant_information_lien_krv" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Lund 3 step + scenario_set: "[name]Fornebu 2 scenarios" +- name: Lien_krv 3 step method: multi scenario 3 - power_asset: "[external_id]plant_information_lund" + power_asset: "[external_id]plant_information_lien_krv" add_steps: True - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" -- name: Lund 2 + scenario_set: "[name]Fornebu 3 scenarios" +- name: Lien_krv 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_lien_krv" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Lien_krv 1 + method: price independent + power_asset: "[external_id]plant_information_lien_krv" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Lien_krv 2 method: multi scenario 2 - power_asset: "[external_id]plant_information_lund" + power_asset: "[external_id]plant_information_lien_krv" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]2 scenarios" -- name: Lund 3 + scenario_set: "[name]Fornebu 2 scenarios" +- name: Lien_krv 3 method: multi scenario 3 - power_asset: "[external_id]plant_information_lund" + power_asset: "[external_id]plant_information_lien_krv" + add_steps: False + scenario_set: "[name]Fornebu 3 scenarios" +- name: Lien_krv 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_lien_krv" + add_steps: False + scenario_set: "[name]Fornebu 20 scenarios" +- name: Holen 2 step + method: multi scenario 2 + power_asset: "[external_id]plant_information_holen" + add_steps: True + scenario_set: "[name]Fornebu 2 scenarios" +- name: Holen 3 step + method: multi scenario 3 + power_asset: "[external_id]plant_information_holen" + add_steps: True + scenario_set: "[name]Fornebu 3 scenarios" +- name: Holen 20 step + method: multi scenario 20 + power_asset: "[external_id]plant_information_holen" + add_steps: True + scenario_set: "[name]Fornebu 20 scenarios" +- name: Holen 1 + method: price independent + power_asset: "[external_id]plant_information_holen" + add_steps: False + scenario_set: "[name]Fornebu 1 scenario" +- name: Holen 2 + method: multi scenario 2 + power_asset: "[external_id]plant_information_holen" + add_steps: False + scenario_set: "[name]Fornebu 2 scenarios" +- name: Holen 3 + method: multi scenario 3 + power_asset: "[external_id]plant_information_holen" + add_steps: False + scenario_set: "[name]Fornebu 3 scenarios" +- name: Holen 20 + method: multi scenario 20 + power_asset: "[external_id]plant_information_holen" add_steps: False - scenario_set: "[name|type:ShopScenarioSet]3 scenarios" + scenario_set: "[name]Fornebu 20 scenarios" diff --git a/tests/data/demo/v1/fornebu/shop_scenario.yaml b/tests/data/demo/v1/fornebu/shop_scenario.yaml index 904fff61c..fadf188bf 100644 --- a/tests/data/demo/v1/fornebu/shop_scenario.yaml +++ b/tests/data/demo/v1/fornebu/shop_scenario.yaml @@ -1,5 +1,5 @@ # ShopScenario view definition -# - name: String! +# name: String! # model: ShopModel # commands: ShopCommands # source: String @@ -15,24 +15,222 @@ - "[name]market price" - "[name]plant production" - "[name]plant consumption" -- name: "Fornebu price offset -200" +- name: "Fornebu price minus 500 first 24h" model: "[name]Fornebu" commands: "[name|type:ShopCommands]default" source: resync attribute_mappings_override: - - "[external_id]no2_buy_price_offset_-200" - - "[external_id]no2_sale_price_offset_-200" + - "[external_id]no2_buy_price_minus_500_first_24h" + - "[external_id]no2_sale_price_minus_500_first_24h" output_definition: - "[name]market price" - "[name]plant production" - "[name]plant consumption" -- name: "Fornebu price offset 200" +- name: "Fornebu price minus 200 first 24h" model: "[name]Fornebu" commands: "[name|type:ShopCommands]default" source: resync attribute_mappings_override: - - "[external_id]no2_buy_price_offset_200" - - "[external_id]no2_sale_price_offset_200" + - "[external_id]no2_buy_price_minus_200_first_24h" + - "[external_id]no2_sale_price_minus_200_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 50 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_50_first_24h" + - "[external_id]no2_sale_price_minus_50_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 40 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_40_first_24h" + - "[external_id]no2_sale_price_minus_40_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 30 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_30_first_24h" + - "[external_id]no2_sale_price_minus_30_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 20 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_20_first_24h" + - "[external_id]no2_sale_price_minus_20_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 15 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_15_first_24h" + - "[external_id]no2_sale_price_minus_15_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 10 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_10_first_24h" + - "[external_id]no2_sale_price_minus_10_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price minus 5 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_minus_5_first_24h" + - "[external_id]no2_sale_price_minus_5_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 5 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_5_first_24h" + - "[external_id]no2_sale_price_plus_5_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 10 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_10_first_24h" + - "[external_id]no2_sale_price_plus_10_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 15 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_15_first_24h" + - "[external_id]no2_sale_price_plus_15_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 20 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_20_first_24h" + - "[external_id]no2_sale_price_plus_20_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 30 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_30_first_24h" + - "[external_id]no2_sale_price_plus_30_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 40 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_40_first_24h" + - "[external_id]no2_sale_price_plus_40_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 50 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_50_first_24h" + - "[external_id]no2_sale_price_plus_50_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 70 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_70_first_24h" + - "[external_id]no2_sale_price_plus_70_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 100 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_100_first_24h" + - "[external_id]no2_sale_price_plus_100_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price plus 2000 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_plus_2000_first_24h" + - "[external_id]no2_sale_price_plus_2000_first_24h" + output_definition: + - "[name]market price" + - "[name]plant production" + - "[name]plant consumption" +- name: "Fornebu price multiply 0 first 24h" + model: "[name]Fornebu" + commands: "[name|type:ShopCommands]default" + source: resync + attribute_mappings_override: + - "[external_id]no2_buy_price_multiply_0_first_24h" + - "[external_id]no2_sale_price_multiply_0_first_24h" output_definition: - "[name]market price" - "[name]plant production" diff --git a/tests/data/demo/v1/fornebu/shop_scenario_set.yaml b/tests/data/demo/v1/fornebu/shop_scenario_set.yaml index 0d75e0a81..3e3fdbcdb 100644 --- a/tests/data/demo/v1/fornebu/shop_scenario_set.yaml +++ b/tests/data/demo/v1/fornebu/shop_scenario_set.yaml @@ -4,21 +4,45 @@ # end_specification: DateSpecification # scenarios: [ShopScenario] -- name: 1 scenario +- name: Fornebu 1 scenario start_specification: "[name]Default Start" end_specification: "[name]Default End" scenarios: - "[name]Fornebu base" -- name: 2 scenarios +- name: Fornebu 2 scenarios start_specification: "[name]Default Start" end_specification: "[name]Default End" scenarios: - "[name]Fornebu base" - - "[name]Fornebu price offset 200" -- name: 3 scenarios + - "[name]Fornebu price plus 200 first 24h" +- name: Fornebu 3 scenarios start_specification: "[name]Default Start" end_specification: "[name]Default End" scenarios: + - "[name|type:ShopScenario]Fornebu price minus 200 first 24h" - "[name]Fornebu base" - - "[name|type:ShopScenario]Fornebu price offset -200" - - "[name]Fornebu price offset 200" + - "[name]Fornebu price plus 200 first 24h" +- name: Fornebu 20 scenarios + start_specification: "[name]Default Start" + end_specification: "[name]Default End" + scenarios: + - "[name]Fornebu price minus 500 first 24h" + - "[name]Fornebu price multiply 0 first 24h" + - "[name]Fornebu price minus 50 first 24h" + - "[name]Fornebu price minus 40 first 24h" + - "[name]Fornebu price minus 30 first 24h" + - "[name]Fornebu price minus 20 first 24h" + - "[name]Fornebu price minus 15 first 24h" + - "[name]Fornebu price minus 10 first 24h" + - "[name]Fornebu price minus 5 first 24h" + - "[name]Fornebu base" + - "[name]Fornebu price plus 5 first 24h" + - "[name]Fornebu price plus 10 first 24h" + - "[name]Fornebu price plus 15 first 24h" + - "[name]Fornebu price plus 20 first 24h" + - "[name]Fornebu price plus 30 first 24h" + - "[name]Fornebu price plus 40 first 24h" + - "[name]Fornebu price plus 50 first 24h" + - "[name]Fornebu price plus 70 first 24h" + - "[name]Fornebu price plus 100 first 24h" + - "[name]Fornebu price plus 2000 first 24h"