Hydro Plant Max Monthly Energy Modeling (Plexos model to SAInt transfer)

Hi, I need help in two questions.

First Question:

I need guidance on how to model monthly (and daily) energy caps for a hydro unit in SAInt. In our plexos model say we have given following info of a Hydro machine name XYZ.

|Max Capacity|MW|6.7||
|Min Stable Level|MW|6.7||
|Max Energy Month|GWh|0.893835792|M03|
|Max Energy Month|GWh|0.909784446|M04|
|Max Energy Month|GWh|0.93637478|M05|
|Max Energy Month|GWh|1.049588627|M02|
|Max Energy Month|GWh|1.101037455|M06|
|Max Energy Month|GWh|1.168285313|M01|
|Max Energy Month|GWh|1.28634435|M08|
|Max Energy Month|GWh|1.289002161|M07|
|Max Energy Month|GWh|1.334507915|M11|
|Max Energy Month|GWh|1.348703628|M10|
|Max Energy Month|GWh|1.356194553|M09|
|Max Energy Month|GWh|1.58826497|M12|

What is the recommended approach to enforce these monthly caps for a single unit? I have kept these hydro generators in HGEN sheet.

Second Question

In Plexos, some machines have defined Max capacity and couple of derated rating. For example ABC machine has Max Capacity 90 MW and two ratings 60 MW and 90 MW. I know PMAX event can override PMAXDEF value.

a) If I set PMAXDEF to 90 MW and create a PMAX event with 60 MW, is this the correct approach?This would mean that, without the PMAX event, the machine would operate at its full capacity (90 MW).

b) If I set PMAXDEF to 60 MW, can a PMAX event with 90 MW override that default setting?

Thanks,
Aftab

Hi @aftabzmn1,

Thank you for your question! I’ll answer your second question first since it is more simple. I would recommend setting PMAXDEF equal to the maximum value you expect this generator to operate at. A PMAX event can then adjust that value between 0 and the value of PMAXDEF.

For the “Max Energy Month” property, HGEN objects in SAInt do not have this property directly but this can be done using a custom constraint. For example:

Consider an HGEN named XYZ.

For this you would also create an ECSNTR object, let’s call it XYZ_ENERGY_BUDGET. For this ECNSTR object you would define the “AvgUpBoundDef” property equal to the time-averaged upper bound you want to enforce (in this case it would be the value of “Max Energy Month” divided by the number of hours in the corresponding month). To enforce this for each month in a year, you would just use an “AvgUpBound” Event to change this value at the beginning of each month.

Now you would define an EVAR object, let’s call it XYZ_P_MW. This EVAR object should be linked to the appropriate ECNSTR object via the “CNSTRName” property as well as the appropriate HGEN object via the “NetObjID” property. You will also want to specify that this should correspond to the active power variable “P”. In this case, you would leave the “CoeffDef” property equal to 1.

Here are some additional resources you can check out:

Please let me know if you have any trouble implementing this or have any other follow-up questions. Happy modeling!

2 Likes

and I can not find the ENET09_13 model

Hi @quynhtran86

Thank you for your comment.

Are you looking for the ENET09_13 to complete the Tutorial linked above? If so, you can find it here.

Does that help, or do you have a different question?