UtilityCost:Tariff Examples[LINK]
          One of the best ways to learn the details of EnergyPlus Economics is to see some example tariffs and how they translate into objects. To do this, several different rates of increasing complexity are shown in the following examples.
          Another source of examples is the large set of tariff input objects provided with EnergyPlus in the macro data set file called “UtilityTariffObjects.imf” located in the “MacroDataSets” folder where EnergyPlus is installed. This file contains sets of objects that fully define tariffs for commercial customers from a collection of U.S. utility companies.
          Example A – Flat Energy Charge[LINK]
          As an example of the simplest type of tariff.
          Customer Charge: $2.51 per month
          Energy Charge:    5.5342 cents/kWh
          This tariff would use a single UtilityCost:Charge:Simple object. The monthly charge is part of the UtilityCost:Tariff object.
          UtilityCost:Tariff,
    ExampleA,                     ! Name
    Electricity:Facility,         ! Output Meter Name
    kWh,                          ! Conversion Factor Choice
    ,                             ! Energy Conversion Factor
    ,                             ! Demand Conversion Factor
    ,                             ! Time of Use Period Schedule Name
    ,                             ! Season Schedule Name
    ,                             ! Month Schedule Name
    ,                             ! Demand Window Length
    2.51;                         ! Monthly Charge or Variable Name
  UtilityCost:Charge:Simple,
    FlatEnergyCharge,             ! Charge Variable Name
    ExampleA,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Annual,                       ! Season
    EnergyCharges,                ! Category Variable Name
    0.055342;                     ! Cost Per Unit Value or Variable Name
          Example B – Block Energy Charge[LINK]
          Another simple type of tariff is one where the energy charges vary by the amount of energy consumed each month.
          Customer Charge:    $5.75 per month
          Energy Charge:        7.231 cents/kWh for first 200 kWh
                                            6.656 cents/kWh for next 1000 kWh
                                            5.876 cents/kWh for over 1200 kWh
          This tariff would use a single UtilityCost:Charge:Block object. The monthly charge is part of the UtilityCost:Tariff object. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
          UtilityCost:Tariff,
    ExampleB,                     ! Name
    Electricity:Facility,         ! Output Meter Name
    kWh,                          ! Conversion Factor Choice
    ,                             ! Energy Conversion Factor
    ,                             ! Demand Conversion Factor
    ,                             ! Time of Use Period Schedule Name
    ,                             ! Season Schedule Name
    ,                             ! Month Schedule Name
    ,                             ! Demand Window Length
    5.75;                         ! Monthly Charge or Variable Name
  UtilityCost:Charge:Block,
    BlockEnergyCharge,            ! Charge Variable Name
    ExampleB,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Annual,                       ! Season
    EnergyCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    ,                             ! Block Size Multiplier Value or Variable Name
    200,                          ! Block Size 1 Value or Variable Name
    0.07231,                      ! Block 1 Cost per Unit Value or Variable Name
    1000,                         ! Block Size 2 Value or Variable Name
    0.06656,                      ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    0.05876;                      ! Block 3 Cost per Unit Value or Variable Name
          Example C – Block Energy and Demand Charges[LINK]
          This example contains both a block for energy and a block for demand and is very similar to the previous example except it now includes demand charges as well. The energy and demand charges vary by the amount of energy and demand consumed each month.
          Energy Charge:        4.74 cents/kWh for first 20,000 kWh
                                            4.24 cents/kWh for next 180,000 kWh
                                            3.83 cents/kWh for additional kWh
          Demand Charge:      5.38 dollars per kW for first 20 kW
                                            4.23 dollars per kW for next 80 kW
                                            3.60 dollars per kW for additional kW
          This tariff would use two UtilityCost:Charge:Block objects. No monthly charge is shown so the UtilityCost:Tariff object can include just the first four fields. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
          UtilityCost:Tariff,
    ExampleC,                     ! Name
    Electricity:Facility,         ! Output Meter Name
    KWh;                          ! Conversion Factor Choice
  UtilityCost:Charge:Block,
    BlockEnergyCharge,            ! Charge Variable Name
    ExampleC,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Annual,                       ! Season
    EnergyCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    ,                             ! Block Size Multiplier Value or Variable Name
    20000,                        ! Block Size 1 Value or Variable Name
    0.0474,                       ! Block 1 Cost per Unit Value or Variable Name
    180000,                       ! Block Size 2 Value or Variable Name
    0.0424,                       ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    0.0383;                       ! Block 3 Cost per Unit Value or Variable Name
  UtilityCost:Charge:Block,
    BlockDemandCharge,            ! Charge Variable Name
    ExampleC,                     ! Tariff Name
    totalDemand,                  ! Source Variable
    Annual,                       ! Season
    DemandCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    ,                             ! Block Size Multiplier Value or Variable Name
    20,                           ! Block Size 1 Value or Variable Name
    5.38,                         ! Block 1 Cost per Unit Value or Variable Name
    80,                           ! Block Size 2 Value or Variable Name
    4.23,                         ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    3.60;                         ! Block 3 Cost per Unit Value or Variable Name
          Example D - Seasonal Energy Charges with Minimum Charge[LINK]
          Another type of tariff is one where the energy charges vary by the amount of energy consumed each month and are different for the summer and winter. In addition, this example demonstrates the minimum charge field.
          Minimum Charge:     $7.00 per month
          Winter – October through May
          Energy Charge:        4.385 cents/kWh for first 650 kWh
                                            3.763 cents/kWh for next 350 kWh
                                            3.704 cents/kWh for over 1000 kWh
          Summer – June through September
          Energy Charge:        8.385 cents/kWh for first 650 kWh
                                            7.588 cents/kWh for next 350 kWh
                                            7.103 cents/kWh for over 1000 kWh
          This tariff would use two UtilityCost:Charge:Block objects. The monthly charge is part of the UtilityCost:Tariff object. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
          UtilityCost:Tariff,
    ExampleD,                     ! Name
    Electricity:Facility,         ! Output Meter Name
    KWh,                          ! Conversion Factor Choice
    ,                             ! Energy Conversion Factor
    ,                             ! Demand Conversion Factor
    ,                             ! Time of Use Period Schedule Name
    TwoSeasonSchedule,            ! Season Schedule Name
    ,                             ! Month Schedule Name
    ,                             ! Demand Window Length
    ,                             ! Monthly Charge or Variable Name
    7.00;                         ! Minimum Monthly Charge or Variable Name
  UtilityCost:Charge:Block,
    WinterEnergyCost,             ! Charge Variable Name
    ExampleD,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Winter,                       ! Season
    EnergyCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    ,                             ! Block Size Multiplier Value or Variable Name
    650,                          ! Block Size 1 Value or Variable Name
    0.04385,                      ! Block 1 Cost per Unit Value or Variable Name
    350,                          ! Block Size 2 Value or Variable Name
    0.03763,                      ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    0.03704;                      ! Block 3 Cost per Unit Value or Variable Name
  UtilityCost:Charge:Block,
    SummerEnergyCost,             ! Charge Variable Name
    ExampleD,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Summer,                       ! Season
    EnergyCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    ,                             ! Block Size Multiplier Value or Variable Name
    650,                          ! Block Size 1 Value or Variable Name
    0.08385,                      ! Block 1 Cost per Unit Value or Variable Name
    350,                          ! Block Size 2 Value or Variable Name
    0.07588,                      ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    0.07103;                      ! Block 3 Cost per Unit Value or Variable Name
  Schedule:Compact, TwoSeasonSchedule, number,
  Through: 5/31, For: AllDays, Until: 24:00, 1,
  Through: 9/30, For: AllDays, Until: 24:00, 3,
  Through: 12/31, For: AllDays, Until: 24:00, 1;
          Example E – kWh/kW Energy Charges[LINK]
          A more advanced rate varies the size of the blocks based on amount of demand for the month. This creates an effective demand charge if the blocks have declining values.
          Customer Charge:  $14.00 per month
          Energy Charge:   8.756 cents/kWh for all consumption not greater than 200 hours times the demand
                                      6.812 cents/kWh for all consumption in excess of 200 hours and not greater than 400 hours times the demand
                                      5.029 cents/kWh for all consumption in excess of 400 hours times the demand.
          This tariff would use a single  UtilityCost:Charge:Block object. The monthly charge is part of the  UtilityCost:Tariff object. In this case the Block Size Multiplier Value (or Variable) is set to the totalDemand variable.
          UtilityCost:Tariff,
    ExampleE,                     ! Name
    Electricity:Facility,         ! Output Meter Name
    KWh,                          ! Conversion Factor Choice
    ,                             ! Energy Conversion Factor
    ,                             ! Demand Conversion Factor
    ,                             ! Time of Use Period Schedule Name
    ,                             ! Season Schedule Name
    ,                             ! Month Schedule Name
    ,                             ! Demand Window Length
    14;                           ! Monthly Charge or Variable Name
  UtilityCost:Charge:Block,
    BlockEnergyCharge,            ! Charge Variable Name
    ExampleE,                     ! Tariff Name
    totalEnergy,                  ! Source Variable
    Annual,                       ! Season
    EnergyCharges,                ! Category Variable Name
    ,                             ! Remaining Into Variable
    totalDemand,                  ! Block Size Multiplier Value or Variable Name
    200,                          ! Block Size 1 Value or Variable Name
    0.08756,                      ! Block 1 Cost per Unit Value or Variable Name
    200,                          ! Block Size 2 Value or Variable Name
    0.06812,                      ! Block 2 Cost per Unit Value or Variable Name
    remaining,                    ! Block Size 3 Value or Variable Name
    0.05029;                      ! Block 3 Cost per Unit Value or Variable Name
          Example F – Seasonal Time of Use Energy[LINK]
          Tariffs sometimes have higher costs for energy consumed during the daytime than at night. This example includes energy charges that vary by the time of day and by the season.
          Monthly Charge:       $37.75 per month
          Winter – October through May
          On Peak:                   8.315 cents/kWh
          Off-Peak:                   2.420 cents/kWh
          Summer – June through September
          On Peak:                   14.009 cents/kWh
          Off-Peak:                   6.312 cents/kWh
          The on-peak period is defined as the hours starting at 10am and ending at 7pm, Monday through Friday for June through September and 3pm to 10pm Monday through Friday for October through May. All other hours are considered off-peak.
          The tariff is only applicable for customers that use 50KW for at least one month of the year.
          This tariff uses four different UtilityCost:Charge:Simple objects to capture the variation with time of the energy cost. The monthly charge is part of the UtilityCost:Tariff object.
          UtilityCost:Tariff,
    ExampleF,                     ! 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
    ,                             ! Demand Window Length
    37.75;                        ! Monthly Charge or Variable Name
  UtilityCost:Charge:Simple,
    SummerOnPeak,                 ! Charge Variable Name
    ExampleF,                     ! Tariff Name
    peakEnergy,                   ! Source Variable
    Summer,                       ! Season
    EnergyCharges,                ! Category Variable Name
    0.14009;                      ! Cost per Unit Value or Variable Name
  UtilityCost:Charge:Simple,
    SummerOffPeak,                ! Charge Variable Name
    ExampleF,                     ! Tariff Name
    offPeakEnergy,                ! Source Variable
    Summer,                       ! Season
    EnergyCharges,                ! Category Variable Name
    0.06312;                      ! Cost per Unit Value or Variable Name
  UtilityCost:Charge:Simple,
    WinterOnPeak,                 ! Charge Variable Name
    ExampleF,                     ! Tariff Name
    peakEnergy,                   ! Source Variable
    Winter,                       ! Season
    EnergyCharges,                ! Category Variable Name
    0.08315;                      ! Cost per Unit Value or Variable Name
  UtilityCost:Charge:Simple,
    WinterOffPeak,                ! Charge Variable Name
    ExampleF,                     ! Tariff Name
    offPeakEnergy,                ! Source Variable
    Winter,                       ! Season
    EnergyCharges,                ! Category Variable Name
    0.02420;                      ! Cost per Unit Value or Variable Name
  UtilityCost:Qualify,
    MinDemand,                    ! Name
    ExampleF,                     ! Tariff Name
    TotalDemand,                  ! Variable Name
    Minimum,                      ! Qualify Type
    50,                           ! Threshold Value or Variable Name
    Annual,                       ! Season
    Count,                        ! Threshold Test
    1;                            ! Number of Months
  Schedule:Compact, TwoSeasonSchedule, number,
  Through: 5/31, For: AllDays,  Until: 24:00, 1,
  Through: 9/30, For: AllDays,  Until: 24:00, 3,
  Through: 12/31, For: AllDays, Until: 24:00, 1;
  Schedule:Compact, TimeOfDaySchedule, number,
  Through: 5/31, For: AllDays,  Until: 15:00, 3,
                                Until: 22:00, 1,
                                Until: 24:00, 3,
  Through: 9/30, For: AllDays,  Until: 10:00, 3,
                                Until: 19:00, 1,
                                Until: 24:00, 3,
  Through: 12/31, For: AllDays, Until: 15:00, 3,
                                Until: 22:00, 1,
                                Until: 24:00, 3;
          Example G – Blocks within Blocks[LINK]
          Utilities have come up with many different ways to encourage certain load factors and discourage other load factors. One method that has been used is blocks defined within other blocks. In the following example standard kWh blocks exist within the energy allocated for the first of several kWh/kW blocks.
          Monthly Charge:   $35 per month
          Energy Charge:    For all consumption not greater than 200 hours times the demand use
                                        10.32 cents/kWh for the first 1000 kWh
                                        7.43 cents/kWh for the next 4000 kWh
                                        6.23 cents/kWh for the next 5000 kWh
                                        4.27 cents/kWh for the remaining kWh less than 200 hours times the demand
                                        6.82 cents/kWh for all consumption in excess of 200 hours and not greater than 400 hours times the demand
                                        5.03 cents/kWh for all consumption in excess of 400 hours times the demand.
          To set up this “block within a block” a UtilityCost:Charge:Block is first used to separate out the first 200 kWh/kW. The “EnergyFirst200kWhPerkW” charge performs this. It uses demand to multiply the first block size by 200 and the “cost” for the block is simply 1 since it passes through the energy to the variable “EnergyFirst200kWhPerkW”. The remaining energy goes into the “restOfEnergy” variable as specified as the “Remaining Into Variable” field. After this is evaluated we have two new variables that hold energy. Each of these variables are then separately used in UtilityCost:Charge:Block objects to evaluate the different parts of the example tariff. By using the “Remaining Into Variable” along with the concept of variables, many very complex tariffs may be modeled.
          UtilityCost:Tariff,
    ExampleG,                !- Name
    ElectricityPurchased:Facility,  !- Output Meter Name
    KWh,                     !- Conversion Factor Choice
    ,                        !- Energy Conversion Factor
    ,                        !- Demand Conversion Factor
    ,                        !- Time of Use Period Schedule Name
    ,                        !- Season Schedule Name
    ,                        !- Month Schedule Name
    ,                        !- Demand Window Length
    35;                      !- Monthly Charge or Variable Name
  UtilityCost:Charge:Block,
    EnergyFirst200kWhPerkW,  !- Charge Variable Name
    ExampleG,                !- Tariff Name
    totalEnergy,             !- Source Variable
    Annual,                  !- Season
    NotIncluded,             !- Category Variable Name
    restOfEnergy,            !- Remaining Into Variable
    totalDemand,             !- Block Size Multiplier Value or Variable Name
    200,                     !- Block Size 1 Value or Variable Name
    1;                       !- Block 1 Cost Per Unit Value or Variable Name
  UtilityCost:Charge:Block,
    CostOfFirst200kWhPerkW,  !- Charge Variable Name
    ExampleG,                !- Tariff Name
    EnergyFirst200kWhPerkW,  !- Source Variable
    Annual,                  !- Season
    EnergyCharges,           !- Category Variable Name
    ,                        !- Remaining Into Variable
    ,                        !- Block Size Multiplier Value or Variable Name
    1000,                    !- Block Size 1 Value or Variable Name
    0.1032,                  !- Block 1 Cost Per Unit Value or Variable Name
    4000,                    !- Block Size 2 Value or Variable Name
    0.0743,                  !- Block 2 Cost Per Unit Value or Variable Name
    5000,                    !- Block Size 3 Value or Variable Name
    0.0623,                  !- Block 3 Cost Per Unit Value or Variable Name
    remaining,               !- Block Size 4 Value or Variable Name
    0.0427;                  !- Block 4 Cost Per Unit Value or Variable Name
  UtilityCost:Charge:Block,
    CostOfRestOfEnergy,      !- Charge Variable Name
    ExampleG,                !- Tariff Name
    restOfEnergy,            !- Source Variable
    Annual,                  !- Season
    EnergyCharges,           !- Category Variable Name
    ,                        !- Remaining Into Variable
    totalDemand,             !- Block Size Multiplier Value or Variable Name
    200,                     !- Block Size 1 Value or Variable Name
    0.0682,                  !- Block 1 Cost Per Unit Value or Variable Name
    remaining,               !- Block Size 2 Value or Variable Name
    0.0503;                  !- Block 2 Cost Per Unit Value or Variable Name
          Example H – Real Time Pricing[LINK]
          Some utilities have tariffs that can have different prices every hour of the year called Real Time Pricing tariffs. Often the utility will inform the customer of the prices for each hour of the day just one day in advance. To model this type of utility rate a normal schedule is used that contains the prices on an hourly basis.  The “Charge Schedule” field is where the Schedule object containing the prices is referenced.  In addition, the “Baseline Use Schedule” field is used to set the schedule for the customer baseline load. Not all utilities use a customer baseline load so the field can be left blank if none is needed. The Period, Season and Month Schedules are not needed for these tariffs unless UtilityCost:Charge’s are used.  The Schedule:File object can be especially useful to input a complex schedule that changes throughout the year.
          Example H, shown below, is an example of how to use the UtilityCost:Tariff object with a schedule to calculate a utility tariff using real time prices.  The example real time pricing schedule results in the same energy cost as Example F – Seasonal Time of Use Energy. This is only an example and usually for real time pricing the schedule values would vary throughout the year.
          !  EXAMPLE H - Real Time Pricing (RTP)
          UtilityCost:Tariff,
    ExampleH,                !- Name
    ElectricityPurchased:Facility,  !- Output Meter Name
    kWh,                     !- Conversion Factor Choice
    ,                        !- Energy Conversion Factor
    ,                        !- Demand Conversion Factor
    ,                        !- Time of Use Period Schedule Name
    ,                        !- Season Schedule Name
    ,                        !- Month Schedule Name
    ,                        !- Demand Window Length
    37.75,                   !- Monthly Charge or Variable Name
    ,                        !- Minimum Monthly Charge or Variable Name
    RTPpriceSchedule-H,      !- Real Time Pricing Charge Schedule Name
    ,                        !- Customer Baseline Load Schedule Name
    ,                        !- Group Name
    buyFromUtility;          !- Buy Or Sell
  Schedule:Compact,
    RTPpriceSchedule-H,      !- Name
    Any Number,              !- Schedule Type Limits Name
    Through: 5/31,           !- Field 1
    For: AllDays,            !- Field 2
    Until: 15:00,            !- Field 3
    0.02420,                 !- Field 4
    Until: 22:00,            !- Field 5
    0.08315,                 !- Field 6
    Until: 24:00,            !- Field 7
    0.02420,                 !- Field 8
    Through: 9/30,           !- Field 9
    For: AllDays,            !- Field 10
    Until: 10:00,            !- Field 11
    0.06312,                 !- Field 12
    Until: 19:00,            !- Field 13
    0.14009,                 !- Field 14
    Until: 24:00,            !- Field 15
    0.06312,                 !- Field 16
    Through: 12/31,          !- Field 17
    For: AllDays,            !- Field 18
    Until: 15:00,            !- Field 19
    0.02420,                 !- Field 20
    Until: 22:00,            !- Field 21
    0.08315,                 !- Field 22
    Until: 24:00,            !- Field 23
    0.02420;                 !- Field 24
          Example I – Selling and Net-Metering[LINK]
          When the building contains a generator, photovoltaics, or other sources of electrical power, there is an opportunity for the building generator to produce more power than the building uses. The excess power can either be sold to the utility or offset the energy purchased.
          When the excess power is sold, two utility rates need to be defined. The first can be defined just as in any of the previous examples. Since the “Buy or Sell” field of the UtilityCost:Tariff object defaults to “buyFromUtility” it does not even need to be specified. The meter specified in the “Output Meter” is usually set to “ElectricityPurchased:Facility.”
          The second tariff needs to be defined with the “Buy or Sell” field set to “sellToUtility.” The “Output Meter” is usually set to “ElectricitySurplusSold:Facility.” It is important to set the appropriate meters that correspond with the “Buy or Sell” field.  The example below shows an tariff that sells the excess electricity back to utility. The UtilityCost:Charge:Simple object contains a “Cost Per Value” with a negative number. A negative number is critical if a credit for selling this electricity is expected.
          !  EXAMPLE I - Selling
          UtilityCost:Charge:Simple,
    GeneratedElectricSold,   !- Charge Variable Name
    ExampleI-Sell,           !- Tariff Name
    totalEnergy,             !- Source Variable
    Annual,                  !- Season
    EnergyCharges,           !- Category Variable Name
    -0.02;                   !- Cost Per Unit Value (or Variable)
  UtilityCost:Tariff,
    ExampleI-Sell,           !- Name
    ElectricitySurplusSold:Facility,  !- Output Meter Name
    kWh,                     !- Conversion Factor Choice
    ,                        !- Energy Conversion Factor
    ,                        !- Demand Conversion Factor
    ,                        !- Time of Use Period Schedule Name
    ,                        !- Season Schedule Name
    ,                        !- Month Schedule Name
    ,                        !- Demand Window Length
    ,                        !- Monthly Charge or Variable Name
    ,                        !- Minimum Monthly Charge or Variable Name
    ,                        !- Real Time Pricing Charge Schedule Name
    ,                        !- Customer Baseline Load Schedule Name
    ,                        !- Group Name
    sellToUtility;           !- Buy Or Sell
  UtilityCost:Charge:Simple,
    GeneratedElectricSold,   !- Charge Variable Name
    ExampleI-Sell,           !- Tariff Name
    totalEnergy,             !- Source Variable
    Annual,                  !- Season
    EnergyCharges,           !- Category Variable Name
    -0.02;                   !- Cost Per Unit Value or Variable Name
          The next part of this example is a rate that uses net-metering. With net metering the meter conceptually turns backwards when the energy is being sold to the utility directly reducing the energy consumption being charged.  Effectively, the rate charge for purchased electricity is the same as the rate credited for electricity sold to the utility. In this the “Buy or Sell” field should be set to “netMetering.”  It is also important the “Output Meter” is set to a meter that represents net metering such as “ElectricityNet:Facility.” The following example shows a simple example tariff using net metering with a single UtilityCost:Charge:Simple:
          !  EXAMPLE I – Net Metering
    UtilityCost:Tariff,
      ExampleI-NetMeter,       !- Name
      ElectricityNet:Facility, !- Output Meter Name
      kWh,                     !- Conversion Factor Choice
      ,                        !- Energy Conversion Factor
      ,                        !- Demand Conversion Factor
      ,                        !- Time of Use Period Schedule Name
      ,                        !- Season Schedule Name
      ,                        !- Month Schedule Name
      ,                        !- Demand Window Length
      30.00,                   !- Monthly Charge or Variable Name
      ,                        !- Minimum Monthly Charge or Variable Name
      ,                        !- Real Time Pricing Charge Schedule Name
      ,                        !- Customer Baseline Load Schedule Name
      ,                        !- Group Name
      netMetering;             !- Buy Or Sell
    UtilityCost:Charge:Simple,
      NetMeteredCharge,        !- Charge Variable Name
      ExampleI-NetMeter,       !- Tariff Name
      totalEnergy,             !- Source Variable
      Annual,                  !- Season
      EnergyCharges,           !- Category Variable Name
      0.065;                   !- Cost Per Unit Value or Variable Name
                    
         
        
