Hello PyPSA team, Hope you are doing well.
I am working on a project to simulate and forecast the price of electricity
depending on load forecast in a market for the upcoming day.
I use a two-step model calculation with LOPF. I first run the Network n, and then the Network n2. The n should give the day ahead forecasted price, and the n2 should give the 2 or 3 hours ahead forecasted price.
1) the step n:
I gathered information about generators in the markets such as start up cost, ramp up/down, min_up_time, up_time_before, marginal_cost, p_nom… some info that I found and other that I assumed J
I use the load
forecast provided by the market the day before during the day ahead commitment
process. Therefore, with n, I can have a forecast of the day ahead lmp. This
step has satisfying values!
2) the step n2:
I am now working to launch a second calculation, taking the latest load forecast available at the hour h-1 during the current day.
Moreover, I
use the results of generation from the first calculation. Therefore, I want to have
initial conditions for generators at the first snapshots such as:
n2.generators_t.p_min_pu.iloc[0,]
= n.generators_t.p.iloc[(h-1),]
also, to
have a matching production and demand, I have:
n2.loads_t.p_set.iloc[0,] = n.loads_t.p_set.iloc[h-1,]
and for the rest of the load, I use the load
forecast provided such as:
n2.loads_t.p_set.iloc[1:,]
equal to the latest load forecast
However, when I do so, the price at the first snapshots has extreme negative values (like -300$) and then stabilize depending, as if too much energy was injected into the network…
Then here
are my questions:
-
is
there a better way of forcing generators to produce for the first snapshot than
p_min_pu?
- Why is the price getting so low whereas it was a result of the first optimization for the same load?
- If you have any extra insights, advice, or example for such an exercise I’d be happy to. I haven’t found anything like this on your website
Danke sehr!
Grüße