pyidf.economics module

Data objects in group “Economics”

class pyidf.economics.ComponentCostAdjustments

Bases: pyidf.helper.DataObject

Corresponds to IDD object ComponentCost:Adjustments Used to perform various modifications to the construction costs to arrive at an estimate for total project costs. This object allows extending the line item model so that the overall costs of the project will reflect various profit and fees.

commissioning_fee

field Commissioning Fee

Units: dimensionless
Parameters:value (float) – value for IDD Field Commissioning Fee
Raises:ValueError – if value is not a valid value
Returns:the value of commissioning_fee or None if not set
Return type:float
contingency

field Contingency

Units: dimensionless
Parameters:value (float) – value for IDD Field Contingency
Raises:ValueError – if value is not a valid value
Returns:the value of contingency or None if not set
Return type:float
contractor_fee

field Contractor Fee

Units: dimensionless
Parameters:value (float) – value for IDD Field Contractor Fee
Raises:ValueError – if value is not a valid value
Returns:the value of contractor_fee or None if not set
Return type:float
design_and_engineering_fees

field Design and Engineering Fees

Units: dimensionless
Parameters:value (float) – value for IDD Field Design and Engineering Fees
Raises:ValueError – if value is not a valid value
Returns:the value of design_and_engineering_fees or None if not set
Return type:float
miscellaneous_cost_per_conditioned_area

field Miscellaneous Cost per Conditioned Area

based on conditioned floor area
for cost not accounted for in current line item cost model
Units: $/m2
Parameters:value (float) – value for IDD Field Miscellaneous Cost per Conditioned Area
Raises:ValueError – if value is not a valid value
Returns:the value of miscellaneous_cost_per_conditioned_area or None if not set
Return type:float
permits_bonding_and_insurance

field Permits, Bonding and Insurance

Units: dimensionless
Parameters:value (float) – value for IDD Field Permits, Bonding and Insurance
Raises:ValueError – if value is not a valid value
Returns:the value of permits_bonding_and_insurance or None if not set
Return type:float
regional_adjustment_factor

field Regional Adjustment Factor

for use with average data in line item and Misc cost models
Units: dimensionless
Parameters:value (float) – value for IDD Field Regional Adjustment Factor
Raises:ValueError – if value is not a valid value
Returns:the value of regional_adjustment_factor or None if not set
Return type:float
class pyidf.economics.ComponentCostLineItem

Bases: pyidf.helper.DataObject

Corresponds to IDD object ComponentCost:LineItem Each instance of this object creates a cost line item and will contribute to the total for a cost estimate.

cost_per_area

field Cost per Area

Units: $/m2
Parameters:value (float) – value for IDD Field Cost per Area
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_area or None if not set
Return type:float
cost_per_each

field Cost per Each

Units: $
Parameters:value (float) – value for IDD Field Cost per Each
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_each or None if not set
Return type:float
cost_per_energy_per_temperature_difference

field Cost per Energy per Temperature Difference

as in for use with UA sizing of Coils
Units: $/(W/K)
Parameters:value (float) – value for IDD Field Cost per Energy per Temperature Difference
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_energy_per_temperature_difference or None if not set
Return type:float
cost_per_unit_of_output_capacity

field Cost per Unit of Output Capacity

Units: $/kW
Parameters:value (float) – value for IDD Field Cost per Unit of Output Capacity
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_unit_of_output_capacity or None if not set
Return type:float
cost_per_unit_of_output_capacity_per_cop

field Cost per Unit of Output Capacity per COP

The value is per change in COP.
Units: $/kW
Parameters:value (float) – value for IDD Field Cost per Unit of Output Capacity per COP
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_unit_of_output_capacity_per_cop or None if not set
Return type:float
cost_per_volume

field Cost per Volume

Units: $/m3
Parameters:value (float) – value for IDD Field Cost per Volume
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_volume or None if not set
Return type:float
cost_per_volume_rate

field Cost per Volume Rate

Units: $/(m3/s)
Parameters:value (float) – value for IDD Field Cost per Volume Rate
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_volume_rate or None if not set
Return type:float
item_name

field Item Name

wildcard “*” is acceptable for some components
Parameters:value (str) – value for IDD Field Item Name
Raises:ValueError – if value is not a valid value
Returns:the value of item_name or None if not set
Return type:str
line_item_type

field Line Item Type

extend choice-keys as Cases are added to code
Parameters:value (str) – value for IDD Field Line Item Type
Raises:ValueError – if value is not a valid value
Returns:the value of line_item_type or None if not set
Return type:str
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
object_enduse_key

field Object End-Use Key

not yet used
Parameters:value (str) – value for IDD Field Object End-Use Key
Raises:ValueError – if value is not a valid value
Returns:the value of object_enduse_key or None if not set
Return type:str
quantity

field Quantity

optional for use with Cost per Each and “General” object Type
Units: dimensionless
Parameters:value (float) – value for IDD Field Quantity
Raises:ValueError – if value is not a valid value
Returns:the value of quantity or None if not set
Return type:float
type

field Type

Parameters:value (str) – value for IDD Field Type
Raises:ValueError – if value is not a valid value
Returns:the value of type or None if not set
Return type:str
class pyidf.economics.ComponentCostReference

Bases: pyidf.helper.DataObject

Corresponds to IDD object ComponentCost:Reference Used to allow comparing the current cost estimate to the results of a previous estimate for a reference building. This object parallels the ComponentCost:Adjustments object but adds a field for entering the cost line item model result for the reference building. The factors entered in this object are applied to the reference building while the factors listed in the ComponentCost:Adjustments object are applied to the current building model cost estimate.

reference_building_commissioning_fee

field Reference Building Commissioning Fee

Units: dimensionless
Parameters:value (float) – value for IDD Field Reference Building Commissioning Fee
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_commissioning_fee or None if not set
Return type:float
reference_building_contingency

field Reference Building Contingency

Parameters:value (float) – value for IDD Field Reference Building Contingency
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_contingency or None if not set
Return type:float
reference_building_contractor_fee

field Reference Building Contractor Fee

Units: dimensionless
Parameters:value (float) – value for IDD Field Reference Building Contractor Fee
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_contractor_fee or None if not set
Return type:float
reference_building_design_and_engineering_fees

field Reference Building Design and Engineering Fees

Units: dimensionless
Parameters:value (float) – value for IDD Field Reference Building Design and Engineering Fees
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_design_and_engineering_fees or None if not set
Return type:float
reference_building_line_item_costs