UtilityCost:Tariff Examples[LINK]
One of the best ways to learn the details of EnergyPlus Economics is to see some example tariffs and how they translate into objects. To do this, several different rates of increasing complexity are shown in the following examples.
Another source of examples is the large set of tariff input objects provided with EnergyPlus in the macro data set file called “UtilityTariffObjects.imf” located in the “MacroDataSets” folder where EnergyPlus is installed. This file contains sets of objects that fully define tariffs for commercial customers from a collection of U.S. utility companies.
Example A – Flat Energy Charge[LINK]
As an example of the simplest type of tariff.
Customer Charge: $2.51 per month
Energy Charge: 5.5342 cents/kWh
This tariff would use a single UtilityCost:Charge:Simple object. The monthly charge is part of the UtilityCost:Tariff object.
Example B – Block Energy Charge[LINK]
Another simple type of tariff is one where the energy charges vary by the amount of energy consumed each month.
Customer Charge: $5.75 per month
Energy Charge: 7.231 cents/kWh for first 200 kWh
6.656 cents/kWh for next 1000 kWh
5.876 cents/kWh for over 1200 kWh
This tariff would use a single UtilityCost:Charge:Block object. The monthly charge is part of the UtilityCost:Tariff object. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
Example C – Block Energy and Demand Charges[LINK]
This example contains both a block for energy and a block for demand and is very similar to the previous example except it now includes demand charges as well. The energy and demand charges vary by the amount of energy and demand consumed each month.
Energy Charge: 4.74 cents/kWh for first 20,000 kWh
4.24 cents/kWh for next 180,000 kWh
3.83 cents/kWh for additional kWh
Demand Charge: 5.38 dollars per kW for first 20 kW
4.23 dollars per kW for next 80 kW
3.60 dollars per kW for additional kW
This tariff would use two UtilityCost:Charge:Block objects. No monthly charge is shown so the UtilityCost:Tariff object can include just the first four fields. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
Example D - Seasonal Energy Charges with Minimum Charge[LINK]
Another type of tariff is one where the energy charges vary by the amount of energy consumed each month and are different for the summer and winter. In addition, this example demonstrates the minimum charge field.
Minimum Charge: $7.00 per month
Winter – October through May
Energy Charge: 4.385 cents/kWh for first 650 kWh
3.763 cents/kWh for next 350 kWh
3.704 cents/kWh for over 1000 kWh
Summer – June through September
Energy Charge: 8.385 cents/kWh for first 650 kWh
7.588 cents/kWh for next 350 kWh
7.103 cents/kWh for over 1000 kWh
This tariff would use two UtilityCost:Charge:Block objects. The monthly charge is part of the UtilityCost:Tariff object. Note that the block sizes are every other field at the bottom of the object and the that final block size references a built in variable called “remaining” that contains a very large number.
Example E – kWh/kW Energy Charges[LINK]
A more advanced rate varies the size of the blocks based on amount of demand for the month. This creates an effective demand charge if the blocks have declining values.
Customer Charge: $14.00 per month
Energy Charge: 8.756 cents/kWh for all consumption not greater than 200 hours times the demand
6.812 cents/kWh for all consumption in excess of 200 hours and not greater than 400 hours times the demand
5.029 cents/kWh for all consumption in excess of 400 hours times the demand.
This tariff would use a single UtilityCost:Charge:Block object. The monthly charge is part of the UtilityCost:Tariff object. In this case the Block Size Multiplier Value (or Variable) is set to the totalDemand variable.
Example F – Seasonal Time of Use Energy[LINK]
Tariffs sometimes have higher costs for energy consumed during the daytime than at night. This example includes energy charges that vary by the time of day and by the season.
Monthly Charge: $37.75 per month
Winter – October through May
On Peak: 8.315 cents/kWh
Off-Peak: 2.420 cents/kWh
Summer – June through September
On Peak: 14.009 cents/kWh
Off-Peak: 6.312 cents/kWh
The on-peak period is defined as the hours starting at 10am and ending at 7pm, Monday through Friday for June through September and 3pm to 10pm Monday through Friday for October through May. All other hours are considered off-peak.
The tariff is only applicable for customers that use 50KW for at least one month of the year.
This tariff uses four different UtilityCost:Charge:Simple objects to capture the variation with time of the energy cost. The monthly charge is part of the UtilityCost:Tariff object.
Example G – Blocks within Blocks[LINK]
Utilities have come up with many different ways to encourage certain load factors and discourage other load factors. One method that has been used is blocks defined within other blocks. In the following example standard kWh blocks exist within the energy allocated for the first of several kWh/kW blocks.
Monthly Charge: $35 per month
Energy Charge: For all consumption not greater than 200 hours times the demand use
10.32 cents/kWh for the first 1000 kWh
7.43 cents/kWh for the next 4000 kWh
6.23 cents/kWh for the next 5000 kWh
4.27 cents/kWh for the remaining kWh less than 200 hours times the demand
6.82 cents/kWh for all consumption in excess of 200 hours and not greater than 400 hours times the demand
5.03 cents/kWh for all consumption in excess of 400 hours times the demand.
To set up this “block within a block” a UtilityCost:Charge:Block is first used to separate out the first 200 kWh/kW. The “EnergyFirst200kWhPerkW” charge performs this. It uses demand to multiply the first block size by 200 and the “cost” for the block is simply 1 since it passes through the energy to the variable “EnergyFirst200kWhPerkW”. The remaining energy goes into the “restOfEnergy” variable as specified as the “Remaining Into Variable” field. After this is evaluated we have two new variables that hold energy. Each of these variables are then separately used in UtilityCost:Charge:Block objects to evaluate the different parts of the example tariff. By using the “Remaining Into Variable” along with the concept of variables, many very complex tariffs may be modeled.
Example H – Real Time Pricing[LINK]
Some utilities have tariffs that can have different prices every hour of the year called Real Time Pricing tariffs. Often the utility will inform the customer of the prices for each hour of the day just one day in advance. To model this type of utility rate a normal schedule is used that contains the prices on an hourly basis. The “Charge Schedule” field is where the Schedule object containing the prices is referenced. In addition, the “Baseline Use Schedule” field is used to set the schedule for the customer baseline load. Not all utilities use a customer baseline load so the field can be left blank if none is needed. The Period, Season and Month Schedules are not needed for these tariffs unless UtilityCost:Charge’s are used. The Schedule:File object can be especially useful to input a complex schedule that changes throughout the year.
Example H, shown below, is an example of how to use the UtilityCost:Tariff object with a schedule to calculate a utility tariff using real time prices. The example real time pricing schedule results in the same energy cost as Example F – Seasonal Time of Use Energy. This is only an example and usually for real time pricing the schedule values would vary throughout the year.
! EXAMPLE H - Real Time Pricing (RTP)
Example I – Selling and Net-Metering[LINK]
When the building contains a generator, photovoltaics, or other sources of electrical power, there is an opportunity for the building generator to produce more power than the building uses. The excess power can either be sold to the utility or offset the energy purchased.
When the excess power is sold, two utility rates need to be defined. The first can be defined just as in any of the previous examples. Since the “Buy or Sell” field of the UtilityCost:Tariff object defaults to “buyFromUtility” it does not even need to be specified. The meter specified in the “Output Meter” is usually set to “ElectricityPurchased:Facility.”
The second tariff needs to be defined with the “Buy or Sell” field set to “sellToUtility.” The “Output Meter” is usually set to “ElectricitySurplusSold:Facility.” It is important to set the appropriate meters that correspond with the “Buy or Sell” field. The example below shows an tariff that sells the excess electricity back to utility. The UtilityCost:Charge:Simple object contains a “Cost Per Value” with a negative number. A negative number is critical if a credit for selling this electricity is expected.
! EXAMPLE I - Selling
The next part of this example is a rate that uses net-metering. With net metering the meter conceptually turns backwards when the energy is being sold to the utility directly reducing the energy consumption being charged. Effectively, the rate charge for purchased electricity is the same as the rate credited for electricity sold to the utility. In this the “Buy or Sell” field should be set to “netMetering.” It is also important the “Output Meter” is set to a meter that represents net metering such as “ElectricityNet:Facility.” The following example shows a simple example tariff using net metering with a single UtilityCost:Charge:Simple:
Documentation content copyright © 1996-2020 The Board of Trustees of the University of Illinois and the Regents of the University of California through the Ernest Orlando Lawrence Berkeley National Laboratory. All rights reserved. EnergyPlus is a trademark of the US Department of Energy.
This documentation is made available under the EnergyPlus Open Source License v1.0.