Minimum and maximum range for hourly dispatch of a dispatchable generation unit.
I am modelling a coal unit whose characteristics are given below. This is one among the 8 coal plants in my system.
This specific plant has a capacity of 3840 MW, availability factor of 46%, min_load of 60% (0.6) and efficiency of 30%.
I used no_startup for startup method.
I'd like to know the possible minimum and maximum value of hourly dispatch of this plant.
My initial thought is: max possible dispatch = capacity * availability = 3840 * 0.46 = 1766 MW. And min possible dispatch = capacity * availability * min_load = 3840 * 0.46 * 0.6 = 1060 MW
When I ran FlexTool and got results, the max hourly dispatch matches with the above calculation. However, there are several hours where the minimum dispatch of the plant (except when 0) is below my above calcualation of 1060 MW as shown by red circles below.
These mainly occur during afternoon hours when the solar PV dispatch is high. I was expecting coal plant to still behave similar to a base load and the PV to be curtailed. What could explain this behaviour?
From this documentation of FlexTool 2.0, I infer that
max possible dispatch = existing capacity * availability * efficiency = 3840 * 0.46 * 0.3 = 529 MW min possible dispatch = existing capacity * availability * min util * efficiency = 3840 * 0.46 * 0.6 * 0.3 = 318 MW
However, I am getting the hourly dispatch above and below these max and min values respectively.
I also don't see a placeholder field for online variable in FlexTool 3.0.
The 'min_load' parameter is really a part of the 'startup_method', so you need set the 'startup_method' to either linear or integer. The latter will force the unit to follow the minimum load strictly, but it will require 'interger' variables making the model slower. Linear allows the unit to 'start_up' partially as well.
Additionally, the if you want the 'ramp_speed_up' and 'ramp_speed_down' to have an effect on the model, the 'ramp_method' should be set to 'both' or 'ramp_limit' if the 'ramp_cost' can be ignored.
The min_load parameter description in the documentation should be modified to tell that the startup_method creates the online variable
Thanks for the response, Arttu!
I understand now that the min_load is actually activated once the start_up method is set to linear or binary.
I also noticed that if the availability of a plant is less than min_load, then that plant does not get dispatched. As such, the availability works as a derating factor. Correct me if I am wrong!
Just an addition: min_load parameter, together with min_load_efficiency, is also used by the conversion_method 'min_load_efficiency'.
And yes, 'availability' is multiplied with the capacity (existing plus invested) to form an upper limit to what the unit can produce. And if then min_load is higher than availability, the unit cannot produce (as long as it has integer online variable).