field Reference Building Line Item Costs

should be comparable to the components in current line item cost model
Units: $
Parameters:value (float) – value for IDD Field Reference Building Line Item Costs
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_line_item_costs or None if not set
Return type:float
reference_building_miscellaneous_cost_per_conditioned_area

field Reference Building Miscellaneous Cost per Conditioned Area

based on conditioned floor area
for cost not accounted for in reference line item costs
Units: $/m2
Parameters:value (float) – value for IDD Field Reference Building Miscellaneous Cost per Conditioned Area
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_miscellaneous_cost_per_conditioned_area or None if not set
Return type:float
reference_building_permits_bonding_and_insurance

field Reference Building Permits, Bonding and Insurance

Units: dimensionless
Parameters:value (float) – value for IDD Field Reference Building Permits, Bonding and Insurance
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_permits_bonding_and_insurance or None if not set
Return type:float
reference_building_regional_adjustment_factor

field Reference Building Regional Adjustment Factor

for use with average data in line item and Misc cost models
Units: dimensionless
Parameters:value (float) – value for IDD Field Reference Building Regional Adjustment Factor
Raises:ValueError – if value is not a valid value
Returns:the value of reference_building_regional_adjustment_factor or None if not set
Return type:float
class pyidf.economics.CurrencyType

Bases: pyidf.helper.DataObject

Corresponds to IDD object CurrencyType If CurrencyType is not specified, it will default to USD and produce $ in the reports.

monetary_unit

field Monetary Unit

The commonly used three letter currency code for the units of money for the country or region.
Based on ISO 4217 currency codes. Common currency codes are USD for $ and EUR for Euros.
Parameters:value (str) – value for IDD Field Monetary Unit
Raises:ValueError – if value is not a valid value
Returns:the value of monetary_unit or None if not set
Return type:str
class pyidf.economics.LifeCycleCostNonrecurringCost

Bases: pyidf.helper.DataObject

Corresponds to IDD object LifeCycleCost:NonrecurringCost A non-recurring cost happens only once during the study period. For costs that occur more than once during the study period on a regular schedule, use the LifeCycleCost:RecurringCost object.

category

field Category

Default value: Construction
Parameters:value (str) – value for IDD Field Category
Raises:ValueError – if value is not a valid value
Returns:the value of category or None if not set
Return type:str
cost

field Cost

Enter the non-recurring cost value. For construction and other capital costs the value
entered is typically a positive value. For salvage costs the value entered is typically a
negative value which represents the money paid to the investor for the equipment at the
end of the study period.
Parameters:value (float) – value for IDD Field Cost
Raises:ValueError – if value is not a valid value
Returns:the value of cost or None if not set
Return type:float
months_from_start

field Months from Start

This field and the Years From Start field together represent the time from either the start
of the Service Period on the service month and year or start of the Base Period on the base
month and year (depending on the Start of Cost field) that the costs start to occur. Only
integers should be entered representing whole months. The Years From Start (times 12) and
Months From Start are added together.
value <= 1200
Parameters:value (int) – value for IDD Field Months from Start
Raises:ValueError – if value is not a valid value
Returns:the value of months_from_start or None if not set
Return type:int
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
start_of_costs

field Start of Costs

Enter when the costs start. The First Year of Cost is based on the number of years past the
Start of Costs. For most non-recurring costs the Start of Costs should be Base Period which
begins at the base month and year.
Default value: ServicePeriod
Parameters:value (str) – value for IDD Field Start of Costs
Raises:ValueError – if value is not a valid value
Returns:the value of start_of_costs or None if not set
Return type:str
years_from_start

field Years from Start

This field and the Months From Start field together represent the time from either the start
of the Service Period on the service month and year or start of the Base Period on the base
month and year (depending on the Start of Cost field) that the costs start to occur. Only
integers should be entered representing whole years.
value <= 100
Parameters:value (int) – value for IDD Field Years from Start
Raises:ValueError – if value is not a valid value
Returns:the value of years_from_start or None if not set
Return type:int
class pyidf.economics.LifeCycleCostParameters

Bases: pyidf.helper.DataObject

Corresponds to IDD object LifeCycleCost:Parameters Provides inputs related to the overall life-cycle analysis. It establishes many of the assumptions used in computing the present value. It is important that when comparing the results of multiple simulations that the fields in the LifeCycleCost:Parameters objects are the same for all the simulations. When this object is present the tabular report file will contain the Life-Cycle Cost Report.

base_date_month

field Base Date Month

Enter the month that is the beginning of study period also known as the beginning of the base period.
Default value: January
Parameters:value (str) – value for IDD Field Base Date Month
Raises:ValueError – if value is not a valid value
Returns:the value of base_date_month or None if not set
Return type:str
base_date_year

field Base Date Year

Enter the four digit year that is the beginning of study period such as 2010. The study period is
also known as the base period.
value >= 1900
value <= 2100
Parameters:value (int) – value for IDD Field Base Date Year
Raises:ValueError – if value is not a valid value
Returns:the value of base_date_year or None if not set
Return type:int
depreciation_method

field Depreciation Method

For an analysis that includes income tax impacts this entry describes how capital costs are
depreciated. Only one depreciation method may be used for an analysis and is applied to all
capital expenditures.
Default value: None
Parameters:value (str) – value for IDD Field Depreciation Method
Raises:ValueError – if value is not a valid value
Returns:the value of depreciation_method or None if not set
Return type:str
discounting_convention

field Discounting Convention

The field specifies if the discounting of future costs should be computed as occurring at the end
of each year or the middle of each year or the beginning of each year. The most common discounting
convention uses the end of each year.
Default value: EndOfYear
Parameters:value (str) – value for IDD Field Discounting Convention
Raises:ValueError – if value is not a valid value
Returns:the value of discounting_convention or None if not set
Return type:str
inflation

field Inflation

Enter the rate of inflation for general goods and services as a decimal. For a 2% rate enter
the value 0.02.
Parameters:value (float) – value for IDD Field Inflation
Raises:ValueError – if value is not a valid value
Returns:the value of inflation or None if not set
Return type:float
inflation_approach

field Inflation Approach

This field is used to determine if the analysis should use constant dollars or current dollars
which is related to how inflation is treated. If ConstantDollar is selected then the Real Discount
Rate input is used and it excludes the rate of inflation. If CurrentDollar is selected then the
Nominal Discount Rate input is used and it includes the rate of inflation.
Default value: ConstantDollar
Parameters:value (str) – value for IDD Field Inflation Approach
Raises:ValueError – if value is not a valid value
Returns:the value of inflation_approach or None if not set
Return type:str
length_of_study_period_in_years

