Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a very small cost to the wind and solar generation to affect curtailment order #658

Open
1 task done
yixingxu opened this issue Jul 19, 2022 · 0 comments
Open
1 task done
Assignees
Labels
feature request Request for a new feature. (Only lives in Backlog)

Comments

@yixingxu
Copy link
Collaborator

yixingxu commented Jul 19, 2022

🚀

  • Is your feature request essential for your project?

Describe the workflow you want to enable

Allow user to specify the cost of wind and solar generation to affect curtailment order. The default could be all zero. User has the option to add a very small cost to the wind and solar generation, so that

  1. when curtailment is needed, wind and solar is first curtailed before hydro
  2. the cost added is so small that it almost does not affect the solution
  3. the preferred curtailment order is: wind, solar, hydro

This applies to all the existing and added wind and solar power plants.

The added small costs for wind and solar remain unchanged when the wind and solar capacities are scaled, which is different from how the thermal generators are handled.

Describe your proposed implementation, if applicable

change all the linear cost coefficient (c1) of wind from 0 to 0.015
change all the linear cost coefficient of (c1) solar from 0 to 0.01

The cost setting is the same as in PyPSA
MVP:
We build a user interface so that during scenario creation, the user is capable to choose whether to add the above small costs to all the existing and added wind/solar plants. It could be done through scenario attribute.

Ideal:
We build a user interface so that during scenario creation, the user is capable to specify any cost to any power plants including wind and solar. The user could specify all the cost coefficients for a set of power plants. For example: all the wind power plants in Texas. It could be done through change table.

In the current implementation, we assume all 0 cost parameters for wind/solar everywhere. Hence, implementing this feature potentially requires refactor all over the places. An integration test from scenario creation to results verification is needed in the validation process.

Additional context

This is related to hydro generation. When the cost of wind, solar, and hydro are all zeros, the curtailment of these resources are random and not ordered. In reality, hydro generation is less flexible to be curtailed than wind and solar. In order to capture this characteristic, we prefer to see the wind and solar are curtailed before hydro. There are two options:
Option 1: setting a pmin(t) = 95% * pmax(t) to hydro power plants. This way, even the hydro is curtailed, it is only curtailed to 95% of its available generation. The hydro generation schedule is only slightly affected.

Option 2 (described in this feature request): adding a small cost to wind and solar, but still no cost for hydro. This way, when the curtailment is needed, more expensive wind and solar are more likely to be curtailed first before zero cost hydro. With this option, the pmin(t) for hydro could be set to 0, which is consistent with wind and solar. This is done in this #180

With issue #180, we should be able to capture both option 1 and option 2, i.e. we can specify some hydro to be mandate, Pmin = 95%/100% of Pmax and some hydro to be flexible, Pmin = 0 (same as wind and solar), in the latter case, we can make hydro be curtailed after wind and solar via #658

@yixingxu yixingxu added the feature request Request for a new feature. (Only lives in Backlog) label Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Request for a new feature. (Only lives in Backlog)
Projects
None yet
Development

No branches or pull requests

5 participants