4.12. indirect_costs module

indirect_costs.calc_project_markup_value(settings, unit, alt, markup_factor_name, model_year)[source]

This function calculates the project markup value for the markup_factor (Warranty, RnD, Other, Profit) passed.

Parameters:

settings: The SetInputs classs.

unit: Tuple; represents a regclass_fueltype engine or a sourcetype_regclass_fueltype vehicle.

alt: Numeric; The Alternative or option ID.

markup_factor_name: String; represents the name of the project markup factor value to return (warranty, r and d, other, etc.).

model_year: Numeric; the model year of the passed unit.

Returns:

A single markup factor value to be used in the project having been adjusted in accordance with the proposed warranty and useful life changes and the Absolute/Relative scaling entries.

Note:

The project markup factor differs from the input markup factors by scaling where that scaling is done based on the “Absolute” or “Relative” entries in the input file and by the scaling metric (Miles or Age) entries of the warranty/useful life input files. Whether Miles or Age is used is set via the BCA_General_Inputs file.

indirect_costs.calc_per_veh_indirect_costs(settings, averages_dict)[source]
Parameters:

settings: The SetInputs class.

averages_dict: Dictionary; contains tech package direct costs/vehicle.

Returns:

The averages_dict dictionary updated with indirect costs associated with each markup value along with the summation of those individual indirect costs as “IndirectCost_AvgPerVeh.”

indirect_costs.calc_indirect_costs(settings, totals_dict, averages_dict, sales_arg)[source]
Parameters:

settings: The SetInputs class.

totals_dict: Dictionary; contains sales data (e.g., sales_arg at age=0).

averages_dict: Dictionary; contains individual indirect costs per vehicle.

sales_arg: String; specifies the sales attribute to use (e.g., “VPOP” or “VPOP_withTech”)

Returns:

The totals_dict dictionary updated with total indirect costs for each individual indirect cost property and a summation of those.