field Length of Study Period in Years

Enter the number of years of the study period. It is the number of years that the study continues
based on the start at the base date. The default value is 25 years. Only integers may be used
indicating whole years.
value >= 1
value <= 100
Parameters:value (int) – value for IDD Field Length of Study Period in Years
Raises:ValueError – if value is not a valid value
Returns:the value of length_of_study_period_in_years or None if not set
Return type:int
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
nominal_discount_rate

field Nominal Discount Rate

Enter the nominal discount rate as a decimal. For a 5% rate enter the value 0.05. This input
is used when the Inflation Approach is CurrentDollar. The real discount rate reflects the interest
rates needed to make current and future expenditures have comparable equivalent values when general
inflation is included. When Inflation Approach is set to ConstantDollar this input is ignored.
Parameters:value (float) – value for IDD Field Nominal Discount Rate
Raises:ValueError – if value is not a valid value
Returns:the value of nominal_discount_rate or None if not set
Return type:float
real_discount_rate

field Real Discount Rate

Enter the real discount rate as a decimal. For a 3% rate enter the value 0.03. This input is
used when the Inflation Approach is ConstantDollar. The real discount rate reflects the interest
rates needed to make current and future expenditures have comparable equivalent values when
general inflation is ignored. When Inflation Approach is set to CurrentDollar this input is ignored.
Parameters:value (float) – value for IDD Field Real Discount Rate
Raises:ValueError – if value is not a valid value
Returns:the value of real_discount_rate or None if not set
Return type:float
service_date_month

field Service Date Month

Enter the month that is the beginning of building occupancy. Energy costs computed by EnergyPlus
are assumed to occur during the year following the service date. The service date must be the
same or later than the Base Date. This field could also be referred to as part of beneficial
occupancy date.
Default value: January
Parameters:value (str) – value for IDD Field Service Date Month
Raises:ValueError – if value is not a valid value
Returns:the value of service_date_month or None if not set
Return type:str
service_date_year

field Service Date Year

Enter the four digit year that is the beginning of occupancy such as 2010.
value >= 1900
value <= 2100
Parameters:value (int) – value for IDD Field Service Date Year
Raises:ValueError – if value is not a valid value
Returns:the value of service_date_year or None if not set
Return type:int
tax_rate

field Tax rate

Enter the overall marginal tax rate for the project costs. This does not include energy or water
taxes. The tax rate entered should be based on the marginal tax rate for the entity and not the
average tax rate. Enter the tax rate results in present value calculations after taxes. Most
analyses do not factor in the impact of taxes and assume that all options under consideration
have roughly the same tax impact. Due to this many times the tax rate can be left to default
to zero and the present value results before taxes are used to make decisions. The value
should be entered as a decimal value. For 15% enter 0.15. For an analysis that does not include
tax impacts enter 0.0.
Parameters:value (float) – value for IDD Field Tax rate
Raises:ValueError – if value is not a valid value
Returns:the value of tax_rate or None if not set
Return type:float
class pyidf.economics.LifeCycleCostRecurringCosts

Bases: pyidf.helper.DataObject

Corresponds to IDD object LifeCycleCost:RecurringCosts Recurring costs are costs that repeat over time on a regular schedule during the study period. If costs associated with equipment do repeat but not on a regular schedule, use LifeCycleCost:NonrecurringCost objects instead.

annual_escalation_rate

field Annual escalation rate

Enter the annual escalation rate as a decimal. For a 1% rate enter the value 0.01.
This input is used when the Inflation Approach is CurrentDollar. When Inflation
Approach is set to ConstantDollar this input is ignored.
value >= -0.3
value <= 0.3
Parameters:value (float) – value for IDD Field Annual escalation rate
Raises:ValueError – if value is not a valid value
Returns:the value of annual_escalation_rate or None if not set
Return type:float
category

field Category

Default value: Maintenance
Parameters:value (str) – value for IDD Field Category
Raises:ValueError – if value is not a valid value
Returns:the value of category or None if not set
Return type:str
cost

field Cost

Enter the cost in dollars (or the appropriate monetary unit) for the recurring costs. Enter
the cost for each time it occurs. For example if the annual maintenance cost is 500 dollars
enter 500 here.
Parameters:value (float) – value for IDD Field Cost
Raises:ValueError – if value is not a valid value
Returns:the value of cost or None if not set
Return type:float
months_from_start

field Months from Start

This field and the Years From Start field together represent the time from either the start
of the Service Period on the service month and year or start of the Base Period on the base
month and year (depending on the Start of Costs field) that the costs start to occur. Only
integers should be entered representing whole months. The Years From Start (times 12) and
Months From Start are added together.
value <= 1200
Parameters:value (int) – value for IDD Field Months from Start
Raises:ValueError – if value is not a valid value
Returns:the value of months_from_start or None if not set
Return type:int
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
repeat_period_months

field Repeat Period Months

This field and the Repeat Period Years field indicate how much time elapses between
re-occurrences of the cost. Only integers should be entered representing whole years.
The Repeat Period Years (times 12) and Repeat Period Months are added together.
value <= 1200
Parameters:value (int) – value for IDD Field Repeat Period Months
Raises:ValueError – if value is not a valid value
Returns:the value of repeat_period_months or None if not set
Return type:int
repeat_period_years

field Repeat Period Years

This field and the Repeat Period Months field indicate how much time elapses between
re-occurrences of the cost. For costs that occur every year such the Repeat Period Years
should be 1 and Repeat Period Months should be 0. Only integers should be entered
representing whole years.
Default value: 1
value <= 100
Parameters:value (int) – value for IDD Field Repeat Period Years
Raises:ValueError – if value is not a valid value
Returns:the value of repeat_period_years or None if not set
Return type:int
start_of_costs

field Start of Costs

Enter when the costs start. The First Year of Cost is based on the number of years past the
Start of Costs. For most maintenance costs the Start of Costs should be Service Period.
Default value: ServicePeriod
Parameters:value (str) – value for IDD Field Start of Costs
Raises:ValueError – if value is not a valid value
Returns:the value of start_of_costs or None if not set
Return type:str
years_from_start

field Years from Start

This field and the Months From Start field together represent the time from either the start
of the Service Period on the service month and year or start of the Base Period on the base
month and year (depending on the Start of Costs field) that the costs start to occur. Only
integers should be entered representing whole years.
value <= 100
Parameters:value (int) – value for IDD Field Years from Start
Raises:ValueError – if value is not a valid value
Returns:the value of years_from_start or None if not set
Return type:int
class pyidf.economics.LifeCycleCostUseAdjustment

