Conversation
485da13 to
1f15340
Compare
fb0a82f to
b94fc07
Compare
|
I am taking over this PR now. I will document what I did here.
[Trying to run the inputs with the MVS:
This is added: Fixed with 12ffdf8
To this:
This should not be allowed. Is it possible to have a test for this?
Is this something that the EPA can ensure?
Note:
However, as MVS input, "timeseries" should be defined by
When reading from json, the
When setting "value" to |
| ) | ||
| return model, results_main, results_main | ||
|
|
||
| def store_oemof_results(dict_values, model): |
|
With all of the above changes, a valid input file for the MVS can be created from the current EPA output (as per the data that @Bachibouzouk posted his EPA output first): The report can be generated: As well as the results: It is a simple scenario with following energy system: On EPA side it looks like this: The results are equivalent to the results of the benchmark test. |
|
Left to do:
|
|
@smartie2076 - the potential problem is that if EPA change and their outputed json change, then we need to redo a lot of manual steps. It also requires manual change to the assets fields and rebuilding the model everytime (this is why I ended up making a very simple benchmark) with drag and drop before we can generate the json, this is a lengthy process. I think it is better to make only the non-negotiable changes (such as unit field as a unitless value does not make physical sense) on EPA side and provide flexibility with the EPA-MVS and MVS-EPA parsers for the other formatting/parameters (like a parameter which should be an int and is provided as a float is relatively easy to cover on our side; that being said the user might want to know that 1.2 will be turned into 1. We could use https://github.com/rl-institut/multi-vector-simulator/blob/dev/docs/MVS_parameters_list.csv for enforcing the right type of parameter) |
| if len(d.keys()) > 0: | ||
|
|
||
| for asset_group in d.keys(): | ||
| errror_msg.append(asset_group) |
b94fc07 to
f9224d1
Compare
|
@smartie2076 - I pulled |
| STORAGE_CAPACITY, | ||
| "optimize_capacity", | ||
| "input_timeseries", | ||
| # TODO split flow into in, out and storage |
There was a problem hiding this comment.
this will be discussed bilaterally with EPA today
|
This is the file which is provided by EPA benchmark model The following standalone script is then run on the file With the parser in its current state it leads to the following error and warnings: For more log message one can also copy and rename the generated The energy system model schema is the same as the one in #675 (comment) |
Energy consumption assets usually not use lifetime or an age. Both parameters shouldn't exist for this asset types (others that should not be there compage above, point 15. Their default value should be zero.
This should tell you to check the efficiency of your storage. If the efficiency of storages is only 0.01, it means that 99% of your stored energy is lost within one time step (self-discharge). So you have to adapt the value in your input file (from EPA). I dont think there is anything wrong with the EPA in this though.
This is fine, and always occurs. the is already issue about it, but basically you can ignore it.
This is an open issue that we still have to fix, and then the warning will also go away. the user input has nothing to do with this.
This is a valid warning for the user, as it might hint towards weird outputs. also tells the user what should be changed to influence the weird behaviour. |
| UNIT: "minutes", | ||
| VALUE: timestep, | ||
| } | ||
| # TODO uncomment following lines when PR #722 is merged |
The value in the EPA file (the json2MVS.json) for "capacity" is 0.001 |
You mean this, right? We need to tell them to change it in their benchmark test, as it is not correct anymore. It should also not be in our benchmark test in the MVS anymore. |
6202973 to
f787992
Compare
4ca87f7 to
e6f50d8
Compare
- Move the part from C0 to cli as this should not be executed on the server (there is no path_output_folder defined for the server as we do not want to save files there) - By default D0 does not save the lp_file
This is taken care of by the function convert_mvs_params_to_epa of the data_parser module
- Remove constraints and fix_cost - Add more KPIs - Add unique_id and flow as well as timeseries_soc
Co-authored-by: smartie2076 <[email protected]>
If the parameter is not in the EPA_PARAM_KEYS dict or belong to the asset_group CONSTRAINTS it will not be converted
Co-authored-by: smartie2076 <[email protected]>
8c2e811 to
538e580
Compare
Co-authored-by: smartie2076 <[email protected]>
538e580 to
0a5aa17
Compare
| ) | ||
| if save_lp_file is True: | ||
| model_building.store_lp_file(dict_values, local_energy_system) | ||
| model_building.store_lp_file(dict_values, local_energy_system) |
There was a problem hiding this comment.
@Bachibouzouk, in the changelog you wrote
"Write lp file only when executing cli.py (#675)"
, but here it looks like it will be stored for every simulation. Could you clarify this please?
There was a problem hiding this comment.
I forgot to add "if user set the OUTPUT_LP_FILE setting to True"

Fix #605, fix #606, fix #3
Here are the steps I would follow
Reproduced the benchmark test ABE_Grid_PV_battery via EPA interface, here is the json epa_benchmark.json.zip
Conversion to MVS
Use the following script to run the conversion (after having pulled this branch obviously)
(this can also be done locally with
mvs_tool -i epa_benchmark_converted_to_mvs.json -o MVS_tests_benchmarks -f -pngif there are to many errors)Changes proposed in this pull request:
The following steps were realized, as well (if applies):
black . --exclude docs/)EXECUTE_TESTS_ON=master pytest)For more information on how to contribute check the CONTRIBUTING.md.