.. Substitutions .. |--| unicode:: U+2013 .. en dash .. |---| unicode:: U+2014 .. em dash, trimming surrounding whitespace :trim: .. |br| raw:: html
.. _tutorials: Local Execution Tutorials ========================= .. _tuts-1: Tutorial 1: Creating and editing ECMs ------------------------------------- Before beginning this tutorial, it is recommended that you review the :ref:`list of parameters ` in an ECM definition. The :ref:`json-schema` should always be in your back pocket as a reference. This section includes brief descriptions, allowable options, and examples for each of the fields in an ECM definition. You might want to have it open in a separate tab in your browser while you complete this tutorial, and any time you're authoring or editing an ECM. The example in this tutorial will demonstrate how to write new ECMs so that they will be compliant with all relevant formatting requirements and provide the :ref:`needed information ` about a technology in the structure expected by the Scout analysis engine. This example is intentionally plain to illustrate the basic features of an ECM definition and is *not* an exhaustive description of all of the detailed options available to specify an ECM. These additional options are presented in the :ref:`ecm-features` section, and the :ref:`json-schema` has detailed specifications for each field in an ECM definition. In addition, this tutorial includes information about how to :ref:`edit existing ECMs ` and :ref:`define package ECMs `. As a starting point for writing new ECMs, an empty ECM definition file is available for :download:`download `. Reference versions of the tutorial ECMs are also provided for download to check one's own work following completion of the examples. Each new ECM created should be saved in a separate file. To add new or edited ECMs to the analysis, the files should be placed in the |html-filepath| ./ecm_definitions |html-fp-end| directory, or in a :ref:`directory specified by the user `. Further details regarding where ECM definitions should be saved and how to ensure that they are included in new analyses are included in :ref:`Tutorial 3 `. JSON syntax basics ~~~~~~~~~~~~~~~~~~ Each ECM for Scout is stored in a JSON_-formatted file. JSON files are human-readable (they appear as plain text) and are structured as (nested) pairs of *keys* and *values*, separated by a colon and enclosed with braces. [#]_ :: {"key": "value"} .. warning:: JSON files have important `formatting rules`_ that must be strictly observed. JSON files that do not follow these rules are "invalid" and cannot be used by any program. .. _formatting rules: .. _JSON: http://www.json.org Keys are *always* text – both letters and numbers are acceptable – enclosed in double quotes. Values can take one of several forms, such as numbers, boolean values (i.e., true, false), or lists (multiple values separated by commas and enclosed in brackets). A value must always be provided for each key. :: {"temperature": 450} {"activated": true} {"preferred colors": ["red", "green", "blue"]} {"reported heights": [1.79, 1.83, 1.64, 1.91]} There can be multiple key-value pairs at the same level, separated by commas. :: {"name": "HAL", "model": 9000, "service date": "1992-01-12"} Values can also be additional key-value pairs, thus creating a nested structure. :: {"vehicle 1": {"make": "Ford", "model": "F-150"}} {"name": "HAL", "model": 9000, "service date": "1992-01-12", "manufacturing location": {"country": "US", "state": "IL", "city": "Urbana"}} Among key-value pairs at the same level, the order of entries does not matter. We will use these formatting guidelines to write new ECMs. .. _example-ecm-1: Your first ECM definition ~~~~~~~~~~~~~~~~~~~~~~~~~ The required information for defining this ECM will be covered in the same order as the :ref:`list of parameters ` in the :ref:`analysis-approach` section. For all of the fields in the ECM definition, details regarding acceptable values, structure, and formatting are provided in the :ref:`ECM JSON schema `. If after completing this tutorial you feel that you would benefit from looking at additional ECM definitions, you can browse the :repo_file:`ECM definition JSON files ` available on GitHub. For this example, we will be creating an ECM for LED troffers for commercial buildings. Troffers are square or rectangular light fixtures designed to be used in a modular dropped ceiling grid commonly seen in offices and other commercial spaces. The finished ECM specification is available to :download:`download ` for reference. To begin, the ECM should be given a descriptive name less than 40 characters long (including spaces). Details regarding the characteristics of the technology that will be included elsewhere in the ECM definition, such as the cost, efficiency, or lifetime, need not be included in the name. The key for the name is simply ``name``. :: {"name": "LED Troffers"} If the ECM describes a technology currently under development, the name should contain the word "Prospective" in parentheses. If the ECM describes or is derived from a published standard or specification, its version number or year should be included in the name. .. note:: In this tutorial, JSON entries will be shown with leading and trailing ellipses to indicate that there is additional data in the ECM definition that appears before and/or after the text of interest. :: {... "key_text": "value", ...} .. _base_mkt: Applicable baseline market ************************** The applicable baseline market parameters specify the climate zones, building types, structure types, end uses, fuel types, and specific technologies for the ECM. The climate zone(s) can be given as a single string, if only one climate zone applies, or as a list if a few climate zones apply. The climate zone entry options are outlined in the :ref:`ecm-baseline_climate-zone` section, and formatting details are in the :ref:`applicable section ` of the JSON schema. If the ECM is suitable for all climate zones, the shorthand string ``"all"`` can be used in place of a list of all of the climate zone names. These shorthand terms are discussed further in the :ref:`ecm-features-shorthand` section. LED troffers can be installed in buildings in any climate zone, and for convenience, the available shorthand term will be used in place of a list of all of the climate zone names. :: {... "climate_zone": "all", ...} Building type options include specific residential and commercial building types, given in the :ref:`ecm-baseline_building-type` section, as well as several shorthand terms. A single string, list of strings, or shorthand value(s) are all allowable entries, as indicated in the :ref:`json-bldg_type` field reference. Though LED troffers are most commonly found in office and other small commercial settings, they are found to some limited extent in most types of commercial buildings. Rather than limiting the ECM to only some building types, the technology field will be used to restrict the applicability of the ECM to only the energy used by lighting types that could be replaced by LED troffers. :: {... "bldg_type": "all commercial", ...} ECMs can apply to only new construction, only existing buildings, or all buildings both new and existing. This is specified under the :ref:`json-structure_type` key with the values "new," "existing," or "all," respectively. LED troffers can be installed in both new construction and existing buildings, thus the "all" shorthand is used. :: {... "structure_type": "all", ...} The end use(s) correspond to the major building functions or other energy uses provided by the technology described in the ECM. End uses can be specified as a single string or, if multiple end uses apply, as a list. The acceptable formats for the end use(s) are in the :ref:`ECM JSON schema ` and the acceptable values are listed in the :ref:`ecm-baseline_end-use` ECM reference section. [#]_ If the ECM describes a technology that affects the thermal load of a building (e.g., insulation), the end use should be given as "heating" and "cooling" in a list. The only applicable end use for LED troffers is lighting. Changing from fluorescent bulbs typically found in troffers to LEDs will reduce the heat output from the fixture, thus reducing the cooling load and increasing the heating load for the building. These changes in heating and cooling energy use that arise from changes to lighting systems in commercial buildings are accounted for automatically in the energy use calculations for the ECM. :: {... "end_use": "lighting", ...} The fuel type generally corresponds to the energy source used for the technology described by an ECM -- natural gas for a natural gas heat pump and electricity for an air-source heat pump, for example. The fuel type should be consistent with the end use(s) already specified, based on the :ref:`end use reference tables `. Fuel types are listed in the :ref:`ecm-baseline_fuel-type` ECM reference section, and can be specified as a single entry or a list if multiple fuel types are relevant (as indicated in the :ref:`ECM JSON schema `). If the ECM describes a technology that affects the thermal load of a building (e.g., insulation), the fuel type should be given as "all" because heating and cooling energy from all fuel types could be affected by those types of technologies. In the case of LED troffers, electricity is the only relevant fuel type. :: {... "fuel_type": "electricity", ...} The technology field drills down into the specific technologies or device types that apply to the end use(s) for the ECM. In some cases, an ECM might be able to replace the full range of incumbent technologies in its end use categories, while in others, only specific technologies might be subject to replacement. As indicated in the :ref:`ECM JSON schema `, applicable technologies can be given as a single string, a list of technology names, or using :ref:`shorthand values `. If applicable, a technology list can also be specified with a mix of shorthand end use references (e.g., "all lighting") and specific technology names, such as ``["all heating", "F28T8 HE w/ OS", "F28T8 HE w/ SR"]``. All of the technology names are listed by building sector (residential or commercial) and technology type (supply or demand) in the :ref:`relevant section ` of the :ref:`ecm-def-reference`. In general, the residential__ and commercial__ thermal load components are the technology names for demand-side energy use, and are relevant for ECMs that apply to the building envelope or windows. Technology names for supply-side energy use generally correspond to major equipment types used in the AEO_ [#]_ and are relevant for ECMs that are describing those types of equipment within a building. For this example, LED troffers are likely to replace linear fluorescent bulbs, the typical bulb type in troffers. There are many lighting types for commercial buildings, but we will include all of the lighting types that are specified as T\_\_F\_\_, which correspond to linear fluorescent bulb types, including those with additional modifying text. :: {... "technology": ["T5 F28", "T8 F28 High-efficiency/High-Output", "T8 F32 Commodity", "T8 F59 High Efficiency", "T8 F59 Typical Efficiency", "T8 F96 High Output"], ...} .. __: https://github.com/trynthink/scout/blob/master/1999%20Residential%20heating%20and%20cooling%20loads%20component%20analysis.pdf .. __: https://github.com/trynthink/scout/blob/master/1999%20Commercial%20heating%20and%20cooling%20loads%20component%20analysis.pdf .. _AEO: https://www.eia.gov/analysis/studies/buildings/equipcosts/pdf/full.pdf Market entry and exit year ************************** The market entry year represents the year the technology is or will be available for purchase and installation. Some ECMs might be prospective, representing technologies not currently available. Others might represent technologies currently commercially available. The market entry year should reflect the current status of the technology described in the ECM. Similarly, the market exit year represents the year the technology is expected to be withdrawn from the market. If the technology described by an ECM will have a lower installed cost or improved energy efficiency after its initial market entry, another ECM should be created that reflects the improved version of the product, and the market exit year should not (in general) be used to force an older technology out of the market. The market entry year and exit year both require source information. As much as is practicable, a :ref:`high quality` reference should be used for both values. If no source is available, such as for a technology that is still quite far from commercialization, a brief explanatory note should be provided for the market entry year source, and the :ref:`json-source_data` fields themselves can be given as ``null`` or with empty strings. If it is anticipated that the product will not be withdrawn from the market prior to the end of the model :ref:`time horizon <2013-2050 projection>`, the exit year and source should be given as ``null``. LED troffers are currently commercially available with a range of efficiency, cost, and lifetime ratings. It is likely that while LED troffers will not, in general, exit the market within the model :ref:`time horizon <2013-2050 projection>`, LED troffers with cost and efficiency similar to this ECM are not likely to remain competitive through 2040. It will, however, be left to the analysis to determine whether more advanced lighting products enter the market and supplant this ECM, rather than specifying a market exit year. :: {... "market_entry_year": 2015, "market_entry_year_source": { "notes": "The source suggests that technologies described in the document are available on the market by its release date.", "source_data": [{ "title": "High Efficiency Troffer Performance Specification, Version 5.0", "author": "", "organization": "U.S. Department of Energy", "year": 2015, "pages": null, "URL": "https://betterbuildingssolutioncenter.energy.gov/sites/default/files/attachments/High%20Efficiency%20Troffer%20Performance%20Specification.pdf"}]}, "market_exit_year": null, "market_exit_year_source": null, ...} .. _efficiency: Energy efficiency ***************** The energy efficiency of the ECM must be specified in three parts: the quantitative efficiency (only the value(s)), the units of the efficiency value(s) provided, and source(s) that support the indicated efficiency information. Each of these parameters is specified in a separate field. The units specified are expected to be consistent with the units for each end use outlined in the :ref:`ECM Definition Reference ` section. The source(s) for the efficiency data should be credible sources, such as :ref:`those outlined ` in the :ref:`analysis-approach` section. The source information should be provided using only the fields shown in the example and should include sufficient information so that the value(s) can be quickly identified from the sources listed. Additional detail regarding the acceptable form for entries in the source are linked to from the :ref:`json-source_data` entry in the ECM JSON schema. For the example of LED troffers, all lighting data should be provided in the units of lumens per Watt (denoted "lm/W"). LED troffers efficiency information is based on the `High Efficiency Troffer Performance Specification`_. :: {... "energy_efficiency": 120, "energy_efficiency_units": "lm/W", "energy_efficiency_source": { "notes": "Initial efficiency value taken from source section II.a.2.a. Efficiency value increased slightly based on efficacy values for fixtures categorized as '2x4 Luminaires for Ambient Lighting of Interior Commercial Spaces' in the DesignLights Consortium Qualified Products List (https://www.designlights.org/qpl).", "source_data": [{ "title": "High Efficiency Troffer Performance Specification, Version 5.0", "author": "", "organization": "U.S. Department of Energy", "year": 2015, "pages": 5, "URL": "https://betterbuildingssolutioncenter.energy.gov/sites/default/files/attachments/High%20Efficiency%20Troffer%20Performance%20Specification.pdf"}]}, ...} .. Many additional options exist that enable more complex definitions of energy efficiency, such as incorporating :ref:`probability distributions `, providing a :ref:`detailed efficiency breakdown ` by elements of the applicable baseline market, using :ref:`EnergyPlus simulation data `, and using :ref:`relative instead of absolute units `. Detailed examples for all of the options are in the :ref:`ecm-features` section. Many additional options exist that enable more complex definitions of energy efficiency, such as incorporating :ref:`probability distributions `, providing a :ref:`detailed efficiency breakdown ` by elements of the applicable baseline market, and using :ref:`relative instead of absolute units `. Detailed examples for all of the options are in the :ref:`ecm-features` section. .. _first-ecm-installed-cost: Installed cost ************** The absolute installed cost must be specified for the ECM, including the cost value, units, and reference source. The cost units should be specified according to :ref:`the relevant section ` of the :ref:`ecm-def-reference`, noting that residential and commercial equipment have different units, and that sensors and controls ECMs also have different units from other equipment types. The source information should be provided using the same keys and structure as the energy efficiency source. For ECMs that describe technologies not yet commercialized, assumptions incorporated into the installed cost estimate should be described in the :ref:`json-notes` section of the source. If applicable to the ECM, separate cost values can be provided by building type and structure type, as described in the :ref:`ecm-features-detailed-input` section. Probability distributions can also be used instead of point values for the cost, using the format outlined in the :ref:`ecm-features-distributions` section. For LED troffers, costs are estimated based on an assumption of a single fixture providing 4800 lm, with installation requiring two hours and two people at a fully-burdened cost of $100/person/hr. The assumptions are articulated using the :ref:`json-notes` key under the :ref:`json-installed_cost_source` key.:: {... "installed_cost": 233.33, "cost_units": "$/1000 lm", "installed_cost_source": { "notes": "Assumes single fixture provides 4800 lm; requires 2 hour install with 2 people at a fully-burdened cost of $100/person/hr. Luminaire cost based on a range of retail prices found for luminaires with similar specifications found online in October 2016.", "source_data": [{ "title": "", "author": "", "organization": "", "year": null, "pages": null, "URL": ""}]}, ...} Lifetime ******** The lifetime of the ECM, or the expected amount of time that the ECM technology will last before requiring replacement, is specified using a structure identical to the installed cost. Again, the lifetime value, units, and source information must be specified for the corresponding keys. The product lifetime can also be specified with a :ref:`probability distribution ` and/or :ref:`different values by building type `. The units should always be in years, ideally as integer values greater than 0. The source information follows the same format as for the energy efficiency and installed cost. For ECMs that describe technologies not yet commercialized, assumptions in the lifetime estimate should be explained in the :ref:`json-notes` section of the source. LED troffers have rated lifetimes on the order of 50,000 hours, though the `High Efficiency Troffer Performance Specification`_ requires a minimum lifetime of 68,000 hours. The values for lighting lifetimes should be based on assumptions regarding actual use conditions (i.e., number of hours per day), and the :ref:`json-notes` value in the source specification should include that assumption. The LED troffers in this example are assumed to operate 12 hours per day. :: {... "product_lifetime": 15, "product_lifetime_units": "years", "product_lifetime_source": { "notes": "Calculated from 68,000 hrs, stated as item II.c.i, assuming 12 hr/day operation.", "source_data": [{ "title": "High Efficiency Troffer Performance Specification, Version 5.0", "author": "", "organization": "U.S. Department of Energy", "year": 2015, "pages": 5, "URL": "https://betterbuildingssolutioncenter.energy.gov/sites/default/files/attachments/High%20Efficiency%20Troffer%20Performance%20Specification.pdf"}]}, ...} .. _High Efficiency Troffer Performance Specification: https://betterbuildingssolutioncenter.energy.gov/sites/default/files/attachments/High%20Efficiency%20Troffer%20Performance%20Specification.pdf .. _first-ecm-other-fields: Other fields ************ The :ref:`json-measure_type` field indicates whether an ECM directly replaces the service of an existing device or building component or improves the efficiency of an existing technology. Examples include a cold-climate heat pump replacing existing electric heating and cooling systems and a window film that decreases solar heat gain, respectively. Further discussion of how to use the :ref:`json-measure_type` field and illustrative examples are in the :ref:`ecm-features-measure-type` section. LED troffers would replace existing troffers that use linear fluorescent bulbs, providing an equivalent building service (lighting) using less energy. The LED troffers ECM is thus denoted as "full service." :: {... "measure_type": "full service", ...} If the ECM is intended to replace baseline technologies of a different technology and/or fuel type, the technologies and fuel types that it switches away from are specified in the :ref:`json-technology` and :ref:`json-fuel_type` fields, respectively, and the technology and fuel type that the ECM switches to are specified in the :ref:`json-tech_switch_to` and :ref:`json-fuel_switch_to` fields, respectively. These fields are explained further, with illustrative examples in the :ref:`ecm-features-multiple-fuel-types` section. When not applicable, the :ref:`json-tech_switch_to` and :ref:`json-fuel_switch_to` fields should be given the value ``null``. The LED troffers ECM switches away from linear fluorescent bulbs but does not switch fuels. :: {... "fuel_switch_to": null, "tech_switch_to": "LED", ...} If the ECM applies to only a portion of the energy use in an applicable baseline market, even after specifying the particular end use, fuel type, and technologies that are relevant, a scaling value can be added to the ECM definition to specify what fraction of the applicable baseline market is truly applicable to that ECM. When creating a new ECM, it is important to carefully specify the applicable baseline market to avoid the use of the market scaling fraction parameter, if at all possible. If the scaling fraction is not used, the value and the source should be set to ``null``. Details regarding the use of the market scaling fraction can be found in the :ref:`ecm-features-market-scaling-fractions` section. No market scaling fraction is required for the LED troffers ECM. :: {... "market_scaling_fractions": null, "market_scaling_fractions_source": null, ...} Two keys are provided for ECM authors to provide additional details about the technology specified. The :ref:`json-_description` field should include a one to two sentence description of the ECM, including additional references for further details regarding the technology if it is especially novel or unusual. The :ref:`json-_notes` field can be used for explanatory notes regarding the technologies that are expected to be replaced by the ECM and any notable assumptions made in the specification of the ECM not captured in another field. :: {... "_description": "LED troffers for commercial modular dropped ceiling grids that are a replacement for the entire troffer luminaire for linear fluorescent bulbs, not a retrofit kit or linear LED bulbs that slot into existing troffers.", "_notes": "Energy efficiency is specified for the luminaire, not the base lamp.", ...} Basic contact information regarding the author of a new ECM should be added to the fields under the :ref:`json-_added_by` key. :: {... "_added_by": { "name": "Carmen Sandiego", "organization": "Super Appliances, Inc.", "email": "carmen.sandiego@superappliances.com", "timestamp": "2015-07-14 11:49:57 UTC"}, ...} .. Date and time of New Horizons flyby of Pluto When updating an existing ECM, the identifying information for the contributor should be provided in the :ref:`json-_updated_by` field instead of the "_added_by" field. If the ECM is new, the child keys in the "_updated_by" section should be given ``null`` values. :: {... "_updated_by": { "name": null, "organization": null, "email": null, "timestamp": null}, ...} The LED troffers ECM that you've now written can be simulated with Scout by following the steps in subsequent tutorials. Many technologies will have ECM definitions like the one you just created, but some technologies, like sensors and controls and windows and opaque envelope products, will have definitions that are subtly different. Sensors and controls ECMs augment the efficiency of existing equipment in the stock, rather than replacing existing and supplanting new equipment. To get a feel for what these types of add-on technologies look like as an ECM, you can :download:`download ` and review an Automated Fault Detection and Diagnosis (AFDD) ECM. Additional information about sensors and controls ECMs can be found in the :ref:`ecm-features-measure-type` section. Windows and opaque envelope technologies reduce demand for heating and cooling instead of increasing the efficiency of the supply of heating and cooling. An ECM for the ENERGY STAR windows version 6 specification is available to :download:`download ` to illustrate demand-reducing ECMs. .. _ecm-features: Additional ECM features ~~~~~~~~~~~~~~~~~~~~~~~ There are many ways in which an ECM definition can be augmented, beyond the basic example already presented, to more fully characterize a technology. The subsequent sections explain how to implement the myriad options available to add more detail and complexity to your ECMs. Links to download example ECMs that illustrate the feature described are included in each section. .. _ecm-features-multiple-fuel-types: Technology and/or fuel switching ******************************** .. _ecm-download-multiple-fuel-types: :download:`Example ` -- Heat Pump Water Heater (:ref:`Details `) Some ECMs switch a comparable baseline technology to a different technology and/or fuel type. Air or ground source heat pumps, for example, can replace the service of fossil-fired heating systems (different fuel, different technology), or these heat pumps can replace the service of electric resistance baseboard heaters or furnaces (same fuel, different technology). The same goes for heat pump water heaters and for electric ranges and dryers. The :ref:`json-tech_switch_to` field, used in conjunction with the :ref:`json-technology` field and the :ref:`json-fuel_type` and :ref:`json-fuel_switch_to` fields in the baseline market, enables an ECM to replace the service of a different baseline technology and/or fuel type. To configure such ECMs, the :ref:`json-technology` and :ref:`json-fuel_type` fields should be populated with a list of the technologies and fuel types that, for the applicable end uses, are replaced by the ECM technology. If the ECM is able to replace all technologies for a given fuel type and end use, the :ref:`json-technology` field can be specified using the ``"all"`` :ref:`shorthand value `. The :ref:`json-tech_switch_to` field should be set to the most appropriate value for the ECM from :numref:`tech-switch-tab`, while the :ref:`json-fuel_switch_to` field should be set to ECM fuel type being switched to. .. _tech-switch-tab: .. table:: Technology switch to values for various ECM types. +----------------------------+------------------------+ | ECM Technology Switched To | JSON Value | +============================+========================+ | Air source heat pump | ``"ASHP"`` | +----------------------------+------------------------+ | Ground source heat pump | ``"GSHP"`` | +----------------------------+------------------------+ | Heat pump water heater | ``"HPWH"`` | +----------------------------+------------------------+ | Electric cooking | ``"Electric cooking"`` | +----------------------------+------------------------+ | Electric drying | ``"Electric drying"`` | +----------------------------+------------------------+ | LED | ``"LED"`` | +----------------------------+------------------------+ For example, an air source heat pump ECM could replace the service of fossil-fired furnaces paired with central air conditioners. :: {... "fuel_type": ["natural gas", "distillate", "electricity"], ... "technology": ["furnace (NG)", "furnace (distillate)", "central AC"], ... "fuel_switch_to": "electricity", "tech_switch_to": "ASHP", ...} Alternatively, an air source heat pump ECM could replace the service of electric resistance furnaces paired with central air conditioning. :: {... "fuel_type": ["electricity"], ... "technology": ["resistance heat", "central AC"], ... "fuel_switch_to": null, "tech_switch_to": "ASHP", ...} .. note:: The |html-filepath| ecm_prep.py\ |html-fp-end| module checks for and expects :ref:`json-tech_switch_to` information for all fuel switching and LED measures ("LED", "solid state", "Solid State", or "SSL" in name), as well as for heat pump measures ("HP", "heat pump", or "Heat Pump" in name) that apply to electric resistance heating or water heating technologies in the baseline. The |html-filepath| ecm_prep.py\ |html-fp-end| execution will error if this expected information is missing. If a measure meeting those criteria is not intended to represent technology switching, the user can suppress this check by setting the measure's :ref:`json-tech_switch_to` to value ``null``. .. _ecm-example-multiple-fuel-types: A residential heat pump water heater is :ref:`available to download ` to illustrate the setup of the :ref:`json-tech_switch_to`, :ref:`json-fuel_switch_to`, :ref:`json-technology`, and :ref:`json-fuel_type` fields to denote, for this particular example, an electric water heater that can replace water heaters of fossil-fired fuel types. .. _ecm-features-tsv: Time sensitive valuation ************************ In certain cases, ECMs might affect baseline energy loads differently depending on the time of day or season, necessitating time sensitive valuation of ECM impacts. :numref:`tsv-ecm-diagram` demonstrates three possible types of time sensitive ECM features. .. _tsv-ecm-diagram: .. figure:: images/Shed_Shift_Shape_Diag.* Time sensitive ECM features include (from left): load shedding, where an ECM reduces load during a certain daily hour range; load shifting, where load is reduced during one daily hour range and increased during another daily hour range; and load shaping, where load may be increased or decreased for any hour of the day/year in accordance with a custom hourly load savings shape. Such time sensitive ECM features are specified using the :ref:`json-tsv_features` parameter, which adheres to the following general format: :: {... "tsv_features": {