Bases: pyidf.helper.DataObject

Corresponds to IDD object LifeCycleCost:UseAdjustment Used by advanced users to adjust the energy or water use costs for future years. This should not be used for compensating for inflation but should only be used to increase the costs of energy or water based on assumed changes to the actual usage, such as anticipated changes in the future function of the building. The adjustments begin at the start of the service period.

add_extensible(year_1_multiplier=None)

Add values for extensible fields

Parameters:year_1_multiplier (float) – value for IDD Field Year 1 Multiplier if value is None it will not be checked against the specification and is assumed to be a missing value
extensibles

Get list of all extensibles

name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
resource

field Resource

Parameters:value (str) – value for IDD Field Resource
Raises:ValueError – if value is not a valid value
Returns:the value of resource or None if not set
Return type:str
class pyidf.economics.LifeCycleCostUsePriceEscalation

Bases: pyidf.helper.DataObject

Corresponds to IDD object LifeCycleCost:UsePriceEscalation Life cycle cost escalation factors. The values for this object may be found in the annual supplement to NIST Handbook 135 in Tables Ca-1 to Ca-5 and are included in an EnergyPlus dataset file.

add_extensible(year_1_escalation=None)

Add values for extensible fields

Parameters:year_1_escalation (float) – value for IDD Field Year 1 Escalation if value is None it will not be checked against the specification and is assumed to be a missing value
escalation_start_month

field Escalation Start Month

This field and the Escalation Start Year define the time that corresponds to Year 1 Escalation
such as 2010 when the escalation rates are applied. This field and the Escalation Start Year
define the time that escalation begins.
Default value: January
Parameters:value (str) – value for IDD Field Escalation Start Month
Raises:ValueError – if value is not a valid value
Returns:the value of escalation_start_month or None if not set
Return type:str
escalation_start_year

field Escalation Start Year

This field and the Escalation Start Month define the time that corresponds to Year 1 Escalation
such as 2010 when the escalation rates are applied. This field and the Escalation Start Month
define the time that escalation begins.
value >= 1900
value <= 2100
Parameters:value (int) – value for IDD Field Escalation Start Year
Raises:ValueError – if value is not a valid value
Returns:the value of escalation_start_year or None if not set
Return type:int
extensibles

Get list of all extensibles

name

field Name

The identifier used for the object. The name usually identifies the location (such as the
state or region or country or census area) that the escalations apply to. In addition the
name should identify the building class such as residential or commercial or industrial
and the use type such as electricity or natural gas or water.
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
resource

field Resource

Parameters:value (str) – value for IDD Field Resource
Raises:ValueError – if value is not a valid value
Returns:the value of resource or None if not set
Return type:str
class pyidf.economics.UtilityCostChargeBlock

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Charge:Block Used to compute energy and demand charges (or any other charges) that are structured in blocks of charges. Multiple UtilityCost:Charge:Block objects may be defined for a single tariff and they will be added together.

block_10_cost_per_unit_value_or_variable_name

field Block 10 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 10 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_10_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_11_cost_per_unit_value_or_variable_name

field Block 11 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 11 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_11_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_12_cost_per_unit_value_or_variable_name

field Block 12 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 12 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_12_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_13_cost_per_unit_value_or_variable_name

field Block 13 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 13 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_13_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_14_cost_per_unit_value_or_variable_name

field Block 14 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 14 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_14_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_15_cost_per_unit_value_or_variable_name

field Block 15 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 15 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_15_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_1_cost_per_unit_value_or_variable_name

field Block 1 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 1 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_1_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_2_cost_per_unit_value_or_variable_name

field Block 2 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 2 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_2_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_3_cost_per_unit_value_or_variable_name

field Block 3 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 3 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_3_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_4_cost_per_unit_value_or_variable_name

field Block 4 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 4 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_4_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_5_cost_per_unit_value_or_variable_name

field Block 5 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 5 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_5_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_6_cost_per_unit_value_or_variable_name

field Block 6 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 6 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_6_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_7_cost_per_unit_value_or_variable_name

field Block 7 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 7 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_7_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_8_cost_per_unit_value_or_variable_name

field Block 8 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 8 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_8_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_9_cost_per_unit_value_or_variable_name

field Block 9 Cost per Unit Value or Variable Name

The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number
or a name of a variable.
Parameters:value (str) – value for IDD Field Block 9 Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_9_cost_per_unit_value_or_variable_name or None if not set
Return type:str
block_size_10_value_or_variable_name

field Block Size 10 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 10 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_10_value_or_variable_name or None if not set
Return type:str
block_size_11_value_or_variable_name

field Block Size 11 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 11 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_11_value_or_variable_name or None if not set
Return type:str
block_size_12_value_or_variable_name

field Block Size 12 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 12 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_12_value_or_variable_name or None if not set
Return type:str
block_size_13_value_or_variable_name

field Block Size 13 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 13 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_13_value_or_variable_name or None if not set
Return type:str
block_size_14_value_or_variable_name

field Block Size 14 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 14 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_14_value_or_variable_name or None if not set
Return type:str
block_size_15_value_or_variable_name

field Block Size 15 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 15 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_15_value_or_variable_name or None if not set
Return type:str
block_size_1_value_or_variable_name

field Block Size 1 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 1 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_1_value_or_variable_name or None if not set
Return type:str
block_size_2_value_or_variable_name

field Block Size 2 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 2 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_2_value_or_variable_name or None if not set
Return type:str
block_size_3_value_or_variable_name

field Block Size 3 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 3 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_3_value_or_variable_name or None if not set
Return type:str
block_size_4_value_or_variable_name

field Block Size 4 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 4 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_4_value_or_variable_name or None if not set
Return type:str
block_size_5_value_or_variable_name

field Block Size 5 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 5 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_5_value_or_variable_name or None if not set
Return type:str
block_size_6_value_or_variable_name

field Block Size 6 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 6 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_6_value_or_variable_name or None if not set
Return type:str
block_size_7_value_or_variable_name

field Block Size 7 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 7 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_7_value_or_variable_name or None if not set
Return type:str
block_size_8_value_or_variable_name

field Block Size 8 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 8 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_8_value_or_variable_name or None if not set
Return type:str
block_size_9_value_or_variable_name

field Block Size 9 Value or Variable Name

