Closed gplssm closed 4 years ago
Some notes on what was done and how
run_scenario.py
Two questions remain from my side:
emissions_fix
defined? The implementation right now assumes that these are g/kWNote: I haven't checked the final results, this needs to be done in #76.
Thanks for this hot new stuff!
I tested with the full year run of ISE2050_Relimit (
2020-07-22_063122_fullyear_#75.tar.gz
on the server) and have some remarks:1. There are investments for EHV/HV trafos included in invest.csv which you do not analyze/add to the invest costs. As we've only 2 of them and the cap. is a best guess (from ego) I'm fine with neglecting it.
We could open an issue for the nice-to-have list for that. You decide!
2. The line investments are done continuously and so are the emissions (in contrast to real grid expansion). I better won't open up this can of works here, right? ;)
:arrow_right: Even-nicer-to-have list
3. Investment approach: Will the investment (annuity/EPC) be made per direction (twice) for each Link? I'm not talking about only using the max of both (as you correctly did in the results extraction!) but I think the double investments as part of the optimization problem may "demotivate" grid expansion? This is more a general oemof questing we're not going to fix here, but I think it's important enough to be kept in mind.
Yepp, it is accounted twice
I've used your minimum example and saw this
\* Source Pyomo model name=Model *\
min
objective:
+100 InvestmentFlow_invest(line_0_b_0)
+100 InvestmentFlow_invest(line_0_b_1)
+25000 ONE_VAR_CONSTANT
s.t.
c_e_Bus_balance(b_0_0)_:
-1 flow(b_0_line_0_0)
+1 flow(line_0_b_0_0)
= -300
You're totally right, twice
Shall we file an issue for oemof-solph?
4. Rather general: I'm a little curious that `params_stat.csv` is not used in the repo code at all, where are static params (e.g. `nominal_storage_capacity` of storages) are obtained from? Aren't they needed for the analysis of flex. results?
I think I get these parameters from region.tech_assumptions
and other attributes of region
. So far, we haven't used to storage fill level nominal_storage_capacity
in our analysis.
Also, find comments on the code.
Two questions remain from my side:
- I saw in model.py that opex_var aren't multiplied by length, annuity is. Is this correct?
- How are emissions_fix defined? The implementation right now assumes that these are g/kW
1. Currently, this does not matter, as it is 0 in the current settings (only opex_fix>0) but in general you're right, thanks! Same applies for var emissions (also currently 0). I fixed both. 2. No, `g/(kW*km)` resp. `kg/(MW*km)`. You have to use the length, see code comment on this.
Ok. Fixed it - somehow
Note @nailend: As soon as this one is merged, new runs need to be used for analysis due to changed file format. I'll create them...
:partying_face:
Fix #36