# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class BaselineProcessorResponse(Model):
    """BaselineProcessorResponse.

    :param include_in_cap: Indicates if the meter will be included in savings
     calculations
    :type include_in_cap: bool
    :param adjust_area: Indicates if floor area adjustments should be made
    :type adjust_area: bool
    :param adjusted_cost_type: The type of cost adjustment to perform.
     Possible values include 1 (current average unit cost) and 5 (net cost
     difference)
    :type adjusted_cost_type: ~energycap.sdk.models.AdjustedCostTypeResponse
    :param adjust_winter: Indicates if winter weather adjustments should be
     made
    :type adjust_winter: bool
    :param adjust_summer: Indicates if summer weather adjustments should be
     made
    :type adjust_summer: bool
    :param baseline_months: The number of months in the baseline.
     Setting this to anything other than 12 will turn off weather adjustments
     irregardless of the settings in adjustWinter and adjustSummer
    :type baseline_months: int
    :param baseline_start_date: The baseline's start date
    :type baseline_start_date: datetime
    :param savings_start_date: The savings period's start date
    :type savings_start_date: datetime
    :param use_extended_weather: Indicates if extended weather should be used.
     Extended weather uses additional months prior to the baseline start date
     to
     determine weather sensitivity.
    :type use_extended_weather: bool
    :param extended_weather_start_date: The start date of the extended
     weather. This should be 1, 2 or 3 years prior to the baseline start date.
     Extended weather uses additional months prior to the baseline start date
     to
     determine weather sensitivity.
    :type extended_weather_start_date: datetime
    :param cooling_temp: The cooling balance point
    :type cooling_temp: int
    :param cooling_intercept: The cooling intercept
    :type cooling_intercept: float
    :param cooling_max_degree_days: The cooling max degree days
    :type cooling_max_degree_days: float
    :param cooling_max_use: The cooling max use
    :type cooling_max_use: float
    :param cooling_r2: The cooling R2
    :type cooling_r2: float
    :param cooling_min_r2: The cooling minimum R2
    :type cooling_min_r2: float
    :param cooling_calculated_r2: The cooling calculated R2
    :type cooling_calculated_r2: float
    :param cooling_slope: The cooling slope
    :type cooling_slope: float
    :param cooling_std_dev: The cooling standard deviation
    :type cooling_std_dev: float
    :param heating_temp: The heating balance point
    :type heating_temp: int
    :param heating_intercept: The heating intecept
    :type heating_intercept: float
    :param heating_max_degree_days: The heating maximum degree days
    :type heating_max_degree_days: float
    :param heating_max_use: The heating maximum use
    :type heating_max_use: float
    :param heating_r2: The heating R2
    :type heating_r2: float
    :param heating_min_r2: The heating minimum R2
    :type heating_min_r2: float
    :param heating_calculated_r2: The heating calculated R2
    :type heating_calculated_r2: float
    :param heating_slope: The heating slope
    :type heating_slope: float
    :param heating_std_dev: The heating standard deviation
    :type heating_std_dev: float
    :param baseline_bills: Indicates if each bill in the baseline should be
     included in the baseline regression
    :type baseline_bills:
     list[~energycap.sdk.models.BaselineProcessorResponseBaselineBill]
    """

    _attribute_map = {
        'include_in_cap': {'key': 'includeInCAP', 'type': 'bool'},
        'adjust_area': {'key': 'adjustArea', 'type': 'bool'},
        'adjusted_cost_type': {'key': 'adjustedCostType', 'type': 'AdjustedCostTypeResponse'},
        'adjust_winter': {'key': 'adjustWinter', 'type': 'bool'},
        'adjust_summer': {'key': 'adjustSummer', 'type': 'bool'},
        'baseline_months': {'key': 'baselineMonths', 'type': 'int'},
        'baseline_start_date': {'key': 'baselineStartDate', 'type': 'iso-8601'},
        'savings_start_date': {'key': 'savingsStartDate', 'type': 'iso-8601'},
        'use_extended_weather': {'key': 'useExtendedWeather', 'type': 'bool'},
        'extended_weather_start_date': {'key': 'extendedWeatherStartDate', 'type': 'iso-8601'},
        'cooling_temp': {'key': 'coolingTemp', 'type': 'int'},
        'cooling_intercept': {'key': 'coolingIntercept', 'type': 'float'},
        'cooling_max_degree_days': {'key': 'coolingMaxDegreeDays', 'type': 'float'},
        'cooling_max_use': {'key': 'coolingMaxUse', 'type': 'float'},
        'cooling_r2': {'key': 'coolingR2', 'type': 'float'},
        'cooling_min_r2': {'key': 'coolingMinR2', 'type': 'float'},
        'cooling_calculated_r2': {'key': 'coolingCalculatedR2', 'type': 'float'},
        'cooling_slope': {'key': 'coolingSlope', 'type': 'float'},
        'cooling_std_dev': {'key': 'coolingStdDev', 'type': 'float'},
        'heating_temp': {'key': 'heatingTemp', 'type': 'int'},
        'heating_intercept': {'key': 'heatingIntercept', 'type': 'float'},
        'heating_max_degree_days': {'key': 'heatingMaxDegreeDays', 'type': 'float'},
        'heating_max_use': {'key': 'heatingMaxUse', 'type': 'float'},
        'heating_r2': {'key': 'heatingR2', 'type': 'float'},
        'heating_min_r2': {'key': 'heatingMinR2', 'type': 'float'},
        'heating_calculated_r2': {'key': 'heatingCalculatedR2', 'type': 'float'},
        'heating_slope': {'key': 'heatingSlope', 'type': 'float'},
        'heating_std_dev': {'key': 'heatingStdDev', 'type': 'float'},
        'baseline_bills': {'key': 'baselineBills', 'type': '[BaselineProcessorResponseBaselineBill]'},
    }

    def __init__(self, include_in_cap=None, adjust_area=None, adjusted_cost_type=None, adjust_winter=None, adjust_summer=None, baseline_months=None, baseline_start_date=None, savings_start_date=None, use_extended_weather=None, extended_weather_start_date=None, cooling_temp=None, cooling_intercept=None, cooling_max_degree_days=None, cooling_max_use=None, cooling_r2=None, cooling_min_r2=None, cooling_calculated_r2=None, cooling_slope=None, cooling_std_dev=None, heating_temp=None, heating_intercept=None, heating_max_degree_days=None, heating_max_use=None, heating_r2=None, heating_min_r2=None, heating_calculated_r2=None, heating_slope=None, heating_std_dev=None, baseline_bills=None):
        super(BaselineProcessorResponse, self).__init__()
        self.include_in_cap = include_in_cap
        self.adjust_area = adjust_area
        self.adjusted_cost_type = adjusted_cost_type
        self.adjust_winter = adjust_winter
        self.adjust_summer = adjust_summer
        self.baseline_months = baseline_months
        self.baseline_start_date = baseline_start_date
        self.savings_start_date = savings_start_date
        self.use_extended_weather = use_extended_weather
        self.extended_weather_start_date = extended_weather_start_date
        self.cooling_temp = cooling_temp
        self.cooling_intercept = cooling_intercept
        self.cooling_max_degree_days = cooling_max_degree_days
        self.cooling_max_use = cooling_max_use
        self.cooling_r2 = cooling_r2
        self.cooling_min_r2 = cooling_min_r2
        self.cooling_calculated_r2 = cooling_calculated_r2
        self.cooling_slope = cooling_slope
        self.cooling_std_dev = cooling_std_dev
        self.heating_temp = heating_temp
        self.heating_intercept = heating_intercept
        self.heating_max_degree_days = heating_max_degree_days
        self.heating_max_use = heating_max_use
        self.heating_r2 = heating_r2
        self.heating_min_r2 = heating_min_r2
        self.heating_calculated_r2 = heating_calculated_r2
        self.heating_slope = heating_slope
        self.heating_std_dev = heating_std_dev
        self.baseline_bills = baseline_bills