The size of the block of the charges is entered here. For most rates that use multiple blocks this will
be the value for the block size. Using remaining may be used when the remaining amount should be included
in that block. This field is unusual because it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size 9 Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_9_value_or_variable_name or None if not set
Return type:str
block_size_multiplier_value_or_variable_name

field Block Size Multiplier Value or Variable Name

The sizes of the blocks are usually used directly but if a value or a variable is entered here the block
sizes entered in the rest of the charge are first multiplied by the entered value prior to being used.
This is common for rates that are kWh/kW rates and in that case the variable that holds the monthly
total electric demand would be entered. If no value is entered a default value of one is assumed so
that the block sizes remain exactly as entered. This field is unusual for the EnergyPlus syntax because
it can be either a number or a name of a variable.
Parameters:value (str) – value for IDD Field Block Size Multiplier Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of block_size_multiplier_value_or_variable_name or None if not set
Return type:str
category_variable_name

field Category Variable Name

This field shows where the charge should be added. The reason to enter this field appropriately is so
that the charge gets reported in a reasonable category. The charge automatically gets added to the
variable that is the category.
Parameters:value (str) – value for IDD Field Category Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of category_variable_name or None if not set
Return type:str
name

field Name

Charge Variable Name
This is the name associated with the UtilityCost:Charge:Block object and will appear in the report.
In addition the results of the UtilityCost:Charge:Block are stored in a variable with the same name.
That way the results may be used for further calculation.
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
remaining_into_variable

field Remaining Into Variable

If the blocks do not use all of the energy or demand from the source some energy and demand remains
then the remaining amount should be assigned to a variable. If no variable is assigned and some amount
of energy or demand is not used in the block structure a warning will be issued.
Parameters:value (str) – value for IDD Field Remaining Into Variable
Raises:ValueError – if value is not a valid value
Returns:the value of remaining_into_variable or None if not set
Return type:str
season

field Season

If this is set to annual the calculations are performed for the UtilityCost:Charge:Block for the entire
year (all months) otherwise it is calculated only for those months in the season defined.
Default value: Season
Parameters:value (str) – value for IDD Field Season
Raises:ValueError – if value is not a valid value
Returns:the value of season or None if not set
Return type:str
source_variable

field Source Variable

The name of the source used by the UtilityCost:Charge:Block. This is usually the name of the variable
holding the energy or demand but may also be the name of any variable including the subtotal or basis if
other charges are based on those. Typical values include totalEnergy totalDemand EnergyCharges DemandCharges
ServiceCharges Basis Adjustments Surcharges Subtotal Taxes and Total. If it is a time-of-use rate then
peakEnergy peakDemand shoulderEnergy shoulderDemand offPeakEnergy offPeakDemand midPeakEnergy and midPeakDemand.
In addition see the Tariff Report to see other native variables that may be available. Also you can
create additional user defined variables to model complex tariffs.
Parameters:value (str) – value for IDD Field Source Variable
Raises:ValueError – if value is not a valid value
Returns:the value of source_variable or None if not set
Return type:str
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Charge:Block.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
class pyidf.economics.UtilityCostChargeSimple

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Charge:Simple UtilityCost:Charge:Simple is one of the most often used objects for tariff calculation. It is used to compute energy and demand charges that are very simple. It may also be used for taxes, surcharges and any other charges that occur on a utility bill. Multiple UtilityCost:Charge:Simple objects may be defined for a single tariff and they will be added together.

category_variable_name

field Category Variable Name

This field shows where the charge should be added. The reason to enter this field appropriately is so
that the charge gets reported in a reasonable category. The charge automatically gets added to the
variable that is the category.
Parameters:value (str) – value for IDD Field Category Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of category_variable_name or None if not set
Return type:str
cost_per_unit_value_or_variable_name

field Cost per Unit Value or Variable Name

This field contains either a single number or the name of a variable. The number is multiplied with
all of the energy or demand or other source that is specified in the source field. If a variable is
used then the monthly values of the variable are multiplied against the variable specified in the
source field. This field makes it easy to include a simple charge without specifying block sizes.
This is a good way to include a tax or cost adjustment.
Parameters:value (str) – value for IDD Field Cost per Unit Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of cost_per_unit_value_or_variable_name or None if not set
Return type:str
name

field Name

Charge Variable Name
This is the name associated with the UtilityCost:Charge:Simple object and will appear in the report.
In addition the results of the UtilityCost:Charge:Simple calculation are stored in a variable with the
same name. That way the results may be used for further calculation. Spaces are not significant in
Charge variable names. They are removed during the utility bill calculation process.
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
season

field Season

If this is set to annual the calculations are performed for the UtilityCost:Charge:Simple for the entire
year (all months) otherwise it is calculated only for those months in the season defined.
Parameters:value (str) – value for IDD Field Season
Raises:ValueError – if value is not a valid value
Returns:the value of season or None if not set
Return type:str
source_variable

field Source Variable

The name of the source used by the UtilityCost:Charge:Simple. This is usually the name of the variable
holding the energy or demand but may also be the name of any variable including the subtotal or basis
if other charges are based on those. Typical values include totalEnergy totalDemand EnergyCharges DemandCharges
ServiceCharges Basis Adjustments Surcharges Subtotal Taxes and Total. If it is a time-of-use rate then
peakEnergy peakDemand shoulderEnergy shoulderDemand offPeakEnergy offPeakDemand midPeakEnergy and midPeakDemand.
In addition see the Tariff Report to see other native variables that may be available. Also you can
create additional user defined variables to model complex tariffs.
Parameters:value (str) – value for IDD Field Source Variable
Raises:ValueError – if value is not a valid value
Returns:the value of source_variable or None if not set
Return type:str
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Charge:Simple.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
class pyidf.economics.UtilityCostComputation

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Computation The object lists a series of computations that are used to perform the utility bill calculation. The object is only used for complex tariffs that cannot be modeled any other way. For most utility tariffs, UtilityCost:Computation is unnecessary and should be avoided. If UtilityCost:Computation is used, it must contain references to all objects involved in the rate in the order that they should be computed.

compute_step_1

field Compute Step 1

Contain a simple language that describes the steps used in the computation process similar to a
programming language.
Parameters:value (str) – value for IDD Field Compute Step 1
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_1 or None if not set
Return type:str
compute_step_10

field Compute Step 10

Parameters:value (str) – value for IDD Field Compute Step 10
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_10 or None if not set
Return type:str
compute_step_11

field Compute Step 11

