Skip to content
David M. Lorenzetti edited this page Oct 3, 2014 · 2 revisions

Load duration application

Introduction

A load duration curve shows the number of hours, or the percentage of time, over which the building load is at or below a given value. If the curve is steep on the left side of the plot, it indicates that the highest loads are present only a small fraction of the time.

Pseudo-code: Load duration

Sample explanatory text: "The highest loads ideally should occur a small fraction of the time. If the building is near its peak load for a significant portion of the time, the HVAC equipment could be undersized, or there could be systems that are running more than necessary. If the load is near peak for only a short duration of time there may be an opportunity to reduce peak demand charges."

Program plotLoadDuration

  • Get inputs:
    • loads, vector of power data (float).
    • asPercent, flag indicating how to format the x-axis of the graph (boolean). True means to express the duration as a percent of time. False means to express duration as the number of observations.
  • Assume:
    • The loads were recorded at uniform intervals.
  • Identify the data of interest:
    • Take the last year of data. This ensures that the data are visually distinct.
  • Sort the loads:
    • Find sortedLoads by sorting loads in reverse order, i.e., from largest to smallest. For example, if loads = (1, 3, 2, 4) then sortedLoads = (4, 3, 2, 1).
  • Find values for the x-axis:
    • Set loadCt to the number of entries in loads.
    • If( asPercent is True ):
      • Set durs to a sequence of evenly-spaced percentages, from 0 to 100, with loadCt percentages in the sequence.
      • Note that this may require finding the step change from one number in the sequence to the next. If so, then find step = 100 / (loadCt - 1) When doing this calculation, be sure to avoid integer division. For example, if loadCt = 4 then step = 100/3 = 33.3333 However, integer division may give 100 / 3 = 33.
    • else:
      • Set durs to the sequence of integers from 1 to loadCt.
  • Make the load duration curve:
    • Make an x-y line graph, showing y = sortedLoads as a function of x = durs.
    • As a practical matter, note that many plotting libraries do not require that durs be made explicit, when durs runs from 1 to loadCt (i.e., when asPercent is False).
    • Typically the lower extent of the y-axis is fixed at zero power, in order to provide context for the range of power data.