From 92a6bd7d6037b14223309c473148683e5621e5cf Mon Sep 17 00:00:00 2001 From: ADAM HAWKES Date: Fri, 20 Jun 2025 13:29:26 +0100 Subject: [PATCH 1/2] add a biomass supply chain that is not an asset in the base year (missing commodity) --- .../simple_mc/agent_commodity_portions.csv | 7 ++++++ examples/simple_mc/agent_cost_limits.csv | 5 ++++ examples/simple_mc/agent_objectives.csv | 12 +++++++++ examples/simple_mc/agent_search_space.csv | 1 + examples/simple_mc/agents.csv | 7 ++++++ examples/simple_mc/assets.csv | 7 ++++++ examples/simple_mc/commodities.csv | 8 ++++++ examples/simple_mc/commodity_levies.csv | 2 ++ examples/simple_mc/demand.csv | 3 +++ examples/simple_mc/demand_slicing.csv | 17 +++++++++++++ examples/simple_mc/model.toml | 2 ++ examples/simple_mc/process_availabilities.csv | 25 +++++++++++++++++++ examples/simple_mc/process_flows.csv | 20 +++++++++++++++ examples/simple_mc/process_parameters.csv | 10 ++++++++ examples/simple_mc/processes.csv | 10 ++++++++ examples/simple_mc/regions.csv | 2 ++ examples/simple_mc/settings.toml | 3 +++ examples/simple_mc/time_slices.csv | 17 +++++++++++++ 18 files changed, 158 insertions(+) create mode 100644 examples/simple_mc/agent_commodity_portions.csv create mode 100644 examples/simple_mc/agent_cost_limits.csv create mode 100644 examples/simple_mc/agent_objectives.csv create mode 100644 examples/simple_mc/agent_search_space.csv create mode 100644 examples/simple_mc/agents.csv create mode 100644 examples/simple_mc/assets.csv create mode 100644 examples/simple_mc/commodities.csv create mode 100644 examples/simple_mc/commodity_levies.csv create mode 100644 examples/simple_mc/demand.csv create mode 100644 examples/simple_mc/demand_slicing.csv create mode 100644 examples/simple_mc/model.toml create mode 100644 examples/simple_mc/process_availabilities.csv create mode 100644 examples/simple_mc/process_flows.csv create mode 100644 examples/simple_mc/process_parameters.csv create mode 100644 examples/simple_mc/processes.csv create mode 100644 examples/simple_mc/regions.csv create mode 100644 examples/simple_mc/settings.toml create mode 100644 examples/simple_mc/time_slices.csv diff --git a/examples/simple_mc/agent_commodity_portions.csv b/examples/simple_mc/agent_commodity_portions.csv new file mode 100644 index 000000000..7cf371879 --- /dev/null +++ b/examples/simple_mc/agent_commodity_portions.csv @@ -0,0 +1,7 @@ +agent_id,commodity_id,years,commodity_portion +A0_GEX,GASPRD,all,1 +A0_GPR,GASNAT,all,1 +A0_BPD,BIOPRD,all,1 +A0_BPL,BIOPEL,all,1 +A0_ELC,ELCTRI,all,1 +A0_RES,RSHEAT,all,1 diff --git a/examples/simple_mc/agent_cost_limits.csv b/examples/simple_mc/agent_cost_limits.csv new file mode 100644 index 000000000..b8bccef9f --- /dev/null +++ b/examples/simple_mc/agent_cost_limits.csv @@ -0,0 +1,5 @@ +agent_id,years,capex_limit,annual_cost_limit +A0_GEX,all,, +A0_GPR,all,, +A0_ELC,all,, +A0_RES,all,, diff --git a/examples/simple_mc/agent_objectives.csv b/examples/simple_mc/agent_objectives.csv new file mode 100644 index 000000000..5d3227157 --- /dev/null +++ b/examples/simple_mc/agent_objectives.csv @@ -0,0 +1,12 @@ +agent_id,years,objective_type,decision_weight,decision_lexico_order +A0_GEX,2020,lcox,, +A0_GEX,2030,lcox,, +A0_GPR,2020,lcox,, +A0_GPR,2030,lcox,, +A0_BPD,2020,lcox,, +A0_BPD,2030,lcox,, +A0_BPL,all,lcox,, +A0_ELC,2020,lcox,, +A0_ELC,2030,lcox,, +A0_RES,2020,lcox,, +A0_RES,2030,lcox,, diff --git a/examples/simple_mc/agent_search_space.csv b/examples/simple_mc/agent_search_space.csv new file mode 100644 index 000000000..13f6cf903 --- /dev/null +++ b/examples/simple_mc/agent_search_space.csv @@ -0,0 +1 @@ +agent_id,commodity_id,years,search_space diff --git a/examples/simple_mc/agents.csv b/examples/simple_mc/agents.csv new file mode 100644 index 000000000..0f14a98e3 --- /dev/null +++ b/examples/simple_mc/agents.csv @@ -0,0 +1,7 @@ +id,description,regions,decision_rule,decision_lexico_tolerance +A0_GEX,Gas extractors,all,single, +A0_GPR,Gas processors,all,single, +A0_BPD,Biomass producer,all,single, +A0_BPL,Biomass pelletiser,all,single, +A0_ELC,Electricity generators,all,single, +A0_RES,Residential consumer,all,single, diff --git a/examples/simple_mc/assets.csv b/examples/simple_mc/assets.csv new file mode 100644 index 000000000..6875fab99 --- /dev/null +++ b/examples/simple_mc/assets.csv @@ -0,0 +1,7 @@ +process_id,region_id,agent_id,capacity,commission_year +GASDRV,GBR,A0_GEX,4002.26,2020 +GASPRC,GBR,A0_GPR,3782.13,2020 +WNDFRM,GBR,A0_ELC,3.964844,2020 +GASCGT,GBR,A0_ELC,2.43,2020 +RGASBR,GBR,A0_RES,2900.0,2020 +RELCHP,GBR,A0_RES,399.98,2020 diff --git a/examples/simple_mc/commodities.csv b/examples/simple_mc/commodities.csv new file mode 100644 index 000000000..eb5ed39c2 --- /dev/null +++ b/examples/simple_mc/commodities.csv @@ -0,0 +1,8 @@ +id,description,type,time_slice_level +GASPRD,Gas produced,sed,season +GASNAT,Natural gas,sed,season +BIOPRD,Biomass produced,sed,season +BIOPEL,Biomass pellets,sed,season +ELCTRI,Electricity,sed,daynight +RSHEAT,Residential heating,svd,daynight +CO2EMT,CO2 emitted,oth,annual diff --git a/examples/simple_mc/commodity_levies.csv b/examples/simple_mc/commodity_levies.csv new file mode 100644 index 000000000..00e64fa89 --- /dev/null +++ b/examples/simple_mc/commodity_levies.csv @@ -0,0 +1,2 @@ +commodity_id,regions,years,time_slice,balance_type,value +CO2EMT,all,all,annual,net,0.04 diff --git a/examples/simple_mc/demand.csv b/examples/simple_mc/demand.csv new file mode 100644 index 000000000..633dafeda --- /dev/null +++ b/examples/simple_mc/demand.csv @@ -0,0 +1,3 @@ +commodity_id,region_id,year,demand +RSHEAT,GBR,2020,927.38 +RSHEAT,GBR,2030,927.38 diff --git a/examples/simple_mc/demand_slicing.csv b/examples/simple_mc/demand_slicing.csv new file mode 100644 index 000000000..4e043388a --- /dev/null +++ b/examples/simple_mc/demand_slicing.csv @@ -0,0 +1,17 @@ +commodity_id,region_id,time_slice,fraction +RSHEAT,GBR,winter.night,0.065498087 +RSHEAT,GBR,winter.day,0.226148097 +RSHEAT,GBR,winter.peak,0.111199678 +RSHEAT,GBR,winter.evening,0.076688397 +RSHEAT,GBR,peak.night,0.045882959 +RSHEAT,GBR,peak.day,0.121987853 +RSHEAT,GBR,peak.peak,0.068135438 +RSHEAT,GBR,peak.evening,0.041334529 +RSHEAT,GBR,summer.night,0.005698366 +RSHEAT,GBR,summer.day,0.009494171 +RSHEAT,GBR,summer.peak,0.003126411 +RSHEAT,GBR,summer.evening,0.002327863 +RSHEAT,GBR,autumn.night,0.037269058 +RSHEAT,GBR,autumn.day,0.098086985 +RSHEAT,GBR,autumn.peak,0.054500569 +RSHEAT,GBR,autumn.evening,0.032621538 diff --git a/examples/simple_mc/model.toml b/examples/simple_mc/model.toml new file mode 100644 index 000000000..82e0fbbb7 --- /dev/null +++ b/examples/simple_mc/model.toml @@ -0,0 +1,2 @@ +[milestone_years] +years = [2020, 2030] diff --git a/examples/simple_mc/process_availabilities.csv b/examples/simple_mc/process_availabilities.csv new file mode 100644 index 000000000..b6abd43ee --- /dev/null +++ b/examples/simple_mc/process_availabilities.csv @@ -0,0 +1,25 @@ +process_id,regions,years,time_slice,limit_type,value +GASDRV,all,all,annual,up,0.9 +GASPRC,all,all,annual,up,0.9 +BIOPRO,all,all,annual,up,1.0 +BIOPLL,all,all,annual,up,0.95 +GASCGT,all,all,annual,up,0.9 +RGASBR,all,all,annual,up,1.0 +RELCHP,all,all,annual,up,1.0 +RBIOBL,all,all,annual,up,1.0 +WNDFRM,all,all,winter.night,up,0.486418015 +WNDFRM,all,all,winter.day,up,0.543166784 +WNDFRM,all,all,winter.peak,up,0.504433498 +WNDFRM,all,all,winter.evening,up,0.493173821 +WNDFRM,all,all,peak.night,up,0.312697296 +WNDFRM,all,all,peak.day,up,0.489120338 +WNDFRM,all,all,peak.peak,up,0.454890922 +WNDFRM,all,all,peak.evening,up,0.331034483 +WNDFRM,all,all,summer.night,up,0.17951141 +WNDFRM,all,all,summer.day,up,0.349950739 +WNDFRM,all,all,summer.peak,up,0.342294159 +WNDFRM,all,all,summer.evening,up,0.202674173 +WNDFRM,all,all,autumn.night,up,0.3513019 +WNDFRM,all,all,autumn.day,up,0.460745954 +WNDFRM,all,all,autumn.peak,up,0.396340605 +WNDFRM,all,all,autumn.evening,up,0.364813512 diff --git a/examples/simple_mc/process_flows.csv b/examples/simple_mc/process_flows.csv new file mode 100644 index 000000000..60494622f --- /dev/null +++ b/examples/simple_mc/process_flows.csv @@ -0,0 +1,20 @@ +process_id,commodity_id,regions,years,coeff,type,cost +GASDRV,GASPRD,all,all,1.0,fixed, +GASPRC,GASPRD,all,all,-1.05,fixed, +GASPRC,GASNAT,all,all,1.0,fixed, +BIOPRO,BIOPRD,all,all,1.0,fixed, +BIOPLL,BIOPRD,all,all,-1.05,fixed, +BIOPLL,BIOPEL,all,all,1.0,fixed, +WNDFRM,ELCTRI,all,all,1.0,fixed, +GASCGT,GASNAT,all,all,-1.5,fixed, +GASCGT,ELCTRI,all,all,1.0,fixed, +RGASBR,GASNAT,all,all,-1.15,fixed, +RGASBR,RSHEAT,all,all,1.0,fixed, +RELCHP,ELCTRI,all,all,-0.33,fixed, +RELCHP,RSHEAT,all,all,1.0,fixed, +GASDRV,CO2EMT,all,all,5.113,fixed, +GASPRC,CO2EMT,all,all,2.5565,fixed, +GASCGT,CO2EMT,all,all,76.695,fixed, +RGASBR,CO2EMT,all,all,58.7995,fixed, +RBIOBL,BIOPEL,all,all,-1.2,fixed, +RBIOBL,RSHEAT,all,all,1,fixed, diff --git a/examples/simple_mc/process_parameters.csv b/examples/simple_mc/process_parameters.csv new file mode 100644 index 000000000..709172c19 --- /dev/null +++ b/examples/simple_mc/process_parameters.csv @@ -0,0 +1,10 @@ +process_id,regions,years,capital_cost,fixed_operating_cost,variable_operating_cost,lifetime,discount_rate,capacity_to_activity +GASDRV,all,all,10.0,0.3,2.0,25,0.1,1.0 +GASPRC,all,all,7.0,0.21,0.5,25,0.1,1.0 +BIOPRO,all,all,1.0,0.2,0.25,20,0.09,1.0 +BIOPLL,all,all,2.0,0.22,0.26,20,0.1,1.0 +WNDFRM,all,all,1000.0,30.0,0.4,25,0.1,31.54 +GASCGT,all,all,700.0,21.0,0.55,30,0.1,31.54 +RGASBR,all,all,55.56,1.6668,0.16,15,0.1,1.0 +RELCHP,all,all,138.9,4.167,0.17,15,0.1,1.0 +RBIOBL,all,all,60,1.05,0.2,20,0.1,1.0 diff --git a/examples/simple_mc/processes.csv b/examples/simple_mc/processes.csv new file mode 100644 index 000000000..39533096c --- /dev/null +++ b/examples/simple_mc/processes.csv @@ -0,0 +1,10 @@ +id,description,regions,start_year,end_year +GASDRV,Dry gas extraction,all,2020,2030 +GASPRC,Gas processing,all,2020,2030 +BIOPRO,Biomass production,all,2020,2030 +BIOPLL,Biomass pelletiser,all,2020,2030 +WNDFRM,Wind farm,all,2020,2030 +GASCGT,Gas combined cycle turbine,all,2020,2030 +RGASBR,Gas boiler,all,2020,2030 +RELCHP,Heat pump,all,2020,2030 +RBIOBL,Biomass boiler,all,2020,2030 diff --git a/examples/simple_mc/regions.csv b/examples/simple_mc/regions.csv new file mode 100644 index 000000000..a1d2d74c5 --- /dev/null +++ b/examples/simple_mc/regions.csv @@ -0,0 +1,2 @@ +id,description +GBR,United Kingdom diff --git a/examples/simple_mc/settings.toml b/examples/simple_mc/settings.toml new file mode 100644 index 000000000..35f983615 --- /dev/null +++ b/examples/simple_mc/settings.toml @@ -0,0 +1,3 @@ +# Modify this file if you want to change your program settings +# log_level = "info" +# debug_model = false diff --git a/examples/simple_mc/time_slices.csv b/examples/simple_mc/time_slices.csv new file mode 100644 index 000000000..76583f12c --- /dev/null +++ b/examples/simple_mc/time_slices.csv @@ -0,0 +1,17 @@ +season,time_of_day,fraction +winter,night,0.072916667 +winter,day,0.104166667 +winter,peak,0.03125 +winter,evening,0.041666667 +peak,night,0.072916667 +peak,day,0.104166667 +peak,peak,0.03125 +peak,evening,0.041666667 +summer,night,0.072916667 +summer,day,0.104166667 +summer,peak,0.03125 +summer,evening,0.041666667 +autumn,night,0.072916667 +autumn,day,0.104166667 +autumn,peak,0.03125 +autumn,evening,0.041666667 From abd98c30294f849446585e7673338045075e773e Mon Sep 17 00:00:00 2001 From: Alex Dewar Date: Mon, 23 Jun 2025 17:02:31 +0100 Subject: [PATCH 2/2] Add regression test for `simple_mc` --- tests/data/simple_mc/assets.csv | 7 + tests/data/simple_mc/commodity_flows.csv | 225 ++++++++++++++++++ tests/data/simple_mc/commodity_prices.csv | 113 +++++++++ tests/data/simple_mc/debug_activity_duals.csv | 97 ++++++++ .../debug_commodity_balance_duals.csv | 97 ++++++++ tests/regression_simple_mc.rs | 8 + 6 files changed, 547 insertions(+) create mode 100644 tests/data/simple_mc/assets.csv create mode 100644 tests/data/simple_mc/commodity_flows.csv create mode 100644 tests/data/simple_mc/commodity_prices.csv create mode 100644 tests/data/simple_mc/debug_activity_duals.csv create mode 100644 tests/data/simple_mc/debug_commodity_balance_duals.csv create mode 100644 tests/regression_simple_mc.rs diff --git a/tests/data/simple_mc/assets.csv b/tests/data/simple_mc/assets.csv new file mode 100644 index 000000000..dae265897 --- /dev/null +++ b/tests/data/simple_mc/assets.csv @@ -0,0 +1,7 @@ +milestone_year,asset_id,process_id,region_id,agent_id,commission_year +2020,0,GASDRV,GBR,A0_GEX,2020 +2020,1,GASPRC,GBR,A0_GPR,2020 +2020,2,WNDFRM,GBR,A0_ELC,2020 +2020,3,GASCGT,GBR,A0_ELC,2020 +2020,4,RGASBR,GBR,A0_RES,2020 +2020,5,RELCHP,GBR,A0_RES,2020 diff --git a/tests/data/simple_mc/commodity_flows.csv b/tests/data/simple_mc/commodity_flows.csv new file mode 100644 index 000000000..279b4a8cc --- /dev/null +++ b/tests/data/simple_mc/commodity_flows.csv @@ -0,0 +1,225 @@ +milestone_year,asset_id,commodity_id,time_slice,flow +2020,0,GASPRD,winter.night,0.0 +2020,0,CO2EMT,winter.night,0.0 +2020,0,GASPRD,winter.day,180.73595015109328 +2020,0,CO2EMT,winter.day,924.10291312254 +2020,0,GASPRD,winter.peak,112.5635625 +2020,0,CO2EMT,winter.peak,575.5374950625 +2020,0,GASPRD,winter.evening,150.084751200678 +2020,0,CO2EMT,winter.evening,767.3833328890667 +2020,0,GASPRD,peak.night,0.0 +2020,0,CO2EMT,peak.night,0.0 +2020,0,GASPRD,peak.day,0.0 +2020,0,CO2EMT,peak.day,0.0 +2020,0,GASPRD,peak.peak,77.9831213632338 +2020,0,CO2EMT,peak.peak,398.72769953021447 +2020,0,GASPRD,peak.evening,150.084751200678 +2020,0,CO2EMT,peak.evening,767.3833328890667 +2020,0,GASPRD,summer.night,0.0 +2020,0,CO2EMT,summer.night,0.0 +2020,0,GASPRD,summer.day,0.0 +2020,0,CO2EMT,summer.day,0.0 +2020,0,GASPRD,summer.peak,0.0 +2020,0,CO2EMT,summer.peak,0.0 +2020,0,GASPRD,summer.evening,0.16861964795988574 +2020,0,CO2EMT,summer.evening,0.8621522600188959 +2020,0,GASPRD,autumn.night,0.0 +2020,0,CO2EMT,autumn.night,0.0 +2020,0,GASPRD,autumn.day,0.0 +2020,0,CO2EMT,autumn.day,0.0 +2020,0,GASPRD,autumn.peak,16.804933265797757 +2020,0,CO2EMT,autumn.peak,85.92362378802395 +2020,0,GASPRD,autumn.evening,150.084751200678 +2020,0,CO2EMT,autumn.evening,767.3833328890667 +2020,1,GASPRD,winter.night,-0.0 +2020,1,GASNAT,winter.night,0.0 +2020,1,CO2EMT,winter.night,0.0 +2020,1,GASPRD,winter.day,-182.77186734790033 +2020,1,GASNAT,winter.day,174.0684450932384 +2020,1,CO2EMT,winter.day,445.005979880864 +2020,1,GASPRD,winter.peak,-111.69102656250001 +2020,1,GASNAT,winter.peak,106.37240625000001 +2020,1,CO2EMT,winter.peak,271.941056578125 +2020,1,GASPRD,winter.evening,-148.92136994137095 +2020,1,GASNAT,winter.evening,141.829876134639 +2020,1,CO2EMT,winter.evening,362.58807833820464 +2020,1,GASPRD,peak.night,-0.0 +2020,1,GASNAT,peak.night,0.0 +2020,1,CO2EMT,peak.night,0.0 +2020,1,GASPRD,peak.day,-228.0678725639118 +2020,1,GASNAT,peak.day,217.207497679916 +2020,1,CO2EMT,peak.day,555.2909678187053 +2020,1,GASPRD,peak.peak,-0.0 +2020,1,GASNAT,peak.peak,0.0 +2020,1,CO2EMT,peak.peak,0.0 +2020,1,GASPRD,peak.evening,-0.0 +2020,1,GASNAT,peak.evening,0.0 +2020,1,CO2EMT,peak.evening,0.0 +2020,1,GASPRD,summer.night,-0.0 +2020,1,GASNAT,summer.night,0.0 +2020,1,CO2EMT,summer.night,0.0 +2020,1,GASPRD,summer.day,-0.0 +2020,1,GASNAT,summer.day,0.0 +2020,1,CO2EMT,summer.day,0.0 +2020,1,GASPRD,summer.peak,-0.0 +2020,1,GASNAT,summer.peak,0.0 +2020,1,CO2EMT,summer.peak,0.0 +2020,1,GASPRD,summer.evening,-0.16861964795988574 +2020,1,GASNAT,summer.evening,0.1605901409141769 +2020,1,CO2EMT,summer.evening,0.41054869524709325 +2020,1,GASPRD,autumn.night,-0.0 +2020,1,GASNAT,autumn.night,0.0 +2020,1,CO2EMT,autumn.night,0.0 +2020,1,GASPRD,autumn.day,-0.0 +2020,1,GASNAT,autumn.day,0.0 +2020,1,CO2EMT,autumn.day,0.0 +2020,1,GASPRD,autumn.peak,-17.96831452510479 +2020,1,GASNAT,autumn.peak,17.1126805000998 +2020,1,CO2EMT,autumn.peak,43.74856769850514 +2020,1,GASPRD,autumn.evening,-148.92136994137095 +2020,1,GASNAT,autumn.evening,141.829876134639 +2020,1,CO2EMT,autumn.evening,362.58807833820464 +2020,2,ELCTRI,winter.night,4.435312795545212 +2020,2,ELCTRI,winter.day,7.075379933645912 +2020,2,ELCTRI,winter.peak,1.9712501261051125 +2020,2,ELCTRI,winter.evening,2.5696653598405335 +2020,2,ELCTRI,peak.night,2.851272517283696 +2020,2,ELCTRI,peak.day,6.3713620320039785 +2020,2,ELCTRI,peak.peak,1.7776452018191917 +2020,2,ELCTRI,peak.evening,1.72484387381507 +2020,2,ELCTRI,summer.night,1.6368416242136155 +2020,2,ELCTRI,summer.day,2.9055524196533997 +2020,2,ELCTRI,summer.peak,0.9567924409494001 +2020,2,ELCTRI,summer.evening,0.7124084843502 +2020,2,ELCTRI,autumn.night,3.203281465982185 +2020,2,ELCTRI,autumn.day,6.001752635595889 +2020,2,ELCTRI,autumn.peak,1.5488393825638174 +2020,2,ELCTRI,autumn.evening,1.9008483513729915 +2020,3,GASNAT,winter.night,-7.544466596988991 +2020,3,ELCTRI,winter.night,5.02964439799266 +2020,3,CO2EMT,winter.night,385.74857710404706 +2020,3,GASNAT,winter.day,-10.010898915527838 +2020,3,ELCTRI,winter.day,6.6739326103518914 +2020,3,CO2EMT,winter.day,511.8572615509383 +2020,3,GASNAT,winter.peak,-3.2303154358423316 +2020,3,ELCTRI,winter.peak,2.1535436238948877 +2020,3,CO2EMT,winter.peak,165.1660282346184 +2020,3,GASNAT,winter.evening,-4.31112378448899 +2020,3,ELCTRI,winter.evening,2.87408252299266 +2020,3,CO2EMT,winter.evening,220.42775910092203 +2020,3,GASNAT,peak.night,-7.544466596988991 +2020,3,ELCTRI,peak.night,5.02964439799266 +2020,3,CO2EMT,peak.night,385.74857710404706 +2020,3,GASNAT,peak.day,-10.777809409488992 +2020,3,ELCTRI,peak.day,7.185206272992661 +2020,3,CO2EMT,peak.day,551.0693951071721 +2020,3,GASNAT,peak.peak,-3.2333428125 +2020,3,ELCTRI,peak.peak,2.155561875 +2020,3,CO2EMT,peak.peak,165.320818003125 +2020,3,GASNAT,peak.evening,-4.31112378448899 +2020,3,ELCTRI,peak.evening,2.87408252299266 +2020,3,CO2EMT,peak.evening,220.42775910092203 +2020,3,GASNAT,summer.night,-0.1605901409141769 +2020,3,ELCTRI,summer.night,0.1070600939427846 +2020,3,CO2EMT,summer.night,8.210973904941865 +2020,3,GASNAT,summer.day,-0.0 +2020,3,ELCTRI,summer.day,0.0 +2020,3,CO2EMT,summer.day,0.0 +2020,3,GASNAT,summer.peak,-0.0 +2020,3,ELCTRI,summer.peak,0.0 +2020,3,CO2EMT,summer.peak,0.0 +2020,3,GASNAT,summer.evening,-0.0 +2020,3,ELCTRI,summer.evening,0.0 +2020,3,CO2EMT,summer.evening,0.0 +2020,3,GASNAT,autumn.night,-7.544466596988991 +2020,3,ELCTRI,autumn.night,5.02964439799266 +2020,3,CO2EMT,autumn.night,385.74857710404706 +2020,3,GASNAT,autumn.day,-10.777809409488992 +2020,3,ELCTRI,autumn.day,7.185206272992661 +2020,3,CO2EMT,autumn.day,551.0693951071721 +2020,3,GASNAT,autumn.peak,-3.2333428125 +2020,3,ELCTRI,autumn.peak,2.155561875 +2020,3,CO2EMT,autumn.peak,165.320818003125 +2020,3,GASNAT,autumn.evening,-4.31112378448899 +2020,3,ELCTRI,autumn.evening,2.87408252299266 +2020,3,CO2EMT,autumn.evening,220.42775910092203 +2020,4,GASNAT,winter.night,-36.86891657531278 +2020,4,RSHEAT,winter.night,32.05992745679372 +2020,4,CO2EMT,winter.night,1885.1077044957426 +2020,4,GASNAT,winter.day,-193.26973453857997 +2020,4,RSHEAT,winter.day,168.06063872919998 +2020,4,CO2EMT,winter.day,9881.881526957595 +2020,4,GASNAT,winter.peak,-104.21872974118598 +2020,4,RSHEAT,winter.peak,90.62498238363999 +2020,4,CO2EMT,winter.peak,5328.7036516668395 +2020,4,GASNAT,winter.evening,-62.8165418899506 +2020,4,RSHEAT,winter.evening,54.62307990430487 +2020,4,CO2EMT,winter.evening,3211.8097868331747 +2020,4,GASNAT,peak.night,-21.469777923615393 +2020,4,RSHEAT,peak.night,18.669372107491647 +2020,4,CO2EMT,peak.night,1097.749745234455 +2020,4,GASNAT,peak.day,-82.85587286499846 +2020,4,RSHEAT,peak.day,72.04858509999866 +2020,4,CO2EMT,peak.day,4236.420779587372 +2020,4,GASNAT,peak.peak,-58.95892814405731 +2020,4,RSHEAT,peak.peak,51.26863316874549 +2020,4,CO2EMT,peak.peak,3014.5699960056504 +2020,4,GASNAT,peak.evening,-28.056176143777883 +2020,4,RSHEAT,peak.evening,24.396674907632942 +2020,4,CO2EMT,peak.evening,1434.5122862313633 +2020,4,GASNAT,summer.night,-0.0 +2020,4,RSHEAT,summer.night,0.0 +2020,4,CO2EMT,summer.night,0.0 +2020,4,GASNAT,summer.day,-0.0 +2020,4,RSHEAT,summer.day,0.0 +2020,4,CO2EMT,summer.day,0.0 +2020,4,GASNAT,summer.peak,-0.0 +2020,4,RSHEAT,summer.peak,0.0 +2020,4,CO2EMT,summer.peak,0.0 +2020,4,GASNAT,summer.evening,-0.0 +2020,4,RSHEAT,summer.evening,0.0 +2020,4,CO2EMT,summer.evening,0.0 +2020,4,GASNAT,autumn.night,-11.056466636303362 +2020,4,RSHEAT,autumn.night,9.614318814176837 +2020,4,CO2EMT,autumn.night,565.3171391141909 +2020,4,GASNAT,autumn.day,-58.653940599340956 +2020,4,RSHEAT,autumn.day,51.003426608122574 +2020,4,CO2EMT,autumn.day,2998.9759828443034 +2020,4,GASNAT,autumn.peak,-45.214871221410895 +2020,4,RSHEAT,autumn.peak,39.317279322966 +2020,4,CO2EMT,autumn.peak,2311.8363655507396 +2020,4,GASNAT,autumn.evening,-18.150535574216605 +2020,4,RSHEAT,autumn.evening,15.783074412362266 +2020,4,CO2EMT,autumn.evening,928.0368839096951 +2020,5,ELCTRI,winter.night,-9.464957193537872 +2020,5,RSHEAT,winter.night,28.681688465266276 +2020,5,ELCTRI,winter.day,-13.749312543997803 +2020,5,RSHEAT,winter.day,41.664583466660005 +2020,5,ELCTRI,winter.peak,-4.12479375 +2020,5,RSHEAT,winter.peak,12.499375 +2020,5,ELCTRI,winter.evening,-5.443747882833193 +2020,5,RSHEAT,winter.evening,16.49620570555513 +2020,5,ELCTRI,peak.night,-7.880916915276357 +2020,5,RSHEAT,peak.night,23.881566409928354 +2020,5,ELCTRI,peak.day,-13.55656830499664 +2020,5,RSHEAT,peak.day,41.08051001514133 +2020,5,ELCTRI,peak.peak,-3.933207076819192 +2020,5,RSHEAT,peak.peak,11.91880932369452 +2020,5,ELCTRI,peak.evening,-4.59892639680773 +2020,5,RSHEAT,peak.evening,13.93614059638706 +2020,5,ELCTRI,summer.night,-1.7439017181564 +2020,5,RSHEAT,summer.night,5.28455066108 +2020,5,ELCTRI,summer.day,-2.9055524196533997 +2020,5,RSHEAT,summer.day,8.80470430198 +2020,5,ELCTRI,summer.peak,-0.9567924409494001 +2020,5,RSHEAT,summer.peak,2.89937103318 +2020,5,ELCTRI,summer.evening,-0.7124084843502 +2020,5,RSHEAT,summer.evening,2.1588135889399998 +2020,5,ELCTRI,autumn.night,-8.232925863974845 +2020,5,RSHEAT,autumn.night,24.948260193863167 +2020,5,ELCTRI,autumn.day,-13.18695890858855 +2020,5,RSHEAT,autumn.day,39.96048154117742 +2020,5,ELCTRI,autumn.peak,-3.704401257563817 +2020,5,RSHEAT,autumn.peak,11.225458356253991 +2020,5,ELCTRI,autumn.evening,-4.774930874365651 +2020,5,RSHEAT,autumn.evening,14.469487498077731 diff --git a/tests/data/simple_mc/commodity_prices.csv b/tests/data/simple_mc/commodity_prices.csv new file mode 100644 index 000000000..c27605ab6 --- /dev/null +++ b/tests/data/simple_mc/commodity_prices.csv @@ -0,0 +1,113 @@ +milestone_year,commodity_id,region_id,time_slice,price +2020,BIOPEL,GBR,autumn.day,0.0 +2020,BIOPEL,GBR,autumn.evening,0.0 +2020,BIOPEL,GBR,autumn.night,0.0 +2020,BIOPEL,GBR,autumn.peak,0.0 +2020,BIOPEL,GBR,peak.day,0.0 +2020,BIOPEL,GBR,peak.evening,0.0 +2020,BIOPEL,GBR,peak.night,0.0 +2020,BIOPEL,GBR,peak.peak,0.0 +2020,BIOPEL,GBR,summer.day,0.0 +2020,BIOPEL,GBR,summer.evening,0.0 +2020,BIOPEL,GBR,summer.night,0.0 +2020,BIOPEL,GBR,summer.peak,0.0 +2020,BIOPEL,GBR,winter.day,0.0 +2020,BIOPEL,GBR,winter.evening,0.0 +2020,BIOPEL,GBR,winter.night,0.0 +2020,BIOPEL,GBR,winter.peak,0.0 +2020,BIOPRD,GBR,autumn.day,0.0 +2020,BIOPRD,GBR,autumn.evening,0.0 +2020,BIOPRD,GBR,autumn.night,0.0 +2020,BIOPRD,GBR,autumn.peak,0.0 +2020,BIOPRD,GBR,peak.day,0.0 +2020,BIOPRD,GBR,peak.evening,0.0 +2020,BIOPRD,GBR,peak.night,0.0 +2020,BIOPRD,GBR,peak.peak,0.0 +2020,BIOPRD,GBR,summer.day,0.0 +2020,BIOPRD,GBR,summer.evening,0.0 +2020,BIOPRD,GBR,summer.night,0.0 +2020,BIOPRD,GBR,summer.peak,0.0 +2020,BIOPRD,GBR,winter.day,0.0 +2020,BIOPRD,GBR,winter.evening,0.0 +2020,BIOPRD,GBR,winter.night,0.0 +2020,BIOPRD,GBR,winter.peak,0.0 +2020,CO2EMT,GBR,autumn.day,NaN +2020,CO2EMT,GBR,autumn.evening,NaN +2020,CO2EMT,GBR,autumn.night,NaN +2020,CO2EMT,GBR,autumn.peak,NaN +2020,CO2EMT,GBR,peak.day,NaN +2020,CO2EMT,GBR,peak.evening,NaN +2020,CO2EMT,GBR,peak.night,NaN +2020,CO2EMT,GBR,peak.peak,NaN +2020,CO2EMT,GBR,summer.day,NaN +2020,CO2EMT,GBR,summer.evening,NaN +2020,CO2EMT,GBR,summer.night,NaN +2020,CO2EMT,GBR,summer.peak,NaN +2020,CO2EMT,GBR,winter.day,NaN +2020,CO2EMT,GBR,winter.evening,NaN +2020,CO2EMT,GBR,winter.night,NaN +2020,CO2EMT,GBR,winter.peak,NaN +2020,ELCTRI,GBR,autumn.day,7.993309 +2020,ELCTRI,GBR,autumn.evening,7.993309 +2020,ELCTRI,GBR,autumn.night,7.993309 +2020,ELCTRI,GBR,autumn.peak,7.993309 +2020,ELCTRI,GBR,peak.day,7.993309 +2020,ELCTRI,GBR,peak.evening,7.993309 +2020,ELCTRI,GBR,peak.night,7.993309 +2020,ELCTRI,GBR,peak.peak,7.993309 +2020,ELCTRI,GBR,summer.day,0.4 +2020,ELCTRI,GBR,summer.evening,0.4 +2020,ELCTRI,GBR,summer.night,7.993308999999999 +2020,ELCTRI,GBR,summer.peak,0.4 +2020,ELCTRI,GBR,winter.day,7.993308999999999 +2020,ELCTRI,GBR,winter.evening,7.993309 +2020,ELCTRI,GBR,winter.night,7.993309 +2020,ELCTRI,GBR,winter.peak,7.993308999999999 +2020,GASNAT,GBR,autumn.day,2.9170059999999998 +2020,GASNAT,GBR,autumn.evening,2.9170059999999998 +2020,GASNAT,GBR,autumn.night,2.9170059999999998 +2020,GASNAT,GBR,autumn.peak,2.9170059999999998 +2020,GASNAT,GBR,peak.day,2.9170059999999998 +2020,GASNAT,GBR,peak.evening,2.9170059999999998 +2020,GASNAT,GBR,peak.night,2.9170059999999998 +2020,GASNAT,GBR,peak.peak,2.9170059999999998 +2020,GASNAT,GBR,summer.day,2.9170059999999998 +2020,GASNAT,GBR,summer.evening,2.9170059999999998 +2020,GASNAT,GBR,summer.night,2.9170059999999998 +2020,GASNAT,GBR,summer.peak,2.9170059999999998 +2020,GASNAT,GBR,winter.day,2.9170059999999998 +2020,GASNAT,GBR,winter.evening,2.9170059999999998 +2020,GASNAT,GBR,winter.night,2.9170059999999998 +2020,GASNAT,GBR,winter.peak,2.9170059999999998 +2020,GASPRD,GBR,autumn.day,2.20452 +2020,GASPRD,GBR,autumn.evening,2.20452 +2020,GASPRD,GBR,autumn.night,2.20452 +2020,GASPRD,GBR,autumn.peak,2.20452 +2020,GASPRD,GBR,peak.day,2.20452 +2020,GASPRD,GBR,peak.evening,2.20452 +2020,GASPRD,GBR,peak.night,2.20452 +2020,GASPRD,GBR,peak.peak,2.20452 +2020,GASPRD,GBR,summer.day,2.20452 +2020,GASPRD,GBR,summer.evening,2.20452 +2020,GASPRD,GBR,summer.night,2.20452 +2020,GASPRD,GBR,summer.peak,2.20452 +2020,GASPRD,GBR,winter.day,2.20452 +2020,GASPRD,GBR,winter.evening,2.20452 +2020,GASPRD,GBR,winter.night,2.20452 +2020,GASPRD,GBR,winter.peak,2.20452 +2020,RSHEAT,GBR,autumn.day,5.8665369 +2020,RSHEAT,GBR,autumn.evening,5.8665369 +2020,RSHEAT,GBR,autumn.night,5.8665369 +2020,RSHEAT,GBR,autumn.peak,5.8665369 +2020,RSHEAT,GBR,peak.day,5.8665369 +2020,RSHEAT,GBR,peak.evening,5.8665369 +2020,RSHEAT,GBR,peak.night,5.8665369 +2020,RSHEAT,GBR,peak.peak,5.8665369 +2020,RSHEAT,GBR,summer.day,0.30200000000000005 +2020,RSHEAT,GBR,summer.evening,0.30200000000000005 +2020,RSHEAT,GBR,summer.night,2.80779197 +2020,RSHEAT,GBR,summer.peak,0.30200000000000005 +2020,RSHEAT,GBR,winter.day,5.8665369 +2020,RSHEAT,GBR,winter.evening,5.8665369 +2020,RSHEAT,GBR,winter.night,5.8665369 +2020,RSHEAT,GBR,winter.peak,5.8665369 diff --git a/tests/data/simple_mc/debug_activity_duals.csv b/tests/data/simple_mc/debug_activity_duals.csv new file mode 100644 index 000000000..b5430bc35 --- /dev/null +++ b/tests/data/simple_mc/debug_activity_duals.csv @@ -0,0 +1,97 @@ +milestone_year,asset_id,time_slice,value +2020,0,winter.night,-0.0 +2020,0,winter.day,-0.0 +2020,0,winter.peak,-0.0 +2020,0,winter.evening,-0.0 +2020,0,peak.night,-0.0 +2020,0,peak.day,-0.0 +2020,0,peak.peak,-0.0 +2020,0,peak.evening,-0.0 +2020,0,summer.night,-0.0 +2020,0,summer.day,-0.0 +2020,0,summer.peak,-0.0 +2020,0,summer.evening,-0.0 +2020,0,autumn.night,-0.0 +2020,0,autumn.day,-0.0 +2020,0,autumn.peak,-0.0 +2020,0,autumn.evening,-0.0 +2020,1,winter.night,-0.0 +2020,1,winter.day,-0.0 +2020,1,winter.peak,-0.0 +2020,1,winter.evening,-0.0 +2020,1,peak.night,-0.0 +2020,1,peak.day,-0.0 +2020,1,peak.peak,-0.0 +2020,1,peak.evening,-0.0 +2020,1,summer.night,-0.0 +2020,1,summer.day,-0.0 +2020,1,summer.peak,-0.0 +2020,1,summer.evening,-0.0 +2020,1,autumn.night,-0.0 +2020,1,autumn.day,-0.0 +2020,1,autumn.peak,-0.0 +2020,1,autumn.evening,-0.0 +2020,2,winter.night,-16.86223303030303 +2020,2,winter.day,-7.593308999999999 +2020,2,winter.peak,-7.593308999999999 +2020,2,winter.evening,-16.86223303030303 +2020,2,peak.night,-16.86223303030303 +2020,2,peak.day,-16.86223303030303 +2020,2,peak.peak,-16.86223303030303 +2020,2,peak.evening,-16.86223303030303 +2020,2,summer.night,-7.593308999999999 +2020,2,summer.day,-0.0 +2020,2,summer.peak,-0.0 +2020,2,summer.evening,-0.0 +2020,2,autumn.night,-16.86223303030303 +2020,2,autumn.day,-16.86223303030303 +2020,2,autumn.peak,-16.86223303030303 +2020,2,autumn.evening,-16.86223303030303 +2020,3,winter.night,-9.26892403030303 +2020,3,winter.day,-0.0 +2020,3,winter.peak,-0.0 +2020,3,winter.evening,-9.26892403030303 +2020,3,peak.night,-9.26892403030303 +2020,3,peak.day,-9.26892403030303 +2020,3,peak.peak,-9.26892403030303 +2020,3,peak.evening,-9.26892403030303 +2020,3,summer.night,-0.0 +2020,3,summer.day,-0.0 +2020,3,summer.peak,-0.0 +2020,3,summer.evening,-0.0 +2020,3,autumn.night,-9.26892403030303 +2020,3,autumn.day,-9.26892403030303 +2020,3,autumn.peak,-9.26892403030303 +2020,3,autumn.evening,-9.26892403030303 +2020,4,winter.night,-0.0 +2020,4,winter.day,-0.0 +2020,4,winter.peak,-0.0 +2020,4,winter.evening,-0.0 +2020,4,peak.night,-0.0 +2020,4,peak.day,-0.0 +2020,4,peak.peak,-0.0 +2020,4,peak.evening,-0.0 +2020,4,summer.night,-0.0 +2020,4,summer.day,-0.0 +2020,4,summer.peak,-0.0 +2020,4,summer.evening,-0.0 +2020,4,autumn.night,-0.0 +2020,4,autumn.day,-0.0 +2020,4,autumn.peak,-0.0 +2020,4,autumn.evening,-0.0 +2020,5,winter.night,-0.0 +2020,5,winter.day,-3.05874493 +2020,5,winter.peak,-3.05874493 +2020,5,winter.evening,-0.0 +2020,5,peak.night,-0.0 +2020,5,peak.day,-0.0 +2020,5,peak.peak,-0.0 +2020,5,peak.evening,-0.0 +2020,5,summer.night,-0.0 +2020,5,summer.day,-0.0 +2020,5,summer.peak,-0.0 +2020,5,summer.evening,-0.0 +2020,5,autumn.night,-0.0 +2020,5,autumn.day,-0.0 +2020,5,autumn.peak,-0.0 +2020,5,autumn.evening,-0.0 diff --git a/tests/data/simple_mc/debug_commodity_balance_duals.csv b/tests/data/simple_mc/debug_commodity_balance_duals.csv new file mode 100644 index 000000000..2f6f4f495 --- /dev/null +++ b/tests/data/simple_mc/debug_commodity_balance_duals.csv @@ -0,0 +1,97 @@ +milestone_year,commodity_id,region_id,time_slice,value +2020,GASPRD,GBR,winter.night,2.20452 +2020,GASPRD,GBR,winter.day,2.20452 +2020,GASPRD,GBR,winter.peak,2.20452 +2020,GASPRD,GBR,winter.evening,2.20452 +2020,GASPRD,GBR,peak.night,2.20452 +2020,GASPRD,GBR,peak.day,2.20452 +2020,GASPRD,GBR,peak.peak,2.20452 +2020,GASPRD,GBR,peak.evening,2.20452 +2020,GASPRD,GBR,summer.night,2.20452 +2020,GASPRD,GBR,summer.day,2.20452 +2020,GASPRD,GBR,summer.peak,2.20452 +2020,GASPRD,GBR,summer.evening,2.20452 +2020,GASPRD,GBR,autumn.night,2.20452 +2020,GASPRD,GBR,autumn.day,2.20452 +2020,GASPRD,GBR,autumn.peak,2.20452 +2020,GASPRD,GBR,autumn.evening,2.20452 +2020,GASNAT,GBR,winter.night,2.9170059999999998 +2020,GASNAT,GBR,winter.day,2.9170059999999998 +2020,GASNAT,GBR,winter.peak,2.9170059999999998 +2020,GASNAT,GBR,winter.evening,2.9170059999999998 +2020,GASNAT,GBR,peak.night,2.9170059999999998 +2020,GASNAT,GBR,peak.day,2.9170059999999998 +2020,GASNAT,GBR,peak.peak,2.9170059999999998 +2020,GASNAT,GBR,peak.evening,2.9170059999999998 +2020,GASNAT,GBR,summer.night,2.9170059999999998 +2020,GASNAT,GBR,summer.day,2.9170059999999998 +2020,GASNAT,GBR,summer.peak,2.9170059999999998 +2020,GASNAT,GBR,summer.evening,2.9170059999999998 +2020,GASNAT,GBR,autumn.night,2.9170059999999998 +2020,GASNAT,GBR,autumn.day,2.9170059999999998 +2020,GASNAT,GBR,autumn.peak,2.9170059999999998 +2020,GASNAT,GBR,autumn.evening,2.9170059999999998 +2020,BIOPRD,GBR,winter.night,-0.0 +2020,BIOPRD,GBR,winter.day,-0.0 +2020,BIOPRD,GBR,winter.peak,-0.0 +2020,BIOPRD,GBR,winter.evening,-0.0 +2020,BIOPRD,GBR,peak.night,-0.0 +2020,BIOPRD,GBR,peak.day,-0.0 +2020,BIOPRD,GBR,peak.peak,-0.0 +2020,BIOPRD,GBR,peak.evening,-0.0 +2020,BIOPRD,GBR,summer.night,-0.0 +2020,BIOPRD,GBR,summer.day,-0.0 +2020,BIOPRD,GBR,summer.peak,-0.0 +2020,BIOPRD,GBR,summer.evening,-0.0 +2020,BIOPRD,GBR,autumn.night,-0.0 +2020,BIOPRD,GBR,autumn.day,-0.0 +2020,BIOPRD,GBR,autumn.peak,-0.0 +2020,BIOPRD,GBR,autumn.evening,-0.0 +2020,BIOPEL,GBR,winter.night,-0.0 +2020,BIOPEL,GBR,winter.day,-0.0 +2020,BIOPEL,GBR,winter.peak,-0.0 +2020,BIOPEL,GBR,winter.evening,-0.0 +2020,BIOPEL,GBR,peak.night,-0.0 +2020,BIOPEL,GBR,peak.day,-0.0 +2020,BIOPEL,GBR,peak.peak,-0.0 +2020,BIOPEL,GBR,peak.evening,-0.0 +2020,BIOPEL,GBR,summer.night,-0.0 +2020,BIOPEL,GBR,summer.day,-0.0 +2020,BIOPEL,GBR,summer.peak,-0.0 +2020,BIOPEL,GBR,summer.evening,-0.0 +2020,BIOPEL,GBR,autumn.night,-0.0 +2020,BIOPEL,GBR,autumn.day,-0.0 +2020,BIOPEL,GBR,autumn.peak,-0.0 +2020,BIOPEL,GBR,autumn.evening,-0.0 +2020,ELCTRI,GBR,winter.night,17.26223303030303 +2020,ELCTRI,GBR,winter.day,7.993308999999999 +2020,ELCTRI,GBR,winter.peak,7.993308999999999 +2020,ELCTRI,GBR,winter.evening,17.26223303030303 +2020,ELCTRI,GBR,peak.night,17.26223303030303 +2020,ELCTRI,GBR,peak.day,17.26223303030303 +2020,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,ELCTRI,GBR,peak.evening,17.26223303030303 +2020,ELCTRI,GBR,summer.night,7.993308999999999 +2020,ELCTRI,GBR,summer.day,0.4 +2020,ELCTRI,GBR,summer.peak,0.4 +2020,ELCTRI,GBR,summer.evening,0.4 +2020,ELCTRI,GBR,autumn.night,17.26223303030303 +2020,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,ELCTRI,GBR,autumn.peak,17.26223303030303 +2020,ELCTRI,GBR,autumn.evening,17.26223303030303 +2020,RSHEAT,GBR,winter.night,5.8665369 +2020,RSHEAT,GBR,winter.day,5.8665369 +2020,RSHEAT,GBR,winter.peak,5.8665369 +2020,RSHEAT,GBR,winter.evening,5.8665369 +2020,RSHEAT,GBR,peak.night,5.8665369 +2020,RSHEAT,GBR,peak.day,5.8665369 +2020,RSHEAT,GBR,peak.peak,5.8665369 +2020,RSHEAT,GBR,peak.evening,5.8665369 +2020,RSHEAT,GBR,summer.night,2.80779197 +2020,RSHEAT,GBR,summer.day,0.30200000000000005 +2020,RSHEAT,GBR,summer.peak,0.30200000000000005 +2020,RSHEAT,GBR,summer.evening,0.30200000000000005 +2020,RSHEAT,GBR,autumn.night,5.8665369 +2020,RSHEAT,GBR,autumn.day,5.8665369 +2020,RSHEAT,GBR,autumn.peak,5.8665369 +2020,RSHEAT,GBR,autumn.evening,5.8665369 diff --git a/tests/regression_simple_mc.rs b/tests/regression_simple_mc.rs new file mode 100644 index 000000000..97ec2daf8 --- /dev/null +++ b/tests/regression_simple_mc.rs @@ -0,0 +1,8 @@ +//! A regression test for the "simple_mc" example +mod regression; +use regression::run_regression_test; + +#[test] +fn test_regression_simple_mc() { + run_regression_test("simple_mc") +}