Parameters:value (str) – value for IDD Field Compute Step 11
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_11 or None if not set
Return type:str
compute_step_12

field Compute Step 12

Parameters:value (str) – value for IDD Field Compute Step 12
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_12 or None if not set
Return type:str
compute_step_13

field Compute Step 13

Parameters:value (str) – value for IDD Field Compute Step 13
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_13 or None if not set
Return type:str
compute_step_14

field Compute Step 14

Parameters:value (str) – value for IDD Field Compute Step 14
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_14 or None if not set
Return type:str
compute_step_15

field Compute Step 15

Parameters:value (str) – value for IDD Field Compute Step 15
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_15 or None if not set
Return type:str
compute_step_16

field Compute Step 16

Parameters:value (str) – value for IDD Field Compute Step 16
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_16 or None if not set
Return type:str
compute_step_17

field Compute Step 17

Parameters:value (str) – value for IDD Field Compute Step 17
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_17 or None if not set
Return type:str
compute_step_18

field Compute Step 18

Parameters:value (str) – value for IDD Field Compute Step 18
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_18 or None if not set
Return type:str
compute_step_19

field Compute Step 19

Parameters:value (str) – value for IDD Field Compute Step 19
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_19 or None if not set
Return type:str
compute_step_2

field Compute Step 2

Parameters:value (str) – value for IDD Field Compute Step 2
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_2 or None if not set
Return type:str
compute_step_20

field Compute Step 20

Parameters:value (str) – value for IDD Field Compute Step 20
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_20 or None if not set
Return type:str
compute_step_21

field Compute Step 21

Parameters:value (str) – value for IDD Field Compute Step 21
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_21 or None if not set
Return type:str
compute_step_22

field Compute Step 22

Parameters:value (str) – value for IDD Field Compute Step 22
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_22 or None if not set
Return type:str
compute_step_23

field Compute Step 23

Parameters:value (str) – value for IDD Field Compute Step 23
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_23 or None if not set
Return type:str
compute_step_24

field Compute Step 24

Parameters:value (str) – value for IDD Field Compute Step 24
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_24 or None if not set
Return type:str
compute_step_25

field Compute Step 25

Parameters:value (str) – value for IDD Field Compute Step 25
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_25 or None if not set
Return type:str
compute_step_26

field Compute Step 26

Parameters:value (str) – value for IDD Field Compute Step 26
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_26 or None if not set
Return type:str
compute_step_27

field Compute Step 27

Parameters:value (str) – value for IDD Field Compute Step 27
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_27 or None if not set
Return type:str
compute_step_28

field Compute Step 28

Parameters:value (str) – value for IDD Field Compute Step 28
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_28 or None if not set
Return type:str
compute_step_29

field Compute Step 29

Parameters:value (str) – value for IDD Field Compute Step 29
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_29 or None if not set
Return type:str
compute_step_3

field Compute Step 3

Parameters:value (str) – value for IDD Field Compute Step 3
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_3 or None if not set
Return type:str
compute_step_30

field Compute Step 30

Parameters:value (str) – value for IDD Field Compute Step 30
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_30 or None if not set
Return type:str
compute_step_4

field Compute Step 4

Parameters:value (str) – value for IDD Field Compute Step 4
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_4 or None if not set
Return type:str
compute_step_5

field Compute Step 5

Parameters:value (str) – value for IDD Field Compute Step 5
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_5 or None if not set
Return type:str
compute_step_6

field Compute Step 6

Parameters:value (str) – value for IDD Field Compute Step 6
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_6 or None if not set
Return type:str
compute_step_7

field Compute Step 7

Parameters:value (str) – value for IDD Field Compute Step 7
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_7 or None if not set
Return type:str
compute_step_8

field Compute Step 8

Parameters:value (str) – value for IDD Field Compute Step 8
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_8 or None if not set
Return type:str
compute_step_9

field Compute Step 9

Parameters:value (str) – value for IDD Field Compute Step 9
Raises:ValueError – if value is not a valid value
Returns:the value of compute_step_9 or None if not set
Return type:str
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Variable.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
class pyidf.economics.UtilityCostQualify

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Qualify The qualify object allows only tariffs to be selected based on limits which may apply such as maximum or minimum demand requirements. If the results of the simulation fall outside of the range of qualifications, that tariff is still calculated but the “Qualified” entry will say “No” and the UtilityCost:Qualify that caused its exclusion is shown. Multiple UtilityCost:Qualify objects can appear for the same tariff and they can be based on any variable.

name

field Name

Displayed in the report if the tariff does not qualify
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
number_of_months

field Number of Months

A number from 1 to 12. If no value entered 12 is assumed when the qualify type is minimum and 1 when
the qualify type is maximum. This is the number of months that the threshold test applies to determine
if the rate qualifies or not. If the season is less than 12 months (if it is not annual) then the
value is automatically reduced to the number of months of the season.
value >= 1.0
value <= 12.0
Parameters:value (float) – value for IDD Field Number of Months
Raises:ValueError – if value is not a valid value
Returns:the value of number_of_months or None if not set
Return type:float
qualify_type

field Qualify Type

Default value: Maximum
Parameters:value (str) – value for IDD Field Qualify Type
Raises:ValueError – if value is not a valid value
Returns:the value of qualify_type or None if not set
Return type:str
season

field Season

If the UtilityCost:Qualify only applies to a season enter the season name. If this field is left blank
it defaults to Annual.
Parameters:value (str) – value for IDD Field Season
Raises:ValueError – if value is not a valid value
Returns:the value of season or None if not set
Return type:str
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Qualify.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
threshold_test

field Threshold Test

Uses the number in Number of Months in one of two different ways depending on the Threshold Test. If
the Threshold Test is set to Count then the qualification is based on the count of the total number
of months per year. If the Threshold Test is set to consecutive then the qualification is based on
a consecutive number of months.
Default value: Consecutive
Parameters:value (str) – value for IDD Field Threshold Test
Raises:ValueError – if value is not a valid value
Returns:the value of threshold_test or None if not set
Return type:str
threshold_value_or_variable_name

field Threshold Value or Variable Name

The minimum or maximum value for the qualify. If the variable has values that are less than this value
when the qualify type is minimum then the tariff may be disqualified. If the variable has values that
are greater than this value when the qualify type is maximum then the tariff may be disqualified.
Parameters:value (str) – value for IDD Field Threshold Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of threshold_value_or_variable_name or None if not set
Return type:str
variable_name

field Variable Name

