Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page

# UtilityCost Tariff Demand Charges based on max demand in interval

I have to implement a demand charge block that is based on the maximum demand in a 30-minute interval and then applies the rate 1. x per kW for billing period, plus (highest measured 30-minute interval kW demand billing period) 2. y per kW of peak billing demand (highest measured 30-minute interval kW demand peak billing period)

How can this be done using EMS? Any other approach?

( This is part of the https://unmethours.com/question/20352... but I think it needs a separate thread.)

edit retag close merge delete

Complex Tariff Modeling section is also not suitable for finding the demand charges as its dependent on finding the max demand for a 30-minute interval for billing and peak billing times.

( 2016-10-04 18:45:41 -0500 )edit

To get a 30-minute interval for kW demand, use the UtilityCost:Tariff field called Demand Window Length and set it to HalfHour. Why are you saying that is not suitable?

( 2016-10-05 06:42:16 -0500 )edit

I want to use these http://tampaelectric.com/files/tariff... Time of day rates (GSDT rate). And demand windows will be applicable for all the demand. The demand is to part one for base billing and PLUS demand for peak billing demand (which i think would need to be calculated for peak windows only). Any suggestions of implementing this?

( 2016-10-05 11:52:46 -0500 )edit

Sort by ยป oldest newest most voted

First of all, in order to get the 30-minute interval KW demand, use the UtilityCost:Tariff field called Demand Window Length and set it to HalfHour.

The rate you provided has demand charges both for the demand set during the month and also demand set during the peak time of use period. It is similar to ExampleF that appears in the InputOutputReference as well as in the 5ZoneEconomicsTariffAndLifeCycleCosts.idf example file that comes with EnergyPlus.

In that example only energy rates are associated with the different time periods but it is also possible to use demand rates. For the demand that is set for the peak time of use period in the summer month, you would do something like the following that uses the peakDemand source variable:

UtilityCost:Charge:Simple,
SummerPeakBillingDemand,                ! Charge Variable Name
GSDT,                         ! Tariff Name
peakDemand,                ! Source Variable
Summer,                       ! Season
DemandCharges,                ! Category Variable Name
6.13;                      ! Cost per Unit Value or Variable Name


And for the component of the demand charges for the entire month use the "totalDemand" source variable

UtilityCost:Charge:Simple,
SummerBillingDemand,                ! Charge Variable Name
GSDT,                         ! Tariff Name
totalDemand,                ! Source Variable
Summer,                       ! Season
DemandCharges,                ! Category Variable Name
3.12;                      ! Cost per Unit Value or Variable Name


Of course you need to complete the UtilityCost:Tariff object and reference appropriate schedules for that rate as well as add the energy charges and service charges. Reading through the documentation and examples for the UtilityCost:Tariff object can really help.

For reference here is the tariff:

more

Thanks for explaining in depth. I still have one question about the estimation of billing demand and peak demand. I assume from above that the billing windows is same for both. When this simple block calculates the billing demand, does it excludes the peak demand intervals (most likely not)? How does the peak demand variable6.13 calculate for those intervals? Say we have max demand during peak interval of 100 kW, would that mean the total demand charges be $(3.12100+6.13100) or (3.12100+(6.13-3.12)*100)? This is like penalty of using any same demand during peak demand. ( 2016-10-05 18:40:10 -0500 )edit Additionally, where can i find the definition for peak-off-peak, seasonal representation of 1,2,3 that's required for schedule numbers. In I/O ref :- Example F On-Peak is defined for Monday to Friday, while both the schedules (Schedule:Compact, TwoSeasonSchedule, and Schedule:Compact, TimeOfDaySchedule) used are defined For:AllDays? How is the weekends and holidays excluded? Should the TimeOfDaySchedule be defined for weekdays only? ( 2016-10-05 18:50:27 -0500 )edit As the rates for peak and off-peak are same for summer and winter, I think the season would be annual instead of summer of winter. Like UtilityCost:Charge:Simple, PeakBillingDemand, !- Name Tampa_GSDT_ToD, !- Tariff Name peakDemand, !- Source Variable Annual, !- Season DemandCharges, !- Category Variable Name 6.13; !- Cost per Unit Value or Variable Name ( 2016-10-05 20:00:28 -0500 )edit If the 100 kW demand is set during the peak hours it would be (100 x 3.12) + (100 x 6.13). From the utility perspective the portion of the combined cost of the generation and distribution equipment which is trying to be recovered is$9.25/kW but for a building that sets the demand during other times of day there is still equipment cost that they need to recover and that is why the demand charge is separated into two pieces. Not very many utilities use this approach but some do.

( 2016-10-06 06:58:10 -0500 )edit
1

To find the explanation for the schedules look at the documentation for the UtilityCost:Tariff object. Please also review the introduction and framework to get a full understanding of tariffs.

( 2016-10-06 07:02:46 -0500 )edit

As the rates for peak and off-peak are same for summer and winter, I think the season would be annual instead of summer of winter. The Total tariff structure could be:

!-   ===========  ALL OBJECTS IN CLASS: UTILITYCOST:TARIFF ===========

UtilityCost:Tariff,
Tampa_GSDT_ToD,          !- Name
Electricity:Facility,    !- Output Meter Name
kWh,                     !- Conversion Factor Choice
,                        !- Energy Conversion Factor
,                        !- Demand Conversion Factor
TimeOfDaySchedule,       !- Time of Use Period Schedule Name
TwoSeasonSchedule,       !- Season Schedule Name
,                        !- Month Schedule Name
HalfHour,                !- Demand Window Length
30,                    !- Monthly Charge or Variable Name
,                        !- Minimum Monthly Charge or Variable Name
,                        !- Real Time Pricing Charge Schedule Name
,                        !- Customer Baseline Load Schedule Name
,                        !- Group Name

!-   ===========  ALL OBJECTS IN CLASS: UTILITYCOST:CHARGE:SIMPLE ===========

UtilityCost:Charge:Simple,
Peak_energy,             !- Name
Tampa_GSDT_ToD,          !- Tariff Name
peakEnergy,              !- Source Variable
Annual,                  !- Season
EnergyCharges,           !- Category Variable Name
0.02898;                 !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
Off-Peak_energy,         !- Name
Tampa_GSDT_ToD,          !- Tariff Name
offPeakEnergy,           !- Source Variable
Annual,                  !- Season
EnergyCharges,           !- Category Variable Name
0.01046;                 !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
PeakBillingDemand,       !- Name
Tampa_GSDT_ToD,          !- Tariff Name
peakDemand,              !- Source Variable
Annual,                  !- Season
DemandCharges,           !- Category Variable Name
6.13;                    !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
BillingDemand,           !- Name
Tampa_GSDT_ToD,          !- Tariff Name
totalDemand,             !- Source Variable
Annual,                  !- Season
DemandCharges,           !- Category Variable Name
3.12;                    !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
Tampa_GSDT_ToD,          !- Tariff Name
peakEnergy,              !- Source Variable
Annual,                  !- Season
EnergyCharges,           !- Category Variable Name
0.03937;                 !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
Tampa_GSDT_ToD,          !- Tariff Name
offpeakEnergy,           !- Source Variable
Annual,                  !- Season
EnergyCharges,           !- Category Variable Name
0.03564;                 !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
EnergyConservCharge,     !- Name
Tampa_GSDT_ToD,          !- Tariff Name
totalEnergy,             !- Source Variable
Annual,                  !- Season
DemandCharges,           !- Category Variable Name
0.65;                    !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
CapacityCharge,          !- Name
Tampa_GSDT_ToD,          !- Tariff Name
totalDemand,             !- Source Variable
Annual,                  !- Season
DemandCharges,           !- Category Variable Name
0.53;                    !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
EnvironCharge,           !- Name
Tampa_GSDT_ToD,          !- Tariff Name
totalEnergy,             !- Source Variable
Annual,                  !- Season
EnergyCharges,           !- Category Variable Name
0.00429;                 !- Cost per Unit Value or Variable Name

UtilityCost:Charge:Simple,
TaxofeightPercent,       !- Name
Tampa_GSDT_ToD,          !- Tariff Name
SubTotal,                !- Source Variable
Annual,                  !- Season
Taxes,                   !- Category Variable Name
0.025641;                !- Cost per Unit Value or Variable Name


Let me know if I have missed something? The week schedule will be defined for weekdays with peak=1 and offpeak=3 followed by Weekends and Holidays =3.

more

I think the monthly charge is one of those costs depending on the voltage being used and not the sum of all three.

( 2016-10-06 07:05:15 -0500 )edit

I will check the monthly rates. Do you think the rest of the tariff structure is now set correctly? I did not include the schedules so the complete idf is here http://pastebin.com/CJBjbL1Q

( 2016-10-06 11:22:16 -0500 )edit