The name of the variable used. For energy and demand the automatically created variables totalEnergy
and totalDemand should be used respectively.
Parameters:value (str) – value for IDD Field Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of variable_name or None if not set
Return type:str
class pyidf.economics.UtilityCostRatchet

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Ratchet Allows the modeling of tariffs that include some type of seasonal ratcheting. Ratchets are most common when used with electric demand charges. A ratchet is when a utility requires that the demand charge for a month with a low demand may be increased to be more consistent with a month that set a higher demand charge.

adjustment_source_variable

field Adjustment Source Variable

The variable that the ratchet is calculated from. It is often but not always the same as the baseline
source variable. The ratcheting calculations using offset and multiplier are using the values from the
adjustment source variable. If left blank the adjustment source variable is the same as the baseline
source variable.
Parameters:value (str) – value for IDD Field Adjustment Source Variable
Raises:ValueError – if value is not a valid value
Returns:the value of adjustment_source_variable or None if not set
Return type:str
baseline_source_variable

field Baseline Source Variable

When the ratcheted value exceeds the baseline value for a month the ratcheted value is used but when the
baseline value is greater then the ratcheted value the baseline value is used. Usually the electric
demand charge is used. The baseline source variable can be the results of another ratchet object. This
allows utility tariffs that have multiple ratchets to be modeled.
Parameters:value (str) – value for IDD Field Baseline Source Variable
Raises:ValueError – if value is not a valid value
Returns:the value of baseline_source_variable or None if not set
Return type:str
multiplier_value_or_variable_name

field Multiplier Value or Variable Name

Often the ratchet has a clause such as “the current month demand or 90% of the summer month demand”. For
this case a value of 0.9 would be entered here as the multiplier. This value may be left blank if no
multiplier is needed and a value of one will be used as a default.
Parameters:value (str) – value for IDD Field Multiplier Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of multiplier_value_or_variable_name or None if not set
Return type:str
name

field Name

Ratchet Variable Name
The name of the ratchet and the name of the result of this single ratchet.
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
offset_value_or_variable_name

field Offset Value or Variable Name

A less common strategy is to say that the ratchet must be all demand greater than a value in this case
an offset that is added to the demand may be entered here. If entered it is common for the offset value
to be negative representing that the demand be reduced. If no value is entered it is assumed to be
zero and not affect the ratchet.
Parameters:value (str) – value for IDD Field Offset Value or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of offset_value_or_variable_name or None if not set
Return type:str
season_from

field Season From

The name of the season that is being examined. The maximum value for all of the months in the named
season is what is used with the multiplier and offset. This is most commonly Summer or Annual. When
Monthly is used the adjustment source variable is used directly for all months.
Parameters:value (str) – value for IDD Field Season From
Raises:ValueError – if value is not a valid value
Returns:the value of season_from or None if not set
Return type:str
season_to

field Season To

The name of the season when the ratchet would be calculated. This is most commonly Winter. The ratchet
only is applied to the months in the named season. The resulting variable for months not in the Season To
selection will contain the values as appear in the baseline source variable.
Parameters:value (str) – value for IDD Field Season To
Raises:ValueError – if value is not a valid value
Returns:the value of season_to or None if not set
Return type:str
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Ratchet.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
class pyidf.economics.UtilityCostTariff

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Tariff Defines the name of a utility cost tariff, the type of tariff, and other details about the overall tariff. Each other object that is part of the tariff model references the tariff name. See UtilityCost:Charge:Simple, UtilityCost:Charge:Block, UtilityCost:Ratchet, UtilityCost:Qualify, UtilityCost:Variable and UtilityCost:Computation objects.

buy_or_sell

field Buy Or Sell

Sets whether the tariff is used for buying selling or both to the utility. This
should be allowed to default to buyFromUtility unless a power generation system is included in the
building that may generate more power than the building needs during the year
Default value: BuyFromUtility
Parameters:value (str) – value for IDD Field Buy Or Sell
Raises:ValueError – if value is not a valid value
Returns:the value of buy_or_sell or None if not set
Return type:str
conversion_factor_choice

field Conversion Factor Choice

A choice that allows several different predefined conversion factors to be used; otherwise user
defined conversion factors are used as defined in the next two fields.
Parameters:value (str) – value for IDD Field Conversion Factor Choice
Raises:ValueError – if value is not a valid value
Returns:the value of conversion_factor_choice or None if not set
Return type:str
customer_baseline_load_schedule_name

field Customer Baseline Load Schedule Name

Used with real time pricing rates. The name of a schedule that contains the baseline
energy use for the customer. Many real time rates apply the charges as a credit or debit only to the
difference between the baseline use and the actual use.
Parameters:value (str) – value for IDD Field Customer Baseline Load Schedule Name
Raises:ValueError – if value is not a valid value
Returns:the value of customer_baseline_load_schedule_name or None if not set
Return type:str
demand_conversion_factor

field Demand Conversion Factor

Is a multiplier used to convert demand into the units specified by the utility in their tariff. If
left blank it defaults to 1 (no conversion). This field should will be used only if Conversion
Factor Choice is set to UserDefined. Within EnergyPlus demand always has units of J/s (joules/sec)
which equivalent to W (watts). For conversion from W to kW use the value of 0.001. This is also used
for all objects that reference the UtilityCost:Tariff.
Parameters:value (float) – value for IDD Field Demand Conversion Factor
Raises:ValueError – if value is not a valid value
Returns:the value of demand_conversion_factor or None if not set
Return type:float
demand_window_length

field Demand Window Length

The determination of demand can vary by utility. Some utilities use the peak instantaneous demand
measured but most use a fifteen minute average demand or a one hour average demand. Some gas utilities
measure demand as the use during the peak day or peak week.
Parameters:value (str) – value for IDD Field Demand Window Length
Raises:ValueError – if value is not a valid value
Returns:the value of demand_window_length or None if not set
Return type:str
energy_conversion_factor

field Energy Conversion Factor

Is a multiplier used to convert energy into the units specified by the utility in their tariff. If
left blank it defaults to 1 (no conversion). This field should will be used only if Conversion Factor
Choice is set to UserDefined. Within EnergyPlus energy always has units of J (joules). For
conversion from J to kWh use the value of 0.0000002778. This is also used for all objects that
reference the UtilityCost:Tariff.
Parameters:value (float) – value for IDD Field Energy Conversion Factor
Raises:ValueError – if value is not a valid value
Returns:the value of energy_conversion_factor or None if not set
Return type:float
group_name

field Group Name

The group name of the tariff such as distribution transmission supplier etc. If more than one tariff
with the same group name is present and qualifies only the lowest cost tariff is used. Usually the group
name field is left blank which results in all tariffs using the same meter variable being compared and
the lowest cost one being selected.
Parameters:value (str) – value for IDD Field Group Name
Raises:ValueError – if value is not a valid value
Returns:the value of group_name or None if not set
Return type:str
minimum_monthly_charge_or_variable_name

field Minimum Monthly Charge or Variable Name

The minimum total charge for the tariff or if a variable name is entered here its
values for each month are used.
Parameters:value (str) – value for IDD Field Minimum Monthly Charge or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of minimum_monthly_charge_or_variable_name or None if not set
Return type:str
month_schedule_name

field Month Schedule Name

The name of the schedule that defines the billing periods of the year. Normally this entry is allowed
to default and a schedule will be internally used that has the breaks between billing periods occurring
at the same time as the breaks between months i.e. at midnight prior to the first day of the month.
If other billing periods are used such as two month cycles or a single bill for an entire season such
as some natural gas companies do in the summer then the month schedule may be used to redefine it.
Make sure that the month schedule and season schedule are consistent otherwise an error will be issued.
Parameters:value (str) – value for IDD Field Month Schedule Name
Raises:ValueError – if value is not a valid value
Returns:the value of month_schedule_name or None if not set
Return type:str
monthly_charge_or_variable_name

field Monthly Charge or Variable Name

The fixed monthly service charge that many utilities have. The entry may be numeric and gets added to
the ServiceCharges variable or if a variable name is entered here its values for each month are used.
Parameters:value (str) – value for IDD Field Monthly Charge or Variable Name
Raises:ValueError – if value is not a valid value
Returns:the value of monthly_charge_or_variable_name or None if not set
Return type:str
name

field Name

The name of the tariff. Tariffs are sometimes called rates. The name is used in identifying
the output results and in associating all of the charges and other objects that make up a tariff.
Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
output_meter_name

field Output Meter Name

The name of any standard meter or custom meter or but usually set to either Electricity:Facility or Gas:Facility
Parameters:value (str) – value for IDD Field Output Meter Name
Raises:ValueError – if value is not a valid value
Returns:the value of output_meter_name or None if not set
Return type:str
real_time_pricing_charge_schedule_name

field Real Time Pricing Charge Schedule Name

Used with real time pricing rates. The name of a schedule that contains the cost of
energy for that particular time period of the year. Real time rates can be modeled using a charge
schedule with the actual real time prices entered in the schedule.
Parameters:value (str) – value for IDD Field Real Time Pricing Charge Schedule Name
Raises:ValueError – if value is not a valid value
Returns:the value of real_time_pricing_charge_schedule_name or None if not set
Return type:str
season_schedule_name

field Season Schedule Name

The name of a schedule that defines the seasons. The schedule values are: 1 for Winter. 2 for Spring.
3 for Summer. 4 for Autumn.
Parameters:value (str) – value for IDD Field Season Schedule Name
Raises:ValueError – if value is not a valid value
Returns:the value of season_schedule_name or None if not set
Return type:str
time_of_use_period_schedule_name

field Time of Use Period Schedule Name

The name of the schedule that defines the time-of-use periods that occur each day. The values for the
different variables are: 1 for Peak. 2 for Shoulder. 3 for OffPeak. 4 for MidPeak.
Parameters:value (str) – value for IDD Field Time of Use Period Schedule Name
Raises:ValueError – if value is not a valid value
Returns:the value of time_of_use_period_schedule_name or None if not set
Return type:str
class pyidf.economics.UtilityCostVariable

Bases: pyidf.helper.DataObject

Corresponds to IDD object UtilityCost:Variable Allows for the direct entry of monthly values into a utility tariff variable.

april_value

field April Value

Parameters:value (float) – value for IDD Field April Value
Raises:ValueError – if value is not a valid value
Returns:the value of april_value or None if not set
Return type:float
august_value

field August Value

Parameters:value (float) – value for IDD Field August Value
Raises:ValueError – if value is not a valid value
Returns:the value of august_value or None if not set
Return type:float
december_value

field December Value

Parameters:value (float) – value for IDD Field December Value
Raises:ValueError – if value is not a valid value
Returns:the value of december_value or None if not set
Return type:float
february_value

field February Value

Parameters:value (float) – value for IDD Field February Value
Raises:ValueError – if value is not a valid value
Returns:the value of february_value or None if not set
Return type:float
january_value

field January Value

Parameters:value (float) – value for IDD Field January Value
Raises:ValueError – if value is not a valid value
Returns:the value of january_value or None if not set
Return type:float
july_value

field July Value

Parameters:value (float) – value for IDD Field July Value
Raises:ValueError – if value is not a valid value
Returns:the value of july_value or None if not set
Return type:float
june_value

field June Value

Parameters:value (float) – value for IDD Field June Value
Raises:ValueError – if value is not a valid value
Returns:the value of june_value or None if not set
Return type:float
march_value

field March Value

Parameters:value (float) – value for IDD Field March Value
Raises:ValueError – if value is not a valid value
Returns:the value of march_value or None if not set
Return type:float
may_value

field May Value

Parameters:value (float) – value for IDD Field May Value
Raises:ValueError – if value is not a valid value
Returns:the value of may_value or None if not set
Return type:float
name

field Name

Parameters:value (str) – value for IDD Field Name
Raises:ValueError – if value is not a valid value
Returns:the value of name or None if not set
Return type:str
november_value

field November Value

Parameters:value (float) – value for IDD Field November Value
Raises:ValueError – if value is not a valid value
Returns:the value of november_value or None if not set
Return type:float
october_value

field October Value

Parameters:value (float) – value for IDD Field October Value
Raises:ValueError – if value is not a valid value
Returns:the value of october_value or None if not set
Return type:float
september_value

field September Value

Parameters:value (float) – value for IDD Field September Value
Raises:ValueError – if value is not a valid value
Returns:the value of september_value or None if not set
Return type:float
tariff_name

field Tariff Name

The name of the UtilityCost:Tariff that is associated with this UtilityCost:Variable.
Parameters:value (str) – value for IDD Field Tariff Name
Raises:ValueError – if value is not a valid value
Returns:the value of tariff_name or None if not set
Return type:str
variable_type

field Variable Type

Default value: Dimensionless
Parameters:value (str) – value for IDD Field Variable Type
Raises:ValueError – if value is not a valid value
Returns:the value of variable_type or None if not set
Return type:str