"""Auto-generated type stubs for EnergyPlus 25.2.0 object types.

DO NOT EDIT — regenerate with:
    python -m idfkit.codegen.generate_stubs 25.2.0
"""

from __future__ import annotations

from typing import Any, Literal, TypedDict

from .objects import IDFCollection, IDFObject

# =========================================================================
# Typed object classes (one per EnergyPlus object type)
# =========================================================================

class Version(IDFObject):
    """Specifies the EnergyPlus version of the IDF file."""

class SimulationControl(IDFObject):
    """Note that the following 3 fields are related to the Sizing:Zone, Sizing:System, and Sizing:Plant objects. Having thes..."""

    do_system_sizing_calculation: Literal["", "No", "Yes"] | None
    """If Yes, System sizing is accomplished from corresponding Sizing:System objects and autosize fields. If Yes, Zone sizi...; Default: No"""
    do_plant_sizing_calculation: Literal["", "No", "Yes"] | None
    """If Yes, Plant sizing is accomplished from corresponding Sizing:Plant objects and autosize fields.; Default: No"""
    run_simulation_for_sizing_periods: Literal["", "No", "Yes"] | None
    """If Yes, SizingPeriod:* objects are executed and results from those may be displayed..; Default: Yes"""
    run_simulation_for_weather_file_run_periods: Literal["", "No", "Yes"] | None
    """If Yes, RunPeriod:* objects are executed and results from those may be displayed..; Default: Yes"""
    do_hvac_sizing_simulation_for_sizing_periods: Literal["", "No", "Yes"] | None
    """If Yes, SizingPeriod:* objects are executed additional times for advanced sizing. Currently limited to use with coinc...; Default: No"""
    maximum_number_of_hvac_sizing_simulation_passes: int | None
    """the entire set of SizingPeriod:* objects may be repeated to fine tune size results this input sets a limit on the num...; Default: 1; Range: >= 1"""

class PerformancePrecisionTradeoffs(IDFObject):
    """This object enables users to choose certain options that speed up EnergyPlus simulation, but may lead to small decrea...; Since: 9.2.0"""

    zone_radiant_exchange_algorithm: Literal["", "CarrollMRT", "ScriptF"] | None
    """Determines which algorithm will be used to solve long wave radiant exchange among surfaces within a zone.; Default: ScriptF; Since: 9.3.0"""
    override_mode: (
        Literal[
            "", "Advanced", "Mode01", "Mode02", "Mode03", "Mode04", "Mode05", "Mode06", "Mode07", "Mode08", "Normal"
        ]
        | None
    )
    """The increasing mode number roughly correspond with increased speed. A description of each mode are shown in the docum...; Default: Normal; Since: 9.3.0"""
    maxzonetempdiff: float | None
    """Maximum zone temperature change before HVAC timestep is shortened. Only used when Override Mode is set to Advanced; Default: 0.3; Range: >= 0.1, <= 3.0; Since: 9.3.0"""
    maxalloweddeltemp: float | None
    """Maximum surface temperature change before HVAC timestep is shortened. Only used when Override Mode is set to Advanced; Default: 0.002; Range: >= 0.002, <= 0.1; Since: 9.4.0"""
    use_representative_surfaces_for_calculations: Literal["", "No", "Yes"] | None
    """Automatically group surfaces with similar characteristics and perform relevant calculations only once for each group.; Default: No; Since: 9.6.0"""

class Building(IDFObject):
    """Describes parameters that are used during the simulation of the building. There are necessary correlations between th..."""

    north_axis: float | None
    """degrees from true North; [deg]; Default: 0.0"""
    terrain: Literal["", "City", "Country", "Ocean", "Suburbs", "Urban"] | None
    """Country=FlatOpenCountry | Suburbs=CountryTownsSuburbs | City=CityCenter | Ocean=body of water (5km) | Urban=Urban-Ind...; Default: Suburbs"""
    loads_convergence_tolerance_value: float | None
    """Loads Convergence Tolerance Value is a change in load from one warmup day to the next; [W]; Default: 0.04; Range: > 0.0, <= 0.5"""
    temperature_convergence_tolerance_value: float | None
    """[deltaC]; Default: 0.4; Range: > 0.0, <= 0.5"""
    solar_distribution: (
        Literal[
            "",
            "FullExterior",
            "FullExteriorWithReflections",
            "FullInteriorAndExterior",
            "FullInteriorAndExteriorWithReflections",
            "MinimalShadowing",
        ]
        | None
    )
    """MinimalShadowing | FullExterior | FullInteriorAndExterior | FullExteriorWithReflections | FullInteriorAndExteriorWith...; Default: FullExterior"""
    maximum_number_of_warmup_days: int | None
    """EnergyPlus will only use as many warmup days as needed to reach convergence tolerance. This field's value should NOT ...; Default: 25; Range: > 0"""
    minimum_number_of_warmup_days: int | None
    """The minimum number of warmup days that produce enough temperature and flux history to start EnergyPlus simulation for...; Default: 1; Range: > 0"""

class ShadowCalculation(IDFObject):
    """This object is used to control details of the solar, shading, and daylighting models"""

    shading_calculation_update_frequency_method: Literal["", "Periodic", "Timestep"] | None
    """choose calculation frequency method. note that Timestep is only needed for certain cases and can increase execution t...; Default: Periodic; Since: 9.3.0"""
    shading_calculation_update_frequency: int | None
    """enter number of days this field is only used if the previous field is set to Periodic warning issued if >31; Default: 20; Range: >= 1; Since: 9.3.0"""
    maximum_figures_in_shadow_overlap_calculations: int | None
    """Number of allowable figures in shadow overlap in PolygonClipping calculations; Default: 15000; Range: >= 200"""
    polygon_clipping_algorithm: (
        Literal["", "ConvexWeilerAtherton", "SlaterBarskyandSutherlandHodgman", "SutherlandHodgman"] | None
    )
    """Advanced Feature. Internal default is SutherlandHodgman Refer to InputOutput Reference and Engineering Reference for ...; Default: SutherlandHodgman"""
    pixel_counting_resolution: int | None
    """Number of pixels in both dimensions of the surface rendering; Default: 512; Since: 9.3.0"""
    sky_diffuse_modeling_algorithm: Literal["", "DetailedSkyDiffuseModeling", "SimpleSkyDiffuseModeling"] | None
    """Advanced Feature. Internal default is SimpleSkyDiffuseModeling If you have shading elements that change transmittance...; Default: SimpleSkyDiffuseModeling"""
    output_external_shading_calculation_results: Literal["", "No", "Yes"] | None
    """If Yes is chosen, the calculated external shading fraction results will be saved to an external CSV file with surface...; Default: No"""
    disable_self_shading_within_shading_zone_groups: Literal["", "No", "Yes"] | None
    """If Yes, self-shading will be disabled from all exterior surfaces in a given Shading Zone Group to surfaces within the...; Default: No"""
    disable_self_shading_from_shading_zone_groups_to_other_zones: Literal["", "No", "Yes"] | None
    """If Yes, self-shading will be disabled from all exterior surfaces in a given Shading Zone Group to all other zones in ...; Default: No"""
    shading_zone_group_zonelist_name: str | None

class SurfaceConvectionAlgorithmInside(IDFObject):
    """Default indoor surface heat transfer convection algorithm to be used for all zones"""

class SurfaceConvectionAlgorithmOutside(IDFObject):
    """Default outside surface heat transfer convection algorithm to be used for all zones"""

class HeatBalanceAlgorithm(IDFObject):
    """Determines which Heat Balance Algorithm will be used ie. CTF (Conduction Transfer Functions), EMPD (Effective Moistur..."""

    surface_temperature_upper_limit: float | None
    """[C]; Default: 200.0; Range: >= 200.0"""
    minimum_surface_convection_heat_transfer_coefficient_value: float | None
    """[W/m2-K]; Default: 0.1; Range: > 0.0"""
    maximum_surface_convection_heat_transfer_coefficient_value: float | None
    """[W/m2-K]; Default: 1000.0; Range: >= 1.0"""

class HeatBalanceSettingsConductionFiniteDifference(IDFObject):
    """Determines settings for the Conduction Finite Difference algorithm for surface heat transfer modeling."""

    space_discretization_constant: float | None
    """increase or decrease number of nodes; Default: 3.0"""
    relaxation_factor: float | None
    """Default: 1.0; Range: >= 0.01, <= 1.0"""
    inside_face_surface_temperature_convergence_criteria: float | None
    """Default: 0.002; Range: >= 1e-07, <= 0.01"""

class ZoneAirHeatBalanceAlgorithm(IDFObject):
    """Controls the zone/space air heat balance."""

    do_space_heat_balance_for_sizing: Literal["", "No", "Yes"] | None
    """If yes, space heat balance will be calculated and reported during sizing.; Default: No; Since: 23.1.0"""
    do_space_heat_balance_for_simulation: Literal["", "No", "Yes"] | None
    """If yes, space heat balance will be calculated and reported during simulation.; Default: No; Since: 23.1.0"""

class ZoneAirContaminantBalance(IDFObject):
    """Determines which contaminant concentration will be simulates."""

    outdoor_carbon_dioxide_schedule_name: str | None
    """Schedule values should be in parts per million (ppm)"""
    generic_contaminant_concentration: Literal["", "No", "Yes"] | None
    """If Yes, generic contaminant simulation will be performed.; Default: No"""
    outdoor_generic_contaminant_schedule_name: str | None
    """Schedule values should be generic contaminant concentration in parts per million (ppm)"""

class ZoneAirMassFlowConservation(IDFObject):
    """Enforces the zone air mass flow balance by either adjusting zone mixing object flow only, adjusting zone total return..."""

    infiltration_balancing_method: Literal["", "AddInfiltrationFlow", "AdjustInfiltrationFlow", "None"] | None
    """This input field allows user to choose how zone infiltration flow is treated during the zone air mass flow balance ca...; Default: AddInfiltrationFlow"""
    infiltration_balancing_zones: Literal["", "AllZones", "MixingSourceZonesOnly"] | None
    """This input field allows user to choose which zones are included in infiltration balancing. MixingSourceZonesOnly allo...; Default: MixingSourceZonesOnly"""

class ZoneCapacitanceMultiplierResearchSpecial(IDFObject):
    """Multiplier altering the relative capacitance of the air compared to an empty zone"""

    zone_or_zonelist_name: str | None
    """If this field is left blank, the multipliers are applied to all the zones not specified"""
    temperature_capacity_multiplier: float | None
    """Used to alter the capacitance of zone air with respect to heat or temperature; Default: 1.0; Range: > 0.0"""
    humidity_capacity_multiplier: float | None
    """Used to alter the capacitance of zone air with respect to moisture or humidity ratio; Default: 1.0; Range: > 0.0"""
    carbon_dioxide_capacity_multiplier: float | None
    """Used to alter the capacitance of zone air with respect to zone air carbon dioxide concentration; Default: 1.0; Range: > 0.0"""
    generic_contaminant_capacity_multiplier: float | None
    """Used to alter the capacitance of zone air with respect to zone air generic contaminant concentration; Default: 1.0; Range: > 0.0"""

class Timestep(IDFObject):
    """Specifies the 'basic' timestep for the simulation. The value entered here is also known as the Zone Timestep. This is..."""

class ConvergenceLimits(IDFObject):
    """Specifies limits on HVAC system simulation timesteps and iterations. This item is an advanced feature that should be ..."""

    maximum_hvac_iterations: int | None
    """Default: 20; Range: >= 1"""
    minimum_plant_iterations: int | None
    """Controls the minimum number of plant system solver iterations within a single HVAC iteration Larger values will incre...; Default: 2; Range: >= 1"""
    maximum_plant_iterations: int | None
    """Controls the maximum number of plant system solver iterations within a single HVAC iteration Smaller values might dec...; Default: 8; Range: >= 2"""

class HVACSystemRootFindingAlgorithm(IDFObject):
    """Specifies a HVAC system solver algorithm to find a root"""

    number_of_iterations_before_algorithm_switch: int | None
    """This field is used when RegulaFalsiThenBisection or BisectionThenRegulaFalsi is entered. When iteration number is gre...; Default: 5"""

class ComplianceBuilding(IDFObject):
    """Building level inputs related to compliance to building standards, building codes, and beyond energy code programs."""

class SiteLocation(IDFObject):
    """Specifies the building's location. Only one location is allowed. Weather data file location, if it exists, will overr..."""

    latitude: float | None
    """+ is North, - is South, degree minutes represented in decimal (i.e. 30 minutes is .5); [deg]; Default: 0.0; Range: >= -90.0, <= 90.0"""
    longitude: float | None
    """- is West, + is East, degree minutes represented in decimal (i.e. 30 minutes is .5); [deg]; Default: 0.0; Range: >= -180.0, <= 180.0"""
    time_zone: float | None
    """basic these limits on the WorldTimeZone Map (2003) Time relative to GMT. Decimal hours.; [hr]; Default: 0.0; Range: >= -12.0, <= 14.0"""
    elevation: float | None
    """[m]; Default: 0.0; Range: >= -300.0, < 8900.0"""
    keep_site_location_information: Literal["", "No", "Yes"] | None
    """Default: No; Since: 24.2.0"""

class SiteVariableLocation(IDFObject):
    """Captures the scheduling of a moving/reorienting building, or more likely a vessel"""

    building_location_latitude_schedule: str | None
    """The name of a schedule that defines the latitude of the building at any time. If not entered, the latitude defined in..."""
    building_location_longitude_schedule: str | None
    """The name of a schedule that defines the longitude of the building at any time. If not entered, the longitude defined ..."""
    building_location_orientation_schedule: str | None
    """The name of a schedule that defines the orientation of the building at any time. This orientation is based on a chang..."""

class SizingPeriodDesignDay(IDFObject):
    """The design day object creates the parameters for the program to create the 24 hour weather profile that can be used f..."""

    month: int | None
    """Range: >= 1, <= 12"""
    day_of_month: int | None
    """must be valid for Month field; Range: >= 1, <= 31"""
    day_type: (
        Literal[
            "CustomDay1",
            "CustomDay2",
            "Friday",
            "Holiday",
            "Monday",
            "Saturday",
            "SummerDesignDay",
            "Sunday",
            "Thursday",
            "Tuesday",
            "Wednesday",
            "WinterDesignDay",
        ]
        | None
    )
    """Day Type selects the schedules appropriate for this design day"""
    maximum_dry_bulb_temperature: float | None
    """This field is required when field 'Dry-Bulb Temperature Range Modifier Type' is not 'TemperatureProfileSchedule'.; [C]; Range: >= -90.0, <= 70.0"""
    daily_dry_bulb_temperature_range: float | None
    """Must still produce appropriate maximum dry-bulb (within range) This field is not needed if Dry-Bulb Temperature Range...; [deltaC]; Default: 0.0; Range: >= 0.0"""
    dry_bulb_temperature_range_modifier_type: (
        Literal["", "DefaultMultipliers", "DifferenceSchedule", "MultiplierSchedule", "TemperatureProfileSchedule"]
        | None
    )
    """Type of modifier to the dry-bulb temperature calculated for the timestep; Default: DefaultMultipliers"""
    dry_bulb_temperature_range_modifier_day_schedule_name: str | None
    """Only used when previous field is 'MultiplierSchedule', 'DifferenceSchedule' or 'TemperatureProfileSchedule'. For type..."""
    humidity_condition_type: (
        Literal[
            "",
            "DewPoint",
            "Enthalpy",
            "HumidityRatio",
            "RelativeHumiditySchedule",
            "WetBulb",
            "WetBulbProfileDefaultMultipliers",
            "WetBulbProfileDifferenceSchedule",
            "WetBulbProfileMultiplierSchedule",
        ]
        | None
    )
    """values/schedules indicated here and in subsequent fields create the humidity values in the 24 hour design day conditi...; Default: WetBulb"""
    wetbulb_or_dewpoint_at_maximum_dry_bulb: float | None
    """Wetbulb or dewpoint temperature coincident with the maximum temperature. Required only if field Humidity Condition Ty...; [C]"""
    humidity_condition_day_schedule_name: str | None
    """Only used when Humidity Condition Type is 'RelativeHumiditySchedule', 'WetBulbProfileMultiplierSchedule', or 'WetBulb..."""
    humidity_ratio_at_maximum_dry_bulb: float | None
    """Humidity ratio coincident with the maximum temperature (constant humidity ratio throughout day). Required only if fie...; [kgWater/kgDryAir]"""
    enthalpy_at_maximum_dry_bulb: float | None
    """Enthalpy coincident with the maximum temperature. Required only if field Humidity Condition Type is 'Enthalpy'.; [J/kg]"""
    daily_wet_bulb_temperature_range: float | None
    """Required only if Humidity Condition Type = 'WetbulbProfileMultiplierSchedule' or 'WetBulbProfileDefaultMultipliers'; [deltaC]"""
    barometric_pressure: float | None
    """This field's value is also checked against the calculated 'standard barometric pressure' for the location. If out of ...; [Pa] (inHg); Range: >= 31000.0, <= 120000.0"""
    wind_speed: float | None
    """[m/s] (miles/hr); Range: >= 0.0, <= 40.0"""
    wind_direction: float | None
    """North=0.0 East=90.0 0 and 360 are the same direction.; [deg]; Range: >= 0.0, <= 360.0"""
    rain_indicator: Literal["", "No", "Yes"] | None
    """Yes is raining (all day), No is not raining; Default: No"""
    snow_indicator: Literal["", "No", "Yes"] | None
    """Yes is Snow on Ground, No is no Snow on Ground; Default: No"""
    daylight_saving_time_indicator: Literal["", "No", "Yes"] | None
    """Yes -- use schedules modified for Daylight Saving Time Schedules. No - do not use schedules modified for Daylight Sav...; Default: No"""
    solar_model_indicator: Literal["", "ASHRAEClearSky", "ASHRAETau", "ASHRAETau2017", "Schedule", "ZhangHuang"] | None
    """Default: ASHRAEClearSky"""
    beam_solar_day_schedule_name: str | None
    """if Solar Model Indicator = Schedule, then beam schedule name (for day)"""
    diffuse_solar_day_schedule_name: str | None
    """if Solar Model Indicator = Schedule, then diffuse schedule name (for day)"""
    ashrae_clear_sky_optical_depth_for_beam_irradiance_taub_: float | None
    """Required if Solar Model Indicator = ASHRAETau or ASHRAETau2017 ASHRAETau2017 solar model can be used with 2013 and 20...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.2"""
    ashrae_clear_sky_optical_depth_for_diffuse_irradiance_taud_: float | None
    """Required if Solar Model Indicator = ASHRAETau or ASHRAETau2017 ASHRAETau2017 solar model can be used with 2013 and 20...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 3.0"""
    sky_clearness: float | None
    """Used if Sky Model Indicator = ASHRAEClearSky or ZhangHuang 0.0 is totally unclear, 1.0 is totally clear; Default: 0.0; Range: >= 0.0, <= 1.2"""
    maximum_number_warmup_days: int | None
    """If used this design day will be run with a custom limit on the maximum number of days that are repeated for warmup. L...; Since: 9.3.0"""
    begin_environment_reset_mode: Literal["", "FullResetAtBeginEnvironment", "SuppressAllBeginEnvironmentResets"] | None
    """If used this can control if you want the thermal history to be reset at the beginning of the design day. When using a...; Default: FullResetAtBeginEnvironment; Since: 9.3.0"""

class SizingPeriodWeatherFileDays(IDFObject):
    """Use a weather file period for design sizing calculations."""

    begin_month: int | None
    """Range: >= 1, <= 12"""
    begin_day_of_month: int | None
    """Range: >= 1, <= 31"""
    end_month: int | None
    """Range: >= 1, <= 12"""
    end_day_of_month: int | None
    """Range: >= 1, <= 31"""
    day_of_week_for_start_day: (
        Literal[
            "",
            "CustomDay1",
            "CustomDay2",
            "Friday",
            "Monday",
            "Saturday",
            "SummerDesignDay",
            "Sunday",
            "Thursday",
            "Tuesday",
            "Wednesday",
            "WinterDesignDay",
        ]
        | None
    )
    """=[|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|SummerDesignDay|WinterDesignDay| |CustomDay1|CustomDay2];...; Default: Monday"""
    use_weather_file_daylight_saving_period: Literal["", "No", "Yes"] | None
    """If yes or blank, use daylight saving period as specified on Weatherfile. If no, do not use the daylight saving period...; Default: Yes"""
    use_weather_file_rain_and_snow_indicators: Literal["", "No", "Yes"] | None
    """Default: Yes"""

class SizingPeriodWeatherFileConditionType(IDFObject):
    """Use a weather file period for design sizing calculations. EPW weather files are created with typical and extreme peri..."""

    period_selection: (
        Literal[
            "AutumnTypical",
            "DrySeason",
            "NoDrySeason",
            "NoDrySeasonMax",
            "NoDrySeasonMin",
            "NoWetSeason",
            "NoWetSeasonMax",
            "NoWetSeasonMin",
            "SpringTypical",
            "SummerExtreme",
            "SummerTypical",
            "TropicalCold",
            "TropicalHot",
            "WetSeason",
            "WinterExtreme",
            "WinterTypical",
        ]
        | None
    )
    """Following is a list of all possible types of Extreme and Typical periods that might be identified in the Weather File..."""
    day_of_week_for_start_day: (
        Literal[
            "",
            "CustomDay1",
            "CustomDay2",
            "Friday",
            "Monday",
            "Saturday",
            "SummerDesignDay",
            "Sunday",
            "Thursday",
            "Tuesday",
            "Wednesday",
            "WinterDesignDay",
        ]
        | None
    )
    """=[|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|SummerDesignDay|WinterDesignDay| |CustomDay1|CustomDay2];...; Default: Monday"""
    use_weather_file_daylight_saving_period: Literal["", "No", "Yes"] | None
    """If yes or blank, use daylight saving period as specified on Weatherfile. If no, do not use the daylight saving period...; Default: Yes"""
    use_weather_file_rain_and_snow_indicators: Literal["", "No", "Yes"] | None
    """Default: Yes"""

class RunPeriod(IDFObject):
    """Specify a range of dates and other parameters for a simulation. Multiple run periods may be input, but they may not o..."""

    begin_month: int | None
    """Range: >= 1, <= 12"""
    begin_day_of_month: int | None
    """Range: >= 1, <= 31"""
    begin_year: float | None
    """Start year of the simulation, if this field is specified it must agree with the Day of Week for Start Day If this fie...; Since: 9.0.1"""
    end_month: int | None
    """Range: >= 1, <= 12"""
    end_day_of_month: int | None
    """Range: >= 1, <= 31"""
    end_year: float | None
    """end year of simulation, if specified; Since: 9.0.1"""
    day_of_week_for_start_day: (
        Literal["Friday", "Monday", "Saturday", "Sunday", "Thursday", "Tuesday", "Wednesday"] | None
    )
    """=[Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday]; If no year is input, this field will default to Sunday I..."""
    use_weather_file_holidays_and_special_days: Literal["", "No", "Yes"] | None
    """If yes or blank, use holidays as specified on Weatherfile. If no, do not use the holidays specified on the Weatherfil...; Default: Yes"""
    use_weather_file_daylight_saving_period: Literal["", "No", "Yes"] | None
    """If yes or blank, use daylight saving period as specified on Weatherfile. If no, do not use the daylight saving period...; Default: Yes"""
    apply_weekend_holiday_rule: Literal["", "No", "Yes"] | None
    """if yes and single day holiday falls on weekend, 'holiday' occurs on following Monday; Default: No"""
    use_weather_file_rain_indicators: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    use_weather_file_snow_indicators: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    treat_weather_as_actual: Literal["", "No", "Yes"] | None
    """Default: No; Since: 9.0.1"""
    first_hour_interpolation_starting_values: Literal["", "Hour1", "Hour24"] | None
    """When the weather data timestep is longer than the simulation timestep, weather data is interpolated. For the first ho...; Default: Hour24; Since: 9.6.0"""

class RunPeriodControlSpecialDays(IDFObject):
    """This object sets up holidays/special days to be used during weather file run periods. (These are not used with Sizing..."""

    start_date: str | None
    """Dates can be several formats: <number>/<number> (month/day) <number> <Month> <Month> <number> <Nth> <Weekday> in <Mon..."""
    duration: float | None
    """[days]; Default: 1.0; Range: >= 1.0, <= 366.0"""
    special_day_type: Literal["", "CustomDay1", "CustomDay2", "Holiday", "SummerDesignDay", "WinterDesignDay"] | None
    """Special Day Type selects the schedules appropriate for each day so labeled; Default: Holiday"""

class RunPeriodControlDaylightSavingTime(IDFObject):
    """This object sets up the daylight saving time period for any RunPeriod. Ignores any daylight saving time period on the..."""

    end_date: str | None
    """Dates can be several formats: <number>/<number> (month/day) <number> <Month> <Month> <number> <Nth> <Weekday> in <Mon..."""

class WeatherPropertySkyTemperature(IDFObject):
    """This object is used to override internal sky temperature calculations."""

    calculation_type: (
        Literal[
            "",
            "BerdahlMartin",
            "Brunt",
            "ClarkAllen",
            "DifferenceScheduleDewPointValue",
            "DifferenceScheduleDryBulbValue",
            "Idso",
            "ScheduleValue",
        ]
        | None
    )
    """The field indicates that the sky temperature will be imported from external schedules or calculated by alternative me...; Default: ClarkAllen"""
    schedule_name: str | None
    """if name matches a SizingPeriod:DesignDay, put in a day schedule of this name if name is for a SizingPeriod:WeatherFil..."""
    use_weather_file_horizontal_ir: Literal["", "No", "Yes"] | None
    """If yes or blank, use Horizontal IR values from weather file when present, otherwise use the specified sky model. If n...; Default: Yes; Since: 9.3.0"""

class SiteWeatherStation(IDFObject):
    """This object should only be used for non-standard weather data. Standard weather data such as TMY2, IWEC, and ASHRAE d..."""

    wind_speed_profile_exponent: float | None
    """Default: 0.14; Range: >= 0.0"""
    wind_speed_profile_boundary_layer_thickness: float | None
    """[m]; Default: 270.0; Range: >= 0.0"""
    air_temperature_sensor_height_above_ground: float | None
    """[m]; Default: 1.5; Range: >= 0.0"""

class SiteHeightVariation(IDFObject):
    """This object is used if the user requires advanced control over height-dependent variations in wind speed and temperat..."""

    wind_speed_profile_boundary_layer_thickness: float | None
    """[m]; Default: 370.0; Range: > 0.0"""
    air_temperature_gradient_coefficient: float | None
    """Set to zero for no air temperature dependence on height.; [K/m]; Default: 0.0065; Range: >= 0.0"""

class SiteGroundTemperatureBuildingSurface(IDFObject):
    """These temperatures are specifically for those surfaces that have the outside environment of 'Ground'. Documentation a..."""

    february_ground_temperature: float | None
    """[C]; Default: 18.0"""
    march_ground_temperature: float | None
    """[C]; Default: 18.0"""
    april_ground_temperature: float | None
    """[C]; Default: 18.0"""
    may_ground_temperature: float | None
    """[C]; Default: 18.0"""
    june_ground_temperature: float | None
    """[C]; Default: 18.0"""
    july_ground_temperature: float | None
    """[C]; Default: 18.0"""
    august_ground_temperature: float | None
    """[C]; Default: 18.0"""
    september_ground_temperature: float | None
    """[C]; Default: 18.0"""
    october_ground_temperature: float | None
    """[C]; Default: 18.0"""
    november_ground_temperature: float | None
    """[C]; Default: 18.0"""
    december_ground_temperature: float | None
    """[C]; Default: 18.0"""

class SiteGroundTemperatureFCfactorMethod(IDFObject):
    """These temperatures are specifically for underground walls and ground floors defined with the C-factor and F-factor me..."""

    february_ground_temperature: float | None
    """[C]; Default: 13.0"""
    march_ground_temperature: float | None
    """[C]; Default: 13.0"""
    april_ground_temperature: float | None
    """[C]; Default: 13.0"""
    may_ground_temperature: float | None
    """[C]; Default: 13.0"""
    june_ground_temperature: float | None
    """[C]; Default: 13.0"""
    july_ground_temperature: float | None
    """[C]; Default: 13.0"""
    august_ground_temperature: float | None
    """[C]; Default: 13.0"""
    september_ground_temperature: float | None
    """[C]; Default: 13.0"""
    october_ground_temperature: float | None
    """[C]; Default: 13.0"""
    november_ground_temperature: float | None
    """[C]; Default: 13.0"""
    december_ground_temperature: float | None
    """[C]; Default: 13.0"""

class SiteGroundTemperatureShallow(IDFObject):
    """These temperatures are specifically for the Surface Ground Heat Exchanger and should probably be close to the average..."""

    february_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    march_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    april_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    may_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    june_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    july_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    august_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    september_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    october_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    november_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""
    december_surface_ground_temperature: float | None
    """[C]; Default: 13.0"""

class SiteGroundTemperatureDeep(IDFObject):
    """These temperatures are specifically for the ground heat exchangers that would use 'deep' (3-4 m depth) ground tempera..."""

    february_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    march_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    april_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    may_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    june_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    july_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    august_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    september_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    october_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    november_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""
    december_deep_ground_temperature: float | None
    """[C]; Default: 16.0"""

class SiteGroundTemperatureUndisturbedFiniteDifference(IDFObject):
    """Undisturbed ground temperature object using a detailed finite difference 1-D model"""

    soil_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Range: > 0.0"""
    soil_moisture_content_volume_fraction: float | None
    """[percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    soil_moisture_content_volume_fraction_at_saturation: float | None
    """[percent]; Default: 50.0; Range: >= 0.0, <= 100.0"""
    evapotranspiration_ground_cover_parameter: float | None
    """This specifies the ground cover effects during evapotranspiration calculations. The value roughly represents the foll...; [dimensionless]; Default: 0.4; Range: >= 0.0, <= 1.5"""

class SiteGroundTemperatureUndisturbedKusudaAchenbach(IDFObject):
    """Undisturbed ground temperature object using the Kusuda-Achenbach 1965 correlation."""

    soil_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Range: > 0.0"""
    average_soil_surface_temperature: float | None
    """Annual average surface temperature If left blank the Site:GroundTemperature:Shallow object must be included in the in...; [C]"""
    average_amplitude_of_surface_temperature: float | None
    """Annual average surface temperature variation from average. If left blank the Site:GroundTemperature:Shallow object mu...; [deltaC]; Range: >= 0.0"""
    phase_shift_of_minimum_surface_temperature: float | None
    """The phase shift of minimum surface temperature, or the day of the year when the minimum surface temperature occurs. I...; [days]; Range: >= 0.0, < 365.0"""

class SiteGroundTemperatureUndisturbedXing(IDFObject):
    """Undisturbed ground temperature object using the Xing 2014 2 harmonic parameter model."""

    soil_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Range: > 0.0"""
    average_soil_surface_temperature: float | None
    """[C]; Since: 23.2.0"""
    soil_surface_temperature_amplitude_1: float | None
    """[deltaC]"""
    soil_surface_temperature_amplitude_2: float | None
    """[deltaC]"""
    phase_shift_of_temperature_amplitude_1: float | None
    """[days]; Range: < 365.0"""
    phase_shift_of_temperature_amplitude_2: float | None
    """[days]; Range: < 365.0"""

class SiteGroundDomainSlab(IDFObject):
    """Ground-coupled slab model for on-grade and in-grade cases with or without insulation."""

    ground_domain_depth: float | None
    """[m]; Default: 10.0; Range: > 0.0"""
    aspect_ratio: float | None
    """Default: 1.0"""
    perimeter_offset: float | None
    """[m]; Default: 5.0; Range: > 0.0"""
    soil_thermal_conductivity: float | None
    """[W/m-K]; Default: 1.5; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Default: 2800.0; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Default: 850.0; Range: > 0.0"""
    soil_moisture_content_volume_fraction: float | None
    """[percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    soil_moisture_content_volume_fraction_at_saturation: float | None
    """[percent]; Default: 50.0; Range: >= 0.0, <= 100.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    evapotranspiration_ground_cover_parameter: float | None
    """This specifies the ground cover effects during evapotranspiration calculations. The value roughly represents the foll...; Default: 0.4; Range: >= 0.0, <= 1.5"""
    slab_boundary_condition_model_name: str | None
    slab_location: Literal["InGrade", "OnGrade"] | None
    """This field specifies whether the slab is located 'in-grade' or 'on-grade'"""
    slab_material_name: str | None
    """Only applicable for the in-grade case"""
    horizontal_insulation: Literal["", "No", "Yes"] | None
    """This field specifies the presence of insulation beneath the slab. Only required for in-grade case.; Default: No"""
    horizontal_insulation_material_name: str | None
    """This field specifies the horizontal insulation material."""
    horizontal_insulation_extents: Literal["", "Full", "Perimeter"] | None
    """This field specifies whether the horizontal insulation fully insulates the surface or is perimeter only insulation; Default: Full"""
    perimeter_insulation_width: float | None
    """This field specifies the width of the underfloor perimeter insulation; [m]; Range: > 0.0"""
    vertical_insulation: Literal["", "No", "Yes"] | None
    """This field specifies the presence of vertical insulation at the slab edge.; Default: No"""
    vertical_insulation_material_name: str | None
    """This field specifies the vertical insulation material."""
    vertical_insulation_depth: float | None
    """Only used when including vertical insulation This field specifies the depth of the vertical insulation; [m]; Range: > 0.0"""
    simulation_timestep: Literal["", "Hourly", "Timestep"] | None
    """This field specifies the ground domain simulation timestep.; Default: Hourly"""
    geometric_mesh_coefficient: float | None
    """Default: 1.6; Range: >= 1.0, <= 2.0"""
    mesh_density_parameter: int | None
    """Default: 6; Range: >= 4"""

class SiteGroundDomainBasement(IDFObject):
    """Ground-coupled basement model for simulating basements or other underground zones."""

    ground_domain_depth: float | None
    """The depth from ground surface to the deep ground boundary of the domain.; [m]; Default: 10.0; Range: > 0.0"""
    aspect_ratio: float | None
    """This defines the height to width ratio of the basement zone.; Default: 1.0"""
    perimeter_offset: float | None
    """The distance from the basement wall edge to the edge of the ground domain; [m]; Default: 5.0; Range: > 0.0"""
    soil_thermal_conductivity: float | None
    """[W/m-K]; Default: 1.5; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Default: 2800.0; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Default: 850.0; Range: > 0.0"""
    soil_moisture_content_volume_fraction: float | None
    """[percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    soil_moisture_content_volume_fraction_at_saturation: float | None
    """[percent]; Default: 50.0; Range: >= 0.0, <= 100.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    evapotranspiration_ground_cover_parameter: float | None
    """This specifies the ground cover effects during evapotranspiration calculations. The value roughly represents the foll...; Default: 0.4; Range: >= 0.0, <= 1.5"""
    basement_floor_boundary_condition_model_name: str | None
    horizontal_insulation: Literal["", "No", "Yes"] | None
    """This field specifies the presence of insulation beneath the basement floor.; Default: No"""
    horizontal_insulation_material_name: str | None
    horizontal_insulation_extents: Literal["", "Full", "Perimeter"] | None
    """This field specifies whether the horizontal insulation fully insulates the surface or is perimeter only insulation; Default: Full"""
    perimeter_horizontal_insulation_width: float | None
    """Width of horizontal perimeter insulation measured from foundation wall inside surface.; [m]; Range: > 0.0"""
    basement_wall_depth: float | None
    """Depth measured from ground surface.; [m]; Range: > 0.0"""
    basement_wall_boundary_condition_model_name: str | None
    vertical_insulation: Literal["", "No", "Yes"] | None
    """Default: No"""
    basement_wall_vertical_insulation_material_name: str | None
    vertical_insulation_depth: float | None
    """Depth measured from the ground surface.; [m]; Range: > 0.0"""
    simulation_timestep: Literal["", "Hourly", "Timestep"] | None
    """This field specifies the basement domain simulation interval.; Default: Hourly"""
    mesh_density_parameter: int | None
    """Default: 4; Range: >= 2"""

class SiteGroundReflectance(IDFObject):
    """Specifies the ground reflectance values used to calculate ground reflected solar. The ground reflectance can be furth..."""

    february_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    march_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    april_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    may_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    june_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    july_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    august_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    september_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    october_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    november_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""
    december_ground_reflectance: float | None
    """[dimensionless]; Default: 0.2; Range: >= 0.0, <= 1.0"""

class SiteGroundReflectanceSnowModifier(IDFObject):
    """Specifies ground reflectance multipliers when snow resident on the ground. These multipliers are applied to the 'norm..."""

    daylighting_ground_reflected_solar_modifier: float | None
    """Value for modifying the 'normal' daylighting ground reflectance when Snow is on ground when calculating the 'Ground R...; Default: 1.0; Range: >= 0.0"""

class SiteWaterMainsTemperature(IDFObject):
    """Used to calculate water mains temperatures delivered by underground water main pipes. Water mains temperatures are a ..."""

    temperature_schedule_name: str | None
    annual_average_outdoor_air_temperature: float | None
    """If calculation method is CorrelationFromWeatherFile or Schedule, this input field is ignored.; [C]"""
    maximum_difference_in_monthly_average_outdoor_air_temperatures: float | None
    """If calculation method is CorrelationFromWeatherFile or Schedule, this input field is ignored.; [deltaC]; Range: >= 0.0"""
    temperature_multiplier: float | None
    """If calculation method is Schedule, this input field is ignored.; [dimensionless]; Default: 1.0; Range: >= 0.0; Since: 25.2.0"""
    temperature_offset: float | None
    """If calculation method is Schedule, this input field is ignored.; [deltaC]; Default: 0.0; Since: 25.2.0"""

class SitePrecipitation(IDFObject):
    """Used to describe the amount of water precipitation at the building site. Precipitation includes both rain and the equ..."""

    design_level_for_total_annual_precipitation: float | None
    """meters of water per year used for design level; [m/yr]"""
    precipitation_rates_schedule_name: str | None
    """Schedule values in meters of water per hour values should be non-negative"""
    average_total_annual_precipitation: float | None
    """meters of water per year from average weather statistics; [m/yr]; Range: >= 0.0"""

class RoofIrrigation(IDFObject):
    """Used to describe the amount of irrigation on the ecoroof surface over the course of the simulation runperiod."""

    irrigation_rate_schedule_name: str | None
    """Schedule values in meters of water per hour values should be non-negative"""
    irrigation_maximum_saturation_threshold: float | None
    """Used with SmartSchedule to set the saturation level at which no irrigation is allowed.; [percent]; Default: 40.0; Range: >= 0.0, <= 100.0"""

class SiteSolarAndVisibleSpectrum(IDFObject):
    """If this object is omitted, the default solar and visible spectrum data will be used."""

    spectrum_data_method: Literal["", "Default", "UserDefined"] | None
    """The method specifies which of the solar and visible spectrum data to use in the calculations. Choices: Default - exis...; Default: Default"""
    solar_spectrum_data_object_name: str | None
    visible_spectrum_data_object_name: str | None

class SiteSpectrumData(IDFObject):
    """Spectrum Data Type is followed by up to 107 sets of normal-incidence measured values of [wavelength, spectrum] for wa..."""

    spectrum_data_type: Literal["Solar", "Visible"] | None
    wavelength: float | None
    """[micron]"""
    spectrum: float | None
    wavelength_1: float | None
    """[micron]"""
    spectrum_2: float | None

class ScheduleTypeLimits(IDFObject):
    """ScheduleTypeLimits specifies the data types and limits for the values contained in schedules"""

    lower_limit_value: float | None
    """lower limit (real or integer) for the Schedule Type. e.g. if fraction, this is 0.0"""
    upper_limit_value: float | None
    """upper limit (real or integer) for the Schedule Type. e.g. if fraction, this is 1.0"""
    numeric_type: Literal["Continuous", "Discrete"] | None
    """Numeric type is either Continuous (all numbers within the min and max are valid or Discrete (only integer numbers bet..."""
    unit_type: (
        Literal[
            "",
            "ActivityLevel",
            "Angle",
            "Availability",
            "Capacity",
            "Control",
            "ConvectionCoefficient",
            "DeltaTemperature",
            "Dimensionless",
            "Mode",
            "Percent",
            "Power",
            "PrecipitationRate",
            "Temperature",
            "Velocity",
        ]
        | None
    )
    """Temperature (C or F) DeltaTemperature (C or F) PrecipitationRate (m/hr or ft/hr) Angle (degrees) Convection Coefficie...; Default: Dimensionless"""

class ScheduleDayHourly(IDFObject):
    """A Schedule:Day:Hourly contains 24 values for each hour of the day."""

    schedule_type_limits_name: str | None
    hour_1: float | None
    """Default: 0.0"""
    hour_2: float | None
    """Default: 0.0"""
    hour_3: float | None
    """Default: 0.0"""
    hour_4: float | None
    """Default: 0.0"""
    hour_5: float | None
    """Default: 0.0"""
    hour_6: float | None
    """Default: 0.0"""
    hour_7: float | None
    """Default: 0.0"""
    hour_8: float | None
    """Default: 0.0"""
    hour_9: float | None
    """Default: 0.0"""
    hour_10: float | None
    """Default: 0.0"""
    hour_11: float | None
    """Default: 0.0"""
    hour_12: float | None
    """Default: 0.0"""
    hour_13: float | None
    """Default: 0.0"""
    hour_14: float | None
    """Default: 0.0"""
    hour_15: float | None
    """Default: 0.0"""
    hour_16: float | None
    """Default: 0.0"""
    hour_17: float | None
    """Default: 0.0"""
    hour_18: float | None
    """Default: 0.0"""
    hour_19: float | None
    """Default: 0.0"""
    hour_20: float | None
    """Default: 0.0"""
    hour_21: float | None
    """Default: 0.0"""
    hour_22: float | None
    """Default: 0.0"""
    hour_23: float | None
    """Default: 0.0"""
    hour_24: float | None
    """Default: 0.0"""

class ScheduleDayInterval(IDFObject):
    """A Schedule:Day:Interval contains a full day of values with specified end times for each value Currently, is set up to..."""

    schedule_type_limits_name: str | None
    interpolate_to_timestep: Literal["", "Average", "Linear", "No"] | None
    """when the interval does not match the user specified timestep a Average choice will average between the intervals requ...; Default: No"""
    time: str | None
    value_until_time: float | None

class ScheduleDayList(IDFObject):
    """Schedule:Day:List will allow the user to list 24 hours worth of values, which can be sub-hourly in nature."""

    schedule_type_limits_name: str | None
    interpolate_to_timestep: Literal["", "Average", "Linear", "No"] | None
    """when the interval does not match the user specified timestep a 'Average' choice will average between the intervals re...; Default: No"""
    minutes_per_item: int | None
    """Must be evenly divisible into 60; Range: >= 1, <= 60"""
    value: float | None

class ScheduleWeekDaily(IDFObject):
    """A Schedule:Week:Daily contains 12 Schedule:Day:Hourly objects, one for each day type."""

    sunday_schedule_day_name: str | None
    monday_schedule_day_name: str | None
    tuesday_schedule_day_name: str | None
    wednesday_schedule_day_name: str | None
    thursday_schedule_day_name: str | None
    friday_schedule_day_name: str | None
    saturday_schedule_day_name: str | None
    holiday_schedule_day_name: str | None
    summerdesignday_schedule_day_name: str | None
    winterdesignday_schedule_day_name: str | None
    customday1_schedule_day_name: str | None
    customday2_schedule_day_name: str | None

class ScheduleWeekCompact(IDFObject):
    """Compact definition for Schedule:Day:List"""

    daytype_list: str | None
    schedule_day_name: str | None

class ScheduleYear(IDFObject):
    """A Schedule:Year contains from 1 to 52 week schedules"""

    schedule_type_limits_name: str | None
    schedule_week_name: str | None
    """Since: 9.0.1"""
    start_month: float | None
    """Since: 9.0.1"""
    start_day: float | None
    """Since: 9.0.1"""
    end_month: float | None
    """Since: 9.0.1"""
    end_day: float | None
    """Since: 9.0.1"""

class ScheduleCompact(IDFObject):
    """Irregular object. Does not follow the usual definition for fields. Fields A3... are: Through: Date For: Applicable da..."""

    schedule_type_limits_name: str | None
    field: str | None

class ScheduleConstant(IDFObject):
    """Constant hourly value for entire year."""

    schedule_type_limits_name: str | None
    hourly_value: float | None
    """Default: 0.0"""

class ScheduleFileShading(IDFObject):
    """A Schedule:File:Shading points to a CSV file that has 8760-8784 hours of sunlit fraction data for all or some of the ..."""

class ScheduleFile(IDFObject):
    """A Schedule:File points to a text computer file that has 8760-8784 hours of data."""

    schedule_type_limits_name: str | None
    file_name: str | None
    column_number: int | None
    """Range: >= 1"""
    rows_to_skip_at_top: int | None
    """Range: >= 0"""
    number_of_hours_of_data: float | None
    """8760 hours does not account for leap years, 8784 does. should be either 8760 or 8784; Default: 8760.0; Range: >= 8760.0, <= 8784.0"""
    column_separator: Literal["", "Comma", "Semicolon", "Space", "Tab"] | None
    """Default: Comma"""
    interpolate_to_timestep: Literal["", "No", "Yes"] | None
    """when the interval does not match the user specified timestep a 'Yes' choice will average between the intervals reques...; Default: No"""
    minutes_per_item: int | None
    """Must be evenly divisible into 60; Default: 60; Range: >= 1, <= 60"""
    adjust_schedule_for_daylight_savings: Literal["", "No", "Yes"] | None
    """'No' means do not include Daylight Savings Time in the schedule, instead, use the schedule directly from the Schedule...; Default: Yes; Since: 22.1.0"""

class Material(IDFObject):
    """Regular materials described with full set of thermal properties"""

    roughness: Literal["MediumRough", "MediumSmooth", "Rough", "Smooth", "VeryRough", "VerySmooth"] | None
    thickness: float | None
    """[m] (in); Range: > 0.0"""
    conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    density: float | None
    """[kg/m3]; Range: > 0.0"""
    specific_heat: float | None
    """[J/kg-K]; Range: >= 100.0"""
    thermal_absorptance: float | None
    """Default: 0.9; Range: > 0.0, <= 0.99999"""
    solar_absorptance: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    visible_absorptance: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""

class MaterialNoMass(IDFObject):
    """Regular materials properties described whose principal description is R (Thermal Resistance)"""

    roughness: Literal["MediumRough", "MediumSmooth", "Rough", "Smooth", "VeryRough", "VerySmooth"] | None
    thermal_resistance: float | None
    """[m2-K/W]; Range: >= 0.001"""
    thermal_absorptance: float | None
    """Default: 0.9; Range: > 0.0, <= 0.99999"""
    solar_absorptance: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    visible_absorptance: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""

class MaterialInfraredTransparent(IDFObject):
    """Special infrared transparent material. Similar to a Material:Nomass with low thermal resistance. High absorptance in ..."""

class MaterialAirGap(IDFObject):
    """Air Space in Opaque Construction"""

    thermal_resistance: float | None
    """[m2-K/W]; Range: > 0.0"""

class MaterialRoofVegetation(IDFObject):
    """EcoRoof model, plant layer plus soil layer Implemented by Portland State University (Sailor et al., January, 2007) on..."""

    height_of_plants: float | None
    """The ecoroof module is designed for short plants and shrubs.; [m]; Default: 0.2; Range: > 0.005, <= 1.0"""
    leaf_area_index: float | None
    """Entire surface is assumed covered, so decrease LAI accordingly.; [dimensionless]; Default: 1.0; Range: > 0.001, <= 5.0"""
    leaf_reflectivity: float | None
    """Leaf reflectivity (albedo) is typically 0.18-0.25; [dimensionless]; Default: 0.22; Range: >= 0.05, <= 0.5"""
    leaf_emissivity: float | None
    """Default: 0.95; Range: >= 0.8, <= 1.0"""
    minimum_stomatal_resistance: float | None
    """This depends upon plant type; [s/m]; Default: 180.0; Range: >= 50.0, <= 300.0"""
    soil_layer_name: str | None
    """Default: Green Roof Soil"""
    roughness: Literal["", "MediumRough", "MediumSmooth", "Rough", "Smooth", "VeryRough", "VerySmooth"] | None
    """Default: MediumRough"""
    thickness: float | None
    """thickness of the soil layer of the EcoRoof Soil depths of 0.15m (6in) and 0.30m (12in) are common.; [m] (in); Default: 0.1; Range: > 0.05, <= 0.7"""
    conductivity_of_dry_soil: float | None
    """Thermal conductivity of dry soil. Typical ecoroof soils range from 0.3 to 0.5; [W/m-K]; Default: 0.35; Range: >= 0.2, <= 1.5"""
    density_of_dry_soil: float | None
    """Density of dry soil (the code modifies this as the soil becomes moist) Typical ecoroof soils range from 400 to 1000 (...; [kg/m3]; Default: 1100.0; Range: >= 300.0, <= 2000.0"""
    specific_heat_of_dry_soil: float | None
    """Specific heat of dry soil; [J/kg-K]; Default: 1200.0; Range: > 500.0, <= 2000.0"""
    thermal_absorptance: float | None
    """Soil emissivity is typically in range of 0.90 to 0.98; Default: 0.9; Range: > 0.8, <= 1.0"""
    solar_absorptance: float | None
    """Solar absorptance of dry soil (1-albedo) is typically 0.60 to 0.85 corresponding to a dry albedo of 0.15 to 0.40; Default: 0.7; Range: >= 0.4, <= 0.9"""
    visible_absorptance: float | None
    """Default: 0.75; Range: > 0.5, <= 1.0"""
    saturation_volumetric_moisture_content_of_the_soil_layer: float | None
    """Maximum moisture content is typically less than 0.5; Default: 0.3; Range: > 0.1, <= 0.5"""
    residual_volumetric_moisture_content_of_the_soil_layer: float | None
    """Default: 0.01; Range: >= 0.01, <= 0.1"""
    initial_volumetric_moisture_content_of_the_soil_layer: float | None
    """Default: 0.1; Range: > 0.05, <= 0.5"""
    moisture_diffusion_calculation_method: Literal["", "Advanced", "Simple"] | None
    """Advanced calculation requires increased number of timesteps (recommended >20).; Default: Advanced"""

class WindowMaterialSimpleGlazingSystem(IDFObject):
    """Alternate method of describing windows This window material object is used to define an entire glazing system using s..."""

    u_factor: float | None
    """Enter U-Factor including film coefficients; [W/m2-K]; Range: > 0.0"""
    solar_heat_gain_coefficient: float | None
    """SHGC at Normal Incidence; Range: > 0.0, < 1.0"""
    visible_transmittance: float | None
    """VT at Normal Incidence optional; Range: > 0.0, < 1.0"""

class WindowMaterialGlazing(IDFObject):
    """Glass material properties for Windows or Glass Doors Transmittance/Reflectance input method."""

    optical_data_type: Literal["BSDF", "Spectral", "SpectralAndAngle", "SpectralAverage"] | None
    window_glass_spectral_data_set_name: str | None
    """Used only when Optical Data Type = Spectral"""
    thickness: float | None
    """[m] (in); Range: > 0.0"""
    solar_transmittance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage; Range: >= 0.0, <= 1.0"""
    front_side_solar_reflectance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage Front Side is side closest to outdoor air; Range: >= 0.0, <= 1.0"""
    back_side_solar_reflectance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage Back Side is side closest to zone air; Range: >= 0.0, <= 1.0"""
    visible_transmittance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage; Range: >= 0.0, <= 1.0"""
    front_side_visible_reflectance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage; Range: >= 0.0, <= 1.0"""
    back_side_visible_reflectance_at_normal_incidence: float | None
    """Used only when Optical Data Type = SpectralAverage; Range: >= 0.0, <= 1.0"""
    infrared_transmittance_at_normal_incidence: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_side_infrared_hemispherical_emissivity: float | None
    """Default: 0.84; Range: > 0.0, < 1.0"""
    back_side_infrared_hemispherical_emissivity: float | None
    """Default: 0.84; Range: > 0.0, < 1.0"""
    conductivity: float | None
    """[W/m-K]; Default: 0.9; Range: > 0.0"""
    dirt_correction_factor_for_solar_and_visible_transmittance: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    solar_diffusing: Literal["", "No", "Yes"] | None
    """Default: No"""
    young_s_modulus: float | None
    """coefficient used for deflection calculations. Used only with complex fenestration when deflection model is set to Tem...; [Pa]; Default: 72000000000.0; Range: > 0.0"""
    poisson_s_ratio: float | None
    """coefficient used for deflection calculations. Used only with complex fenestration when deflection model is set to Tem...; Default: 0.22; Range: > 0.0, < 1.0"""
    window_glass_spectral_and_incident_angle_transmittance_data_set_table_name: str | None
    """Used only when Optical Data Type = SpectralAndAngle"""
    window_glass_spectral_and_incident_angle_front_reflectance_data_set_table_name: str | None
    """Used only when Optical Data Type = SpectralAndAngle"""
    window_glass_spectral_and_incident_angle_back_reflectance_data_set_table_name: str | None
    """Used only when Optical Data Type = SpectralAndAngle"""

class WindowMaterialGlazingGroupThermochromic(IDFObject):
    """thermochromic glass at different temperatures"""

    optical_data_temperature: float | None
    window_material_glazing_name: str | None

class WindowMaterialGlazingRefractionExtinctionMethod(IDFObject):
    """Glass material properties for Windows or Glass Doors Index of Refraction/Extinction Coefficient input method Not to b..."""

    thickness: float | None
    """[m] (in); Range: > 0.0"""
    solar_index_of_refraction: float | None
    """Range: > 1.0"""
    solar_extinction_coefficient: float | None
    """[1/m]; Range: > 0.0"""
    visible_index_of_refraction: float | None
    """Range: > 1.0"""
    visible_extinction_coefficient: float | None
    """[1/m]; Range: > 0.0"""
    infrared_transmittance_at_normal_incidence: float | None
    """Default: 0.0; Range: >= 0.0, < 1.0"""
    infrared_hemispherical_emissivity: float | None
    """Emissivity of front and back side assumed equal; Default: 0.84; Range: > 0.0, < 1.0"""
    conductivity: float | None
    """[W/m-K]; Default: 0.9; Range: > 0.0"""
    dirt_correction_factor_for_solar_and_visible_transmittance: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    solar_diffusing: Literal["", "No", "Yes"] | None
    """Default: No"""

class WindowMaterialGas(IDFObject):
    """Gas material properties that are used in Windows or Glass Doors"""

    gas_type: Literal["Air", "Argon", "Custom", "Krypton", "Xenon"] | None
    thickness: float | None
    """[m] (in); Range: > 0.0"""
    conductivity_coefficient_a: float | None
    """Used only if Gas Type = Custom; [W/m-K]"""
    conductivity_coefficient_b: float | None
    """Used only if Gas Type = Custom; [W/m-K2]"""
    conductivity_coefficient_c: float | None
    """Used only if Gas Type = Custom; [W/m-K3]"""
    viscosity_coefficient_a: float | None
    """Used only if Gas Type = Custom; [kg/m-s]; Range: > 0.0"""
    viscosity_coefficient_b: float | None
    """Used only if Gas Type = Custom; [kg/m-s-K]"""
    viscosity_coefficient_c: float | None
    """Used only if Gas Type = Custom; [kg/m-s-K2]"""
    specific_heat_coefficient_a: float | None
    """Used only if Gas Type = Custom; [J/kg-K]; Range: > 0.0"""
    specific_heat_coefficient_b: float | None
    """Used only if Gas Type = Custom; [J/kg-K2]"""
    specific_heat_coefficient_c: float | None
    """Used only if Gas Type = Custom; [J/kg-K3]"""
    molecular_weight: float | None
    """Used only if Gas Type = Custom; [g/mol]; Range: >= 20.0, <= 200.0"""
    specific_heat_ratio: float | None
    """Used only if Gas Type = Custom; Range: > 1.0"""

class WindowGapSupportPillar(IDFObject):
    """used to define pillar geometry for support pillars"""

    spacing: float | None
    """[m]; Default: 0.04; Range: > 0.0"""
    radius: float | None
    """[m]; Default: 0.0004; Range: > 0.0"""

class WindowGapDeflectionState(IDFObject):
    """Used to enter data describing deflection state of the gap. It is referenced from WindowMaterial:Gap object only and i..."""

    deflected_thickness: float | None
    """If left blank will be considered that gap has no deflection.; [m]; Default: 0.0; Range: >= 0.0"""
    initial_temperature: float | None
    """[C]; Default: 25.0; Range: >= 0.0"""
    initial_pressure: float | None
    """[Pa]; Default: 101325.0; Range: >= 0.0"""

class WindowMaterialGasMixture(IDFObject):
    """Gas mixtures that are used in Windows or Glass Doors"""

    thickness: float | None
    """[m]; Range: > 0.0"""
    number_of_gases_in_mixture: int | None
    """Range: >= 1, <= 4"""
    gas_1_type: Literal["Air", "Argon", "Krypton", "Xenon"] | None
    gas_1_fraction: float | None
    """Range: > 0.0, <= 1.0"""
    gas_2_type: Literal["Air", "Argon", "Krypton", "Xenon"] | None
    gas_2_fraction: float | None
    """Range: > 0.0, <= 1.0"""
    gas_3_type: Literal["Air", "Argon", "Krypton", "Xenon"] | None
    gas_3_fraction: float | None
    """Range: > 0.0, <= 1.0"""
    gas_4_type: Literal["Air", "Argon", "Krypton", "Xenon"] | None
    gas_4_fraction: float | None
    """Range: > 0.0, <= 1.0"""

class WindowMaterialGap(IDFObject):
    """Used to define the gap between two layers in a complex fenestration system, where the Construction:ComplexFenestratio..."""

    thickness: float | None
    """[m]; Range: > 0.0"""
    gas_or_gas_mixture_: str | None
    """This field should reference only WindowMaterial:Gas or WindowMaterial:GasMixture objects"""
    pressure: float | None
    """[Pa]; Default: 101325.0"""
    deflection_state: str | None
    """If left blank, it will be considered that gap is not deflected"""
    support_pillar: str | None
    """If left blank, it will be considered that gap does not have support pillars"""

class WindowMaterialShade(IDFObject):
    """Specifies the properties of window shade materials. Reflectance and emissivity properties are assumed to be the same ..."""

    solar_transmittance: float | None
    """Assumed independent of incidence angle; [dimensionless]; Range: >= 0.0, < 1.0"""
    solar_reflectance: float | None
    """Assumed same for both sides Assumed independent of incidence angle; [dimensionless]; Range: >= 0.0, < 1.0"""
    visible_transmittance: float | None
    """Assumed independent of incidence angle; [dimensionless]; Range: >= 0.0, < 1.0"""
    visible_reflectance: float | None
    """Assumed same for both sides Assumed independent of incidence angle; [dimensionless]; Range: >= 0.0, < 1.0"""
    infrared_hemispherical_emissivity: float | None
    """[dimensionless]; Range: > 0.0, < 1.0"""
    infrared_transmittance: float | None
    """[dimensionless]; Range: >= 0.0, < 1.0"""
    thickness: float | None
    """[m] (in); Range: > 0.0"""
    conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    shade_to_glass_distance: float | None
    """[m] (in); Default: 0.05; Range: >= 0.001, <= 1.0"""
    top_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    bottom_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    left_side_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    right_side_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    airflow_permeability: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 0.8"""

class WindowMaterialComplexShade(IDFObject):
    """Complex window shading layer thermal properties"""

    layer_type: (
        Literal["", "BSDF", "OtherShadingType", "Perforated", "VenetianHorizontal", "VenetianVertical", "Woven"] | None
    )
    """Default: OtherShadingType"""
    thickness: float | None
    """[m]; Default: 0.002; Range: > 0.0"""
    conductivity: float | None
    """[W/m-K]; Default: 1.0; Range: > 0.0"""
    ir_transmittance: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_emissivity: float | None
    """Default: 0.84; Range: > 0.0, <= 1.0"""
    back_emissivity: float | None
    """Default: 0.84; Range: > 0.0, <= 1.0"""
    top_opening_multiplier: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    bottom_opening_multiplier: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    left_side_opening_multiplier: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    right_side_opening_multiplier: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_opening_multiplier: float | None
    """Default: 0.05; Range: >= 0.0, <= 1.0"""
    slat_width: float | None
    """[m]; Default: 0.016; Range: > 0.0"""
    slat_spacing: float | None
    """Distance between adjacent slat faces; [m]; Default: 0.012; Range: > 0.0"""
    slat_thickness: float | None
    """Distance between top and bottom surfaces of slat Slat is assumed to be rectangular in cross section and flat; [m]; Default: 0.0006; Range: > 0.0"""
    slat_angle: float | None
    """[deg]; Default: 90.0; Range: >= -90.0, <= 90.0"""
    slat_conductivity: float | None
    """[W/m-K]; Default: 160.0; Range: > 0.0"""
    slat_curve: float | None
    """this value represents curvature radius of the slat. if the slat is flat use zero. if this value is not zero, then it ...; [m]; Default: 0.0; Range: >= 0.0"""

class WindowMaterialBlind(IDFObject):
    """Window blind thermal properties"""

    slat_orientation: Literal["", "Horizontal", "Vertical"] | None
    """Default: Horizontal"""
    slat_width: float | None
    """[m] (in); Range: > 0.0, <= 1.0"""
    slat_separation: float | None
    """Distance between adjacent slat faces; [m] (in); Range: > 0.0, <= 1.0"""
    slat_thickness: float | None
    """Distance between top and bottom surfaces of slat Slat is assumed to be rectangular in cross section and flat; [m] (in); Default: 0.00025; Range: > 0.0, <= 0.1"""
    slat_angle: float | None
    """If WindowShadingControl referencing the window that incorporates this blind has Type of Slat Angle Control for Blinds...; [deg]; Default: 45.0; Range: >= 0.0, <= 180.0"""
    slat_conductivity: float | None
    """default is for aluminum; [W/m-K]; Default: 221.0; Range: > 0.0"""
    slat_beam_solar_transmittance: float | None
    """Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_beam_solar_reflectance: float | None
    """Range: >= 0.0, < 1.0"""
    back_side_slat_beam_solar_reflectance: float | None
    """Range: >= 0.0, < 1.0"""
    slat_diffuse_solar_transmittance: float | None
    """Must equal 'Slat beam solar transmittance'; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_diffuse_solar_reflectance: float | None
    """Must equal 'Front Side Slat Beam Solar Reflectance'; Range: >= 0.0, < 1.0"""
    back_side_slat_diffuse_solar_reflectance: float | None
    """Must equal 'Back Side Slat Beam Solar Reflectance'; Range: >= 0.0, < 1.0"""
    slat_beam_visible_transmittance: float | None
    """Required for detailed daylighting calculation; Range: >= 0.0, < 1.0"""
    front_side_slat_beam_visible_reflectance: float | None
    """Required for detailed daylighting calculation; Range: >= 0.0, < 1.0"""
    back_side_slat_beam_visible_reflectance: float | None
    """Required for detailed daylighting calculation; Range: >= 0.0, < 1.0"""
    slat_diffuse_visible_transmittance: float | None
    """Used only for detailed daylighting calculation Must equal 'Slat Beam Visible Transmittance'; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_diffuse_visible_reflectance: float | None
    """Required for detailed daylighting calculation Must equal 'Front Side Slat Beam Visible Reflectance'; Range: >= 0.0, < 1.0"""
    back_side_slat_diffuse_visible_reflectance: float | None
    """Required for detailed daylighting calculation Must equal 'Back Side Slat Beam Visible Reflectance'; Range: >= 0.0, < 1.0"""
    slat_infrared_hemispherical_transmittance: float | None
    """Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_infrared_hemispherical_emissivity: float | None
    """Default: 0.9; Range: >= 0.0, < 1.0"""
    back_side_slat_infrared_hemispherical_emissivity: float | None
    """Default: 0.9; Range: >= 0.0, < 1.0"""
    blind_to_glass_distance: float | None
    """[m] (in); Default: 0.05; Range: >= 0.01, <= 1.0"""
    blind_top_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    blind_bottom_opening_multiplier: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    blind_left_side_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    blind_right_side_opening_multiplier: float | None
    """Default: 0.5; Range: >= 0.0, <= 1.0"""
    minimum_slat_angle: float | None
    """Used only if WindowShadingControl referencing the window that incorporates this blind varies the slat angle (i.e., Wi...; [deg]; Default: 0.0; Range: >= 0.0, <= 180.0"""
    maximum_slat_angle: float | None
    """Used only if WindowShadingControl referencing the window that incorporates this blind varies the slat angle (i.e., Wi...; [deg]; Default: 180.0; Range: >= 0.0, <= 180.0"""

class WindowMaterialScreen(IDFObject):
    """Window screen physical properties. Can only be located on the exterior side of a window construction."""

    reflected_beam_transmittance_accounting_method: (
        Literal["", "DoNotModel", "ModelAsDiffuse", "ModelAsDirectBeam"] | None
    )
    """Select the method used to account for the beam solar reflected off the material surface.; Default: ModelAsDiffuse"""
    diffuse_solar_reflectance: float | None
    """Diffuse reflectance of the screen material over the entire solar radiation spectrum. Assumed to be the same for both ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    diffuse_visible_reflectance: float | None
    """Diffuse visible reflectance of the screen material averaged over the solar spectrum and weighted by the response of t...; [dimensionless]; Range: >= 0.0, < 1.0"""
    thermal_hemispherical_emissivity: float | None
    """Long-wave emissivity of the screen material. Assumed to be the same for both sides of the screen.; [dimensionless]; Default: 0.9; Range: > 0.0, < 1.0"""
    conductivity: float | None
    """Thermal conductivity of the screen material. Default is for aluminum.; [W/m-K]; Default: 221.0; Range: > 0.0"""
    screen_material_spacing: float | None
    """Spacing assumed to be the same in both directions.; [m] (in); Range: > 0.0"""
    screen_material_diameter: float | None
    """Diameter assumed to be the same in both directions.; [m] (in); Range: > 0.0"""
    screen_to_glass_distance: float | None
    """Distance from the window screen to the adjacent glass surface.; [m] (in); Default: 0.025; Range: >= 0.001, <= 1.0"""
    top_opening_multiplier: float | None
    """Effective area for air flow at the top of the screen divided by the perpendicular area between the glass and the top ...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    bottom_opening_multiplier: float | None
    """Effective area for air flow at the bottom of the screen divided by the perpendicular area between the glass and the b...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    left_side_opening_multiplier: float | None
    """Effective area for air flow at the left side of the screen divided by the perpendicular area between the glass and th...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    right_side_opening_multiplier: float | None
    """Effective area for air flow at the right side of the screen divided by the perpendicular area between the glass and t...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    angle_of_resolution_for_screen_transmittance_output_map: Literal[0, 1, 2, 3, 5, ""] | None
    """Select the resolution of azimuth and altitude angles for the screen transmittance map. A value of 0 means no transmit...; [deg]; Default: 0.0"""

class WindowMaterialShadeEquivalentLayer(IDFObject):
    """Specifies the properties of equivalent layer window shade material Shades are considered to be perfect diffusers (all..."""

    shade_beam_beam_solar_transmittance: float | None
    """The beam-beam solar transmittance at normal incidence. This value is the same as the openness area fraction of the sh...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 0.8"""
    front_side_shade_beam_diffuse_solar_transmittance: float | None
    """The front side beam-diffuse solar transmittance at normal incidence averaged over the entire spectrum of solar radiat...; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_shade_beam_diffuse_solar_transmittance: float | None
    """The back side beam-diffuse solar transmittance at normal incidence averaged over the entire spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    front_side_shade_beam_diffuse_solar_reflectance: float | None
    """The front side beam-diffuse solar reflectance at normal incidence averaged over the entire spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_shade_beam_diffuse_solar_reflectance: float | None
    """The back side beam-diffuse solar reflectance at normal incidence averaged over the entire spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    shade_beam_beam_visible_transmittance_at_normal_incidence: float | None
    """The beam-beam visible transmittance at normal incidence averaged over the visible spectrum range of solar radiation. ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    shade_beam_diffuse_visible_transmittance_at_normal_incidence: float | None
    """The beam-diffuse visible transmittance at normal incidence averaged over the visible spectrum range of solar radiatio...; [dimensionless]; Range: >= 0.0, < 1.0"""
    shade_beam_diffuse_visible_reflectance_at_normal_incidence: float | None
    """The beam-diffuse visible reflectance at normal incidence averaged over the visible spectrum range of solar radiation....; [dimensionless]; Range: >= 0.0, < 1.0"""
    shade_material_infrared_transmittance: float | None
    """The long-wave transmittance of the shade material at zero shade openness. Assumed to be the same for front and back s...; [dimensionless]; Default: 0.05; Range: >= 0.0, < 1.0"""
    front_side_shade_material_infrared_emissivity: float | None
    """The front side long-wave emissivity of the shade material at zero shade openness. Openness fraction is used to calcul...; [dimensionless]; Default: 0.91; Range: > 0.0, < 1.0"""
    back_side_shade_material_infrared_emissivity: float | None
    """The back side long-wave emissivity of the shade material at zero shade openness. Openness fraction is used to calcula...; [dimensionless]; Default: 0.91; Range: > 0.0, < 1.0"""

class WindowMaterialDrapeEquivalentLayer(IDFObject):
    """Specifies the properties of equivalent layer drape fabric materials. Shades are considered to be perfect diffusers (a..."""

    drape_beam_beam_solar_transmittance_at_normal_incidence: float | None
    """The beam-beam solar transmittance at normal incidence. This value is the same as the openness area fraction of the dr...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 0.2"""
    front_side_drape_beam_diffuse_solar_transmittance: float | None
    """The front side beam-diffuse solar transmittance at normal incidence averaged over the entire spectrum of solar radiat...; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_drape_beam_diffuse_solar_transmittance: float | None
    """The back side beam-diffuse solar transmittance at normal incidence averaged over the entire spectrum of solar radiati...; [dimensionless]; Range: >= 0.0, < 1.0"""
    front_side_drape_beam_diffuse_solar_reflectance: float | None
    """The front side beam-diffuse solar reflectance at normal incidence averaged over the entire spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_drape_beam_diffuse_solar_reflectance: float | None
    """The back side beam-diffuse solar reflectance at normal incidence averaged over the entire spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    drape_beam_beam_visible_transmittance: float | None
    """The beam-beam visible transmittance at normal incidence averaged over the visible spectrum of solar radiation. Assume...; [dimensionless]; Range: >= 0.0, < 1.0"""
    drape_beam_diffuse_visible_transmittance: float | None
    """The beam-diffuse visible transmittance at normal incidence averaged over the visible spectrum range of solar radiatio...; [dimensionless]; Range: >= 0.0, < 1.0"""
    drape_beam_diffuse_visible_reflectance: float | None
    """The beam-diffuse visible reflectance at normal incidence average over the visible spectrum range of solar radiation. ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    drape_material_infrared_transmittance: float | None
    """Long-wave transmittance of the drape fabric at zero openness fraction. Assumed same for front and back sides.; [dimensionless]; Default: 0.05; Range: >= 0.0, < 1.0"""
    front_side_drape_material_infrared_emissivity: float | None
    """Front side long-wave emissivity of the drape fabric at zero shade openness. Openness fraction specified above is used...; [dimensionless]; Default: 0.87; Range: > 0.0, < 1.0"""
    back_side_drape_material_infrared_emissivity: float | None
    """Back side long-wave emissivity of the drape fabric at zero shade openness. Openness fraction specified above is used ...; [dimensionless]; Default: 0.87; Range: > 0.0, < 1.0"""
    width_of_pleated_fabric: float | None
    """Width of the pleated section of the draped fabric. If the drape fabric is unpleated or is flat, then the pleated sect...; [m] (in); Default: 0.0; Range: >= 0.0"""
    length_of_pleated_fabric: float | None
    """Length of the pleated section of the draped fabric. If the drape fabric is unpleated or is flat, then the pleated sec...; [m] (in); Default: 0.0; Range: >= 0.0"""

class WindowMaterialBlindEquivalentLayer(IDFObject):
    """Window equivalent layer blind slat optical and thermal properties. The model assumes that slats are thin and flat, ap..."""

    slat_orientation: Literal["", "Horizontal", "Vertical"] | None
    """Default: Horizontal"""
    slat_width: float | None
    """[m] (in); Range: > 0.0, <= 0.025"""
    slat_separation: float | None
    """Distance between adjacent slat faces; [m] (in); Range: > 0.0, <= 0.025"""
    slat_crown: float | None
    """Perpendicular length between the cord and the curve. Slat is assumed to be rectangular in cross section and flat. Cro...; [m] (in); Default: 0.0015; Range: >= 0.0, <= 0.00156"""
    slat_angle: float | None
    """Slat angle is +ve if the tip of the slat front face is tilted upward, else the slat angle is -ve if the tip of the sl...; [deg]; Default: 45.0; Range: >= -90.0, <= 90.0"""
    front_side_slat_beam_diffuse_solar_transmittance: float | None
    """The front side beam-diffuse solar transmittance of the slat at normal incidence averaged over the entire spectrum of ...; Default: 0.0; Range: >= 0.0, < 1.0"""
    back_side_slat_beam_diffuse_solar_transmittance: float | None
    """The back side beam-diffuse solar transmittance of the slat at normal incidence averaged over the entire spectrum of s...; [dimensionless]; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_beam_diffuse_solar_reflectance: float | None
    """The front side beam-diffuse solar reflectance of the slat at normal incidence averaged over the entire spectrum of so...; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_slat_beam_diffuse_solar_reflectance: float | None
    """The back side beam-diffuse solar reflectance of the slat at normal incidence averaged over the entire spectrum of sol...; [dimensionless]; Range: >= 0.0, < 1.0"""
    front_side_slat_beam_diffuse_visible_transmittance: float | None
    """The front side beam-diffuse visible transmittance of the slat at normal incidence averaged over the visible spectrum ...; [dimensionless]; Default: 0.0; Range: >= 0.0, < 1.0"""
    back_side_slat_beam_diffuse_visible_transmittance: float | None
    """The back side beam-diffuse visible transmittance of the slat at normal incidence averaged over the visible spectrum r...; [dimensionless]; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_beam_diffuse_visible_reflectance: float | None
    """The front side beam-diffuse visible reflectance of the slat at normal incidence averaged over the visible spectrum ra...; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_slat_beam_diffuse_visible_reflectance: float | None
    """The back side beam-diffuse visible reflectance of the slat at normal incidence averaged over the visible spectrum ran...; [dimensionless]; Range: >= 0.0, < 1.0"""
    slat_diffuse_diffuse_solar_transmittance: float | None
    """The beam-diffuse solar transmittance of the slat averaged over the entire solar spectrum of solar radiation.; [dimensionless]; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_diffuse_diffuse_solar_reflectance: float | None
    """The front side beam-diffuse solar reflectance of the slat averaged over the entire solar spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_slat_diffuse_diffuse_solar_reflectance: float | None
    """The back side beam-diffuse solar reflectance of the slat averaged over the entire solar spectrum of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    slat_diffuse_diffuse_visible_transmittance: float | None
    """The beam-diffuse visible transmittance of the slat averaged over the visible spectrum range of solar radiation.; Range: >= 0.0, < 1.0"""
    front_side_slat_diffuse_diffuse_visible_reflectance: float | None
    """The front side beam-diffuse visible reflectance of the slat averaged over the visible spectrum range of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    back_side_slat_diffuse_diffuse_visible_reflectance: float | None
    """The back side beam-diffuse visible reflectance of the slat averaged over the visible spectrum range of solar radiation.; [dimensionless]; Range: >= 0.0, < 1.0"""
    slat_infrared_transmittance: float | None
    """Long-wave hemispherical transmittance of the slat material. Assumed to be the same for both sides of the slat.; Default: 0.0; Range: >= 0.0, < 1.0"""
    front_side_slat_infrared_emissivity: float | None
    """Front side long-wave hemispherical emissivity of the slat material.; [dimensionless]; Default: 0.9; Range: >= 0.0, < 1.0"""
    back_side_slat_infrared_emissivity: float | None
    """Back side long-wave hemispherical emissivity of the slat material.; [dimensionless]; Default: 0.9; Range: >= 0.0, < 1.0"""
    slat_angle_control: Literal["", "BlockBeamSolar", "FixedSlatAngle", "MaximizeSolar"] | None
    """Used only if slat angle control is desired to either maximize solar gain (MaximizeSolar), maximize visibility while e...; Default: FixedSlatAngle"""

class WindowMaterialScreenEquivalentLayer(IDFObject):
    """Equivalent layer window screen physical properties. Can only be located on the exterior side of a window construction."""

    screen_beam_beam_solar_transmittance: float | Literal["", "Autocalculate"] | None
    """The beam-beam transmittance of the screen material at normal incidence. This input field is the same as the material ...; [dimensionless]; Default: Autocalculate"""
    screen_beam_diffuse_solar_transmittance: float | None
    """The beam-diffuse solar transmittance of the screen material at normal incidence averaged over the entire spectrum of ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    screen_beam_diffuse_solar_reflectance: float | None
    """The beam-diffuse solar reflectance of the screen material at normal incidence averaged over the entire spectrum of so...; [dimensionless]; Range: >= 0.0, < 1.0"""
    screen_beam_beam_visible_transmittance: float | None
    """The beam-beam visible transmittance of the screen material at normal incidence averaged over the visible spectrum ran...; [dimensionless]; Range: >= 0.0, < 1.0"""
    screen_beam_diffuse_visible_transmittance: float | None
    """The beam-diffuse visible transmittance of the screen material at normal incidence averaged over the visible spectrum ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    screen_beam_diffuse_visible_reflectance: float | None
    """Beam-diffuse visible reflectance of the screen material at normal incidence averaged over the visible spectrum range ...; [dimensionless]; Range: >= 0.0, < 1.0"""
    screen_infrared_transmittance: float | None
    """The long-wave hemispherical transmittance of the screen material. Assumed to be the same for both sides of the screen.; [dimensionless]; Default: 0.02; Range: >= 0.0, < 1.0"""
    screen_infrared_emissivity: float | None
    """The long-wave hemispherical emissivity of the screen material. Assumed to be the same for both sides of the screen.; [dimensionless]; Default: 0.93; Range: > 0.0, < 1.0"""
    screen_wire_spacing: float | None
    """Spacing assumed to be the same in both directions.; [m] (in); Default: 0.025; Range: > 0.0"""
    screen_wire_diameter: float | None
    """Diameter assumed to be the same in both directions.; [m] (in); Default: 0.005; Range: > 0.0"""

class WindowMaterialGlazingEquivalentLayer(IDFObject):
    """Glass material properties for Windows or Glass Doors Transmittance/Reflectance input method."""

    optical_data_type: Literal["", "Spectral", "SpectralAverage"] | None
    """Spectral is not currently supported and SpectralAverage is the default.; Default: SpectralAverage"""
    window_glass_spectral_data_set_name: str | None
    """Spectral data is not currently supported. Used only when Optical Data Type = Spectral"""
    front_side_beam_beam_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Range: >= 0.0, <= 1.0"""
    back_side_beam_beam_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Range: >= 0.0, <= 1.0"""
    front_side_beam_beam_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Front Side is side closest to outdoor air; [dimensionless]; Range: >= 0.0, <= 1.0"""
    back_side_beam_beam_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Back Side is side closest to zone air; [dimensionless]; Range: >= 0.0, <= 1.0"""
    front_side_beam_beam_visible_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Range: >= 0.0, <= 1.0"""
    back_side_beam_beam_visible_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Range: >= 0.0, <= 1.0"""
    front_side_beam_beam_visible_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Front Side is side closest to outdoor air; [dimensionless]; Range: >= 0.0, <= 1.0"""
    back_side_beam_beam_visible_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Back Side is side closest to zone air; [dimensionless]; Range: >= 0.0, <= 1.0"""
    front_side_beam_diffuse_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    back_side_beam_diffuse_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_side_beam_diffuse_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Front Side is side closest to outdoor air; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    back_side_beam_diffuse_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Back Side is side closest to zone air; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_side_beam_diffuse_visible_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    back_side_beam_diffuse_visible_solar_transmittance: float | None
    """Used only when Optical Data Type = SpectralAverage; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_side_beam_diffuse_visible_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Front Side is side closest to outdoor air; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    back_side_beam_diffuse_visible_solar_reflectance: float | None
    """Used only when Optical Data Type = SpectralAverage Back Side is side closest to zone air; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    diffuse_diffuse_solar_transmittance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage If this field is autocalculate, then the diffuse-diffuse solar tra...; [dimensionless]; Default: Autocalculate"""
    front_side_diffuse_diffuse_solar_reflectance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage If this field is autocalculate, then the front diffuse-diffuse sol...; [dimensionless]; Default: Autocalculate"""
    back_side_diffuse_diffuse_solar_reflectance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage If this field is autocalculate, then the back diffuse-diffuse sola...; [dimensionless]; Default: Autocalculate"""
    diffuse_diffuse_visible_solar_transmittance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage This input field is not used currently.; [dimensionless]; Default: Autocalculate"""
    front_side_diffuse_diffuse_visible_solar_reflectance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage This input field is not used currently.; [dimensionless]; Default: Autocalculate"""
    back_side_diffuse_diffuse_visible_solar_reflectance: float | Literal["", "Autocalculate"] | None
    """Used only when Optical Data Type = SpectralAverage This input field is not used currently.; [dimensionless]; Default: Autocalculate"""
    infrared_transmittance_applies_to_front_and_back_: float | None
    """The long-wave hemispherical transmittance of the glazing. Assumed to be the same for both sides of the glazing.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    front_side_infrared_emissivity: float | None
    """The front side long-wave hemispherical emissivity of the glazing.; [dimensionless]; Default: 0.84; Range: > 0.0, < 1.0"""
    back_side_infrared_emissivity: float | None
    """The back side long-wave hemispherical emissivity of the glazing.; [dimensionless]; Default: 0.84; Range: > 0.0, < 1.0"""
    thermal_resistance: float | None
    """This is the R-Value in SI for the glass. The default value is an approximation for a single layer of glass at 1/4' in...; [m2-K/W]; Default: 0.158; Range: > 0.0; Since: 9.2.0"""

class WindowMaterialGapEquivalentLayer(IDFObject):
    """Gas material properties that are used in Windows Equivalent Layer References only WindowMaterial:Gas properties"""

    gas_type: Literal["AIR", "ARGON", "CUSTOM", "KRYPTON", "XENON"] | None
    thickness: float | None
    """[m] (in); Range: > 0.0"""
    gap_vent_type: Literal["Sealed", "VentedIndoor", "VentedOutdoor"] | None
    """Sealed means the gap is enclosed and gas tight, i.e., no venting to indoor or outdoor environment. VentedIndoor means..."""
    conductivity_coefficient_a: float | None
    """Used only if Gas Type = Custom; [W/m-K]"""
    conductivity_coefficient_b: float | None
    """Used only if Gas Type = Custom; [W/m-K2]"""
    conductivity_coefficient_c: float | None
    """Used only if Gas Type = Custom; [W/m-K3]"""
    viscosity_coefficient_a: float | None
    """Used only if Gas Type = Custom; [kg/m-s]; Range: > 0.0"""
    viscosity_coefficient_b: float | None
    """Used only if Gas Type = Custom; [kg/m-s-K]"""
    viscosity_coefficient_c: float | None
    """Used only if Gas Type = Custom; [kg/m-s-K2]"""
    specific_heat_coefficient_a: float | None
    """Used only if Gas Type = Custom; [J/kg-K]; Range: > 0.0"""
    specific_heat_coefficient_b: float | None
    """Used only if Gas Type = Custom; [J/kg-K2]"""
    specific_heat_coefficient_c: float | None
    """Used only if Gas Type = Custom; [J/kg-K3]"""
    molecular_weight: float | None
    """Used only if Gas Type = Custom; [g/mol]; Range: >= 20.0, <= 200.0"""
    specific_heat_ratio: float | None
    """Used only if Gas Type = Custom; Range: > 1.0"""

class MaterialPropertyMoisturePenetrationDepthSettings(IDFObject):
    """Additional properties for moisture using EMPD procedure HeatBalanceAlgorithm choice=MoisturePenetrationDepthConductio..."""

    water_vapor_diffusion_resistance_factor: float | None
    """Ratio of water vapor permeability of stagnant air to water vapor permeability of material; [dimensionless]; Range: >= 0.0"""
    moisture_equation_coefficient_a: float | None
    """[dimensionless]"""
    moisture_equation_coefficient_b: float | None
    """[dimensionless]"""
    moisture_equation_coefficient_c: float | None
    """[dimensionless]"""
    moisture_equation_coefficient_d: float | None
    """[dimensionless]"""
    surface_layer_penetration_depth: float | Literal["", "Autocalculate"] | None
    """[m] (in); Default: Autocalculate"""
    deep_layer_penetration_depth: float | Literal["", "Autocalculate"] | None
    """[m] (in); Default: Autocalculate"""
    coating_layer_thickness: float | None
    """[m] (in); Range: >= 0.0"""
    coating_layer_water_vapor_diffusion_resistance_factor: float | None
    """The coating's resistance to water vapor diffusion relative to the resistance to water vapor diffusion in stagnant air...; [dimensionless]; Range: >= 0.0"""

class MaterialPropertyPhaseChange(IDFObject):
    """Additional properties for temperature dependent thermal conductivity and enthalpy for Phase Change Materials (PCM) Na..."""

    temperature_coefficient_for_thermal_conductivity: float | None
    """The base temperature is 20C. This is the thermal conductivity change per degree excursion from 20C. This variable con...; [W/m-K2]; Default: 0.0"""
    temperature: float | None
    """Since: 24.2.0"""
    enthalpy: float | None
    """Since: 24.2.0"""

class MaterialPropertyPhaseChangeHysteresis(IDFObject):
    """Additional properties for temperature dependent thermal conductivity and enthalpy for Phase Change Materials (PCM) wi..."""

    latent_heat_during_the_entire_phase_change_process: float | None
    """The total latent heat absorbed or rejected during the transition from solid to liquid, or back; [J/kg]; Range: > 0.0"""
    liquid_state_thermal_conductivity: float | None
    """The thermal conductivity used by this material when the material is fully liquid; [W/m-K]; Range: > 0.0"""
    liquid_state_density: float | None
    """The density used by this material when the material is fully liquid; [kg/m3]; Range: > 0.0"""
    liquid_state_specific_heat: float | None
    """The constant specific heat used for the fully melted (liquid) state; [J/kg-K]; Range: > 0.0"""
    high_temperature_difference_of_melting_curve: float | None
    """The total melting range of the material is the sum of low and high temperature difference of melting curve.; [deltaC]; Range: > 0.0"""
    peak_melting_temperature: float | None
    """The temperature at which the melting curve peaks; [C]; Range: > 0.0"""
    low_temperature_difference_of_melting_curve: float | None
    """The total melting range of the material is the sum of low and high temperature difference of melting curve.; [deltaC]; Range: > 0.0"""
    solid_state_thermal_conductivity: float | None
    """The thermal conductivity used by this material when the material is fully solid; [W/m-K]; Range: > 0.0"""
    solid_state_density: float | None
    """The density used by this material when the material is fully solid; [kg/m3]; Range: > 0.0"""
    solid_state_specific_heat: float | None
    """The constant specific heat used for the fully frozen (crystallized) state; [J/kg-K]; Range: > 0.0"""
    high_temperature_difference_of_freezing_curve: float | None
    """The total freezing range of the material is the sum of low and high temperature difference of freezing curve.; [deltaC]; Range: > 0.0"""
    peak_freezing_temperature: float | None
    """The temperature at which the freezing curve peaks; [C]; Range: > 0.0"""
    low_temperature_difference_of_freezing_curve: float | None
    """The total freezing range of the material is the sum of low and high temperature difference of freezing curve.; [deltaC]; Range: > 0.0"""

class MaterialPropertyVariableThermalConductivity(IDFObject):
    """Additional properties for temperature dependent thermal conductivity using piecewise linear temperature-conductivity ..."""

    temperature: float | None
    """Since: 24.2.0"""
    thermal_conductivity: float | None
    """Since: 24.2.0"""

class MaterialPropertyVariableAbsorptance(IDFObject):
    """Since: 23.1.0"""

    reference_material_name: str | None
    """Regular Material Name to which the additional properties will be added. this the material name for the basic material..."""
    control_signal: (
        Literal["", "Scheduled", "SpaceHeatingCoolingMode", "SurfaceReceivedSolarRadiation", "SurfaceTemperature"]
        | None
    )
    """the variable that drives the change in thermal/solar absorptance; Default: SurfaceTemperature"""
    thermal_absorptance_function_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the control signal value and the surface thermal a..."""
    thermal_absorptance_schedule_name: str | None
    """only used when Control Signal = 'Scheduled'"""
    solar_absorptance_function_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the control signal value and the surface solar abs..."""
    solar_absorptance_schedule_name: str | None
    """only used when Control Signal = 'Scheduled'"""

class MaterialPropertyHeatAndMoistureTransferSettings(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Additional material properties f..."""

    porosity: float | None
    """[m3/m3]; Range: >= 0.0, <= 1.0"""
    initial_water_content_ratio: float | None
    """units are the water/material density ratio at the beginning of each run period.; [kg/kg]; Default: 0.2; Range: >= 0.0"""

class MaterialPropertyHeatAndMoistureTransferSorptionIsotherm(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Relationship between moisture co..."""

    number_of_isotherm_coordinates: int | None
    """Number of data Coordinates; Range: >= 1, <= 25"""
    relative_humidity_fraction_1: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_1: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_2: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_2: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_3: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_3: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_4: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_4: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_5: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_5: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_6: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_6: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_7: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_7: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_8: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_8: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_9: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_9: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_10: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_10: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_11: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_11: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_12: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_12: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_13: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_13: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_14: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_14: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_15: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_15: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_16: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_16: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_17: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_17: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_18: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_18: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_19: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_19: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_20: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_20: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_21: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_21: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_22: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_22: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_23: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_23: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_24: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_24: float | None
    """[kg/m3]; Range: >= 0.0"""
    relative_humidity_fraction_25: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    moisture_content_25: float | None
    """[kg/m3]; Range: >= 0.0"""

class MaterialPropertyHeatAndMoistureTransferSuction(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Relationship between liquid suct..."""

    number_of_suction_points: int | None
    """Number of Suction Liquid Transport Coefficient coordinates; Range: >= 1, <= 25"""
    moisture_content_1: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_1: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_2: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_2: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_3: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_3: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_4: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_4: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_5: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_5: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_6: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_6: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_7: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_7: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_8: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_8: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_9: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_9: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_10: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_10: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_11: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_11: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_12: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_12: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_13: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_13: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_14: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_14: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_15: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_15: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_16: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_16: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_17: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_17: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_18: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_18: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_19: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_19: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_20: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_20: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_21: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_21: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_22: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_22: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_23: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_23: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_24: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_24: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_25: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_25: float | None
    """[m2/s]; Range: >= 0.0"""

class MaterialPropertyHeatAndMoistureTransferRedistribution(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Relationship between liquid tran..."""

    number_of_redistribution_points: int | None
    """number of data points; Range: >= 1, <= 25"""
    moisture_content_1: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_1: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_2: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_2: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_3: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_3: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_4: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_4: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_5: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_5: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_6: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_6: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_7: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_7: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_8: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_8: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_9: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_9: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_10: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_10: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_11: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_11: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_12: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_12: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_13: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_13: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_14: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_14: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_15: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_15: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_16: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_16: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_17: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_17: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_18: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_18: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_19: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_19: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_20: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_20: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_21: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_21: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_22: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_22: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_23: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_23: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_24: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_24: float | None
    """[m2/s]; Range: >= 0.0"""
    moisture_content_25: float | None
    """[kg/m3]; Range: >= 0.0"""
    liquid_transport_coefficient_25: float | None
    """[m2/s]; Range: >= 0.0"""

class MaterialPropertyHeatAndMoistureTransferDiffusion(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Relationship between water vapor..."""

    number_of_data_pairs: int | None
    """Water Vapor Diffusion Resistance Factor; Range: >= 1, <= 25"""
    relative_humidity_fraction_1: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_1: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_2: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_2: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_3: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_3: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_4: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_4: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_5: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_5: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_6: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_6: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_7: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_7: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_8: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_8: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_9: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_9: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_10: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_10: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_11: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_11: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_12: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_12: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_13: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_13: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_14: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_14: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_15: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_15: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_16: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_16: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_17: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_17: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_18: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_18: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_19: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_19: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_20: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_20: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_21: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_21: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_22: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_22: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_23: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_23: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_24: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_24: float | None
    """[dimensionless]; Range: >= 0.0"""
    relative_humidity_fraction_25: float | None
    """The relative humidity is entered as a fraction.; [dimensionless]; Range: >= 0.0, <= 1.0"""
    water_vapor_diffusion_resistance_factor_25: float | None
    """[dimensionless]; Range: >= 0.0"""

class MaterialPropertyHeatAndMoistureTransferThermalConductivity(IDFObject):
    """HeatBalanceAlgorithm = CombinedHeatAndMoistureFiniteElement solution algorithm only. Relationship between thermal con..."""

    number_of_thermal_coordinates: int | None
    """number of data coordinates; Range: >= 1, <= 25"""
    moisture_content_1: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_1: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_2: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_2: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_3: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_3: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_4: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_4: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_5: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_5: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_6: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_6: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_7: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_7: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_8: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_8: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_9: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_9: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_10: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_10: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_11: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_11: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_12: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_12: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_13: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_13: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_14: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_14: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_15: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_15: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_16: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_16: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_17: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_17: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_18: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_18: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_19: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_19: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_20: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_20: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_21: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_21: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_22: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_22: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_23: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_23: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_24: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_24: float | None
    """[W/m-K]; Range: > 0.0"""
    moisture_content_25: float | None
    """[kg/m3]; Range: >= 0.0"""
    thermal_conductivity_25: float | None
    """[W/m-K]; Range: > 0.0"""

class MaterialPropertyGlazingSpectralData(IDFObject):
    """Name is followed by up to 800 sets of normal-incidence measured values of [wavelength, transmittance, front reflectan..."""

    wavelength_1: float | None
    """[micron]"""
    transmittance_1: float | None
    front_reflectance_1: float | None
    back_reflectance_1: float | None
    wavelength_2: float | None
    """[micron]"""
    transmittance_2: float | None
    front_reflectance_2: float | None
    back_reflectance_2: float | None
    wavelength_3: float | None
    """[micron]"""
    transmittance_3: float | None
    front_reflectance_3: float | None
    back_reflectance_3: float | None
    wavelength_4: float | None
    """[micron]"""
    transmittance_4: float | None
    front_reflectance_4: float | None
    back_reflectance_4: float | None
    wavelength: float | None
    transmittance: float | None
    front_reflectance: float | None
    back_reflectance: float | None

class Construction(IDFObject):
    """Start with outside layer and work your way to the inside layer Up to 10 layers total, 8 for windows Enter the materia..."""

    outside_layer: str | None
    layer_2: str | None
    layer_3: str | None
    layer_4: str | None
    layer_5: str | None
    layer_6: str | None
    layer_7: str | None
    layer_8: str | None
    layer_9: str | None
    layer_10: str | None

class ConstructionCfactorUndergroundWall(IDFObject):
    """Alternate method of describing underground wall constructions"""

    c_factor: float | None
    """Enter C-Factor without film coefficients or soil; [W/m2-K]; Range: > 0.0"""
    height: float | None
    """Enter height of the underground wall; [m]; Range: > 0.0"""

class ConstructionFfactorGroundFloor(IDFObject):
    """Alternate method of describing slab-on-grade or underground floor constructions"""

    f_factor: float | None
    """[W/m-K] (Btu/h-ft-F); Range: > 0.0"""
    area: float | None
    """Enter area of the floor; [m2]; Range: > 0.0"""
    perimeterexposed: float | None
    """Enter exposed perimeter of the floor; [m]; Range: >= 0.0"""

class ConstructionPropertyInternalHeatSource(IDFObject):
    """Internal heat source to be attached to a construction layer; Since: 9.5.0"""

    construction_name: str | None
    thermal_source_present_after_layer_number: int | None
    """refers to the list of materials which follows; Range: >= 1"""
    temperature_calculation_requested_after_layer_number: int | None
    """refers to the list of materials which follows"""
    dimensions_for_the_ctf_calculation: int | None
    """1 = 1-dimensional calculation, 2 = 2-dimensional calculation; Range: >= 1, <= 2"""
    tube_spacing: float | None
    """uniform spacing between tubes or resistance wires in direction perpendicular to main intended direction of heat transfer; [m]; Range: >= 0.01, <= 1.0"""
    two_dimensional_temperature_calculation_position: float | None
    """used in conjunction with field Temperature Calculation Requested After Layer Number this field is the location perpen...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""

class ConstructionAirBoundary(IDFObject):
    """Indicates an open boundary between two zones. It may be used for base surfaces and fenestration surfaces. The two adj...; Since: 9.2.0"""

    air_exchange_method: Literal["", "None", "SimpleMixing"] | None
    """This field controls how air exchange is modeled across this boundary.; Default: None"""
    simple_mixing_air_changes_per_hour: float | None
    """If the Air Exchange Method is SimpleMixing then this field specifies the air changes per hour using the volume of the...; [1/hr]; Default: 0.5; Range: >= 0.0"""
    simple_mixing_schedule_name: str | None
    """If the Air Exchange Method is SimpleMixing then this field specifies the air exchange schedule. If this field is blan..."""

class WindowThermalModelParams(IDFObject):
    """object is used to select which thermal model should be used in tarcog simulations"""

    standard: Literal["", "EN673Declared", "EN673Design", "ISO15099"] | None
    """Default: ISO15099"""
    thermal_model: (
        Literal[
            "",
            "ConvectiveScalarModel_NoSDThickness",
            "ConvectiveScalarModel_withSDThickness",
            "ISO15099",
            "ScaledCavityWidth",
        ]
        | None
    )
    """Default: ISO15099"""
    sdscalar: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    deflection_model: Literal["", "MeasuredDeflection", "NoDeflection", "TemperatureAndPressureInput"] | None
    """Default: NoDeflection"""
    vacuum_pressure_limit: float | None
    """[Pa]; Default: 13.238; Range: > 0.0"""
    initial_temperature: float | None
    """This is temperature in time of window fabrication; [C]; Default: 25.0; Range: > 0.0"""
    initial_pressure: float | None
    """This is pressure in time of window fabrication; [Pa]; Default: 101325.0; Range: > 0.0"""

class WindowsCalculationEngine(IDFObject):
    """Describes which window model will be used in calculations. Built in windows model will use algorithms that are part o...; Since: 9.0.1"""

class ConstructionComplexFenestrationState(IDFObject):
    """Describes one state for a complex glazing system These input objects are typically generated by using WINDOW software..."""

    basis_type: Literal["", "LBNLWINDOW", "UserDefined"] | None
    """Default: LBNLWINDOW"""
    basis_symmetry_type: Literal["", "Axisymmetric", "None"] | None
    """Default: None"""
    window_thermal_model: str | None
    basis_matrix_name: str | None
    solar_optical_complex_front_transmittance_matrix_name: str | None
    solar_optical_complex_back_reflectance_matrix_name: str | None
    visible_optical_complex_front_transmittance_matrix_name: str | None
    visible_optical_complex_back_transmittance_matrix_name: str | None
    outside_layer_name: str | None
    outside_layer_directional_front_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    outside_layer_directional_back_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    gap_1_name: str | None
    cfs_gap_1_directional_front_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    cfs_gap_1_directional_back_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    layer_2_name: str | None
    layer_2_directional_front_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    layer_2_directional_back_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    gap_2_name: str | None
    gap_2_directional_front_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    gap_2_directional_back_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    layer_3_name: str | None
    """Since: 9.6.0"""
    layer_3_directional_front_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    layer_3_directional_back_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    gap_3_name: str | None
    gap_3_directional_front_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    gap_3_directional_back_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    layer_4_name: str | None
    layer_4_directional_front_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    layer_4_directional_back_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    gap_4_name: str | None
    gap_4_directional_front_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    gap_4_directional_back_absorptance_matrix_name: str | None
    """Reserved for future use. Leave it blank for this version; Since: 23.2.0"""
    layer_5_name: str | None
    layer_5_directional_front_absorptance_matrix_name: str | None
    """Since: 23.2.0"""
    layer_5_directional_back_absorptance_matrix_name: str | None
    """Since: 23.2.0"""

class ConstructionWindowEquivalentLayer(IDFObject):
    """Start with outside layer and work your way to the inside Layer Up to 11 layers total. Up to six solid layers and up t..."""

    outside_layer: str | None
    layer_2: str | None
    layer_3: str | None
    layer_4: str | None
    layer_5: str | None
    layer_6: str | None
    layer_7: str | None
    layer_8: str | None
    layer_9: str | None
    layer_10: str | None
    layer_11: str | None

class ConstructionWindowDataFile(IDFObject):
    """Initiates search of the Window data file for a window called Name."""

    file_name: str | None
    """default file name is 'Window5DataFile.dat' limit on this field is 100 characters."""

class GlobalGeometryRules(IDFObject):
    """Specifies the geometric rules used to describe the input of surface vertices and daylighting reference points."""

    vertex_entry_direction: Literal["Clockwise", "Counterclockwise"] | None
    coordinate_system: Literal["Relative", "World"] | None
    """Relative -- coordinates are entered relative to zone origin World -- all coordinates entered are 'absolute' for this ..."""
    daylighting_reference_point_coordinate_system: Literal["", "Relative", "World"] | None
    """Relative -- coordinates are entered relative to zone origin World -- all coordinates entered are 'absolute' for this ...; Default: Relative"""
    rectangular_surface_coordinate_system: Literal["", "Relative", "World"] | None
    """Relative -- Starting corner is entered relative to zone origin World -- Starting corner is entered in 'absolute'; Default: Relative"""

class GeometryTransform(IDFObject):
    """Provides a simple method of altering the footprint geometry of a model. The intent is to provide a single parameter t..."""

    current_aspect_ratio: float | None
    """Aspect ratio of building as described in idf; Range: > 0.0"""
    new_aspect_ratio: float | None
    """Aspect ratio to transform to during run; Range: > 0.0"""

class Space(IDFObject):
    """Defines a space (room) in the building. All Spaces are part of a Zone. Every Zone contains one or more spaces. Space ...; Since: 9.6.0"""

    zone_name: str | None
    ceiling_height: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the average height of the space is automatically calculated and...; [m]; Default: Autocalculate; Since: 22.2.0"""
    volume: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the volume of the space is automatically calculated and used in...; [m3]; Default: Autocalculate; Since: 22.2.0"""
    floor_area: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the floor area of the space is automatically calculated and use...; [m2]; Default: Autocalculate"""
    space_type: str | None
    """Space type is used to tag spaces by activity type, such as office, classroom, storage, etc.; Default: General"""
    tag: str | None

class SpaceList(IDFObject):
    """Defines a list of Spaces which can be referenced as a group. The SpaceList name may be used elsewhere in the input to...; Since: 9.6.0"""

    space_name: str | None

class Zone(IDFObject):
    """Defines a thermal zone of the building. Every zone contains one or more Spaces. Space is an optional input. If a Zone..."""

    direction_of_relative_north: float | None
    """[deg]; Default: 0.0"""
    x_origin: float | None
    """[m]; Default: 0.0"""
    y_origin: float | None
    """[m]; Default: 0.0"""
    z_origin: float | None
    """[m]; Default: 0.0"""
    type: int | None
    """Default: 1; Range: >= 1, <= 1"""
    multiplier: int | None
    """Default: 1; Range: >= 1"""
    ceiling_height: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the average height of the zone is automatically calculated and ...; [m]; Default: Autocalculate"""
    volume: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the volume of the zone is automatically calculated and used in ...; [m3]; Default: Autocalculate"""
    floor_area: float | Literal["", "Autocalculate"] | None
    """If this field is 0.0, negative or autocalculate, then the floor area of the zone is automatically calculated and used...; [m2]; Default: Autocalculate"""
    zone_inside_convection_algorithm: (
        Literal["", "ASTMC1340", "AdaptiveConvectionAlgorithm", "CeilingDiffuser", "Simple", "TARP", "TrombeWall"]
        | None
    )
    """Will default to same value as SurfaceConvectionAlgorithm:Inside object setting this field overrides the default Surfa..."""
    zone_outside_convection_algorithm: (
        Literal["", "AdaptiveConvectionAlgorithm", "DOE-2", "MoWiTT", "SimpleCombined", "TARP"] | None
    )
    """Will default to same value as SurfaceConvectionAlgorithm:Outside object setting this field overrides the default Surf..."""
    part_of_total_floor_area: Literal["", "No", "Yes"] | None
    """Default: Yes"""

class ZoneList(IDFObject):
    """Defines a list of thermal zones which can be referenced as a group. The ZoneList name may be used elsewhere in the in..."""

    zone_name: str | None

class ZoneGroup(IDFObject):
    """Adds a multiplier to a ZoneList. This can be used to reduce the amount of input necessary for simulating repetitive s..."""

    zone_list_name: str | None
    zone_list_multiplier: int | None
    """Default: 1; Range: >= 1"""

class BuildingSurfaceDetailed(IDFObject):
    """Allows for detailed entry of building heat transfer surfaces. Does not include subsurfaces such as windows or doors."""

    surface_type: Literal["Ceiling", "Floor", "Roof", "Wall"] | None
    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition: (
        Literal[
            "Adiabatic",
            "Foundation",
            "Ground",
            "GroundBasementPreprocessorAverageFloor",
            "GroundBasementPreprocessorAverageWall",
            "GroundBasementPreprocessorLowerWall",
            "GroundBasementPreprocessorUpperWall",
            "GroundFCfactorMethod",
            "GroundSlabPreprocessorAverage",
            "GroundSlabPreprocessorCore",
            "GroundSlabPreprocessorPerimeter",
            "OtherSideCoefficients",
            "OtherSideConditionsModel",
            "Outdoors",
            "Space",
            "Surface",
            "Zone",
        ]
        | None
    )
    outside_boundary_condition_object: str | None
    """Non-blank only if the field Outside Boundary Condition is Surface, Zone, Space, OtherSideCoefficients or OtherSideCon..."""
    sun_exposure: Literal["", "NoSun", "SunExposed"] | None
    """Default: SunExposed"""
    wind_exposure: Literal["", "NoWind", "WindExposed"] | None
    """Default: WindExposed"""
    view_factor_to_ground: float | Literal["", "Autocalculate"] | None
    """From the exterior of the surface Unused if one uses the 'reflections' options in Solar Distribution in Building input...; Default: Autocalculate"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 120 vertex coordinates -- extensible object 'extensible' -- duplicate last set of x,y,z coordinates (last ...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class WallDetailed(IDFObject):
    """Allows for detailed entry of wall heat transfer surfaces."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition: (
        Literal[
            "Adiabatic",
            "Foundation",
            "Ground",
            "GroundBasementPreprocessorAverageFloor",
            "GroundBasementPreprocessorAverageWall",
            "GroundBasementPreprocessorLowerWall",
            "GroundBasementPreprocessorUpperWall",
            "GroundFCfactorMethod",
            "GroundSlabPreprocessorAverage",
            "GroundSlabPreprocessorCore",
            "GroundSlabPreprocessorPerimeter",
            "OtherSideCoefficients",
            "OtherSideConditionsModel",
            "Outdoors",
            "Space",
            "Surface",
            "Zone",
        ]
        | None
    )
    outside_boundary_condition_object: str | None
    """Non-blank only if the field Outside Boundary Condition is Surface, Zone, Space, OtherSideCoefficients or OtherSideCon..."""
    sun_exposure: Literal["", "NoSun", "SunExposed"] | None
    """Default: SunExposed"""
    wind_exposure: Literal["", "NoWind", "WindExposed"] | None
    """Default: WindExposed"""
    view_factor_to_ground: float | Literal["", "Autocalculate"] | None
    """From the exterior of the surface Unused if one uses the 'reflections' options in Solar Distribution in Building input...; Default: Autocalculate"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 10 vertex coordinates -- extensible object 'extensible' -- duplicate last set of x,y,z coordinates, renumb...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class RoofCeilingDetailed(IDFObject):
    """Allows for detailed entry of roof/ceiling heat transfer surfaces."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition: (
        Literal[
            "Adiabatic",
            "Ground",
            "GroundBasementPreprocessorAverageFloor",
            "GroundBasementPreprocessorAverageWall",
            "GroundBasementPreprocessorLowerWall",
            "GroundBasementPreprocessorUpperWall",
            "GroundSlabPreprocessorAverage",
            "GroundSlabPreprocessorCore",
            "GroundSlabPreprocessorPerimeter",
            "OtherSideCoefficients",
            "OtherSideConditionsModel",
            "Outdoors",
            "Space",
            "Surface",
            "Zone",
        ]
        | None
    )
    outside_boundary_condition_object: str | None
    """Non-blank only if the field Outside Boundary Condition is Surface, Zone, Space, OtherSideCoefficients or OtherSideCon..."""
    sun_exposure: Literal["", "NoSun", "SunExposed"] | None
    """Default: SunExposed"""
    wind_exposure: Literal["", "NoWind", "WindExposed"] | None
    """Default: WindExposed"""
    view_factor_to_ground: float | Literal["", "Autocalculate"] | None
    """From the exterior of the surface Unused if one uses the 'reflections' options in Solar Distribution in Building input...; Default: Autocalculate"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 10 vertex coordinates -- extensible object 'extensible' -- duplicate last set of x,y,z coordinates, renumb...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class FloorDetailed(IDFObject):
    """Allows for detailed entry of floor heat transfer surfaces."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition: (
        Literal[
            "Adiabatic",
            "Foundation",
            "Ground",
            "GroundBasementPreprocessorAverageFloor",
            "GroundBasementPreprocessorAverageWall",
            "GroundBasementPreprocessorLowerWall",
            "GroundBasementPreprocessorUpperWall",
            "GroundFCfactorMethod",
            "GroundSlabPreprocessorAverage",
            "GroundSlabPreprocessorCore",
            "GroundSlabPreprocessorPerimeter",
            "OtherSideCoefficients",
            "OtherSideConditionsModel",
            "Outdoors",
            "Space",
            "Surface",
            "Zone",
        ]
        | None
    )
    outside_boundary_condition_object: str | None
    """Non-blank only if the field Outside Boundary Condition is Surface, Zone, Space, OtherSideCoefficients or OtherSideCon..."""
    sun_exposure: Literal["", "NoSun", "SunExposed"] | None
    """Default: SunExposed"""
    wind_exposure: Literal["", "NoWind", "WindExposed"] | None
    """Default: WindExposed"""
    view_factor_to_ground: float | Literal["", "Autocalculate"] | None
    """From the exterior of the surface Unused if one uses the 'reflections' options in Solar Distribution in Building input...; Default: Autocalculate"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 10 vertex coordinates -- extensible object 'extensible' -- duplicate last set of x,y,z coordinates, renumb...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class WallExterior(IDFObject):
    """Allows for simplified entry of exterior walls. View Factor to Ground is automatically calculated."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """Facing direction of outside of wall (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Walls are usually tilted 90 degrees; [deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting (x,y,z) coordinate is the Lower Left Corner of the Wall; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class WallAdiabatic(IDFObject):
    """Allows for simplified entry of interior walls."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """Facing direction of outside of wall (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Walls are usually tilted 90 degrees; [deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting (x,y,z) coordinate is the Lower Left Corner of the Wall; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class WallUnderground(IDFObject):
    """Allows for simplified entry of underground walls."""

    construction_name: str | None
    """To be matched with a construction in this input file. If the construction is type 'Construction:CfactorUndergroundWal..."""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """Facing direction of outside of wall (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Walls are usually tilted 90 degrees; [deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting (x,y,z) coordinate is the Lower Left Corner of the Wall; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class WallInterzone(IDFObject):
    """Allows for simplified entry of interzone walls (walls between zones)."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone for the inside face of the surface."""
    space_name: str | None
    """Space for the inside face of the surface (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior walls. Specify a zone name of an adjacent zone to autom..."""
    azimuth_angle: float | None
    """Facing direction of outside of wall (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Walls are usually tilted 90 degrees; [deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting (x,y,z) coordinate is the Lower Left Corner of the Wall; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class Roof(IDFObject):
    """Allows for simplified entry of roofs (exterior). View Factor to Ground is automatically calculated."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """Facing direction of outside of Roof; [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Flat Roofs are tilted 0 degrees; [deg]; Default: 0.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """If not Flat, Starting coordinate is the Lower Left Corner of the Roof; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class CeilingAdiabatic(IDFObject):
    """Allows for simplified entry of interior ceilings."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """Facing direction of outside of Ceiling; [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Ceilings are usually tilted 0 degrees; [deg]; Default: 0.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """If not Flat, Starting coordinate is the Lower Left Corner of the Ceiling; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class CeilingInterzone(IDFObject):
    """Allows for simplified entry of ceilings using adjacent zone (interzone) heat transfer - adjacent surface should be a ..."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior floors Specify a zone name of an adjacent zone to autom..."""
    azimuth_angle: float | None
    """Facing direction of outside of wall (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Ceilings are usually tilted 0 degrees; [deg]; Default: 0.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """If not Flat, should be Lower Left Corner (from outside); [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class FloorGroundContact(IDFObject):
    """Allows for simplified entry of exterior floors with ground contact. View Factors to Ground is automatically calculated."""

    construction_name: str | None
    """To be matched with a construction in this input file If the construction is type 'Construction:FfactorGroundFloor', t..."""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """[deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Floors are usually tilted 180 degrees; [deg]; Default: 180.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """if not flat, should be lower left corner (from outside); [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class FloorAdiabatic(IDFObject):
    """Allows for simplified entry of exterior floors ignoring ground contact or interior floors. View Factor to Ground is a..."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone the surface is a part of."""
    space_name: str | None
    """Space the surface is a part of (optional, see description of Space object for more details).; Since: 9.6.0"""
    azimuth_angle: float | None
    """[deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Floors are usually tilted 180 degrees; [deg]; Default: 180.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """if not flat, should be lower left corner (from outside); [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class FloorInterzone(IDFObject):
    """Allows for simplified entry of floors using adjacent zone (interzone) heat transfer - adjacent surface should be a ce..."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_name: str | None
    """Zone for the inside face of the surface."""
    space_name: str | None
    """Space for the inside face of the surface (optional, see description of Space object for more details).; Since: 9.6.0"""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior ceilings. Specify a zone name of an adjacent zone to au..."""
    azimuth_angle: float | None
    """[deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """Floors are usually tilted 180 degrees; [deg]; Default: 180.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """If not Flat, should be Lower Left Corner (from outside); [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """Along X Axis; [m]"""
    width: float | None
    """Along Y Axis; [m]"""

class FenestrationSurfaceDetailed(IDFObject):
    """Allows for detailed entry of subsurfaces (windows, doors, glass doors, tubular daylighting devices)."""

    surface_type: Literal["Door", "GlassDoor", "TubularDaylightDiffuser", "TubularDaylightDome", "Window"] | None
    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    outside_boundary_condition_object: str | None
    """Non-blank only if base surface field Outside Boundary Condition is Surface or OtherSideCoefficients If Base Surface's..."""
    view_factor_to_ground: float | Literal["", "Autocalculate"] | None
    """From the exterior of the surface Unused if one uses the 'reflections' options in Solar Distribution in Building input...; Default: Autocalculate"""
    frame_and_divider_name: str | None
    """Enter the name of a WindowProperty:FrameAndDivider object Used only for exterior windows (rectangular) and glass door..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """vertices are given in GlobalGeometryRules coordinates -- if relative, all surface coordinates are 'relative' to the Z...; Default: Autocalculate"""
    vertex_1_x_coordinate: float | None
    """[m]"""
    vertex_1_y_coordinate: float | None
    """[m]"""
    vertex_1_z_coordinate: float | None
    """[m]"""
    vertex_2_x_coordinate: float | None
    """[m]"""
    vertex_2_y_coordinate: float | None
    """[m]"""
    vertex_2_z_coordinate: float | None
    """[m]"""
    vertex_3_x_coordinate: float | None
    """[m]"""
    vertex_3_y_coordinate: float | None
    """[m]"""
    vertex_3_z_coordinate: float | None
    """[m]"""
    vertex_4_x_coordinate: float | None
    """Not used for triangles; [m]"""
    vertex_4_y_coordinate: float | None
    """Not used for triangles; [m]"""
    vertex_4_z_coordinate: float | None
    """Not used for triangles; [m]"""

class Window(IDFObject):
    """Allows for simplified entry of Windows."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Window is on (i.e., Base Surface) Window assumes the azimuth and tilt angles of t..."""
    frame_and_divider_name: str | None
    """Enter the name of a WindowProperty:FrameAndDivider object Used only for exterior windows (rectangular) and glass door..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Window starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Window starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class Door(IDFObject):
    """Allows for simplified entry of opaque Doors."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Door is on (i.e., Base Surface) Door assumes the azimuth and tilt angles of the s..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Door starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Door starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class GlazedDoor(IDFObject):
    """Allows for simplified entry of glass Doors."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Door is on (i.e., Base Surface) Door assumes the azimuth and tilt angles of the s..."""
    frame_and_divider_name: str | None
    """Enter the name of a WindowProperty:FrameAndDivider object Used only for exterior windows (rectangular) and glass door..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Door starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Door starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class WindowInterzone(IDFObject):
    """Allows for simplified entry of interzone windows (adjacent to other zones)."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Window is on (i.e., Base Surface) Window assumes the azimuth and tilt angles of t..."""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior windows. Specify a zone name of an adjacent zone to aut..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Window starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Window starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class DoorInterzone(IDFObject):
    """Allows for simplified entry of interzone (opaque interior) doors (adjacent to other zones)."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Door is on (i.e., Base Surface) Door assumes the azimuth and tilt angles of the s..."""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior doors. Specify a zone name of an adjacent zone to autom..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Door starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Door starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class GlazedDoorInterzone(IDFObject):
    """Allows for simplified entry of interzone (glass interior) doors (adjacent to other zones)."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    building_surface_name: str | None
    """Name of Surface (Wall, usually) the Door is on (i.e., Base Surface) Door assumes the azimuth and tilt angles of the s..."""
    outside_boundary_condition_object: str | None
    """Specify a surface name in an adjacent zone for known interior doors. Specify a zone name of an adjacent zone to autom..."""
    multiplier: float | None
    """Used only for Surface Type = WINDOW, GLASSDOOR or DOOR Non-integer values will be truncated to integer; Default: 1.0; Range: >= 1.0"""
    starting_x_coordinate: float | None
    """Door starting coordinate is specified relative to the Base Surface origin.; [m]"""
    starting_z_coordinate: float | None
    """How far up the wall the Door starts. (in 2-d, this would be a Y Coordinate); [m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class WindowShadingControl(IDFObject):
    """Specifies the type, location, and controls for window shades, window blinds, and switchable glazing. Referencing the ...; Since: 9.0.1"""

    zone_name: str | None
    shading_control_sequence_number: int | None
    """If multiple WindowShadingControl objects are used than the order that they deploy the window shades can be set with t...; Default: 1; Range: >= 1"""
    shading_type: (
        Literal[
            "BetweenGlassBlind",
            "BetweenGlassShade",
            "ExteriorBlind",
            "ExteriorScreen",
            "ExteriorShade",
            "InteriorBlind",
            "InteriorShade",
            "SwitchableGlazing",
        ]
        | None
    )
    construction_with_shading_name: str | None
    """Required if Shading Type = SwitchableGlazing Required if Shading Type = interior or exterior shade or blind, or exter...; Since: 9.2.0"""
    shading_control_type: (
        Literal[
            "AlwaysOff",
            "AlwaysOn",
            "MeetDaylightIlluminanceSetpoint",
            "OffNightAndOnDayIfCoolingAndHighSolarOnWindow",
            "OnIfHighGlare",
            "OnIfHighHorizontalSolar",
            "OnIfHighOutdoorAirTempAndHighHorizontalSolar",
            "OnIfHighOutdoorAirTempAndHighSolarOnWindow",
            "OnIfHighOutdoorAirTemperature",
            "OnIfHighSolarOnWindow",
            "OnIfHighSolarOrHighLuminanceTillMidnight",
            "OnIfHighSolarOrHighLuminanceTillNextMorning",
            "OnIfHighSolarOrHighLuminanceTillSunset",
            "OnIfHighZoneAirTempAndHighHorizontalSolar",
            "OnIfHighZoneAirTempAndHighSolarOnWindow",
            "OnIfHighZoneAirTemperature",
            "OnIfHighZoneCooling",
            "OnIfScheduleAllows",
            "OnNightAndOnDayIfCoolingAndHighSolarOnWindow",
            "OnNightIfHeatingAndOffDay",
            "OnNightIfHeatingAndOnDayIfCooling",
            "OnNightIfLowInsideTempAndOffDay",
            "OnNightIfLowOutdoorTempAndOffDay",
            "OnNightIfLowOutdoorTempAndOnDayIfCooling",
        ]
        | None
    )
    """OnIfScheduleAllows requires that Schedule Name be specified and Shading Control Is Scheduled = Yes. AlwaysOn, AlwaysO..."""
    schedule_name: str | None
    """Required if Shading Control Is Scheduled = Yes. If schedule value = 1, shading control is active, i.e., shading can t..."""
    setpoint: float | None
    """W/m2 for solar-based controls, W for cooling- or heating-based controls, deg C for temperature-based controls. Unused...; [W/m2, W or deg C]"""
    shading_control_is_scheduled: Literal["", "No", "Yes"] | None
    """If Yes, Schedule Name is required; if No, Schedule Name is not used. Shading Control Is Scheduled = Yes is required i...; Default: No"""
    glare_control_is_active: Literal["", "No", "Yes"] | None
    """If Yes and window is in a daylit zone, shading is on if zone's discomfort glare index exceeds the maximum discomfort ...; Default: No"""
    shading_device_material_name: str | None
    """Enter the name of a WindowMaterial:Shade, WindowMaterial:Screen or WindowMaterial:Blind object. Required if 'Construc..."""
    type_of_slat_angle_control_for_blinds: Literal["", "BlockBeamSolar", "FixedSlatAngle", "ScheduledSlatAngle"] | None
    """Used only if Shading Type = InteriorBlind, ExteriorBlind or BetweenGlassBlind. If choice is ScheduledSlatAngle then S...; Default: FixedSlatAngle"""
    slat_angle_schedule_name: str | None
    """Used only if Shading Type = InteriorBlind, ExteriorBlind or BetweenGlassBlind. Required if Type of Slat Angle Control..."""
    setpoint_2: float | None
    """W/m2 for solar-based controls, deg C for temperature-based controls, cd/m2 for luminance based controls. Used only as...; [W/m2, deg C or cd/m2] (unknown)"""
    daylighting_control_object_name: str | None
    """Reference to the Daylighting:Controls object that provides the glare and illuminance control to the zone."""
    multiple_surface_control_type: Literal["", "Group", "Sequential"] | None
    """When Sequential is used the list of fenestration surfaces are controlled individually in the order specified When Gro...; Default: Sequential"""
    fenestration_surface_name: str | None

class WindowPropertyFrameAndDivider(IDFObject):
    """Specifies the dimensions of a window frame, dividers, and inside reveal surfaces. Referenced by the surface objects f..."""

    frame_width: float | None
    """Width of frame in plane of window Frame width assumed the same on all sides of window; [m]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    frame_outside_projection: float | None
    """Amount that frame projects outward from the outside face of the glazing; [m]; Default: 0.0; Range: >= 0.0, <= 0.5"""
    frame_inside_projection: float | None
    """Amount that frame projects inward from the inside face of the glazing; [m]; Default: 0.0; Range: >= 0.0, <= 0.5"""
    frame_conductance: float | None
    """Effective conductance of frame Excludes air films Obtained from WINDOW 5 or other 2-D calculation; [W/m2-K]; Range: >= 0.0"""
    ratio_of_frame_edge_glass_conductance_to_center_of_glass_conductance: float | None
    """Excludes air films; applies only to multipane windows Obtained from WINDOW 5 or other 2-D calculation; Default: 1.0; Range: > 0.0, <= 4.0"""
    frame_solar_absorptance: float | None
    """Assumed same on outside and inside of frame; Default: 0.7; Range: >= 0.0, <= 1.0"""
    frame_visible_absorptance: float | None
    """Assumed same on outside and inside of frame; Default: 0.7; Range: >= 0.0, <= 1.0"""
    frame_thermal_hemispherical_emissivity: float | None
    """Assumed same on outside and inside of frame; Default: 0.9; Range: > 0.0"""
    divider_type: Literal["", "DividedLite", "Suspended"] | None
    """Default: DividedLite"""
    divider_width: float | None
    """Width of dividers in plane of window Width assumed the same for all dividers; [m]; Default: 0.0; Range: >= 0.0, <= 0.5"""
    number_of_horizontal_dividers: float | None
    """'Horizontal' means parallel to local window X-axis; Default: 0.0; Range: >= 0.0"""
    number_of_vertical_dividers: float | None
    """'Vertical' means parallel to local window Y-axis; Default: 0.0; Range: >= 0.0"""
    divider_outside_projection: float | None
    """Amount that divider projects outward from the outside face of the glazing Outside projection assumed the same for all...; [m]; Default: 0.0; Range: >= 0.0, <= 0.5"""
    divider_inside_projection: float | None
    """Amount that divider projects inward from the inside face of the glazing Inside projection assumed the same for all di...; [m]; Default: 0.0; Range: >= 0.0, <= 0.5"""
    divider_conductance: float | None
    """Effective conductance of divider Excludes air films Obtained from WINDOW 5 or other 2-D calculation; [W/m2-K]; Default: 0.0; Range: >= 0.0"""
    ratio_of_divider_edge_glass_conductance_to_center_of_glass_conductance: float | None
    """Excludes air films Obtained from WINDOW 5 or other 2-D calculation; Default: 1.0; Range: > 0.0, <= 4.0"""
    divider_solar_absorptance: float | None
    """Assumed same on outside and inside of divider; Default: 0.0; Range: >= 0.0, <= 1.0"""
    divider_visible_absorptance: float | None
    """Assumed same on outside and inside of divider; Default: 0.0; Range: >= 0.0, <= 1.0"""
    divider_thermal_hemispherical_emissivity: float | None
    """Assumed same on outside and inside of divider; Default: 0.9; Range: > 0.0, < 1.0"""
    outside_reveal_solar_absorptance: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    inside_sill_depth: float | None
    """[m]; Default: 0.0; Range: >= 0.0, <= 2.0"""
    inside_sill_solar_absorptance: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    inside_reveal_depth: float | None
    """Distance from plane of inside surface of glazing to plane of inside surface of wall. Outside reveal depth is determin...; [m]; Default: 0.0; Range: >= 0.0, <= 2.0"""
    inside_reveal_solar_absorptance: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    nfrc_product_type_for_assembly_calculations: (
        Literal[
            "",
            "CasementDouble",
            "CasementSingle",
            "CurtainWall",
            "DoorSidelite",
            "DoorTransom",
            "DualAction",
            "Fixed",
            "Garage",
            "Greenhouse",
            "HingedEscape",
            "HorizontalSlider",
            "Jal",
            "Pivoted",
            "ProjectingDual",
            "ProjectingSingle",
            "SideHingedDoor",
            "Skylight",
            "SlidingPatioDoor",
            "SpandrelPanel",
            "TropicalAwning",
            "TubularDaylightingDevice",
            "VerticalSlider",
        ]
        | None
    )
    """Used when computing the assembly u-factor, SHGC and visible transmittance for reporting only; Default: CurtainWall; Since: 22.1.0"""

class WindowPropertyAirflowControl(IDFObject):
    """Used to control forced airflow through a gap between glass layers"""

    airflow_source: Literal["", "IndoorAir", "OutdoorAir"] | None
    """Default: IndoorAir"""
    airflow_destination: Literal["", "IndoorAir", "OutdoorAir", "ReturnAir"] | None
    """If ReturnAir is selected, the name of the Return Air Node may be specified below.; Default: OutdoorAir"""
    maximum_flow_rate: float | None
    """Above is m3/s per m of glazing width; [m3/s-m] (ft3/min-ft); Default: 0.0; Range: >= 0.0"""
    airflow_control_type: Literal["", "AlwaysOff", "AlwaysOnAtMaximumFlow", "ScheduledOnly"] | None
    """ScheduledOnly requires that Airflow Has Multiplier Schedule Name = Yes and that Airflow Multiplier Schedule Name is s...; Default: AlwaysOnAtMaximumFlow"""
    airflow_is_scheduled: Literal["", "No", "Yes"] | None
    """If Yes, then Airflow Multiplier Schedule Name must be specified; Default: No"""
    airflow_multiplier_schedule_name: str | None
    """Required if Airflow Is Scheduled = Yes. Schedule values are 0.0 or 1.0 and multiply Maximum Air Flow."""
    airflow_return_air_node_name: str | None
    """Name of the return air node for this airflow window if the Airflow Destination is ReturnAir. If left blank, defaults ..."""

class WindowPropertyStormWindow(IDFObject):
    """This is a movable exterior glass layer that is usually applied in the winter and removed in the summer."""

    storm_glass_layer_name: str | None
    """Must be a WindowMaterial:Glazing or WindowMaterial:Glazing:RefractionExtinctionMethod Gap between storm glass layer a..."""
    distance_between_storm_glass_layer_and_adjacent_glass: float | None
    """[m]; Default: 0.05; Range: > 0.0, <= 0.5"""
    month_that_storm_glass_layer_is_put_on: int | None
    """Range: >= 1, <= 12"""
    day_of_month_that_storm_glass_layer_is_put_on: int | None
    """Range: >= 1, <= 31"""
    month_that_storm_glass_layer_is_taken_off: int | None
    """Range: >= 1, <= 12"""
    day_of_month_that_storm_glass_layer_is_taken_off: int | None
    """Range: >= 1, <= 31"""

class InternalMass(IDFObject):
    """Used to describe internal zone surface area that does not need to be part of geometric representation. This should be..."""

    construction_name: str | None
    """To be matched with a construction in this input file"""
    zone_or_zonelist_name: str | None
    """Zone(s) the surface is a part of. This field is ignored when a Space or SpaceList Name is specified.; Since: 9.2.0"""
    space_or_spacelist_name: str | None
    """Space(s) the surface is a part of. This field is ignored when a ZoneList Name is specified for Zone or ZoneList Name....; Since: 9.6.0"""
    surface_area: float | None
    """[m2]; Range: > 0.0"""

class ShadingSite(IDFObject):
    """used for shading elements such as trees these items are fixed in space and would not move with relative geometry"""

    azimuth_angle: float | None
    """Facing direction of outside of shading device (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting coordinate is the Lower Left Corner of the Shade; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class ShadingBuilding(IDFObject):
    """used for shading elements such as trees, other buildings, parts of this building not being modeled these items are re..."""

    azimuth_angle: float | None
    """Facing direction of outside of shading device (S=180,N=0,E=90,W=270); [deg]; Range: >= 0.0, <= 360.0"""
    tilt_angle: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    starting_x_coordinate: float | None
    """Starting coordinate is the Lower Left Corner of the Shade; [m]"""
    starting_y_coordinate: float | None
    """[m]"""
    starting_z_coordinate: float | None
    """[m]"""
    length: float | None
    """[m]"""
    height: float | None
    """[m]"""

class ShadingSiteDetailed(IDFObject):
    """used for shading elements such as trees these items are fixed in space and would not move with relative geometry"""

    transmittance_schedule_name: str | None
    """Transmittance schedule for the shading device, defaults to zero (always opaque)"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 6 vertex coordinates -- extensible object Rules for vertices are given in GlobalGeometryRules coordinates ...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class ShadingBuildingDetailed(IDFObject):
    """used for shading elements such as trees, other buildings, parts of this building not being modeled these items are re..."""

    transmittance_schedule_name: str | None
    """Transmittance schedule for the shading device, defaults to zero (always opaque)"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 6 vertex coordinates -- extensible object Rules for vertices are given in GlobalGeometryRules coordinates ...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class ShadingOverhang(IDFObject):
    """Overhangs are usually flat shading surfaces that reference a window or door."""

    window_or_door_name: str | None
    height_above_window_or_door: float | None
    """[m]"""
    tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    left_extension_from_window_door_width: float | None
    """[m]"""
    right_extension_from_window_door_width: float | None
    """N3 + N4 + Window/Door Width is Overhang Length; [m]"""
    depth: float | None
    """[m]; Range: >= 0.0"""

class ShadingOverhangProjection(IDFObject):
    """Overhangs are typically flat shading surfaces that reference a window or door."""

    window_or_door_name: str | None
    height_above_window_or_door: float | None
    """[m]"""
    tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    left_extension_from_window_door_width: float | None
    """[m]"""
    right_extension_from_window_door_width: float | None
    """N3 + N4 + Window/Door Width is Overhang Length; [m]"""
    depth_as_fraction_of_window_door_height: float | None
    """[dimensionless]; Range: >= 0.0"""

class ShadingFin(IDFObject):
    """Fins are usually shading surfaces that are perpendicular to a window or door."""

    window_or_door_name: str | None
    left_extension_from_window_door: float | None
    """[m]"""
    left_distance_above_top_of_window: float | None
    """[m]"""
    left_distance_below_bottom_of_window: float | None
    """N2 + N3 + height of Window/Door is height of Fin; [m]"""
    left_tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    left_depth: float | None
    """[m]; Range: >= 0.0"""
    right_extension_from_window_door: float | None
    """[m]"""
    right_distance_above_top_of_window: float | None
    """[m]"""
    right_distance_below_bottom_of_window: float | None
    """N7 + N8 + height of Window/Door is height of Fin; [m]"""
    right_tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    right_depth: float | None
    """[m]; Range: >= 0.0"""

class ShadingFinProjection(IDFObject):
    """Fins are usually shading surfaces that are perpendicular to a window or door."""

    window_or_door_name: str | None
    left_extension_from_window_door: float | None
    """[m]"""
    left_distance_above_top_of_window: float | None
    """[m]"""
    left_distance_below_bottom_of_window: float | None
    """N2 + N3 + height of Window/Door is height of Fin; [m]"""
    left_tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    left_depth_as_fraction_of_window_door_width: float | None
    """[dimensionless]; Range: >= 0.0"""
    right_extension_from_window_door: float | None
    """[m]"""
    right_distance_above_top_of_window: float | None
    """[m]"""
    right_distance_below_bottom_of_window: float | None
    """N7 + N8 + height of Window/Door is height of Fin; [m]"""
    right_tilt_angle_from_window_door: float | None
    """[deg]; Default: 90.0; Range: >= 0.0, <= 180.0"""
    right_depth_as_fraction_of_window_door_width: float | None
    """[dimensionless]; Range: >= 0.0"""

class ShadingZoneDetailed(IDFObject):
    """used For fins, overhangs, elements that shade the building, are attached to the building but are not part of the heat..."""

    base_surface_name: str | None
    transmittance_schedule_name: str | None
    """Transmittance schedule for the shading device, defaults to zero (always opaque)"""
    number_of_vertices: float | Literal["", "Autocalculate"] | None
    """shown with 6 vertex coordinates -- extensible object vertices are given in GlobalGeometryRules coordinates -- if rela...; Default: Autocalculate"""
    vertex_x_coordinate: float | None
    vertex_y_coordinate: float | None
    vertex_z_coordinate: float | None

class ShadingPropertyReflectance(IDFObject):
    """If this object is not defined for a shading surface the default values listed in following fields will be used in the..."""

    diffuse_solar_reflectance_of_unglazed_part_of_shading_surface: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    diffuse_visible_reflectance_of_unglazed_part_of_shading_surface: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    fraction_of_shading_surface_that_is_glazed: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    glazing_construction_name: str | None
    """Required if Fraction of Shading Surface That Is Glazed > 0.0"""

class SurfacePropertyHeatTransferAlgorithm(IDFObject):
    """Determines which Heat Balance Algorithm will be used for a specific surface Allows selectively overriding the global ..."""

    algorithm: (
        Literal[
            "",
            "CombinedHeatAndMoistureFiniteElement",
            "ConductionFiniteDifference",
            "ConductionTransferFunction",
            "MoisturePenetrationDepthConductionTransferFunction",
        ]
        | None
    )
    """Default: ConductionTransferFunction"""

class SurfacePropertyHeatTransferAlgorithmMultipleSurface(IDFObject):
    """Determines which Heat Balance Algorithm will be used for a group of surface types Allows selectively overriding the g..."""

    surface_type: (
        Literal[
            "AllExteriorFloors",
            "AllExteriorRoofs",
            "AllExteriorSurfaces",
            "AllExteriorWalls",
            "AllGroundContactSurfaces",
            "AllInteriorCeilings",
            "AllInteriorFloors",
            "AllInteriorSurfaces",
            "AllInteriorWalls",
        ]
        | None
    )
    algorithm: (
        Literal[
            "",
            "CombinedHeatAndMoistureFiniteElement",
            "ConductionFiniteDifference",
            "ConductionTransferFunction",
            "MoisturePenetrationDepthConductionTransferFunction",
        ]
        | None
    )
    """Default: ConductionTransferFunction"""

class SurfacePropertyHeatTransferAlgorithmSurfaceList(IDFObject):
    """Determines which Heat Balance Algorithm will be used for a list of surfaces Allows selectively overriding the global ..."""

    algorithm: (
        Literal[
            "",
            "CombinedHeatAndMoistureFiniteElement",
            "ConductionFiniteDifference",
            "ConductionTransferFunction",
            "MoisturePenetrationDepthConductionTransferFunction",
        ]
        | None
    )
    """Default: ConductionTransferFunction"""
    surface_name: str | None

class SurfacePropertyHeatTransferAlgorithmConstruction(IDFObject):
    """Determines which Heat Balance Algorithm will be used for surfaces that have a specific type of construction Allows se..."""

    algorithm: (
        Literal[
            "",
            "CombinedHeatAndMoistureFiniteElement",
            "ConductionFiniteDifference",
            "ConductionTransferFunction",
            "MoisturePenetrationDepthConductionTransferFunction",
        ]
        | None
    )
    """Default: ConductionTransferFunction"""
    construction_name: str | None

class SurfacePropertyHeatBalanceSourceTerm(IDFObject):
    """Allows an additional heat source term to be added to the inside or outside surface boundary. A heat source can be add..."""

    inside_face_heat_source_term_schedule_name: str | None
    """The value of this schedule is the source term value for the inside face of this surface If this field is left blank, ..."""
    outside_face_heat_source_term_schedule_name: str | None
    """The value of this schedule is the source term value for the outside face of this surface If this field is left blank,..."""

class SurfaceControlMovableInsulation(IDFObject):
    """Exterior or Interior Insulation on opaque surfaces"""

    surface_name: str | None
    material_name: str | None
    schedule_name: str | None

class SurfacePropertyOtherSideCoefficients(IDFObject):
    """This object sets the other side conditions for a surface in a variety of ways."""

    combined_convective_radiative_film_coefficient: float | None
    """if>0, this field becomes the exterior convective/radiative film coefficient and the other fields are used to calculat...; [W/m2-K]"""
    constant_temperature: float | None
    """This parameter will be overwritten by the values from the Constant Temperature Schedule Name (below) if one is present; [C]; Default: 0.0"""
    constant_temperature_coefficient: float | None
    """This coefficient is used even with a Schedule. It should normally be 1.0 in that case. This field is ignored if Sinus...; Default: 1.0"""
    external_dry_bulb_temperature_coefficient: float | None
    """Default: 0.0"""
    ground_temperature_coefficient: float | None
    """Default: 0.0"""
    wind_speed_coefficient: float | None
    """Default: 0.0"""
    zone_air_temperature_coefficient: float | None
    """Default: 0.0"""
    constant_temperature_schedule_name: str | None
    """Name of schedule for values of constant temperature. Schedule values replace any value specified in the field Constan..."""
    sinusoidal_variation_of_constant_temperature_coefficient: Literal["", "No", "Yes"] | None
    """Optionally used to vary Constant Temperature Coefficient with unitary sine wave; Default: No"""
    period_of_sinusoidal_variation: float | None
    """Use with sinusoidal variation to define the time period; [hr]; Default: 24.0; Range: > 0.0"""
    previous_other_side_temperature_coefficient: float | None
    """This coefficient multiplies the other side temperature result from the previous zone timestep; Default: 0.0"""
    minimum_other_side_temperature_limit: float | None
    """This field specifies a lower limit for the other side temperature result. Blank indicates no limit; [C]"""
    maximum_other_side_temperature_limit: float | None
    """This field specifies an upper limit for the other side temperature result. Blank indicates no limit; [C]"""

class SurfacePropertyOtherSideConditionsModel(IDFObject):
    """This object sets up modifying the other side conditions for a surface from other model results."""

    type_of_modeling: (
        Literal[
            "",
            "ConvectiveUnderwater",
            "GapConvectionRadiation",
            "GroundCoupledSurface",
            "UndergroundPipingSystemSurface",
        ]
        | None
    )
    """GapConvectionRadiation provides boundary conditions for convection and linearized thermal radiation across a gap or c...; Default: GapConvectionRadiation"""

class SurfacePropertyUnderwater(IDFObject):
    """This object sets up a convective water boundary condition for a surface The free stream temperature and velocity are ..."""

    distance_from_surface_centroid_to_leading_edge_of_boundary_layer: float | None
    """This is the distance from the leading edge of the boundary layer development to the centroid of the surface of intere...; [m]"""
    free_stream_water_temperature_schedule: str | None
    """[C]"""
    free_stream_water_velocity_schedule: str | None
    """[m/s]"""

class FoundationKiva(IDFObject):
    """Refined definition of the foundation surface construction used to inform two-dimensional heat transfer calculated usi..."""

    initial_indoor_air_temperature: float | None
    """Indoor air temperature used for Kiva initialization (prior to warmup period) If left blank, indoor air temperature wi...; [C]; Since: 9.2.0"""
    interior_horizontal_insulation_material_name: str | None
    interior_horizontal_insulation_depth: float | None
    """Distance from the slab bottom to the top of interior horizontal insulation; [m]; Default: 0.0; Range: >= 0.0"""
    interior_horizontal_insulation_width: float | None
    """Extent of insulation as measured from the wall interior; [m]; Range: > 0.0"""
    interior_vertical_insulation_material_name: str | None
    interior_vertical_insulation_depth: float | None
    """Extent of insulation as measured from the wall top to the bottom edge of the interior vertical insulation; [m]; Range: > 0.0"""
    exterior_horizontal_insulation_material_name: str | None
    exterior_horizontal_insulation_depth: float | None
    """Distance from the exterior grade to the top of exterior horizontal insulation; [m]; Range: >= 0.0"""
    exterior_horizontal_insulation_width: float | None
    """Extent of insulation as measured from the wall exterior; [m]; Default: 0.0; Range: >= 0.0"""
    exterior_vertical_insulation_material_name: str | None
    exterior_vertical_insulation_depth: float | None
    """Extent of insulation as measured from the wall top to the bottom edge of the exterior vertical insulation; [m]; Range: > 0.0"""
    wall_height_above_grade: float | None
    """Distance from the exterior grade to the wall top; [m]; Default: 0.2; Range: >= 0.0"""
    wall_depth_below_slab: float | None
    """Distance from the slab bottom to the bottom of the foundation wall; [m]; Default: 0.0; Range: >= 0.0"""
    footing_wall_construction_name: str | None
    """Defines the below-grade surface construction for slabs. Required if foundation wall is not exposed to the zone."""
    footing_material_name: str | None
    footing_depth: float | None
    """Top-to-bottom dimension of the footing (not to be confused with its depth in the ground). The width of the footing is...; [m]; Default: 0.3; Range: > 0.0"""
    custom_block_material_name: str | None
    custom_block_depth: float | None
    custom_block_x_position: float | None
    custom_block_z_position: float | None

class FoundationKivaSettings(IDFObject):
    """Settings applied across all Kiva foundation calculations. Object is not required. If not defined, defaults will be ap..."""

    soil_density: float | None
    """[kg/m3]; Default: 1842.0; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Default: 419.0; Range: > 0.0"""
    ground_solar_absorptivity: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    ground_thermal_absorptivity: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    ground_surface_roughness: float | None
    """[m]; Default: 0.03; Range: > 0.0"""
    far_field_width: float | None
    """[m]; Default: 40.0; Range: > 0.0"""
    deep_ground_boundary_condition: Literal["", "Autoselect", "GroundWater", "ZeroFlux"] | None
    """Default: Autoselect"""
    deep_ground_depth: float | Literal["", "Autocalculate"] | None
    """[m]; Default: Autocalculate"""
    minimum_cell_dimension: float | None
    """[m]; Default: 0.02; Range: > 0.0"""
    maximum_cell_growth_coefficient: float | None
    """[dimensionless]; Default: 1.5; Range: >= 1.0"""
    simulation_timestep: Literal["", "Hourly", "Timestep"] | None
    """Default: Hourly"""

class SurfacePropertyExposedFoundationPerimeter(IDFObject):
    """Defines the perimeter of a foundation floor that is exposed to the exterior environment through the floor. User may e..."""

    exposed_perimeter_calculation_method: (
        Literal["BySegment", "ExposedPerimeterFraction", "TotalExposedPerimeter"] | None
    )
    """Choices: TotalExposedPerimeter => total exposed perimeter in meters ExposedPerimeterFraction => fraction of total per..."""
    total_exposed_perimeter: float | None
    """[m]; Range: >= 0.0"""
    exposed_perimeter_fraction: float | None
    """[dimensionless]; Default: 1.0; Range: >= 0.0, <= 1.0"""
    surface_segment_exposed: str | None

class SurfaceConvectionAlgorithmInsideAdaptiveModelSelections(IDFObject):
    """Options to change the individual convection model equations for dynamic selection when using AdaptiveConvectiongAlgor..."""

    simple_buoyancy_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq6NonHeatedWalls",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for vertical walls; Default: FohannoPolidoriVerticalWall"""
    simple_buoyancy_vertical_wall_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    simple_buoyancy_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for horizontal surfaces with heat flow directed for stable t...; Default: AlamdariHammondStableHorizontal"""
    simple_buoyancy_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    simple_buoyancy_unstable_horizontal_equation_source: (
        Literal["", "AlamdariHammondUnstableHorizontal", "UserCurve", "WaltonUnstableHorizontalOrTilt"] | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for passive horizontal surfaces with heat flow for unstable ...; Default: AlamdariHammondUnstableHorizontal"""
    simple_buoyancy_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    simple_buoyancy_stable_tilted_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for tilted surfaces with heat flow for stable thermal strati...; Default: WaltonStableHorizontalOrTilt"""
    simple_buoyancy_stable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    simple_buoyancy_unstable_tilted_equation_source: (
        Literal["", "AlamdariHammondUnstableHorizontal", "UserCurve", "WaltonUnstableHorizontalOrTilt"] | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for tilted surfaces with heat flow for unstable thermal stra...; Default: WaltonUnstableHorizontalOrTilt"""
    simple_buoyancy_unstable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    simple_buoyancy_windows_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KaradagChilledCeiling",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with no HVAC or when HVAC is off This is for all window surfaces; Default: ISO15099Windows"""
    simple_buoyancy_windows_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq3WallAwayFromHeat",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for vertical walls; Default: KhalifaEq3WallAwayFromHeat"""
    floor_heat_ceiling_cool_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for passive horizontal surfaces with heat flo...; Default: AlamdariHammondStableHorizontal"""
    floor_heat_ceiling_cool_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_unstable_horizontal_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "KhalifaEq4CeilingAwayFromHeat",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for passive horizontal surfaces with heat flo...; Default: KhalifaEq4CeilingAwayFromHeat"""
    floor_heat_ceiling_cool_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_heated_floor_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "AwbiHattonHeatedFloor",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for a floor with active heating elements; Default: AwbiHattonHeatedFloor"""
    floor_heat_ceiling_cool_heated_floor_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_chilled_ceiling_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "KaradagChilledCeiling",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for a ceiling with active cooling elements; Default: KaradagChilledCeiling"""
    floor_heat_ceiling_cool_chilled_ceiling_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_stable_tilted_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "ISO15099Windows", "UserCurve", "WaltonStableHorizontalOrTilt"]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for tilted surfaces with heat flow for stable...; Default: WaltonStableHorizontalOrTilt"""
    floor_heat_ceiling_cool_stable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_unstable_tilted_equation_source: (
        Literal[
            "", "AlamdariHammondUnstableHorizontal", "ISO15099Windows", "UserCurve", "WaltonUnstableHorizontalOrTilt"
        ]
        | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for tilted surfaces with heat flow for unstab...; Default: WaltonUnstableHorizontalOrTilt"""
    floor_heat_ceiling_cool_unstable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    floor_heat_ceiling_cool_window_equation_source: (
        Literal["", "ASHRAEVerticalWall", "AlamdariHammondVerticalWall", "ISO15099Windows", "UserCurve"] | None
    )
    """Applies to zone with in-floor heating and/or in-ceiling cooling This is for all window surfaces; Default: ISO15099Windows"""
    floor_heat_ceiling_cool_window_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq6NonHeatedWalls",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with in-wall panel heating This is for vertical walls that are not actively heated; Default: KhalifaEq6NonHeatedWalls"""
    wall_panel_heating_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_heated_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq5WallNearHeat",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with in-wall panel heating This is for vertical walls that are being actively heated; Default: AwbiHattonHeatedWall"""
    wall_panel_heating_heated_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with in-wall panel heating This is for horizontal surfaces with heat flow directed for stable thermal...; Default: AlamdariHammondStableHorizontal"""
    wall_panel_heating_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_unstable_horizontal_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondUnstableHorizontal",
            "KaradagChilledCeiling",
            "KhalifaEq7Ceiling",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """Applies to zone with in-wall panel heating This is for horizontal surfaces with heat flow directed for unstable therm...; Default: KhalifaEq7Ceiling"""
    wall_panel_heating_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_stable_tilted_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "ISO15099Windows", "UserCurve", "WaltonStableHorizontalOrTilt"]
        | None
    )
    """Applies to zone with in-wall panel heating This is for tilted surfaces with heat flow for stable thermal stratification; Default: WaltonStableHorizontalOrTilt"""
    wall_panel_heating_stable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_unstable_tilted_equation_source: (
        Literal[
            "", "AlamdariHammondUnstableHorizontal", "ISO15099Windows", "UserCurve", "WaltonUnstableHorizontalOrTilt"
        ]
        | None
    )
    """Applies to zone with in-wall panel heating This is for tilted surfaces with heat flow for unstable thermal stratifica...; Default: WaltonUnstableHorizontalOrTilt"""
    wall_panel_heating_unstable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wall_panel_heating_window_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with in-wall panel heating This is for all window surfaces; Default: ISO15099Windows"""
    wall_panel_heating_window_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq6NonHeatedWalls",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with convective heater This is for vertical walls not directly affected by heater; Default: FohannoPolidoriVerticalWall"""
    convective_zone_heater_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_vertical_walls_near_heater_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq5WallNearHeat",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with convective heater This is for vertical walls that are directly affected by heater Walls are cons...; Default: KhalifaEq5WallNearHeat"""
    convective_zone_heater_vertical_walls_near_heater_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with convective heater This is for horizontal surfaces with heat flow directed for stable thermal str...; Default: AlamdariHammondStableHorizontal"""
    convective_zone_heater_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_unstable_horizontal_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "KhalifaEq4CeilingAwayFromHeat",
            "KhalifaEq7Ceiling",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """Applies to zone with convective heater This is for horizontal surfaces with heat flow directed for unstable thermal s...; Default: KhalifaEq7Ceiling"""
    convective_zone_heater_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_stable_tilted_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """Applies to zone with convective heater This is for tilted surfaces with heat flow for stable thermal stratification; Default: WaltonStableHorizontalOrTilt"""
    convective_zone_heater_stable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_unstable_tilted_equation_source: (
        Literal["", "AlamdariHammondUnstableHorizontal", "UserCurve", "WaltonUnstableHorizontalOrTilt"] | None
    )
    """Applies to zone with convective heater This is for tilted surfaces with heat flow for unstable thermal stratification; Default: WaltonUnstableHorizontalOrTilt"""
    convective_zone_heater_unstable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    convective_zone_heater_windows_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "KhalifaEq3WallAwayFromHeat",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with convective heater This is for all window surfaces; Default: ISO15099Windows"""
    convective_zone_heater_windows_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    central_air_diffuser_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "ISO15099Windows",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with mechanical forced central air with diffusers This is for all wall surfaces; Default: GoldsteinNovoselacCeilingDiffuserWalls"""
    central_air_diffuser_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    central_air_diffuser_ceiling_equation_source: (
        Literal[
            "",
            "BeausoleilMorrisonMixedStableCeiling",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "FisherPedersenCeilingDiffuserCeiling",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with mechanical forced central air with diffusers This is for all ceiling surfaces; Default: FisherPedersenCeilingDiffuserCeiling"""
    central_air_diffuser_ceiling_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    central_air_diffuser_floor_equation_source: (
        Literal[
            "",
            "BeausoleilMorrisonMixedStableFloor",
            "BeausoleilMorrisonMixedUnstableFloor",
            "FisherPedersenCeilingDiffuserFloor",
            "GoldsteinNovoselacCeilingDiffuserFloor",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with mechanical forced central air with diffusers This is for all floor surfaces; Default: GoldsteinNovoselacCeilingDiffuserFloor"""
    central_air_diffuser_floor_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    central_air_diffuser_window_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "UserCurve",
        ]
        | None
    )
    """Applies to zone with mechanical forced central air with diffusers This is for all window surfaces; Default: GoldsteinNovoselacCeilingDiffuserWindow"""
    central_air_diffuser_window_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "ISO15099Windows",
            "KhalifaEq3WallAwayFromHeat",
            "UserCurve",
        ]
        | None
    )
    """reference choice fields; Default: KhalifaEq3WallAwayFromHeat"""
    mechanical_zone_fan_circulation_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """reference choice fields; Default: AlamdariHammondStableHorizontal"""
    mechanical_zone_fan_circulation_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_unstable_horizontal_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "KhalifaEq4CeilingAwayFromHeat",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """reference choice fields; Default: KhalifaEq4CeilingAwayFromHeat"""
    mechanical_zone_fan_circulation_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_stable_tilted_equation_source: (
        Literal["", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """reference choice fields; Default: WaltonStableHorizontalOrTilt"""
    mechanical_zone_fan_circulation_stable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_unstable_tilted_equation_source: (
        Literal["", "AlamdariHammondUnstableHorizontal", "UserCurve", "WaltonUnstableHorizontalOrTilt"] | None
    )
    """reference choice fields; Default: WaltonUnstableHorizontalOrTilt"""
    mechanical_zone_fan_circulation_unstable_tilted_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mechanical_zone_fan_circulation_window_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "UserCurve",
        ]
        | None
    )
    """reference choice fields; Default: ISO15099Windows"""
    mechanical_zone_fan_circulation_window_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_buoyancy_assisting_flow_on_walls_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "UserCurve",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedAssistedWall"""
    mixed_regime_buoyancy_assisting_flow_on_walls_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_buoyancy_opposing_flow_on_walls_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "UserCurve",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedOpposingWall"""
    mixed_regime_buoyancy_opposing_flow_on_walls_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_stable_floor_equation_source: (
        Literal[
            "",
            "AlamdariHammondStableHorizontal",
            "BeausoleilMorrisonMixedStableFloor",
            "UserCurve",
            "WaltonStableHorizontalOrTilt",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedStableFloor"""
    mixed_regime_stable_floor_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_unstable_floor_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "BeausoleilMorrisonMixedUnstableFloor",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedUnstableFloor"""
    mixed_regime_unstable_floor_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_stable_ceiling_equation_source: (
        Literal[
            "",
            "AlamdariHammondStableHorizontal",
            "BeausoleilMorrisonMixedStableCeiling",
            "UserCurve",
            "WaltonStableHorizontalOrTilt",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedStableCeiling"""
    mixed_regime_stable_ceiling_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_unstable_ceiling_equation_source: (
        Literal[
            "",
            "AlamdariHammondUnstableHorizontal",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "UserCurve",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    """reference choice fields; Default: BeausoleilMorrisonMixedUnstableCeiling"""
    mixed_regime_unstable_ceiling_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    mixed_regime_window_equation_source: (
        Literal["", "GoldsteinNovoselacCeilingDiffuserWindow", "ISO15099Windows", "UserCurve"] | None
    )
    """reference choice fields; Default: GoldsteinNovoselacCeilingDiffuserWindow"""
    mixed_regime_window_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Inside:UserCurve named in this field is used when the previous field is set to UserCurve"""

class SurfaceConvectionAlgorithmOutsideAdaptiveModelSelections(IDFObject):
    """Options to change the individual convection model equations for dynamic selection when using AdaptiveConvectiongAlgor..."""

    wind_convection_windward_vertical_wall_equation_source: (
        Literal[
            "",
            "BlockenWindward",
            "DOE2Windward",
            "EmmelVertical",
            "McAdams",
            "Mitchell",
            "MoWiTTWindward",
            "NusseltJurges",
            "SimpleCombined",
            "TARPWindward",
            "UserCurve",
        ]
        | None
    )
    """Default: TARPWindward"""
    wind_convection_windward_equation_vertical_wall_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wind_convection_leeward_vertical_wall_equation_source: (
        Literal[
            "",
            "DOE2Leeward",
            "EmmelVertical",
            "McAdams",
            "Mitchell",
            "MoWiTTLeeward",
            "NusseltJurges",
            "SimpleCombined",
            "TARPLeeward",
            "UserCurve",
        ]
        | None
    )
    """Default: TARPLeeward"""
    wind_convection_leeward_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    wind_convection_horizontal_roof_equation_source: (
        Literal[
            "",
            "BlockenWindward",
            "ClearRoof",
            "DOE2Windward",
            "EmmelRoof",
            "McAdams",
            "Mitchell",
            "MoWiTTWindward",
            "NusseltJurges",
            "SimpleCombined",
            "TARPWindward",
            "UserCurve",
        ]
        | None
    )
    """Default: ClearRoof"""
    wind_convection_horizontal_roof_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    natural_convection_vertical_wall_equation_source: (
        Literal[
            "",
            "ASHRAEVerticalWall",
            "AlamdariHammondVerticalWall",
            "FohannoPolidoriVerticalWall",
            "ISO15099Windows",
            "None",
            "UserCurve",
        ]
        | None
    )
    """This is for vertical walls; Default: ASHRAEVerticalWall"""
    natural_convection_vertical_wall_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    natural_convection_stable_horizontal_equation_source: (
        Literal["", "AlamdariHammondStableHorizontal", "None", "UserCurve", "WaltonStableHorizontalOrTilt"] | None
    )
    """This is for horizontal surfaces with heat flow directed for stable thermal stratification; Default: WaltonStableHorizontalOrTilt"""
    natural_convection_stable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""
    natural_convection_unstable_horizontal_equation_source: (
        Literal["", "AlamdariHammondUnstableHorizontal", "None", "UserCurve", "WaltonUnstableHorizontalOrTilt"] | None
    )
    """Default: WaltonUnstableHorizontalOrTilt"""
    natural_convection_unstable_horizontal_equation_user_curve_name: str | None
    """The SurfaceConvectionAlgorithm:Outside:UserCurve named in this field is used when the previous field is set to UserCurve"""

class SurfaceConvectionAlgorithmInsideUserCurve(IDFObject):
    """Used to describe a custom model equation for surface convection heat transfer coefficient If more than one curve is r..."""

    reference_temperature_for_convection_heat_transfer: (
        Literal["AdjacentAirTemperature", "MeanAirTemperature", "SupplyAirTemperature"] | None
    )
    """Controls which temperature is differenced from surface temperature when using the Hc value"""
    hc_function_of_temperature_difference_curve_name: str | None
    """Curve's 'x' is absolute value of delta-T (Surface temperature minus reference temperature, (C))"""
    hc_function_of_temperature_difference_divided_by_height_curve_name: str | None
    """Curve's 'x' is absolute value of delta-T/Height (Surface temp minus Air temp)/(vertical length scale), (C/m) when use..."""
    hc_function_of_air_change_rate_curve_name: str | None
    """Curve's 'x' is mechanical ACH (Air Changes per hour from mechanical air system), (1/hr)"""
    hc_function_of_air_system_volume_flow_rate_divided_by_zone_perimeter_length_curve_name: str | None
    """Curve's 'x' is mechanical system air flow rate (m3/s) divided by zone's length along exterior walls (m)."""

class SurfaceConvectionAlgorithmOutsideUserCurve(IDFObject):
    """Used to describe a custom model equation for surface convection heat transfer coefficient If more than one curve is r..."""

    wind_speed_type_for_curve: (
        Literal["", "HeightAdjust", "ParallelComponent", "ParallelComponentHeightAdjust", "WeatherFile"] | None
    )
    """Default: HeightAdjust"""
    hf_function_of_wind_speed_curve_name: str | None
    """Curve's 'x' is wind speed of the type determined in the previous field (m/s)"""
    hn_function_of_temperature_difference_curve_name: str | None
    """Curve's 'x' is absolute value of delta-T (Surface temperature minus air temperature, (C))"""
    hn_function_of_temperature_difference_divided_by_height_curve_name: str | None
    """Curve's 'x' is absolute value of delta-T/Height (Surface temp minus Air temp)/(vertical length scale), (C/m) when use..."""

class SurfacePropertyConvectionCoefficients(IDFObject):
    """Allow user settable interior and/or exterior convection coefficients. Note that some other factors may limit the lowe..."""

    convection_coefficient_1_location: Literal["Inside", "Outside"] | None
    convection_coefficient_1_type: (
        Literal[
            "ASHRAEVerticalWall",
            "ASTMC1340",
            "AdaptiveConvectionAlgorithm",
            "AlamdariHammondStableHorizontal",
            "AlamdariHammondUnstableHorizontal",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedFloor",
            "AwbiHattonHeatedWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "BeausoleilMorrisonMixedStableCeiling",
            "BeausoleilMorrisonMixedStableFloor",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "BeausoleilMorrisonMixedUnstableFloor",
            "BlockenWindard",
            "ClearRoof",
            "DOE-2",
            "EmmelRoof",
            "EmmelVertical",
            "FisherPedersenCeilingDiffuserCeiling",
            "FisherPedersenCeilingDiffuserFloor",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserFloor",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "KaradagChilledCeiling",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq4CeilingAwayFromHeat",
            "KhalifaEq5WallNearHeat",
            "KhalifaEq6NonHeatedWalls",
            "KhalifaEq7Ceiling",
            "McAdams",
            "Mitchell",
            "MoWitt",
            "NusseltJurges",
            "Schedule",
            "Simple",
            "SimpleCombined",
            "TARP",
            "UserCurve",
            "Value",
            "WaltonStableHorizontalOrTilt",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    convection_coefficient_1: float | None
    """used if Convection Type=Value, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minimum ...; [W/m2-K]"""
    convection_coefficient_1_schedule_name: str | None
    """used if Convection Type=Schedule, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minim..."""
    convection_coefficient_1_user_curve_name: str | None
    """used if Convection Type = UserCurve"""
    convection_coefficient_2_location: Literal["Inside", "Outside"] | None
    convection_coefficient_2_type: (
        Literal[
            "ASHRAEVerticalWall",
            "ASTMC1340",
            "AdaptiveConvectionAlgorithm",
            "AlamdariHammondStableHorizontal",
            "AlamdariHammondUnstableHorizontal",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedFloor",
            "AwbiHattonHeatedWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "BeausoleilMorrisonMixedStableCeiling",
            "BeausoleilMorrisonMixedStableFloor",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "BeausoleilMorrisonMixedUnstableFloor",
            "BlockenWindard",
            "ClearRoof",
            "DOE-2",
            "EmmelRoof",
            "EmmelVertical",
            "FisherPedersenCeilingDiffuserCeiling",
            "FisherPedersenCeilingDiffuserFloor",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserFloor",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "KaradagChilledCeiling",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq4CeilingAwayFromHeat",
            "KhalifaEq5WallNearHeat",
            "KhalifaEq6NonHeatedWalls",
            "KhalifaEq7Ceiling",
            "McAdams",
            "Mitchell",
            "MoWitt",
            "NusseltJurges",
            "Schedule",
            "Simple",
            "SimpleCombined",
            "TARP",
            "UserCurve",
            "Value",
            "WaltonStableHorizontalOrTilt",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    convection_coefficient_2: float | None
    """used if Convection Type=Value, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minimum ...; [W/m2-K]; Default: 0.1"""
    convection_coefficient_2_schedule_name: str | None
    """used if Convection Type=Schedule, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minim..."""
    convection_coefficient_2_user_curve_name: str | None
    """used if Convection Type = UserCurve"""

class SurfacePropertyConvectionCoefficientsMultipleSurface(IDFObject):
    """Allow user settable interior and/or exterior convection coefficients. Note that some other factors may limit the lowe..."""

    convection_coefficient_1_location: Literal["Inside", "Outside"] | None
    convection_coefficient_1_type: (
        Literal[
            "ASHRAEVerticalWall",
            "ASTMC1340",
            "AdaptiveConvectionAlgorithm",
            "AlamdariHammondStableHorizontal",
            "AlamdariHammondUnstableHorizontal",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedFloor",
            "AwbiHattonHeatedWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "BeausoleilMorrisonMixedStableCeiling",
            "BeausoleilMorrisonMixedStableFloor",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "BeausoleilMorrisonMixedUnstableFloor",
            "BlockenWindard",
            "ClearRoof",
            "DOE-2",
            "EmmelRoof",
            "EmmelVertical",
            "FisherPedersenCeilingDiffuserCeiling",
            "FisherPedersenCeilingDiffuserFloor",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserFloor",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "KaradagChilledCeiling",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq4CeilingAwayFromHeat",
            "KhalifaEq5WallNearHeat",
            "KhalifaEq6NonHeatedWalls",
            "KhalifaEq7Ceiling",
            "McAdams",
            "Mitchell",
            "MoWitt",
            "NusseltJurges",
            "Schedule",
            "Simple",
            "SimpleCombined",
            "TARP",
            "UserCurve",
            "Value",
            "WaltonStableHorizontalOrTilt",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    convection_coefficient_1: float | None
    """used if Convection Type=Value, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minimum ...; [W/m2-K]"""
    convection_coefficient_1_schedule_name: str | None
    """used if Convection Type=Schedule, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minim..."""
    convection_coefficient_1_user_curve_name: str | None
    """used if Convection Type = UserCurve"""
    convection_coefficient_2_location: Literal["Inside", "Outside"] | None
    convection_coefficient_2_type: (
        Literal[
            "ASHRAEVerticalWall",
            "ASTMC1340",
            "AdaptiveConvectionAlgorithm",
            "AlamdariHammondStableHorizontal",
            "AlamdariHammondUnstableHorizontal",
            "AlamdariHammondVerticalWall",
            "AwbiHattonHeatedFloor",
            "AwbiHattonHeatedWall",
            "BeausoleilMorrisonMixedAssistedWall",
            "BeausoleilMorrisonMixedOpposingWall",
            "BeausoleilMorrisonMixedStableCeiling",
            "BeausoleilMorrisonMixedStableFloor",
            "BeausoleilMorrisonMixedUnstableCeiling",
            "BeausoleilMorrisonMixedUnstableFloor",
            "BlockenWindard",
            "ClearRoof",
            "DOE-2",
            "EmmelRoof",
            "EmmelVertical",
            "FisherPedersenCeilingDiffuserCeiling",
            "FisherPedersenCeilingDiffuserFloor",
            "FisherPedersenCeilingDiffuserWalls",
            "FohannoPolidoriVerticalWall",
            "GoldsteinNovoselacCeilingDiffuserFloor",
            "GoldsteinNovoselacCeilingDiffuserWalls",
            "GoldsteinNovoselacCeilingDiffuserWindow",
            "ISO15099Windows",
            "KaradagChilledCeiling",
            "KhalifaEq3WallAwayFromHeat",
            "KhalifaEq4CeilingAwayFromHeat",
            "KhalifaEq5WallNearHeat",
            "KhalifaEq6NonHeatedWalls",
            "KhalifaEq7Ceiling",
            "McAdams",
            "Mitchell",
            "MoWitt",
            "NusseltJurges",
            "Schedule",
            "Simple",
            "SimpleCombined",
            "TARP",
            "UserCurve",
            "Value",
            "WaltonStableHorizontalOrTilt",
            "WaltonUnstableHorizontalOrTilt",
        ]
        | None
    )
    convection_coefficient_2: float | None
    """used if Convection Type=Value, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minimum ...; [W/m2-K]; Default: 0.1"""
    convection_coefficient_2_schedule_name: str | None
    """used if Convection Type=Schedule, min and max limits are set in HeatBalanceAlgorithm object. Default limits are Minim..."""
    convection_coefficient_2_user_curve_name: str | None
    """used if Convection Type = UserCurve"""

class SurfacePropertiesVaporCoefficients(IDFObject):
    """The interior and external vapor transfer coefficients. Normally these value are calculated using the heat convection ..."""

    constant_external_vapor_transfer_coefficient: Literal["", "No", "Yes"] | None
    """Default: No"""
    external_vapor_coefficient_value: float | None
    """[kg/Pa-s-m2]; Default: 0.0; Range: >= 0.0"""
    constant_internal_vapor_transfer_coefficient: Literal["", "No", "Yes"] | None
    """Default: No"""
    internal_vapor_coefficient_value: float | None
    """[kg/Pa-s-m2]; Default: 0.0; Range: >= 0.0"""

class SurfacePropertyExteriorNaturalVentedCavity(IDFObject):
    """Used to describe the decoupled layer, or baffle, and the characteristics of the cavity and openings for naturally ven..."""

    boundary_conditions_model_name: str | None
    """Enter the name of a SurfaceProperty:OtherSideConditionsModel object"""
    area_fraction_of_openings: float | None
    """[dimensionless]; Range: > 0.0, <= 1.0"""
    thermal_emissivity_of_exterior_baffle_material: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    solar_absorbtivity_of_exterior_baffle: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    height_scale_for_buoyancy_driven_ventilation: float | None
    """[m]; Range: > 0.0"""
    effective_thickness_of_cavity_behind_exterior_baffle: float | None
    """if corrugated, use average depth; [m]; Range: > 0.0"""
    ratio_of_actual_surface_area_to_projected_surface_area: float | None
    """this parameter is used to help account for corrugations in the collector; [dimensionless]; Default: 1.0; Range: >= 0.8, <= 2.0"""
    roughness_of_exterior_surface: (
        Literal["MediumRough", "MediumSmooth", "Rough", "Smooth", "VeryRough", "VerySmooth"] | None
    )
    effectiveness_for_perforations_with_respect_to_wind: float | None
    """[dimensionless]; Default: 0.25; Range: > 0.0, <= 1.5"""
    discharge_coefficient_for_openings_with_respect_to_buoyancy_driven_flow: float | None
    """[dimensionless]; Default: 0.65; Range: > 0.0, <= 1.5"""
    surface_name: str | None

class SurfacePropertySolarIncidentInside(IDFObject):
    """Used to provide incident solar radiation on the inside of the surface. Reference surface-construction pair and if tha..."""

    surface_name: str | None
    construction_name: str | None
    inside_surface_incident_sun_solar_radiation_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""

class SurfacePropertyIncidentSolarMultiplier(IDFObject):
    """Since: 22.2.0"""

    incident_solar_multiplier: float | None
    """a constant multiplier for window solar transmittance and visible transmittance. If the Shading Multiplier Schedule Na...; [dimensionless]; Default: 1.0; Range: >= 0.0, <= 1.0"""
    incident_solar_multiplier_schedule_name: str | None
    """The schedule values should be greater than or equal to 0 and less than or equal to 1."""

class SurfacePropertyLocalEnvironment(IDFObject):
    """This object defines the local environment properties of an exterior surface. One or more environment properties have ..."""

    exterior_surface_name: str | None
    """Enter the name of an exterior surface object"""
    sunlit_fraction_schedule_name: str | None
    """Enter the name of a Schedule object; Since: 23.2.0"""
    surrounding_surfaces_object_name: str | None
    """Enter the name of a SurfaceProperty:SurroundingSurfaces object"""
    outdoor_air_node_name: str | None
    """Enter the name of an OutdoorAir:Node object"""
    ground_surfaces_object_name: str | None
    """Enter the name of a SurfaceProperty:GroundSurfaces object; Since: 22.2.0"""

class ZonePropertyLocalEnvironment(IDFObject):
    """This object defines the local environment properties of a zone object. A corresponding outdoor air node should be def..."""

    zone_name: str | None
    """Enter the name of a zone object"""
    outdoor_air_node_name: str | None
    """Enter the name of an OutdoorAir:Node object"""

class SurfacePropertySurroundingSurfaces(IDFObject):
    """This object defines a list of surrounding surfaces for an exterior surface."""

    sky_view_factor: float | None
    """optional; Default: 0.5; Range: >= 0.0, <= 1.0"""
    sky_temperature_schedule_name: str | None
    """Schedule values are real numbers, -100.0 to 100.0, units C optional"""
    ground_view_factor: float | None
    """optional; Default: 0.5; Range: >= 0.0, <= 1.0"""
    ground_temperature_schedule_name: str | None
    """Schedule values are real numbers, -100.0 to 100.0, units C optional"""
    surrounding_surface_name: str | None
    surrounding_surface_view_factor: float | None
    surrounding_surface_temperature_schedule_name: str | None

class SurfacePropertyGroundSurfaces(IDFObject):
    """This object defines a list of ground surfaces for use with an exterior surface.; Since: 22.2.0"""

    ground_surface_name: str | None
    ground_surface_view_factor: float | None
    ground_surface_temperature_schedule_name: str | None
    ground_surface_reflectance_schedule_name: str | None

class ComplexFenestrationPropertySolarAbsorbedLayers(IDFObject):
    """Used to provide solar radiation absorbed in fenestration layers. References surface-construction pair and if that pai..."""

    fenestration_surface: str | None
    construction_name: str | None
    layer_1_solar_radiation_absorbed_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""
    layer_2_solar_radiation_absorbed_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""
    layer_3_solar_radiation_absorbed_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""
    layer_4_solar_radiation_absorbed_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""
    layer_5_solar_radiation_absorbed_schedule_name: str | None
    """Values in schedule are expected to be in W/m2"""

class ZonePropertyUserViewFactorsBySurfaceName(IDFObject):
    """View factors for Surface to Surface in a zone. (Number of Surfaces)**2 are expected. Any omitted surface pairs will b...; Since: 9.4.0"""

    from_surface: str | None
    to_surface: str | None
    view_factor: float | None

class GroundHeatTransferControl(IDFObject):
    """Object determines if the Slab and Basement preprocessors are going to be executed."""

    run_basement_preprocessor: Literal["", "No", "Yes"] | None
    """Default: No"""
    run_slab_preprocessor: Literal["", "No", "Yes"] | None
    """Default: No"""

class GroundHeatTransferSlabMaterials(IDFObject):
    """Object gives an overall description of the slab ground heat transfer model."""

    albedo_surface_albedo_no_snow: float | None
    """Two fields specify the albedo value of the surface: first for no snow coverage days; second for days with snow covera...; Default: 0.16; Range: >= 0.0, <= 1.0"""
    albedo_surface_albedo_snow: float | None
    """Default: 0.4; Range: >= 0.0, <= 1.0"""
    epslw_surface_emissivity_no_snow: float | None
    """EPSLW (No Snow and Snow) specifies the long wavelength (thermal) emissivity of the ground surface. primarily importan...; Default: 0.94; Range: > 0.0"""
    epslw_surface_emissivity_snow: float | None
    """Default: 0.86; Range: > 0.0"""
    z0_surface_roughness_no_snow: float | None
    """fields Z0 (No Snow and Snow) describe the height at which an experimentally velocity profile goes to zero. typical va...; [cm]; Default: 0.75; Range: > 0.0"""
    z0_surface_roughness_snow: float | None
    """typical value= .05 cm; [cm]; Default: 0.25; Range: > 0.0"""
    hin_indoor_hconv_downward_flow: float | None
    """These fields specify the combined convective and radiative heat transfer coefficient between the slab top inside surf...; [W/m2-K]; Default: 6.13; Range: > 0.0"""
    hin_indoor_hconv_upward: float | None
    """typical value= 4-10; [W/m2-K]; Default: 9.26; Range: > 0.0"""

class GroundHeatTransferSlabMatlProps(IDFObject):
    """This object contains the material properties for the materials used in the model. The fields are mostly self explanat..."""

    rho_soil_density: float | None
    """Density of Soil Material typical value= 1200.0; [kg/m3]; Default: 1200.0; Range: > 0.0"""
    cp_slab_cp: float | None
    """Specific Heat of Slab Material typical value=650.0; [J/kg-K]; Default: 650.0; Range: > 0.0"""
    cp_soil_cp: float | None
    """Specific Heat of Soil Material typical value= 1200.0; [J/kg-K]; Default: 1200.0; Range: > 0.0"""
    tcon_slab_k: float | None
    """Conductivity of Slab Material typical value= .9; [W/m-K]; Default: 0.9; Range: > 0.0"""
    tcon_soil_k: float | None
    """Conductivity of Soil Material typical value= 1.0; [W/m-K]; Default: 1.0; Range: > 0.0"""

class GroundHeatTransferSlabBoundConds(IDFObject):
    """Supplies some of the boundary conditions used in the ground heat transfer calculations."""

    fixbc_is_the_lower_boundary_at_a_fixed_temperature: Literal["FALSE", "TRUE"] | None
    """This field permits using a fixed temperature at the lower surface of the model instead of a zero heat flux condition...."""
    tdeepin: float | None
    """User input lower boundary temperature if FIXBC is TRUE Blank for FIXBC FALSE or to use the calculated 1-D deep ground...; [C]"""
    usrhflag_is_the_ground_surface_h_specified_by_the_user_: Literal["FALSE", "TRUE"] | None
    """This field flags the use of a user specified heat transfer coefficient on the ground surface. This condition is used ..."""
    userh_user_specified_ground_surface_heat_transfer_coefficient: float | None
    """Used only if USRHflag is TRUE and the heat transfer coefficient value is specified in this field.; [W/m2-K]"""

class GroundHeatTransferSlabBldgProps(IDFObject):
    """Object provides information about the building and its operating conditions Monthly Average Temperature SetPoint fiel..."""

    shape_slab_shape: float | None
    """Use only the value 0 here. Only a rectangular shape is implemented.; Range: >= 0.0, <= 0.0"""
    hbldg_building_height: float | None
    """This field supplies the building height. This is used to calculate the building shadowing on the ground. typical valu...; [m]; Range: >= 0.0"""
    tin1_january_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin2_february_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin3_march_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin4_april_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin5_may_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin6_june_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin7_july_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin8_august_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin9_september_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin10_october_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin11_november_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tin12_december_indoor_average_temperature_setpoint: float | None
    """see memo on object for more information; [C]; Default: 22.0"""
    tinamp_daily_indoor_sine_wave_variation_amplitude: float | None
    """This field permits imposing a daily sinusoidal variation in the indoor setpoint temperature to simulate the effect of...; [deltaC]; Default: 0.0"""
    convtol_convergence_tolerance: float | None
    """This field specifies the convergence tolerance used to control the iteration. When the temperature change of all node...; Default: 0.1"""

class GroundHeatTransferSlabInsulation(IDFObject):
    """This object supplies the information about insulation used around the slab. There are two possible configurations: un..."""

    dins_width_of_strip_of_under_slab_insulation: float | None
    """This specifies the width of the perimeter strip of insulation under the slab. It should be zero if for the vertical i...; [m]; Default: 0.0"""
    rvins_r_value_of_vertical_insulation: float | None
    """This field specifies the thermal resistance of the vertical insulation. It should be zero if the under slab insulatio...; [m2-K/W]; Default: 0.0"""
    zvins_depth_of_vertical_insulation: float | None
    """This field specifies the depth of the vertical insulation into the ground in meters. It starts at the slab upper surf...; [m]; Default: 0.0"""
    ivins_flag_is_there_vertical_insulation: Literal[0, 1, ""] | None
    """Specifies if the vertical insulation configuration is being used. values: 1=yes vertical insulation 0=no under-slab i...; Default: 0.0"""

class GroundHeatTransferSlabEquivalentSlab(IDFObject):
    """Using an equivalent slab allows non-rectangular shapes to be modeled accurately. Object uses the area - perimeter (ar..."""

    slabdepth_thickness_of_slab_on_grade: float | None
    """This field specifies the thickness of the slab. The slab top surface is level with the ground surface, so this is the...; [m]; Default: 0.1"""
    clearance_distance_from_edge_of_slab_to_domain_edge: float | None
    """This field specifies the distance from the slab to the edge of the area that will be modeled with the grid system. It...; [m]; Default: 15.0"""
    zclearance_distance_from_bottom_of_slab_to_domain_bottom: float | None
    """This field specifies the vertical distance from the slab to the bottom edge of the area that will be modeled with the...; [m]; Default: 15.0"""

class GroundHeatTransferSlabAutoGrid(IDFObject):
    """AutoGrid only necessary when EquivalentSlab option not chosen. Not normally needed by EnergyPlus users. This object p..."""

    slaby_y_dimension_of_the_building_slab: float | None
    """typical values= 6 to 60.0; [m]; Range: >= 6.0"""
    slabdepth_thickness_of_slab_on_grade: float | None
    """[m]; Default: 0.1"""
    clearance_distance_from_edge_of_slab_to_domain_edge: float | None
    """[m]; Default: 15.0"""
    zclearance_distance_from_bottom_of_slab_to_domain_bottom: float | None
    """[m]; Default: 15.0"""

class GroundHeatTransferSlabManualGrid(IDFObject):
    """Manual Grid only necessary when using manual gridding (not recommended) Used only in special cases when previous two ..."""

    ny_number_of_cells_in_the_y_direction: float | None
    """Range: >= 1.0"""
    nz_number_of_cells_in_the_z_direction: float | None
    """Range: >= 1.0"""
    ibox_x_direction_cell_indicator_of_slab_edge: float | None
    """typical values= 1-10"""
    jbox_y_direction_cell_indicator_of_slab_edge: float | None
    """typical values= 1-10"""

class GroundHeatTransferSlabXFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) XFACE: X Direction cell face coordinates: m"""

class GroundHeatTransferSlabYFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) YFACE: Y Direction cell face coordinates: m,"""

class GroundHeatTransferSlabZFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) ZFACE: Z Direction cell face coordinates: m"""

class GroundHeatTransferBasementSimParameters(IDFObject):
    """Specifies certain parameters that control the Basement preprocessor ground heat transfer simulation."""

    iyrs_maximum_number_of_yearly_iterations_: float | None
    """typically 15-30]; Default: 15.0; Range: >= 0.0"""

class GroundHeatTransferBasementMatlProps(IDFObject):
    """Specifies the material properties for the Basement preprocessor ground heat transfer simulation. Only the Foundation ..."""

    density_for_foundation_wall: float | None
    """[kg/m3]; Default: 2243.0; Range: > 0.0"""
    density_for_floor_slab: float | None
    """[kg/m3]; Default: 2243.0; Range: > 0.0"""
    density_for_ceiling: float | None
    """[kg/m3]; Default: 311.0; Range: > 0.0"""
    density_for_soil: float | None
    """[kg/m3]; Default: 1500.0; Range: > 0.0"""
    density_for_gravel: float | None
    """[kg/m3]; Default: 2000.0; Range: > 0.0"""
    density_for_wood: float | None
    """[kg/m3]; Default: 449.0; Range: > 0.0"""
    specific_heat_for_foundation_wall: float | None
    """[J/kg-K]; Default: 880.0; Range: > 0.0"""
    specific_heat_for_floor_slab: float | None
    """[J/kg-K]; Default: 880.0; Range: > 0.0"""
    specific_heat_for_ceiling: float | None
    """[J/kg-K]; Default: 1530.0; Range: > 0.0"""
    specific_heat_for_soil: float | None
    """[J/kg-K]; Default: 840.0; Range: > 0.0"""
    specific_heat_for_gravel: float | None
    """[J/kg-K]; Default: 720.0; Range: > 0.0"""
    specific_heat_for_wood: float | None
    """[J/kg-K]; Default: 1530.0; Range: > 0.0"""
    thermal_conductivity_for_foundation_wall: float | None
    """[W/m-K]; Default: 1.4; Range: > 0.0"""
    thermal_conductivity_for_floor_slab: float | None
    """[W/m-K]; Default: 1.4; Range: > 0.0"""
    thermal_conductivity_for_ceiling: float | None
    """[W/m-K]; Default: 0.09; Range: > 0.0"""
    thermal_conductivity_for_soil: float | None
    """[W/m-K]; Default: 1.1; Range: > 0.0"""
    thermal_conductivity_for_gravel: float | None
    """[W/m-K]; Default: 1.9; Range: > 0.0"""
    thermal_conductivity_for_wood: float | None
    """[W/m-K]; Default: 0.12; Range: > 0.0"""

class GroundHeatTransferBasementInsulation(IDFObject):
    """Describes the insulation used on an exterior basement wall for the Basement preprocessor ground heat transfer simulat..."""

    insfull_flag_is_the_wall_fully_insulated_: Literal["FALSE", "TRUE"] | None
    """True for full insulation False for insulation half way down side wall from grade line"""

class GroundHeatTransferBasementSurfaceProps(IDFObject):
    """Specifies the soil surface properties for the Basement preprocessor ground heat transfer simulation."""

    albedo_surface_albedo_for_snow_conditions: float | None
    """Default: 0.4; Range: >= 0.0, <= 1.0"""
    epsln_surface_emissivity_no_snow: float | None
    """Default: 0.94; Range: >= 0.0, <= 1.0"""
    epsln_surface_emissivity_with_snow: float | None
    """Default: 0.86; Range: >= 0.0, <= 1.0"""
    veght_surface_roughness_no_snow_conditions: float | None
    """[cm]; Default: 6.0; Range: >= 0.0"""
    veght_surface_roughness_snow_conditions: float | None
    """[cm]; Default: 0.25; Range: >= 0.0"""
    pet_flag_potential_evapotranspiration_on_: Literal["", "FALSE", "TRUE"] | None
    """Typically, PET is False; Default: FALSE"""

class GroundHeatTransferBasementBldgData(IDFObject):
    """Specifies the surface and gravel thicknesses used for the Basement preprocessor ground heat transfer simulation."""

    dslab_floor_slab_thickness: float | None
    """[m]; Default: 0.1; Range: > 0.0, <= 0.25"""
    dgravxy_width_of_gravel_pit_beside_basement_wall: float | None
    """[m]; Default: 0.3; Range: > 0.0"""
    dgravzn_gravel_depth_extending_above_the_floor_slab: float | None
    """[m]; Default: 0.2; Range: > 0.0"""
    dgravzp_gravel_depth_below_the_floor_slab: float | None
    """[m]; Default: 0.1; Range: > 0.0"""

class GroundHeatTransferBasementInterior(IDFObject):
    """Provides the information needed to simulate the inside boundary conditions for the Basement preprocessor ground heat ..."""

    hin_downward_convection_only_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 0.92; Range: > 0.0"""
    hin_upward_convection_only_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 4.04; Range: > 0.0"""
    hin_horizontal_convection_only_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 3.08; Range: > 0.0"""
    hin_downward_combined_convection_and_radiation_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 6.13; Range: > 0.0"""
    hin_upward_combined_convection_and_radiation_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 9.26; Range: > 0.0"""
    hin_horizontal_combined_convection_and_radiation_heat_transfer_coefficient: float | None
    """[W/m2-K]; Default: 8.29; Range: > 0.0"""

class GroundHeatTransferBasementComBldg(IDFObject):
    """ComBldg contains the monthly average temperatures (C) and possibility of daily variation amplitude"""

    february_average_temperature: float | None
    """[C]; Default: 22.0"""
    march_average_temperature: float | None
    """[C]; Default: 22.0"""
    april_average_temperature: float | None
    """[C]; Default: 22.0"""
    may_average_temperature: float | None
    """[C]; Default: 22.0"""
    june_average_temperature: float | None
    """[C]; Default: 22.0"""
    july_average_temperature: float | None
    """[C]; Default: 22.0"""
    august_average_temperature: float | None
    """[C]; Default: 22.0"""
    september_average_temperature: float | None
    """[C]; Default: 22.0"""
    october_average_temperature: float | None
    """[C]; Default: 22.0"""
    november_average_temperature: float | None
    """[C]; Default: 22.0"""
    december_average_temperature: float | None
    """[C]; Default: 22.0"""
    daily_variation_sine_wave_amplitude: float | None
    """(Normally zero, just for checking); [deltaC]; Default: 0.0"""

class GroundHeatTransferBasementEquivSlab(IDFObject):
    """Using an equivalent slab allows non-rectangular shapes to be modeled accurately. The simulation default should be Equ..."""

    equivsizing_flag: Literal["FALSE", "TRUE"] | None
    """Will the dimensions of an equivalent slab be calculated (TRUE) or will the dimensions be input directly? (FALSE)] Onl..."""

class GroundHeatTransferBasementEquivAutoGrid(IDFObject):
    """EquivAutoGrid necessary when EquivSizing=TRUE, TRUE is is the normal case."""

    slabdepth_thickness_of_the_floor_slab: float | None
    """[m]; Default: 0.1; Range: >= 0.0"""
    basedepth_depth_of_the_basement_wall_below_grade: float | None
    """[m]; Default: 2.0; Range: >= 0.0"""

class GroundHeatTransferBasementAutoGrid(IDFObject):
    """AutoGrid only necessary when EquivSizing is false If the modeled building is not a rectangle or square, Equivalent si..."""

    slabx_x_dimension_of_the_building_slab: float | None
    """[m]; Range: >= 0.0, <= 60.0"""
    slaby_y_dimension_of_the_building_slab: float | None
    """[m]; Range: >= 0.0, <= 60.0"""
    concagheight_height_of_the_foundation_wall_above_grade: float | None
    """[m]; Default: 0.0; Range: >= 0.0"""
    slabdepth_thickness_of_the_floor_slab: float | None
    """[m]; Default: 0.1"""
    basedepth_depth_of_the_basement_wall_below_grade: float | None
    """[m]; Default: 2.0; Range: >= 0.0"""

class GroundHeatTransferBasementManualGrid(IDFObject):
    """Manual Grid only necessary using manual gridding (not recommended)"""

    ny_number_of_cells_in_the_y_direction_20_: float | None
    """Range: >= 1.0"""
    nzag_number_of_cells_in_the_z_direction_above_grade_4_always_: float | None
    """Range: >= 1.0"""
    nzbg_number_of_cells_in_z_direction_below_grade_10_35_: float | None
    """Range: >= 1.0"""
    ibase_x_direction_cell_indicator_of_slab_edge_5_20_: float | None
    jbase_y_direction_cell_indicator_of_slab_edge_5_20_: float | None
    kbase_z_direction_cell_indicator_of_the_top_of_the_floor_slab_5_20_: float | None

class GroundHeatTransferBasementXFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) XFACE: X Direction cell face coordinates: m"""

class GroundHeatTransferBasementYFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) YFACE: Y Direction cell face coordinates: m"""

class GroundHeatTransferBasementZFACE(IDFObject):
    """This is only needed when using manual gridding (not recommended) ZFACE: Z Direction cell face coordinates: m"""

class RoomAirModelType(IDFObject):
    """Selects the type of room air model to be used in a given zone. If no RoomAirModelType object is specified then the de..."""

    zone_name: str | None
    room_air_modeling_type: (
        Literal[
            "",
            "AirflowNetwork",
            "CrossVentilation",
            "Mixing",
            "OneNodeDisplacementVentilation",
            "ThreeNodeDisplacementVentilation",
            "UnderFloorAirDistributionExterior",
            "UnderFloorAirDistributionInterior",
            "UserDefined",
        ]
        | None
    )
    """Mixing = Complete mixing air model UserDefined = UserDefined Room Air Temperature Patterns needs RoomAir:TemperatureP...; Default: Mixing"""
    air_temperature_coupling_strategy: Literal["", "Direct", "Indirect"] | None
    """Default: Direct"""

class RoomAirTemperaturePatternUserDefined(IDFObject):
    """Used to explicitly define temperature patterns that are to be applied to the mean air temperature within a thermal zo..."""

    zone_name: str | None
    availability_schedule_name: str | None
    """Availability schedule name for this model. Schedule value > 0 means the model is active. Schedule value = 0 means the..."""
    pattern_control_schedule_name: str | None
    """The schedule should contain integer values that correspond to unique Control Integer fields in one of the RoomAir:Tem..."""

class RoomAirTemperaturePatternConstantGradient(IDFObject):
    """Used to model room air with a fixed temperature gradient in the vertical direction. Used in combination with RoomAir:..."""

    control_integer_for_pattern_control_schedule_name: int | None
    """reference this entry in Schedule Name"""
    thermostat_offset: float | None
    """= (Temp at thermostat- Mean Air Temp); [deltaC]"""
    return_air_offset: float | None
    """= (Tleaving - Mean Air Temp ); [deltaC]"""
    exhaust_air_offset: float | None
    """= (Texhaust - Mean Air Temp) deg C; [deltaC]"""
    temperature_gradient: float | None
    """Slope of temperature change in vertical direction; [K/m]"""

class RoomAirTemperaturePatternTwoGradient(IDFObject):
    """Used to model room air with two temperature gradients in the vertical direction. Used in combination with RoomAir:Tem..."""

    control_integer_for_pattern_control_schedule_name: int | None
    """reference this entry in Schedule Name"""
    thermostat_height: float | None
    """= Distance from floor of zone; [m]"""
    return_air_height: float | None
    """= Distance from floor of zone; [m]"""
    exhaust_air_height: float | None
    """= Distance from floor of zone; [m]"""
    temperature_gradient_lower_bound: float | None
    """Slope of temperature change in vertical direction; [K/m]"""
    temperature_gradient_upper_bound: float | None
    """Slope of temperature change in vertical direction; [K/m]"""
    gradient_interpolation_mode: (
        Literal[
            "OutdoorDryBulbTemperature",
            "SensibleCoolingLoad",
            "SensibleHeatingLoad",
            "ZoneAndOutdoorTemperatureDifference",
            "ZoneDryBulbTemperature",
        ]
        | None
    )
    upper_temperature_bound: float | None
    """[C]"""
    lower_temperature_bound: float | None
    """[C]"""
    upper_heat_rate_bound: float | None
    """[W]"""
    lower_heat_rate_bound: float | None
    """[W]"""

class RoomAirTemperaturePatternNondimensionalHeight(IDFObject):
    """Defines a distribution pattern for air temperatures relative to the current mean air temperature as a function of hei..."""

    control_integer_for_pattern_control_schedule_name: int | None
    """this value should appear in as a schedule value"""
    thermostat_offset: float | None
    """= (Temp at thermostat- Mean Air Temp); [deltaC]"""
    return_air_offset: float | None
    """= (Temp leaving - Mean Air Temp ) deg C; [deltaC]"""
    exhaust_air_offset: float | None
    """= (Temp exhaust - Mean Air Temp) deg C the remaining fields have pairs that describe the relative temperature pattern...; [deltaC]"""
    pair_zeta_nondimensional_height: float | None
    pair_delta_adjacent_air_temperature: float | None

class RoomAirTemperaturePatternSurfaceMapping(IDFObject):
    """Defines a distribution pattern for the air temperatures adjacent to individual surfaces. This allows controlling the ..."""

    control_integer_for_pattern_control_schedule_name: int | None
    """reference this entry in schedule"""
    thermostat_offset: float | None
    """= (Temp at thermostat- Mean Air Temp); [deltaC]"""
    return_air_offset: float | None
    """= (Tleaving - Mean Air Temp ) deg C; [deltaC]"""
    exhaust_air_offset: float | None
    """= (Texhaust - Mean Air Temp) deg C; [deltaC]"""
    surface_name_pair: str | None
    delta_adjacent_air_temperature_pair: float | None

class RoomAirNode(IDFObject):
    """Define an air node for some types of nodal room air models"""

    node_type: Literal["Ceiling", "Control", "Floor", "Inlet", "MundtRoom", "Return"] | None
    zone_name: str | None
    height_of_nodal_control_volume_center: float | None
    """[m]"""
    surface_1_name: str | None
    surface_2_name: str | None
    surface_3_name: str | None
    surface_4_name: str | None
    surface_5_name: str | None
    surface_6_name: str | None
    surface_7_name: str | None
    surface_8_name: str | None
    surface_9_name: str | None
    surface_10_name: str | None
    surface_11_name: str | None
    surface_12_name: str | None
    surface_13_name: str | None
    surface_14_name: str | None
    surface_15_name: str | None
    surface_16_name: str | None
    surface_17_name: str | None
    surface_18_name: str | None
    surface_19_name: str | None
    surface_20_name: str | None
    surface_21_name: str | None

class RoomAirSettingsOneNodeDisplacementVentilation(IDFObject):
    """The Mundt model for displacement ventilation"""

    fraction_of_convective_internal_loads_added_to_floor_air: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_infiltration_internal_loads_added_to_floor_air: float | None
    """Range: >= 0.0, <= 1.0"""

class RoomAirSettingsThreeNodeDisplacementVentilation(IDFObject):
    """The UCSD model for Displacement Ventilation"""

    gain_distribution_schedule_name: str | None
    """Distribution of the convective heat gains between the occupied and mixed zones. 0<= Accepted Value <= 1. In the DV mo..."""
    number_of_plumes_per_occupant: float | None
    """Used only in the UCSD displacement ventilation model. Effective number of separate plumes per occupant in the occupie...; Default: 1.0; Range: > 0.0"""
    thermostat_height: float | None
    """Height of thermostat/temperature control sensor above floor; [m]; Default: 1.1; Range: > 0.0"""
    comfort_height: float | None
    """Height at which air temperature is calculated for comfort purposes; [m]; Default: 1.1; Range: > 0.0"""
    temperature_difference_threshold_for_reporting: float | None
    """Minimum temperature difference between predicted upper and lower layer temperatures above which DV auxiliary outputs ...; [deltaC]; Default: 0.4; Range: >= 0.0"""

class RoomAirSettingsCrossVentilation(IDFObject):
    """This UCSD Cross Ventilation Room Air Model provides a simple model for heat transfer and vertical temperature profile..."""

    gain_distribution_schedule_name: str | None
    """Distribution of the convective heat gains between the jet and recirculation zones. 0<= Accepted Value <= 1. In the CV..."""
    airflow_region_used_for_thermal_comfort_evaluation: Literal["Jet", "Recirculation"] | None
    """Required field whenever thermal comfort is predicted defines Air temperature and Airflow velocity that will be used i..."""

class RoomAirSettingsUnderFloorAirDistributionInterior(IDFObject):
    """This Room Air Model is applicable to interior spaces that are served by an underfloor air distribution system. The do..."""

    number_of_diffusers: float | Literal["", "Autocalculate"] | None
    """Total number of diffusers in this zone; Default: Autocalculate"""
    power_per_plume: float | Literal["", "Autocalculate"] | None
    """[W]; Default: Autocalculate"""
    design_effective_area_of_diffuser: float | Literal["", "Autocalculate"] | None
    """[m2]; Default: Autocalculate"""
    diffuser_slot_angle_from_vertical: float | Literal["", "Autocalculate"] | None
    """[deg]; Default: Autocalculate"""
    thermostat_height: float | None
    """Height of thermostat/temperature control sensor above floor; [m]; Default: 1.2; Range: > 0.0"""
    comfort_height: float | None
    """Height at which air temperature is calculated for comfort purposes; [m]; Default: 1.1; Range: > 0.0"""
    temperature_difference_threshold_for_reporting: float | None
    """Minimum temperature difference between predicted upper and lower layer temperatures above which UFAD auxiliary output...; [deltaC]; Default: 0.4; Range: >= 0.0"""
    floor_diffuser_type: Literal["", "Custom", "HorizontalSwirl", "LinearBarGrille", "Swirl", "VariableArea"] | None
    """Default: Swirl"""
    transition_height: float | Literal["", "Autocalculate"] | None
    """user-specified height above floor of boundary between occupied and upper subzones; [m]; Default: 1.7"""
    coefficient_a: float | Literal["", "Autocalculate"] | None
    """Coefficient A in Formula Kc = A*Gamma**B + C + D*Gamma + E*Gamma**2 Kc is the fraction of the total zone load attribu...; Default: Autocalculate"""
    coefficient_b: float | Literal["", "Autocalculate"] | None
    """Coefficient B in Formula Kc = A*Gamma**B + C + D*Gamma + E*Gamma**2 Kc is the fraction of the total zone load attribu...; Default: Autocalculate"""
    coefficient_c: float | Literal["", "Autocalculate"] | None
    """Coefficient C in Formula Kc = A*Gamma**B + C + D*Gamma + E*Gamma**2 Kc is the fraction of the total zone load attribu...; Default: Autocalculate"""
    coefficient_d: float | Literal["", "Autocalculate"] | None
    """Coefficient D in Formula Kc = A*Gamma**B + C + D*Gamma + E*Gamma**2 Kc is the fraction of the total zone load attribu...; Default: Autocalculate"""
    coefficient_e: float | Literal["", "Autocalculate"] | None
    """Coefficient E in Formula Kc = A*Gamma**B + C + D*Gamma + E*Gamma**2 Kc is the fraction of the total zone load attribu...; Default: Autocalculate"""

class RoomAirSettingsUnderFloorAirDistributionExterior(IDFObject):
    """Applicable to exterior spaces that are served by an underfloor air distribution system. The dominant sources of heat ..."""

    number_of_diffusers_per_zone: float | Literal["", "Autocalculate"] | None
    """Default: Autocalculate"""
    power_per_plume: float | Literal["", "Autocalculate"] | None
    """[W]; Default: Autocalculate"""
    design_effective_area_of_diffuser: float | Literal["", "Autocalculate"] | None
    """[m2]; Default: Autocalculate"""
    diffuser_slot_angle_from_vertical: float | Literal["", "Autocalculate"] | None
    """[deg]; Default: Autocalculate"""
    thermostat_height: float | None
    """Height of thermostat/temperature control sensor above floor; [m]; Default: 1.2; Range: > 0.0"""
    comfort_height: float | None
    """Height at which Air temperature is calculated for comfort purposes; [m]; Default: 1.1; Range: > 0.0"""
    temperature_difference_threshold_for_reporting: float | None
    """Minimum temperature difference between upper and lower layer temperatures above which UFAD auxiliary outputs are calc...; [deltaC]; Default: 0.4; Range: >= 0.0"""
    floor_diffuser_type: Literal["", "Custom", "HorizontalSwirl", "LinearBarGrille", "Swirl", "VariableArea"] | None
    """Default: Swirl"""
    transition_height: float | Literal["", "Autocalculate"] | None
    """User-specified height above floor of boundary between occupied and upper subzones; [m]; Default: 1.7"""
    coefficient_a_in_formula_kc_a_gamma_b_c_d_gamma_e_gamma_2: float | Literal["", "Autocalculate"] | None
    """Kc is the fraction of the total zone load attributable to the lower subzone; Default: Autocalculate"""
    coefficient_b_in_formula_kc_a_gamma_b_c_d_gamma_e_gamma_2: float | Literal["", "Autocalculate"] | None
    """Kc is the fraction of the total zone load attributable to the lower subzone; Default: Autocalculate"""
    coefficient_c_in_formula_kc_a_gamma_b_c_d_gamma_e_gamma_2: float | Literal["", "Autocalculate"] | None
    """Kc is the fraction of the total zone load attributable to the lower subzone; Default: Autocalculate"""
    coefficient_d_in_formula_kc_a_gamma_b_c_d_gamma_e_gamma_2: float | Literal["", "Autocalculate"] | None
    """Kc is the fraction of the total zone load attributable to the lower subzone; Default: Autocalculate"""
    coefficient_e_in_formula_kc_a_gamma_b_c_d_gamma_e_gamma_2: float | Literal["", "Autocalculate"] | None
    """Kc is the fraction of the total zone load attributable to the lower subzone; Default: Autocalculate"""

class RoomAirNodeAirflowNetwork(IDFObject):
    """define an air node for some types of nodal air models"""

    zone_name: str | None
    fraction_of_zone_air_volume: float | None
    """Range: >= 0.0, <= 1.0"""
    roomair_node_airflownetwork_adjacentsurfacelist_name: str | None
    roomair_node_airflownetwork_internalgains_name: str | None
    roomair_node_airflownetwork_hvacequipment_name: str | None

class RoomAirNodeAirflowNetworkAdjacentSurfaceList(IDFObject):
    surface_name: str | None

class RoomAirNodeAirflowNetworkInternalGains(IDFObject):
    """define the internal gains that are associated with one particular RoomAir:Node"""

    internal_gain_object_type: str | None
    internal_gain_object_name: str | None
    fraction_of_gains_to_node: float | None

class RoomAirNodeAirflowNetworkHVACEquipment(IDFObject):
    """define the zone equipment associated with one particular RoomAir:Node"""

    zonehvac_or_air_terminal_equipment_object_type: str | None
    zonehvac_or_air_terminal_equipment_object_name: str | None
    fraction_of_output_or_supply_air_from_hvac_equipment: float | None
    fraction_of_input_or_return_air_to_hvac_equipment: float | None

class RoomAirSettingsAirflowNetwork(IDFObject):
    """RoomAir modeling using Airflow pressure network solver"""

    zone_name: str | None
    """Name of Zone being described. Any existing zone name"""
    control_point_roomairflownetwork_node_name: str | None
    roomairflownetwork_node_name: str | None

class People(IDFObject):
    """Sets internal gains and contaminant rates for occupants in the zone. If a ZoneList, SpaceList, or a Zone comprised of..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    number_of_people_schedule_name: str | None
    """units in schedule should be fraction applied to number of people (0.0 - 1.0)"""
    number_of_people_calculation_method: Literal["", "Area/Person", "People", "People/Area"] | None
    """The entered calculation method is used to create the maximum number of people for this set of attributes (i.e. sensib...; Default: People"""
    number_of_people: float | None
    """Range: >= 0.0"""
    people_per_floor_area: float | None
    """[person/m2]; Range: >= 0.0; Since: 9.6.0"""
    floor_area_per_person: float | None
    """[m2/person]; Range: >= 0.0; Since: 9.6.0"""
    fraction_radiant: float | None
    """This is radiant fraction of the sensible heat released by people in a zone. This value will be multiplied by the tota...; Default: 0.3; Range: >= 0.0, <= 1.0"""
    sensible_heat_fraction: float | Literal["", "Autocalculate"] | None
    """if input, overrides program calculated sensible/latent split; Default: Autocalculate"""
    activity_level_schedule_name: str | None
    """Note that W has to be converted to mets in TC routine units in schedule are W/person"""
    carbon_dioxide_generation_rate: float | None
    """CO2 generation rate per unit of activity level. The default value is obtained from ASHRAE Std 62.1 at 0.0084 cfm/met/...; [m3/s-W]; Default: 3.82e-08; Range: >= 0.0, <= 3.82e-07"""
    enable_ashrae_55_comfort_warnings: Literal["", "No", "Yes"] | None
    """Default: No"""
    mean_radiant_temperature_calculation_type: Literal["", "AngleFactor", "EnclosureAveraged", "SurfaceWeighted"] | None
    """optional (only required for thermal comfort runs); Default: EnclosureAveraged"""
    surface_name_angle_factor_list_name: str | None
    """optional (only required for runs of thermal comfort models: Fanger, Pierce, KSU, CoolingEffectASH55 and AnkleDraftASH55)"""
    work_efficiency_schedule_name: str | None
    """units in schedule are 0.0 to 1.0 optional (only required for runs of thermal comfort models: Fanger, Pierce, KSU, Coo..."""
    clothing_insulation_calculation_method: (
        Literal["", "CalculationMethodSchedule", "ClothingInsulationSchedule", "DynamicClothingModelASHRAE55"] | None
    )
    """Default: ClothingInsulationSchedule"""
    clothing_insulation_calculation_method_schedule_name: str | None
    """a schedule value of 1 for the Scheduled method, and 2 for the DynamicClothingModelASHRAE55 method"""
    clothing_insulation_schedule_name: str | None
    """use 'Clo' from ASHRAE or Thermal Comfort guides optional (only required for runs of thermal comfort models: Fanger, P..."""
    air_velocity_schedule_name: str | None
    """units in the schedule are m/s optional (only required for runs of thermal comfort models: Fanger, Pierce, KSU, Coolin..."""
    thermal_comfort_model_1_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (only needed for people thermal comfort results reporting)"""
    thermal_comfort_model_2_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (second type of thermal comfort model and results reporting)"""
    thermal_comfort_model_3_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (third thermal comfort model and report type)"""
    thermal_comfort_model_4_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (fourth thermal comfort model and report type)"""
    thermal_comfort_model_5_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (fifth thermal comfort model and report type)"""
    thermal_comfort_model_6_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (sixth thermal comfort model and report type); Since: 9.5.0"""
    thermal_comfort_model_7_type: (
        Literal["AdaptiveASH55", "AdaptiveCEN15251", "AnkleDraftASH55", "CoolingEffectASH55", "Fanger", "KSU", "Pierce"]
        | None
    )
    """optional (seventh thermal comfort model and report type); Since: 9.5.0"""
    ankle_level_air_velocity_schedule_name: str | None
    """units in the schedule are m/s this is the schedule of the air speed at the 0.1 m above the floor optional (only requi...; Since: 9.5.0"""
    cold_stress_temperature_threshold: float | None
    """this is the indoor safe temperature threshold for cold stress; [C]; Default: 15.56; Since: 22.2.0"""
    heat_stress_temperature_threshold: float | None
    """this is the indoor safe temperature threshold for heat stress; [C]; Default: 30.0; Since: 22.2.0"""

class ComfortViewFactorAngles(IDFObject):
    """Used to specify radiant view factors for thermal comfort calculations. Note that the following angle factor fractions..."""

    surface_name: str | None
    """Since: 25.2.0"""
    angle_factor: float | None
    """Since: 25.2.0"""

class Lights(IDFObject):
    """Sets internal gains for lights in the zone. If a ZoneList, SpaceList, or a Zone comprised of more than one Space is s..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in schedule should be fraction applied to design level of lights, generally (0.0 - 1.0)"""
    design_level_calculation_method: Literal["", "LightingLevel", "Watts/Area", "Watts/Person"] | None
    """The entered calculation method is used to create the maximum amount of lights for this set of attributes Choices: Lig...; Default: LightingLevel"""
    lighting_level: float | None
    """[W] (W); Range: >= 0.0"""
    watts_per_floor_area: float | None
    """[W/m2] (W/ft2); Range: >= 0.0; Since: 24.1.0"""
    watts_per_person: float | None
    """[W/person] (W/person); Range: >= 0.0"""
    return_air_fraction: float | None
    """Used only for sizing calculation if return-air-fraction coefficients are specified.; Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_visible: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_replaceable: float | None
    """For Daylighting:Controls must be 0 or 1: 0 = no dimming control, 1 = full dimming control; Default: 1.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    return_air_fraction_calculated_from_plenum_temperature: Literal["", "No", "Yes"] | None
    """Default: No"""
    return_air_fraction_function_of_plenum_temperature_coefficient_1: float | None
    """Used only if Return Air Fraction Is Calculated from Plenum Temperature = Yes Equation is Return Air Fraction = Coeffi...; Default: 0.0; Range: >= 0.0"""
    return_air_fraction_function_of_plenum_temperature_coefficient_2: float | None
    """Used only if Return Air Fraction Is Calculated from Plenum Temperature = Yes Equation is Return Air Fraction = Coeffi...; [1/K]; Default: 0.0; Range: >= 0.0"""
    return_air_heat_gain_node_name: str | None
    """Name of the return air node for this heat gain. If left blank, defaults to the first return air node for the zone. Le..."""
    exhaust_air_heat_gain_node_name: str | None
    """Name of the exhaust air node for this heat gain. If the node name is entered, return heat gain will be shared by both...; Since: 9.6.0"""

class ElectricEquipment(IDFObject):
    """Sets internal gains for electric equipment in the zone. If a ZoneList, SpaceList, or a Zone comprised of more than on..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in schedule should be fraction applied to design level of electric equipment, generally (0.0 - 1.0)"""
    design_level_calculation_method: Literal["", "EquipmentLevel", "Watts/Area", "Watts/Person"] | None
    """The entered calculation method is used to create the maximum amount of electric equipment for this set of attributes ...; Default: EquipmentLevel"""
    design_level: float | None
    """[W] (W); Range: >= 0.0"""
    watts_per_floor_area: float | None
    """[W/m2] (W/ft2); Range: >= 0.0; Since: 24.1.0"""
    watts_per_person: float | None
    """[W/person] (W/person); Range: >= 0.0"""
    fraction_latent: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_lost: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class GasEquipment(IDFObject):
    """Sets internal gains and contaminant rates for gas equipment in the zone. If a ZoneList, SpaceList, or a Zone comprise..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to design level of gas equipment, generally (0.0 - 1.0)"""
    design_level_calculation_method: (
        Literal["", "EquipmentLevel", "Power/Area", "Power/Person", "Watts/Area", "Watts/Person"] | None
    )
    """The entered calculation method is used to create the maximum amount of gas equipment for this set of attributes Choic...; Default: EquipmentLevel"""
    design_level: float | None
    """[W] (Btu/h); Range: >= 0.0"""
    power_per_floor_area: float | None
    """[W/m2] (Btu/h-ft2); Range: >= 0.0; Since: 24.1.0"""
    power_per_person: float | None
    """[W/person] (Btu/h-person); Range: >= 0.0"""
    fraction_latent: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_lost: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    carbon_dioxide_generation_rate: float | None
    """CO2 generation rate per unit of power input The default value assumes the equipment is fully vented. For unvented equ...; [m3/s-W] ((ft3/min)/(Btu/h)); Default: 0.0; Range: >= 0.0, <= 4e-07"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class HotWaterEquipment(IDFObject):
    """Sets internal gains for hot water equipment in the zone. If a ZoneList, SpaceList, or a Zone comprised of more than o..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to design level of hot water equipment, generally (0.0 - 1.0)"""
    design_level_calculation_method: (
        Literal["", "EquipmentLevel", "Power/Area", "Power/Person", "Watts/Area", "Watts/Person"] | None
    )
    """The entered calculation method is used to create the maximum amount of hot water equipment for this set of attributes...; Default: EquipmentLevel"""
    design_level: float | None
    """[W] (Btu/h); Range: >= 0.0"""
    power_per_floor_area: float | None
    """[W/m2] (Btu/h-ft2); Range: >= 0.0; Since: 24.1.0"""
    power_per_person: float | None
    """[W/person] (Btu/h-person); Range: >= 0.0"""
    fraction_latent: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_lost: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class SteamEquipment(IDFObject):
    """Sets internal gains for steam equipment in the zone. If a ZoneList, SpaceList, or a Zone comprised of more than one S..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to design level of steam equipment, generally (0.0 - 1.0)"""
    design_level_calculation_method: (
        Literal["", "EquipmentLevel", "Power/Area", "Power/Person", "Watts/Area", "Watts/Person"] | None
    )
    """The entered calculation method is used to create the maximum amount of steam equipment for this set of attributes Cho...; Default: EquipmentLevel"""
    design_level: float | None
    """[W] (Btu/h); Range: >= 0.0"""
    power_per_floor_area: float | None
    """[W/m2] (Btu/h-ft2); Range: >= 0.0; Since: 24.1.0"""
    power_per_person: float | None
    """[W/person] (Btu/h-person); Range: >= 0.0"""
    fraction_latent: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_lost: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class OtherEquipment(IDFObject):
    """Sets internal gains or losses for 'other' equipment in the zone. If a ZoneList, SpaceList, or a Zone comprised of mor..."""

    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "None",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: None"""
    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to design level of other equipment, generally (0.0 - 1.0)"""
    design_level_calculation_method: (
        Literal["", "EquipmentLevel", "Power/Area", "Power/Person", "Watts/Area", "Watts/Person"] | None
    )
    """The entered calculation method is used to create the maximum amount of other equipment. to set a loss, use a negative...; Default: EquipmentLevel"""
    design_level: float | None
    """[W] (Btu/h)"""
    power_per_floor_area: float | None
    """[W/m2] (Btu/h-ft2); Since: 24.1.0"""
    power_per_person: float | None
    """[W/person] (Btu/h-person)"""
    fraction_latent: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_lost: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    carbon_dioxide_generation_rate: float | None
    """CO2 generation rate per unit of power input The default value assumes the equipment is fully vented.; [m3/s-W] ((ft3/min)/(Btu/h)); Default: 0.0; Range: >= 0.0, <= 4e-07"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class IndoorLivingWall(IDFObject):
    """Indoor greenery systems such as indoor living walls are panels of plants, which grow hydroponically or from substrate...; Since: 24.1.0"""

    surface_name: str | None
    """Name of the wall partition where indoor green is located."""
    schedule_name: str | None
    """units in Schedule should be fraction applied to design level of other equipment, generally (0.0 - 1.0)"""
    evapotranspiration_calculation_method: Literal["", "Penman-Monteith", "Stanghellini"] | None
    """Model selection for calculating evapotranspiration of indoor greenery system. This rate can also be actuated with use...; Default: Penman-Monteith"""
    lighting_method: Literal["Daylight", "LED", "LED-Daylight"] | None
    """Three different methods are provided here (LED; Daylight; LED-Daylight)"""
    led_intensity_schedule_name: str | None
    """Since: 24.2.0"""
    daylighting_control_name: str | None
    """If daylighting is used in the selected lighting methods (Daylight or LED-Daylight), users should define an object of ..."""
    led_daylight_targeted_lighting_intensity_schedule_name: str | None
    """This field defines targeted LED intensity level for indoor living wall systems. The schedule values can be any positi..."""
    total_leaf_area: float | None
    """The value is the one-sided leaf area of an indoor living wall. Based on the users' input, LAI is calculated as the ra...; [m2] (ft2)"""
    led_nominal_intensity: float | None
    """The value represents photosynthetic photon flux density (PPFD) of LED grow light. PPFD is measured in micro-mole per ...; [umol/m2-s] (umol/ft2-s); Since: 24.2.0"""
    led_nominal_power: float | None
    """This field defines nominal total LED power for an indoor living wall system.; [W] (W)"""
    radiant_fraction_of_led_lights: float | None
    """This field defines the fraction of radiation from LED lights; Default: 0.6; Range: >= 0.0, <= 1.0"""

class ElectricEquipmentITEAirCooled(IDFObject):
    """This object describes air-cooled electric information technology equipment (ITE) which has variable power consumption..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 9.6.0"""
    air_flow_calculation_method: Literal["", "FlowControlWithApproachTemperatures", "FlowFromSystem"] | None
    """The specified method is used to calculate the IT inlet temperature and zone return air temperature. If FlowFromSystem...; Default: FlowFromSystem"""
    design_power_input_calculation_method: Literal["", "Watts/Area", "Watts/Unit"] | None
    """The entered calculation method is used to specify the design power input Watts/Unit => Watts per Unit -- Design Power...; Default: Watts/Unit"""
    watts_per_unit: float | None
    """[W] (W); Range: >= 0.0"""
    number_of_units: float | None
    """Default: 1.0; Range: >= 0.0"""
    watts_per_floor_area: float | None
    """[W/m2] (W/ft2); Range: >= 0.0; Since: 24.1.0"""
    design_power_input_schedule_name: str | None
    """Operating schedule for this equipment, fraction applied to the design power input, generally (0.0 - 1.0) If this fiel..."""
    cpu_loading_schedule_name: str | None
    """CPU loading schedule for this equipment as a fraction from 0.0 (idle) to 1.0 (full load). If this field is blank, the..."""
    cpu_power_input_function_of_loading_and_air_temperature_curve_name: str | None
    """The name of a two-variable curve or table lookup object which modifies the CPU power input as a function of CPU loadi..."""
    design_fan_power_input_fraction: float | None
    """The fraction of the total power input at design conditions which is for the cooling fan(s); Default: 0.0; Range: >= 0.0, <= 1.0"""
    design_fan_air_flow_rate_per_power_input: float | None
    """The cooling fan air flow rate per total electric power input at design conditions; [m3/s-W]; Range: >= 0.0"""
    air_flow_function_of_loading_and_air_temperature_curve_name: str | None
    """The name of a two-variable curve or table lookup object which modifies the cooling air flow rate as a function of CPU..."""
    fan_power_input_function_of_flow_curve_name: str | None
    """The name of a single-variable curve or table lookup object which modifies the cooling fan power as a function of flow..."""
    design_entering_air_temperature: float | None
    """The entering air temperature at design conditions.; [C]; Default: 15.0"""
    environmental_class: Literal["", "A1", "A2", "A3", "A4", "B", "C", "H1", "None"] | None
    """Specifies the allowable operating conditions for the air inlet conditions. Used for reporting time outside allowable ...; Default: None"""
    air_inlet_connection_type: Literal["", "AdjustedSupply", "RoomAirModel", "ZoneAirNode"] | None
    """Specifies the type of connection between the zone and the ITE air inlet node. AdjustedSupply = ITE inlet temperature ...; Default: AdjustedSupply"""
    air_inlet_room_air_model_node_name: str | None
    """Name of a RoomAir:Node object which is connected to the ITE air inlet."""
    air_outlet_room_air_model_node_name: str | None
    """Name of a RoomAir:Node object which is connected to the ITE air outlet."""
    supply_air_node_name: str | None
    """Name of the supply air inlet node serving this ITE. Required if the Air Node Connection Type = AdjustedSupply. Also r..."""
    design_recirculation_fraction: float | None
    """The recirculation fraction for this equipment at design conditions. This field is used only if the Air Node Connectio...; Default: 0.0; Range: >= 0.0, <= 0.5"""
    recirculation_function_of_loading_and_supply_temperature_curve_name: str | None
    """The name of a two-variable curve or table lookup object which modifies the recirculation fraction as a function of CP..."""
    design_electric_power_supply_efficiency: float | None
    """The efficiency of the power supply system serving this ITE; Default: 1.0; Range: > 0.0, <= 1.0"""
    electric_power_supply_efficiency_function_of_part_load_ratio_curve_name: str | None
    """The name of a single-variable curve or table lookup object which modifies the electric power supply efficiency as a f..."""
    fraction_of_electric_power_supply_losses_to_zone: float | None
    """Fraction of the electric power supply losses which are a heat gain to the zone If this field is <1.0, the remainder o...; Default: 1.0; Range: >= 0.0, <= 1.0"""
    cpu_end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: ITE-CPU"""
    fan_end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: ITE-Fans"""
    electric_power_supply_end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: ITE-UPS"""
    supply_temperature_difference: float | None
    """The difference of the IT inlet temperature from the AHU supply air temperature. Either Supply Temperature Difference ...; [deltaC]"""
    supply_temperature_difference_schedule: str | None
    """The difference schedule of the IT inlet temperature from the AHU supply air temperature. Either Supply Temperature Di..."""
    return_temperature_difference: float | None
    """The difference of the the actual AHU return air temperature to the IT equipment outlet temperature. Either Return Tem...; [deltaC]"""
    return_temperature_difference_schedule: str | None
    """The difference schedule of the actual AHU return air temperature to the IT equipment outlet temperature. Either Retur..."""

class ZoneBaseboardOutdoorTemperatureControlled(IDFObject):
    """Specifies outside temperature-controlled electric baseboard heating. If a ZoneList, SpaceList, or a Zone comprised of..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 9.6.0"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to capacity of the baseboard heat equipment, generally (0.0 - 1.0)"""
    capacity_at_low_temperature: float | None
    """[W]; Range: > 0.0"""
    low_temperature: float | None
    """[C]"""
    capacity_at_high_temperature: float | None
    """[W]; Range: >= 0.0"""
    high_temperature: float | None
    """[C]"""
    fraction_radiant: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class SwimmingPoolIndoor(IDFObject):
    """Specifies an indoor swimming pools linked to a floor surface. The pool is assumed to cover the entire floor to which ..."""

    surface_name: str | None
    """Name of the floor surface where the pool is located."""
    average_depth: float | None
    """[m]"""
    activity_factor_schedule_name: str | None
    make_up_water_supply_schedule_name: str | None
    cover_schedule_name: str | None
    cover_evaporation_factor: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    cover_convection_factor: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    cover_short_wavelength_radiation_factor: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    cover_long_wavelength_radiation_factor: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    pool_water_inlet_node: str | None
    pool_water_outlet_node: str | None
    pool_heating_system_maximum_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    pool_miscellaneous_equipment_power: float | None
    """Power input per pool water flow rate; [W/(m3/s)] (W/(gal/min)); Range: >= 0.0"""
    setpoint_temperature_schedule: str | None
    maximum_number_of_people: float | None
    """Range: >= 0.0"""
    people_schedule: str | None
    people_heat_gain_schedule: str | None

class ZoneContaminantSourceAndSinkCarbonDioxide(IDFObject):
    """Represents internal CO2 gains and sinks in the zone."""

    zone_name: str | None
    design_generation_rate: float | None
    """Positive values represent sources and negative values represent sinks.; [m3/s]"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Design Generation Rate"""

class ZoneContaminantSourceAndSinkGenericConstant(IDFObject):
    """Sets internal generic contaminant gains and sinks in a zone with constant values."""

    zone_name: str | None
    design_generation_rate: float | None
    """The values represent source.; [m3/s]; Range: >= 0.0"""
    generation_schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Design Generation Rate"""
    design_removal_coefficient: float | None
    """The value represent sink.; [m3/s]; Range: >= 0.0"""
    removal_schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Design removal Coefficient"""

class SurfaceContaminantSourceAndSinkGenericPressureDriven(IDFObject):
    """Simulate generic contaminant source driven by the pressure difference across a surface."""

    surface_name: str | None
    design_generation_rate_coefficient: float | None
    """[m3/s]; Range: >= 0.0"""
    generation_schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Design Generation Rate Coefficient"""
    generation_exponent: float | None
    """[dimensionless]; Range: > 0.0, <= 1.0"""

class ZoneContaminantSourceAndSinkGenericCutoffModel(IDFObject):
    """Simulate generic contaminant source driven by the cutoff concentration model."""

    zone_name: str | None
    design_generation_rate_coefficient: float | None
    """[m3/s]; Range: >= 0.0"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Design Generation Rate Coefficient"""
    cutoff_generic_contaminant_at_which_emission_ceases: float | None
    """When the zone concentration level is greater than the cutoff level, emission stops, and the source level is zero.; [ppm]; Range: > 0.0"""

class ZoneContaminantSourceAndSinkGenericDecaySource(IDFObject):
    """Simulate generic contaminant source driven by the cutoff concentration model."""

    zone_name: str | None
    initial_emission_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Initial Emission Rate. When the valu..."""
    delay_time_constant: float | None
    """[s]; Range: > 0.0"""

class SurfaceContaminantSourceAndSinkGenericBoundaryLayerDiffusion(IDFObject):
    """Simulate generic contaminant source driven by the boundary layer diffusion controlled model."""

    surface_name: str | None
    mass_transfer_coefficient: float | None
    """[m/s]; Range: >= 0.0"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Initial Emission Rate. When the valu..."""
    henry_adsorption_constant_or_partition_coefficient: float | None
    """[dimensionless]; Range: > 0.0"""

class SurfaceContaminantSourceAndSinkGenericDepositionVelocitySink(IDFObject):
    """Simulate generic contaminant source driven by the boundary layer diffusion controlled model."""

    surface_name: str | None
    deposition_velocity: float | None
    """[m/s]; Range: >= 0.0"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Initial Emission Rate. When the valu..."""

class ZoneContaminantSourceAndSinkGenericDepositionRateSink(IDFObject):
    """Simulate generic contaminant source driven by the boundary layer diffusion controlled model."""

    zone_name: str | None
    deposition_rate: float | None
    """[m/s]; Range: >= 0.0"""
    schedule_name: str | None
    """Value in this schedule should be a fraction (generally 0.0 - 1.0) applied to the Initial Emission Rate. When the valu..."""

class DaylightingControls(IDFObject):
    """Dimming of overhead electric lighting is determined from each reference point. Glare from daylighting is also calcula..."""

    zone_or_space_name: str | None
    """Since: 9.6.0"""
    daylighting_method: Literal["", "DElight", "SplitFlux"] | None
    """Default: SplitFlux"""
    availability_schedule_name: str | None
    lighting_control_type: Literal["", "Continuous", "ContinuousOff", "Stepped"] | None
    """Default: Continuous"""
    minimum_input_power_fraction_for_continuous_or_continuousoff_dimming_control: float | None
    """Default: 0.3; Range: >= 0.0, <= 0.6"""
    minimum_light_output_fraction_for_continuous_or_continuousoff_dimming_control: float | None
    """Default: 0.2; Range: >= 0.0, <= 0.6"""
    number_of_stepped_control_steps: int | None
    """The number of steps, excluding off, in a stepped lighting control system. If Lighting Control Type is Stepped, this f...; Default: 1; Range: >= 1"""
    probability_lighting_will_be_reset_when_needed_in_manual_stepped_control: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    glare_calculation_daylighting_reference_point_name: str | None
    glare_calculation_azimuth_angle_of_view_direction_clockwise_from_zone_y_axis: float | None
    """[deg]; Default: 0.0; Range: >= 0.0, <= 360.0"""
    maximum_allowable_discomfort_glare_index: float | None
    """The default is for general office work; Default: 22.0; Range: >= 1.0"""
    delight_gridding_resolution: float | None
    """Maximum surface area for nodes in gridding all surfaces in the DElight zone. All reflective and transmitting surfaces...; [m2]; Range: > 0.0"""
    daylighting_reference_point_name: str | None
    fraction_of_lights_controlled_by_reference_point: float | None
    """Since: 9.6.0"""
    illuminance_setpoint_at_reference_point: float | None

class DaylightingReferencePoint(IDFObject):
    """Used by Daylighting:Controls to identify the reference point coordinates for each sensor. Reference points are given ..."""

    zone_or_space_name: str | None
    """Since: 9.6.0"""
    x_coordinate_of_reference_point: float | None
    """[m]"""
    y_coordinate_of_reference_point: float | None
    """[m]"""
    z_coordinate_of_reference_point: float | None
    """[m]; Default: 0.8"""

class DaylightingDELightComplexFenestration(IDFObject):
    """Used for DElight Complex Fenestration of all types"""

    complex_fenestration_type: str | None
    """Used to select the appropriate Complex Fenestration BTDF data"""
    building_surface_name: str | None
    """This is a reference to a valid surface object (such as BuildingSurface:Detailed) hosting this complex fenestration, a..."""
    window_name: str | None
    """This is a reference to a valid FenestrationSurface:Detailed window object used to account for the geometry, and the s..."""
    fenestration_rotation: float | None
    """In-plane counter-clockwise rotation angle of the Complex Fenestration optical reference direction and the base edge o...; [deg]; Default: 0.0"""

class DaylightingDeviceTubular(IDFObject):
    """Defines a tubular daylighting device (TDD) consisting of three components: a dome, a pipe, and a diffuser. The dome a..."""

    dome_name: str | None
    """This must refer to a subsurface object of type TubularDaylightDome"""
    diffuser_name: str | None
    """This must refer to a subsurface object of type TubularDaylightDiffuser Delivery zone is specified in the diffuser object"""
    construction_name: str | None
    diameter: float | None
    """[m]; Range: > 0.0"""
    total_length: float | None
    """The exterior exposed length is the difference between total and sum of zone lengths; [m]; Range: > 0.0"""
    effective_thermal_resistance: float | None
    """R value between TubularDaylightDome and TubularDaylightDiffuser; [m2-K/W]; Default: 0.28; Range: > 0.0"""
    transition_zone_name: str | None
    transition_zone_length: float | None

class DaylightingDeviceShelf(IDFObject):
    """Defines a daylighting which can have an inside shelf, an outside shelf, or both. The inside shelf is defined as a bui..."""

    window_name: str | None
    inside_shelf_name: str | None
    """This must refer to a BuildingSurface:Detailed or equivalent object This surface must be its own Surface for other sid..."""
    outside_shelf_name: str | None
    """This must refer to a Shading:Zone:Detailed object"""
    outside_shelf_construction_name: str | None
    """Required if outside shelf is specified"""
    view_factor_to_outside_shelf: float | None
    """Range: >= 0.0, <= 1.0"""

class DaylightingDeviceLightWell(IDFObject):
    """Applies only to exterior windows in daylighting-controlled zones or in zones that share an interior window with a day..."""

    height_of_well: float | None
    """Distance from Bottom of Window to Bottom of Well; [m]; Range: >= 0.0"""
    perimeter_of_bottom_of_well: float | None
    """[m]; Range: > 0.0"""
    area_of_bottom_of_well: float | None
    """[m2]; Range: > 0.0"""
    visible_reflectance_of_well_walls: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""

class OutputDaylightFactors(IDFObject):
    """Reports hourly daylight factors for each exterior window for four sky types (clear, turbid clear, intermediate, and o..."""

class OutputIlluminanceMap(IDFObject):
    """reference points are given in coordinates specified in the GlobalGeometryRules object Daylighting Reference Point Coo..."""

    zone_or_space_name: str | None
    """Since: 24.2.0"""
    z_height: float | None
    """[m]; Default: 0.0"""
    x_minimum_coordinate: float | None
    """[m]; Default: 0.0"""
    x_maximum_coordinate: float | None
    """[m]; Default: 1.0"""
    number_of_x_grid_points: int | None
    """Maximum number of total grid points must be <= 2500 (X*Y); Default: 2; Range: >= 1"""
    y_minimum_coordinate: float | None
    """[m]; Default: 0.0"""
    y_maximum_coordinate: float | None
    """[m]; Default: 1.0"""
    number_of_y_grid_points: int | None
    """Maximum number of total grid points must be <= 2500 (X*Y); Default: 2; Range: >= 1"""

class OutputControlIlluminanceMapStyle(IDFObject):
    """default style for the Daylighting Illuminance Map is comma -- this works well for importing into spreadsheet programs..."""

class ZoneInfiltrationDesignFlowRate(IDFObject):
    """Infiltration is specified as a design level which is modified by a Schedule fraction, temperature difference and wind..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    design_flow_rate_calculation_method: (
        Literal["", "AirChanges/Hour", "Flow/Area", "Flow/ExteriorArea", "Flow/ExteriorWallArea", "Flow/Zone"] | None
    )
    """The entered calculation method is used to create the maximum amount of infiltration for this set of attributes Choice...; Default: Flow/Zone"""
    design_flow_rate: float | None
    """[m3/s] (ft3/min); Range: >= 0.0"""
    flow_rate_per_floor_area: float | None
    """[m3/s-m2]; Range: >= 0.0; Since: 22.2.0"""
    flow_rate_per_exterior_surface_area: float | None
    """use key Flow/ExteriorArea for all exterior surface area use key Flow/ExteriorWallArea to include only exterior wall area; [m3/s-m2]; Range: >= 0.0; Since: 22.2.0"""
    air_changes_per_hour: float | None
    """[1/hr]; Range: >= 0.0"""
    constant_term_coefficient: float | None
    """'A' in Equation; Default: 1.0"""
    temperature_term_coefficient: float | None
    """'B' in Equation; Default: 0.0"""
    velocity_term_coefficient: float | None
    """'C' in Equation; Default: 0.0"""
    velocity_squared_term_coefficient: float | None
    """'D' in Equation; Default: 0.0"""
    density_basis: Literal["", "Indoor", "Outdoor", "Standard"] | None
    """The air density to use when converting from volume flow to mass flow.; Default: Outdoor; Since: 25.1.0"""

class ZoneInfiltrationEffectiveLeakageArea(IDFObject):
    """Infiltration is specified as effective leakage area at 4 Pa, schedule fraction, stack and wind coefficients, and is a..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    effective_air_leakage_area: float | None
    """'AL' in Equation units are cm2 (square centimeters); [cm2]; Range: > 0.0"""
    stack_coefficient: float | None
    """'Cs' in Equation; Range: > 0.0"""
    wind_coefficient: float | None
    """'Cw' in Equation; Range: > 0.0"""

class ZoneInfiltrationFlowCoefficient(IDFObject):
    """Infiltration is specified as flow coefficient, schedule fraction, stack and wind coefficients, and is a function of t..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    flow_coefficient: float | None
    """'c' in Equation; Range: > 0.0"""
    stack_coefficient: float | None
    """'Cs' in Equation; Range: > 0.0"""
    pressure_exponent: float | None
    """'n' in Equation; Default: 0.67; Range: > 0.0"""
    wind_coefficient: float | None
    """'Cw' in Equation; Range: > 0.0"""
    shelter_factor: float | None
    """'s' in Equation; Range: > 0.0"""

class ZoneVentilationDesignFlowRate(IDFObject):
    """Ventilation is specified as a design level which is modified by a schedule fraction, temperature difference and wind ..."""

    zone_or_zonelist_or_space_or_spacelist_name: str | None
    """Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    design_flow_rate_calculation_method: Literal["", "AirChanges/Hour", "Flow/Area", "Flow/Person", "Flow/Zone"] | None
    """The entered calculation method is used to create the maximum amount of ventilation for this set of attributes Choices...; Default: Flow/Zone"""
    design_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    flow_rate_per_floor_area: float | None
    """[m3/s-m2]; Range: >= 0.0; Since: 22.2.0"""
    flow_rate_per_person: float | None
    """[m3/s-person]; Range: >= 0.0"""
    air_changes_per_hour: float | None
    """[1/hr]; Range: >= 0.0"""
    ventilation_type: Literal["", "Balanced", "Exhaust", "Intake", "Natural"] | None
    """Default: Natural"""
    fan_pressure_rise: float | None
    """pressure rise across the fan; [Pa]; Default: 0.0; Range: >= 0.0"""
    fan_total_efficiency: float | None
    """Default: 1.0; Range: > 0.0"""
    constant_term_coefficient: float | None
    """'A' in Equation; Default: 1.0"""
    temperature_term_coefficient: float | None
    """'B' in Equation; Default: 0.0"""
    velocity_term_coefficient: float | None
    """'C' in Equation; Default: 0.0"""
    velocity_squared_term_coefficient: float | None
    """'D' in Equation; Default: 0.0"""
    minimum_indoor_temperature: float | None
    """this is the indoor temperature below which ventilation is shutoff; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    minimum_indoor_temperature_schedule_name: str | None
    """This schedule contains the indoor temperature versus time below which ventilation is shutoff."""
    maximum_indoor_temperature: float | None
    """this is the indoor temperature above which ventilation is shutoff; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    maximum_indoor_temperature_schedule_name: str | None
    """This schedule contains the indoor temperature versus time above which ventilation is shutoff."""
    delta_temperature: float | None
    """This is the temperature differential between indoor and outdoor below which ventilation is shutoff. If ((IndoorTemp -...; [deltaC]; Default: -100.0; Range: >= -100.0"""
    delta_temperature_schedule_name: str | None
    """This schedule contains the temperature differential between indoor and outdoor versus time below which ventilation is..."""
    minimum_outdoor_temperature: float | None
    """this is the outdoor temperature below which ventilation is shutoff; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    minimum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time below which ventilation is shutoff."""
    maximum_outdoor_temperature: float | None
    """this is the outdoor temperature above which ventilation is shutoff; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    maximum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time above which ventilation is shutoff."""
    maximum_wind_speed: float | None
    """this is the outdoor wind speed above which ventilation is shutoff; [m/s]; Default: 40.0; Range: >= 0.0, <= 40.0"""
    density_basis: Literal["", "Indoor", "Outdoor", "Standard"] | None
    """The air density to use when converting from volume flow to mass flow.; Default: Outdoor; Since: 25.1.0"""

class ZoneVentilationWindandStackOpenArea(IDFObject):
    """This object is specified as natural ventilation driven by wind and stack effect only: Ventilation Wind = Cw * Opening..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 22.2.0"""
    opening_area: float | None
    """This is the opening area used to calculate stack effect and wind driven ventilation.; [m2]; Default: 0.0; Range: >= 0.0"""
    opening_area_fraction_schedule_name: str | None
    """This schedule contains the fraction values applied to the opening area given in the previous input field (0.0 - 1.0)...."""
    opening_effectiveness: float | Literal["", "Autocalculate"] | None
    """This field is used to calculate wind driven ventilation. 'Cw' in the wind-driven equation and the maximum value is 1....; [dimensionless]; Default: Autocalculate"""
    effective_angle: float | None
    """This field is defined as normal angle of the opening area and is used when input field Opening Effectiveness = Autoca...; [deg]; Default: 0.0; Range: >= 0.0, < 360.0"""
    height_difference: float | None
    """This is the height difference between the midpoint of an opening and the neutral pressure level. 'DH' in the stack eq...; [m]; Default: 0.0; Range: >= 0.0"""
    discharge_coefficient_for_opening: float | Literal["", "Autocalculate"] | None
    """This is the discharge coefficient used to calculate stack effect. 'Cd' in the stack equation and the maximum value is...; Default: Autocalculate"""
    minimum_indoor_temperature: float | None
    """This is the indoor temperature below which ventilation is shutoff.; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    minimum_indoor_temperature_schedule_name: str | None
    """This schedule contains the indoor temperature versus time below which ventilation is shutoff."""
    maximum_indoor_temperature: float | None
    """This is the indoor temperature above which ventilation is shutoff.; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    maximum_indoor_temperature_schedule_name: str | None
    """This schedule contains the indoor temperature versus time above which ventilation is shutoff."""
    delta_temperature: float | None
    """This is the temperature differential between indoor and outdoor below which ventilation is shutoff.; [deltaC]; Default: -100.0; Range: >= -100.0"""
    delta_temperature_schedule_name: str | None
    """This schedule contains the temperature differential between indoor and outdoor versus time below which ventilation is..."""
    minimum_outdoor_temperature: float | None
    """This is the outdoor temperature below which ventilation is shutoff.; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    minimum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time below which ventilation is shutoff."""
    maximum_outdoor_temperature: float | None
    """This is the outdoor temperature above which ventilation is shutoff.; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    maximum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time above which ventilation is shutoff."""
    maximum_wind_speed: float | None
    """This is the outdoor wind speed above which ventilation is shutoff.; [m/s]; Default: 40.0; Range: >= 0.0, <= 40.0"""

class ZoneAirBalanceOutdoorAir(IDFObject):
    """Provide a combined zone outdoor air flow by including interactions between mechanical ventilation, infiltration and d..."""

    zone_name: str | None
    air_balance_method: Literal["", "None", "Quadrature"] | None
    """None: Only perform simple calculations without using a combined zone outdoor air. Quadrature: A combined outdoor air ...; Default: Quadrature"""
    induced_outdoor_air_due_to_unbalanced_duct_leakage: float | None
    """[m3/s]; Default: 0.0; Range: >= 0.0"""
    induced_outdoor_air_schedule_name: str | None
    """This schedule contains the fraction values applied to the Induced Outdoor Air given in the previous input field (0.0 ..."""

class ZoneMixing(IDFObject):
    """ZoneMixing is a simple air exchange from one zone or space to another. Note that this statement only affects the ener..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    design_flow_rate_calculation_method: Literal["", "AirChanges/Hour", "Flow/Area", "Flow/Person", "Flow/Zone"] | None
    """The entered calculation method is used to create the maximum amount of ventilation for this set of attributes Choices...; Default: Flow/Zone"""
    design_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    flow_rate_per_floor_area: float | None
    """[m3/s-m2]; Range: >= 0.0; Since: 22.2.0"""
    flow_rate_per_person: float | None
    """[m3/s-person]; Range: >= 0.0"""
    air_changes_per_hour: float | None
    """[1/hr]; Range: >= 0.0"""
    source_zone_or_space_name: str | None
    """Since: 22.2.0"""
    delta_temperature: float | None
    """This field contains the constant temperature differential between source and receiving zone or space below which mixi...; [deltaC]; Default: 0.0"""
    delta_temperature_schedule_name: str | None
    """This schedule contains the temperature differential between source and receiving zone or space below which mixing is ..."""
    minimum_receiving_temperature_schedule_name: str | None
    """This schedule contains the receiving zone or space temperature versus time below which mixing is shutoff.; Since: 22.2.0"""
    maximum_receiving_temperature_schedule_name: str | None
    """This schedule contains the receiving zone or space temperature versus time above which mixing is shutoff.; Since: 22.2.0"""
    minimum_source_temperature_schedule_name: str | None
    """This schedule contains the source zone or space temperature versus time below which mixing is shutoff.; Since: 22.2.0"""
    maximum_source_temperature_schedule_name: str | None
    """This schedule contains the source zone or space temperature versus time above which mixing is shutoff.; Since: 22.2.0"""
    minimum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time below which mixing is shutoff."""
    maximum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time above which mixing is shutoff."""

class ZoneCrossMixing(IDFObject):
    """ZoneCrossMixing exchanges an equal amount of air between two zones or spaces. Note that this statement affects the en..."""

    zone_or_space_name: str | None
    """ZoneList and SpaceList names are not allowed.; Since: 22.2.0"""
    schedule_name: str | None
    """If blank, defaults to always 1.0"""
    design_flow_rate_calculation_method: Literal["", "AirChanges/Hour", "Flow/Area", "Flow/Person", "Flow/Zone"] | None
    """The entered calculation method is used to create the maximum amount of ventilation for this set of attributes Choices...; Default: Flow/Zone"""
    design_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    flow_rate_per_floor_area: float | None
    """[m3/s-m2]; Range: >= 0.0; Since: 22.2.0"""
    flow_rate_per_person: float | None
    """[m3/s-person]; Range: >= 0.0"""
    air_changes_per_hour: float | None
    """[1/hr]; Range: >= 0.0"""
    source_zone_or_space_name: str | None
    """Since: 22.2.0"""
    delta_temperature: float | None
    """This field contains the constant temperature differential between source and receiving zone or space below which mixi...; [deltaC]; Default: 0.0; Range: >= 0.0"""
    delta_temperature_schedule_name: str | None
    """This schedule contains the temperature differential between source and receiving zone or space below which mixing is ..."""
    minimum_receiving_temperature_schedule_name: str | None
    """This schedule contains the receiving zone or space temperature versus time below which cross mixing is shutoff.; Since: 22.2.0"""
    maximum_receiving_temperature_schedule_name: str | None
    """This schedule contains the receiving zone or space temperature versus time above which cross mixing is shutoff.; Since: 22.2.0"""
    minimum_source_temperature_schedule_name: str | None
    """This schedule contains the source zone or space temperature versus time below which cross mixing is shutoff.; Since: 22.2.0"""
    maximum_source_temperature_schedule_name: str | None
    """This schedule contains the source zone or space temperature versus time above which cross mixing is shutoff.; Since: 22.2.0"""
    minimum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time below which cross mixing is shutoff."""
    maximum_outdoor_temperature_schedule_name: str | None
    """This schedule contains the outdoor temperature versus time above which cross mixing is shutoff."""

class ZoneRefrigerationDoorMixing(IDFObject):
    """Refrigeration Door Mixing is used for an opening between two zones (or spaces) that are at the same elevation but hav..."""

    zone_or_space_name_1: str | None
    """If a space name is used, it must belong to a different zone than Zone or Space Name 2.; Since: 24.2.0"""
    zone_or_space_name_2: str | None
    """If a space name is used, it must belong to a different zone than Zone or Space Name 1.; Since: 24.2.0"""
    schedule_name: str | None
    """This schedule defines the fraction of the time the refrigeration door is open For example, if the warehouse is closed..."""
    door_height: float | None
    """[m]; Default: 3.0; Range: >= 0.0, <= 50.0"""
    door_area: float | None
    """[m2]; Default: 9.0; Range: >= 0.0, <= 400.0"""
    door_protection_type: Literal["", "AirCurtain", "None", "StripCurtain"] | None
    """Door protection can reduce the air flow through a refrigeration door The default value is 'None' Choices: 'None', 'Ai...; Default: None"""

class ZoneEarthtube(IDFObject):
    """Earth Tube is specified as a design level which is modified by a Schedule fraction, temperature difference and wind s..."""

    schedule_name: str | None
    design_flow_rate: float | None
    """'Edesign' in Equation; [m3/s]; Range: >= 0.0"""
    minimum_zone_temperature_when_cooling: float | None
    """this is the indoor temperature below which the earth tube is shut off; [C]; Range: >= -100.0, <= 100.0"""
    maximum_zone_temperature_when_heating: float | None
    """this is the indoor temperature above which the earth tube is shut off; [C]; Range: >= -100.0, <= 100.0"""
    delta_temperature: float | None
    """This is the temperature difference between indoor and outdoor below which the earth tube is shut off; [deltaC]; Range: >= 0.0"""
    earthtube_type: Literal["", "Exhaust", "Intake", "Natural"] | None
    """Default: Natural"""
    fan_pressure_rise: float | None
    """pressure rise across the fan; [Pa]; Default: 0.0; Range: >= 0.0"""
    fan_total_efficiency: float | None
    """Default: 1.0; Range: > 0.0"""
    pipe_radius: float | None
    """[m]; Default: 1.0; Range: > 0.0"""
    pipe_thickness: float | None
    """[m]; Default: 0.2; Range: > 0.0"""
    pipe_length: float | None
    """[m]; Default: 15.0; Range: > 0.0"""
    pipe_thermal_conductivity: float | None
    """[W/m-K]; Default: 200.0; Range: > 0.0"""
    pipe_depth_under_ground_surface: float | None
    """[m]; Default: 3.0; Range: > 0.0"""
    soil_condition: Literal["", "HeavyAndDamp", "HeavyAndDry", "HeavyAndSaturated", "LightAndDry"] | None
    """Default: HeavyAndDamp"""
    average_soil_surface_temperature: float | None
    """[C]"""
    amplitude_of_soil_surface_temperature: float | None
    """[deltaC]; Range: >= 0.0"""
    phase_constant_of_soil_surface_temperature: float | None
    """[days]; Range: >= 0.0"""
    constant_term_flow_coefficient: float | None
    """'A' in Equation; Default: 1.0"""
    temperature_term_flow_coefficient: float | None
    """'B' in Equation; Default: 0.0"""
    velocity_term_flow_coefficient: float | None
    """'C' in Equation; Default: 0.0"""
    velocity_squared_term_flow_coefficient: float | None
    """'D' in Equation; Default: 0.0"""
    earth_tube_model_type: Literal["", "Basic", "Vertical"] | None
    """Default: Basic; Since: 23.2.0"""
    earth_tube_model_parameters: str | None
    """Since: 23.2.0"""

class ZoneEarthtubeParameters(IDFObject):
    """Parameters that apply to the vertical model for an earth tube; Since: 23.2.0"""

    nodes_above_earth_tube: int | None
    """[dimensionless]; Default: 5; Range: >= 3, <= 10"""
    nodes_below_earth_tube: int | None
    """[dimensionless]; Default: 3; Range: >= 3, <= 10"""
    earth_tube_dimensionless_boundary_above: float | None
    """When set to 1.0, the total thickness of the solution space above the earth tube node is equal to the maximum vertical...; [dimensionless]; Default: 1.0; Range: >= 0.25, <= 1.0"""
    earth_tube_dimensionless_boundary_below: float | None
    """When set to 1.0, the total thickness of the solution space below the earth tube node is equal to the maximum vertical...; [dimensionless]; Default: 0.25; Range: >= 0.25, <= 1.0"""
    earth_tube_solution_space_width: float | None
    """Width of the nodes in the direction parallel to the ground, multiplied by earth tube radius; [dimensionless]; Default: 4.0; Range: >= 3.0, <= 20.0"""

class ZoneCoolTowerShower(IDFObject):
    """A cooltower (sometimes referred to as a wind tower or a shower cooling tower) models passive downdraught evaporative ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_or_space_name: str | None
    """Since: 24.2.0"""
    water_supply_storage_tank_name: str | None
    """In case of stand alone tank or underground water, leave this input blank"""
    flow_control_type: Literal["", "WaterFlowSchedule", "WindDrivenFlow"] | None
    """Water flow schedule should be selected when the water flow rate is known. Wind-driven flow should be selected when th...; Default: WindDrivenFlow"""
    pump_flow_rate_schedule_name: str | None
    maximum_water_flow_rate: float | None
    """[m3/s] (gal/min)"""
    effective_tower_height: float | None
    """This field is from either the spray or the wet pad to the top of the outlet.; [m]"""
    airflow_outlet_area: float | None
    """User have to specify effective area when outlet area is relatively bigger than the cross sectional area of cooltower....; [m2]"""
    maximum_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    minimum_indoor_temperature: float | None
    """This field is to specify the indoor temperature below which cooltower is shutoff.; [C]; Range: >= -100.0, <= 100.0"""
    fraction_of_water_loss: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_flow_schedule: float | None
    """Range: >= 0.0, <= 1.0"""
    rated_power_consumption: float | None
    """[W]"""

class ZoneThermalChimney(IDFObject):
    """A thermal chimney is a vertical shaft utilizing solar radiation to enhance natural ventilation. It consists of an abs..."""

    zone_name: str | None
    """Name of zone that is the thermal chimney."""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    width_of_the_absorber_wall: float | None
    """[m]; Range: >= 0.0"""
    cross_sectional_area_of_air_channel_outlet: float | None
    """[m2]; Range: >= 0.0"""
    discharge_coefficient: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    zone_or_space_name_1: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_1: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_1: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_1: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_2: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_2: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_2: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_2: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_3: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_3: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_3: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_3: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_4: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_4: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_4: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_4: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_5: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_5: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_5: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_5: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_6: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_6: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_6: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_6: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_7: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_7: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_7: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_7: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_8: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_8: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_8: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_8: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_9: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_9: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_9: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_9: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_10: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_10: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_10: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_10: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_11: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_11: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_11: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_11: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_12: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_12: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_12: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_12: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_13: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_13: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_13: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_13: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_14: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_14: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_14: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_14: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_15: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_15: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_15: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_15: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_16: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_16: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_16: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_16: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_17: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_17: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_17: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_17: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_18: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_18: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_18: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_18: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_19: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_19: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_19: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_19: float | None
    """[m2]; Range: >= 0.0"""
    zone_or_space_name_20: str | None
    """Since: 24.2.0"""
    distance_from_top_of_thermal_chimney_to_inlet_20: float | None
    """[m]; Range: >= 0.0"""
    relative_ratios_of_air_flow_rates_passing_through_inlet_20: float | None
    """Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    cross_sectional_areas_of_air_channel_inlet_20: float | None
    """[m2]; Range: >= 0.0"""

class AirflowNetworkSimulationControl(IDFObject):
    """This object defines the global parameters used in an Airflow Network simulation."""

    airflownetwork_control: (
        Literal[
            "",
            "MultizoneWithDistribution",
            "MultizoneWithDistributionOnlyDuringFanOperation",
            "MultizoneWithoutDistribution",
            "NoMultizoneOrDistribution",
        ]
        | None
    )
    """NoMultizoneOrDistribution: Only perform Simple calculations (objects ZoneInfiltration:*, ZoneVentilation:*, ZoneMixin...; Default: NoMultizoneOrDistribution"""
    wind_pressure_coefficient_type: Literal["", "Input", "SurfaceAverageCalculation"] | None
    """Input: User must enter AirflowNetwork:MultiZone:WindPressureCoefficientArray, AirflowNetwork:MultiZone:ExternalNode, ...; Default: SurfaceAverageCalculation"""
    height_selection_for_local_wind_pressure_calculation: Literal["", "ExternalNode", "OpeningHeight"] | None
    """If ExternalNode is selected, the height given in the AirflowNetwork:MultiZone:ExternalNode object will be used. If Op...; Default: OpeningHeight"""
    building_type: Literal["", "HighRise", "LowRise"] | None
    """Used only if Wind Pressure Coefficient Type = SurfaceAverageCalculation, otherwise this field may be left blank.; Default: LowRise"""
    maximum_number_of_iterations: int | None
    """Determines the maximum number of iterations used to converge on a solution. If this limit is exceeded, the program te...; [dimensionless]; Default: 500; Range: > 10, <= 30000"""
    initialization_type: Literal["", "LinearInitializationMethod", "ZeroNodePressures"] | None
    """Default: ZeroNodePressures"""
    relative_airflow_convergence_tolerance: float | None
    """This tolerance is defined as the absolute value of the sum of the mass Flow Rates divided by the sum of the absolute ...; [dimensionless]; Default: 0.0001; Range: > 0.0"""
    absolute_airflow_convergence_tolerance: float | None
    """This tolerance is defined as the absolute value of the sum of the mass flow rates. The mass flow rates described here...; [kg/s]; Default: 1e-06; Range: > 0.0"""
    convergence_acceleration_limit: float | None
    """Used only for AirflowNetwork:SimulationControl; [dimensionless]; Default: -0.5; Range: >= -1.0, <= 1.0"""
    azimuth_angle_of_long_axis_of_building: float | None
    """Degrees clockwise from true North. Used only if Wind Pressure Coefficient Type = SurfaceAverageCalculation.; [deg]; Default: 0.0; Range: >= 0.0, <= 180.0"""
    ratio_of_building_width_along_short_axis_to_width_along_long_axis: float | None
    """Used only if Wind Pressure Coefficient Type = SurfaceAverageCalculation.; Default: 1.0; Range: > 0.0, <= 1.0"""
    height_dependence_of_external_node_temperature: Literal["", "No", "Yes"] | None
    """If Yes, external node temperature is height dependent. If No, external node temperature is based on zero height.; Default: No"""
    solver: Literal["", "ConjugateGradient", "SkylineLU"] | None
    """Select the solver to use for the pressure network solution; Default: SkylineLU"""
    allow_unsupported_zone_equipment: Literal["", "No", "Yes"] | None
    """Set this input to Yes to have zone equipment that are currently unsupported in the AirflowNetwork model allowed in th...; Default: No; Since: 9.5.0"""
    do_distribution_duct_sizing_calculation: Literal["", "No", "Yes"] | None
    """Controls duct sizing. See AirflowNetwork:Distribution:DuctSizing for sizing options.; Default: No; Since: 22.2.0"""

class AirflowNetworkMultiZoneZone(IDFObject):
    """This object is used to simultaneously control a thermal zone's window and door openings, both exterior and interior."""

    ventilation_control_mode: (
        Literal["", "ASHRAE55Adaptive", "CEN15251Adaptive", "Constant", "Enthalpy", "NoVent", "Temperature"] | None
    )
    """When Ventilation Control Mode = Temperature or Enthalpy, the following fields are used to modulate the Ventilation Op...; Default: NoVent"""
    ventilation_control_zone_temperature_setpoint_schedule_name: str | None
    """Used only if Ventilation Control Mode = Temperature or Enthalpy."""
    minimum_venting_open_factor: float | None
    """Used only if Ventilation Control Mode = Temperature or Enthalpy.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    indoor_and_outdoor_temperature_difference_lower_limit_for_maximum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Temperature. This value must be less than the corresponding upper value...; [deltaC]; Default: 0.0; Range: >= 0.0, < 100.0"""
    indoor_and_outdoor_temperature_difference_upper_limit_for_minimum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Temperature. This value must be greater than the corresponding lower va...; [deltaC]; Default: 100.0; Range: > 0.0"""
    indoor_and_outdoor_enthalpy_difference_lower_limit_for_maximum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Enthalpy. This value must be less than the corresponding upper value (n...; [deltaJ/kg]; Default: 0.0; Range: >= 0.0, < 300000.0"""
    indoor_and_outdoor_enthalpy_difference_upper_limit_for_minimum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Enthalpy. This value must be greater than the corresponding lower value...; [deltaJ/kg]; Default: 300000.0; Range: > 0.0"""
    venting_availability_schedule_name: str | None
    """Non-zero Schedule value means venting is allowed if other venting control conditions are satisfied. A zero (or negati..."""
    single_sided_wind_pressure_coefficient_algorithm: Literal["", "Advanced", "Standard"] | None
    """Selecting Advanced results in EnergyPlus calculating modified Wind Pressure Coefficients to account for wind directio...; Default: Standard"""
    facade_width: float | None
    """This is the whole building width along the direction of the facade of this zone.; [m]; Default: 10.0; Range: >= 0.0"""
    occupant_ventilation_control_name: str | None
    """Enter the name where Occupancy Ventilation Control is required."""

class AirflowNetworkMultiZoneSurface(IDFObject):
    """This object specifies the properties of a surface linkage through which air flows. Airflow Report: Node 1 as an insid..."""

    leakage_component_name: str | None
    """Enter the name of an Airflow Network leakage component. A leakage component is one of the following AirflowNetwork:Mu..."""
    external_node_name: str | None
    """Used if Wind Pressure Coefficient Type = Input in the AirflowNetwork:SimulationControl object, otherwise this field m..."""
    window_door_opening_factor_or_crack_factor: float | None
    """This field specifies a multiplier for a crack, window, or door.; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""
    ventilation_control_mode: (
        Literal[
            "",
            "ASHRAE55Adaptive",
            "AdjacentEnthalpy",
            "AdjacentTemperature",
            "CEN15251Adaptive",
            "Constant",
            "Enthalpy",
            "NoVent",
            "Temperature",
            "ZoneLevel",
        ]
        | None
    )
    """When Ventilation Control Mode = Temperature or Enthalpy, the following fields are used to modulate the Ventilation Op...; Default: ZoneLevel"""
    ventilation_control_zone_temperature_setpoint_schedule_name: str | None
    """Used only if Ventilation Control Mode = Temperature or Enthalpy."""
    minimum_venting_open_factor: float | None
    """Used only if Ventilation Control Mode = Temperature or Enthalpy.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    indoor_and_outdoor_temperature_difference_lower_limit_for_maximum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Temperature; [deltaC]; Default: 0.0; Range: >= 0.0, < 100.0"""
    indoor_and_outdoor_temperature_difference_upper_limit_for_minimum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Temperature. This value must be greater than the corresponding lower va...; [deltaC]; Default: 100.0; Range: > 0.0"""
    indoor_and_outdoor_enthalpy_difference_lower_limit_for_maximum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Enthalpy. This value must be less than the corresponding upper value (n...; [deltaJ/kg]; Default: 0.0; Range: >= 0.0, < 300000.0"""
    indoor_and_outdoor_enthalpy_difference_upper_limit_for_minimum_venting_open_factor: float | None
    """Applicable only if Ventilation Control Mode = Enthalpy. This value must be greater than the corresponding lower value...; [deltaJ/kg]; Default: 300000.0; Range: > 0.0"""
    venting_availability_schedule_name: str | None
    """Non-zero schedule value means venting is allowed if other venting control conditions are satisfied. A zero (or negati..."""
    occupant_ventilation_control_name: str | None
    """Enter the name where Occupancy Ventilation Control is required."""
    equivalent_rectangle_method: Literal["", "BaseSurfaceAspectRatio", "PolygonHeight", "UserDefinedAspectRatio"] | None
    """This field is applied to a non-rectangular window or door. The equivalent shape has the same area as a polygonal wind...; Default: PolygonHeight"""
    equivalent_rectangle_aspect_ratio: float | None
    """This field is used when UserDefinedAspectRatio is entered in the Equivalent Rectangle Method field.; [dimensionless]; Default: 1.0; Range: > 0.0"""

class AirflowNetworkMultiZoneReferenceCrackConditions(IDFObject):
    """This object specifies the conditions under which the air mass flow coefficient was measured."""

    reference_temperature: float | None
    """Enter the reference temperature under which the surface crack data were obtained. Suggested value 20C.; [C]"""
    reference_barometric_pressure: float | None
    """Enter the reference barometric pressure under which the surface crack data were obtained.; [Pa] (inHg); Default: 101325.0; Range: >= 31000.0, <= 120000.0"""
    reference_humidity_ratio: float | None
    """Enter the reference humidity ratio under which the surface crack data were obtained.; [kgWater/kgDryAir]; Default: 0.0"""

class AirflowNetworkMultiZoneSurfaceCrack(IDFObject):
    """This object specifies the properties of airflow through a crack."""

    air_mass_flow_coefficient_at_reference_conditions: float | None
    """Enter the air mass flow coefficient at the conditions defined in the Reference Crack Conditions object. Defined at 1 ...; [kg/s]; Range: > 0.0"""
    air_mass_flow_exponent: float | None
    """Enter the air mass flow exponent for the surface crack.; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    reference_crack_conditions: str | None
    """Select a AirflowNetwork:MultiZone:ReferenceCrackConditions name associated with the air mass flow coefficient entered..."""

class AirflowNetworkMultiZoneSurfaceEffectiveLeakageArea(IDFObject):
    """This object is used to define surface air leakage."""

    effective_leakage_area: float | None
    """Enter the effective leakage area.; [m2]; Range: > 0.0"""
    discharge_coefficient: float | None
    """Enter the coefficient used in the air mass flow equation.; [dimensionless]; Default: 1.0; Range: > 0.0"""
    reference_pressure_difference: float | None
    """Enter the pressure difference used to define the air mass flow coefficient and exponent.; [Pa]; Default: 4.0; Range: > 0.0"""
    air_mass_flow_exponent: float | None
    """Enter the exponent used in the air mass flow equation.; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""

class AirflowNetworkMultiZoneSpecifiedFlowRate(IDFObject):
    """This object is used to define specified flow through a linkage.; Since: 9.6.0"""

    air_flow_value: float | None
    """Enter the specified flow rate."""
    air_flow_units: Literal["", "MassFlow", "VolumetricFlow"] | None
    """Enter the units of the air flow value. VolumetricFlow (m3/s) MassFlow (kg/s); Default: MassFlow"""

class AirflowNetworkMultiZoneComponentDetailedOpening(IDFObject):
    """This object specifies the properties of airflow through windows and doors (window, door and glass door heat transfer ..."""

    air_mass_flow_coefficient_when_opening_is_closed: float | None
    """Defined at 1 Pa per meter of crack length. Enter the coefficient used in the following equation: Mass Flow Rate = Air...; [kg/s-m]; Range: > 0.0"""
    air_mass_flow_exponent_when_opening_is_closed: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    type_of_rectangular_large_vertical_opening_lvo_: Literal["", "HorizontallyPivoted", "NonPivoted"] | None
    """Select the type of vertical opening: Non-pivoted opening or Horizontally pivoted opening.; Default: NonPivoted"""
    extra_crack_length_or_height_of_pivoting_axis: float | None
    """Extra crack length is used for LVO Non-pivoted type with multiple openable parts. Height of pivoting axis is used for...; [m]; Default: 0.0; Range: >= 0.0"""
    number_of_sets_of_opening_factor_data: int | None
    """Enter the number of the following sets of data for opening factor, discharge coefficient, width factor, height factor...; Range: >= 2, <= 4"""
    opening_factor_1: float | None
    """This value must be specified as 0.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 0.0"""
    discharge_coefficient_for_opening_factor_1: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through a window or door at that Openin...; [dimensionless]; Default: 0.001; Range: > 0.0, <= 1.0"""
    width_factor_for_opening_factor_1: float | None
    """The Width Factor is the opening width divided by the window or door width.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    height_factor_for_opening_factor_1: float | None
    """The Height Factor is the opening height divided by the window or door height.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    start_height_factor_for_opening_factor_1: float | None
    """The Start Height Factor is the Start Height divided by the window or door height. Start Height is the distance betwee...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    opening_factor_2: float | None
    """If Number of Sets of Opening Factor Data = 2, this value must be 1.0. If Number of Sets of Opening Factor Data = 3, t...; [dimensionless]; Range: > 0.0, <= 1.0"""
    discharge_coefficient_for_opening_factor_2: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through a window or door at that Openin...; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""
    width_factor_for_opening_factor_2: float | None
    """The Width Factor is the opening width divided by the window or door width.; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""
    height_factor_for_opening_factor_2: float | None
    """The Height Factor is the opening height divided by the window or door height.; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""
    start_height_factor_for_opening_factor_2: float | None
    """The Start Height Factor is the Start Height divided by the window or door height. Start Height is the distance betwee...; [dimensionless]; Default: 0.0; Range: >= 0.0, < 1.0"""
    opening_factor_3: float | None
    """If Number of Sets of Opening Factor Data = 3, this value must be 1.0. If Number of Sets of Opening Factor Data = 4, t...; [dimensionless]; Range: >= 0.0, <= 1.0"""
    discharge_coefficient_for_opening_factor_3: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through a window or door at that Openin...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    width_factor_for_opening_factor_3: float | None
    """The Width Factor is the opening width divided by the window or door width.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    height_factor_for_opening_factor_3: float | None
    """The Height Factor is the opening height divided by the window or door height.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    start_height_factor_for_opening_factor_3: float | None
    """The Start Height Factor is the Start Height divided by the window or door height. Start Height is the distance betwee...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    opening_factor_4: float | None
    """If Number of Sets of Opening Factor Data = 4, this value must be 1.0; [dimensionless]; Range: >= 0.0, <= 1.0"""
    discharge_coefficient_for_opening_factor_4: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through a window or door at that Openin...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    width_factor_for_opening_factor_4: float | None
    """The Width Factor is the opening width divided by the window or door width.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    height_factor_for_opening_factor_4: float | None
    """The Height Factor is the opening height divided by the window or door height.; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    start_height_factor_for_opening_factor_4: float | None
    """The Start Height Factor is the Start Height divided by the window or door height. Start Height is the distance betwee...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""

class AirflowNetworkMultiZoneComponentSimpleOpening(IDFObject):
    """This object specifies the properties of air flow through windows and doors (window, door and glass door heat transfer..."""

    air_mass_flow_coefficient_when_opening_is_closed: float | None
    """Defined at 1 Pa pressure difference. Enter the coefficient used in the following equation: Mass Flow Rate = Air Mass ...; [kg/s-m]; Range: > 0.0"""
    air_mass_flow_exponent_when_opening_is_closed: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    minimum_density_difference_for_two_way_flow: float | None
    """Enter the minimum density difference above which two-way flow may occur due to stack effect.; [kg/m3]; Range: > 0.0"""
    discharge_coefficient: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through a window or door at that Openin...; [dimensionless]; Range: > 0.0"""

class AirflowNetworkMultiZoneComponentHorizontalOpening(IDFObject):
    """This object specifies the properties of air flow through a horizontal opening"""

    air_mass_flow_coefficient_when_opening_is_closed: float | None
    """Defined at 1 Pa pressure difference. Enter the coefficient used in the following equation: Mass flow rate = Air Mass ...; [kg/s-m]; Range: > 0.0"""
    air_mass_flow_exponent_when_opening_is_closed: float | None
    """Enter the exponent used in the following equation: Mass flow rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    sloping_plane_angle: float | None
    """Sloping plane angle = 90 is equivalent to fully open.; [deg]; Default: 90.0; Range: > 0.0, <= 90.0"""
    discharge_coefficient: float | None
    """The Discharge Coefficient indicates the fractional effectiveness for air flow through the opening at that Opening Fac...; [dimensionless]; Range: > 0.0"""

class AirflowNetworkMultiZoneComponentZoneExhaustFan(IDFObject):
    """This object specifies the additional properties for a zone exhaust fan to perform multizone airflow calculations."""

    air_mass_flow_coefficient_when_the_zone_exhaust_fan_is_off_at_reference_conditions: float | None
    """Enter the air mass flow coefficient at the conditions defined in the Reference Crack Conditions object. Defined at 1 ...; [kg/s]; Range: > 0.0"""
    air_mass_flow_exponent_when_the_zone_exhaust_fan_is_off: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    reference_crack_conditions: str | None
    """Select a AirflowNetwork:MultiZone:ReferenceCrackConditions name associated with the air mass flow coefficient entered..."""

class AirflowNetworkMultiZoneExternalNode(IDFObject):
    """This object defines outdoor environmental conditions outside of the building."""

    external_node_height: float | None
    """Designates the reference height used to calculate relative pressure.; [m]; Default: 0.0"""
    wind_pressure_coefficient_curve_name: str | None
    """The name of the AirflowNetwork:MultiZone:WindPressureCoefficientValues, curve, or table object specifying the wind pr..."""
    symmetric_wind_pressure_coefficient_curve: Literal["", "No", "Yes"] | None
    """Specify whether the pressure curve is symmetric or not. Specify Yes for curves that should be evaluated from 0 to 180...; Default: No"""
    wind_angle_type: Literal["", "Absolute", "Relative"] | None
    """Specify whether the angle used to compute the wind pressure coefficient is absolute or relative Specify Relative to c...; Default: Absolute"""

class AirflowNetworkMultiZoneWindPressureCoefficientArray(IDFObject):
    """Used only if Wind Pressure Coefficient (WPC) Type = Input in the AirflowNetwork:SimulationControl object. Number of W..."""

    wind_direction_1: float | None
    """Enter the wind direction corresponding to the 1st WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_2: float | None
    """Enter the wind direction corresponding to the 2nd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_3: float | None
    """Enter the wind direction corresponding to the 3rd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_4: float | None
    """Enter the wind direction corresponding to the 4th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_5: float | None
    """Enter the wind direction corresponding to the 5th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_6: float | None
    """Enter the wind direction corresponding to the 6th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_7: float | None
    """Enter the wind direction corresponding to the 7th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_8: float | None
    """Enter the wind direction corresponding to the 8th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_9: float | None
    """Enter the wind direction corresponding to the 9th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_10: float | None
    """Enter the wind direction corresponding to the 10th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_11: float | None
    """Enter the wind direction corresponding to the 11th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_12: float | None
    """Enter the wind direction corresponding to the 12th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_13: float | None
    """Enter the wind direction corresponding to the 13th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_14: float | None
    """Enter the wind direction corresponding to the 14th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_15: float | None
    """Enter the wind direction corresponding to the 15th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_16: float | None
    """Enter the wind direction corresponding to the 16th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_17: float | None
    """Enter the wind direction corresponding to the 17th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_18: float | None
    """Enter the wind direction corresponding to the 18th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_19: float | None
    """Enter the wind direction corresponding to the 19th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_20: float | None
    """Enter the wind direction corresponding to the 20th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_21: float | None
    """Enter the wind direction corresponding to the 21st WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_22: float | None
    """Enter the wind direction corresponding to the 22nd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_23: float | None
    """Enter the wind direction corresponding to the 23rd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_24: float | None
    """Enter the wind direction corresponding to the 24th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_25: float | None
    """Enter the wind direction corresponding to the 25th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_26: float | None
    """Enter the wind direction corresponding to the 26th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_27: float | None
    """Enter the wind direction corresponding to the 27th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_28: float | None
    """Enter the wind direction corresponding to the 28th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_29: float | None
    """Enter the wind direction corresponding to the 29th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_30: float | None
    """Enter the wind direction corresponding to the 30th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_31: float | None
    """Enter the wind direction corresponding to the 31st WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_32: float | None
    """Enter the wind direction corresponding to the 32nd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_33: float | None
    """Enter the wind direction corresponding to the 33rd WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_34: float | None
    """Enter the wind direction corresponding to the 34th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_35: float | None
    """Enter the wind direction corresponding to the 35th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""
    wind_direction_36: float | None
    """Enter the wind direction corresponding to the 36th WPC Array value.; [deg]; Range: >= 0.0, <= 360.0"""

class AirflowNetworkMultiZoneWindPressureCoefficientValues(IDFObject):
    """Used only if Wind Pressure Coefficient (WPC) Type = INPUT in the AirflowNetwork:SimulationControl object. The number ..."""

    airflownetwork_multizone_windpressurecoefficientarray_name: str | None
    """Enter the name of the AirflowNetwork:Multizone:WindPressureCoefficientArray object."""
    wind_pressure_coefficient_value_1: float | None
    """Enter the WPC Value corresponding to the 1st wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_2: float | None
    """Enter the WPC Value corresponding to the 2nd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_3: float | None
    """Enter the WPC Value corresponding to the 3rd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_4: float | None
    """Enter the WPC Value corresponding to the 4th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_5: float | None
    """Enter the WPC Value corresponding to the 5th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_6: float | None
    """Enter the WPC Value corresponding to the 6th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_7: float | None
    """Enter the WPC Value corresponding to the 7th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_8: float | None
    """Enter the WPC Value corresponding to the 8th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_9: float | None
    """Enter the WPC Value corresponding to the 9th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_10: float | None
    """Enter the WPC Value corresponding to the 10th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_11: float | None
    """Enter the WPC Value corresponding to the 11th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_12: float | None
    """Enter the WPC Value corresponding to the 12th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_13: float | None
    """Enter the WPC Value corresponding to the 13th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_14: float | None
    """Enter the WPC Value corresponding to the 14th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_15: float | None
    """Enter the WPC Value corresponding to the 15th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_16: float | None
    """Enter the WPC Value corresponding to the 16th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_17: float | None
    """Enter the WPC Value corresponding to the 17th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_18: float | None
    """Enter the WPC Value corresponding to the 18th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_19: float | None
    """Enter the WPC Value corresponding to the 19th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_20: float | None
    """Enter the WPC Value corresponding to the 20th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_21: float | None
    """Enter the WPC Value corresponding to the 21st wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_22: float | None
    """Enter the WPC Value corresponding to the 22nd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_23: float | None
    """Enter the WPC Value corresponding to the 23rd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_24: float | None
    """Enter the WPC Value corresponding to the 24th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_25: float | None
    """Enter the WPC Value corresponding to the 25th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_26: float | None
    """Enter the WPC Value corresponding to the 26th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_27: float | None
    """Enter the WPC Value corresponding to the 27th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_28: float | None
    """Enter the WPC Value corresponding to the 28th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_29: float | None
    """Enter the WPC Value corresponding to the 29th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_30: float | None
    """Enter the WPC Value corresponding to the 30th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_31: float | None
    """Enter the WPC Value corresponding to the 31st wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_32: float | None
    """Enter the WPC Value corresponding to the 32nd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_33: float | None
    """Enter the WPC Value corresponding to the 33rd wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_34: float | None
    """Enter the WPC Value corresponding to the 34th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_35: float | None
    """Enter the WPC Value corresponding to the 35th wind direction.; [dimensionless]"""
    wind_pressure_coefficient_value_36: float | None
    """Enter the WPC Value corresponding to the 36th wind direction.; [dimensionless]"""

class AirflowNetworkZoneControlPressureController(IDFObject):
    """This object is used to control a zone to a specified indoor pressure using the AirflowNetwork model. The specified pr..."""

    control_zone_name: str | None
    control_object_type: (
        Literal[
            "AirflowNetwork:Distribution:Component:ReliefAirFlow", "AirflowNetwork:MultiZone:Component:ZoneExhaustFan"
        ]
        | None
    )
    """The current selection is AirflowNetwork:MultiZone:Component:ZoneExhaustFan or AirflowNetwork:Distribution:Component:R..."""
    control_object_name: str | None
    """Control names are names of individual control objects"""
    pressure_control_availability_schedule_name: str | None
    """Availability schedule name for pressure controller. Schedule value > 0 means the pressure controller is enabled. If t..."""
    pressure_setpoint_schedule_name: str | None

class AirflowNetworkDistributionNode(IDFObject):
    """This object represents an air distribution node in the AirflowNetwork model."""

    component_name_or_node_name: str | None
    """Designates node names defined in another object. The node name may occur in air branches. Enter a node name to repres..."""
    component_object_type_or_node_type: (
        Literal[
            "",
            "AirLoopHVAC:OutdoorAirSystem",
            "AirLoopHVAC:ZoneMixer",
            "AirLoopHVAC:ZoneSplitter",
            "OAMixerOutdoorAirStreamNode",
            "Other",
            "OutdoorAir:Node",
            "OutdoorAir:NodeList",
            "Zone",
        ]
        | None
    )
    """Designates Node type for the Node or Component Name defined in the field above. AirLoopHVAC:ZoneMixer -- Represents a...; Default: Other"""
    node_height: float | None
    """Enter the reference height used to calculate the relative pressure.; [m]; Default: 0.0"""

class AirflowNetworkDistributionComponentLeak(IDFObject):
    """This object defines the characteristics of a supply or return air leak."""

    air_mass_flow_coefficient: float | None
    """Defined at 1 Pa pressure difference across this component. Enter the coefficient used in the following equation: Mass...; [kg/s]; Range: > 0.0"""
    air_mass_flow_exponent: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""

class AirflowNetworkDistributionComponentLeakageRatio(IDFObject):
    """This object is used to define supply and return air leaks with respect to the fan's maximum air flow rate."""

    effective_leakage_ratio: float | None
    """Defined as a ratio of leak flow rate to the maximum flow rate.; [dimensionless]; Range: > 0.0, <= 1.0"""
    maximum_flow_rate: float | None
    """Enter the maximum air flow rate in this air loop.; [m3/s]; Range: > 0.0"""
    reference_pressure_difference: float | None
    """Enter the pressure corresponding to the Effective leakage ratio entered above.; [Pa]; Range: > 0.0"""
    air_mass_flow_exponent: float | None
    """Enter the exponent used in the air mass flow equation.; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""

class AirflowNetworkDistributionComponentDuct(IDFObject):
    """This object defines the relationship between pressure and air flow through the duct."""

    duct_length: float | None
    """Enter the length of the duct.; [m]; Range: > 0.0"""
    hydraulic_diameter: float | None
    """Enter the hydraulic diameter of the duct. Hydraulic diameter is defined as 4 multiplied by cross section area divided...; [m]; Range: > 0.0"""
    cross_section_area: float | None
    """Enter the cross section area of the duct.; [m2]; Range: > 0.0"""
    surface_roughness: float | None
    """Enter the inside surface roughness of the duct.; [m]; Default: 0.0009; Range: > 0.0"""
    coefficient_for_local_dynamic_loss_due_to_fitting: float | None
    """Enter the coefficient used to calculate dynamic losses of fittings (e.g. elbows).; [dimensionless]; Default: 0.0; Range: >= 0.0"""
    heat_transmittance_coefficient_u_factor_for_duct_wall_construction: float | None
    """conduction only Default value of 0.943 is equivalent to 1.06 m2-K/W (R6) duct insulation.; [W/m2-K]; Default: 0.943; Range: > 0.0"""
    overall_moisture_transmittance_coefficient_from_air_to_air: float | None
    """Enter the overall moisture transmittance coefficient including moisture film coefficients at both surfaces.; [kg/m2]; Default: 0.001; Range: > 0.0"""
    outside_convection_coefficient: float | None
    """optional. convection coefficient calculated automatically, unless specified; [W/m2-K]; Range: > 0.0"""
    inside_convection_coefficient: float | None
    """optional. convection coefficient calculated automatically, unless specified; [W/m2-K]; Range: > 0.0"""

class AirflowNetworkDistributionComponentFan(IDFObject):
    """This object defines the name of the supply Air Fan used in an Air loop."""

    supply_fan_object_type: (
        Literal["", "Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    """Default: Fan:ConstantVolume"""

class AirflowNetworkDistributionComponentCoil(IDFObject):
    """This object defines the name of a coil used in an air loop."""

    coil_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:MultiSpeed",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:TwoSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Cooling:WaterToAirHeatPump:EquationFit",
            "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit",
            "Coil:Heating:DX:MultiSpeed",
            "Coil:Heating:DX:SingleSpeed",
            "Coil:Heating:DX:VariableSpeed",
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Electric:MultiStage",
            "Coil:Heating:Fuel",
            "Coil:Heating:Gas:MultiStage",
            "Coil:Heating:Water",
            "Coil:Heating:WaterToAirHeatPump:EquationFit",
            "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit",
        ]
        | None
    )
    """Select the type of coil corresponding to the name entered in the field above."""
    air_path_length: float | None
    """Enter the air path length (depth) for the coil.; [m]; Range: > 0.0"""
    air_path_hydraulic_diameter: float | None
    """Enter the hydraulic diameter of this coil. The hydraulic diameter is defined as 4 multiplied by the cross section are...; [m]; Range: > 0.0"""

class AirflowNetworkDistributionComponentHeatExchanger(IDFObject):
    """This object defines the name of an air-to-air heat exchanger used in an air loop."""

    heatexchanger_object_type: (
        Literal[
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
            "HeatExchanger:Desiccant:BalancedFlow",
        ]
        | None
    )
    """Select the type of heat exchanger corresponding to the name entered in the field above."""
    air_path_length: float | None
    """Enter the air path length (depth) for the heat exchanger.; [m]; Range: > 0.0"""
    air_path_hydraulic_diameter: float | None
    """Enter the hydraulic diameter of this heat exchanger. The hydraulic diameter is defined as 4 multiplied by the cross s...; [m]; Range: > 0.0"""

class AirflowNetworkDistributionComponentTerminalUnit(IDFObject):
    """This object defines the name of a terminal unit in an air loop."""

    terminal_unit_object_type: (
        Literal["AirTerminal:SingleDuct:ConstantVolume:Reheat", "AirTerminal:SingleDuct:VAV:Reheat"] | None
    )
    """Select the type of terminal unit corresponding to the name entered in the field above."""
    air_path_length: float | None
    """Enter the air path length (depth) for the terminal unit.; [m]; Range: > 0.0"""
    air_path_hydraulic_diameter: float | None
    """Enter the hydraulic diameter of this terminal unit. The hydraulic diameter is defined as 4 multiplied by the cross se...; [m]; Range: > 0.0"""

class AirflowNetworkDistributionComponentConstantPressureDrop(IDFObject):
    """This object defines the characteristics of a constant pressure drop component (e.g. filter). Each node connected to t..."""

    pressure_difference_across_the_component: float | None
    """Enter the pressure drop across this component.; [Pa]; Range: > 0.0"""

class AirflowNetworkDistributionComponentOutdoorAirFlow(IDFObject):
    """This object includes the outdoor air flow rate set by the Controller:OutdoorAir object in the airflow network."""

    outdoor_air_mixer_name: str | None
    """Since: 9.0.1"""
    air_mass_flow_coefficient_when_no_outdoor_air_flow_at_reference_conditions: float | None
    """Enter the air mass flow coefficient at the conditions defined in the Reference Crack Conditions object. Defined at 1 ...; [kg/s]; Range: > 0.0"""
    air_mass_flow_exponent_when_no_outdoor_air_flow: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    reference_crack_conditions: str | None
    """Select a AirflowNetwork:MultiZone:ReferenceCrackConditions name associated with the air mass flow coefficient entered..."""

class AirflowNetworkDistributionComponentReliefAirFlow(IDFObject):
    """This object allows variation of air flow rate to perform pressure."""

    outdoor_air_mixer_name: str | None
    """Since: 9.0.1"""
    air_mass_flow_coefficient_when_no_outdoor_air_flow_at_reference_conditions: float | None
    """Enter the air mass flow coefficient at the conditions defined in the Reference Crack Conditions object. Defined at 1 ...; [kg/s]; Range: > 0.0"""
    air_mass_flow_exponent_when_no_outdoor_air_flow: float | None
    """Enter the exponent used in the following equation: Mass Flow Rate = Air Mass Flow Coefficient * (dP)^Air Mass Flow Ex...; [dimensionless]; Default: 0.65; Range: >= 0.5, <= 1.0"""
    reference_crack_conditions: str | None
    """Select a AirflowNetwork:MultiZone:ReferenceCrackConditions name associated with the air mass flow coefficient entered..."""

class AirflowNetworkDistributionLinkage(IDFObject):
    """This object defines the connection between two nodes and a component."""

    node_1_name: str | None
    """Enter the name of zone or AirflowNetwork Node."""
    node_2_name: str | None
    """Enter the name of zone or AirflowNetwork Node."""
    component_name: str | None
    """Enter the name of an AirflowNetwork component. A component is one of the following AirflowNetwork:Distribution:Compon..."""
    thermal_zone_name: str | None
    """Only used if component = AirflowNetwork:Distribution:Component:Duct The zone name is where AirflowNetwork:Distributio..."""

class AirflowNetworkDistributionDuctViewFactors(IDFObject):
    """This object is used to allow user-defined view factors to be used for duct-surface radiation calculations. All surfac..."""

    duct_surface_exposure_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    duct_surface_emittance: float | None
    """Default: 0.9; Range: >= 0.0, <= 1.0"""
    surface_name: str | None
    surface_view_factor: float | None

class AirflowNetworkDistributionDuctSizing(IDFObject):
    """This object defines required parameters for duct sizing in an Airflow Network simulation. To activate duct sizing, se...; Since: 22.2.0"""

    duct_sizing_method: Literal["", "MaximumVelocity", "PressureLoss", "PressureLossWithMaximumVelocity"] | None
    """Default: MaximumVelocity"""
    duct_sizing_factor: float | None
    """Default: 1.0; Range: > 0.0"""
    maximum_airflow_velocity: float | None
    """Used only if Duct Sizing Type = MaximumVelocity or PressureLossWithMaximumVelocity. When MaximumVelocity is entered, ...; [m/s]; Default: 5.0; Range: > 0.0, <= 25.0"""
    total_pressure_loss_across_supply_trunk: float | None
    """Used only if Duct Sizing Type = PressureLoss or PressureLossWithMaximumVelocity. When PressureLoss is entered, duct d...; [Pa]; Range: > 0.0"""
    total_pressure_loss_across_supply_branch: float | None
    """Duct diameter is calculated using Colebrook's equation. When there is no solution, velocity = 5 m/s is used to calcul...; [Pa]; Range: > 0.0"""
    total_pressure_loss_across_return_trunk: float | None
    """Duct diameter is calculated using Colebrook's equation. When there is no solution, velocity = 5 m/s is used to calcul...; [Pa]; Range: > 0.0"""
    total_pressure_loss_across_return_branch: float | None
    """Duct diameter is calculated using Colebrook's equation. When there is no solution, velocity = 5 m/s is used to calcul...; [Pa]; Range: > 0.0"""

class AirflowNetworkOccupantVentilationControl(IDFObject):
    """This object is used to provide advanced thermal comfort control of window opening and closing for both exterior and i..."""

    minimum_opening_time: float | None
    """[minutes]; Default: 0.0; Range: >= 0.0"""
    minimum_closing_time: float | None
    """[minutes]; Default: 0.0; Range: >= 0.0"""
    thermal_comfort_low_temperature_curve_name: str | None
    """Enter a curve name that represents thermal comfort temperature as a function of outdoor dry-bulb temperature. Up to t..."""
    thermal_comfort_temperature_boundary_point: float | None
    """This point is used to allow separate low and high thermal comfort temperature curves. If a single performance curve i...; [C]; Default: 10.0; Range: >= 0.0"""
    thermal_comfort_high_temperature_curve_name: str | None
    """Enter a curve name that represents thermal comfort temperature as a function of outdoor dry-bulb temperature. Up to t..."""
    maximum_threshold_for_persons_dissatisfied_ppd: float | None
    """[percent]; Default: 10.0; Range: >= 0.0, <= 100.0"""
    occupancy_check: Literal["", "No", "Yes"] | None
    """If Yes, occupancy check will be performed as part of the opening probability check.; Default: No"""
    opening_probability_schedule_name: str | None
    """If this field is blank, the opening probability check is bypassed and opening is true."""
    closing_probability_schedule_name: str | None
    """If this field is blank, the closing probability check is bypassed and closing is true."""

class AirflowNetworkIntraZoneNode(IDFObject):
    """This object represents a node in a zone in the combination of RoomAir and AirflowNetwork model."""

    roomair_node_airflownetwork_name: str | None
    """Enter the name of a RoomAir:Node object defined in a RoomAirSettings:AirflowNetwork object."""
    zone_name: str | None
    """Enter the name of a zone object defined in a AirflowNetwork:MultiZone:Zone object."""
    node_height: float | None
    """Enter the reference height used to calculate the relative pressure; [m]; Default: 0.0"""

class AirflowNetworkIntraZoneLinkage(IDFObject):
    """This object defines the connection between two nodes and a component used in the combination of RoomAir and AirflowNe..."""

    node_1_name: str | None
    """Enter the name of zone or AirflowNetwork Node."""
    node_2_name: str | None
    """Enter the name of zone or AirflowNetwork Node."""
    component_name: str | None
    """Enter the name of an AirflowNetwork component. A component is one of the following AirflowNetwork:Multizone:Component..."""
    airflownetwork_multizone_surface_name: str | None
    """Only used when one of two nodes defined above are not located in the same zone, and the input of the Component Name f..."""

class DuctLossConduction(IDFObject):
    """Since: 25.2.0"""

    airloophvac_name: str | None
    airflownetwork_distribution_linkage_name: str | None
    environment_type: Literal["", "Schedule", "Zone"] | None
    """Default: Zone"""
    ambient_zone_name: str | None
    ambient_temperature_schedule_name: str | None
    ambient_humidity_ratio_schedule_name: str | None

class DuctLossLeakage(IDFObject):
    """Since: 25.2.0"""

    airloophvac_name: str | None
    airflownetwork_distribution_linkage_name: str | None

class DuctLossMakeupAir(IDFObject):
    """Since: 25.2.0"""

    airloophvac_name: str | None
    airflownetwork_distribution_linkage_name: str | None

class ExteriorLights(IDFObject):
    """only used for Meter type reporting, does not affect building loads"""

    schedule_name: str | None
    """units in schedule should be fraction applied to capacity of the exterior lights equipment, generally (0.0 - 1.0)"""
    design_level: float | None
    """[W] (W); Range: >= 0.0"""
    control_option: Literal["AstronomicalClock", "ScheduleNameOnly"] | None
    """Astronomical Clock option overrides schedule to turn lights off when sun is up"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class ExteriorFuelEquipment(IDFObject):
    """only used for Meter type reporting, does not affect building loads"""

    fuel_use_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "Water",
        ]
        | None
    )
    schedule_name: str | None
    """units in schedule should be fraction applied to capacity of the exterior fuel equipment, generally (0.0 - 1.0)"""
    design_level: float | None
    """[W] (W); Range: >= 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class ExteriorWaterEquipment(IDFObject):
    """only used for Meter type reporting, does not affect building loads"""

    fuel_use_type: Literal["", "Water"] | None
    """Default: Water"""
    schedule_name: str | None
    """units in Schedule should be fraction applied to capacity of the exterior water equipment, generally (0.0 - 1.0)"""
    design_level: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class HVACTemplateThermostat(IDFObject):
    """Zone thermostat control. Referenced schedules must be defined elsewhere in the idf. Thermostat control type is dual s..."""

    heating_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint specified below, must enter schedule or constant setpoint"""
    constant_heating_setpoint: float | None
    """Ignored if schedule specified above, must enter schedule or constant setpoint; [C]"""
    cooling_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint specified below, must enter schedule or constant setpoint"""
    constant_cooling_setpoint: float | None
    """Ignored if schedule specified above, must enter schedule or constant setpoint; [C]"""

class HVACTemplateZoneIdealLoadsAirSystem(IDFObject):
    """Zone with ideal air system that meets heating or cooling loads"""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    maximum_heating_supply_air_temperature: float | None
    """[C]; Default: 50.0; Range: > 0.0, < 100.0"""
    minimum_cooling_supply_air_temperature: float | None
    """[C]; Default: 13.0; Range: > -100.0, < 50.0"""
    maximum_heating_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.0156; Range: > 0.0"""
    minimum_cooling_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.0077; Range: > 0.0"""
    heating_limit: Literal["", "LimitCapacity", "LimitFlowRate", "LimitFlowRateAndCapacity", "NoLimit"] | None
    """Default: NoLimit"""
    maximum_heating_air_flow_rate: float | Literal["Autosize"] | None
    """This field is ignored if Heating Limit = NoLimit If this field is blank, there is no limit.; [m3/s]"""
    maximum_sensible_heating_capacity: float | Literal["Autosize"] | None
    """This field is ignored if Heating Limit = NoLimit If this field is blank, there is no limit.; [W]"""
    cooling_limit: Literal["", "LimitCapacity", "LimitFlowRate", "LimitFlowRateAndCapacity", "NoLimit"] | None
    """Default: NoLimit"""
    maximum_cooling_air_flow_rate: float | Literal["Autosize"] | None
    """This field is ignored if Cooling Limit = NoLimit This field is required if Outdoor Air Economizer Type is anything ot...; [m3/s]"""
    maximum_total_cooling_capacity: float | Literal["Autosize"] | None
    """This field is ignored if Cooling Limit = NoLimit; [W]"""
    heating_availability_schedule_name: str | None
    """If blank, heating is always available."""
    cooling_availability_schedule_name: str | None
    """If blank, cooling is always available."""
    dehumidification_control_type: (
        Literal["", "ConstantSensibleHeatRatio", "ConstantSupplyHumidityRatio", "Humidistat", "None"] | None
    )
    """ConstantSensibleHeatRatio means that the ideal loads system will be controlled to meet the sensible cooling load, and...; Default: ConstantSensibleHeatRatio"""
    cooling_sensible_heat_ratio: float | None
    """This field is applicable only when Dehumidification Control Type is ConstantSensibleHeatRatio; [dimensionless]; Default: 0.7; Range: > 0.0, <= 1.0"""
    dehumidification_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    humidification_control_type: Literal["", "ConstantSupplyHumidityRatio", "Humidistat", "None"] | None
    """None means that there is no humidification. Humidistat means that there is a ZoneControl:Humidistat for this zone and...; Default: None"""
    humidification_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "None", "Sum"] | None
    )
    """None means there is no outdoor air and all related fields will be ignored Flow/Person, Flow/Zone, Flow/Area, Sum, and...; Default: None"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the minimum outdoor air flow rate will be comput..."""
    demand_controlled_ventilation_type: Literal["", "CO2Setpoint", "None", "OccupancySchedule"] | None
    """This field controls how the minimum outdoor air flow rate is calculated. None means that design occupancy will be use...; Default: None"""
    outdoor_air_economizer_type: Literal["", "DifferentialDryBulb", "DifferentialEnthalpy", "NoEconomizer"] | None
    """DifferentialDryBulb and DifferentialEnthalpy will increase the outdoor air flow rate when there is a cooling load and...; Default: NoEconomizer"""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """[dimensionless]; Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Applicable only if Heat Recovery Type is Enthalpy.; [dimensionless]; Default: 0.65; Range: >= 0.0, <= 1.0"""

class HVACTemplateZoneBaseboardHeat(IDFObject):
    """Zone baseboard heating system."""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    baseboard_heating_type: Literal["", "Electric", "HotWater"] | None
    """Default: HotWater"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""

class HVACTemplateZoneFanCoil(IDFObject):
    """4 pipe fan coil unit with optional outdoor air."""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 75.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: (
        Literal["", "ChilledWater", "ChilledWaterDetailedFlatModel", "HeatExchangerAssistedChilledWater"] | None
    )
    """Default: ChilledWater"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_design_setpoint: float | None
    """Used for sizing when Zone Cooling Design Supply Air Temperature Input Method = SupplyAirTemperature; [C]; Default: 14.0"""
    heating_coil_type: Literal["", "Electric", "HotWater"] | None
    """Default: HotWater"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_design_setpoint: float | None
    """Used for sizing when Zone Heating Design Supply Air Temperature Input Method = SupplyAirTemperature; [C]; Default: 50.0"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Cooling Coil Design Setpoint (above) TemperatureDifference = use the value ...; Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Heating Coil Design Setpoint (above) TemperatureDifference = use the value ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    capacity_control_method: (
        Literal[
            "ASHRAE90VariableFan",
            "ConstantFanVariableFlow",
            "CyclingFan",
            "MultiSpeedFan",
            "VariableFanConstantFlow",
            "VariableFanVariableFlow",
        ]
        | None
    )
    """If this field is left blank, it will default to CyclingFan if a Dedicated Outdoor Air System is specified (see above)..."""
    low_speed_supply_air_flow_ratio: float | None
    """Default: 0.33; Range: > 0.0"""
    medium_speed_supply_air_flow_ratio: float | None
    """Medium Speed Supply Air Flow Ratio should be greater than Low Speed Supply Air Flow Ratio; Default: 0.66; Range: > 0.0"""
    outdoor_air_schedule_name: str | None
    """Value of schedule multiplies maximum outdoor air flow rate This schedule is ignored if this zone is served by an HVAC..."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""

class HVACTemplateZonePTAC(IDFObject):
    """Packaged Terminal Air Conditioner"""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during cooling operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during heating operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Supply air flow rate when no cooling or heating is needed Only used when heat pump fan operating mode is continuous. ...; [m3/s]"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule Name values of 0 indicate cycling fan (au..."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 75.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "SingleSpeedDX"] | None
    """Default: SingleSpeedDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Rating point: air entering the cooling co...; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    cooling_coil_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater"] | None
    """Default: Electric"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Applies only if Heating Coil Type is Gas; Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """Applies only if Heating Coil Type is Gas; [W] (W); Default: 0.0; Range: >= 0.0"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 14.0"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    capacity_control_method: Literal["", "None", "SingleZoneVAV"] | None
    """Default: None; Since: 9.0.1"""

class HVACTemplateZonePTHP(IDFObject):
    """Packaged Terminal Heat Pump"""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during cooling operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during heating operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Supply air flow rate when no cooling or heating is needed Only used when heat pump fan operating mode is continuous. ...; [m3/s]"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 75.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "SingleSpeedDX"] | None
    """Default: SingleSpeedDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Rating point: air entering the cooling co...; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heat_pump_heating_coil_type: Literal["", "SingleSpeedDXHeatPump"] | None
    """Default: SingleSpeedDXHeatPump"""
    heat_pump_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heat_pump_heating_coil_gross_rated_capacity: float | Literal["", "Autosize"] | None
    """Capacity excluding supply air fan heat Rating point outdoor dry-bulb temp 8.33 C, outdoor wet-bulb temp 6.11 C Rating...; [W]; Default: Autosize"""
    heat_pump_heating_coil_gross_rated_cop: float | None
    """Heat Pump Heating Coil Rated Capacity divided by power input to the compressor and outdoor fan, Does not include supp...; [W/W]; Default: 2.75; Range: > 0.0"""
    heat_pump_heating_minimum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: -8.0; Range: >= -20.0"""
    heat_pump_defrost_maximum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    heat_pump_defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    heat_pump_defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    heat_pump_defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if Timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    supplemental_heating_coil_type: Literal["", "Electric", "Gas", "HotWater"] | None
    """Default: Electric"""
    supplemental_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    supplemental_heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    supplemental_heating_coil_maximum_outdoor_dry_bulb_temperature: float | None
    """Supplemental heater will not operate when outdoor temperature exceeds this value.; [C]; Default: 21.0; Range: <= 21.0"""
    supplemental_gas_heating_coil_efficiency: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; Default: 0.8; Range: >= 0.0, <= 1.0"""
    supplemental_gas_heating_coil_parasitic_electric_load: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; [W] (W); Default: 0.0; Range: >= 0.0"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 14.0"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    capacity_control_method: Literal["", "None", "SingleZoneVAV"] | None
    """Default: None; Since: 9.0.1"""

class HVACTemplateZoneWaterToAirHeatPump(IDFObject):
    """Water to Air Heat Pump to be used with HVACTemplate:Plant:MixedWaterLoop"""

    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during cooling operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during heating operation This field may be set to 'autosize'. If a value is entered, it will be ...; [m3/s]; Default: Autosize"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Supply air flow rate when no cooling or heating is needed Only used when heat pump fan operating mode is continuous. ...; [m3/s]"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 75.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "Coil:Cooling:WaterToAirHeatPump:EquationFit"] | None
    """Default: Coil:Cooling:WaterToAirHeatPump:EquationFit"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.5; Range: > 0.0"""
    heat_pump_heating_coil_type: Literal["", "Coil:Heating:WaterToAirHeatPump:EquationFit"] | None
    """Default: Coil:Heating:WaterToAirHeatPump:EquationFit"""
    heat_pump_heating_coil_gross_rated_capacity: float | Literal["", "Autosize"] | None
    """Capacity excluding supply air fan heat; [W]; Default: Autosize"""
    heat_pump_heating_coil_gross_rated_cop: float | None
    """Heat Pump Heating Coil Rated Capacity divided by power input to the compressor and outdoor fan, does not include supp...; [W/W]; Default: 4.2; Range: > 0.0"""
    supplemental_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    supplemental_heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor Suggested value is 2.5 for a typical heat pump; [cycles/hr]; Default: 2.5; Range: >= 0.0, <= 5.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's capacity to reach steady state after startup Suggested value is 60 for a typical...; [s]; Default: 60.0; Range: >= 0.0, <= 500.0; Since: 23.2.0"""
    heat_pump_fan_delay_time: float | None
    """Programmed time delay for heat pump fan to shut off after compressor cycle off. Only required when fan operating mode...; [s]; Default: 60.0; Range: >= 0.0"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    supplemental_heating_coil_type: Literal["", "Electric", "HotWater"] | None
    """Default: Electric"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 14.0"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    heat_pump_coil_water_flow_mode: Literal["", "Constant", "ConstantOnDemand", "Cycling"] | None
    """used only when the heat pump coils are of the type WaterToAirHeatPump:EquationFit Constant results in 100% water flow...; Default: Cycling"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""

class HVACTemplateZoneVRF(IDFObject):
    """Zone terminal unit with variable refrigerant flow (VRF) DX cooling and heating coils (air-to-air or water-to-air heat..."""

    template_vrf_system_name: str | None
    """Name of a HVACTemplate:System:VRF object serving this zone"""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    rated_total_heating_capacity_sizing_ratio: float | None
    """If this terminal unit's heating coil is autosized, the heating capacity is sized to be equal to the cooling capacity ...; [W/W]; Default: 1.0; Range: >= 1.0"""
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    no_cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """This flow rate is used when the terminal is not cooling and the previous mode was cooling. This field may be set to '...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    no_heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """This flow rate is used when the terminal is not heating and the previous mode was heating. This field may be set to '...; [m3/s]; Default: Autosize"""
    cooling_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """If this field is set to autosize it will be sized based on the outdoor air inputs below, unless a dedicated outdoor a...; [m3/s]; Default: Autosize"""
    heating_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """If this field is set to autosize it will be sized based on the outdoor air inputs below, unless a dedicated outdoor a...; [m3/s]; Default: Autosize"""
    no_load_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """If this field is set to autosize it will be sized based on the outdoor air inputs below, unless a dedicated outdoor a...; [m3/s]; Default: Autosize"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    system_availability_schedule_name: str | None
    """If blank, always on"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_air_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Select fan placement as either blow through or draw through.; Default: BlowThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 75.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "None", "VariableRefrigerantFlowDX"] | None
    """Default: VariableRefrigerantFlowDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Rating point: air entering the cooling co...; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    heat_pump_heating_coil_type: Literal["", "None", "VariableRefrigerantFlowDX"] | None
    """Default: VariableRefrigerantFlowDX"""
    heat_pump_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heat_pump_heating_coil_gross_rated_capacity: float | Literal["", "Autosize"] | None
    """Capacity excluding supply air fan heat Rating point outdoor dry-bulb temp 8.33 C, outdoor wet-bulb temp 6.11 C Rating...; [W]; Default: Autosize"""
    zone_terminal_unit_on_parasitic_electric_energy_use: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    zone_terminal_unit_off_parasitic_electric_energy_use: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    dedicated_outdoor_air_system_name: str | None
    """Enter the name of an HVACTemplate:System:DedicatedOutdoorAir object if this zone is served by a separate dedicated ou..."""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 14.0"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""

class HVACTemplateZoneUnitary(IDFObject):
    """Zone terminal unit, constant volume, no controls."""

    template_unitary_system_name: str | None
    """Enter the name of an HVACTemplate:System:Unitary, HVACTemplate:System:UnitaryHeatPump:AirToAir, or HVACTemplate:Syste..."""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum runs through only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum runs through only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""

class HVACTemplateZoneVAV(IDFObject):
    """Zone terminal unit, variable volume, reheat optional. For heating, this unit activates reheat coil first, then increa..."""

    template_vav_system_name: str | None
    """Name of a HVACTemplate:System:VAV or HVACTemplate:System:PackagedVAV object serving this zone"""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_minimum_air_flow_input_method: Literal["", "Constant", "FixedFlowRate", "Scheduled"] | None
    """Constant = Constant Minimum Air Flow Fraction (a fraction of Maximum Air Flow Rate) FixedFlowRate = Fixed Minimum Air...; Default: Constant"""
    constant_minimum_air_flow_fraction: float | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Constant If the field Zone Minimum Air Flow Inp...; Default: 0.2; Range: >= 0.0, <= 1.0"""
    fixed_minimum_air_flow_rate: float | None
    """This field is used if the field Zone Minimum Air Flow Input Method is FixedFlowRate. If the field Zone Minimum Air Fl...; [m3/s]"""
    minimum_air_flow_fraction_schedule_name: str | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Scheduled Schedule values are fractions, 0.0 to..."""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    reheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    reheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    damper_heating_action: Literal["", "Normal", "Reverse"] | None
    """Default: Reverse"""
    maximum_flow_per_zone_floor_area_during_reheat: float | Literal["Autocalculate"] | None
    """Used only when Reheat Coil Object Type = Coil:Heating:Water and Damper Heating Action = Reverse When autocalculating,...; [m3/s-m2]"""
    maximum_flow_fraction_during_reheat: float | Literal["Autocalculate"] | None
    """Used only when Reheat Coil Object Type = Coil:Heating:Water and Damper Heating Action = Reverse When autocalculating,..."""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""
    design_specification_outdoor_air_object_name_for_control: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum runs through only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum runs through only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    design_specification_outdoor_air_object_name_for_sizing: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification. Note that this field is used only for specifyi..."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""

class HVACTemplateZoneVAVFanPowered(IDFObject):
    """Zone terminal unit, fan powered variable volume, reheat optional. Referenced schedules must be defined elsewhere in t..."""

    template_vav_system_name: str | None
    """Enter the name of a HVACTemplate:System:VAV or HVACTemplate:System:PackagedVAV object serving this zone."""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    primary_supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    primary_supply_air_minimum_flow_fraction: float | Literal["", "Autosize"] | None
    """Default: Autosize"""
    secondary_supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    flow_type: Literal["", "Parallel", "ParallelFromPlenum", "Series", "SeriesFromPlenum"] | None
    """Default: Parallel"""
    parallel_fan_on_flow_fraction: float | Literal["", "Autosize"] | None
    """The fraction of the primary air flow at which fan turns on Applicable only to Parallel Flow Type; Default: Autosize"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    reheat_coil_type: Literal["", "Electric", "Gas", "HotWater"] | None
    """Default: Electric"""
    reheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum runs through only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum runs through only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""
    zone_piu_fan_schedule_name: str | None
    """This is the operating schedule for the zone PIU fan. For a parallel PIU, the fan operates only when the primary air f..."""
    design_specification_outdoor_air_object_name: str | None
    design_specification_zone_air_distribution_object_name: str | None

class HVACTemplateZoneVAVHeatAndCool(IDFObject):
    """VAV system with VAV for both heating and cooling and optional reheat coil. For heating, this unit increases airflow f..."""

    template_vav_system_name: str | None
    """Name of a HVACTemplate:System:VAV or HVACTemplate:System:PackagedVAV object serving this zone"""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    constant_minimum_air_flow_fraction: float | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Constant If the field Zone Minimum Air Flow Inp...; Default: 0.2; Range: >= 0.0, <= 1.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name_for_sizing: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification. Note that this field is used only for specifyi..."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    reheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    reheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum runs through only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum runs through only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature SystemSupplyAirTemperature = use...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""

class HVACTemplateZoneConstantVolume(IDFObject):
    """Zone terminal unit, constant volume, reheat optional. Referenced schedules must be defined elsewhere in the idf."""

    template_constant_volume_system_name: str | None
    """Name of a HVACTemplate:System:ConstantVolume object serving this zone"""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    reheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    reheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum runs through only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum runs through only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""

class HVACTemplateZoneDualDuct(IDFObject):
    """Zone terminal unit, dual-duct, constant or variable volume."""

    template_dual_duct_system_name: str | None
    """Name of a HVACTemplate:System:DualDuct object serving this zone"""
    template_thermostat_name: str | None
    """Enter the name of a HVACTemplate:Thermostat object. If blank, then it is assumed that standard thermostat objects hav..."""
    supply_air_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will be multiplied by the Supply Air Sizing Factor and...; [m3/s]; Default: Autosize"""
    zone_heating_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """If blank, value from Sizing:Parameters will be used.; Range: >= 0.0"""
    zone_minimum_air_flow_fraction: float | None
    """This field is the Zone Minimum Air Flow Fraction specified as a fraction of the maximum air flow rate. This field is ...; Default: 0.2; Range: >= 0.0, <= 1.0"""
    outdoor_air_method: (
        Literal["", "DetailedSpecification", "Flow/Area", "Flow/Person", "Flow/Zone", "Maximum", "Sum"] | None
    )
    """Flow/Person, Flow/Zone, Flow/Area, Sum, and Maximum use the values in the next three fields: Outdoor Air Flow Rate pe...; Default: Flow/Person"""
    outdoor_air_flow_rate_per_person: float | None
    """Default 0.00944 is 20 cfm per person This input is used if the field Outdoor Air Method is Flow/Person, Sum, or Maximum; [m3/s]; Default: 0.00944"""
    outdoor_air_flow_rate_per_zone_floor_area: float | None
    """This input is used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0"""
    outdoor_air_flow_rate_per_zone: float | None
    """This input is used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0"""
    design_specification_outdoor_air_object_name_for_sizing: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification. Note that this field is used only for specifyi..."""
    design_specification_zone_air_distribution_object_name: str | None
    """This field is used only when Outdoor Air Method=DetailedSpecification."""
    design_specification_outdoor_air_object_name_for_control: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    cold_supply_plenum_name: str | None
    """Plenum zone name. Cold supply plenum that serves only this zone. Blank if none."""
    hot_supply_plenum_name: str | None
    """Plenum zone name. Hot supply plenum that serves only this zone. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum that serves only this zone. Blank if none."""
    baseboard_heating_type: Literal["", "Electric", "HotWater", "None"] | None
    """Default: None"""
    baseboard_heating_availability_schedule_name: str | None
    """If blank, always on"""
    baseboard_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Cooling Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]; Default: 12.8"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]; Default: 11.11"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "SystemSupplyAirTemperature", "TemperatureDifference"] | None
    )
    """SupplyAirTemperature = use the value from Zone Heating Design Supply Air Temperature TemperatureDifference = use the ...; Default: SystemSupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]; Default: 50.0"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]; Default: 30.0"""

class HVACTemplateSystemVRF(IDFObject):
    """Variable refrigerant flow (VRF) heat pump condensing unit. Serves one or more VRF zone terminal units (HVACTemplate:Z..."""

    system_availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_total_cooling_capacity: float | Literal["", "Autosize"] | None
    """Enter the total cooling capacity in watts at rated conditions or set to autosize. Total cooling capacity not accounti...; [W]; Default: Autosize"""
    gross_rated_cooling_cop: float | None
    """Enter the coefficient of performance at rated conditions or leave blank to use default. COP includes compressor and c...; [W/W]; Default: 3.3; Range: > 0.0"""
    minimum_outdoor_temperature_in_cooling_mode: float | None
    """Enter the minimum outdoor temperature allowed for cooling operation. Cooling is disabled below this temperature.; [C]; Default: -6.0"""
    maximum_outdoor_temperature_in_cooling_mode: float | None
    """Enter the maximum outdoor temperature allowed for cooling operation. Cooling is disabled above this temperature.; [C]; Default: 43.0"""
    gross_rated_heating_capacity: float | Literal["", "Autosize"] | None
    """Enter the heating capacity in watts at rated conditions or set to autosize. Heating capacity not accounting for the e...; [W]; Default: Autosize"""
    rated_heating_capacity_sizing_ratio: float | None
    """If the Gross Rated Heating Capacity is autosized, the heating capacity is sized to be equal to the cooling capacity m...; [W/W]; Default: 1.0; Range: >= 1.0"""
    gross_rated_heating_cop: float | None
    """COP includes compressor and condenser fan electrical energy input COP does not include supply fan heat or supply fan ...; [W/W]; Default: 3.4; Range: > 0.0"""
    minimum_outdoor_temperature_in_heating_mode: float | None
    """Enter the minimum outdoor temperature allowed for heating operation.; [C]; Default: -20.0"""
    maximum_outdoor_temperature_in_heating_mode: float | None
    """Enter the maximum outdoor temperature allowed for heating operation.; [C]; Default: 16.0"""
    minimum_heat_pump_part_load_ratio: float | None
    """Enter the minimum heat pump part-load ratio (PLR). When the cooling or heating PLR is below this value, the heat pump...; [dimensionless]; Default: 0.15"""
    zone_name_for_master_thermostat_location: str | None
    """Enter the name of the zone where the master thermostat is located."""
    master_thermostat_priority_control_type: (
        Literal["", "LoadPriority", "MasterThermostatPriority", "Scheduled", "ThermostatOffsetPriority", "ZonePriority"]
        | None
    )
    """Choose a thermostat control logic scheme. If these control types fail to control zone temperature within a reasonable...; Default: MasterThermostatPriority"""
    thermostat_priority_schedule_name: str | None
    """this field is required if Master Thermostat Priority Control Type is Scheduled. Schedule values of 0 denote cooling, ..."""
    heat_pump_waste_heat_recovery: Literal["", "No", "Yes"] | None
    """This field is reserved for future use. The only valid choice is No.; Default: No"""
    equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode: float | None
    """Enter the equivalent length of the farthest terminal unit from the condenser; [m]; Default: 30.0"""
    vertical_height_used_for_piping_correction_factor: float | None
    """Enter the height difference between the highest and lowest terminal unit; [m]; Default: 10.0"""
    equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode: float | None
    """Enter the equivalent length of the farthest terminal unit from the condenser; [m]; Default: 30.0"""
    crankcase_heater_power_per_compressor: float | None
    """Enter the value of the resistive heater located in the compressor(s). This heater is used to warm the refrigerant and...; [W]; Default: 33.0"""
    number_of_compressors: int | None
    """Enter the total number of compressor. This input is used only for crankcase heater calculations.; [dimensionless]; Default: 2"""
    ratio_of_compressor_size_to_total_compressor_capacity: float | None
    """Enter the ratio of the first stage compressor to total compressor capacity. All other compressors are assumed to be e...; [W/W]; Default: 0.5"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater: float | None
    """Enter the maximum outdoor temperature above which the crankcase heaters are disabled.; [C]; Default: 5.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Select a defrost strategy. Reverse cycle reverses the operating mode from heating to cooling to melt frost formation ...; Default: Resistive"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Choose a defrost control type. Either use a fixed Timed defrost period or select OnDemand to defrost only when necess...; Default: Timed"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode. Only applicable if timed defrost control is specified.; [dimensionless]; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """Enter the size of the resistive defrost heating element. Only applicable if resistive defrost strategy is specified; [W] (W); Default: Autosize"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """Enter the maximum outdoor temperature above which defrost operation is disabled.; [C]; Default: 5.0"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Select either an air cooled or evaporatively cooled condenser.; Default: AirCooled"""
    water_condenser_volume_flow_rate: float | Literal["", "Autosize"] | None
    """Only used when Condenser Type = WaterCooled.; [m3/s]; Default: Autosize"""
    evaporative_condenser_effectiveness: float | None
    """Enter the effectiveness of the evaporatively cooled condenser. This field is only used when the Condenser Type = Evap...; [dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    evaporative_condenser_air_flow_rate: float | Literal["", "Autosize"] | None
    """Used to calculate evaporative condenser water use. This field is only used when the Condenser Type = EvaporativelyCoo...; [m3/s]; Default: Autosize"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump. This field is only used when the Condenser Type = Eva...; [W]; Default: 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    fuel_type: (
        Literal[
            "",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: Electricity"""
    minimum_outdoor_temperature_in_heat_recovery_mode: float | None
    """The minimum outdoor temperature below which heat recovery mode will not operate.; [C]; Default: -15.0"""
    maximum_outdoor_temperature_in_heat_recovery_mode: float | None
    """The maximum outdoor temperature above which heat recovery mode will not operate.; [C]; Default: 45.0"""

class HVACTemplateSystemUnitary(IDFObject):
    """Unitary furnace with air conditioner"""

    system_availability_schedule_name: str | None
    """If blank, always on; Unitary System always on. Schedule is used in availability manager and fan scheduling. Also see ..."""
    control_zone_or_thermostat_location_name: str | None
    supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 600.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "None", "SingleSpeedDX"] | None
    """Default: SingleSpeedDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 12.8"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Gross SHR; Default: Autosize"""
    cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Default: 3.0; Range: > 0.0"""
    heating_coil_type: Literal["Electric", "Gas", "HotWater"] | None
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 50.0"""
    heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the minimum outdoor air flow rate If blank, always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "LockoutWithCompressor", "LockoutWithHeating", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_upper_temperature_limit: float | None
    """Outdoor temperature above which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_lower_temperature_limit: float | None
    """Outdoor temperature below which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_upper_enthalpy_limit: float | None
    """Outdoor enthalpy above which economizer is disabled and heat recovery is enabled (if available). Blank means no limit.; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum serves all zones on this system. Blank if none."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Applicable only if Heat Recovery Type is Enthalpy.; Default: 0.65; Range: >= 0.0, <= 1.0"""
    dehumidification_control_type: Literal["", "CoolReheatDesuperheater", "CoolReheatHeatingCoil", "None"] | None
    """None = meet sensible cooling load only CoolReheatHeatingCoil = cool beyond the dry-bulb setpoint as required to meet ...; Default: None"""
    dehumidification_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 500.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""

class HVACTemplateSystemUnitaryHeatPumpAirToAir(IDFObject):
    """Unitary furnace with electric air-to-air heat pump"""

    system_availability_schedule_name: str | None
    """If blank, always on; Unitary System always on. Schedule is used in availability manager and fan scheduling. Also see ..."""
    control_zone_or_thermostat_location_name: str | None
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during cooling operation This field may be set to 'autosize'. If a value is entered, it will *no...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during heating operation This field may be set to 'autosize'. If a value is entered, it will *no...; [m3/s]; Default: Autosize"""
    no_load_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate when no cooling or heating is needed Only used when heat pump fan operating mode is Continuous. ...; [m3/s]; Default: Autosize"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 600.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "SingleSpeedDX"] | None
    """Default: SingleSpeedDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 12.8"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Rating point: air entering the cooling co...; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heat_pump_heating_coil_type: Literal["", "SingleSpeedDXHeatPump"] | None
    """Default: SingleSpeedDXHeatPump"""
    heat_pump_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 50.0"""
    heat_pump_heating_coil_gross_rated_capacity: float | Literal["", "Autosize"] | None
    """Rated heating capacity excluding the effect of supply air fan heat Rating point outdoor dry-bulb temp 8.33 C, outdoor...; [W]; Default: Autosize"""
    heat_pump_heating_coil_rated_cop: float | None
    """Heat Pump Heating Coil Rated Capacity divided by power input to the compressor and outdoor fan, does not include supp...; [W/W]; Default: 2.75; Range: > 0.0"""
    heat_pump_heating_minimum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: -8.0; Range: >= -20.0"""
    heat_pump_defrost_maximum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    heat_pump_defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    heat_pump_defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    heat_pump_defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if Timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    supplemental_heating_coil_type: Literal["", "Electric", "Gas", "HotWater"] | None
    """Default: Electric"""
    supplemental_heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    supplemental_heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    supplemental_heating_coil_maximum_outdoor_dry_bulb_temperature: float | None
    """Supplemental heater will not operate when outdoor temperature exceeds this value.; [C]; Default: 21.0; Range: <= 21.0"""
    supplemental_gas_heating_coil_efficiency: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; Default: 0.8; Range: >= 0.0, <= 1.0"""
    supplemental_gas_heating_coil_parasitic_electric_load: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; [W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the minimum outdoor air flow rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "LockoutWithCompressor", "LockoutWithHeating", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_maximum_limit_dry_bulb_temperature: float | None
    """Enter the maximum outdoor dry-bulb temperature limit for FixedDryBulb economizer control type. No input or blank inpu...; [C]"""
    economizer_maximum_limit_enthalpy: float | None
    """Enter the maximum outdoor enthalpy limit for FixedEnthalpy economizer control type. No input or blank input means thi...; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    economizer_minimum_limit_dry_bulb_temperature: float | None
    """Enter the minimum outdoor dry-bulb temperature limit for economizer control. No input or blank input means this limit...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum serves all zones on this system. Blank if none."""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Applicable only if Heat Recovery Type is Enthalpy.; Default: 0.65; Range: >= 0.0, <= 1.0"""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 500.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""

class HVACTemplateSystemUnitarySystem(IDFObject):
    """Unitary HVAC system with optional cooling and heating. Supports DX and chilled water, cooling, gas, electric, and hot..."""

    system_availability_schedule_name: str | None
    """If blank, always available. Also see Supply Fan Operating Mode Schedule Name field."""
    control_type: Literal["", "Load", "SetPoint"] | None
    """Load control requires a Controlling Zone name. SetPoint control requires set points at coil outlet nodes. The user mu...; Default: Load"""
    control_zone_or_thermostat_location_name: str | None
    """This field is required if Control Type is Load."""
    cooling_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during cooling operation This field may be set to 'autosize'. If a value is entered, it will *no...; [m3/s]; Default: Autosize"""
    heating_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate during heating operation This field may be set to 'autosize'. If a value is entered, it will *no...; [m3/s]; Default: Autosize"""
    no_load_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """Supply air flow rate when no cooling or heating is needed Only used when heat pump fan operating mode is Continuous. ...; [m3/s]; Default: Autosize"""
    supply_fan_operating_mode_schedule_name: str | None
    """Refers to a schedule to specify unitary supply fan operating mode. Schedule values of 0 indicate cycling fan (auto) S..."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 600.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: (
        Literal[
            "",
            "ChilledWater",
            "ChilledWaterDetailedFlatModel",
            "HeatExchangerAssistedChilledWater",
            "HeatExchangerAssistedDX",
            "MultiSpeedDX",
            "None",
            "SingleSpeedDX",
            "SingleSpeedDXWaterCooled",
            "TwoSpeedDX",
            "TwoStageDX",
            "TwoStageHumidityControlDX",
        ]
        | None
    )
    """Default: SingleSpeedDX"""
    number_of_speeds_for_cooling: int | None
    """Used only for Cooling Coil Type = MultiSpeedDX.; Default: 1; Range: >= 0, <= 4"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 12.8"""
    dx_cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Rating point: air entering the cooling co...; [W]; Default: Autosize"""
    dx_cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not include...; Default: Autosize"""
    dx_cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heating_coil_type: (
        Literal[
            "",
            "Electric",
            "Gas",
            "HotWater",
            "MultiSpeedDXHeatPumpAirSource",
            "MultiStageElectric",
            "MultiStageGas",
            "None",
            "SingleSpeedDXHeatPumpAirSource",
            "SingleSpeedDXHeatPumpWaterSource",
        ]
        | None
    )
    """Default: Gas"""
    number_of_speeds_or_stages_for_heating: int | None
    """Used only for Heating Coil Type = MultiSpeedDXHeatPumpAirSource), MultiStageElectric, or MultiStageGas.; Default: 1; Range: >= 0, <= 4"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_design_supply_air_temperature: float | None
    """Used for sizing.; [C]; Default: 50.0"""
    heating_coil_gross_rated_capacity: float | Literal["", "Autosize"] | None
    """Rated heating capacity excluding the effect of supply air fan heat Rating point outdoor dry-bulb temp 8.33 C, outdoor...; [W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    heat_pump_heating_coil_gross_rated_cop: float | None
    """Heating Coil Rated Capacity divided by power input to the compressor and outdoor fan, does not include supply air fan...; [W/W]; Default: 2.75; Range: > 0.0"""
    heat_pump_heating_minimum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: -8.0; Range: >= -20.0"""
    heat_pump_defrost_maximum_outdoor_dry_bulb_temperature: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    heat_pump_defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    heat_pump_defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    heat_pump_defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if Timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    supplemental_heating_or_reheat_coil_type: Literal["", "DesuperHeater", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    supplemental_heating_or_reheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    supplemental_heating_or_reheat_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    supplemental_heating_or_reheat_coil_maximum_outdoor_dry_bulb_temperature: float | None
    """Supplemental heater will not operate when outdoor temperature exceeds this value.; [C]; Default: 21.0; Range: <= 21.0"""
    supplemental_gas_heating_or_reheat_coil_efficiency: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; Default: 0.8; Range: >= 0.0, <= 1.0"""
    supplemental_gas_heating_or_reheat_coil_parasitic_electric_load: float | None
    """Applies only if Supplemental Heating Coil Type is Gas; [W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the minimum outdoor air flow rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "LockoutWithCompressor", "LockoutWithHeating", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_maximum_limit_dry_bulb_temperature: float | None
    """Enter the maximum outdoor dry-bulb temperature limit for FixedDryBulb economizer control type. No input or blank inpu...; [C]"""
    economizer_maximum_limit_enthalpy: float | None
    """Enter the maximum outdoor enthalpy limit for FixedEnthalpy economizer control type. No input or blank input means thi...; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    economizer_minimum_limit_dry_bulb_temperature: float | None
    """Enter the minimum outdoor dry-bulb temperature limit for economizer control. No input or blank input means this limit...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Return plenum serves all zones on this system. Blank if none."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Applicable only if Heat Recovery Type is Enthalpy.; Default: 0.65; Range: >= 0.0, <= 1.0"""
    heat_recovery_heat_exchanger_type: Literal["", "Plate", "Rotary"] | None
    """Default: Plate"""
    heat_recovery_frost_control_type: (
        Literal["", "ExhaustAirRecirculation", "ExhaustOnly", "MinimumExhaustTemperature", "None"] | None
    )
    """Default: None"""
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint, reheat with reheat coil If no reheat c...; Default: None"""
    dehumidification_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100) Ignored if Dehumidification Relative Humidity Setpoint Schedule...; [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    dehumidification_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Dehumidification Relative Humidity Setpoint above. Schedule values ..."""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100). Ignored if Humidifier Relative Humidity Setpoint Schedule spec...; [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    humidifier_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Humidifier Relative Humidity Setpoint above. Schedule values must b..."""
    sizing_option: Literal["", "Coincident", "NonCoincident"] | None
    """Select whether autosized system supply flow rate is the sum of Coincident or NonCoincident zone air flow rates.; Default: NonCoincident"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 300.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""

class HVACTemplateSystemVAV(IDFObject):
    """Variable Air Volume (VAV) air loop with optional heating coil and optional preheat."""

    system_availability_schedule_name: str | None
    """If blank, always on; VAV System always on. Schedule is used in availability manager and fan scheduling. Also see 'Nig..."""
    supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    supply_fan_minimum_flow_rate: float | Literal["", "Autosize"] | None
    """This field is only used to set a minimum part load on the VAV fan power curve. Autosize or zero is recommended.; [m3/s]; Default: Autosize"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "ChilledWater", "ChilledWaterDetailedFlatModel"] | None
    """Default: ChilledWater"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    cooling_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Cooling Coil Setpoint Schedule Name is specified.; [C]; Default: 12.8"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    heating_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Heating Coil Setpoint Schedule Name is specified.; [C]; Default: 10.0"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    preheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    preheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    preheat_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    preheat_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Preheat Coil Setpoint Schedule Name specified.; [C]; Default: 7.2"""
    gas_preheat_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_preheat_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_control_type: Literal["", "FixedMinimum", "ProportionalMinimum"] | None
    """Default: ProportionalMinimum"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the Minimum Outdoor Air Flow Rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_upper_temperature_limit: float | None
    """Outdoor temperature above which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_lower_temperature_limit: float | None
    """Outdoor temperature below which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_upper_enthalpy_limit: float | None
    """Outdoor enthalpy above which economizer is disabled and heat recovery is enabled (if available). Blank means no limit.; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    supply_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnAnyZoneFansOnly", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Default: 0.65; Range: >= 0.0, <= 1.0"""
    cooling_coil_setpoint_reset_type: (
        Literal["", "None", "OutdoorAirTemperatureReset", "Warmest", "WarmestTemperatureFirst"] | None
    )
    """Overrides Cooling Coil Setpoint Schedule Name None = no reset, control to Cooling Coil Design Setpoint Temperature or...; Default: None"""
    heating_coil_setpoint_reset_type: Literal["", "None", "OutdoorAirTemperatureReset"] | None
    """Overrides Heating Coil Setpoint Schedule Name None = no reset, control to Heating Coil Design Setpoint Temperature or...; Default: None"""
    dehumidification_control_type: Literal["", "CoolReheat", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint as required to meet the humidity setpoint.; Default: None"""
    dehumidification_control_zone_name: str | None
    """Zone name where humidistat is located"""
    dehumidification_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    sizing_option: Literal["", "Coincident", "NonCoincident"] | None
    """Select whether autosized system supply flow rate is the sum of Coincident or NonCoincident zone air flow rates.; Default: NonCoincident"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 500.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    return_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""

class HVACTemplateSystemPackagedVAV(IDFObject):
    """Packaged Variable Air Volume (PVAV) air loop with optional heating coil and optional preheat."""

    system_availability_schedule_name: str | None
    """If blank, always on; PVAV System always on. Schedule is used in availability manager and fan scheduling. Also see 'Ni..."""
    supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    supply_fan_minimum_flow_rate: float | Literal["", "Autosize"] | None
    """This field is only used to set a minimum part load on the VAV fan power curve. Autosize or zero is recommended.; [m3/s]; Default: Autosize"""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cooling_coil_type: Literal["", "TwoSpeedDX", "TwoSpeedHumidControlDX"] | None
    """Default: TwoSpeedDX"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    cooling_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Cooling Coil Setpoint Schedule Name is specified.; [C]; Default: 12.8"""
    cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Gross SHR; Default: Autosize"""
    cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    heating_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Heating Coil Setpoint Schedule Name is specified.; [C]; Default: 10.0"""
    heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_control_type: Literal["", "FixedMinimum", "ProportionalMinimum"] | None
    """Default: ProportionalMinimum"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the Minimum Outdoor Air Flow Rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "LockoutWithCompressor", "LockoutWithHeating", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_maximum_limit_dry_bulb_temperature: float | None
    """Enter the maximum outdoor dry-bulb temperature limit for FixedDryBulb economizer control type. No input or blank inpu...; [C]"""
    economizer_maximum_limit_enthalpy: float | None
    """Enter the maximum outdoor enthalpy limit for FixedEnthalpy economizer control type. No input or blank input means thi...; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    economizer_minimum_limit_dry_bulb_temperature: float | None
    """Enter the minimum outdoor dry-bulb temperature limit for economizer control. No input or blank input means this limit...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    supply_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnAnyZoneFansOnly", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Default: 0.65; Range: >= 0.0, <= 1.0"""
    cooling_coil_setpoint_reset_type: (
        Literal["", "None", "OutdoorAirTemperatureReset", "Warmest", "WarmestTemperatureFirst"] | None
    )
    """Overrides Cooling Coil Setpoint Schedule Name None = no reset, control to Cooling Coil Design Setpoint Temperature or...; Default: None"""
    heating_coil_setpoint_reset_type: Literal["", "None", "OutdoorAirTemperatureReset"] | None
    """Overrides Heating Coil Setpoint Schedule Name None = no reset, control to Heating Coil Design Setpoint Temperature or...; Default: None"""
    dehumidification_control_type: Literal["", "CoolReheat", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint as required to meet the humidity setpoint.; Default: None"""
    dehumidification_control_zone_name: str | None
    """Zone name where humidistat is located"""
    dehumidification_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100); [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    sizing_option: Literal["", "Coincident", "NonCoincident"] | None
    """Select whether autosized system supply flow rate is the sum of Coincident or NonCoincident zone air flow rates.; Default: NonCoincident"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 500.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    return_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""

class HVACTemplateSystemConstantVolume(IDFObject):
    """Constant Air Volume air loop with optional chilled water cooling coil, optional heating coil and optional preheat."""

    system_availability_schedule_name: str | None
    """If blank, always on; Schedule is used in availability manager and fan scheduling. Also see 'Night Cycle Control' field."""
    supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 600.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    cooling_coil_type: (
        Literal["", "ChilledWater", "ChilledWaterDetailedFlatModel", "HeatExchangerAssistedChilledWater", "None"] | None
    )
    """Default: ChilledWater"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_setpoint_control_type: (
        Literal["", "ControlZone", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled", "Warmest"] | None
    )
    """Default: FixedSetpoint"""
    cooling_coil_control_zone_name: str | None
    """name of the HVACTemplate:ZoneConstantVolume object that contains the cooling thermostat when Cooling Coil Setpoint Co..."""
    cooling_coil_design_setpoint_temperature: float | None
    """Used for sizing and as constant setpoint if no Cooling Coil Setpoint Schedule Name is specified.; [C]; Default: 12.8"""
    cooling_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 15.6"""
    cooling_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults are 15.6C (60F) at 15.6C (60F) to 12.8C (55F) at 23....; [C]; Default: 15.6"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.8"""
    cooling_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 23.3"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: HotWater"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_setpoint_control_type: (
        Literal["", "ControlZone", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled"] | None
    )
    """Default: FixedSetpoint"""
    heating_coil_control_zone_name: str | None
    """name of the HVACTemplate:ZoneConstantVolume object that contains the heating thermostat"""
    heating_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Heating Coil Setpoint Schedule Name is specified.; [C]; Default: 10.0"""
    heating_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    heating_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 15.0"""
    heating_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults are 15.6C (60F) at 15.6C (60F) to 12.8C (55F) at 23....; [C]; Default: 7.8"""
    heating_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    heating_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    preheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    preheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    preheat_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Preheat Coil Setpoint Schedule Name specified.; [C]; Default: 7.2"""
    preheat_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    gas_preheat_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_preheat_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the Minimum Outdoor Air Flow Rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_upper_temperature_limit: float | None
    """Outdoor temperature above which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_lower_temperature_limit: float | None
    """Outdoor temperature below which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_upper_enthalpy_limit: float | None
    """Outdoor enthalpy above which economizer is disabled and heat recovery is enabled (if available). Blank means no limit.; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnAnyZoneFansOnly", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Default: 0.65; Range: >= 0.0, <= 1.0"""
    heat_recovery_heat_exchanger_type: Literal["", "Plate", "Rotary"] | None
    """Default: Plate"""
    heat_recovery_frost_control_type: (
        Literal["", "ExhaustAirRecirculation", "ExhaustOnly", "MinimumExhaustTemperature", "None"] | None
    )
    """Default: None"""
    dehumidification_control_type: Literal["", "CoolReheat", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint as required to meet the humidity setpoint.; Default: None"""
    dehumidification_control_zone_name: str | None
    """Zone name where humidistat is located"""
    dehumidification_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100) Ignored if Dehumidification Relative Humidity Setpoint Schedule...; [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    dehumidification_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Dehumidification Relative Humidity Setpoint above. Schedule values ..."""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100). Ignored if Humidifier Relative Humidity Setpoint Schedule spec...; [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    humidifier_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Humidifier Relative Humidity Setpoint above. Schedule values must b..."""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 300.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""

class HVACTemplateSystemDualDuct(IDFObject):
    """Dual-duct constant volume or variable volume air loop"""

    system_availability_schedule_name: str | None
    """If blank, always on; Schedule is used in availability manager and fan scheduling. Also see 'Night Cycle Control' field."""
    system_configuration_type: (
        Literal[
            "", "DualFanConstantVolume", "DualFanVariableVolume", "SingleFanConstantVolume", "SingleFanVariableVolume"
        ]
        | None
    )
    """SingleFan - a single supply fan before the split to dual ducts DualFan - two supply fans, one each for the cold and h...; Default: SingleFanConstantVolume"""
    main_supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    main_supply_fan_minimum_flow_fraction: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    main_supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    main_supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    main_supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    main_supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    main_supply_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""
    cold_duct_supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    cold_duct_supply_fan_minimum_flow_fraction: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    cold_duct_supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    cold_duct_supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    cold_duct_supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    cold_duct_supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    cold_duct_supply_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""
    cold_duct_supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    hot_duct_supply_fan_maximum_flow_rate: float | Literal["", "Autosize"] | None
    """This field may be set to 'autosize'. If a value is entered, it will *not* be multiplied by any sizing factor or by zo...; [m3/s]; Default: Autosize"""
    hot_duct_supply_fan_minimum_flow_fraction: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    hot_duct_supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    hot_duct_supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    hot_duct_supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    hot_duct_supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    hot_duct_supply_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""
    hot_duct_supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    cooling_coil_type: Literal["", "ChilledWater", "ChilledWaterDetailedFlatModel", "None"] | None
    """Default: ChilledWater"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_setpoint_control_type: (
        Literal["", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled", "Warmest"] | None
    )
    """Default: FixedSetpoint"""
    cooling_coil_design_setpoint_temperature: float | None
    """Used for sizing and as constant setpoint if no Cooling Coil Setpoint Schedule Name is specified.; [C]; Default: 12.8"""
    cooling_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 15.6"""
    cooling_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults are 15.6C (60F) at 15.6C (60F) to 12.8C (55F) at 23....; [C]; Default: 15.6"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.8"""
    cooling_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 23.3"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: HotWater"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_setpoint_control_type: (
        Literal["", "Coldest", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled"] | None
    )
    """Default: FixedSetpoint"""
    heating_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Heating Coil Setpoint Schedule Name is specified.; [C]; Default: 50.0"""
    heating_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    heating_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 50.0"""
    heating_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults are 15.6C (60F) at 15.6C (60F) to 12.8C (55F) at 23....; [C]; Default: 7.8"""
    heating_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 20.0"""
    heating_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    heating_coil_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    preheat_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: None"""
    preheat_coil_availability_schedule_name: str | None
    """If blank, always on"""
    preheat_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Preheat Coil Setpoint Schedule Name specified.; [C]; Default: 7.2"""
    preheat_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    gas_preheat_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_preheat_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    minimum_outdoor_air_control_type: Literal["", "FixedMinimum", "ProportionalMinimum"] | None
    """Default: ProportionalMinimum"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the Minimum Outdoor Air Flow Rate If blank, multiplier is always one"""
    economizer_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_lockout: Literal["", "NoLockout"] | None
    """Default: NoLockout"""
    economizer_upper_temperature_limit: float | None
    """Outdoor temperature above which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_lower_temperature_limit: float | None
    """Outdoor temperature below which economizer is disabled and heat recovery is enabled (if available). Blank means no li...; [C]"""
    economizer_upper_enthalpy_limit: float | None
    """Outdoor enthalpy above which economizer is disabled and heat recovery is enabled (if available). Blank means no limit.; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    cold_supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves the cold inlets of all zones on this system. Blank if none."""
    hot_supply_plenum_name: str | None
    """Plenum zone name. Supply plenum serves the hot inlets of all zones on this system. Blank if none."""
    return_plenum_name: str | None
    """Plenum zone name. Supply plenum serves all zones on this system. Blank if none."""
    night_cycle_control: Literal["", "CycleOnAny", "CycleOnControlZone", "StayOff"] | None
    """Default: StayOff"""
    night_cycle_control_zone_name: str | None
    """Applicable only if Night Cycle Control is Cycle On Control Zone."""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Default: 0.65; Range: >= 0.0, <= 1.0"""
    heat_recovery_heat_exchanger_type: Literal["", "Plate", "Rotary"] | None
    """Default: Plate"""
    heat_recovery_frost_control_type: (
        Literal["", "ExhaustAirRecirculation", "ExhaustOnly", "MinimumExhaustTemperature", "None"] | None
    )
    """Default: None"""
    dehumidification_control_type: Literal["", "CoolReheat", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint as required to meet the humidity setpoint.; Default: None"""
    dehumidification_control_zone_name: str | None
    """Zone name where humidistat is located"""
    dehumidification_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100) Ignored if Dehumidification Relative Humidity Setpoint Schedule...; [percent]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    dehumidification_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Dehumidification Relative Humidity Setpoint above. Schedule values ..."""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_control_zone_name: str | None
    """Zone name where humidistat is located"""
    humidifier_relative_humidity_setpoint: float | None
    """Zone relative humidity setpoint in percent (0 to 100). Ignored if Humidifier Relative Humidity Setpoint Schedule spec...; [percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    humidifier_relative_humidity_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Humidifier Relative Humidity Setpoint above. Schedule values must b..."""
    sizing_option: Literal["", "Coincident", "NonCoincident"] | None
    """Select whether autosized system supply flow rate is the sum of Coincident or NonCoincident zone air flow rates.; Default: NonCoincident"""
    return_fan: Literal["", "No", "Yes"] | None
    """Specifies if the system has a return fan.; Default: No"""
    return_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    return_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 500.0; Range: >= 0.0"""
    return_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    return_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    return_fan_part_load_power_coefficients: (
        Literal[
            "",
            "ASHRAE90.1-2004AppendixG",
            "InletVaneDampers",
            "OutletDampers",
            "VariableSpeedMotor",
            "VariableSpeedMotorPressureReset",
        ]
        | None
    )
    """This field selects a predefined set of fan power coefficients. The ASHRAE 90.1-2004 Appendix G coefficients are from ...; Default: InletVaneDampers"""

class HVACTemplateSystemDedicatedOutdoorAir(IDFObject):
    """This object creates a dedicated outdoor air system that must be used with HVACTemplate:Zone:* objects for BaseboardHe..."""

    system_availability_schedule_name: str | None
    """If blank, always on; DOAS System always on. Schedule is used in availability manager and fan scheduling."""
    air_outlet_type: Literal["", "DirectIntoZone"] | None
    """Default: DirectIntoZone"""
    supply_fan_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    supply_fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    supply_fan_delta_pressure: float | None
    """[Pa] (inH2O); Default: 1000.0; Range: >= 0.0"""
    supply_fan_motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    supply_fan_motor_in_air_stream_fraction: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    cooling_coil_type: (
        Literal[
            "",
            "ChilledWater",
            "ChilledWaterDetailedFlatModel",
            "HeatExchangerAssistedChilledWater",
            "HeatExchangerAssistedDX",
            "None",
            "TwoSpeedDX",
            "TwoStageDX",
            "TwoStageHumidityControlDX",
        ]
        | None
    )
    """Default: ChilledWater"""
    cooling_coil_availability_schedule_name: str | None
    """If blank, always on"""
    cooling_coil_setpoint_control_type: Literal["", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled"] | None
    """Default: FixedSetpoint"""
    cooling_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Cooling Coil Setpoint Schedule Name is specified.; [C]; Default: 12.8"""
    cooling_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 15.6"""
    cooling_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults are 15.6C (60F) at 15.6C (60F) to 12.8C (55F) at 23....; [C]; Default: 15.6"""
    cooling_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.8"""
    cooling_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 23.3"""
    dx_cooling_coil_gross_rated_total_capacity: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    dx_cooling_coil_gross_rated_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Gross SHR; Default: Autosize"""
    dx_cooling_coil_gross_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    heating_coil_type: Literal["", "Electric", "Gas", "HotWater", "None"] | None
    """Default: HotWater"""
    heating_coil_availability_schedule_name: str | None
    """If blank, always on"""
    heating_coil_setpoint_control_type: Literal["", "FixedSetpoint", "OutdoorAirTemperatureReset", "Scheduled"] | None
    """When selecting OutdoorAirTemperatureReset, the Heating Coil Design Setpoint may need to be changed; Default: FixedSetpoint"""
    heating_coil_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Heating Coil Setpoint Schedule Name is specified.; [C]; Default: 12.2"""
    heating_coil_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    heating_coil_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control. Defaults 15.0C (59F) at 7.8C (46F) to 12.2C (54F) at 12.2C (54F); [C]; Default: 15.0"""
    heating_coil_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 7.8"""
    heating_coil_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    heating_coil_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    gas_heating_coil_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    gas_heating_coil_parasitic_electric_load: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    heat_recovery_sensible_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    heat_recovery_latent_effectiveness: float | None
    """Default: 0.65; Range: >= 0.0, <= 1.0"""
    heat_recovery_heat_exchanger_type: Literal["", "Plate", "Rotary"] | None
    """Default: Plate"""
    heat_recovery_frost_control_type: (
        Literal["", "ExhaustAirRecirculation", "ExhaustOnly", "MinimumExhaustTemperature", "None"] | None
    )
    """Default: None"""
    dehumidification_control_type: (
        Literal["", "CoolReheatDesuperheater", "CoolReheatHeatingCoil", "Multimode", "None"] | None
    )
    """None = meet sensible load only CoolReheatHeatingCoil = cool beyond the dry-bulb setpoint, reheat with heating coil Va...; Default: None"""
    dehumidification_setpoint: float | None
    """The supply air humidity ratio for dehumidification control. Default of 0.00924 kgWater/kgDryAir is equivalent to 12.8...; [kgWater/kgDryAir]; Default: 0.00924; Range: >= 0.0, <= 1.0"""
    humidifier_type: Literal["", "ElectricSteam", "None"] | None
    """Default: None"""
    humidifier_availability_schedule_name: str | None
    """If blank, always available"""
    humidifier_rated_capacity: float | None
    """Moisture output rate at full rated power input. The humidifier does not currently autosize, so the default is very la...; [m3/s] (gal/min); Default: 1e-06; Range: >= 0.0"""
    humidifier_rated_electric_power: float | Literal["", "Autosize"] | None
    """Electric power input at rated capacity moisture output. Power consumption is proportional to moisture output with no ...; [W] (W); Default: Autosize"""
    humidifier_constant_setpoint: float | None
    """The supply air humidity ratio for humidification control. Ignored if Humidifier Setpoint Schedule specified below; [kgWater/kgDryAir]; Default: 0.003; Range: >= 0.0, <= 1.0"""
    dehumidification_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Dehumidification Setpoint above. Schedule values must be in units o..."""
    humidifier_setpoint_schedule_name: str | None
    """Leave blank to use constant setpoint specified in Humidifier Constant Setpoint above. Schedule values must be in unit..."""

class HVACTemplatePlantChilledWaterLoop(IDFObject):
    """Plant and condenser loops to serve all HVACTemplate chilled water coils, chillers, and towers."""

    pump_schedule_name: str | None
    """If blank, always available Applies to both chilled water and condenser loop pumps"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Applies to both chilled water and condenser loop pumps; Default: Intermittent"""
    chiller_plant_operation_scheme_type: Literal["", "Default", "UserDefined"] | None
    """Default operation type makes all equipment available at all times operating in order of Priority specified in HVACTem...; Default: Default"""
    chiller_plant_equipment_operation_schemes_name: str | None
    """Name of a PlantEquipmentOperationSchemes object Ignored if Chiller Plant Operation Scheme Type = Default"""
    chilled_water_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    chilled_water_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Chilled Water Setpoint Schedule Name is specified.; [C]; Default: 7.22"""
    chilled_water_pump_configuration: (
        Literal["", "ConstantPrimaryNoSecondary", "ConstantPrimaryVariableSecondary", "VariablePrimaryNoSecondary"]
        | None
    )
    """VariablePrimaryNoSecondary - variable flow to chillers and coils ConstantPrimaryNoSecondary - constant flow to chille...; Default: ConstantPrimaryNoSecondary"""
    primary_chilled_water_pump_rated_head: float | None
    """default head is 60 feet H2O; [Pa] (ftH2O); Default: 179352.0; Range: >= 0.0"""
    secondary_chilled_water_pump_rated_head: float | None
    """default head is 60 feet H2O; [Pa] (ftH2O); Default: 179352.0; Range: >= 0.0"""
    condenser_plant_operation_scheme_type: Literal["", "Default", "UserDefined"] | None
    """Default operation type makes all equipment available at all times operating in order of Priority specified in HVACTem...; Default: Default"""
    condenser_equipment_operation_schemes_name: str | None
    """Name of a CondenserEquipmentOperationSchemes object Ignored if Condenser Plant Operation Scheme Type = Default May be..."""
    condenser_water_temperature_control_type: Literal["OutdoorWetBulbTemperature", "SpecifiedSetpoint"] | None
    """May be left blank if not serving any water cooled chillers"""
    condenser_water_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint May be left blank if not serving any water cooled chillers"""
    condenser_water_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Condenser Water Setpoint Schedule Name is specified. May be left blank...; [C]; Default: 29.4"""
    condenser_water_pump_rated_head: float | None
    """May be left blank if not serving any water cooled chillers default head is 60 feet H2O; [Pa] (ftH2O); Default: 179352.0; Range: >= 0.0"""
    chilled_water_setpoint_reset_type: Literal["", "None", "OutdoorAirTemperatureReset"] | None
    """Overrides Chilled Water Setpoint Schedule Name; Default: None"""
    chilled_water_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 12.2"""
    chilled_water_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 15.6"""
    chilled_water_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 6.7"""
    chilled_water_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 26.7"""
    chilled_water_primary_pump_type: (
        Literal[
            "",
            "FiveHeaderedPumps",
            "FourHeaderedPumps",
            "PumpPerChiller",
            "SinglePump",
            "ThreeHeaderedPumps",
            "TwoHeaderedPumps",
        ]
        | None
    )
    """Describes the type of pump configuration used for the primary portion of the chilled water loop.; Default: SinglePump"""
    chilled_water_secondary_pump_type: (
        Literal["", "FiveHeaderedPumps", "FourHeaderedPumps", "SinglePump", "ThreeHeaderedPumps", "TwoHeaderedPumps"]
        | None
    )
    """Describes the type of pump configuration used for the secondary portion of the chilled water loop.; Default: SinglePump"""
    condenser_water_pump_type: (
        Literal[
            "",
            "FiveHeaderedPumps",
            "FourHeaderedPumps",
            "PumpPerTower",
            "SinglePump",
            "ThreeHeaderedPumps",
            "TwoHeaderedPumps",
        ]
        | None
    )
    """Describes the type of pump configuration used for the condenser water loop.; Default: SinglePump"""
    chilled_water_supply_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a supply side bypass pipe is present in the chilled water loop.; Default: Yes"""
    chilled_water_demand_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a demand side bypass pipe is present in the chilled water loop.; Default: Yes"""
    condenser_water_supply_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a supply side bypass pipe is present in the condenser water loop.; Default: Yes"""
    condenser_water_demand_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a demand side bypass pipe is present in the condenser water loop.; Default: Yes"""
    fluid_type: (
        Literal[
            "",
            "EthyleneGlycol30",
            "EthyleneGlycol40",
            "EthyleneGlycol50",
            "EthyleneGlycol60",
            "PropyleneGlycol30",
            "PropyleneGlycol40",
            "PropyleneGlycol50",
            "PropyleneGlycol60",
            "Water",
        ]
        | None
    )
    """Default: Water"""
    loop_design_delta_temperature: float | None
    """The temperature difference used in sizing the loop flow rate.; [deltaC]; Default: 6.67"""
    minimum_outdoor_dry_bulb_temperature: float | None
    """The minimum outdoor dry-bulb temperature that the chilled water loops operate. Leave blank for no limit.; [C]"""
    chilled_water_load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""
    condenser_water_load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""

class HVACTemplatePlantChiller(IDFObject):
    """This object adds a chiller to an HVACTemplate:Plant:ChilledWaterLoop."""

    chiller_type: (
        Literal[
            "DistrictChilledWater", "ElectricCentrifugalChiller", "ElectricReciprocatingChiller", "ElectricScrewChiller"
        ]
        | None
    )
    capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    nominal_cop: float | None
    """Not applicable if Chiller Type is DistrictChilledWater Electric Reciprocating Chiller; [W/W]; Range: > 0.0"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Not applicable if Chiller Type is DistrictChilledWater; Default: WaterCooled"""
    priority: str | None
    """If Chiller Plant Operation Scheme Type=Default in HVACTemplate:Plant:ChilledWaterLoop, then equipment operates in Pri..."""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    minimum_part_load_ratio: float | None
    """Part load ratio below which the chiller starts cycling on/off to meet the load. Must be less than or equal to Maximum...; Default: 0.0; Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Maximum allowable part load ratio. Must be greater than or equal to Minimum Part Load Ratio.; Default: 1.0; Range: > 0.0"""
    optimum_part_load_ratio: float | None
    """Optimum part load ratio where the chiller is most efficient. Must be greater than or equal to the Minimum Part Load R...; Default: 1.0; Range: > 0.0"""
    minimum_unloading_ratio: float | None
    """Part load ratio where the chiller can no longer unload and false loading begins. Minimum unloading ratio must be grea...; Default: 0.25; Range: >= 0.0"""
    leaving_chilled_water_lower_temperature_limit: float | None
    """[C]; Default: 5.0"""

class HVACTemplatePlantChillerObjectReference(IDFObject):
    """This object references a detailed chiller object and adds it to an HVACTemplate:Plant:ChilledWaterLoop. The user must..."""

    chiller_object_type: Literal["", "Chiller:Electric:EIR", "Chiller:Electric:ReformulatedEIR"] | None
    """Default: Chiller:Electric:EIR"""
    chiller_name: str | None
    """The name of the detailed chiller object."""
    priority: float | None
    """If Chiller Plant Operation Scheme Type=Default in HVACTemplate:Plant:ChilledWaterLoop, then equipment operates in Pri..."""

class HVACTemplatePlantTower(IDFObject):
    """This object adds a cooling tower to an HVACTemplate:Plant:ChilledWaterLoop or MixedWaterLoop."""

    tower_type: Literal["SingleSpeed", "TwoSpeed"] | None
    high_speed_nominal_capacity: float | Literal["", "Autosize"] | None
    """Applicable for tower type SingleSpeed and TwoSpeed Nominal tower capacity with entering water at 35C (95F), leaving w...; [W]; Default: Autosize"""
    high_speed_fan_power: float | Literal["", "Autosize"] | None
    """Applicable for tower type SingleSpeed and TwoSpeed; [W] (W); Default: Autosize"""
    low_speed_nominal_capacity: float | Literal["", "Autosize"] | None
    """Applicable only for Tower Type TwoSpeed Nominal tower capacity with entering water at 35C (95F), leaving water at 29....; [W]; Default: Autosize"""
    low_speed_fan_power: float | Literal["", "Autosize"] | None
    """Applicable only for Tower Type TwoSpeed; [W] (W); Default: Autosize"""
    free_convection_capacity: float | Literal["", "Autosize"] | None
    """Applicable for Tower Type SingleSpeed and TwoSpeed Tower capacity in free convection regime with entering water at 35...; [W]; Default: Autosize"""
    priority: str | None
    """Applicable for all Tower Types If Condenser Plant Operation Scheme Type=Default in HVACTemplate:Plant:ChilledWaterLoo..."""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    template_plant_loop_type: Literal["ChilledWater", "MixedWater"] | None
    """Specifies if this tower serves a template chilled water loop or mixed water loop If left blank, will serve a chilled ..."""

class HVACTemplatePlantTowerObjectReference(IDFObject):
    """This object references a detailed cooling tower object and adds it to an HVACTemplate:Plant:ChilledWaterLoop or Mixed..."""

    cooling_tower_object_type: (
        Literal["", "CoolingTower:SingleSpeed", "CoolingTower:TwoSpeed", "CoolingTower:VariableSpeed"] | None
    )
    """Default: CoolingTower:SingleSpeed"""
    cooling_tower_name: str | None
    """The name of the detailed cooling tower object."""
    priority: float | None
    """If Condenser Plant Operation Scheme Type=Default in HVACTemplate:Plant:ChilledWaterLoop or MixedWaterLoop, then equip..."""
    template_plant_loop_type: Literal["ChilledWater", "MixedWater"] | None
    """Specifies if this tower serves a template chilled water loop or mixed water loop If left blank, will serve a chilled ..."""

class HVACTemplatePlantHotWaterLoop(IDFObject):
    """Plant loop to serve all HVACTemplate hot water coils and boilers."""

    pump_schedule_name: str | None
    """If blank, always available"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Default: Intermittent"""
    hot_water_plant_operation_scheme_type: Literal["", "Default", "UserDefined"] | None
    """Default operation type makes all equipment available at all times operating in order of Priority specified in HVACTem...; Default: Default"""
    hot_water_plant_equipment_operation_schemes_name: str | None
    """Name of a PlantEquipmentOperationSchemes object Ignored if Plant Operation Scheme Type = Default"""
    hot_water_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    hot_water_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Setpoint Schedule Name is specified.; [C]; Default: 82.0"""
    hot_water_pump_configuration: Literal["", "ConstantFlow", "VariableFlow"] | None
    """VariableFlow - variable flow to boilers and coils, excess bypassed ConstantFlow - constant flow to boilers and coils,...; Default: ConstantFlow"""
    hot_water_pump_rated_head: float | None
    """Default head is 60 feet H2O; [Pa] (ftH2O); Default: 179352.0; Range: >= 0.0"""
    hot_water_setpoint_reset_type: Literal["", "None", "OutdoorAirTemperatureReset"] | None
    """Overrides Hot Water Setpoint Schedule Name; Default: None"""
    hot_water_setpoint_at_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 82.2"""
    hot_water_reset_outdoor_dry_bulb_low: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: -6.7"""
    hot_water_setpoint_at_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 65.6"""
    hot_water_reset_outdoor_dry_bulb_high: float | None
    """Applicable only for OutdoorAirTemperatureReset control.; [C]; Default: 10.0"""
    hot_water_pump_type: (
        Literal[
            "",
            "FiveHeaderedPumps",
            "FourHeaderedPumps",
            "PumpPerBoiler",
            "SinglePump",
            "ThreeHeaderedPumps",
            "TwoHeaderedPumps",
        ]
        | None
    )
    """Describes the type of pump configuration used for the hot water loop.; Default: SinglePump"""
    supply_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a supply side bypass pipe is present in the hot water loop.; Default: Yes"""
    demand_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a demand side bypass pipe is present in the hot water loop.; Default: Yes"""
    fluid_type: (
        Literal[
            "",
            "EthyleneGlycol30",
            "EthyleneGlycol40",
            "EthyleneGlycol50",
            "EthyleneGlycol60",
            "PropyleneGlycol30",
            "PropyleneGlycol40",
            "PropyleneGlycol50",
            "PropyleneGlycol60",
            "Water",
        ]
        | None
    )
    """Default: Water"""
    loop_design_delta_temperature: float | None
    """The temperature difference used in sizing the loop flow rate.; [deltaC]; Default: 11.0"""
    maximum_outdoor_dry_bulb_temperature: float | None
    """The maximum outdoor dry-bulb temperature that the hot water loops operate. Leave blank for no limit.; [C]"""
    load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""

class HVACTemplatePlantBoiler(IDFObject):
    """This object adds a boiler to an HVACTemplate:Plant:HotWaterLoop or MixedWaterLoop."""

    boiler_type: Literal["CondensingHotWaterBoiler", "DistrictHotWater", "HotWaterBoiler"] | None
    capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    efficiency: float | None
    """Not applicable if Boiler Type is DistrictHotWater; Default: 0.8; Range: >= 0.0, <= 1.0"""
    fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Not applicable if Boiler Type is DistrictHotWater"""
    priority: str | None
    """If Hot Water Plant Operation Scheme Type=Default in HVACTemplate:Plant:HotWaterLoop, then equipment operates in prior..."""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    minimum_part_load_ratio: float | None
    """Default: 0.0; Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Default: 1.1; Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Default: 1.0; Range: >= 0.0"""
    water_outlet_upper_temperature_limit: float | None
    """[C]; Default: 100.0"""
    template_plant_loop_type: Literal["HotWater", "MixedWater"] | None
    """Specifies if this boiler serves a template hot water loop or mixed water loop If left blank, will serve a hot water l..."""

class HVACTemplatePlantBoilerObjectReference(IDFObject):
    """This object references a detailed boiler object and adds it to an HVACTemplate:Plant:HotWaterLoop or MixedWaterLoop. ..."""

    boiler_object_type: Literal["", "Boiler:HotWater"] | None
    """Default: Boiler:HotWater"""
    boiler_name: str | None
    """The name of the detailed boiler object."""
    priority: float | None
    """If Hot Water Plant Operation Scheme Type=Default in HVACTemplate:Plant:HotWaterLoop or MixedWaterLoop, then equipment..."""
    template_plant_loop_type: Literal["HotWater", "MixedWater"] | None
    """Specifies if this boiler serves a template hot water loop or mixed water loop If left blank, will serve a hot water l..."""

class HVACTemplatePlantMixedWaterLoop(IDFObject):
    """Central plant loop portion of a water source heat pump system."""

    pump_schedule_name: str | None
    """If blank, always available Applies to both chilled water and condenser loop pumps"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Applies to both chilled water and condenser loop pumps; Default: Intermittent"""
    operation_scheme_type: Literal["", "Default", "UserDefined"] | None
    """Default operation type makes all equipment available at all times operating in order of Priority specified in HVACTem...; Default: Default"""
    equipment_operation_schemes_name: str | None
    """Name of a PlantEquipmentOperationSchemes object Ignored if Plant Operation Scheme Type = Default"""
    high_temperature_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint"""
    high_temperature_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Setpoint Schedule Name is specified.; [C]; Default: 33.0"""
    low_temperature_setpoint_schedule_name: str | None
    """Leave blank if constant setpoint May be left blank if not serving any water cooled chillers"""
    low_temperature_design_setpoint: float | None
    """Used for sizing and as constant setpoint if no Condenser Water Setpoint Schedule Name is specified. May be left blank...; [C]; Default: 20.0"""
    water_pump_configuration: Literal["", "ConstantFlow", "VariableFlow"] | None
    """VariableFlow - variable flow to boilers and coils, excess bypassed ConstantFlow - constant flow to boilers and coils,...; Default: ConstantFlow"""
    water_pump_rated_head: float | None
    """May be left blank if not serving any water cooled chillers default head is 60 feet H2O; [Pa] (ftH2O); Default: 179352.0; Range: >= 0.0"""
    water_pump_type: (
        Literal[
            "",
            "FiveHeaderedPumps",
            "FourHeaderedPumps",
            "PumpPerTowerOrBoiler",
            "SinglePump",
            "ThreeHeaderedPumps",
            "TwoHeaderedPumps",
        ]
        | None
    )
    """Describes the type of pump configuration used for the mixed water loop.; Default: SinglePump"""
    supply_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a supply side bypass pipe is present in the hot water loop.; Default: Yes"""
    demand_side_bypass_pipe: Literal["", "No", "Yes"] | None
    """Determines if a demand side bypass pipe is present in the hot water loop.; Default: Yes"""
    fluid_type: (
        Literal[
            "",
            "EthyleneGlycol30",
            "EthyleneGlycol40",
            "EthyleneGlycol50",
            "EthyleneGlycol60",
            "PropyleneGlycol30",
            "PropyleneGlycol40",
            "PropyleneGlycol50",
            "PropyleneGlycol60",
            "Water",
        ]
        | None
    )
    """Default: Water"""
    loop_design_delta_temperature: float | None
    """The temperature difference used in sizing the loop flow rate.; [deltaC]; Default: 5.6"""
    load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""

class DesignSpecificationOutdoorAir(IDFObject):
    """This object is used to describe general outdoor air requirements which are referenced by other objects."""

    outdoor_air_method: (
        Literal[
            "",
            "AirChanges/Hour",
            "Flow/Area",
            "Flow/Person",
            "Flow/Zone",
            "IndoorAirQualityProcedure",
            "Maximum",
            "ProportionalControlBasedOnDesignOccupancy",
            "ProportionalControlBasedOnOccupancySchedule",
            "Sum",
        ]
        | None
    )
    """Flow/Person => Outdoor Air Flow per Person * Occupancy = Design Flow Rate, Flow/Area => Outdoor Air Flow per Zone Flo...; Default: Flow/Person"""
    outdoor_air_flow_per_person: float | None
    """0.00944 m3/s is equivalent to 20 cfm per person This input is only used if the field Outdoor Air Method is Flow/Perso...; [m3/s-person]; Default: 0.00944; Range: >= 0.0"""
    outdoor_air_flow_per_zone_floor_area: float | None
    """This input is only used if the field Outdoor Air Method is Flow/Area, Sum, or Maximum; [m3/s-m2]; Default: 0.0; Range: >= 0.0"""
    outdoor_air_flow_per_zone: float | None
    """This input is only used if the field Outdoor Air Method is Flow/Zone, Sum, or Maximum; [m3/s]; Default: 0.0; Range: >= 0.0"""
    outdoor_air_flow_air_changes_per_hour: float | None
    """This input is only used if the field Outdoor Air Method is AirChanges/Hour, Sum, or Maximum; [1/hr]; Default: 0.0; Range: >= 0.0"""
    outdoor_air_schedule_name: str | None
    """Schedule values are multiplied by the Outdoor Air Flow rate calculated using the previous four inputs. Schedule value..."""
    proportional_control_minimum_outdoor_air_flow_rate_schedule_name: str | None
    """This input is only used to calculate the minimum outdoor air flow rate when the field System Outdoor Air Method = Pro..."""

class DesignSpecificationOutdoorAirSpaceList(IDFObject):
    """Defines a list of DesignSpecification:OutdoorAir names which can be referenced as a group. The DesignSpecification:Ou...; Since: 9.6.0"""

    space_name: str | None
    space_design_specification_outdoor_air_object_name: str | None

class DesignSpecificationZoneAirDistribution(IDFObject):
    """This object is used to describe zone air distribution in terms of air distribution effectiveness and secondary recirc..."""

    zone_air_distribution_effectiveness_in_cooling_mode: float | None
    """[dimensionless]; Default: 1.0; Range: > 0.0"""
    zone_air_distribution_effectiveness_in_heating_mode: float | None
    """[dimensionless]; Default: 1.0; Range: > 0.0"""
    zone_air_distribution_effectiveness_schedule_name: str | None
    """optionally used to replace Zone Air Distribution Effectiveness in Cooling and Heating Mode"""
    zone_secondary_recirculation_fraction: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0"""
    minimum_zone_ventilation_efficiency: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""

class SizingParameters(IDFObject):
    """Specifies global heating and cooling sizing factors/ratios. These ratios are applied at the zone level to all of the ..."""

    cooling_sizing_factor: float | None
    """Default: 1.0; Range: > 0.0"""
    timesteps_in_averaging_window: int | None
    """blank => set the timesteps in averaging window to Number of Timesteps per Hour resulting in a 1 hour averaging window...; Range: >= 1"""

class SizingZone(IDFObject):
    """Specifies the data needed to perform a zone design air flow calculation. The calculation is done for every sizing per..."""

    zone_cooling_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """Default: SupplyAirTemperature"""
    zone_cooling_design_supply_air_temperature: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [C]"""
    zone_cooling_design_supply_air_temperature_difference: float | None
    """Zone Cooling Design Supply Air Temperature is only used when Zone Cooling Design Supply Air Temperature Input Method ...; [deltaC]"""
    zone_heating_design_supply_air_temperature_input_method: (
        Literal["", "SupplyAirTemperature", "TemperatureDifference"] | None
    )
    """Default: SupplyAirTemperature"""
    zone_heating_design_supply_air_temperature: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [C]"""
    zone_heating_design_supply_air_temperature_difference: float | None
    """Zone Heating Design Supply Air Temperature is only used when Zone Heating Design Supply Air Temperature Input Method ...; [deltaC]"""
    zone_cooling_design_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0"""
    zone_heating_design_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """Specify the name of a DesignSpecification:OutdoorAir object to specify one set of requirements for the Zone. Use a De..."""
    zone_heating_sizing_factor: float | None
    """if blank or zero, global heating sizing factor from Sizing:Parameters is used.; Range: >= 0.0"""
    zone_cooling_sizing_factor: float | None
    """if blank or zero, global cooling sizing factor from Sizing:Parameters is used.; Range: >= 0.0"""
    cooling_design_air_flow_method: Literal["", "DesignDay", "DesignDayWithLimit", "Flow/Zone"] | None
    """Default: DesignDay"""
    cooling_design_air_flow_rate: float | None
    """This input is used if Cooling Design Air Flow Method is Flow/Zone This value will be multiplied by the global or zone...; [m3/s]; Default: 0.0; Range: >= 0.0"""
    cooling_minimum_air_flow_per_zone_floor_area: float | None
    """default is .15 cfm/ft2 This input is used if Cooling Design Air Flow Method is DesignDayWithLimit; [m3/s-m2]; Default: 0.000762; Range: >= 0.0"""
    cooling_minimum_air_flow: float | None
    """This input is used if Cooling Design Air Flow Method is DesignDayWithLimit; [m3/s]; Default: 0.0; Range: >= 0.0"""
    cooling_minimum_air_flow_fraction: float | None
    """fraction of the Cooling design Air Flow Rate This input is currently used in sizing the VAV air terminal unit and fan...; Default: 0.2; Range: >= 0.0"""
    heating_design_air_flow_method: Literal["", "DesignDay", "DesignDayWithLimit", "Flow/Zone"] | None
    """Default: DesignDay"""
    heating_design_air_flow_rate: float | None
    """This input is used if Heating Design Air Flow Method is Flow/Zone. This value will be multiplied by the global or zon...; [m3/s]; Default: 0.0; Range: >= 0.0"""
    heating_maximum_air_flow_per_zone_floor_area: float | None
    """default is .40 cfm/ft2 This field is used to size the heating design flow rate when Heating Design Air Flow Method = ...; [m3/s-m2]; Default: 0.002032; Range: >= 0.0"""
    heating_maximum_air_flow: float | None
    """default is 300 cfm This input is used for autosizing components when Heating Design Air Flow Method = DesignDayWithLi...; [m3/s]; Default: 0.1415762; Range: >= 0.0"""
    heating_maximum_air_flow_fraction: float | None
    """fraction of the Heating Design Air Flow Rate This input is used for autosizing components when Heating Design Air Flo...; Default: 0.3; Range: >= 0.0"""
    design_specification_zone_air_distribution_object_name: str | None
    account_for_dedicated_outdoor_air_system: Literal["", "No", "Yes"] | None
    """account for effect of dedicated outdoor air system supplying air directly to the zone; Default: No"""
    dedicated_outdoor_air_system_control_strategy: (
        Literal["", "ColdSupplyAir", "NeutralDehumidifiedSupplyAir", "NeutralSupplyAir"] | None
    )
    """1)supply neutral ventilation air; 2)supply neutral dehumidified and reheated ventilation air; 3)supply cold ventilati...; Default: NeutralSupplyAir"""
    dedicated_outdoor_air_low_setpoint_temperature_for_design: float | Literal["", "Autosize"] | None
    """[C]; Default: Autosize"""
    dedicated_outdoor_air_high_setpoint_temperature_for_design: float | Literal["", "Autosize"] | None
    """[C]; Default: Autosize"""
    zone_load_sizing_method: (
        Literal["", "Latent Load", "Sensible And Latent Load", "Sensible Load", "Sensible Load Only No Latent Load"]
        | None
    )
    """Specifies the basis for sizing the zone supply air flow rate. Zone latent loads will not be used during sizing only w...; Default: Sensible Load Only No Latent Load; Since: 22.2.0"""
    zone_latent_cooling_design_supply_air_humidity_ratio_input_method: (
        Literal["", "HumidityRatioDifference", "SupplyAirHumidityRatio"] | None
    )
    """Use SupplyAirHumidityRatio to enter the humidity ratio when zone dehumidification is required. The supply air humidit...; Default: HumidityRatioDifference; Since: 22.2.0"""
    zone_dehumidification_design_supply_air_humidity_ratio: float | None
    """Zone Dehumidification Design Supply Air Humidity Ratio is only used when Zone Latent Cooling Design Supply Air Humidi...; [kgWater/kgDryAir]; Range: > 0.0; Since: 22.2.0"""
    zone_cooling_design_supply_air_humidity_ratio_difference: float | None
    """Zone Dehumidification Design Supply Air Humidity Ratio Difference is only used when Zone Latent Cooling Design Supply...; [kgWater/kgDryAir]; Default: 0.005; Range: > 0.0; Since: 22.2.0"""
    zone_latent_heating_design_supply_air_humidity_ratio_input_method: (
        Literal["", "HumidityRatioDifference", "SupplyAirHumidityRatio"] | None
    )
    """Use SupplyAirHumidityRatio to enter the humidity ratio when zone humidification is required. The supply air humidity ...; Default: HumidityRatioDifference; Since: 22.2.0"""
    zone_humidification_design_supply_air_humidity_ratio: float | None
    """Zone Humidification Design Supply Air Humidity Ratio is only used when Zone Latent Heating Design Supply Air Humidity...; [kgWater/kgDryAir]; Range: > 0.0; Since: 22.2.0"""
    zone_humidification_design_supply_air_humidity_ratio_difference: float | None
    """Zone Humidification Design Supply Air Humidity Ratio is only used when Zone Latent Heating Design Supply Air Humidity...; [kgWater/kgDryAir]; Default: 0.005; Range: >= 0.0; Since: 22.2.0"""
    zone_humidistat_dehumidification_set_point_schedule_name: str | None
    """Enter the zone relative humidity schedule used for zone latent cooling calculations. A zone humidistat will take prio...; Since: 22.2.0"""
    zone_humidistat_humidification_set_point_schedule_name: str | None
    """Enter the zone relative humidity schedule used for zone latent heating calculations. A zone humidistat will take prio...; Since: 22.2.0"""
    type_of_space_sum_to_use: Literal["", "Coincident", "NonCoincident"] | None
    """NonCoincident is available only if Do Space Heat Balance for Sizing=Yes in ZoneAirHeatBalanceAlgorithm.; Default: Coincident; Since: 24.2.0"""
    heating_coil_sizing_method: (
        Literal["", "CoolingCapacity", "GreaterOfHeatingOrCooling", "HeatingCapacity", "None"] | None
    )
    """Default: None; Since: 25.2.0"""
    maximum_heating_capacity_to_cooling_load_sizing_ratio: float | None
    """[W/W]; Default: 1.0; Range: >= 1.0; Since: 25.2.0"""

class DesignSpecificationZoneHVACSizing(IDFObject):
    """This object is used to describe general scalable zone HVAC equipment sizing which are referenced by other objects."""

    cooling_supply_air_flow_rate_method: (
        Literal[
            "",
            "FlowPerCoolingCapacity",
            "FlowPerFloorArea",
            "FractionOfAutosizedCoolingAirflow",
            "None",
            "SupplyAirFlowRate",
        ]
        | None
    )
    """Enter the method used to determine the cooling supply air volume flow rate. None is used when a cooling coil is not i...; Default: SupplyAirFlowRate"""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of supply air volume flow rate during cooling operation. Required field when Cooling Supply Air F...; [m3/s]"""
    cooling_supply_air_flow_rate_per_floor_area: float | None
    """Enter the cooling supply air volume flow rate per total conditioned floor area. Required field when Cooling Supply Ai...; [m3/s-m2]; Range: >= 0.0"""
    cooling_fraction_of_autosized_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when Cooling ...; Range: >= 0.0"""
    cooling_supply_air_flow_rate_per_unit_cooling_capacity: float | None
    """Enter the cooling supply air volume flow rate unit cooling capacity. Required field when Cooling Supply Air Flow Rate...; [m3/s-W]; Range: >= 0.0"""
    no_load_supply_air_flow_rate_method: (
        Literal[
            "",
            "FlowPerFloorArea",
            "FractionOfAutosizedCoolingAirflow",
            "FractionOfAutosizedHeatingAirflow",
            "None",
            "SupplyAirFlowRate",
        ]
        | None
    )
    """Enter the method used to determine the supply air volume flow rate When No Cooling or Heating is Required. None is us...; Default: SupplyAirFlowRate"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of the supply air volume flow rate during when no cooling or heating is required. Required field ...; [m3/s]"""
    no_load_supply_air_flow_rate_per_floor_area: float | None
    """Enter the supply air volume flow rate per total floor area. Required field when No Load Supply Air Flow Rate Method i...; [m3/s-m2]; Range: >= 0.0"""
    no_load_fraction_of_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when No Load ...; Range: >= 0.0"""
    no_load_fraction_of_heating_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. Required field when No Load ...; Range: >= 0.0"""
    heating_supply_air_flow_rate_method: (
        Literal[
            "",
            "FlowPerFloorArea",
            "FlowPerHeatingCapacity",
            "FractionOfAutosizedHeatingAirflow",
            "None",
            "SupplyAirFlowRate",
        ]
        | None
    )
    """Enter the method used to determine the heating supply air volume flow rate. None is used when a heating coil is not i...; Default: SupplyAirFlowRate"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of the supply air volume flow rate during heating operation. Required field when Heating Supply A...; [m3/s]"""
    heating_supply_air_flow_rate_per_floor_area: float | None
    """Enter the heating supply air volume flow rate per total conditioned floor area. Required field when Heating Supply Ai...; [m3/s-m2]; Range: >= 0.0"""
    heating_fraction_of_heating_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. Required field when Heating ...; Range: >= 0.0"""
    heating_supply_air_flow_rate_per_unit_heating_capacity: float | None
    """Enter the supply air volume flow rate per unit heating capacity. Required field when Heating Supply Air Flow Rate Met...; [m3/s-W]; Range: >= 0.0"""
    cooling_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "CoolingDesignCapacity", "FractionOfAutosizedCoolingCapacity", "None"]
        | None
    )
    """Enter the method used to determine the cooling design capacity for scalable sizing. None is used when a cooling coils...; Default: None"""
    cooling_design_capacity: float | Literal["Autosize"] | None
    """Enter the design cooling capacity. Required field when the cooling design capacity method CoolingDesignCapacity.; [W]"""
    cooling_design_capacity_per_floor_area: float | None
    """Enter the cooling design capacity per zone floor area. Required field when the cooling design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_cooling_design_capacity: float | None
    """Enter the fraction of auto-sized cooling design capacity. Required field when the cooling design capacity method fiel...; Range: >= 0.0"""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity", "None"]
        | None
    )
    """Enter the method used to determine the heating design capacity for scalable sizing. None is used when a heating coil ...; Default: None"""
    heating_design_capacity: float | Literal["Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W]"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of auto-sized heating design capacity. Required field when capacity the heating design capacity me...; Range: >= 0.0"""

class DesignSpecificationAirTerminalSizing(IDFObject):
    """This object is used to scale the sizing of air terminal units."""

    fraction_of_design_cooling_load: float | None
    """The fraction of the design sensible cooling load to be met by this terminal unit. This fraction is applied after the ...; [dimensionless]; Default: 1.0; Range: >= 0.0"""
    cooling_design_supply_air_temperature_difference_ratio: float | None
    """This ratio adjusts the supply air temperature difference used to calculate the cooling design supply air flow rate fo...; [dimensionless]; Default: 1.0; Range: > 0.0"""
    fraction_of_design_heating_load: float | None
    """The fraction of the design sensible heating load to be met by this terminal unit. This fraction is applied after the ...; [dimensionless]; Default: 1.0; Range: >= 0.0"""
    heating_design_supply_air_temperature_difference_ratio: float | None
    """This ratio adjusts the supply air temperature difference used to calculate the heating design supply air flow rate fo...; [dimensionless]; Default: 1.0; Range: > 0.0"""
    fraction_of_minimum_outdoor_air_flow: float | None
    """The fraction of the zone minimum outdoor air requirement to be met by this terminal unit.; [dimensionless]; Default: 1.0; Range: >= 0.0"""

class SizingSystem(IDFObject):
    """Specifies the input needed to perform sizing calculations for a central forced air system. System design air flow, he..."""

    type_of_load_to_size_on: Literal["", "Latent", "Sensible", "Total", "VentilationRequirement"] | None
    """Specifies the basis for sizing the system supply air flow rate Sensible and Total use the zone design air flow rates ...; Default: Sensible"""
    design_outdoor_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    central_heating_maximum_system_air_flow_ratio: float | Literal["", "Autosize"] | None
    """Default: Autosize"""
    preheat_design_temperature: float | None
    """[C]"""
    preheat_design_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    precool_design_temperature: float | None
    """[C]"""
    precool_design_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    central_cooling_design_supply_air_temperature: float | None
    """[C]"""
    central_heating_design_supply_air_temperature: float | None
    """[C]"""
    type_of_zone_sum_to_use: Literal["", "Coincident", "NonCoincident"] | None
    """Default: NonCoincident"""
    central_cooling_design_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.008"""
    central_heating_design_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.008"""
    cooling_supply_air_flow_rate_method: (
        Literal[
            "",
            "DesignDay",
            "Flow/System",
            "FlowPerCoolingCapacity",
            "FlowPerFloorArea",
            "FractionOfAutosizedCoolingAirflow",
        ]
        | None
    )
    """Default: DesignDay"""
    cooling_supply_air_flow_rate: float | None
    """This input is used if Cooling Supply Air Flow Rate Method is Flow/System This value will *not* be multiplied by any s...; [m3/s]; Default: 0.0; Range: >= 0.0"""
    cooling_supply_air_flow_rate_per_floor_area: float | None
    """Enter the cooling supply air volume flow rate per total conditioned floor area. Required field when Cooling Supply Ai...; [m3/s-m2]; Range: >= 0.0"""
    cooling_fraction_of_autosized_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when Cooling ...; Range: >= 0.0"""
    cooling_supply_air_flow_rate_per_unit_cooling_capacity: float | None
    """Enter the supply air volume flow rate per unit cooling capacity. Required field when Cooling Supply Air Flow Rate Met...; [m3/s-W]; Range: >= 0.0"""
    heating_supply_air_flow_rate_method: (
        Literal[
            "",
            "DesignDay",
            "Flow/System",
            "FlowPerFloorArea",
            "FlowPerHeatingCapacity",
            "FractionOfAutosizedCoolingAirflow",
            "FractionOfAutosizedHeatingAirflow",
        ]
        | None
    )
    """Default: DesignDay"""
    heating_supply_air_flow_rate: float | None
    """Required field when Heating Supply Air Flow Rate Method is Flow/System This value will *not* be multiplied by any siz...; [m3/s]; Default: 0.0; Range: >= 0.0"""
    heating_supply_air_flow_rate_per_floor_area: float | None
    """Enter the heating supply air volume flow rate per total conditioned floor area. Required field when Heating Supply Ai...; [m3/s-m2]; Range: >= 0.0"""
    heating_fraction_of_autosized_heating_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. Required field when Heating ...; Range: >= 0.0"""
    heating_fraction_of_autosized_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when Heating ...; Range: >= 0.0"""
    heating_supply_air_flow_rate_per_unit_heating_capacity: float | None
    """Enter the heating supply air volume flow rate per unit heating capacity. Required field when Heating Supply Air Flow ...; [m3/s-W]; Range: >= 0.0"""
    system_outdoor_air_method: (
        Literal["", "Standard62.1SimplifiedProcedure", "Standard62.1VentilationRateProcedure", "ZoneSum"] | None
    )
    """Default: ZoneSum"""
    zone_maximum_outdoor_air_fraction: float | None
    """[dimensionless]; Default: 1.0; Range: > 0.0"""
    cooling_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "CoolingDesignCapacity", "FractionOfAutosizedCoolingCapacity", "None"]
        | None
    )
    """Enter the method used to determine the system cooling design capacity for scalable sizing. None is used when a coolin...; Default: CoolingDesignCapacity"""
    cooling_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design cooling capacity.; [W]; Default: Autosize"""
    cooling_design_capacity_per_floor_area: float | None
    """Enter the cooling design capacity per total floor area of cooled zones served by an airloop. Required field when the ...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_cooling_design_capacity: float | None
    """Enter the fraction of auto-sized cooling design capacity. Required field when the cooling design capacity method fiel...; Range: >= 0.0"""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity", "None"]
        | None
    )
    """Enter the method used to determine the heating design capacity for scalable sizing. None is used when a heating coil ...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity.; [W]; Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of auto-sized heating design capacity. Required field when capacity the heating design capacity me...; Range: >= 0.0"""
    central_cooling_capacity_control_method: Literal["", "Bypass", "OnOff", "VAV", "VT"] | None
    """Method used to control the coil's output; Default: OnOff"""
    occupant_diversity: float | Literal["", "Autosize"] | None
    """The Occupant Diversity is used to determine a multi-zone system's outdoor air intake when the System Outdoor Air Meth...; Default: Autosize; Since: 9.6.0"""
    heating_coil_sizing_method: (
        Literal["", "CoolingCapacity", "GreaterOfHeatingOrCooling", "HeatingCapacity", "None"] | None
    )
    """Size a heat pump heating coil using the Cooling, Heating or GreaterOfHeatingOrCooling capacities; Default: None; Since: 25.2.0"""
    maximum_heating_capacity_to_cooling_capacity_sizing_ratio: float | None
    """The limit of heating coil capacity to cooling coil capacity; [W/W]; Default: 1.0; Range: >= 1.0; Since: 25.2.0"""

class SizingPlant(IDFObject):
    """Specifies the input needed to autosize plant loop flow rates and equipment capacities. This information is initially ..."""

    loop_type: Literal["Condenser", "Cooling", "Heating", "Steam"] | None
    design_loop_exit_temperature: float | None
    """[C]"""
    loop_design_temperature_difference: float | None
    """[deltaC]; Range: > 0.0"""
    sizing_option: Literal["", "Coincident", "NonCoincident"] | None
    """if Coincident is chosen, then sizing is based on HVAC Sizing Simulations and the input field called Do HVAC Sizing Si...; Default: NonCoincident"""
    zone_timesteps_in_averaging_window: int | None
    """this is used in the coincident sizing algorithm to apply a running average to peak flow rates that occur during HVAC ...; Default: 1; Range: >= 1"""
    coincident_sizing_factor_mode: (
        Literal["GlobalCoolingSizingFactor", "GlobalHeatingSizingFactor", "LoopComponentSizingFactor", "None"] | None
    )
    """this is used to adjust the result for coincident sizing by applying a sizing factor"""

class OutputControlSizingStyle(IDFObject):
    """Default style for the Sizing output files is comma -- this works well for importing into spreadsheet programs such as..."""

class ZoneControlHumidistat(IDFObject):
    """Specifies zone relative humidity setpoint schedules for humidifying and dehumidifying."""

    zone_name: str | None
    humidifying_relative_humidity_setpoint_schedule_name: str | None
    """hourly schedule values should be in Relative Humidity (percent)"""
    dehumidifying_relative_humidity_setpoint_schedule_name: str | None
    """hourly schedule values should be in Relative Humidity (percent)"""

class ZoneControlThermostat(IDFObject):
    """Define the Thermostat settings for a zone or list of zones. If you use a ZoneList in the Zone or ZoneList name field ..."""

    zone_or_zonelist_name: str | None
    control_type_schedule_name: str | None
    """This schedule contains appropriate control types for thermostat. Control types are integers: 0 - Uncontrolled (floati..."""
    control_1_object_type: (
        Literal[
            "ThermostatSetpoint:DualSetpoint",
            "ThermostatSetpoint:SingleCooling",
            "ThermostatSetpoint:SingleHeating",
            "ThermostatSetpoint:SingleHeatingOrCooling",
        ]
        | None
    )
    control_1_name: str | None
    """Control names are names of individual control objects (e.g. ThermostatSetpoint:SingleHeating) Schedule values in thes..."""
    control_2_object_type: (
        Literal[
            "ThermostatSetpoint:DualSetpoint",
            "ThermostatSetpoint:SingleCooling",
            "ThermostatSetpoint:SingleHeating",
            "ThermostatSetpoint:SingleHeatingOrCooling",
        ]
        | None
    )
    control_2_name: str | None
    """Control names are names of individual control objects (e.g. ThermostatSetpoint:SingleHeating) Schedule values in thes..."""
    control_3_object_type: (
        Literal[
            "ThermostatSetpoint:DualSetpoint",
            "ThermostatSetpoint:SingleCooling",
            "ThermostatSetpoint:SingleHeating",
            "ThermostatSetpoint:SingleHeatingOrCooling",
        ]
        | None
    )
    control_3_name: str | None
    """Control names are names of individual control objects (e.g. ThermostatSetpoint:SingleHeating) Schedule values in thes..."""
    control_4_object_type: (
        Literal[
            "ThermostatSetpoint:DualSetpoint",
            "ThermostatSetpoint:SingleCooling",
            "ThermostatSetpoint:SingleHeating",
            "ThermostatSetpoint:SingleHeatingOrCooling",
        ]
        | None
    )
    control_4_name: str | None
    """Control names are names of individual control objects (e.g. ThermostatSetpoint:SingleHeating) Schedule values in thes..."""
    temperature_difference_between_cutout_and_setpoint: float | None
    """This optional choice field provides a temperature difference between cut-out temperature and setpoint. The difference...; [deltaC]; Default: 0.0; Range: >= 0.0"""

class ZoneControlThermostatOperativeTemperature(IDFObject):
    """This object can be used with the ZoneList option on a thermostat or with one of the zones on that list (but you won't..."""

    radiative_fraction_input_mode: Literal["Constant", "Scheduled"] | None
    fixed_radiative_fraction: float | None
    """Range: >= 0.0, < 0.9"""
    radiative_fraction_schedule_name: str | None
    """Schedule values of 0.0 indicate no operative temperature control"""
    adaptive_comfort_model_type: (
        Literal[
            "",
            "AdaptiveASH5580PercentUpperLine",
            "AdaptiveASH5590PercentUpperLine",
            "AdaptiveASH55CentralLine",
            "AdaptiveCEN15251CategoryIIIUpperLine",
            "AdaptiveCEN15251CategoryIIUpperLine",
            "AdaptiveCEN15251CategoryIUpperLine",
            "AdaptiveCEN15251CentralLine",
            "None",
        ]
        | None
    )
    """the cooling setpoint temperature schedule of the referenced thermostat will be adjusted based on the selected adaptiv...; Default: None"""

class ZoneControlThermostatThermalComfort(IDFObject):
    """If you use a ZoneList in the Zone or ZoneList name field then this definition applies to all the zones in the ZoneList."""

    zone_or_zonelist_name: str | None
    averaging_method: Literal["", "ObjectAverage", "PeopleAverage", "SpecificObject"] | None
    """The method used to calculate thermal comfort dry-bulb temperature setpoint for multiple people objects in a zone; Default: PeopleAverage"""
    specific_people_name: str | None
    """Used only when Averaging Method = SpecificObject in the previous field."""
    minimum_dry_bulb_temperature_setpoint: float | None
    """[C]; Default: 0.0; Range: >= 0.0, <= 50.0"""
    maximum_dry_bulb_temperature_setpoint: float | None
    """[C]; Default: 50.0; Range: >= 0.0, <= 50.0"""
    thermal_comfort_control_type_schedule_name: str | None
    """The Thermal Comfort Control Type Schedule contains values that are appropriate control types. Thermal Comfort Control..."""
    thermal_comfort_control_1_object_type: (
        Literal[
            "ThermostatSetpoint:ThermalComfort:Fanger:DualSetpoint",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleCooling",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeating",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeatingOrCooling",
        ]
        | None
    )
    thermal_comfort_control_1_name: str | None
    """Control type names are names for individual control type objects. Schedule values in these objects list actual setpoi..."""
    thermal_comfort_control_2_object_type: (
        Literal[
            "ThermostatSetpoint:ThermalComfort:Fanger:DualSetpoint",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleCooling",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeating",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeatingOrCooling",
        ]
        | None
    )
    thermal_comfort_control_2_name: str | None
    """Control Type names are names for individual control type objects. Schedule values in these objects list actual setpoi..."""
    thermal_comfort_control_3_object_type: (
        Literal[
            "ThermostatSetpoint:ThermalComfort:Fanger:DualSetpoint",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleCooling",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeating",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeatingOrCooling",
        ]
        | None
    )
    thermal_comfort_control_3_name: str | None
    """Control type names are names for individual control type objects. Schedule values in these objects list actual setpoi..."""
    thermal_comfort_control_4_object_type: (
        Literal[
            "ThermostatSetpoint:ThermalComfort:Fanger:DualSetpoint",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleCooling",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeating",
            "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeatingOrCooling",
        ]
        | None
    )
    thermal_comfort_control_4_name: str | None
    """Control type names are names for individual control type objects. Schedule values in these objects list actual setpoi..."""

class ZoneControlThermostatTemperatureAndHumidity(IDFObject):
    """This object modifies a ZoneControl:Thermostat object to effect temperature control based on zone air humidity conditi..."""

    dehumidifying_relative_humidity_setpoint_schedule_name: str | None
    """Schedule values should be in Relative Humidity (percent)"""
    dehumidification_control_type: Literal["", "None", "Overcool"] | None
    """Default: Overcool"""
    overcool_range_input_method: Literal["", "Constant", "Scheduled"] | None
    """Default: Constant"""
    overcool_constant_range: float | None
    """Maximum Overcool temperature range for cooling setpoint reduction. Used with Dehumidification Control Type = Overcool...; [deltaC]; Default: 1.7; Range: >= 0.0, <= 3.0"""
    overcool_range_schedule_name: str | None
    """Schedule values of 0.0 indicates no zone temperature overcooling will be provided to gain additional dehumidification..."""
    overcool_control_ratio: float | None
    """The value of this input field is used to adjust the cooling setpoint temperature (established by the associated ZoneC...; [percent/K]; Default: 3.6; Range: >= 0.0"""

class ThermostatSetpointSingleHeating(IDFObject):
    """Used for a heating only thermostat. The setpoint can be scheduled and varied throughout the simulation but only heati..."""

    setpoint_temperature_schedule_name: str | None

class ThermostatSetpointSingleCooling(IDFObject):
    """Used for a cooling only thermostat. The setpoint can be scheduled and varied throughout the simulation but only cooli..."""

    setpoint_temperature_schedule_name: str | None

class ThermostatSetpointSingleHeatingOrCooling(IDFObject):
    """Used for a heating and cooling thermostat with a single setpoint. The setpoint can be scheduled and varied throughout..."""

    setpoint_temperature_schedule_name: str | None

class ThermostatSetpointDualSetpoint(IDFObject):
    """Used for a heating and cooling thermostat with dual setpoints. The setpoints can be scheduled and varied throughout t..."""

    heating_setpoint_temperature_schedule_name: str | None
    cooling_setpoint_temperature_schedule_name: str | None

class ThermostatSetpointThermalComfortFangerSingleHeating(IDFObject):
    """Used for heating only thermal comfort control. The PMV setpoint can be scheduled and varied throughout the simulation..."""

    fanger_thermal_comfort_schedule_name: str | None
    """Schedule values should be Predicted Mean Vote (PMV)"""

class ThermostatSetpointThermalComfortFangerSingleCooling(IDFObject):
    """Used for cooling only thermal comfort control. The PMV setpoint can be scheduled and varied throughout the simulation..."""

    fanger_thermal_comfort_schedule_name: str | None
    """Schedule values should be Predicted Mean Vote (PMV)"""

class ThermostatSetpointThermalComfortFangerSingleHeatingOrCooling(IDFObject):
    """Used for heating and cooling thermal comfort control with a single setpoint. The PMV setpoint can be scheduled and va..."""

    fanger_thermal_comfort_schedule_name: str | None
    """Schedule values should be Predicted Mean Vote (PMV)"""

class ThermostatSetpointThermalComfortFangerDualSetpoint(IDFObject):
    """Used for heating and cooling thermal comfort control with dual setpoints. The PMV setpoints can be scheduled and vari..."""

    fanger_thermal_comfort_heating_schedule_name: str | None
    """Schedule values should be Predicted Mean Vote (PMV)"""
    fanger_thermal_comfort_cooling_schedule_name: str | None
    """Schedule values should be Predicted Mean Vote (PMV)"""

class ZoneControlThermostatStagedDualSetpoint(IDFObject):
    """Define the Thermostat StagedDualSetpoint settings for a zone or list of zones. If you use a ZoneList in the Zone or Z..."""

    zone_or_zonelist_name: str | None
    number_of_heating_stages: int | None
    """Enter the number of the following sets of data for heating temperature offset; Range: >= 1, <= 4"""
    heating_temperature_setpoint_schedule_name: str | None
    heating_throttling_temperature_range: float | None
    """[deltaC]; Default: 1.1; Range: >= 0.0"""
    stage_1_heating_temperature_offset: float | None
    """The heating temperature offset is used to determine heating stage number for multi stage equipment. When the temperat...; [deltaC]; Range: <= 0.0"""
    stage_2_heating_temperature_offset: float | None
    """The heating temperature offset is used to determine heating stage number for multi stage equipment. When the temperat...; [deltaC]; Range: <= 0.0"""
    stage_3_heating_temperature_offset: float | None
    """The heating temperature offset is used to determine heating stage number for multi stage equipment. When the temperat...; [deltaC]; Range: <= 0.0"""
    stage_4_heating_temperature_offset: float | None
    """The heating temperature offset is used to determine heating stage number for multi stage equipment. When the temperat...; [deltaC]; Range: <= 0.0"""
    number_of_cooling_stages: int | None
    """Enter the number of the following sets of data for cooling temperature offset; Range: >= 1, <= 4"""
    cooling_temperature_setpoint_base_schedule_name: str | None
    cooling_throttling_temperature_range: float | None
    """[deltaC]; Default: 1.1; Range: >= 0.0"""
    stage_1_cooling_temperature_offset: float | None
    """The cooling temperature offset is used to determine cooling stage number for multi stage equipment. When the temperat...; [deltaC]; Range: >= 0.0"""
    stage_2_cooling_temperature_offset: float | None
    """The cooling temperature offset is used to determine cooling stage number for multi stage equipment. When the temperat...; [deltaC]; Range: >= 0.0"""
    stage_3_cooling_temperature_offset: float | None
    """The cooling temperature offset is used to determine cooling stage number for multi stage equipment. When the temperat...; [deltaC]; Range: >= 0.0"""
    stage_4_cooling_temperature_offset: float | None
    """The cooling temperature offset is used to determine cooling stage number for multi stage equipment. When the temperat...; [deltaC]; Range: >= 0.0"""

class ZoneControlContaminantController(IDFObject):
    """Used to control a zone to a specified indoor level of CO2 or generic contaminants, or to specify minimum CO2 concentr..."""

    zone_name: str | None
    carbon_dioxide_control_availability_schedule_name: str | None
    """Availability schedule name for CO2 controller. Schedule value > 0 means the CO2 controller is enabled. If this field ..."""
    carbon_dioxide_setpoint_schedule_name: str | None
    """Schedule values should be carbon dioxide concentration in parts per million (ppm)"""
    minimum_carbon_dioxide_concentration_schedule_name: str | None
    """Schedule values should be carbon dioxide concentration in parts per million (ppm) This field is used when the field S..."""
    maximum_carbon_dioxide_concentration_schedule_name: str | None
    """Schedule values should be carbon dioxide concentration in parts per million (ppm) This field is used when the field S..."""
    generic_contaminant_control_availability_schedule_name: str | None
    """Availability schedule name for generic contaminant controller. Schedule value > 0 means the generic contaminant contr..."""
    generic_contaminant_setpoint_schedule_name: str | None
    """Schedule values should be generic contaminant concentration in parts per million (ppm) This field is used when the fi..."""

class ZoneHVACIdealLoadsAirSystem(IDFObject):
    """Ideal system used to calculate loads without modeling a full HVAC system. All that is required for the ideal system a..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_supply_air_node_name: str | None
    """Must match a zone air inlet node name."""
    zone_exhaust_air_node_name: str | None
    """Should match a zone air exhaust node name. This field is optional, but is required if this this object is used with o..."""
    system_inlet_air_node_name: str | None
    """This field is only required when the Ideal Loads Air System is connected to an AirloopHVAC:ZoneReturnPlenum, otherwis..."""
    maximum_heating_supply_air_temperature: float | None
    """[C]; Default: 50.0; Range: > 0.0, < 100.0"""
    minimum_cooling_supply_air_temperature: float | None
    """[C]; Default: 13.0; Range: > -100.0, < 50.0"""
    maximum_heating_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.0156; Range: > 0.0"""
    minimum_cooling_supply_air_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.0077; Range: > 0.0"""
    heating_limit: Literal["", "LimitCapacity", "LimitFlowRate", "LimitFlowRateAndCapacity", "NoLimit"] | None
    """Default: NoLimit"""
    maximum_heating_air_flow_rate: float | Literal["Autosize"] | None
    """This field is ignored if Heating Limit = NoLimit If this field is blank, there is no limit.; [m3/s]"""
    maximum_sensible_heating_capacity: float | Literal["Autosize"] | None
    """This field is ignored if Heating Limit = NoLimit If this field is blank, there is no limit.; [W]"""
    cooling_limit: Literal["", "LimitCapacity", "LimitFlowRate", "LimitFlowRateAndCapacity", "NoLimit"] | None
    """Default: NoLimit"""
    maximum_cooling_air_flow_rate: float | Literal["Autosize"] | None
    """This field is ignored if Cooling Limit = NoLimit This field is required if Outdoor Air Economizer Type is anything ot...; [m3/s]"""
    maximum_total_cooling_capacity: float | Literal["Autosize"] | None
    """This field is ignored if Cooling Limit = NoLimit; [W]"""
    heating_availability_schedule_name: str | None
    """If blank, heating is always available."""
    cooling_availability_schedule_name: str | None
    """If blank, cooling is always available."""
    dehumidification_control_type: (
        Literal["", "ConstantSensibleHeatRatio", "ConstantSupplyHumidityRatio", "Humidistat", "None"] | None
    )
    """ConstantSensibleHeatRatio means that the ideal loads system will be controlled to meet the sensible cooling load, and...; Default: ConstantSensibleHeatRatio"""
    cooling_sensible_heat_ratio: float | None
    """This field is applicable only when Dehumidification Control Type is ConstantSensibleHeatRatio; [dimensionless]; Default: 0.7; Range: > 0.0, <= 1.0"""
    humidification_control_type: Literal["", "ConstantSupplyHumidityRatio", "Humidistat", "None"] | None
    """None means that there is no humidification. Humidistat means that there is a ZoneControl:Humidistat for this zone and...; Default: None"""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the minimum outdoor air flow rate will be comput..."""
    outdoor_air_inlet_node_name: str | None
    """This field is required if the system provides outdoor air Enter the name of an outdoor air node. This node name is al..."""
    demand_controlled_ventilation_type: Literal["", "CO2Setpoint", "None", "OccupancySchedule"] | None
    """This field controls how the minimum outdoor air flow rate is calculated. None means that design occupancy will be use...; Default: None"""
    outdoor_air_economizer_type: Literal["", "DifferentialDryBulb", "DifferentialEnthalpy", "NoEconomizer"] | None
    """DifferentialDryBulb and DifferentialEnthalpy will increase the outdoor air flow rate when there is a cooling load and...; Default: NoEconomizer"""
    heat_recovery_type: Literal["", "Enthalpy", "None", "Sensible"] | None
    """Default: None"""
    sensible_heat_recovery_effectiveness: float | None
    """[dimensionless]; Default: 0.7; Range: >= 0.0, <= 1.0"""
    latent_heat_recovery_effectiveness: float | None
    """Applicable only if Heat Recovery Type is Enthalpy.; [dimensionless]; Default: 0.65; Range: >= 0.0, <= 1.0"""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    heating_fuel_efficiency_schedule_name: str | None
    """Reference heating fuel efficiency value for converting heating ideal loads into fuel energy consumption. The minimum ...; Since: 25.2.0"""
    heating_fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: DistrictHeatingWater; Since: 25.2.0"""
    cooling_fuel_efficiency_schedule_name: str | None
    """Reference cooling fuel efficiency value for converting cooling ideal loads into fuel energy consumption. The minimum ...; Since: 25.2.0"""
    cooling_fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: DistrictCooling; Since: 25.2.0"""

class ZoneHVACFourPipeFanCoil(IDFObject):
    """Four pipe fan coil system. Forced-convection hydronic heating-cooling unit with supply fan, hot water heating coil, c..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    capacity_control_method: (
        Literal[
            "ASHRAE90VariableFan",
            "ConstantFanVariableFlow",
            "CyclingFan",
            "MultiSpeedFan",
            "VariableFanConstantFlow",
            "VariableFanVariableFlow",
        ]
        | None
    )
    maximum_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    low_speed_supply_air_flow_ratio: float | None
    """Default: 0.33; Range: > 0.0"""
    medium_speed_supply_air_flow_ratio: float | None
    """Medium Speed Supply Air Flow Ratio should be greater than Low Speed Supply Air Flow Ratio; Default: 0.66; Range: > 0.0"""
    maximum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    outdoor_air_schedule_name: str | None
    """Value of schedule multiplies maximum outdoor air flow rate"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """Currently only one type OutdoorAir:Mixer object is available. This field should be left blank if the FanCoil is conne..."""
    outdoor_air_mixer_name: str | None
    """If this field is blank, the OutdoorAir:Mixer is not used. This optional field specifies the name of the OutdoorAir:Mi..."""
    supply_air_fan_object_type: (
        Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    """Fan type must be according to capacity control method (see I/O) For ConstantFanVariableFlow a Fan:OnOff or Fan:Consta..."""
    supply_air_fan_name: str | None
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "CoilSystem:Cooling:Water:HeatExchangerAssisted",
        ]
        | None
    )
    cooling_coil_name: str | None
    maximum_cold_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    minimum_cold_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0"""
    cooling_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    heating_coil_object_type: Literal["Coil:Heating:Electric", "Coil:Heating:Water"] | None
    heating_coil_name: str | None
    maximum_hot_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    minimum_hot_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0"""
    heating_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule Name values of 0 denote cycling fan operation (fan..."""
    minimum_supply_air_temperature_in_cooling_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = ASHRAE90VariableFan, enter the minimum air temperature in cooling mode. Leave this fiel...; [C]; Default: Autosize"""
    maximum_supply_air_temperature_in_heating_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = ASHRAE90VariableFan, enter the maximum air temperature in heating mode. Leave this fiel...; [C]; Default: Autosize"""

class ZoneHVACWindowAirConditioner(IDFObject):
    """Window air conditioner. Forced-convection cooling-only unit with supply fan, direct expansion (DX) cooling coil, and ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    maximum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """currently only one OutdoorAir:Mixer object type is available."""
    outdoor_air_mixer_name: str | None
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    """Fan:ConstantVolume only works when continuous fan operation is used the entire simulation (all supply air fan operati..."""
    supply_air_fan_name: str | None
    """Fan type Fan:ConstantVolume is used with continuous fan and fan type Fan:OnOff is used with cycling Fan."""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    dx_cooling_coil_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule Name values of 0 denote cycling fan operation (fan..."""
    fan_placement: Literal["BlowThrough", "DrawThrough"] | None
    cooling_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""

class ZoneHVACPackagedTerminalAirConditioner(IDFObject):
    """Packaged terminal air conditioner (PTAC). Forced-convection heating-cooling unit with supply fan, direct expansion (D..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    """Air inlet node for the PTAC must be a zone air exhaust Node."""
    air_outlet_node_name: str | None
    """Air outlet node for the PTAC must be a zone air inlet node."""
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """Currently only one OutdoorAir:Mixer object type is available. This field should be left blank if the PTAC is connecte..."""
    outdoor_air_mixer_name: str | None
    """If this field is blank, the OutdoorAir:Mixer is not used. This optional field specifies the name of the OutdoorAir:Mi..."""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size. Only used when supply air fan operating mode schedule values specify continuo...; [m3/s]"""
    no_load_supply_air_flow_rate_control_set_to_low_speed: Literal["", "No", "Yes"] | None
    """When Yes is selected the minimum air flow rate is used. When No is selected the maximum air flow rate is used.; Default: Yes; Since: 24.1.0"""
    cooling_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during cooling operation. This field is set to zero flow when the ...; [m3/s]"""
    heating_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during heating operation. This field is set to zero flow when the ...; [m3/s]"""
    no_load_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when supply air fan operating mode schedule values specify continuous fan (schedule values greater than 0 s...; [m3/s]"""
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    """Fan:ConstantVolume only works when continuous fan operation is used the entire simulation (all supply air fan operati..."""
    supply_air_fan_name: str | None
    """Needs to match in the fan object."""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """Select the type of heating coil."""
    heating_coil_name: str | None
    """Needs to match in the heating coil object."""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    """Select the type of Cooling Coil. Only works with Coil:Cooling:DX or Coil:Cooling:DX:SingleSpeed or CoilSystem:Cooling..."""
    cooling_coil_name: str | None
    """Needs to match a DX cooling coil object."""
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Select fan placement as either blow through or draw through.; Default: DrawThrough"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule Name values of 0 denote cycling fan operation (fan..."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    capacity_control_method: Literal["", "None", "SingleZoneVAV"] | None
    """Default: None"""
    minimum_supply_air_temperature_in_cooling_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = SingleZoneVAV, enter the minimum air temperature limit for reduced fan speed.; [C]; Default: Autosize"""
    maximum_supply_air_temperature_in_heating_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = SingleZoneVAV, enter the maximum air temperature limit for reduced fan speed.; [C]; Default: Autosize"""

class ZoneHVACPackagedTerminalHeatPump(IDFObject):
    """Packaged terminal heat pump (PTHP). Forced-convection heating-cooling unit with supply fan, direct expansion (DX) coo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    """Air inlet node for the PTHP must be a zone air exhaust node."""
    air_outlet_node_name: str | None
    """Air outlet node for the PTHP must be a zone air inlet node."""
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """Currently only one OutdoorAir:Mixer object type is available. This field should be left blank if the PTHP is connecte..."""
    outdoor_air_mixer_name: str | None
    """If this field is blank, the OutdoorAir:Mixer is not used. This optional field specifies the name of the OutdoorAir:Mi..."""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size. Only used when heat pump fan operating mode is continuous. This air flow rate...; [m3/s]"""
    no_load_supply_air_flow_rate_control_set_to_low_speed: Literal["", "No", "Yes"] | None
    """When Yes is selected the minimum air flow rate is used. When No is selected the maximum air flow rate is used.; Default: Yes; Since: 24.1.0"""
    cooling_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during cooling operation. This field is set to zero flow when the ...; [m3/s]"""
    heating_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during heating operation. This field is set to zero flow when the ...; [m3/s]"""
    no_load_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when heat pump Fan operating mode is continuous. This air flow rate is used when no heating or cooling is r...; [m3/s]"""
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    """Fan:ConstantVolume only works with fan operating mode is continuous."""
    supply_air_fan_name: str | None
    """Needs to match a fan object."""
    heating_coil_object_type: Literal["Coil:Heating:DX:SingleSpeed", "Coil:Heating:DX:VariableSpeed"] | None
    """Only works with Coil:Heating:DX:SingleSpeed or Coil:Heating:DX:VariableSpeed."""
    heating_coil_name: str | None
    """Needs to match in the DX Heating Coil object."""
    heating_convergence_tolerance: float | None
    """Defines Heating convergence tolerance as a fraction of Heating load to be met.; [dimensionless]; Default: 0.001; Range: > 0.0"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    """Only works with Coil:Cooling:DX or Coil:Cooling:DX:SingleSpeed or CoilSystem:Cooling:DX:HeatExchangerAssisted or Coil..."""
    cooling_coil_name: str | None
    """Needs to match in the DX Cooling Coil object."""
    cooling_convergence_tolerance: float | None
    """Defines Cooling convergence tolerance as a fraction of the Cooling load to be met.; [dimensionless]; Default: 0.001; Range: > 0.0"""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coil."""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object."""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["Autosize"] | None
    """Supply air temperature from the supplemental heater will not exceed this value.; [C]"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """Supplemental heater will not operate when outdoor temperature exceeds this value.; [C]; Default: 21.0; Range: <= 21.0"""
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Select fan placement as either blow through or draw through.; Default: DrawThrough"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule values of 0 denote cycling fan operation (fan cycl..."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    capacity_control_method: Literal["", "None", "SingleZoneVAV"] | None
    """Default: None"""
    minimum_supply_air_temperature_in_cooling_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = SingleZoneVAV, enter the minimum air temperature limit for reduced fan speed.; [C]; Default: Autosize"""
    maximum_supply_air_temperature_in_heating_mode: float | Literal["", "Autosize"] | None
    """For Capacity Control Method = SingleZoneVAV, enter the maximum air temperature limit for reduced fan speed.; [C]; Default: Autosize"""
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0; Since: 25.2.0"""

class ZoneHVACWaterToAirHeatPump(IDFObject):
    """Water-to-air heat pump. Forced-convection heating-cooling unit with supply fan, water-to-air cooling and heating coil..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """Currently only one OutdoorAir:Mixer object type is available. This field should be left blank if the WSHP is connecte..."""
    outdoor_air_mixer_name: str | None
    """If this field is blank, the OutdoorAir:Mixer is not used. This optional field specifies the name of the OutdoorAir:Mi..."""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to fan size. Only used when heat pump fan operating mode is continuous. This air flow rate...; [m3/s]"""
    no_load_supply_air_flow_rate_control_set_to_low_speed: Literal["", "No", "Yes"] | None
    """When Yes is selected the minimum air flow rate is used. When No is selected the maximum air flow rate is used.; Default: Yes; Since: 24.1.0"""
    cooling_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during cooling operation. This field is set to zero flow when the ...; [m3/s]"""
    heating_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to supply air flow rate during heating operation. This field is set to zero flow when the ...; [m3/s]"""
    no_load_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when heat pump Fan operating mode is continuous. This air flow rate is used when no heating or cooling is r...; [m3/s]"""
    supply_air_fan_object_type: Literal["Fan:OnOff", "Fan:SystemModel"] | None
    supply_air_fan_name: str | None
    """Needs to match Fan:SystemModel or Fan:OnOff object"""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:WaterToAirHeatPump:EquationFit", "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit"
        ]
        | None
    )
    heating_coil_name: str | None
    """Needs to match in the water-to-air heat pump heating coil object"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:WaterToAirHeatPump:EquationFit", "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit"
        ]
        | None
    )
    cooling_coil_name: str | None
    """Needs to match in the water-to-air heat pump cooling coil object"""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object"""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["", "Autosize"] | None
    """Supply air temperature from the supplemental heater will not exceed this value.; [C]; Default: Autosize"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """[C]; Default: 21.0; Range: <= 21.0"""
    outdoor_dry_bulb_temperature_sensor_node_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule values of 0 denote cycling fan operation (fan cycl..."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    heat_pump_coil_water_flow_mode: Literal["", "Constant", "ConstantOnDemand", "Cycling"] | None
    """used only when the heat pump coils are of the type WaterToAirHeatPump:EquationFit Constant results in 100% water flow...; Default: Cycling"""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    design_specification_multispeed_object_type: Literal["UnitarySystemPerformance:Multispeed"] | None
    """Enter the type of performance specification object used to describe the multispeed coil or fan.; Since: 23.2.0"""
    design_specification_multispeed_object_name: str | None
    """The name of the performance specification object used to describe the multispeed coil or fan.; Since: 23.2.0"""
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0; Since: 25.2.0"""

class ZoneHVACDehumidifierDX(IDFObject):
    """This object calculates the performance of zone (room) air dehumidifiers. Meant to model conventional direct expansion..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    """Air inlet node for the dehumidifier must be a zone air exhaust node."""
    air_outlet_node_name: str | None
    """Air outlet node for the dehumidifier must be a zone air inlet node."""
    rated_water_removal: float | None
    """Rating point: air entering dehumidifier at 26.7 C (80 F) dry-bulb and 60% relative humidity.; [L/day]; Range: > 0.0"""
    rated_energy_factor: float | None
    """Rating point: air entering dehumidifier at 26.7 C (80 F) dry-bulb and 60% relative humidity.; [L/kWh]; Range: > 0.0"""
    rated_air_flow_rate: float | None
    """[m3/s]; Range: > 0.0"""
    water_removal_curve_name: str | None
    """Name of a curve that describes the water removal rate (normalized to rated conditions) as a function of the dry-bulb ..."""
    energy_factor_curve_name: str | None
    """Name of a curve that describes the energy factor (normalized to rated conditions) as a function of the dry-bulb tempe..."""
    part_load_fraction_correlation_curve_name: str | None
    """Name of a curve that describes the part load fraction (PLF) of the system as a function of the part load ratio. Used ..."""
    minimum_dry_bulb_temperature_for_dehumidifier_operation: float | None
    """Dehumidifier shut off if inlet air (zone) temperature is below this value. This value must be less than the Maximum D...; [C]; Default: 10.0"""
    maximum_dry_bulb_temperature_for_dehumidifier_operation: float | None
    """Dehumidifier shut off if inlet air (zone) temperature is above this value. This value must be greater than the Minimu...; [C]; Default: 35.0"""
    off_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the dehumidifier is available to operate, but does not operate (i.e., no high ...; [W]; Default: 0.0; Range: >= 0.0"""
    condensate_collection_water_storage_tank_name: str | None
    """Name of storage tank used to collect water removed by the dehumidifier."""

class ZoneHVACEnergyRecoveryVentilator(IDFObject):
    """This compound component models a stand-alone energy recovery ventilator (ERV) that conditions outdoor ventilation air..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    heat_exchanger_name: str | None
    """Heat exchanger type must be HeatExchanger:AirToAir:SensibleAndLatent"""
    supply_air_flow_rate: float | Literal["Autosize"] | None
    """This flow rate must match the supply fan's air flow rate.; [m3/s]"""
    exhaust_air_flow_rate: float | Literal["Autosize"] | None
    """This flow rate must match the supply fan air flow rate.; [m3/s]"""
    supply_air_fan_name: str | None
    """Fan type must be Fan:OnOff or Fan:SystemModel"""
    exhaust_air_fan_name: str | None
    """Fan type must be Fan:OnOff or Fan:SystemModel"""
    controller_name: str | None
    """Enter the name of a ZoneHVAC:EnergyRecoveryVentilator:Controller object."""
    ventilation_rate_per_unit_floor_area: float | None
    """0.000508 m3/s-m2 corresponds to 0.1 ft3/min-ft2 Used only when supply and exhaust air flow rates are autosized.; [m3/s-m2]; Range: >= 0.0"""
    ventilation_rate_per_occupant: float | None
    """0.00236 m3/s-person corresponds to 5 ft3/min-person Used only when supply and exhaust air flow rates are autosized.; [m3/s-person]; Range: >= 0.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""

class ZoneHVACEnergyRecoveryVentilatorController(IDFObject):
    """This controller is used exclusively by the ZoneHVAC:EnergyRecoveryVentilator object to allow economizer (free cooling..."""

    temperature_high_limit: float | None
    """Enter the maximum outdoor dry-bulb temperature limit for economizer operation. No input or blank input means this lim...; [C]"""
    temperature_low_limit: float | None
    """Enter the minimum outdoor dry-bulb temperature limit for economizer operation. No input or blank input means this lim...; [C]"""
    enthalpy_high_limit: float | None
    """Enter the maximum outdoor enthalpy limit for economizer operation. No input or blank input means this limit is not op...; [J/kg]"""
    dewpoint_temperature_limit: float | None
    """Enter the maximum outdoor dew point temperature limit for economizer operation. No input or blank input means this li...; [C]"""
    electronic_enthalpy_limit_curve_name: str | None
    """Enter the name of a quadratic or cubic curve which defines the maximum outdoor humidity ratio (function of outdoor dr..."""
    exhaust_air_temperature_limit: Literal["", "ExhaustAirTemperatureLimit", "NoExhaustAirTemperatureLimit"] | None
    """Default: NoExhaustAirTemperatureLimit"""
    exhaust_air_enthalpy_limit: Literal["", "ExhaustAirEnthalpyLimit", "NoExhaustAirEnthalpyLimit"] | None
    """Default: NoExhaustAirEnthalpyLimit"""
    time_of_day_economizer_flow_control_schedule_name: str | None
    """Schedule values greater than 0 indicate economizer operation is active. This schedule may be used with or without the..."""
    high_humidity_control_flag: Literal["", "No", "Yes"] | None
    """Select Yes to modify air flow rates based on a zone humidistat. Select No to disable this feature.; Default: No"""
    humidistat_control_zone_name: str | None
    """Enter the name of the zone where the humidistat is located."""
    high_humidity_outdoor_air_flow_ratio: float | None
    """Enter the ratio of supply (outdoor) air to the maximum supply air flow rate when modified air flow rates are active b...; Default: 1.0; Range: > 0.0"""
    control_high_indoor_humidity_based_on_outdoor_humidity_ratio: Literal["", "No", "Yes"] | None
    """If NO is selected, the air flow rate is modified any time indoor relative humidity is above humidistat setpoint. If Y...; Default: Yes"""

class ZoneHVACUnitVentilator(IDFObject):
    """Unit ventilator. Forced-convection ventilation unit with supply fan (constant-volume or variable-volume), optional ch..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    outdoor_air_control_type: Literal["FixedAmount", "FixedTemperature", "VariablePercent"] | None
    minimum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    minimum_outdoor_air_schedule_name: str | None
    """schedule values multiply the minimum outdoor air flow rate"""
    maximum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    maximum_outdoor_air_fraction_or_temperature_schedule_name: str | None
    """that this depends on the control type as to whether it is a fraction or temperature"""
    air_inlet_node_name: str | None
    """Inlet node name must be zone exhaust node name if there is no DOA Mixer, or if the unit ventilator is connected DOA, ..."""
    air_outlet_node_name: str | None
    """Outlet node name must be zone inlet node name if there is no DOA Mixer, or if the unit ventilator is connected DOA, t..."""
    outdoor_air_node_name: str | None
    """this field is left blank only if the Unit Ventilator is connected to a central dedicated outdoor air (DOA) via AirTer..."""
    exhaust_air_node_name: str | None
    """this field is left blank only if the Unit Ventilator is connected to a central dedicated outdoor air (DOA) via AirTer..."""
    mixed_air_node_name: str | None
    """inlet to coils this field is left blank only if the Unit Ventilator is connected to a central dedicated outdoor air (..."""
    supply_air_fan_object_type: (
        Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    """Allowable fan types are Fan:ConstantVolume, Fan:OnOff, Fan:VariableVolume, and Fan:SystemModel"""
    supply_air_fan_name: str | None
    coil_option: Literal["Cooling", "Heating", "HeatingAndCooling", "None"] | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule name values of 0 denote cycling fan operation (fan..."""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    heating_coil_name: str | None
    heating_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "CoilSystem:Cooling:Water:HeatExchangerAssisted",
        ]
        | None
    )
    cooling_coil_name: str | None
    cooling_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""

class ZoneHVACUnitHeater(IDFObject):
    """Unit heater. Forced-convection heating-only unit with supply fan, heating coil (gas, electric, hot water, or steam) a..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    supply_air_fan_object_type: (
        Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    """Allowable fan types are Fan:ConstantVolume, Fan:OnOff, Fan:VariableVolume and Fan:SystemModel"""
    supply_air_fan_name: str | None
    maximum_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    heating_coil_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule name values of 0 denote cycling fan operation (fan..."""
    supply_air_fan_operation_during_no_heating: Literal["No", "Yes"] | None
    """This choice field allows the user to define how the unit heater will operate under 'no heating load' or cooling condi..."""
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when heating coil is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when heating coil is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heating_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""

class ZoneHVACEvaporativeCoolerUnit(IDFObject):
    """Zone evaporative cooler. Forced-convection cooling-only unit with supply fan, 100% outdoor air supply. Optional relie..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    outdoor_air_inlet_node_name: str | None
    """this is an outdoor air node"""
    cooler_outlet_node_name: str | None
    """this is a zone inlet node"""
    zone_relief_air_node_name: str | None
    """this is a zone exhaust node, optional if flow is being balanced elsewhere"""
    supply_air_fan_object_type: (
        Literal["Fan:ComponentModel", "Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    supply_air_fan_name: str | None
    design_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    fan_placement: Literal["BlowThrough", "DrawThrough"] | None
    cooler_unit_control_method: (
        Literal["ZoneCoolingLoadOnOffCycling", "ZoneCoolingLoadVariableSpeedFan", "ZoneTemperatureDeadbandOnOffCycling"]
        | None
    )
    throttling_range_temperature_difference: float | None
    """used for ZoneTemperatureDeadbandOnOffCycling hysteresis range for thermostatic control; [deltaC]; Default: 1.0; Range: > 0.0"""
    cooling_load_control_threshold_heat_transfer_rate: float | None
    """Sign convention is that positive values indicate a cooling load; [W]; Default: 100.0; Range: > 0.0"""
    first_evaporative_cooler_object_type: (
        Literal[
            "EvaporativeCooler:Direct:CelDekPad",
            "EvaporativeCooler:Direct:ResearchSpecial",
            "EvaporativeCooler:Indirect:CelDekPad",
            "EvaporativeCooler:Indirect:ResearchSpecial",
            "EvaporativeCooler:Indirect:WetCoil",
        ]
        | None
    )
    first_evaporative_cooler_object_name: str | None
    second_evaporative_cooler_object_type: (
        Literal[
            "EvaporativeCooler:Direct:CelDekPad",
            "EvaporativeCooler:Direct:ResearchSpecial",
            "EvaporativeCooler:Indirect:CelDekPad",
            "EvaporativeCooler:Indirect:ResearchSpecial",
            "EvaporativeCooler:Indirect:WetCoil",
        ]
        | None
    )
    """optional, used for direct/indirect configurations second cooler must be immediately downstream of first cooler, if pr..."""
    second_evaporative_cooler_name: str | None
    """optional, used for direct/indirect configurations"""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    shut_off_relative_humidity: float | None
    """Zone relative humidity above which the evap cooler is shut off.; [percent]; Range: >= 0.0, <= 100.0; Since: 23.2.0"""

class ZoneHVACHybridUnitaryHVAC(IDFObject):
    """Hybrid Unitary HVAC. A black box model for multi-mode packaged forced air equipment. Independent variables include ou..."""

    availability_schedule_name: str | None
    """Enter the availability schedule name for this system. Schedule value > 0 means the system is available. If this field..."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    minimum_supply_air_temperature_schedule_name: str | None
    """Values in this schedule are used as a constraint in choosing the feasible settings for supply air flow rate and outsi..."""
    maximum_supply_air_temperature_schedule_name: str | None
    """Values in this schedule are used as a constraint in choosing the feasible settings for supply air flow rate and outdo..."""
    minimum_supply_air_humidity_ratio_schedule_name: str | None
    """Values in this schedule are used as a constraint in choosing the feasible settings for supply air flow rate and outdo..."""
    maximum_supply_air_humidity_ratio_schedule_name: str | None
    """Values in this schedule are used as a constraint in choosing the feasible settings for supply air flow rate and outdo..."""
    method_to_choose_controlled_inputs_and_part_runtime_fraction: Literal["", "Automatic", "User Defined"] | None
    """Select the method that will be used to choose operating mode(s), supply air flow rate(s), outdoor air fraction(s) and...; Default: Automatic"""
    return_air_node_name: str | None
    """Return air node for the hybrid unit must be a zone exhaust node."""
    outdoor_air_node_name: str | None
    """Outdoor air node for the hybrid unit must be an outdoor air node."""
    supply_air_node_name: str | None
    """Supply air node for the hybrid unit must be a zone air inlet node."""
    relief_node_name: str | None
    """Relief node for the hybrid unit must be a zone exhaust node, unless flow is being balanced elsewhere."""
    system_maximum_supply_air_flow_rate: float | None
    """The value in this field represents the maximum supply air volume flow rate among all operating modes. Values of exten...; [m3/s]; Range: > 0.0"""
    external_static_pressure_at_system_maximum_supply_air_flow_rate: float | None
    """Input the external static pressure when the system operates at maximum supply air flow rate. Fan affinity laws are us...; [Pa]; Range: > 0.0"""
    fan_heat_included_in_lookup_tables: Literal["", "No", "Yes"] | None
    """This field specifies if the fan heat is accounted for in the lookup tables.; Default: No; Since: 9.4.0"""
    fan_heat_gain_location: Literal["", "MixedAirStream", "SupplyAirStream"] | None
    """This field specifies where to add the fan heat in the air stream.; Default: SupplyAirStream; Since: 9.4.0"""
    fan_heat_in_air_stream_fraction: float | None
    """0.0 means no fan heat is added to the air stream, 1.0 means all fan heat is added to the air stream.; Default: 1.0; Range: >= 0.0, <= 1.0; Since: 9.4.0"""
    scaling_factor: float | None
    """The value in this field scales all extensive performance variables including: supply air mass flow rate, fuel uses, a...; Default: 1.0; Range: > 0.0"""
    minimum_time_between_mode_change: float | None
    """Any mode selected will not operate for less time than the value input in this field. If the value in this field is la...; [minutes]; Default: 10.0; Range: >= 1.0"""
    first_fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "None",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Select the fuel type associated with field: 'System Electric Power Lookup Table' in each mode. If this field is blank...; Default: Electricity"""
    second_fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "None",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Select the fuel type associated with field: 'System Second Fuel Consumption Lookup Table' in each mode. If this field...; Default: None"""
    third_fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "None",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Select the fuel type associated with field: 'System Third Fuel Consumption Lookup Table' in each mode. If this field ...; Default: None"""
    objective_function_to_minimize: (
        Literal["", "Electricity Use", "Second Fuel Use", "Third Fuel Use", "Water Use"] | None
    )
    """In each time step, controlled variables will be chosen to minimize the selection in this field, subject to constraint...; Default: Electricity Use"""
    design_specification_outdoor_air_object_name: str | None
    """Enter the name of a DesignSpecification:OutdoorAir object. Information in that object will be used to compute the min..."""
    mode_0_name: str | None
    """Enter a name for Mode 0. Mode 0 describes equipment performance in standby. Mode 0 is usually characterized by electr..."""
    mode_0_supply_air_temperature_lookup_table_name: str | None
    """Enter the name of the Supply Air Temperature Lookup Table for Mode 0. Units for lookup table values should be in C. I..."""
    mode_0_supply_air_humidity_ratio_lookup_table_name: str | None
    """Enter the name of the Supply Air Humidity Ratio Lookup Table for Mode 0. Units for lookup table values should be in k..."""
    mode_0_system_electric_power_lookup_table_name: str | None
    """Enter the name of the Electric Power Lookup Table for Mode 0. Units for lookup table values should be in W. If this f..."""
    mode_0_supply_fan_electric_power_lookup_table_name: str | None
    """Enter the name of the Supply Fan Electric Power Lookup Table for Mode 0. Units for lookup table values should be in W..."""
    mode_0_external_static_pressure_lookup_table_name: str | None
    """Enter the name of the External Static Pressure Lookup Table for Mode 0. Units for lookup table values should be in Pa..."""
    mode_0_system_second_fuel_consumption_lookup_table_name: str | None
    """Enter the name of the System Second Fuel Consumption Lookup Table for Mode 0. Units for lookup table values should be..."""
    mode_0_system_third_fuel_consumption_lookup_table_name: str | None
    """Enter the name of the System Third Fuel Consumption Lookup Table for Mode 0. Units for lookup table values should be ..."""
    mode_0_system_water_use_lookup_table_name: str | None
    """Enter the name of the System Water Use Lookup Table for Mode 0. Units for lookup table values should be in kg/s. If t..."""
    mode_0_outdoor_air_fraction: float | None
    """Enter the outdoor air fraction for Mode 0. If this field is blank, the outdoor air fraction for Mode 0 will be 0.00.; Default: 0.0; Range: >= 0.0, <= 1.0"""
    mode_0_supply_air_mass_flow_rate_ratio: float | None
    """Enter the supply air mass flow rate ratio for Mode 0. The value in this field will be used to determine the supply ai...; Default: 0.0; Range: >= 0.0, <= 1.0"""
    mode_name: str | None
    mode_supply_air_temperature_lookup_table_name: str | None
    mode_supply_air_humidity_ratio_lookup_table_name: str | None
    mode_system_electric_power_lookup_table_name: str | None
    mode_supply_fan_electric_power_lookup_table_name: str | None
    mode_external_static_pressure_lookup_table_name: str | None
    mode_system_second_fuel_consumption_lookup_table_name: str | None
    mode_system_third_fuel_consumption_lookup_table_name: str | None
    mode_system_water_use_lookup_table_name: str | None
    mode_minimum_outdoor_air_temperature: float | None
    mode_maximum_outdoor_air_temperature: float | None
    mode_minimum_outdoor_air_humidity_ratio: float | None
    mode_maximum_outdoor_air_humidity_ratio: float | None
    mode_minimum_outdoor_air_relative_humidity: float | None
    mode_maximum_outdoor_air_relative_humidity: float | None
    mode_minimum_return_air_temperature: float | None
    mode_maximum_return_air_temperature: float | None
    mode_minimum_return_air_humidity_ratio: float | None
    mode_maximum_return_air_humidity_ratio: float | None
    mode_minimum_return_air_relative_humidity: float | None
    mode_maximum_return_air_relative_humidity: float | None
    mode_minimum_outdoor_air_fraction: float | None
    mode_maximum_outdoor_air_fraction: float | None
    mode_minimum_supply_air_mass_flow_rate_ratio: float | None
    mode_maximum_supply_air_mass_flow_rate_ratio: float | None

class ZoneHVACOutdoorAirUnit(IDFObject):
    """The zone outdoor air unit models a single-zone dedicated outdoor air system (DOAS). Forced-convection 100% outdoor ai..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """(name of zone system is serving)"""
    outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    outdoor_air_schedule_name: str | None
    supply_fan_name: str | None
    """Allowable fan types are Fan:SystemModel and Fan:ConstantVolume and Fan:VariableVolume"""
    supply_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    exhaust_fan_name: str | None
    """Allowable fan types are Fan:SystemModel and Fan:ConstantVolume and Fan:VariableVolume Fan:VariableVolume"""
    exhaust_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    exhaust_air_schedule_name: str | None
    unit_control_type: Literal["", "NeutralControl", "TemperatureControl"] | None
    """Default: NeutralControl"""
    high_air_control_temperature_schedule_name: str | None
    """Air and control temperatures for cooling. If outdoor air temperature is above the high air control temperature, then ..."""
    low_air_control_temperature_schedule_name: str | None
    """Air and control temperatures for Heating. If outdoor air temperature is below the low air control temperature, then t..."""
    outdoor_air_node_name: str | None
    airoutlet_node_name: str | None
    airinlet_node_name: str | None
    """air leaves zone"""
    supply_fanoutlet_node_name: str | None
    outdoor_air_unit_list_name: str | None
    """Enter the name of an ZoneHVAC:OutdoorAirUnit:EquipmentList object."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""

class ZoneHVACOutdoorAirUnitEquipmentList(IDFObject):
    """Equipment list for components in a ZoneHVAC:OutdoorAirUnit. Components are simulated sequentially in the order given ..."""

    component_1_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_1_name: str | None
    component_2_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_2_name: str | None
    component_3_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_3_name: str | None
    component_4_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_4_name: str | None
    component_5_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_5_name: str | None
    component_6_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_6_name: str | None
    component_7_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_7_name: str | None
    component_8_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Cooling:Water:HeatexchangerAssisted",
            "CoilSystem:Heating:DX",
            "Dehumidifier:Desiccant:NoFans",
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
        ]
        | None
    )
    component_8_name: str | None

class ZoneHVACTerminalUnitVariableRefrigerantFlow(IDFObject):
    """A terminal unit with variable refrigerant flow (VRF) DX cooling and heating coils (air-to-air heat pump). The VRF ter..."""

    terminal_unit_availability_schedule: str | None
    """The unit is available the entire simulation if this field is left blank Schedule values of 0 denote the unit is off."""
    terminal_unit_air_inlet_node_name: str | None
    """the inlet node to the terminal unit"""
    terminal_unit_air_outlet_node_name: str | None
    """the outlet node of the terminal unit"""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    no_cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    no_heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    cooling_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """This field is used only when an outdoor air mixer is included. This field is set to zero flow when the VRF terminal u...; [m3/s]"""
    heating_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """This field is used only when an outdoor air mixer is included. This field is set to zero flow when the VRF terminal u...; [m3/s]"""
    no_load_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """This field is used only when an outdoor air mixer is included. This field is set to zero flow when the VRF terminal u...; [m3/s]"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Required for zone equipment. Leave blank if terminal unit is used in AirLoopHVAC:OutdoorAirSystem:EquipmentList. Also..."""
    supply_air_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Select fan placement as either blow through or draw through. Required for zone equipment. This field is ignored if th...; Default: BlowThrough"""
    supply_air_fan_object_type: Literal["", "Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    """Supply Air Fan Object Type must be Fan:SystemModel, Fan:OnOff, or Fan:ConstantVolume if AirConditioner:VariableRefrig...; Default: Fan:ConstantVolume"""
    supply_air_fan_object_name: str | None
    outside_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """Currently only one type OutdoorAir:Mixer object is available. If this field is blank, and outside air mixer is not us..."""
    outside_air_mixer_object_name: str | None
    """If this field is blank, the OutdoorAir:Mixer is not used. This optional field specifies the name of the OutdoorAir:Mi..."""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:VariableRefrigerantFlow", "Coil:Cooling:DX:VariableRefrigerantFlow:FluidTemperatureControl"
        ]
        | None
    )
    """Cooling Coil Type must be Coil:Cooling:DX:VariableRefrigerantFlow if AirConditioner:VariableRefrigerantFlow is used t..."""
    cooling_coil_object_name: str | None
    """Cooling Coil Type must be Coil:Cooling:DX:VariableRefrigerantFlow This field may be left blank if heating-only mode i..."""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:DX:VariableRefrigerantFlow", "Coil:Heating:DX:VariableRefrigerantFlow:FluidTemperatureControl"
        ]
        | None
    )
    """Heating Coil Type must be Coil:Heating:DX:VariableRefrigerantFlow if AirConditioner:VariableRefrigerantFlow is used t..."""
    heating_coil_object_name: str | None
    """Heating Coil Type must be Coil:Heating:DX:VariableRefrigerantFlow This field may be left blank if cooling-only mode i..."""
    zone_terminal_unit_on_parasitic_electric_energy_use: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    zone_terminal_unit_off_parasitic_electric_energy_use: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    rated_heating_capacity_sizing_ratio: float | None
    """If this terminal unit's heating coil is autosized, the heating capacity is sized to be equal to the cooling capacity ...; [W/W]; Default: 1.0; Range: >= 1.0"""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coil.; Since: 9.2.0"""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object.; Since: 9.2.0"""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["", "Autosize"] | None
    """Supply air temperature from the supplemental heater will not exceed this value.; [C]; Default: Autosize; Since: 9.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """Supplemental heater will not operate when outdoor temperature exceeds this value.; [C]; Default: 21.0; Range: <= 21.0; Since: 9.2.0"""
    controlling_zone_or_thermostat_location: str | None
    """Used only for AirloopHVAC equipment on a main branch and defines zone name where thermostat is located. Not required ...; Since: 9.3.0"""
    design_specification_multispeed_object_type: Literal["UnitarySystemPerformance:Multispeed"] | None
    """Enter the type of performance specification object used to describe the multispeed coil or fan.; Since: 23.2.0"""
    design_specification_multispeed_object_name: str | None
    """The name of the performance specification object used to describe the multispeed coil or fan.; Since: 23.2.0"""

class ZoneHVACBaseboardRadiantConvectiveWaterDesign(IDFObject):
    """Since: 9.5.0"""

    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity = > selected when the design he...; Default: HeatingDesignCapacity"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    fraction_radiant: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_radiant_energy_incident_on_people: float | None
    """Range: >= 0.0, <= 1.0"""

class ZoneHVACBaseboardRadiantConvectiveWater(IDFObject):
    """The number of surfaces can be expanded beyond 100, if necessary, by adding more groups to the end of the list"""

    design_object: str | None
    """Since: 9.5.0"""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    inlet_node_name: str | None
    outlet_node_name: str | None
    rated_average_water_temperature: float | None
    """Rated average water temperature is the average of the inlet and outlet water temperatures at rated conditions.; [C]; Default: 87.78; Range: >= 20.0, <= 150.0"""
    rated_water_mass_flow_rate: float | None
    """Standard is I=B=R Rating document where all baseboards are rated at either 0.063 kg/s (1 gpm) or 0.252 kg/s (4 gpm). ...; [kg/s]; Default: 0.063; Range: > 0.0, <= 10.0"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity. This...; [W] (W); Default: Autosize"""
    maximum_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    surface_name: str | None
    fraction_of_radiant_energy_to_surface: float | None

class ZoneHVACBaseboardRadiantConvectiveSteamDesign(IDFObject):
    """Since: 9.5.0"""

    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity is selected when the design hea...; Default: HeatingDesignCapacity"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    fraction_radiant: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_radiant_energy_incident_on_people: float | None
    """Range: >= 0.0, <= 1.0"""

class ZoneHVACBaseboardRadiantConvectiveSteam(IDFObject):
    """The number of surfaces can be expanded beyond 100, if necessary, by adding more groups to the end of the list."""

    design_object: str | None
    """Since: 9.5.0"""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    inlet_node_name: str | None
    outlet_node_name: str | None
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    degree_of_subcooling: float | None
    """[deltaC]; Default: 5.0; Range: >= 1.0"""
    maximum_steam_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    surface_name: str | None
    fraction_of_radiant_energy_to_surface: float | None

class ZoneHVACBaseboardRadiantConvectiveElectric(IDFObject):
    """The number of surfaces can be expanded beyond 100, if necessary, by adding more groups to the end of the list"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity = > selected when the design he...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    efficiency: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    fraction_radiant: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_radiant_energy_incident_on_people: float | None
    """Range: >= 0.0, <= 1.0"""
    surface_name: str | None
    fraction_of_radiant_energy_to_surface: float | None

class ZoneHVACCoolingPanelRadiantConvectiveWater(IDFObject):
    """The number of surfaces can be expanded beyond 100, if necessary, by adding more groups to the end of the list"""

    availability_schedule_name: str | None
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    rated_inlet_water_temperature: float | None
    """[C]; Default: 5.0"""
    rated_inlet_space_temperature: float | None
    """[C]; Default: 24.0"""
    rated_water_mass_flow_rate: float | None
    """[kg/s]; Default: 0.063; Range: > 0.0"""
    cooling_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "CoolingDesignCapacity", "FractionOfAutosizedCoolingCapacity", "None"]
        | None
    )
    """Enter the method used to determine the cooling design capacity for scalable sizing. CoolingDesignCapacity => selected...; Default: CoolingDesignCapacity"""
    cooling_design_capacity: float | Literal["Autosize"] | None
    """Enter the design cooling capacity. Required field when the cooling design capacity method CoolingDesignCapacity.; [W]"""
    cooling_design_capacity_per_floor_area: float | None
    """Enter the cooling design capacity per total floor area of cooled zones served by the unit. Required field when the co...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_cooling_design_capacity: float | None
    """Enter the fraction of auto-sized cooling design capacity. Required field when the cooling design capacity method fiel...; Range: >= 0.0"""
    maximum_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanRadiantTemperature",
            "OperativeTemperature",
            "OutdoorDryBulbTemperature",
            "OutdoorWetBulbTemperature",
            "ZoneConvectiveLoad",
            "ZoneTotalLoad",
        ]
        | None
    )
    """Temperature on which unit is controlled; Default: MeanAirTemperature"""
    cooling_control_throttling_range: float | None
    """[deltaC]; Default: 0.5; Range: >= 0.5"""
    cooling_control_temperature_schedule_name: str | None
    condensation_control_type: Literal["", "Off", "SimpleOff", "VariableOff"] | None
    """Default: SimpleOff"""
    condensation_control_dewpoint_offset: float | None
    """[C]; Default: 1.0"""
    fraction_radiant: float | None
    """Range: >= 0.0, <= 1.0"""
    fraction_of_radiant_energy_incident_on_people: float | None
    """Range: >= 0.0, <= 1.0"""
    surface_name: str | None
    fraction_of_radiant_energy_to_surface: float | None

class ZoneHVACBaseboardConvectiveWater(IDFObject):
    """Hot water baseboard heater, convection-only. Natural convection hydronic heating unit."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    inlet_node_name: str | None
    outlet_node_name: str | None
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity = > selected when the design he...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    u_factor_times_area_value: float | Literal["Autosize"] | None
    """[W/K]"""
    maximum_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""

class ZoneHVACBaseboardConvectiveElectric(IDFObject):
    """Electric baseboard heater, convection-only. Natural convection electric heating unit."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity = > selected when the design he...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    efficiency: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""

class ZoneHVACLowTemperatureRadiantVariableFlow(IDFObject):
    """Low temperature hydronic radiant heating and/or cooling system embedded in a building surface (wall, ceiling, or floo..."""

    design_object: str | None
    """Since: 9.5.0"""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Name of zone system is serving"""
    surface_name_or_radiant_surface_group_name: str | None
    """Identifies surfaces that radiant system is embedded in. For a system with multiple surfaces, enter the name of a Zone..."""
    hydronic_tubing_length: float | Literal["", "Autosize"] | None
    """(total length of pipe embedded in surface); [m]; Default: Autosize"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    maximum_hot_water_flow: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    heating_water_inlet_node_name: str | None
    heating_water_outlet_node_name: str | None
    cooling_design_capacity: float | Literal["Autosize"] | None
    """Enter the design cooling capacity. Required field when the cooling design capacity method CoolingDesignCapacity.; [W]"""
    maximum_cold_water_flow: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    cooling_water_inlet_node_name: str | None
    cooling_water_outlet_node_name: str | None
    number_of_circuits: Literal["", "CalculateFromCircuitLength", "OnePerSurface"] | None
    """Default: OnePerSurface"""
    circuit_length: float | None
    """[m]; Default: 106.7"""

class ZoneHVACLowTemperatureRadiantVariableFlowDesign(IDFObject):
    """Since: 9.5.0"""

    fluid_to_radiant_surface_heat_transfer_model: Literal["", "ConvectionOnly", "ISOStandard"] | None
    """This parameter identifies how the heat transfer between fluid being circulated through the radiant system and the rad...; Default: ConvectionOnly"""
    hydronic_tubing_inside_diameter: float | None
    """[m] (in); Default: 0.013; Range: > 0.0"""
    hydronic_tubing_outside_diameter: float | None
    """[m] (in); Default: 0.016; Range: > 0.0"""
    hydronic_tubing_conductivity: float | None
    """Conductivity of the tubing/piping material; [W/m-K]; Default: 0.35; Range: > 0.0"""
    temperature_control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanRadiantTemperature",
            "OperativeTemperature",
            "OutdoorDryBulbTemperature",
            "OutdoorWetBulbTemperature",
            "SurfaceFaceTemperature",
            "SurfaceInteriorTemperature",
        ]
        | None
    )
    """(Temperature on which unit is controlled); Default: MeanAirTemperature"""
    setpoint_control_type: Literal["", "HalfFlowPower", "ZeroFlowPower"] | None
    """How setpoint temperature is defined; Default: HalfFlowPower"""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the heating design capacity. HeatingDesignCapacity = > selected when the design he...; Default: HeatingDesignCapacity"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    heating_control_throttling_range: float | None
    """[deltaC]; Default: 0.5; Range: >= 0.0"""
    heating_control_temperature_schedule_name: str | None
    cooling_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "CoolingDesignCapacity", "FractionOfAutosizedCoolingCapacity", "None"]
        | None
    )
    """Enter the method used to determine the cooling design capacity for scalable sizing. CoolingDesignCapacity => selected...; Default: CoolingDesignCapacity"""
    cooling_design_capacity_per_floor_area: float | None
    """Enter the cooling design capacity per total floor area of cooled zones served by the unit. Required field when the co...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_cooling_design_capacity: float | None
    """Enter the fraction of auto-sized cooling design capacity. Required field when the cooling design capacity method fiel...; Range: >= 0.0"""
    cooling_control_throttling_range: float | None
    """[deltaC]; Default: 0.5; Range: >= 0.0"""
    cooling_control_temperature_schedule_name: str | None
    condensation_control_type: Literal["", "Off", "SimpleOff", "VariableOff"] | None
    """Default: SimpleOff"""
    condensation_control_dewpoint_offset: float | None
    """[C]; Default: 1.0"""
    changeover_delay_time_period_schedule: str | None
    """Changeover delay schedule name for this system. Schedule value <= 0 allows changeover with no delay The schedule valu..."""

class ZoneHVACLowTemperatureRadiantConstantFlow(IDFObject):
    """Low temperature hydronic radiant heating and/or cooling system embedded in a building surface (wall, ceiling, or floo..."""

    design_object: str | None
    """Since: 9.5.0"""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Name of zone system is serving"""
    surface_name_or_radiant_surface_group_name: str | None
    """Identifies surfaces that radiant system is embedded in. For a system with multiple surfaces, enter the name of a Zone..."""
    hydronic_tubing_length: float | Literal["", "Autosize"] | None
    """(total length of pipe embedded in surface); [m]; Default: Autosize"""
    rated_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the Rated Flow Rate of the pump on a time basis the default is that the pump is ON and runs according to its..."""
    rated_pump_head: float | None
    """default head is 60 feet; [Pa]; Default: 179352.0"""
    rated_power_consumption: float | None
    """[W]"""
    heating_water_inlet_node_name: str | None
    heating_water_outlet_node_name: str | None
    heating_high_water_temperature_schedule_name: str | None
    """Water and control temperatures for heating work together to provide a linear function that determines the water tempe..."""
    heating_low_water_temperature_schedule_name: str | None
    heating_high_control_temperature_schedule_name: str | None
    heating_low_control_temperature_schedule_name: str | None
    cooling_water_inlet_node_name: str | None
    cooling_water_outlet_node_name: str | None
    cooling_high_water_temperature_schedule_name: str | None
    """See note for Heating High Water Temperature Schedule above for interpretation information (or see the Input/Output Re..."""
    cooling_low_water_temperature_schedule_name: str | None
    cooling_high_control_temperature_schedule_name: str | None
    cooling_low_control_temperature_schedule_name: str | None
    number_of_circuits: Literal["", "CalculateFromCircuitLength", "OnePerSurface"] | None
    """Default: OnePerSurface"""
    circuit_length: float | None
    """[m]; Default: 106.7"""

class ZoneHVACLowTemperatureRadiantConstantFlowDesign(IDFObject):
    """Since: 9.5.0"""

    fluid_to_radiant_surface_heat_transfer_model: Literal["", "ConvectionOnly", "ISOStandard"] | None
    """This parameter identifies how the heat transfer between fluid being circulated through the radiant system and the rad...; Default: ConvectionOnly"""
    hydronic_tubing_inside_diameter: float | None
    """[m] (in); Default: 0.013; Range: > 0.0"""
    hydronic_tubing_outside_diameter: float | None
    """[m] (in); Default: 0.016; Range: > 0.0"""
    hydronic_tubing_conductivity: float | None
    """Conductivity of the tubing/piping material; [W/m-K]; Default: 0.35; Range: > 0.0"""
    temperature_control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanRadiantTemperature",
            "OperativeTemperature",
            "OutdoorDryBulbTemperature",
            "OutdoorWetBulbTemperature",
            "RunningMeanOutdoorDryBulbTemperature",
            "SurfaceFaceTemperature",
            "SurfaceInteriorTemperature",
        ]
        | None
    )
    """Temperature used to control system; Default: MeanAirTemperature"""
    running_mean_outdoor_dry_bulb_temperature_weighting_factor: float | None
    """this is the weighting factor in the equation that calculate the running mean outdoor dry-bulb temperature as a weight...; Default: 0.8; Range: >= 0.0, <= 1.0"""
    motor_efficiency: float | None
    """Default: 0.9; Range: >= 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    condensation_control_type: Literal["", "Off", "SimpleOff", "VariableOff"] | None
    """Default: SimpleOff"""
    condensation_control_dewpoint_offset: float | None
    """[C]; Default: 1.0"""
    changeover_delay_time_period_schedule: str | None
    """Changeover delay schedule name for this system. Schedule value <= 0 allows changeover with no delay The schedule valu..."""

class ZoneHVACLowTemperatureRadiantElectric(IDFObject):
    """Electric resistance low temperature radiant system"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Name of zone system is serving"""
    surface_name_or_radiant_surface_group_name: str | None
    """Identifies surfaces that radiant system is embedded in. For a system with multiple surfaces, enter the name of a Zone..."""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the maximum electrical heating design capacity. HeatingDesignCapacity = > selected...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W] (W); Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    temperature_control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanRadiantTemperature",
            "OperativeTemperature",
            "OutdoorDryBulbTemperature",
            "OutdoorWetBulbTemperature",
            "SurfaceFaceTemperature",
            "SurfaceInteriorTemperature",
        ]
        | None
    )
    """Temperature used to control unit; Default: MeanAirTemperature"""
    setpoint_control_type: Literal["", "HalfFlowPower", "ZeroFlowPower"] | None
    """How setpoint temperature is defined; Default: HalfFlowPower; Since: 9.4.0"""
    heating_throttling_range: float | None
    """[deltaC]; Default: 0.0; Range: >= 0.0"""
    heating_setpoint_temperature_schedule_name: str | None

class ZoneHVACLowTemperatureRadiantSurfaceGroup(IDFObject):
    """This is used to allow the coordinate control of several radiant system surfaces. Note that the following flow fractio..."""

    surface_name: str | None
    flow_fraction_for_surface: float | None

class ZoneHVACHighTemperatureRadiant(IDFObject):
    """The number of surfaces can be expanded beyond 100, if necessary, by adding more groups to the end of the list"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Name of zone system is serving"""
    heating_design_capacity_method: (
        Literal["", "CapacityPerFloorArea", "FractionOfAutosizedHeatingCapacity", "HeatingDesignCapacity"] | None
    )
    """Enter the method used to determine the maximum heating power input capacity. HeatingDesignCapacity = > selected when ...; Default: HeatingDesignCapacity"""
    heating_design_capacity: float | Literal["", "Autosize"] | None
    """Enter the design heating capacity. Required field when the heating design capacity method HeatingDesignCapacity.; [W]; Default: Autosize"""
    heating_design_capacity_per_floor_area: float | None
    """Enter the heating design capacity per zone floor area. Required field when the heating design capacity method field i...; [W/m2]; Range: >= 0.0"""
    fraction_of_autosized_heating_design_capacity: float | None
    """Enter the fraction of autosized heating design capacity. Required field when capacity the heating design capacity met...; Default: 1.0; Range: >= 0.0"""
    fuel_type: Literal["Electricity", "NaturalGas"] | None
    """Natural gas or electricity"""
    combustion_efficiency: float | None
    """Not used for non-gas radiant heaters; Default: 0.9; Range: >= 0.0, <= 1.0"""
    fraction_of_input_converted_to_radiant_energy: float | None
    """Radiant+latent+lost fractions must sum to 1 or less, remainder is considered convective heat; Default: 0.7; Range: >= 0.0, <= 1.0"""
    fraction_of_input_converted_to_latent_energy: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    fraction_of_input_that_is_lost: float | None
    """Fraction of input vented to outdoor environment; Default: 0.0; Range: >= 0.0, <= 1.0"""
    temperature_control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanAirTemperatureSetpoint",
            "MeanRadiantTemperature",
            "MeanRadiantTemperatureSetpoint",
            "OperativeTemperature",
            "OperativeTemperatureSetpoint",
        ]
        | None
    )
    """Temperature type used to control unit; Default: OperativeTemperature"""
    heating_throttling_range: float | None
    """[deltaC]; Default: 2.0; Range: >= 0.0"""
    heating_setpoint_temperature_schedule_name: str | None
    """This setpoint is a 'mean air temperature', a 'mean radiant temperature' or an 'operative temperature' setpoint depend..."""
    fraction_of_radiant_energy_incident_on_people: float | None
    """This will affect thermal comfort but from an energy balance standpoint this value gets added to the convective gains ...; Range: >= 0.0, <= 1.0"""
    surface_name: str | None
    fraction_of_radiant_energy_to_surface: float | None

class ZoneHVACVentilatedSlab(IDFObject):
    """Ventilated slab system where outdoor air flows through hollow cores in a building surface (wall, ceiling, or floor)."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """(name of zone system is serving)"""
    surface_name_or_radiant_surface_group_name: str | None
    """(name of surface system is embedded in) or list of surfaces"""
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    outdoor_air_control_type: Literal["FixedAmount", "FixedTemperature", "VariablePercent"] | None
    minimum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    minimum_outdoor_air_schedule_name: str | None
    maximum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """schedule values multiply the minimum outdoor air flow rate; [m3/s]"""
    maximum_outdoor_air_fraction_or_temperature_schedule_name: str | None
    """Note that this depends on the control type as to whether schedule values are a fraction or temperature"""
    system_configuration_type: Literal["", "SeriesSlabs", "SlabAndZone", "SlabOnly"] | None
    """Default: SlabOnly"""
    hollow_core_inside_diameter: float | None
    """[m] (in); Default: 0.05; Range: >= 0.0"""
    hollow_core_length: float | None
    """(length of core cavity embedded in surface); [m]; Range: >= 0.0"""
    number_of_cores: float | None
    """flow will be divided evenly among the cores; Range: >= 0.0"""
    temperature_control_type: (
        Literal[
            "",
            "MeanAirTemperature",
            "MeanRadiantTemperature",
            "OperativeTemperature",
            "OutdoorDryBulbTemperature",
            "OutdoorWetBulbTemperature",
            "SurfaceTemperature",
            "ZoneAirDewPointTemperature",
        ]
        | None
    )
    """(temperature on which unit is controlled); Default: OutdoorDryBulbTemperature"""
    heating_high_air_temperature_schedule_name: str | None
    """Air and control temperatures for heating work together to provide a linear function that determines the air temperatu..."""
    heating_low_air_temperature_schedule_name: str | None
    heating_high_control_temperature_schedule_name: str | None
    heating_low_control_temperature_schedule_name: str | None
    cooling_high_air_temperature_schedule_name: str | None
    """See note for heating high air temperature schedule above for interpretation information (or see the Input/Output Refe..."""
    cooling_low_air_temperature_schedule_name: str | None
    cooling_high_control_temperature_schedule_name: str | None
    cooling_low_control_temperature_schedule_name: str | None
    return_air_node_name: str | None
    """This is the zone return air inlet to the ventilated slab system outdoor air mixer. This node is typically a zone exha..."""
    slab_in_node_name: str | None
    """This is the node entering the slab or series of slabs after the fan and coil(s)."""
    zone_supply_air_node_name: str | None
    """This is the node name exiting the slab. This node is typically a zone inlet node. Leave blank when the system configu..."""
    outdoor_air_node_name: str | None
    """This node is the outdoor air inlet to the ventilated slab oa mixer. This node should also be specified in an OutdoorA..."""
    relief_air_node_name: str | None
    """This node is the relief air node from the ventilated slab outdoor air mixer."""
    outdoor_air_mixer_outlet_node_name: str | None
    """This is the node name leaving the outdoor air mixer and entering the fan and coil(s)."""
    fan_outlet_node_name: str | None
    """This is the node name of the fan outlet."""
    fan_name: str | None
    """Allowable fan types are Fan:SystemModel and Fan:ConstantVolume"""
    coil_option_type: Literal["Cooling", "Heating", "HeatingAndCooling", "None"] | None
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    heating_coil_name: str | None
    hot_water_or_steam_inlet_node_name: str | None
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "CoilSystem:Cooling:Water:HeatExchangerAssisted",
        ]
        | None
    )
    cooling_coil_name: str | None
    cold_water_inlet_node_name: str | None
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_specification_zonehvac_sizing_object_name: str | None
    """Enter the name of a DesignSpecificationZoneHVACSizing object."""

class ZoneHVACVentilatedSlabSlabGroup(IDFObject):
    """This is used to allow the coordinate control of several ventilated slab system surfaces. Note that the flow fractions..."""

    zone_name: str | None
    surface_name: str | None
    core_diameter_for_surface: float | None
    core_length_for_surface: float | None
    core_numbers_for_surface: float | None
    slab_inlet_node_name_for_surface: str | None
    slab_outlet_node_name_for_surface: str | None

class AirTerminalSingleDuctConstantVolumeReheat(IDFObject):
    """Central air system terminal unit, single duct, constant volume, with reheat coil (hot water, electric, gas, or steam)."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    air_inlet_node_name: str | None
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    reheat_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    reheat_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""

class AirTerminalSingleDuctConstantVolumeNoReheat(IDFObject):
    """Central air system terminal unit, single duct, constant volume, without reheat coil"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    """The air-inlet node name that connects the air splitter to the individual zone air distribution unit. This node should..."""
    air_outlet_node_name: str | None
    """This is an air outlet node from the air distribution unit. This node name should be one of the supply air inlet node ..."""
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    design_specification_outdoor_air_object_name: str | None
    """This field is used to modulate the terminal unit flow rate based on the specified outdoor air requirement. When the n..."""
    per_person_ventilation_rate_mode: Literal["", "CurrentOccupancy", "DesignOccupancy"] | None
    """CurrentOccupancy uses current number of people in the zone which may vary DesignOccupancy uses the total number of pe...; Default: CurrentOccupancy"""

class AirTerminalSingleDuctVAVNoReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume, with no reheat coil."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    air_inlet_node_name: str | None
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_input_method: Literal["", "Constant", "FixedFlowRate", "Scheduled"] | None
    """Constant = Constant Minimum Air Flow Fraction (a fraction of Maximum Air Flow Rate) FixedFlowRate = Fixed Minimum Air...; Default: Constant"""
    constant_minimum_air_flow_fraction: float | Literal["", "Autosize"] | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Constant If the field Zone Minimum Air Flow Inp...; Default: Autosize"""
    fixed_minimum_air_flow_rate: float | Literal["", "Autosize"] | None
    """This field is used if the field Zone Minimum Air Flow Input Method is FixedFlowRate. If the field Zone Minimum Air Fl...; [m3/s]; Default: Autosize"""
    minimum_air_flow_fraction_schedule_name: str | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Scheduled Schedule values are fractions, 0.0 to..."""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the design minimum flow rate by multiplying it using this schedule of fraction values. This field ...; Since: 9.3.0"""

class AirTerminalSingleDuctVAVReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume, with reheat coil (hot water, electric, gas, or steam)."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    damper_air_outlet_node_name: str | None
    """the outlet node of the damper and the inlet node of the reheat coil this is an internal node to the terminal unit and..."""
    air_inlet_node_name: str | None
    """the inlet node to the terminal unit and the damper"""
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_input_method: Literal["", "Constant", "FixedFlowRate", "Scheduled"] | None
    """Constant = Constant Minimum Air Flow Fraction (a fraction of Maximum Air Flow Rate) FixedFlowRate = Fixed Minimum Air...; Default: Constant"""
    constant_minimum_air_flow_fraction: float | Literal["", "Autosize"] | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Constant If the field Zone Minimum Air Flow Inp...; Default: Autosize"""
    fixed_minimum_air_flow_rate: float | Literal["", "Autosize"] | None
    """This field is used if the field Zone Minimum Air Flow Input Method is FixedFlowRate. If the field Zone Minimum Air Fl...; [m3/s]; Default: Autosize"""
    minimum_air_flow_fraction_schedule_name: str | None
    """This field is used if the field Zone Minimum Air Flow Input Method is Scheduled Schedule values are fractions, 0.0 to..."""
    reheat_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    reheat_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit and the reheat coil. This is also the zone inlet node."""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    damper_heating_action: Literal["", "Normal", "Reverse", "ReverseWithLimits"] | None
    """Normal means the damper is fixed at the minimum position in heating mode Reverse means the damper can open fully duri...; Default: ReverseWithLimits"""
    maximum_flow_per_zone_floor_area_during_reheat: float | Literal["", "Autosize"] | None
    """Used only when Reheat Coil Object Type = Coil:Heating:Water and Damper Heating Action = ReverseWithLimits When autoca...; [m3/s-m2]; Default: Autosize"""
    maximum_flow_fraction_during_reheat: float | Literal["", "Autosize"] | None
    """Used only when Reheat Coil Object Type = Coil:Heating:Water and Damper Heating Action = ReverseWithLimits When autoca...; Default: Autosize"""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the design minimum flow rate by multiplying it using this schedule of fraction values. This field ...; Since: 9.3.0"""

class AirTerminalSingleDuctVAVReheatVariableSpeedFan(IDFObject):
    """Central air system terminal unit, single duct, variable volume, with reheat coil (hot water, electric, gas, or steam)..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_cooling_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    maximum_heating_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_fraction: float | None
    """fraction of cooling air flow rate; Range: >= 0.0, <= 1.0"""
    air_inlet_node_name: str | None
    """The name of the HVAC system node that is the air inlet node for the terminal unit. This is also the air inlet node fo..."""
    air_outlet_node_name: str | None
    """The name of the HVAC system node that is the air outlet node for the terminal unit. This is also the air outlet node ..."""
    fan_object_type: Literal["Fan:SystemModel", "Fan:VariableVolume"] | None
    fan_name: str | None
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    heating_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when heating coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when heating coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heating_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the fan-off minimum flow rate by multiplying it using this scheduled fraction values. This field i...; Since: 9.3.0"""

class AirTerminalSingleDuctVAVHeatAndCoolNoReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume for both cooling and heating, with no reheat coil."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit. This is also the zone inlet node."""
    air_inlet_node_name: str | None
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_fraction: float | None
    """fraction of maximum air flow; Range: >= 0.0, <= 1.0"""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the design minimum flow rate by multiplying it using this schedule of fraction values. This field ...; Since: 9.3.0"""

class AirTerminalSingleDuctVAVHeatAndCoolReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume for both cooling and heating, with reheat coil (hot wa..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    damper_air_outlet_node_name: str | None
    """the outlet node of the damper and the inlet node of the reheat coil this is an internal node to the terminal unit and..."""
    air_inlet_node_name: str | None
    """the inlet node to the terminal unit and the damper"""
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_fraction: float | None
    """fraction of maximum air flow; Range: >= 0.0, <= 1.0"""
    reheat_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    reheat_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit and the reheat coil. This is also the zone inlet node."""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    maximum_reheat_air_temperature: float | None
    """Specifies the maximum allowable supply air temperature leaving the reheat coil. If left blank, there is no limit and ...; [C]; Range: > 0.0"""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the design minimum flow rate by multiplying it using this schedule of fraction values. This field ...; Since: 9.3.0"""

class AirTerminalSingleDuctSeriesPIUReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume, series powered induction unit (PIU), with reheat coil..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    maximum_primary_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    minimum_primary_air_flow_fraction: float | Literal["Autosize"] | None
    """When set to autosize, the calculated air flow is determined based on the System Outdoor Air Method used in the air lo..."""
    supply_air_inlet_node_name: str | None
    secondary_air_inlet_node_name: str | None
    outlet_node_name: str | None
    reheat_coil_air_inlet_node_name: str | None
    zone_mixer_name: str | None
    fan_name: str | None
    """Fan type must be Fan:SystemModel or Fan:ConstantVolume"""
    reheat_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    reheat_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    fan_control_type: Literal["", "ConstantSpeed", "VariableSpeed"] | None
    """If VariableSpeed, then the fan object type must be Fan:SystemModel; Default: ConstantSpeed; Since: 24.2.0"""
    minimum_fan_turn_down_ratio: float | None
    """flow through terminal at minimum fan speed is this ratio multiplied by Maximum Air Flow Rate; [dimensionless]; Default: 0.3; Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    heating_control_type: Literal["Modulated", "Staged"] | None
    """Since: 24.2.0"""
    design_heating_discharge_air_temperature: float | None
    """Only used if Heating Control Type is Modulated Used to control second stage heating, typically zone heat setpoint plu...; [C]; Default: 32.1; Since: 24.2.0"""
    high_limit_heating_discharge_air_temperature: float | None
    """Only used if Heating Control Type is Modulated Used to determine end of third stage heating; [C]; Default: 37.7; Since: 24.2.0"""

class AirTerminalSingleDuctParallelPIUReheat(IDFObject):
    """Central air system terminal unit, single duct, variable volume, parallel powered induction unit (PIU), with reheat co..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_primary_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    maximum_secondary_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    minimum_primary_air_flow_fraction: float | Literal["Autosize"] | None
    """When set to autosize, the calculated air flow is determined based on the System Outdoor Air Method used in the air lo..."""
    fan_on_flow_fraction: float | Literal["Autosize"] | None
    """the fraction of the primary air flow at which fan turns on"""
    supply_air_inlet_node_name: str | None
    secondary_air_inlet_node_name: str | None
    outlet_node_name: str | None
    reheat_coil_air_inlet_node_name: str | None
    """mixer outlet node"""
    zone_mixer_name: str | None
    fan_name: str | None
    """Fan type must be Fan:SystemModel or Fan:ConstantVolume"""
    reheat_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    reheat_coil_name: str | None
    maximum_hot_water_or_steam_flow_rate: float | Literal["Autosize"] | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_or_steam_flow_rate: float | None
    """Not used when reheat coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    fan_control_type: Literal["", "ConstantSpeed", "VariableSpeed"] | None
    """If VariableSpeed, then the fan object type must be Fan:SystemModel; Default: ConstantSpeed; Since: 24.2.0"""
    minimum_fan_turn_down_ratio: float | None
    """flow through terminal at minimum fan speed is this ratio multiplied by Maximum Air Flow Rate; [dimensionless]; Default: 0.3; Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    heating_control_type: Literal["Modulated", "Staged"] | None
    """Since: 24.2.0"""
    design_heating_discharge_air_temperature: float | None
    """Only used if Heating Control Type is Modulated Used to control second stage heating, typically zone heat setpoint plu...; [C]; Default: 32.1; Since: 24.2.0"""
    high_limit_heating_discharge_air_temperature: float | None
    """Only used if Heating Control Type is Modulated Used to determine end of third stage heating; [C]; Default: 37.7; Since: 24.2.0"""

class AirTerminalSingleDuctConstantVolumeFourPipeInduction(IDFObject):
    """Central air system terminal unit, single duct, variable volume, induction unit with hot water reheat coil and chilled..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_total_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    induction_ratio: float | None
    """ratio of induced air flow rate to primary air flow rate; Default: 2.5; Range: >= 0.0"""
    supply_air_inlet_node_name: str | None
    induced_air_inlet_node_name: str | None
    """should be a zone exhaust node, also the heating coil inlet node"""
    air_outlet_node_name: str | None
    """should be a zone inlet node"""
    heating_coil_object_type: Literal["Coil:Heating:Water"] | None
    heating_coil_name: str | None
    maximum_hot_water_flow_rate: float | Literal["Autosize"] | None
    """Not used when heating coil type is gas or electric; [m3/s] (gal/min)"""
    minimum_hot_water_flow_rate: float | None
    """Not used when heating coil type is gas or electric; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heating_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    cooling_coil_object_type: Literal["Coil:Cooling:Water", "Coil:Cooling:Water:DetailedGeometry"] | None
    cooling_coil_name: str | None
    maximum_cold_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    minimum_cold_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    cooling_convergence_tolerance: float | None
    """Default: 0.001; Range: > 0.0"""
    zone_mixer_name: str | None

class AirTerminalSingleDuctConstantVolumeFourPipeBeam(IDFObject):
    """Central air system terminal unit, single duct, constant volume, with heating and/or cooling. Operates as two-pipe uni..."""

    primary_air_availability_schedule_name: str | None
    """Primary air is supplied by central air handling unit and must be on for heating or cooling. Schedule value > 0 means ..."""
    cooling_availability_schedule_name: str | None
    """Cooling operation can be controlled separately using this availability schedule. Schedule value > 0 means beam coolin..."""
    heating_availability_schedule_name: str | None
    """Heating operation can be controlled separately using this availability schedule. Schedule value > 0 means beam heatin..."""
    primary_air_inlet_node_name: str | None
    """Name of the air system node for primary supply air entering the air distribution unit."""
    primary_air_outlet_node_name: str | None
    """Name of the air system node for primary supply air leaving the air distribution unit and entering the zone."""
    chilled_water_inlet_node_name: str | None
    """Name of the plant system node for chilled water entering the beam. The two chilled water nodes can (only) be omitted ..."""
    chilled_water_outlet_node_name: str | None
    """Name of the plant system node for chilled water leaving the beam."""
    hot_water_inlet_node_name: str | None
    """Name of the plant system node for hot water entering the beam. The two hot water nodes can (only) be omitted to model..."""
    hot_water_outlet_node_name: str | None
    """Name of the plant system node for hot water leaving the beam."""
    design_primary_air_volume_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    design_chilled_water_volume_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    design_hot_water_volume_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    zone_total_beam_length: float | Literal["", "Autosize"] | None
    """Sum of the length of all the beam units in the zone represented by this terminal unit.; [m]; Default: Autosize"""
    rated_primary_air_flow_rate_per_beam_length: float | None
    """Primary air supply flow rate normalized by beam length.; [m3/s-m]; Default: 0.035; Range: > 0.0"""
    beam_rated_cooling_capacity_per_beam_length: float | None
    """Sensible cooling capacity per meter of beam length at the rating point.; [W/m]; Default: 600.0; Range: > 0.0"""
    beam_rated_cooling_room_air_chilled_water_temperature_difference: float | None
    """Difference in temperature between the zone air and the entering chilled water at the rating point.; [deltaC]; Default: 10.0; Range: > 0.0"""
    beam_rated_chilled_water_volume_flow_rate_per_beam_length: float | None
    """The volume flow rate of chilled water per meter of beam length at the rating point.; [m3/s-m] (gal/min-ft); Default: 5e-05; Range: > 0.0"""
    beam_cooling_capacity_temperature_difference_modification_factor_curve_name: str | None
    """Adjusts beam cooling capacity when the temperature difference between entering water and zone air is different than a..."""
    beam_cooling_capacity_air_flow_modification_factor_curve_name: str | None
    """Adjusts beam cooling capacity when the primary air supply flow rate is different than at the rating point. The single..."""
    beam_cooling_capacity_chilled_water_flow_modification_factor_curve_name: str | None
    """Adjusts beam cooling capacity when the normalized chilled water flow rate is different than at the rating point. The ..."""
    beam_rated_heating_capacity_per_beam_length: float | None
    """Sensible heating capacity per meter of beam length at the rating point.; [W/m]; Default: 1500.0; Range: > 0.0"""
    beam_rated_heating_room_air_hot_water_temperature_difference: float | None
    """Difference in temperature between the zone air and the entering hot water at the rating point.; [deltaC]; Default: 27.8; Range: > 0.0"""
    beam_rated_hot_water_volume_flow_rate_per_beam_length: float | None
    """The volume flow rate of hot water per meter of beam length at the rating point.; [m3/s-m] (gal/min-ft); Default: 5e-05; Range: > 0.0"""
    beam_heating_capacity_temperature_difference_modification_factor_curve_name: str | None
    """Adjusts beam heating capacity when the temperature difference between entering water and zone air is different than a..."""
    beam_heating_capacity_air_flow_modification_factor_curve_name: str | None
    """Adjusts beam heating capacity when the primary air supply flow rate is different than at the rating point. The single..."""
    beam_heating_capacity_hot_water_flow_modification_factor_curve_name: str | None
    """Adjusts beam heating capacity when the normalized hot water flow rate is different than at the rating point. The sing..."""

class AirTerminalSingleDuctConstantVolumeCooledBeam(IDFObject):
    """Central air system terminal unit, single duct, constant volume, with cooled beam (active or passive)."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    cooled_beam_type: Literal["Active", "Passive"] | None
    supply_air_inlet_node_name: str | None
    supply_air_outlet_node_name: str | None
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    supply_air_volumetric_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    maximum_total_chilled_water_volumetric_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    number_of_beams: int | Literal["", "Autosize"] | None
    """Number of individual beam units in the zone; Default: Autosize"""
    beam_length: float | Literal["", "Autosize"] | None
    """Length of an individual beam unit; [m]; Default: Autosize"""
    design_inlet_water_temperature: float | None
    """[C]; Default: 15.0; Range: >= 0.0"""
    design_outlet_water_temperature: float | None
    """[C]; Default: 17.0; Range: >= 0.0"""
    coil_surface_area_per_coil_length: float | None
    """[m2/m]; Default: 5.422; Range: >= 0.0"""
    model_parameter_a: float | None
    """Default: 15.3; Range: >= 0.0"""
    model_parameter_n1: float | None
    """Default: 0.0; Range: >= 0.0"""
    model_parameter_n2: float | None
    """Default: 0.84; Range: >= 0.0"""
    model_parameter_n3: float | None
    """Default: 0.12; Range: >= 0.0"""
    model_parameter_a0: float | None
    """Free area of the coil in plan view per unit beam length; [m2/m]; Default: 0.171; Range: >= 0.0"""
    model_parameter_k1: float | None
    """Default: 0.0057; Range: >= 0.0"""
    model_parameter_n: float | None
    """Default: 0.4; Range: >= 0.0"""
    coefficient_of_induction_kin: float | Literal["", "Autocalculate"] | None
    """Default: Autocalculate"""
    leaving_pipe_inside_diameter: float | None
    """[m]; Default: 0.0145; Range: > 0.0"""

class AirTerminalSingleDuctMixer(IDFObject):
    """The mixer air terminal unit provides a means of supplying central system air to the air inlet or outlet side of a zon..."""

    zonehvac_unit_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "ZoneHVAC:FourPipeFanCoil",
            "ZoneHVAC:PackagedTerminalAirConditioner",
            "ZoneHVAC:PackagedTerminalHeatPump",
            "ZoneHVAC:TerminalUnit:VariableRefrigerantFlow",
            "ZoneHVAC:UnitVentilator",
            "ZoneHVAC:WaterToAirHeatPump",
        ]
        | None
    )
    """The type of ZoneHVAC equipment to which this terminal mixer will be connected."""
    zonehvac_unit_object_name: str | None
    """The name of ZoneHVAC equipment to which this terminal mixer will be connected."""
    mixer_outlet_node_name: str | None
    """This is the outlet air node name of the mixer. This will be the inlet air node name of the ZoneHVAC equipment if the ..."""
    mixer_primary_air_inlet_node_name: str | None
    """The primary air (treated outdoor air) inlet node name of the mixer. This will be an outlet air node name of an AirLoo..."""
    mixer_secondary_air_inlet_node_name: str | None
    """The secondary air (recirculating air) inlet node name of the mixer. This will be the outlet air node name of the Zone..."""
    mixer_connection_type: Literal["InletSide", "SupplySide"] | None
    """This input field allows user to specify the mixer connection type. Valid choices are InletSide or SupplySide. This is..."""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will adjust flow to meet this ..."""
    per_person_ventilation_rate_mode: Literal["", "CurrentOccupancy", "DesignOccupancy"] | None
    """CurrentOccupancy models demand controlled ventilation using the current number of people DesignOccupancy uses the tot...; Default: CurrentOccupancy"""

class AirTerminalDualDuctConstantVolume(IDFObject):
    """Central air system terminal unit, dual duct, constant volume."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit. This is also the zone inlet node."""
    hot_air_inlet_node_name: str | None
    cold_air_inlet_node_name: str | None
    maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""

class AirTerminalDualDuctVAV(IDFObject):
    """Central air system terminal unit, dual duct, variable volume."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit. This is also the zone inlet node."""
    hot_air_inlet_node_name: str | None
    cold_air_inlet_node_name: str | None
    maximum_damper_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    zone_minimum_air_flow_fraction: float | None
    """fraction of maximum air flow; Default: 0.2; Range: >= 0.0, <= 1.0"""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    minimum_air_flow_turndown_schedule_name: str | None
    """This field adjusts the design minimum flow rate by multiplying it using this schedule of fraction values. This field ...; Since: 9.3.0"""

class AirTerminalDualDuctVAVOutdoorAir(IDFObject):
    """Central air system terminal unit, dual duct, variable volume with special controls. One VAV duct is controlled to sup..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_outlet_node_name: str | None
    """The outlet node of the terminal unit. This is also the zone inlet node."""
    outdoor_air_inlet_node_name: str | None
    recirculated_air_inlet_node_name: str | None
    maximum_terminal_air_flow_rate: float | Literal["Autosize"] | None
    """If autosized this is the sum of flow needed for cooling and maximum required outdoor air; [m3/s]"""
    design_specification_outdoor_air_object_name: str | None
    """When the name of a DesignSpecification:OutdoorAir object is entered, the terminal unit will increase flow as needed t..."""
    per_person_ventilation_rate_mode: Literal["CurrentOccupancy", "DesignOccupancy"] | None
    """CurrentOccupancy models demand controlled ventilation using the current number of people DesignOccupancy uses the tot..."""

class ZoneHVACAirDistributionUnit(IDFObject):
    """Central air system air distribution unit, serves as a wrapper for a specific type of air terminal unit. This object i..."""

    air_distribution_unit_outlet_node_name: str | None
    air_terminal_object_type: (
        Literal[
            "AirTerminal:DualDuct:ConstantVolume",
            "AirTerminal:DualDuct:VAV",
            "AirTerminal:DualDuct:VAV:OutdoorAir",
            "AirTerminal:SingleDuct:ConstantVolume:CooledBeam",
            "AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam",
            "AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction",
            "AirTerminal:SingleDuct:ConstantVolume:NoReheat",
            "AirTerminal:SingleDuct:ConstantVolume:Reheat",
            "AirTerminal:SingleDuct:Mixer",
            "AirTerminal:SingleDuct:ParallelPIU:Reheat",
            "AirTerminal:SingleDuct:SeriesPIU:Reheat",
            "AirTerminal:SingleDuct:UserDefined",
            "AirTerminal:SingleDuct:VAV:HeatAndCool:NoReheat",
            "AirTerminal:SingleDuct:VAV:HeatAndCool:Reheat",
            "AirTerminal:SingleDuct:VAV:NoReheat",
            "AirTerminal:SingleDuct:VAV:Reheat",
            "AirTerminal:SingleDuct:VAV:Reheat:VariableSpeedFan",
        ]
        | None
    )
    air_terminal_name: str | None
    nominal_upstream_leakage_fraction: float | None
    """fraction at system design Flow; leakage Flow constant, leakage fraction varies with variable system Flow Rate.; Default: 0.0; Range: >= 0.0, <= 0.3"""
    constant_downstream_leakage_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 0.3"""
    design_specification_air_terminal_sizing_object_name: str | None
    """This optional field is the name of a DesignSpecification:AirTerminal:Sizing object which specifies sizing adjustments..."""

class ZoneHVACExhaustControl(IDFObject):
    """Defines a controlled exhaust flow from a zone which finally feeds into one of AirLoopHVAC:ZoneMixer's inlets, which a...; Since: 22.1.0"""

    availability_schedule_name: str | None
    """Availability schedule name for this exhaust system. Schedule value > 0 means it is available. If this field is blank,..."""
    zone_name: str | None
    """Zone the exhaust inlet node is part of"""
    inlet_node_name: str | None
    """Inlet node name for the exhaust. Must be a zone exhaust node."""
    outlet_node_name: str | None
    """Outlet node name for the exhaust"""
    design_exhaust_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    flow_control_type: Literal["", "FollowSupply", "Scheduled"] | None
    """Control type of the zone exhaust flow; Default: Scheduled"""
    exhaust_flow_fraction_schedule_name: str | None
    """Schedule name of the exhaust flow fraction. Used only with Scheduled control type. If this field is blank, the flow f..."""
    supply_node_or_nodelist_name: str | None
    """Used only with FollowSupply control type."""
    minimum_zone_temperature_limit_schedule_name: str | None
    """Schedule name of the Minimum Zone Temperature Limit in degree Celsius If this field is blank, there is no limit."""
    minimum_exhaust_flow_fraction_schedule_name: str | None
    """Schedule name of the minimum exhaust flow fraction. Applied when the zone temperature falls below the Minimum Zone Te..."""
    balanced_exhaust_fraction_schedule_name: str | None
    """Schedule name of the Balanced Exhaust Fraction."""

class ZoneHVACEquipmentList(IDFObject):
    """List equipment in simulation order. Note that an ZoneHVAC:AirDistributionUnit object must be listed in this statement..."""

    load_distribution_scheme: Literal["", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    """Default: SequentialLoad"""
    zone_equipment_object_type: str | None
    zone_equipment_name: str | None
    zone_equipment_cooling_sequence: float | None
    zone_equipment_heating_or_no_load_sequence: float | None
    zone_equipment_sequential_cooling_fraction_schedule_name: str | None
    """Since: 9.2.0"""
    zone_equipment_sequential_heating_fraction_schedule_name: str | None
    """Since: 9.2.0"""

class ZoneHVACEquipmentConnections(IDFObject):
    """Specifies the HVAC equipment connections for a zone. Node names are specified for the zone air node, air inlet nodes,..."""

    zone_conditioning_equipment_list_name: str | None
    """Enter the name of a ZoneHVAC:EquipmentList object."""
    zone_air_inlet_node_or_nodelist_name: str | None
    zone_air_exhaust_node_or_nodelist_name: str | None
    zone_air_node_name: str | None
    zone_return_air_node_or_nodelist_name: str | None
    zone_return_air_node_1_flow_rate_fraction_schedule_name: str | None
    """This schedule is multiplied times the base return air flow rate. If this field is left blank, the schedule defaults t..."""
    zone_return_air_node_1_flow_rate_basis_node_or_nodelist_name: str | None
    """The optional basis node(s) used to calculate the base return air flow rate for the first return air node in this zone..."""

class SpaceHVACEquipmentConnections(IDFObject):
    """Specifies the HVAC equipment connections for a space. Node names are specified for the space air node, air inlet node...; Since: 23.2.0"""

    space_air_inlet_node_or_nodelist_name: str | None
    space_air_exhaust_node_or_nodelist_name: str | None
    space_air_node_name: str | None
    space_return_air_node_or_nodelist_name: str | None
    space_return_air_node_1_flow_rate_fraction_schedule_name: str | None
    """This schedule is multiplied times the base return air flow rate. If this field is left blank, the schedule defaults t..."""
    space_return_air_node_1_flow_rate_basis_node_or_nodelist_name: str | None
    """The optional basis node(s) used to calculate the base return air flow rate for the first return air node in this spac..."""

class SpaceHVACZoneEquipmentSplitter(IDFObject):
    """Distributes the output from a piece of zone equipment to one or more Spaces in the Zone. If any equipment in a zone h...; Since: 23.2.0"""

    zone_name: str | None
    """Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object."""
    zone_equipment_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "HeatExchanger:AirToAir:FlatPlate",
            "WaterHeater:HeatPump:PumpedCondenser",
            "WaterHeater:HeatPump:WrappedCondenser",
            "ZoneHVAC:AirDistributionUnit",
            "ZoneHVAC:Baseboard:Convective:Electric",
            "ZoneHVAC:Baseboard:Convective:Water",
            "ZoneHVAC:Baseboard:RadiantConvective:Electric",
            "ZoneHVAC:Baseboard:RadiantConvective:Steam",
            "ZoneHVAC:Baseboard:RadiantConvective:Water",
            "ZoneHVAC:CoolingPanel:RadiantConvective:Water",
            "ZoneHVAC:Dehumidifier:DX",
            "ZoneHVAC:EnergyRecoveryVentilator",
            "ZoneHVAC:EvaporativeCoolerUnit",
            "ZoneHVAC:ForcedAir:UserDefined",
            "ZoneHVAC:FourPipeFanCoil",
            "ZoneHVAC:HighTemperatureRadiant",
            "ZoneHVAC:HybridUnitaryHVAC",
            "ZoneHVAC:IdealLoadsAirSystem",
            "ZoneHVAC:LowTemperatureRadiant:ConstantFlow",
            "ZoneHVAC:LowTemperatureRadiant:Electric",
            "ZoneHVAC:LowTemperatureRadiant:VariableFlow",
            "ZoneHVAC:OutdoorAirUnit",
            "ZoneHVAC:PackagedTerminalAirConditioner",
            "ZoneHVAC:PackagedTerminalHeatPump",
            "ZoneHVAC:RefrigerationChillerSet",
            "ZoneHVAC:TerminalUnit:VariableRefrigerantFlow",
            "ZoneHVAC:UnitHeater",
            "ZoneHVAC:UnitVentilator",
            "ZoneHVAC:VentilatedSlab",
            "ZoneHVAC:WaterToAirHeatPump",
            "ZoneHVAC:WindowAirConditioner",
        ]
        | None
    )
    zone_equipment_name: str | None
    zone_equipment_outlet_node_name: str | None
    """Only used for airflow equipment. The outlet node from the zone equipment that will be split to the spaces."""
    thermostat_control_method: Literal["", "Ideal", "Maximum", "SingleSpace"] | None
    """SingleSpace satisfies the thermostat in the Control Space Name Maximum satisfies the thermostat in the connected spac...; Default: SingleSpace"""
    control_space_name: str | None
    """This field is only used when Thermostat Control Method = SingleSpace."""
    space_fraction_method: (
        Literal["", "DesignCoolingLoad", "DesignHeatingLoad", "FloorArea", "PerimeterLength", "Volume"] | None
    )
    """The basis used to autosize the space output fractions.; Default: DesignCoolingLoad"""
    space_name: str | None
    space_fraction: float | None
    space_supply_node_name: str | None

class SpaceHVACZoneEquipmentMixer(IDFObject):
    """Mixes the airflow from one or more Spaces into a piece of zone equipment. All spaces in the zone must also have a Spa...; Since: 23.2.0"""

    zone_name: str | None
    """Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object."""
    zone_equipment_inlet_node_name: str | None
    """The inlet node from the zone equipment that will be mixed from the spaces. Must match a Zone Exhaust Node for this zone."""
    space_fraction_method: (
        Literal["", "DesignCoolingLoad", "DesignHeatingLoad", "FloorArea", "PerimeterLength", "Volume"] | None
    )
    """The basis used to autosize the space output fractions.; Default: DesignCoolingLoad"""
    space_name: str | None
    space_fraction: float | None
    space_node_name: str | None

class SpaceHVACZoneReturnMixer(IDFObject):
    """Mixes the return airflow from one or more Spaces into a zone return node. All spaces in the zone must also have a Spa...; Since: 24.2.0"""

    zone_name: str | None
    """Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object."""
    zone_return_air_node_name: str | None
    """The zone return air node will be mixed from the spaces. Must match a Zone Return Air Node for this zone."""
    space_name: str | None
    space_return_air_node_name: str | None

class FanSystemModel(IDFObject):
    """Versatile simple fan that can be used in variable air volume, constant volume, on-off cycling, two-speed or multi-spe..."""

    availability_schedule_name: str | None
    """Availability schedule name for this fan. Schedule value > 0 means the fan is available. If this field is blank, the f..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    design_maximum_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    speed_control_method: Literal["", "Continuous", "Discrete"] | None
    """Default: Discrete"""
    electric_power_minimum_flow_rate_fraction: float | None
    """Default: 0.2; Range: >= 0.0, <= 1.0"""
    design_pressure_rise: float | None
    """[Pa] (inH2O); Range: > 0.0"""
    motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    motor_in_air_stream_fraction: float | None
    """0.0 means fan motor outside of air stream, 1.0 means motor inside of air stream; Default: 1.0; Range: >= 0.0, <= 1.0"""
    design_electric_power_consumption: float | Literal["", "Autosize"] | None
    """Fan power consumption at maximum air flow rate. If autosized the method used to scale power is chosen in the followin...; [W]; Default: Autosize"""
    design_power_sizing_method: (
        Literal["", "PowerPerFlow", "PowerPerFlowPerPressure", "TotalEfficiencyAndPressure"] | None
    )
    """Default: PowerPerFlowPerPressure"""
    electric_power_per_unit_flow_rate: float | None
    """[W/(m3/s)] (W/(ft3/min))"""
    electric_power_per_unit_flow_rate_per_unit_pressure: float | None
    """[W/((m3/s)-Pa)] (W/((ft3/min)-inH2O)); Default: 1.66667"""
    fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    electric_power_function_of_flow_fraction_curve_name: str | None
    """independent variable is normalized flow rate, current flow divided by Design Maximum Air Flow Rate. dependent variabl..."""
    night_ventilation_mode_pressure_rise: float | None
    """Total system fan pressure rise at the fan when in night mode using AvailabilityManager:NightVentilation; [Pa] (inH2O)"""
    night_ventilation_mode_flow_fraction: float | None
    """Fraction of Design Maximum Air Flow Rate to use when in night mode using AvailabilityManager:NightVentilation; Range: >= 0.0, <= 1.0"""
    motor_loss_zone_name: str | None
    """optional, if used fan motor heat losses that not added to air stream are transferred to zone as internal gains"""
    motor_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    number_of_speeds: int | None
    """number of different speed levels available when Speed Control Method is set to Discrete Speed need to be arranged in ...; Default: 1"""
    speed_flow_fraction: float | None
    speed_electric_power_fraction: float | None

class FanConstantVolume(IDFObject):
    """Constant volume fan that is intended to operate continuously based on a time schedule. This fan will not cycle on and..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    pressure_rise: float | None
    """[Pa] (inH2O)"""
    maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    motor_in_airstream_fraction: float | None
    """0.0 means fan motor outside of air stream, 1.0 means motor inside of air stream; Default: 1.0; Range: >= 0.0, <= 1.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class FanVariableVolume(IDFObject):
    """Variable air volume fan where the electric power input varies according to a performance curve as a function of flow ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    fan_total_efficiency: float | None
    """Default: 0.7; Range: > 0.0, <= 1.0"""
    pressure_rise: float | None
    """[Pa] (inH2O)"""
    maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    fan_power_minimum_flow_rate_input_method: Literal["", "FixedFlowRate", "Fraction"] | None
    """Default: Fraction"""
    fan_power_minimum_flow_fraction: float | None
    """Default: 0.25; Range: >= 0.0, <= 1.0"""
    fan_power_minimum_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    motor_efficiency: float | None
    """Default: 0.9; Range: > 0.0, <= 1.0"""
    motor_in_airstream_fraction: float | None
    """0.0 means fan motor outside of air stream, 1.0 means motor inside of air stream; Default: 1.0; Range: >= 0.0, <= 1.0"""
    fan_power_coefficient_1: float | None
    """all Fan Power Coefficients should not be 0.0 or no fan power will be consumed. Fan Power Coefficients are specified a..."""
    fan_power_coefficient_2: float | None
    fan_power_coefficient_3: float | None
    fan_power_coefficient_4: float | None
    fan_power_coefficient_5: float | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class FanOnOff(IDFObject):
    """Constant volume fan that is intended to cycle on and off based on cooling/heating load or other control signals. This..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    fan_total_efficiency: float | None
    """Default: 0.6; Range: > 0.0, <= 1.0"""
    pressure_rise: float | None
    """[Pa] (inH2O)"""
    maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    motor_efficiency: float | None
    """Default: 0.8; Range: > 0.0, <= 1.0"""
    motor_in_airstream_fraction: float | None
    """0.0 means fan motor outside of air stream, 1.0 means motor inside of air stream; Default: 1.0; Range: >= 0.0, <= 1.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    fan_power_ratio_function_of_speed_ratio_curve_name: str | None
    fan_efficiency_ratio_function_of_speed_ratio_curve_name: str | None
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class FanZoneExhaust(IDFObject):
    """Models a fan that exhausts air from a zone."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    fan_total_efficiency: float | None
    """Default: 0.6; Range: > 0.0, <= 1.0"""
    pressure_rise: float | None
    """[Pa] (inH2O)"""
    maximum_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    flow_fraction_schedule_name: str | None
    """If field is used, then when fan runs the exhausted air flow rate is controlled to be the scheduled fraction times the..."""
    system_availability_manager_coupling_mode: Literal["", "Coupled", "Decoupled"] | None
    """Control if fan is to be interlocked with HVAC system Availability Managers or not.; Default: Coupled"""
    minimum_zone_temperature_limit_schedule_name: str | None
    """If field is used, the exhaust fan will not run if the zone temperature is lower than this limit"""
    balanced_exhaust_fraction_schedule_name: str | None
    """Used to control fan's impact on flow at the return air node. Enter the portion of the exhaust that is balanced by sim..."""

class FanPerformanceNightVentilation(IDFObject):
    """Specifies an alternate set of performance parameters for a fan. These alternate parameters are used when a system man..."""

    fan_total_efficiency: float | None
    """Range: > 0.0, <= 1.0"""
    pressure_rise: float | None
    """[Pa] (inH2O)"""
    maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    motor_efficiency: float | None
    """Range: > 0.0, <= 1.0"""
    motor_in_airstream_fraction: float | None
    """0.0 means fan motor outside of airstream 1.0 means fan motor inside of airstream; Default: 1.0; Range: >= 0.0, <= 1.0"""

class FanComponentModel(IDFObject):
    """A detailed fan type for constant-air-volume (CAV) and variable-air-volume (VAV) systems. It includes inputs that desc..."""

    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    minimum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    fan_sizing_factor: float | None
    """Applied to specified or autosized max fan airflow; Default: 1.0; Range: >= 1.0"""
    fan_wheel_diameter: float | None
    """Diameter of wheel outer circumference; [m]; Range: > 0.0"""
    fan_outlet_area: float | None
    """Area at fan outlet plane for determining discharge velocity pressure; [m2]; Range: > 0.0"""
    maximum_fan_static_efficiency: float | None
    """Maximum ratio between power delivered to air and fan shaft input power Determined from fan performance data; Range: > 0.0, <= 1.0"""
    euler_number_at_maximum_fan_static_efficiency: float | None
    """Euler number (Eu) determined from fan performance data; Range: > 0.0"""
    maximum_dimensionless_fan_airflow: float | None
    """Corresponds to maximum ratio between fan airflow and fan shaft rotational speed for specified fan wheel diameter Dete...; Range: > 0.0"""
    motor_fan_pulley_ratio: float | Literal["", "Autosize"] | None
    """Ratio of motor pulley diameter to fan pulley diameter; Default: 1.0"""
    belt_maximum_torque: float | Literal["Autosize"] | None
    """Maximum torque transmitted by belt; [N-m]"""
    belt_sizing_factor: float | None
    """Applied to specified or autosized max torque transmitted by belt; Default: 1.0; Range: >= 1.0"""
    belt_fractional_torque_transition: float | None
    """Region 1 to 2 curve transition for belt normalized efficiency; Default: 0.167; Range: >= 0.0, <= 1.0"""
    motor_maximum_speed: float | None
    """Maximum rotational speed of fan motor shaft; [rev/min]; Range: > 0.0"""
    maximum_motor_output_power: float | Literal["Autosize"] | None
    """Maximum power input to drive belt by motor; [W]"""
    motor_sizing_factor: float | None
    """Applied to specified or autosized motor output power; Default: 1.0; Range: >= 1.0"""
    motor_in_airstream_fraction: float | None
    """0.0 means motor outside air stream 1.0 means motor inside air stream; Default: 1.0; Range: >= 0.0, <= 1.0"""
    vfd_efficiency_type: Literal["Power", "Speed"] | None
    """Efficiency depends on fraction of full-load motor speed Efficiency depends on fraction of full-load motor input power..."""
    maximum_vfd_output_power: float | Literal["Autosize"] | None
    """Maximum power input to motor by VFD; [W]"""
    vfd_sizing_factor: float | None
    """Applied to specified or autosized VFD output power; Default: 1.0; Range: >= 1.0"""
    fan_pressure_rise_curve_name: str | None
    """Pressure rise depends on volumetric flow, system resistances, system leakage, and duct static pressure set point"""
    duct_static_pressure_reset_curve_name: str | None
    """Function of fan volumetric flow Minimum and maximum fan airflows correspond respectively to minimum and maximum duct ..."""
    normalized_fan_static_efficiency_curve_name_non_stall_region: str | None
    """xfan <= 0 Curve should have maximum of 1.0"""
    normalized_fan_static_efficiency_curve_name_stall_region: str | None
    """xfan > 0 Curve should have maximum of 1.0"""
    normalized_dimensionless_airflow_curve_name_non_stall_region: str | None
    """xspd <= 0 Curve should have maximum of 1.0"""
    normalized_dimensionless_airflow_curve_name_stall_region: str | None
    """xspd > 0 Curve should have maximum of 1.0"""
    maximum_belt_efficiency_curve_name: str | None
    """Determines maximum fan drive belt efficiency in log space as function of xbelt,max Curve should have minimum of -4.6 ..."""
    normalized_belt_efficiency_curve_name_region_1: str | None
    """Region 1 (0 <= xbelt < xbelt,trans) Curve should have minimum > 0.0 and maximum of 1.0 If field blank, assumes output..."""
    normalized_belt_efficiency_curve_name_region_2: str | None
    """Region 2 (xbelt,trans <= xbelt <= 1) Curve should have minimum > 0.0 and maximum of 1.0 If field blank, assumes outpu..."""
    normalized_belt_efficiency_curve_name_region_3: str | None
    """Determines normalized drive belt efficiency Region 3 (xbelt > 1) Curve should have minimum > 0.0 and maximum of 1.0 I..."""
    maximum_motor_efficiency_curve_name: str | None
    """Curve should have minimum > 0.0 and maximum of 1.0 If field blank, assumes output of curve is always 1.0"""
    normalized_motor_efficiency_curve_name: str | None
    """Curve should have minimum > 0.0 and maximum of 1.0 If field blank, assumes output of curve is always 1.0"""
    vfd_efficiency_curve_name: str | None
    """Determines VFD efficiency as function of motor load or speed fraction Curve should have minimum > 0.0 and maximum of ..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class CoilCoolingWater(IDFObject):
    """Chilled water cooling coil, NTU-effectiveness model, with inputs for design entering and leaving conditions."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    design_water_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    design_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    design_inlet_water_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: Autosize"""
    design_inlet_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: Autosize"""
    design_outlet_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: Autosize"""
    design_inlet_air_humidity_ratio: float | Literal["", "Autosize"] | None
    """[kgWater/kgDryAir]; Default: Autosize"""
    design_outlet_air_humidity_ratio: float | Literal["", "Autosize"] | None
    """[kgWater/kgDryAir]; Default: Autosize"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    type_of_analysis: Literal["", "DetailedAnalysis", "SimpleAnalysis"] | None
    """Default: SimpleAnalysis"""
    heat_exchanger_configuration: Literal["", "CounterFlow", "CrossFlow"] | None
    """Default: CounterFlow"""
    condensate_collection_water_storage_tank_name: str | None
    design_water_temperature_difference: float | None
    """This input field is optional. If specified, it is used for sizing the Design Water Flow Rate. If blank or omitted, th...; [deltaC]; Range: > 0.0"""

class CoilCoolingWaterDetailedGeometry(IDFObject):
    """Chilled water cooling coil, detailed flat fin coil model for continuous plate fins, with inputs for detailed coil geo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_water_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    tube_outside_surface_area: float | Literal["", "Autosize"] | None
    """Tube Primary Surface Area; [m2]; Default: Autosize"""
    total_tube_inside_area: float | Literal["", "Autosize"] | None
    """Total tube inside surface area; [m2]; Default: Autosize"""
    fin_surface_area: float | Literal["", "Autosize"] | None
    """[m2]; Default: Autosize"""
    minimum_airflow_area: float | Literal["", "Autosize"] | None
    """[m2]; Default: Autosize"""
    coil_depth: float | Literal["", "Autosize"] | None
    """[m] (in); Default: Autosize"""
    fin_diameter: float | Literal["", "Autosize"] | None
    """Fin diameter or the coil height; [m] (in); Default: Autosize"""
    fin_thickness: float | None
    """[m] (in); Default: 0.0015; Range: > 0.0"""
    tube_inside_diameter: float | None
    """Inner diameter of tubes; [m] (in); Default: 0.01445; Range: > 0.0"""
    tube_outside_diameter: float | None
    """Outer diameter of tubes; [m] (in); Default: 0.0159; Range: > 0.0"""
    tube_thermal_conductivity: float | None
    """[W/m-K]; Default: 386.0; Range: >= 1.0"""
    fin_thermal_conductivity: float | None
    """[W/m-K]; Default: 204.0; Range: >= 1.0"""
    fin_spacing: float | None
    """Fin spacing or distance; [m] (in); Default: 0.0018; Range: > 0.0"""
    tube_depth_spacing: float | None
    """[m] (in); Default: 0.026; Range: > 0.0"""
    number_of_tube_rows: float | None
    """Default: 4.0; Range: > 0.0"""
    number_of_tubes_per_row: float | Literal["", "Autosize"] | None
    """Default: Autosize"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    design_water_temperature_difference: float | None
    """This input field is optional. If specified, it is used for sizing the Design Water Flow Rate. If blank or omitted, th...; [deltaC]; Range: > 0.0"""
    design_inlet_water_temperature: float | Literal["", "Autosize"] | None
    """This input field is optional. If specified, it is used for sizing the coil Design Geometry Parameters. If autosized, ...; [C]; Default: Autosize; Since: 9.6.0"""

class CoilSystemCoolingWater(IDFObject):
    """Virtual container component that consists of a water cooling coil and its associated controls. This control object su...; Since: 9.6.0"""

    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "CoilSystem:Cooling:Water:HeatExchangerAssisted",
        ]
        | None
    )
    cooling_coil_name: str | None
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only. Valid with all cooling coil types. When a heat exchanger assisted cooling coil is use...; Default: None"""
    run_on_sensible_load: Literal["", "No", "Yes"] | None
    """If Yes, unit will run if there is a sensible load. If No, unit will not run if there is only a sensible load. Dehumid...; Default: Yes"""
    run_on_latent_load: Literal["", "No", "Yes"] | None
    """If Yes, unit will run if there is a latent load. even if there is no sensible load. If No, unit will not run if there...; Default: No"""
    minimum_air_to_water_temperature_offset: float | None
    """Coil will turn on as required when inlet air temperature is above water temperature by amount of offset. To model a w...; [deltaC]; Default: 0.0; Range: >= 0.0"""
    economizer_lockout: Literal["", "No", "Yes"] | None
    """Yes means that the heat exchanger will be locked out (off); Default: Yes"""
    minimum_water_loop_temperature_for_heat_recovery: float | None
    """Only used for heat recovery loops. Loop will turn off below this temperature.; [C]; Default: 0.0"""
    companion_coil_used_for_heat_recovery: str | None
    """Only used for heat recovery loops. Entering a coil name indicates a heat recovery loop is specified. Coil listed is c..."""

class CoilCoolingDX(IDFObject):
    """New general DX cooling coil supporting on or more speeds and one or or operating modes. Includes DX evaporator coil, ...; Since: 9.3.0"""

    evaporator_inlet_node_name: str | None
    evaporator_outlet_node_name: str | None
    availability_schedule_name: str | None
    """Schedule value > 0 means the coil is available. If this field is blank, the coil is always available."""
    condenser_zone_name: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (condenser) of a DX system o..."""
    condenser_inlet_node_name: str | None
    """This is the name of an air node in the simulation. This may be an explicitly defined outdoor air node, or it may be a..."""
    condenser_outlet_node_name: str | None
    """This is the name of an air node in the simulation."""
    performance_object_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    evaporative_condenser_supply_water_storage_tank_name: str | None

class CoilCoolingDXCurveFitPerformance(IDFObject):
    """DX cooling coil performance specification referencing one or more operating modes. Mode 1 is always the base design o...; Since: 9.3.0"""

    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    unit_internal_static_air_pressure: float | None
    """Enter pressure drop for the unit containing the coil. This value is only used to calculate Energy Efficiency Ratio (E...; [Pa]; Range: > 0.0"""
    capacity_control_method: Literal["", "Continuous", "Discrete"] | None
    """Default: Discrete"""
    evaporative_condenser_basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    evaporative_condenser_basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    evaporative_condenser_basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    compressor_fuel_type: (
        Literal[
            "",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: Electricity"""
    base_operating_mode: str | None
    """Operating Mode 1 is always used as the base design operating mode."""
    alternative_operating_mode_1: str | None
    """The alternative operating mode is used for enhanced dehumidification. If this is blank, the coil will always operate ..."""
    alternative_operating_mode_2: str | None
    """The alternative operating mode is used for enhanced dehumidification. If this is blank, the coil will always operate ..."""

class CoilCoolingDXCurveFitOperatingMode(IDFObject):
    """DX cooling coil performance for a single operating mode which may have one or more speeds.; Since: 9.3.0"""

    rated_gross_total_cooling_capacity: float | Literal["", "Autosize"] | None
    """Total (sensible+latent) cooling capacity not accounting for the effect of supply air fan heat. Rating point: air ente...; [W]; Default: Autosize"""
    rated_evaporator_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP. Should be between 0.00004027 m3/s a...; [m3/s]"""
    rated_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use.; [m3/s]"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    apply_latent_degradation_to_speeds_greater_than_1: Literal["", "No", "Yes"] | None
    """Default: No"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    nominal_evaporative_condenser_pump_power: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump; [W]; Default: 0.0"""
    nominal_speed_number: int | None
    """Must be lower than or equal to the highest speed number. If blank, defaults to the highest speed number used."""
    speed_1_name: str | None
    speed_2_name: str | None
    speed_3_name: str | None
    speed_4_name: str | None
    speed_5_name: str | None
    speed_6_name: str | None
    speed_7_name: str | None
    speed_8_name: str | None
    speed_9_name: str | None
    speed_10_name: str | None

class CoilCoolingDXCurveFitSpeed(IDFObject):
    """DX cooling coil performance for a single speed within a single operating mode.; Since: 9.3.0"""

    gross_total_cooling_capacity_fraction: float | None
    """Ratio of capacity at this speed to the operating mode Rated Gross Total Cooling Capacity; Range: > 0.0"""
    evaporator_air_flow_rate_fraction: float | None
    """Ratio of capacity at this speed to the operating mode Rated Evaporator Air Flow Rate; Range: > 0.0"""
    condenser_air_flow_rate_fraction: float | None
    """Ratio of condenser air flow at this speed to the operating mode Rated Condenser Air Flow Rate; Range: > 0.0"""
    gross_sensible_heat_ratio: float | Literal["", "Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) sensible and total capacities do not include...; Default: Autosize"""
    gross_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and condenser fan. Does not include supply fan heat o...; [W/W]; Default: 3.0; Range: > 0.0"""
    active_fraction_of_coil_face_area: float | None
    """The fraction of the cooling coil face which is actively cooled at this speed. For non-split-face coils, this should b...; Default: 1.0; Range: > 0.0, <= 1.0"""
    evaporative_condenser_pump_power_fraction: float | None
    """Ratio of evaporative condenser pump power at this speed to the operating mode Nominal Evaporative Condenser Pump Power; Default: 1.0; Range: > 0.0"""
    evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    total_cooling_capacity_modifier_function_of_temperature_curve_name: str | None
    """biquadratic curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb quadratic curve = a + b*edb + c*edb**2 wb = ente..."""
    total_cooling_capacity_modifier_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load flow"""
    energy_input_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    energy_input_ratio_modifier_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load flow"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    rated_waste_heat_fraction_of_power_input: float | None
    """Recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    waste_heat_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*cdb + c*cdb**2 + d*edb + e*edb**2 + f*cdb*edb cdb = entering condenser dry-bulb temperature (C) edb = e..."""
    sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the DX cooling coil ..."""
    sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow I..."""

class CoilDXASHRAE205Performance(IDFObject):
    """DX coil performance specification referencing an ASHRAE Standard 205 compliant representation for air-to-air direct e...; Since: 25.2.0"""

    representation_file_name: str | None
    """The name of the ASHRAE 205 RS0004 (air-to-air direct expansion refrigerant system) representation file"""
    performance_interpolation_method: Literal["", "Cubic", "Linear"] | None
    """Default: Linear"""
    rated_total_cooling_capacity: float | Literal["", "Autosize"] | None
    """Not yet implemented / reserved for future use. Full load cooling capacity at AHRI 210/240 'A' test conditions. Used t...; [W]; Default: Autosize"""
    rated_steady_state_heating_capacity: float | Literal["", "Autosize"] | None
    """Not yet implemented / reserved for future use. Full load heating capacity at AHRI 210/240 'H1' test conditions. Used ...; [W]; Default: Autosize"""

class CoilCoolingDXSingleSpeed(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric compressor and condenser fan), single-speed..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat gross capacity excluding supply air fan h...; [W]"""
    gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) sensible and total capacities do not include..."""
    gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP should be between 0.00004027 m3/s an...; [m3/s]"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load flow"""
    energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load flow"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump; [W]; Default: 0.0"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the DX cooling coil ..."""
    sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    report_ashrae_standard_127_performance_ratings: Literal["", "No", "Yes"] | None
    """when this input field is specified as Yes then the program calculates the net cooling capacity and total electric pow...; Default: No"""
    zone_name_for_condenser_placement: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (condenser) of DX system or ..."""

class CoilCoolingDXTwoSpeed(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric compressor and condenser fan), two-speed (o..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    high_speed_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat gross capacity excluding supply air fan h...; [W]"""
    high_speed_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) sensible and total capacities do not include..."""
    high_speed_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    high_speed_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP. Should be between 0.00004027 m3/s a...; [m3/s]"""
    high_speed_2017_rated_evaporator_fan_power_per_volume_flow_rate: float | None
    """Enter the evaporator fan power per air volume flow rate at the rated test conditions as defined in the 2017 version o...; [W/(m3/s)]; Default: 773.3; Range: >= 0.0, <= 1250.0; Since: 23.2.0"""
    high_speed_2023_rated_evaporator_fan_power_per_volume_flow_rate: float | None
    """Enter the evaporator fan power per air volume flow rate at the rated test conditions as defined in the 2023 version o...; [W/(m3/s)]; Default: 934.4; Range: >= 0.0, <= 1505.0; Since: 23.2.0"""
    unit_internal_static_air_pressure: float | None
    """Enter pressure drop for the unit containing the coil. This value is only used to calculate Energy Efficiency Ratio (E...; [Pa]; Range: > 0.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    low_speed_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat gross capacity excluding supply air fan h...; [W]"""
    low_speed_gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Gross Rated Sensible Heat Ratio (gross sensible capacity/gross total capacity) sensible and total capacities do not i..."""
    low_speed_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    low_speed_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP. Should be between 0.00004027 m3/s a...; [m3/s]"""
    low_speed_2017_rated_evaporator_fan_power_per_volume_flow_rate: float | None
    """Enter the evaporator fan power per air volume flow rate at the rated test conditions as defined in the 2017 version o...; [W/(m3/s)]; Default: 773.3; Range: >= 0.0, <= 1250.0; Since: 23.2.0"""
    low_speed_2023_rated_evaporator_fan_power_per_volume_flow_rate: float | None
    """Enter the evaporator fan power per air volume flow rate at the rated test conditions as defined in the 2023 version o...; [W/(m3/s)]; Default: 934.4; Range: >= 0.0, <= 1505.0; Since: 23.2.0"""
    low_speed_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    low_speed_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    high_speed_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    high_speed_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    high_speed_evaporative_condenser_pump_rated_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at high speed; [W]"""
    low_speed_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    low_speed_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    low_speed_evaporative_condenser_pump_rated_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at low speed; [W]"""
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the DX cooling coil ..."""
    sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    low_speed_sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the DX cooling coil ..."""
    low_speed_sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    zone_name_for_condenser_placement: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (condenser) of DX system or ..."""

class CoilCoolingDXMultiSpeed(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric or engine-driven compressor and condenser f..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    apply_part_load_fraction_to_speeds_greater_than_1: Literal["", "No", "Yes"] | None
    """Default: No"""
    apply_latent_degradation_to_speeds_greater_than_1: Literal["", "No", "Yes"] | None
    """Default: No"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    fuel_type: (
        Literal[
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    number_of_speeds: int | None
    """Enter the number of the following sets of data for coil capacity, SHR, COP, flow rate, and associated curves.; Range: >= 2, <= 4"""
    speed_1_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Gross capacity excluding supply air fan h...; [W]"""
    speed_1_gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Gross Rated Sensible Heat Ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not i..."""
    speed_1_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    speed_1_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, rated SHR and rated COP should be between 0.00004027 m3/s an...; [m3/s]"""
    speed_1_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_1_total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load Flow"""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_1_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_1_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    speed_1_nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    speed_1_ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation Rate from the Cooling Coil (when the compressor first turns off) and the Co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_1_maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_1_latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    speed_1_rated_waste_heat_fraction_of_power_input: float | None
    """Recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_1_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_1_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    speed_1_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    speed_1_rated_evaporative_condenser_pump_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at high speed; [W]"""
    speed_2_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Gross capacity excluding supply air fan h...; [W]"""
    speed_2_gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Gross Rated Sensible Heat Ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not i..."""
    speed_2_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    speed_2_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, rated SHR and rated COP should be between 0.00004027 m3/s an...; [m3/s]"""
    speed_2_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_2_total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_2_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = Fraction of the full load Flow"""
    speed_2_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (Cooling l..."""
    speed_2_nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    speed_2_ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_2_maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_2_latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    speed_2_rated_waste_heat_fraction_of_power_input: float | None
    """Recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_2_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_2_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    speed_2_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    speed_2_rated_evaporative_condenser_pump_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at low speed; [W]"""
    speed_3_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Gross capacity excluding supply air fan h...; [W]"""
    speed_3_gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Gross Rated Sensible Heat Ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not i..."""
    speed_3_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    speed_3_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, rated SHR and rated COP should be between 0.00004027 m3/s an...; [m3/s]"""
    speed_3_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_3_total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_3_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_3_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (Cooling l..."""
    speed_3_nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    speed_3_ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_3_maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_3_latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    speed_3_rated_waste_heat_fraction_of_power_input: float | None
    """Recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_3_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_3_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    speed_3_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    speed_3_rated_evaporative_condenser_pump_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at Low speed; [W]"""
    speed_4_gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Gross capacity excluding supply air fan h...; [W]"""
    speed_4_gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Gross Rated Sensible Heat Ratio (gross sensible capacity/gross total capacity) Sensible and total capacities do not i..."""
    speed_4_gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    speed_4_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, rated SHR and rated COP should be between 0.00004027 m3/s an...; [m3/s]"""
    speed_4_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_4_total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    speed_4_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_4_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    speed_4_nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    speed_4_ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_4_maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    speed_4_latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    speed_4_rated_waste_heat_fraction_of_power_input: float | None
    """Recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_4_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_4_evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    speed_4_evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    speed_4_rated_evaporative_condenser_pump_power_consumption: float | Literal["Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump at Speed 4; [W]"""
    zone_name_for_condenser_placement: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (condenser) of DX system or ..."""

class CoilCoolingDXVariableSpeed(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric compressor and condenser fan), variable-spe..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    indoor_air_inlet_node_name: str | None
    indoor_air_outlet_node_name: str | None
    number_of_speeds: int | None
    """[dimensionless]; Default: 2; Range: >= 1, <= 10"""
    nominal_speed_level: int | None
    """must be lower than or equal to the highest speed number; [dimensionless]; Default: 2"""
    gross_rated_total_cooling_capacity_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    rated_air_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    nominal_time_for_condensate_to_begin_leaving_the_coil: float | None
    """[s]; Default: 0.0; Range: >= 0.0"""
    initial_moisture_evaporation_rate_divided_by_steady_state_ac_latent_capacity: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 2.5; Range: >= 0.0, <= 5.0; Since: 23.2.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 60.0; Range: >= 0.0, <= 500.0; Since: 23.2.0"""
    fan_delay_time: float | None
    """Programmed time delay for fan to shut off after compressor cycle off. Enter 0 when fan operating mode is continuous; [s]; Default: 60.0; Range: >= 0.0; Since: 23.2.0"""
    energy_part_load_fraction_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump; [W]; Default: 0.0"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    speed_1_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_1_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_1_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_1_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_1_reference_unit_rated_condenser_air_flow_rate: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled; [m3/s]; Range: >= 0.0"""
    speed_1_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled; [dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_1_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_1_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_1_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_2_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_2_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_2_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_2_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_2_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_2_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_3_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_3_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_3_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_3_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_3_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_3_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_3_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_4_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_4_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_4_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_4_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_4_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_4_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_4_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_5_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_5_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_5_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_5_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_5_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_5_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_5_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_5_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_6_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_6_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_6_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_6_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_6_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_6_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_6_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_6_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_6_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_6_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_7_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_7_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_7_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_7_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_7_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_7_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_7_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_7_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_7_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_7_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_8_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_8_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_8_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_8_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_8_reference_unit_rated_condenser_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_8_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_8_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_8_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_8_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_8_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_9_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_9_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_9_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_9_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_9_reference_unit_rated_condenser_air_flow_rate: float | None
    """optional; [m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_9_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """optional; [dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_9_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_9_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_9_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_9_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_10_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_10_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_10_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_10_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_10_reference_unit_rated_condenser_air_flow_rate: float | None
    """optional; [m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_10_reference_unit_rated_pad_effectiveness_of_evap_precooling: float | None
    """optional; [dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_10_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_10_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_10_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb wb = entering wet-bulb temperature (C) odb = air entering te..."""
    speed_10_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""

class CoilCoolingDXTwoStageWithHumidityControlMode(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric compressor and condenser fan), two-stage wi..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    number_of_capacity_stages: int | None
    """Default: 1; Range: >= 1, <= 2"""
    number_of_enhanced_dehumidification_modes: int | None
    """Default: 0; Range: >= 0, <= 1"""
    normal_mode_stage_1_coil_performance_object_type: Literal["CoilPerformance:DX:Cooling"] | None
    normal_mode_stage_1_coil_performance_name: str | None
    normal_mode_stage_1_2_coil_performance_object_type: Literal["CoilPerformance:DX:Cooling"] | None
    normal_mode_stage_1_2_coil_performance_name: str | None
    dehumidification_mode_1_stage_1_coil_performance_object_type: Literal["CoilPerformance:DX:Cooling"] | None
    dehumidification_mode_1_stage_1_coil_performance_name: str | None
    dehumidification_mode_1_stage_1_2_coil_performance_object_type: Literal["CoilPerformance:DX:Cooling"] | None
    dehumidification_mode_1_stage_1_2_coil_performance_name: str | None
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -25.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""

class CoilPerformanceDXCooling(IDFObject):
    """Used to specify DX cooling coil performance for one mode of operation for a Coil:Cooling:DX:TwoStageWithHumidityContr..."""

    gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat gross capacity excluding supply air fan h...; [W]"""
    gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Rated sensible heat ratio (gross sensible capacity/gross total capacity) sensible and total capacities do not include..."""
    gross_rated_cooling_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to Rated total Cooling capacity, Rated SHR and Rated COP; [m3/s]"""
    fraction_of_air_flow_bypassed_around_coil: float | None
    """Fraction of Rated Air Flow Rate which bypasses the cooling coil in this performance mode. The remaining portion of th...; Default: 0.0; Range: >= 0.0, < 1.0"""
    total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    total_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb wb = entering wet-bulb temperature (C) edb = dry-bulb temper..."""
    energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0"""
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    evaporative_condenser_effectiveness: float | None
    """[dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use; [m3/s]"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump; [W]; Default: 0.0"""
    sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the DX cooling coil ..."""
    sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""

class CoilCoolingDXVariableRefrigerantFlow(IDFObject):
    """Variable refrigerant flow (VRF) direct expansion (DX) cooling coil. Used with ZoneHVAC:TerminalUnit:VariableRefrigera..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat Cooling capacity excluding supply air fan...; [W]"""
    gross_rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Sensible heat ratio excluding supply air fan heat"""
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """Volume flow rate corresponding to rated total cooling capacity should be between 0.00004027 m3/s and .00006041 m3/s p...; [m3/s]"""
    cooling_capacity_ratio_modifier_function_of_temperature_curve_name: str | None
    cooling_capacity_modifier_curve_function_of_flow_fraction_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    coil_air_inlet_node: str | None
    coil_air_outlet_node: str | None
    name_of_water_storage_tank_for_condensate_collection: str | None

class CoilHeatingDXVariableRefrigerantFlow(IDFObject):
    """Variable refrigerant flow (VRF) direct expansion (DX) heating coil (air-to-air heat pump). Used with ZoneHVAC:Termina..."""

    availability_schedule: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """volume flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt ...; [m3/s]"""
    coil_air_inlet_node: str | None
    coil_air_outlet_node: str | None
    heating_capacity_ratio_modifier_function_of_temperature_curve_name: str | None
    heating_capacity_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""

class CoilCoolingDXVariableRefrigerantFlowFluidTemperatureControl(IDFObject):
    """This is a key object in the new physics based VRF model applicable for Fluid Temperature Control. It describes the th..."""

    availability_schedule_name: str | None
    """Enter the name of a schedule that defines the availability of the coil Schedule values of 0 denote the unit is off. A..."""
    coil_air_inlet_node: str | None
    """the inlet node to the coil"""
    coil_air_outlet_node: str | None
    """the outlet node to the coil"""
    rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Supply air fan heat is not included; [W]"""
    rated_sensible_heat_ratio: float | Literal["Autosize"] | None
    """Supply air fan heat is not included"""
    indoor_unit_reference_superheating: float | None
    """[deltaC]; Default: 5.0; Range: >= 0.0"""
    indoor_unit_evaporating_temperature_function_of_superheating_curve_name: str | None
    name_of_water_storage_tank_for_condensate_collection: str | None

class CoilHeatingDXVariableRefrigerantFlowFluidTemperatureControl(IDFObject):
    """This is a key object in the new physics based VRF model applicable for Fluid Temperature Control. It describes the th..."""

    availability_schedule: str | None
    """Enter the name of a schedule that defines the availability of the coil Schedule values of 0 denote the unit is off. A..."""
    coil_air_inlet_node: str | None
    """the inlet node to the coil"""
    coil_air_outlet_node: str | None
    """the outlet node to the coil"""
    rated_total_heating_capacity: float | Literal["Autosize"] | None
    """Supply air fan heat is not included; [W]"""
    indoor_unit_reference_subcooling: float | None
    """[deltaC]; Default: 5.0; Range: >= 0.0"""
    indoor_unit_condensing_temperature_function_of_subcooling_curve_name: str | None

class CoilHeatingWater(IDFObject):
    """Hot water heating coil, NTU-effectiveness model, assumes a cross-flow heat exchanger. Two options for capacity inputs..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    u_factor_times_area_value: float | Literal["", "Autosize"] | None
    """UA value under rating conditions; [W/K]; Default: Autosize"""
    maximum_water_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """Default: UFactorTimesAreaAndDesignWaterFlowRate"""
    rated_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_inlet_water_temperature: float | None
    """[C]; Default: 82.2"""
    rated_inlet_air_temperature: float | None
    """[C]; Default: 16.6"""
    rated_outlet_water_temperature: float | None
    """[C]; Default: 71.1"""
    rated_outlet_air_temperature: float | None
    """[C]; Default: 32.2"""
    rated_ratio_for_air_and_water_convection: float | None
    """Default: 0.5; Range: > 0.0"""
    design_water_temperature_difference: float | None
    """This input field is optional. If specified, it is used for sizing the Design Water Flow Rate. If blank or omitted, th...; [deltaC]; Range: > 0.0"""

class CoilHeatingSteam(IDFObject):
    """Steam heating coil. Condenses and sub-cools steam at loop pressure and discharges condensate through steam traps to l..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    maximum_steam_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    degree_of_subcooling: float | None
    """[C]; Range: >= 1.0, <= 5.0"""
    degree_of_loop_subcooling: float | None
    """[C]; Default: 20.0; Range: >= 10.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    coil_control_type: Literal["TemperatureSetpointControl", "ZoneLoadControl"] | None
    """Use ZoneLoadControl if the coil is contained within another component such as an air terminal unit, zone HVAC equipme..."""
    temperature_setpoint_node_name: str | None
    """Required if Coil Control Type is TemperatureSetpointControl"""

class CoilHeatingElectric(IDFObject):
    """Electric heating coil. If the coil is located directly in an air loop branch or outdoor air equipment list, then it i..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    efficiency: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    temperature_setpoint_node_name: str | None
    """Required if coil is temperature controlled."""

class CoilHeatingElectricMultiStage(IDFObject):
    """Electric heating coil, multi-stage. If the coil is located directly in an air loop branch or outdoor air equipment li..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    temperature_setpoint_node_name: str | None
    """Required if coil is temperature controlled. controlled"""
    number_of_stages: int | None
    """Enter the number of the following sets of data for coil capacity and Efficiency.; Range: >= 1, <= 4"""
    stage_1_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_1_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_2_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_2_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_3_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_3_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_4_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_4_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""

class CoilHeatingFuel(IDFObject):
    """Gas or other fuel heating coil. If the coil is located directly in an air loop branch or outdoor air equipment list, ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: NaturalGas"""
    burner_efficiency: float | None
    """Default: 0.8; Range: >= 0.0, <= 1.0"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    temperature_setpoint_node_name: str | None
    """optional, used if coil is temperature control and not load-base controlled"""
    on_cycle_parasitic_electric_load: float | None
    """parasitic electric load associated with the coil operation such as an inducer fan, etc... This will be modified by th...; [W] (W); Since: 23.2.0"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve, PLF = a + b*PLR + c*PLR**2 cubic curve, PLF = a + b*PLR + c*PLR**2 + d*PLR**3 PLF = part load fracti..."""
    off_cycle_parasitic_fuel_load: float | None
    """parasitic fuel load when the coil is not operating (i.e., standing pilot); [W]; Since: 23.2.0"""

class CoilHeatingGasMultiStage(IDFObject):
    """Gas heating coil, multi-stage. If the coil is located directly in an air loop branch or outdoor air equipment list, t..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    temperature_setpoint_node_name: str | None
    """optional, used if coil is temperature control and not load-base controlled."""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve, PLF = a + b*PLR + c*PLR**2 cubic curve, PLF = a + b*PLR + c*PLR**2 + d*PLR**3 PLF = part load fracti..."""
    off_cycle_parasitic_gas_load: float | None
    """parasitic gas load when the gas coil is not operating (i.e., standing pilot); [W]; Since: 23.2.0"""
    number_of_stages: int | None
    """Enter the number of the following sets of data for coil capacity and Gas Burner Efficiency.; Range: >= 1, <= 4"""
    stage_1_gas_burner_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_1_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_1_on_cycle_parasitic_electric_load: float | None
    """Stage 1 parasitic electric load associated with the gas coil operation such as an inducer fan, etc. This will be modi...; [W] (W); Since: 23.2.0"""
    stage_2_gas_burner_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_2_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_2_on_cycle_parasitic_electric_load: float | None
    """Stage 2 parasitic electric load associated with the gas coil operation such as an inducer fan, etc. This will be modi...; [W] (W); Since: 23.2.0"""
    stage_3_gas_burner_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_3_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_3_on_cycle_parasitic_electric_load: float | None
    """Stage 3 parasitic electric load associated with the gas coil operation such as an inducer fan, etc. This will be modi...; [W] (W); Since: 23.2.0"""
    stage_4_gas_burner_efficiency: float | None
    """[W/W]; Range: > 0.0"""
    stage_4_nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    stage_4_on_cycle_parasitic_electric_load: float | None
    """Stage 4 parasitic electric load associated with the gas coil operation such as an inducer fan, etc. This will be modi...; [W] (W); Since: 23.2.0"""

class CoilHeatingDesuperheater(IDFObject):
    """Desuperheater air heating coil. The heating energy provided by this coil is reclaimed from the superheated refrigeran..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    heat_reclaim_recovery_efficiency: float | None
    """Range: >= 0.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    heating_source_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:TwoSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "Refrigeration:CompressorRack",
            "Refrigeration:Condenser:AirCooled",
            "Refrigeration:Condenser:EvaporativeCooled",
            "Refrigeration:Condenser:WaterCooled",
        ]
        | None
    )
    heating_source_name: str | None
    temperature_setpoint_node_name: str | None
    """Required if coil is temperature controlled. Temperature-based control requires the use of a SetpointManager object"""
    on_cycle_parasitic_electric_load: float | None
    """parasitic electric load associated with the desuperheater coil operation such as solenoid valves, etc.; [W] (W); Range: >= 0.0; Since: 23.2.0"""

class CoilHeatingDXSingleSpeed(IDFObject):
    """Direct expansion (DX) heating coil (air-to-air heat pump) and compressor unit (includes electric compressor and outdo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    gross_rated_heating_cop: float | None
    """Rated heating capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Range: > 0.0"""
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt of rate...; [m3/s]"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    heating_capacity_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    heating_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    energy_input_ratio_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (sensible ..."""
    defrost_energy_input_ratio_function_of_temperature_curve_name: str | None
    """biquadratic curve = a + b*wb + c*wb**2 + d*oat + e*oat**2 + f*wb*oat wb = wet-bulb temperature (C) of air entering th..."""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -8.0"""
    outdoor_dry_bulb_temperature_to_turn_on_compressor: float | None
    """The outdoor temperature when the compressor is automatically turned back on following an automatic shut off because o...; [C]"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    region_number_for_calculating_hspf: int | None
    """Standard Region number for which HSPF and other standard ratings are calculated; Default: 4; Range: >= 1, <= 6"""
    evaporator_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    zone_name_for_evaporator_placement: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (evaporator) of a heat pump ..."""
    secondary_coil_air_flow_rate: float | Literal["Autosize"] | None
    """This input value is the secondary coil (evaporator) air flow rate when the heat pump is working in heating mode or th...; [m3/s]"""
    secondary_coil_fan_flow_scaling_factor: float | None
    """This input field is scaling factor for autosizing the secondary DX coil fan flow rate. The secondary air flow rate is...; [m3/s]; Default: 1.25; Range: > 0.0"""
    nominal_sensible_heat_ratio_of_secondary_coil: float | None
    """This input value is the nominal sensible heat ratio used to split the heat extracted by a secondary DX coil (evaporat...; [m3/s]; Range: > 0.0, <= 1.0"""
    sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the secondary DX coi..."""
    sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = secondary air flow fraction of t..."""

class CoilHeatingDXMultiSpeed(IDFObject):
    """Direct expansion (DX) heating coil (air-to-air heat pump) and compressor unit (includes electric or engine-driven com..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -8.0"""
    outdoor_dry_bulb_temperature_to_turn_on_compressor: float | None
    """The outdoor temperature when the compressor is automatically turned back on following an automatic shut off because o...; [C]"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    defrost_energy_input_ratio_function_of_temperature_curve_name: str | None
    """biquadratic curve = a + b*wb + c*wb**2 + d*oat + e*oat**2 + f*wb*oat wb = wet-bulb temperature (C) of air entering th..."""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    apply_part_load_fraction_to_speeds_greater_than_1: Literal["", "No", "Yes"] | None
    """Default: No"""
    fuel_type: (
        Literal[
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    region_number_for_calculating_hspf: int | None
    """Standard Region number for which HSPF and other standard ratings are calculated; Default: 4; Range: >= 1, <= 6"""
    number_of_speeds: int | None
    """Enter the number of the following sets of data for coil capacity, COP, flow rate, and associated curves.; Range: >= 2, <= 4"""
    speed_1_gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    speed_1_gross_rated_heating_cop: float | None
    """Rated heating capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Range: > 0.0"""
    speed_1_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt of rate...; [m3/s]"""
    speed_1_heating_capacity_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_1_heating_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_1_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_1_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (sensible ..."""
    speed_1_rated_waste_heat_fraction_of_power_input: float | None
    """recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_1_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_2_gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    speed_2_gross_rated_heating_cop: float | None
    """Rated heating capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Range: > 0.0"""
    speed_2_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt of rate...; [m3/s]"""
    speed_2_heating_capacity_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_2_heating_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_2_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_2_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (sensible ..."""
    speed_2_rated_waste_heat_fraction_of_power_input: float | None
    """recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_2_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_3_gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    speed_3_gross_rated_heating_cop: float | None
    """Rated heating capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Range: > 0.0"""
    speed_3_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt of rate...; [m3/s]"""
    speed_3_heating_capacity_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_3_heating_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_3_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_3_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (sensible ..."""
    speed_3_rated_waste_heat_fraction_of_power_input: float | None
    """recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_3_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    speed_4_gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity not accounting for the effect of supply air fan heat capacity excluding supply air fan heat rating p...; [W]"""
    speed_4_gross_rated_heating_cop: float | None
    """Rated heating capacity divided by power input to the compressor and outdoor fan, does not include supply air fan heat...; [W/W]; Range: > 0.0"""
    speed_4_rated_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total capacity should be between 0.00004027 m3/s and .00006041 m3/s per watt of rate...; [m3/s]"""
    speed_4_heating_capacity_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_4_heating_capacity_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """quadratic curve = a + b*oat + c*oat**2 cubic curve = a + b*oat + c*oat**2 + d*oat**3 biquadratic curve = a + b*iat + ..."""
    speed_4_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = fraction of the full load flow"""
    speed_4_part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (sensible ..."""
    speed_4_rated_waste_heat_fraction_of_power_input: float | None
    """recoverable waste heat at full load and rated conditions; [dimensionless]; Default: 0.2; Range: > 0.0, <= 1.0"""
    speed_4_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*odb + c*odb**2 + d*db + e*db**2 + f*odb*db odb = Outdoor air dry-bulb temperature (C) db = entering coi..."""
    zone_name_for_evaporator_placement: str | None
    """This input field is name of a conditioned or unconditioned zone where the secondary coil (evaporator) of a heat pump ..."""
    speed_1_secondary_coil_air_flow_rate: float | Literal["Autosize"] | None
    """This input value is the secondary coil (evaporator) air flow rate when the heat pump is working in heating mode or th...; [m3/s]"""
    speed_1_secondary_coil_fan_flow_scaling_factor: float | None
    """This input field is scaling factor for autosizing the secondary DX coil fan flow rate. The secondary air flow rate is...; [m3/s]; Default: 1.25; Range: > 0.0"""
    speed_1_nominal_sensible_heat_ratio_of_secondary_coil: float | None
    """This input value is the nominal sensible heat ratio used to split the heat extracted by a secondary DX coil (evaporat...; [m3/s]; Range: > 0.0, <= 1.0"""
    speed_1_sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the secondary DX coi..."""
    speed_1_sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = secondary air flow fraction of t..."""
    speed_2_secondary_coil_air_flow_rate: float | Literal["Autosize"] | None
    """This input value is the secondary coil (evaporator) air flow rate when the heat pump is working in heating mode or th...; [m3/s]"""
    speed_2_secondary_coil_fan_flow_scaling_factor: float | None
    """This input field is scaling factor for autosizing the secondary DX coil fan flow rate. The secondary air flow rate is...; [m3/s]; Default: 1.25; Range: > 0.0"""
    speed_2_nominal_sensible_heat_ratio_of_secondary_coil: float | None
    """This input value is the nominal sensible heat ratio used to split the heat extracted by a secondary DX coil (evaporat...; [m3/s]; Range: > 0.0, <= 1.0"""
    speed_2_sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the secondary DX coi..."""
    speed_2_sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = secondary air flow fraction of t..."""
    speed_3_secondary_coil_air_flow_rate: float | Literal["Autosize"] | None
    """This input value is the secondary coil (evaporator) air flow rate when the heat pump is working in heating mode or th...; [m3/s]"""
    speed_3_secondary_coil_fan_flow_scaling_factor: float | None
    """This input field is scaling factor for autosizing the secondary DX coil fan flow rate. The secondary air flow rate is...; [m3/s]; Default: 1.25; Range: > 0.0"""
    speed_3_nominal_sensible_heat_ratio_of_secondary_coil: float | None
    """This input value is the nominal sensible heat ratio used to split the heat extracted by a secondary DX coil (evaporat...; [m3/s]; Range: > 0.0, <= 1.0"""
    speed_3_sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the secondary DX coi..."""
    speed_3_sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = secondary air flow fraction of t..."""
    speed_4_secondary_coil_air_flow_rate: float | Literal["Autosize"] | None
    """This input value is the secondary coil (evaporator) air flow rate when the heat pump is working in heating mode or th...; [m3/s]"""
    speed_4_secondary_coil_fan_flow_scaling_factor: float | None
    """This input field is scaling factor for autosizing the secondary DX coil fan flow rate. The secondary air flow rate is...; [m3/s]; Default: 1.25; Range: > 0.0"""
    speed_4_nominal_sensible_heat_ratio_of_secondary_coil: float | None
    """This input value is the nominal sensible heat ratio used to split the heat extracted by a secondary DX coil (evaporat...; [m3/s]; Range: > 0.0, <= 1.0"""
    speed_4_sensible_heat_ratio_modifier_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db wb = entering wet-bulb temperature seen by the secondary DX coi..."""
    speed_4_sensible_heat_ratio_modifier_function_of_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ff + c*ff**2 cubic curve = a + b*ff + c*ff**2 + d*ff**3 ff = secondary air flow fraction of t..."""

class CoilHeatingDXVariableSpeed(IDFObject):
    """Direct expansion (DX) heating coil (air-to-air heat pump) and compressor unit (includes electric compressor and outdo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    indoor_air_inlet_node_name: str | None
    indoor_air_outlet_node_name: str | None
    number_of_speeds: int | None
    """[dimensionless]; Default: 2; Range: >= 1, <= 10"""
    nominal_speed_level: int | None
    """must be lower than or equal to the highest speed number; [dimensionless]; Default: 2"""
    rated_heating_capacity_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_air_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    energy_part_load_fraction_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (heating l..."""
    defrost_energy_input_ratio_function_of_temperature_curve_name: str | None
    """biquadratic curve = a + b*wb + c*wb**2 + d*oat + e*oat**2 + f*wb*oat wb = wet-bulb temperature (C) of air entering th..."""
    minimum_outdoor_dry_bulb_temperature_for_compressor_operation: float | None
    """[C]; Default: -8.0"""
    outdoor_dry_bulb_temperature_to_turn_on_compressor: float | None
    """The outdoor temperature when the compressor is automatically turned back on following an automatic shut off because o...; [C]"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """[C]; Default: 5.0; Range: >= 0.0, <= 7.22"""
    crankcase_heater_capacity: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater_operation: float | None
    """[C]; Default: 10.0; Range: >= 0.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Default: ReverseCycle"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Default: Timed"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    speed_1_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_1_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_1_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_1_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_1_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_1_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_2_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_2_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_2_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_2_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_3_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_3_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_3_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_3_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_3_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_4_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_4_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_4_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_4_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_4_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_5_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_5_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_5_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_5_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_5_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_5_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_6_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_6_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_6_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_6_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_6_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_6_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_6_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_7_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_7_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_7_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_7_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_7_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_7_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_7_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_8_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_8_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_8_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_8_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_8_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_8_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_8_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_9_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_9_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_9_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_9_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_9_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_9_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_9_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_10_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_10_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_10_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_10_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_10_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ...; Since: 25.2.0"""
    speed_10_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat db = entering air dry-bulb temperature (C) oat = air enterin..."""
    speed_10_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""

class CoilCoolingWaterToAirHeatPumpParameterEstimation(IDFObject):
    """Direct expansion (DX) cooling coil for water-to-air heat pump (includes electric compressor), single-speed, parameter..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    compressor_type: Literal["Reciprocating", "Rotary", "Scroll"] | None
    """Parameters 1-5 are as named below. Parameters 6-10 depend on the type of compressor and fluid. Refer to the InputOutp..."""
    refrigerant_type: str | None
    """Default: R22"""
    design_source_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    nominal_cooling_coil_capacity: float | None
    """[W]; Range: > 0.0"""
    nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow rate a...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    high_pressure_cutoff: float | None
    """[Pa]; Range: > 0.0"""
    low_pressure_cutoff: float | None
    """[Pa]; Range: >= 0.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    load_side_total_heat_transfer_coefficient: float | None
    """Previously called Parameter 1; [W/K]; Range: > 0.0"""
    load_side_outside_surface_heat_transfer_coefficient: float | None
    """Previously called Parameter 2; [W/K]; Range: > 0.0"""
    superheat_temperature_at_the_evaporator_outlet: float | None
    """Previously called Parameter 3; [C]; Range: > 0.0"""
    compressor_power_losses: float | None
    """Accounts for the loss of work due to mechanical and electrical losses in the compressor. Previously called Parameter 4; [W]; Range: > 0.0"""
    compressor_efficiency: float | None
    """Previously called Parameter 5; Range: > 0.0"""
    compressor_piston_displacement: float | None
    """Use when Compressor Type is Reciprocating or Rotary Leave this field blank for Compressor Type is Scroll. Previously ...; [m3/s]; Range: > 0.0"""
    compressor_suction_discharge_pressure_drop: float | None
    """Used when Compressor Type is Rotary or Reciprocating Leave this field blank for Compressor Type is Scroll. Previously...; [Pa]; Range: > 0.0"""
    compressor_clearance_factor: float | None
    """Used when Compressor Type is Reciprocating. Leave this field blank for Compressor Type is Rotary or Scroll. Previousl...; [dimensionless]; Range: > 0.0"""
    refrigerant_volume_flow_rate: float | None
    """Use when Compressor Type is Scroll Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously ...; [m3/s]; Range: > 0.0"""
    volume_ratio: float | None
    """Use when Compressor Type is Scroll. Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously...; [dimensionless]; Range: > 0.0"""
    leak_rate_coefficient: float | None
    """Use when Compressor Type is Scroll. Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously...; Range: >= 0.0"""
    source_side_heat_transfer_coefficient: float | None
    """Use when Source Side Fluid Name is Water Leave this field blank when Source Side Fluid Name is an antifreeze Previous...; [W/K]; Range: >= 0.0"""
    source_side_heat_transfer_resistance1: float | None
    """Use when Source Side Fluid Name is an antifreeze Leave this field blank for Source Side Fluid is Water Previously par...; [dimensionless]; Range: >= 0.0"""
    source_side_heat_transfer_resistance2: float | None
    """Use when Source Side Fluid Name is an antifreeze Leave this field blank for Source Side Fluid is Water Previously par...; [W/K]; Range: >= 0.0"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l...; Since: 23.2.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0; Since: 23.2.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0; Since: 23.2.0"""
    fan_delay_time: float | None
    """Programmed time delay for heat pump fan to shut off after compressor cycle off. Only required when fan operating mode...; [s]; Default: 60.0; Range: >= 0.0; Since: 23.2.0"""

class CoilHeatingWaterToAirHeatPumpParameterEstimation(IDFObject):
    """Direct expansion (DX) heating coil for water-to-air heat pump (includes electric compressor), single-speed, parameter..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    compressor_type: Literal["Reciprocating", "Rotary", "Scroll"] | None
    """Parameters 1-4 are as named below. Parameters 5-9 depend on the type of compressor. Refer to the InputOutputReference..."""
    refrigerant_type: str | None
    """Default: R22"""
    design_source_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: > 0.0"""
    high_pressure_cutoff: float | None
    """[Pa]; Range: > 0.0"""
    low_pressure_cutoff: float | None
    """[Pa]; Range: >= 0.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    load_side_total_heat_transfer_coefficient: float | None
    """Previously called Parameter 1; [W/K]; Range: > 0.0"""
    superheat_temperature_at_the_evaporator_outlet: float | None
    """Previously called Parameter 2; [C]; Range: > 0.0"""
    compressor_power_losses: float | None
    """Accounts for the loss of work due to mechanical and electrical losses in the compressor. Previously called Parameter 3; [W]; Range: > 0.0"""
    compressor_efficiency: float | None
    """Previously called Parameter 4; Range: > 0.0"""
    compressor_piston_displacement: float | None
    """Use when Compressor Type is Reciprocating or Rotary Leave this field blank for Compressor Type is Scroll. Previously ...; [m3/s]; Range: > 0.0"""
    compressor_suction_discharge_pressure_drop: float | None
    """Used when Compressor Type is Rotary or Reciprocating Leave this field blank for Compressor Type is Scroll. Previously...; [Pa]; Range: > 0.0"""
    compressor_clearance_factor: float | None
    """Used when Compressor Type is Reciprocating. Leave this field blank for Compressor Type is Rotary or Scroll. Previousl...; [dimensionless]; Range: > 0.0"""
    refrigerant_volume_flow_rate: float | None
    """Use when Compressor Type is Scroll Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously ...; [m3/s]; Range: > 0.0"""
    volume_ratio: float | None
    """Use when Compressor Type is Scroll. Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously...; [dimensionless]; Range: > 0.0"""
    leak_rate_coefficient: float | None
    """Use when Compressor Type is Scroll. Leave this field blank for Compressor Type is Rotary or Reciprocating. Previously...; [dimensionless]; Range: >= 0.0"""
    source_side_heat_transfer_coefficient: float | None
    """Use when Source Side Fluid Name is Water Leave this field blank when Source Side Fluid is an antifreeze Previously pa...; [W/K]; Range: >= 0.0"""
    source_side_heat_transfer_resistance1: float | None
    """Use when Source Side Fluid Name is an antifreeze Leave this field blank for Source Side Fluid is Water Previously par...; [dimensionless]; Range: >= 0.0"""
    source_side_heat_transfer_resistance2: float | None
    """Use when Source Side Fluid Name is an antifreeze Leave this field blank for Source Side Fluid is Water Previously par...; [W/K]; Range: >= 0.0"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (heating l...; Since: 23.2.0"""

class CoilCoolingWaterToAirHeatPumpEquationFit(IDFObject):
    """Direct expansion (DX) cooling coil for water-to-air heat pump (includes electric compressor), single-speed, equation-..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    rated_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Total cooling capacity at rated conditions not accounting for the effect of supply air fan heat; [W]"""
    gross_rated_sensible_cooling_capacity: float | Literal["Autosize"] | None
    """[W]"""
    gross_rated_cooling_cop: float | None
    """Gross cooling COP at rated conditions; [W/W]; Range: > 0.0"""
    rated_entering_water_temperature: float | None
    """Rated entering water temperature corresponding to the water-to -air application for which this coil is used. For exam...; [C]; Default: 30.0; Range: > 0.0; Since: 22.2.0"""
    rated_entering_air_dry_bulb_temperature: float | None
    """Rated entering air dry-bulb temperature corresponding to the water-to-air application for which this coil is used. Fo...; [C]; Default: 27.0; Range: > 0.0; Since: 22.2.0"""
    rated_entering_air_wet_bulb_temperature: float | None
    """Rated entering air wet-bulb temperature corresponding to the water-to-air application for which this coil is used. Fo...; [C]; Default: 19.0; Range: > 0.0; Since: 22.2.0"""
    total_cooling_capacity_curve_name: str | None
    """Since: 9.5.0"""
    sensible_cooling_capacity_curve_name: str | None
    """Since: 9.5.0"""
    cooling_power_consumption_curve_name: str | None
    """Since: 9.5.0"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l...; Since: 23.2.0"""
    nominal_time_for_condensate_removal_to_begin: float | None
    """The nominal time for condensate to begin leaving the coil's condensate drain line at the coil's rated air flow and te...; [s]; Default: 0.0; Range: >= 0.0, <= 3000.0"""
    ratio_of_initial_moisture_evaporation_rate_and_steady_state_latent_capacity: float | None
    """Ratio of the initial moisture evaporation rate from the cooling coil (when the compressor first turns off) and the co...; [dimensionless]; Default: 0.0; Range: >= 0.0, <= 5.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0; Since: 23.2.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0; Since: 23.2.0"""
    fan_delay_time: float | None
    """Programmed time delay for heat pump fan to shut off after compressor cycle off. Only required when fan operating mode...; [s]; Default: 60.0; Range: >= 0.0; Since: 23.2.0"""

class CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit(IDFObject):
    """Direct expansion (DX) cooling coil for water-to-air heat pump (includes electric compressor), variable-speed, equatio..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    water_to_refrigerant_hx_water_inlet_node_name: str | None
    water_to_refrigerant_hx_water_outlet_node_name: str | None
    indoor_air_inlet_node_name: str | None
    indoor_air_outlet_node_name: str | None
    number_of_speeds: int | None
    """[dimensionless]; Default: 2; Range: >= 1, <= 10"""
    nominal_speed_level: int | None
    """must be lower than or equal to the highest speed number; [dimensionless]; Default: 2"""
    gross_rated_total_cooling_capacity_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Default: Autosize"""
    rated_air_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    rated_water_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    nominal_time_for_condensate_to_begin_leaving_the_coil: float | None
    """[s]; Default: 0.0; Range: >= 0.0"""
    initial_moisture_evaporation_rate_divided_by_steady_state_ac_latent_capacity: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0"""
    maximum_cycling_rate: float | None
    """The maximum on-off cycling Rate for the compressor, which occurs at 50% run time fraction. Suggested value is 3; zero...; [cycles/hr]; Default: 0.0; Range: >= 0.0, <= 5.0; Since: 23.2.0"""
    latent_capacity_time_constant: float | None
    """Time constant for the cooling coil's latent capacity to reach steady state after startup. Suggested value is 45; zero...; [s]; Default: 0.0; Range: >= 0.0, <= 500.0; Since: 23.2.0"""
    fan_delay_time: float | None
    """Programmed time delay for heat pump fan to shut off after compressor cycle off. Enter 0 when fan operating mode is co...; [s]; Default: 60.0; Range: >= 0.0; Since: 23.2.0"""
    flag_for_using_hot_gas_reheat_0_or_1: float | None
    """Flag for using hot gas reheat, 0 - not used, 1 - used; [dimensionless]; Default: 0.0; Range: >= 0.0"""
    energy_part_load_fraction_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (cooling l..."""
    speed_1_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_1_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_1_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_1_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_1_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_1_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_1_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_1_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_1_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_1_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_2_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_2_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_2_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_2_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_2_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_2_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_2_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_2_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_2_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water entering ..."""
    speed_3_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_3_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_3_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_3_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_3_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_3_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_3_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_3_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_3_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_3_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_3_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_4_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_4_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_4_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_4_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_4_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_4_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_4_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_4_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_4_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_4_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_4_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_5_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_5_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_5_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_5_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_5_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_5_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_5_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_5_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_5_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_5_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_5_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_5_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_6_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_6_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_6_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_6_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_6_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_6_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_6_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_6_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_6_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_6_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_6_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_6_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_6_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_7_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_7_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_7_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_7_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_7_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_7_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_7_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_7_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_7_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_7_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_7_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_7_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_7_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_8_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_8_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_8_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_8_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_8_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_8_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_8_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_8_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_8_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_8_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_8_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_8_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_8_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_9_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_9_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_9_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_9_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_9_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_9_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_9_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_9_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_9_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_9_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_9_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_9_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_9_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_10_reference_unit_gross_rated_total_cooling_capacity: float | None
    """Total cooling capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_10_reference_unit_gross_rated_sensible_heat_ratio: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    speed_10_reference_unit_gross_rated_cooling_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_10_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_10_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_10_total_cooling_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_10_total_cooling_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_10_total_cooling_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_10_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""
    speed_10_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_10_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_10_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_10_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb temperature (C) ewt = water ..."""

class CoilHeatingWaterToAirHeatPumpEquationFit(IDFObject):
    """Direct expansion (DX) heating coil for water-to-air heat pump (includes electric compressor), single-speed, equation-..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    rated_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    rated_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Heating capacity at rated conditions not accounting for the effect of supply air fan heat; [W]"""
    gross_rated_heating_cop: float | None
    """Gross heating COP at rated conditions; [W/W]; Range: > 0.0"""
    rated_entering_water_temperature: float | None
    """Rated entering water temperature corresponding to the water-to -air application for which this coil is used. For exam...; [C]; Default: 20.0; Since: 22.2.0"""
    rated_entering_air_dry_bulb_temperature: float | None
    """Rated entering air dry-bulb temperature corresponding to the water-to-air application for which this coil is used. Fo...; [C]; Default: 20.0; Range: > 0.0; Since: 22.2.0"""
    ratio_of_rated_heating_capacity_to_rated_cooling_capacity: float | None
    """Ratio of rated heating capacity to rated cooling capacity. This input is used to calculate the heating or cooling cap...; Default: 1.0; Range: > 0.0; Since: 22.2.0"""
    heating_capacity_curve_name: str | None
    """Since: 9.5.0"""
    heating_power_consumption_curve_name: str | None
    """Since: 9.5.0"""
    part_load_fraction_correlation_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (heat load...; Since: 23.2.0"""

class CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit(IDFObject):
    """Direct expansion (DX) heating coil for water-to-air heat pump (includes electric compressor), variable-speed, equatio..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    water_to_refrigerant_hx_water_inlet_node_name: str | None
    water_to_refrigerant_hx_water_outlet_node_name: str | None
    indoor_air_inlet_node_name: str | None
    indoor_air_outlet_node_name: str | None
    number_of_speeds: int | None
    """[dimensionless]; Default: 2; Range: >= 1, <= 10"""
    nominal_speed_level: int | None
    """must be lower than or equal to the highest speed number; [dimensionless]; Default: 2"""
    rated_heating_capacity_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_air_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    rated_water_flow_rate_at_selected_nominal_speed_level: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    energy_part_load_fraction_curve_name: str | None
    """quadratic curve = a + b*PLR + c*PLR**2 cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = part load ratio (heating l..."""
    speed_1_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_1_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_1_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0; Since: 25.2.0"""
    speed_1_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_1_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_1_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_1_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_1_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_1_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_1_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_2_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_2_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_2_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_2_heating_capacity_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_2_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_2_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the full load ..."""
    speed_2_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_2_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_2_waste_heat_function_of_temperature_curve_name: str | None
    """curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = water enter..."""
    speed_3_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_3_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_3_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_3_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_3_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_3_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_3_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_3_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_3_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_3_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_3_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_4_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_4_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_4_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_4_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_4_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_4_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_4_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_4_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_4_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_4_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_4_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_5_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_5_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_5_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_5_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_5_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_5_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_5_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_5_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_5_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_5_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_5_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_6_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_6_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_6_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_6_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_6_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_6_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_6_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_6_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_6_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_6_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_6_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_6_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_7_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_7_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_7_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_7_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_7_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_7_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_7_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_7_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_7_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_7_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_7_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_7_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_8_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_8_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_8_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_8_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_8_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_8_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_8_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_8_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_8_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_8_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_8_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_8_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_9_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_9_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_9_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_9_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_9_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_9_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_9_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_9_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_9_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_9_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_9_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_9_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_10_reference_unit_gross_rated_heating_capacity: float | None
    """Heating capacity not accounting for the effect of supply air fan heat; [W]; Range: >= 0.0"""
    speed_10_reference_unit_gross_rated_heating_cop: float | None
    """[W/W]; Range: > 0.0"""
    speed_10_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_10_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_10_heating_capacity_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_10_total_heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_10_heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_10_energy_input_ratio_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""
    speed_10_energy_input_ratio_function_of_air_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 ffa = Fraction of the f..."""
    speed_10_energy_input_ratio_function_of_water_flow_fraction_curve_name: str | None
    """optional quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 ffw = Fraction of the f..."""
    speed_10_reference_unit_waste_heat_fraction_of_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_10_waste_heat_function_of_temperature_curve_name: str | None
    """optional curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt db = entering air dry-bulb temperature (C) ewt = wa..."""

class CoilWaterHeatingAirToWaterHeatPumpPumped(IDFObject):
    """Heat pump water heater (HPWH) heating coil, air-to-water direct-expansion (DX) system which includes a water heating ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    rated_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0"""
    rated_cop: float | None
    """Heating coefficient of performance at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; [W/W]; Default: 3.2; Range: > 0.0"""
    rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0"""
    rated_evaporator_inlet_air_dry_bulb_temperature: float | None
    """Evaporator inlet air dry-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 19.7; Range: > 5.0"""
    rated_evaporator_inlet_air_wet_bulb_temperature: float | None
    """Evaporator inlet air wet-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 13.5; Range: > 5.0"""
    rated_condenser_inlet_water_temperature: float | None
    """Condenser inlet water temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 57.5; Range: > 25.0"""
    rated_evaporator_air_flow_rate: float | Literal["Autocalculate"] | None
    """Evaporator air flow rate corresponding to rated coil performance (heating capacity, COP and SHR). Default is 5.035E-5...; [m3/s]"""
    rated_condenser_water_flow_rate: float | Literal["Autocalculate"] | None
    """Condenser water flow rate corresponding to rated coil performance (heating capacity, COP and SHR). Default is 4.487E-...; [m3/s] (gal/min)"""
    evaporator_fan_power_included_in_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the evaporator fan power is included in the rated COP. This choice field impacts the calculation of com...; Default: Yes"""
    condenser_pump_power_included_in_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the condenser pump power is included in the rated COP. This choice field impacts the calculation of com...; Default: No"""
    condenser_pump_heat_included_in_rated_heating_capacity_and_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the condenser pump heat is included in the rated heating capacity and rated COP. This choice field impa...; Default: No"""
    condenser_water_pump_power: float | None
    """A warning message will be issued if the ratio of Condenser Water Pump Power to Rated Heating Capacity exceeds 0.1422 ...; [W]; Default: 0.0; Range: >= 0.0"""
    fraction_of_condenser_pump_heat_to_water: float | None
    """Fraction of pump heat transferred to the condenser water. The pump is assumed to be located downstream of the condenser.; Default: 0.2; Range: >= 0.0, <= 1.0"""
    evaporator_air_inlet_node_name: str | None
    """The node from which the DX coil draws its inlet air."""
    evaporator_air_outlet_node_name: str | None
    """The node to which the DX coil sends its outlet air."""
    condenser_water_inlet_node_name: str | None
    """The node from which the DX coil condenser draws its inlet water. This name should match the source side outlet node n..."""
    condenser_water_outlet_node_name: str | None
    """The node to which the DX coil condenser sends its outlet water. This name should match the source side inlet node nam..."""
    crankcase_heater_capacity: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [W]; Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_ambient_temperature_for_crankcase_heater_operation: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [C]; Default: 10.0; Range: >= 0.0"""
    evaporator_air_temperature_type_for_curve_objects: Literal["", "DryBulbTemperature", "WetBulbTemperature"] | None
    """Determines temperature type for heating capacity curves and heating COP curves. This input determines whether the inl...; Default: WetBulbTemperature"""
    heating_capacity_function_of_temperature_curve_name: str | None
    """Heating capacity modifier curve (function of temperature) should be biquadratic or cubic. Biquadratic curve = a + b(t..."""
    heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Heating capacity modifier curve (function of air flow fraction) should be quadratic or cubic. Quadratic curve = a + b..."""
    heating_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Heating capacity modifier curve (function of water flow fraction) should be quadratic or cubic. Quadratic curve = a +..."""
    heating_cop_function_of_temperature_curve_name: str | None
    """Heating COP modifier curve (function of temperature) should be biquadratic or cubic. Biquadratic curve = a + b(ta) + ..."""
    heating_cop_function_of_air_flow_fraction_curve_name: str | None
    """Heating COP modifier curve (function of air flow fraction) should be quadratic or cubic. Quadratic curve = a + b(ff) ..."""
    heating_cop_function_of_water_flow_fraction_curve_name: str | None
    """Heating COP modifier curve (function of water flow fraction) should be quadratic or cubic. Quadratic curve = a + b(ff..."""
    part_load_fraction_correlation_curve_name: str | None
    """Part Load Fraction Correlation (function of part load ratio) should be quadratic or cubic. Quadratic curve = a + b(PL..."""

class CoilWaterHeatingAirToWaterHeatPumpWrapped(IDFObject):
    """Heat pump water heater (HPWH) heating coil, air-to-water direct-expansion (DX) system which includes a water heating ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    rated_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0"""
    rated_cop: float | None
    """Heating coefficient of performance at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; [W/W]; Default: 3.2; Range: > 0.0"""
    rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0"""
    rated_evaporator_inlet_air_dry_bulb_temperature: float | None
    """Evaporator inlet air dry-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 19.7; Range: > 5.0"""
    rated_evaporator_inlet_air_wet_bulb_temperature: float | None
    """Evaporator inlet air wet-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 13.5; Range: > 5.0"""
    rated_condenser_water_temperature: float | None
    """Condenser inlet water temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 57.5; Range: > 25.0"""
    rated_evaporator_air_flow_rate: float | Literal["Autocalculate"] | None
    """Evaporator air flow rate corresponding to rated coil performance (heating capacity, COP and SHR). Default is 5.035E-5...; [m3/s]"""
    evaporator_fan_power_included_in_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the evaporator fan power is included in the rated COP. This choice field impacts the calculation of com...; Default: Yes"""
    evaporator_air_inlet_node_name: str | None
    """The node from which the DX coil draws its inlet air."""
    evaporator_air_outlet_node_name: str | None
    """The node to which the DX coil sends its outlet air."""
    crankcase_heater_capacity: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [W]; Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_ambient_temperature_for_crankcase_heater_operation: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [C]; Default: 10.0; Range: >= 0.0"""
    evaporator_air_temperature_type_for_curve_objects: Literal["", "DryBulbTemperature", "WetBulbTemperature"] | None
    """Determines temperature type for heating capacity curves and heating COP curves. This input determines whether the inl...; Default: WetBulbTemperature"""
    heating_capacity_function_of_temperature_curve_name: str | None
    """Heating capacity modifier curve (function of temperature) should be biquadratic or cubic. Biquadratic curve = a + b(t..."""
    heating_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Heating capacity modifier curve (function of air flow fraction) should be quadratic or cubic. Quadratic curve = a + b..."""
    heating_cop_function_of_temperature_curve_name: str | None
    """Heating COP modifier curve (function of temperature) should be biquadratic or cubic. Biquadratic curve = a + b(ta) + ..."""
    heating_cop_function_of_air_flow_fraction_curve_name: str | None
    """Heating COP modifier curve (function of air flow fraction) should be quadratic or cubic. Quadratic curve = a + b(ff) ..."""
    part_load_fraction_correlation_curve_name: str | None
    """Part Load Fraction Correlation (function of part load ratio) should be quadratic or cubic. Quadratic curve = a + b(PL..."""

class CoilWaterHeatingAirToWaterHeatPumpVariableSpeed(IDFObject):
    """variable-speed Heat pump water heater (VSHPWH) heating coil, air-to-water direct-expansion (DX) system which includes..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,...; Since: 25.2.0"""
    number_of_speeds: int | None
    """[dimensionless]; Default: 1; Range: >= 1, <= 10"""
    nominal_speed_level: int | None
    """must be lower than or equal to the highest speed number; [dimensionless]; Default: 1"""
    rated_water_heating_capacity: float | None
    """Water Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow r...; [W]; Range: > 0.0"""
    rated_evaporator_inlet_air_dry_bulb_temperature: float | None
    """Evaporator inlet air dry-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 19.7; Range: > 5.0"""
    rated_evaporator_inlet_air_wet_bulb_temperature: float | None
    """Evaporator inlet air wet-bulb temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 13.5; Range: > 5.0"""
    rated_condenser_inlet_water_temperature: float | None
    """Condenser inlet water temperature corresponding to rated coil performance (heating capacity, COP and SHR).; [C]; Default: 57.5; Range: > 25.0"""
    rated_evaporator_air_flow_rate: float | Literal["Autocalculate"] | None
    """Evaporator air flow rate corresponding to rated coil performance (heating capacity, COP and SHR). Default is 5.035E-5...; [m3/s]"""
    rated_condenser_water_flow_rate: float | Literal["Autocalculate"] | None
    """Condenser water flow rate corresponding to rated coil performance (heating capacity, COP and SHR). Default is 4.487E-...; [m3/s] (gal/min)"""
    evaporator_fan_power_included_in_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the evaporator fan power is included in the rated COP. This choice field impacts the calculation of com...; Default: Yes"""
    condenser_pump_power_included_in_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the condenser pump power is included in the rated COP. This choice field impacts the calculation of com...; Default: No"""
    condenser_pump_heat_included_in_rated_heating_capacity_and_rated_cop: Literal["", "No", "Yes"] | None
    """Select Yes if the condenser pump heat is included in the rated heating capacity and rated COP. This choice field impa...; Default: No"""
    fraction_of_condenser_pump_heat_to_water: float | None
    """Fraction of pump heat transferred to the condenser water. The pump is assumed to be located downstream of the condenser.; Default: 0.2; Range: >= 0.0, <= 1.0"""
    evaporator_air_inlet_node_name: str | None
    """The node from which the DX coil draws its inlet air."""
    evaporator_air_outlet_node_name: str | None
    """The node to which the DX coil sends its outlet air."""
    condenser_water_inlet_node_name: str | None
    """The node from which the DX coil condenser draws its inlet water. This name should match the source side outlet node n..."""
    condenser_water_outlet_node_name: str | None
    """The node to which the DX coil condenser sends its outlet water. This name should match the source side inlet node nam..."""
    crankcase_heater_capacity: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [W]; Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ...; Since: 23.2.0"""
    maximum_ambient_temperature_for_crankcase_heater_operation: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [C]; Default: 10.0; Range: >= 0.0"""
    evaporator_air_temperature_type_for_curve_objects: Literal["", "DryBulbTemperature", "WetBulbTemperature"] | None
    """Determines temperature type for heating capacity curves and heating COP curves. This input determines whether the inl...; Default: WetBulbTemperature"""
    part_load_fraction_correlation_curve_name: str | None
    """Table:Lookup object can also be used Part Load Fraction Correlation (function of part load ratio) should be quadratic..."""
    speed_1_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_1_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_1_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_1_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_1_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_1_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[W]; Range: >= 0.0"""
    speed_1_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_1_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_1_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_1_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_1_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_1_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_2_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_2_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_2_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_2_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_2_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_2_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_2_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_2_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_2_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_2_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_2_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_2_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_3_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_3_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_3_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_3_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_3_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_3_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_3_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_3_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_3_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_3_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_3_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_3_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_4_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_4_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_4_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_4_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_4_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_4_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_4_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_4_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_4_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_4_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_4_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_4_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_5_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_5_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_5_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_5_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_5_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_5_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_5_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_5_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_5_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_5_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_5_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_5_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_6_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_6_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_6_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_6_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_6_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_6_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_6_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_6_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_6_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_6_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_6_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_6_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_7_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_7_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_7_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_7_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_7_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_7_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_7_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_7_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_7_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_7_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_7_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_7_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_8_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_8_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_8_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_8_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_8_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_8_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_8_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_8_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_8_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_8_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_8_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_8_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_9_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_9_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_9_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_9_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_9_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_9_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_9_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_9_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_9_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_9_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_9_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_9_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_10_rated_water_heating_capacity: float | None
    """Heating capacity at the rated inlet air temperatures, rated condenser inlet water temperature, rated air flow rate, a...; [W]; Range: > 0.0; Since: 25.2.0"""
    speed_10_rated_water_heating_cop: float | None
    """Heating coefficient of performance at the rated inlet air and water temperatures, rated condenser inlet water tempera...; [W/W]; Default: 3.2; Range: > 0.0; Since: 25.2.0"""
    speed_10_rated_sensible_heat_ratio: float | None
    """Gross air-side sensible heat ratio at the rated inlet air temperatures, rated condenser inlet water temperature, rate...; Default: 0.85; Range: >= 0.5, <= 1.0; Since: 25.2.0"""
    speed_10_reference_unit_rated_air_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    speed_10_reference_unit_rated_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    speed_10_reference_unit_water_pump_input_power_at_rated_conditions: float | None
    """[dimensionless]; Range: >= 0.0"""
    speed_10_total_wh_capacity_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_10_total_wh_capacity_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_10_total_wh_capacity_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""
    speed_10_cop_function_of_temperature_curve_name: str | None
    """Table:Lookup object can also be used curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt wb = entering wet-bulb ..."""
    speed_10_cop_function_of_air_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffa + c*ffa**2 cubic curve = a + b*ffa + c*ffa**2 + d*ff..."""
    speed_10_cop_function_of_water_flow_fraction_curve_name: str | None
    """Table:Lookup object can also be used quadratic curve = a + b*ffw + c*ffw**2 cubic curve = a + b*ffw + c*ffw**2 + d*ff..."""

class CoilWaterHeatingDesuperheater(IDFObject):
    """Desuperheater air heating coil. The heating energy provided by this coil is reclaimed from the superheated refrigeran..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    setpoint_temperature_schedule_name: str | None
    """Defines the cut-out temperature where the desuperheater water heating coil turns off. The desuperheater heating coil ..."""
    dead_band_temperature_difference: float | None
    """Setpoint temperature minus the dead band temperature difference defines the cut-in temperature where the desuperheate...; [deltaC]; Default: 5.0; Range: > 0.0, <= 20.0"""
    rated_heat_reclaim_recovery_efficiency: float | None
    """Enter the fraction of waste heat reclaimed by the desuperheater water heating coil.; Range: > 0.0"""
    rated_inlet_water_temperature: float | None
    """The inlet water temperature corresponding to the rated heat reclaim recovery efficiency.; [C]"""
    rated_outdoor_air_temperature: float | None
    """The outdoor air dry-bulb temperature corresponding to the rated heat reclaim recovery efficiency.; [C]"""
    maximum_inlet_water_temperature_for_heat_reclaim: float | None
    """The desuperheater water heating coil is off when the inlet water temperature is above the maximum inlet water tempera...; [C]"""
    heat_reclaim_efficiency_function_of_temperature_curve_name: str | None
    """A biquadratic curve defining the performance of the desuperheater heating coil. Performance can be specified as a fun..."""
    water_inlet_node_name: str | None
    """The node from which the desuperheater heating coil draws its inlet water. This name should match the source side outl..."""
    water_outlet_node_name: str | None
    """The node to which the desuperheater heating coil sends its outlet water. This name should match the source side inlet..."""
    tank_object_type: Literal["", "WaterHeater:Mixed", "WaterHeater:Stratified"] | None
    """Specify the type of water heater tank used by this desuperheater water heating coil.; Default: WaterHeater:Mixed"""
    tank_name: str | None
    """The name of the water heater tank used by this desuperheater water heating coil. Needs to match the name used in the ..."""
    heating_source_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:MultiSpeed",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:TwoSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "Coil:Cooling:WaterToAirHeatPump:EquationFit",
            "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit",
            "Refrigeration:CompressorRack",
            "Refrigeration:Condenser:AirCooled",
            "Refrigeration:Condenser:EvaporativeCooled",
            "Refrigeration:Condenser:WaterCooled",
        ]
        | None
    )
    """The type of DX system that is providing waste heat for reclaim."""
    heating_source_name: str | None
    """The name of the DX system used for heat reclaim."""
    water_flow_rate: float | None
    """The operating water flow rate.; [m3/s] (gal/min); Range: > 0.0"""
    water_pump_power: float | None
    """The water circulation pump electric power.; [W] (W); Default: 0.0; Range: >= 0.0"""
    fraction_of_pump_heat_to_water: float | None
    """The fraction of pump heat transferred to the water. The pump is assumed to be downstream of the desuperheater water h...; Default: 0.2; Range: >= 0.0, <= 1.0"""
    on_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the desuperheater water heating coil operates. Parasitic electric load does no...; [W] (W); Default: 0.0; Range: >= 0.0"""
    off_cycle_parasitic_electric_load: float | None
    """Parasitic electric load consumed when the desuperheater water heating coil is off. Parasitic electric load does not c...; [W] (W); Default: 0.0; Range: >= 0.0"""

class CoilSystemCoolingDX(IDFObject):
    """Virtual container component that consists of a DX cooling coil and its associated controls. This control object suppo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    dx_cooling_coil_system_inlet_node_name: str | None
    dx_cooling_coil_system_outlet_node_name: str | None
    dx_cooling_coil_system_sensor_node_name: str | None
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:SingleSpeed:ThermalStorage",
            "Coil:Cooling:DX:TwoSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    cooling_coil_name: str | None
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only Multimode = activate enhanced dehumidification mode as needed and meet sensible load. ...; Default: None"""
    run_on_sensible_load: Literal["", "No", "Yes"] | None
    """If Yes, unit will run if there is a sensible load. If No, unit will not run if there is only a sensible load. Dehumid...; Default: Yes"""
    run_on_latent_load: Literal["", "No", "Yes"] | None
    """If Yes, unit will run if there is a latent load. even if there is no sensible load. If No, unit will not run only if ...; Default: No"""
    use_outdoor_air_dx_cooling_coil: Literal["", "No", "Yes"] | None
    """This input field is designed for use with DX cooling coils with low air flow to capacity ratio range (100 - 300 cfm/t...; Default: No"""
    outdoor_air_dx_cooling_coil_leaving_minimum_air_temperature: float | None
    """DX cooling coil leaving minimum air temperature defines the minimum DX cooling coil leaving air temperature that shou...; [C]; Default: 2.0; Range: >= 0.0, <= 7.2"""

class CoilSystemHeatingDX(IDFObject):
    """Virtual container component that consists of a DX heating coil (heat pump) and its associated controls. This control ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    heating_coil_object_type: Literal["Coil:Heating:DX:SingleSpeed", "Coil:Heating:DX:VariableSpeed"] | None
    heating_coil_name: str | None

class CoilSystemCoolingWaterHeatExchangerAssisted(IDFObject):
    """Virtual component consisting of a chilled-water cooling coil and an air-to-air heat exchanger. The air-to-air heat ex..."""

    heat_exchanger_object_type: (
        Literal["HeatExchanger:AirToAir:FlatPlate", "HeatExchanger:AirToAir:SensibleAndLatent"] | None
    )
    heat_exchanger_name: str | None
    cooling_coil_object_type: Literal["Coil:Cooling:Water", "Coil:Cooling:Water:DetailedGeometry"] | None
    cooling_coil_name: str | None

class CoilSystemCoolingDXHeatExchangerAssisted(IDFObject):
    """Virtual component consisting of a direct expansion (DX) cooling coil and an air-to-air heat exchanger. The air-to-air..."""

    heat_exchanger_object_type: (
        Literal[
            "HeatExchanger:AirToAir:FlatPlate",
            "HeatExchanger:AirToAir:SensibleAndLatent",
            "HeatExchanger:Desiccant:BalancedFlow",
        ]
        | None
    )
    heat_exchanger_name: str | None
    cooling_coil_object_type: (
        Literal["Coil:Cooling:DX", "Coil:Cooling:DX:SingleSpeed", "Coil:Cooling:DX:VariableSpeed"] | None
    )
    cooling_coil_name: str | None

class CoilSystemIntegratedHeatPumpAirSource(IDFObject):
    """This object is used for air-source integrated heat pump, a collection of its working modes."""

    supply_hot_water_flow_sensor_node_name: str | None
    space_cooling_coil_name: str | None
    """Must match the name used in the corresponding Coil:Cooling:DX:VariableSpeed object."""
    space_heating_coil_name: str | None
    """Must match the name used in the corresponding Coil:Heating:DX:VariableSpeed object."""
    dedicated_water_heating_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed object."""
    scwh_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed object."""
    scdwh_cooling_coil_name: str | None
    """Must match the name used in the corresponding Coil:Cooling:DX:VariableSpeed object."""
    scdwh_water_heating_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed object."""
    shdwh_heating_coil_name: str | None
    """Must match the name used in the corresponding Coil:Heating:DX:VariableSpeed object."""
    shdwh_water_heating_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed object."""
    indoor_temperature_limit_for_scwh_mode: float | None
    """Indoor Temperature above which Indoor Overcooling is Allowed during Cooling Operation; [C]; Default: 20.0; Range: > 15.0"""
    ambient_temperature_limit_for_scwh_mode: float | None
    """Ambient Temperature above which Indoor Overcooling is Allowed during Cooling Operation; [C]; Default: 27.0; Range: > 20.0"""
    indoor_temperature_above_which_wh_has_higher_priority: float | None
    """Indoor Temperature above which Water Heating has the higher priority and Space Heating Call Can be ignored.; [C]; Default: 20.0; Range: > 15.0"""
    ambient_temperature_above_which_wh_has_higher_priority: float | None
    """Ambient Temperature above which Water Heating has the higher priority and Space Heating Call Can be ignored.; [C]; Default: 20.0; Range: > 15.0"""
    flag_to_indicate_load_control_in_scwh_mode: int | None
    """0: match space cooling load in SCWH mode, 1: match water heating load in SCWH mode; [dimensionless]; Default: 0"""
    minimum_speed_level_for_scwh_mode: int | None
    """[dimensionless]; Default: 1; Range: > 0, < 10"""
    maximum_water_flow_volume_before_switching_from_scdwh_to_scwh_mode: float | None
    """[m3]; Default: 0.0"""
    minimum_speed_level_for_scdwh_mode: int | None
    """[dimensionless]; Default: 1; Range: > 0, < 10"""
    maximum_running_time_before_allowing_electric_resistance_heat_use_during_shdwh_mode: float | None
    """[s]; Default: 360.0; Range: > 0.0"""
    minimum_speed_level_for_shdwh_mode: int | None
    """[dimensionless]; Default: 1; Range: > 0, < 10"""

class CoilCoolingDXSingleSpeedThermalStorage(IDFObject):
    """Direct expansion (DX) cooling coil and condensing unit (includes electric compressor and condenser fan), single-speed..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    operating_mode_control_method: Literal["EMSControlled", "ScheduledModes"] | None
    operation_mode_control_schedule_name: str | None
    """This field is used if the control method is set to ScheduledModes Schedule values control operating mode: 0=off, 1=co..."""
    storage_type: Literal["Ice", "UserDefinedFluidType", "Water"] | None
    user_defined_fluid_type: str | None
    """This field is required when Storage Type is UserDefinedFluidType"""
    fluid_storage_volume: float | Literal["Autocalculate"] | None
    """required field if Storage Type is Water or UserDefinedFluidType; [m3] (gal)"""
    ice_storage_capacity: float | Literal["Autocalculate"] | None
    """required field if Storage Type is Ice; [GJ]"""
    storage_capacity_sizing_factor: float | None
    """If one of the previous two fields is set to autocalculate, this determines the storage capacity as a function of Cool...; [hr]"""
    storage_tank_ambient_temperature_node_name: str | None
    storage_tank_to_ambient_u_value_times_area_heat_transfer_coefficient: float | None
    """[W/K]; Range: > 0.0"""
    fluid_storage_tank_rating_temperature: float | None
    """required field if Storage Type is Water or UserDefinedFluidType; [C]"""
    rated_evaporator_air_flow_rate: float | Literal["Autosize"] | None
    """Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP; [m3/s]"""
    evaporator_air_inlet_node_name: str | None
    evaporator_air_outlet_node_name: str | None
    cooling_only_mode_available: Literal["No", "Yes"] | None
    cooling_only_mode_rated_total_evaporator_cooling_capacity: float | Literal["Autosize"] | None
    """required field if Cooling Only Mode is available or if autocalculating sizes gross capacity excluding supply air fan ...; [W]"""
    cooling_only_mode_rated_sensible_heat_ratio: float | None
    """required field if Cooling Only Mode is available Rated sensible heat ratio (gross sensible capacity/gross total capac...; Default: 0.7; Range: >= 0.0, <= 1.0"""
    cooling_only_mode_rated_cop: float | None
    """Gross cooling capacity divided by power input to the compressor and outdoor fan, does not include supply fan heat or ...; [W/W]; Default: 3.0; Range: > 0.0"""
    cooling_only_mode_total_evaporator_cooling_capacity_function_of_temperature_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with two independent variables can be used biquad..."""
    cooling_only_mode_total_evaporator_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with one independent variable can be used quadrat..."""
    cooling_only_mode_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with two independent variables can be used curve ..."""
    cooling_only_mode_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with one independent variable can be used quadrat..."""
    cooling_only_mode_part_load_fraction_correlation_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with one independent variable can be used quadrat..."""
    cooling_only_mode_sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with two independent variables can be used curve ..."""
    cooling_only_mode_sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling Only Mode is available Any curve or table with one independent variable can be used quadrat..."""
    cooling_and_charge_mode_available: Literal["No", "Yes"] | None
    cooling_and_charge_mode_rated_total_evaporator_cooling_capacity: float | Literal["Autocalculate"] | None
    """required field if Cooling And Charge Mode is available gross capacity excluding supply air fan heat rating point: air...; [W]"""
    cooling_and_charge_mode_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the evaporator capacity as a multiplier on the Cooling Only Mode ...; Default: 0.5"""
    cooling_and_charge_mode_rated_storage_charging_capacity: float | Literal["Autocalculate"] | None
    """required field if Cooling And Charge Mode is available net capacity including any internal devices rating point: air ...; [W]"""
    cooling_and_charge_mode_storage_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the storage cooling capacity as a multiplier on the Cooling Only ...; Default: 0.5"""
    cooling_and_charge_mode_rated_sensible_heat_ratio: float | None
    """required field if Cooling And Charge Mode is available Rated sensible heat ratio (gross sensible evaporator capacity/...; Default: 0.7; Range: >= 0.0, <= 1.0"""
    cooling_and_charge_mode_cooling_rated_cop: float | None
    """Gross evaporator cooling capacity divided by power input to the compressor (for cooling) and outdoor fan, does not in...; [W/W]; Default: 3.0; Range: >= 0.0"""
    cooling_and_charge_mode_charging_rated_cop: float | None
    """net cooling capacity divided by power input to the compressor (for charging) and outdoor fan, includes any internal d...; [W/W]; Default: 3.0; Range: > 0.0"""
    cooling_and_charge_mode_total_evaporator_cooling_capacity_function_of_temperature_curve_name: str | None
    """required field if Cooling And Charge Mode is available Allowed curve or table objects are Curve:Triquadratic and Tabl..."""
    cooling_and_charge_mode_total_evaporator_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_evaporator_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Charge Mode is available Allowed curve or table objects are Curve:Triquadratic and Tabl..."""
    cooling_and_charge_mode_evaporator_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_evaporator_part_load_fraction_correlation_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_storage_charge_capacity_function_of_temperature_curve_name: str | None
    """required field if Cooling And Charge Mode is available Allowed curve or table objects are Curve:Triquadratic and Tabl..."""
    cooling_and_charge_mode_storage_charge_capacity_function_of_total_evaporator_plr_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_storage_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Charge Mode is available Allowed curve or table objects are Curve:Triquadratic and Tabl..."""
    cooling_and_charge_mode_storage_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_storage_energy_part_load_fraction_correlation_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_charge_mode_sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Charge Mode is available Curves or tables with either two or three independent variable..."""
    cooling_and_charge_mode_sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Charge Mode is available Any curve or table with one independent variable can be used q..."""
    cooling_and_discharge_mode_available: Literal["No", "Yes"] | None
    cooling_and_discharge_mode_rated_total_evaporator_cooling_capacity: float | Literal["Autocalculate"] | None
    """required field if Cooling And Discharge Mode is available gross capacity excluding supply air fan heat rating point: ...; [W]"""
    cooling_and_discharge_mode_evaporator_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the charging capacity as a multiplier on the Cooling Only Mode Ra...; Default: 1.0"""
    cooling_and_discharge_mode_rated_storage_discharging_capacity: float | Literal["Autocalculate"] | None
    """required field if Cooling And Discharge Mode is available net capacity including any internal devices rating point: a...; [W]"""
    cooling_and_discharge_mode_storage_discharge_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the charging capacity as a multiplier on the Cooling Only Mode Ra...; Default: 1.0"""
    cooling_and_discharge_mode_rated_sensible_heat_ratio: float | None
    """required field if Cooling And Discharge Mode is available Rated sensible heat ratio (gross sensible evaporator capaci...; Default: 0.7; Range: >= 0.0, <= 1.0"""
    cooling_and_discharge_mode_cooling_rated_cop: float | None
    """Gross evaporator cooling capacity divided by power input to the compressor (for cooling) and outdoor fan, does not in...; [W/W]; Default: 3.0; Range: >= 0.0"""
    cooling_and_discharge_mode_discharging_rated_cop: float | None
    """gross cooling capacity divided by power input to the compressor (for discharging), includes any internal devices for ...; [W/W]; Default: 3.0; Range: > 0.0"""
    cooling_and_discharge_mode_total_evaporator_cooling_capacity_function_of_temperature_curve_name: str | None
    """required field if Cooling Only Mode is available Allowed curve or table objects are Curve:Triquadratic and Table:Look..."""
    cooling_and_discharge_mode_total_evaporator_cooling_capacity_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_evaporator_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Allowed curve or table objects are Curve:Triquadratic and T..."""
    cooling_and_discharge_mode_evaporator_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_evaporator_part_load_fraction_correlation_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_storage_discharge_capacity_function_of_temperature_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Allowed curve or table objects are Curve:Triquadratic and T..."""
    cooling_and_discharge_mode_storage_discharge_capacity_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_storage_discharge_capacity_function_of_total_evaporator_plr_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_storage_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Allowed curve or table objects are Curve:Triquadratic and T..."""
    cooling_and_discharge_mode_storage_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_storage_energy_part_load_fraction_correlation_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    cooling_and_discharge_mode_sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Curves or tables with either two or three independent varia..."""
    cooling_and_discharge_mode_sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Cooling And Discharge Mode is available Any curve or table with one independent variable can be use..."""
    charge_only_mode_available: Literal["No", "Yes"] | None
    charge_only_mode_rated_storage_charging_capacity: float | Literal["Autocalculate"] | None
    """required field if Charge Only Mode is available net capacity including any internal devices air entering the outdoor ...; [W]"""
    charge_only_mode_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the charging capacity as a multiplier on the Cooling Only Mode Ra...; Default: 1.0"""
    charge_only_mode_charging_rated_cop: float | None
    """net cooling capacity divided by power input to the compressor (for charging) and outdoor fan, includes any internal d...; [W/W]; Default: 3.0; Range: > 0.0"""
    charge_only_mode_storage_charge_capacity_function_of_temperature_curve_name: str | None
    """required field if Charge Only Mode is available Any curve or table with two independent variables can be used curve =..."""
    charge_only_mode_storage_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Charge Only Mode is available Any curve or table with two independent variables can be used curve =..."""
    discharge_only_mode_available: Literal["No", "Yes"] | None
    discharge_only_mode_rated_storage_discharging_capacity: float | Literal["Autocalculate"] | None
    """required field if Discharge Only Mode is available net capacity including any internal devices rating point: air ente...; [W]"""
    discharge_only_mode_capacity_sizing_factor: float | None
    """If previous field is autocalculate, this determines the discharging capacity as a multiplier on the Cooling Only Mode...; Default: 1.0"""
    discharge_only_mode_rated_sensible_heat_ratio: float | None
    """required field if Discharge Only Mode is available Rated sensible heat ratio (gross sensible evaporator capacity/gros...; Range: >= 0.0, <= 1.0"""
    discharge_only_mode_rated_cop: float | None
    """required field if Discharge Only Mode is available gross cooling capacity divided by power input to the compressor (f...; [W/W]; Default: 3.0; Range: > 0.0"""
    discharge_only_mode_storage_discharge_capacity_function_of_temperature_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with two independent variables can be used curv..."""
    discharge_only_mode_storage_discharge_capacity_function_of_flow_fraction_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with one independent variable can be used quadr..."""
    discharge_only_mode_energy_input_ratio_function_of_temperature_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with two independent variables can be used curv..."""
    discharge_only_mode_energy_input_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with one independent variable can be used quadr..."""
    discharge_only_mode_part_load_fraction_correlation_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with one independent variable can be used quadr..."""
    discharge_only_mode_sensible_heat_ratio_function_of_temperature_curve_name: str | None
    """required field if Discharge Only Mode is available Curves or tables with either two or three independent variables ca..."""
    discharge_only_mode_sensible_heat_ratio_function_of_flow_fraction_curve_name: str | None
    """required field if Discharge Only Mode is available Any curve or table with one independent variable can be used quadr..."""
    ancillary_electric_power: float | None
    """controls and miscellaneous standby ancillary electric power draw, when available; [W]; Range: >= 0.0"""
    cold_weather_operation_minimum_outdoor_air_temperature: float | None
    """[C]"""
    cold_weather_operation_ancillary_power: float | None
    """[W]; Range: >= 0.0"""
    condenser_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node. This node name is also specified in an OutdoorAir:Node or OutdoorAir:NodeList ..."""
    condenser_air_outlet_node_name: str | None
    condenser_design_air_flow_rate: float | Literal["Autocalculate"] | None
    """Used to calculate condenser leaving conditions and water use if evaporatively cooled.; [m3/s]"""
    condenser_air_flow_sizing_factor: float | None
    """If previous field is autocalculate, this determines the condenser air flow size as a multiplier on the Rated Evaporat...; Default: 1.0"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled"] | None
    """Default: AirCooled"""
    evaporative_condenser_effectiveness: float | None
    """required field if condenser type is evaporatively cooled; [dimensionless]; Default: 0.7; Range: > 0.0, <= 1.0"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump; [W]; Default: 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_availability_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    supply_water_storage_tank_name: str | None
    condensate_collection_water_storage_tank_name: str | None
    storage_tank_plant_connection_inlet_node_name: str | None
    storage_tank_plant_connection_outlet_node_name: str | None
    storage_tank_plant_connection_design_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    storage_tank_plant_connection_heat_transfer_effectiveness: float | None
    """Default: 0.7; Range: >= 0.0, <= 1.0"""
    storage_tank_minimum_operating_limit_fluid_temperature: float | None
    """For fluid storage tanks only, minimum limit for storage tank If omitted,then the minimum temperature limit is that us...; [C]"""
    storage_tank_maximum_operating_limit_fluid_temperature: float | None
    """For fluid storage tanks only, maximum limit for storage tank If omitted,then the maximum temperature limit is that us...; [C]"""

class EvaporativeCoolerDirectCelDekPad(IDFObject):
    """Direct evaporative cooler with rigid media evaporative pad and recirculating water pump. This model has no controls o..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    direct_pad_area: float | Literal["", "Autosize"] | None
    """[m2]; Default: Autosize"""
    direct_pad_depth: float | Literal["", "Autosize"] | None
    """[m]; Default: Autosize"""
    recirculating_water_pump_power_consumption: float | None
    """[W] (W)"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    control_type: str | None
    """This field is not currently used and can be left blank"""
    water_supply_storage_tank_name: str | None

class EvaporativeCoolerIndirectCelDekPad(IDFObject):
    """Indirect evaporative cooler with rigid media evaporative pad, recirculating water pump, and secondary air fan. This m..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    direct_pad_area: float | Literal["", "Autosize"] | None
    """[m2]; Default: Autosize"""
    direct_pad_depth: float | Literal["", "Autosize"] | None
    """[m]; Default: Autosize"""
    recirculating_water_pump_power_consumption: float | None
    """[W] (W)"""
    secondary_air_fan_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    secondary_air_fan_total_efficiency: float | None
    """Range: > 0.0, <= 1.0"""
    secondary_air_fan_delta_pressure: float | None
    """[Pa] (inH2O); Range: >= 0.0"""
    indirect_heat_exchanger_effectiveness: float | None
    """Range: >= 0.0"""
    primary_air_inlet_node_name: str | None
    primary_air_outlet_node_name: str | None
    control_type: str | None
    """This field is not currently used and can be left blank"""
    water_supply_storage_tank_name: str | None
    secondary_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""

class EvaporativeCoolerIndirectWetCoil(IDFObject):
    """Indirect evaporative cooler with wetted coil, recirculating water pump, and secondary air fan. This model has no cont..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    coil_maximum_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    coil_flow_ratio: float | None
    recirculating_water_pump_power_consumption: float | None
    """[W] (W)"""
    secondary_air_fan_flow_rate: float | None
    """[m3/s]; Range: >= 0.0"""
    secondary_air_fan_total_efficiency: float | None
    """Range: > 0.0, <= 1.0"""
    secondary_air_fan_delta_pressure: float | None
    """[Pa] (inH2O); Range: >= 0.0"""
    primary_air_inlet_node_name: str | None
    primary_air_outlet_node_name: str | None
    control_type: str | None
    """This field is not currently used and can be left blank"""
    water_supply_storage_tank_name: str | None
    secondary_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""

class EvaporativeCoolerIndirectResearchSpecial(IDFObject):
    """Indirect evaporative cooler with user-specified effectiveness (can represent rigid pad or wetted coil), recirculating..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    cooler_wetbulb_design_effectiveness: float | None
    """wet operation effectiveness with respect to wetbulb depression this is the nominal design wetbulb effectiveness at de...; Range: >= 0.0, <= 2.0"""
    wetbulb_effectiveness_flow_ratio_modifier_curve_name: str | None
    """this curve modifies the wetbulb effectiveness in the previous field (eff_wb_design) by multiplying the value by the r..."""
    cooler_drybulb_design_effectiveness: float | None
    """dry operation effectiveness with respect to drybulb temperature difference this is the nominal design drybulb effecti...; Range: >= 0.0"""
    drybulb_effectiveness_flow_ratio_modifier_curve_name: str | None
    """this curve modifies the drybulb effectiveness in the previous field (eff_db_design) by multiplying the value by the r..."""
    recirculating_water_pump_design_power: float | Literal["", "Autosize"] | None
    """This is the nominal design pump power of water recirculation and spray for evaporation at design air flow rates and c...; [W] (W); Default: Autosize"""
    water_pump_power_sizing_factor: float | None
    """This field is used when the previous field is set to autosize. The pump power is scaled with Secondary Air Design Air...; [W/(m3/s)] (W/(gal/min)); Default: 90.0"""
    water_pump_power_modifier_curve_name: str | None
    """this curve modifies the pump power in the previous field by multiplying the design power by the result of this curve...."""
    secondary_air_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    secondary_air_flow_scaling_factor: float | None
    """This field is used when the previous field is set to autosize. The Primary Design Air Flow Rate is scaled using this ...; [dimensionless]; Default: 1.0"""
    secondary_air_fan_design_power: float | Literal["", "Autosize"] | None
    """This is the fan design power at Secondary Design Air Flow Rate. This is the nominal design power at full speed.; [W]; Default: Autosize"""
    secondary_air_fan_sizing_specific_power: float | None
    """This field is used when the previous field is set to autosize. The fan power is scaled with Secondary Air Design Flow...; [W/(m3/s)]; Default: 250.0"""
    secondary_air_fan_power_modifier_curve_name: str | None
    """this curve modifies the design fan power in the previous field by multiplying the value by the result of this curve. ..."""
    primary_air_inlet_node_name: str | None
    primary_air_outlet_node_name: str | None
    primary_air_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    dewpoint_effectiveness_factor: float | None
    """Range: >= 0.0"""
    secondary_air_inlet_node_name: str | None
    secondary_air_outlet_node_name: str | None
    sensor_node_name: str | None
    relief_air_inlet_node_name: str | None
    water_supply_storage_tank_name: str | None
    drift_loss_fraction: float | None
    """Rate of drift loss as a fraction of evaporated water flow rate. If this input field is left blank, then zero drift lo...; Default: 0.0; Range: >= 0.0"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the evaporative cooler. Blowdown is water intentionally drained from the cooler...; Range: >= 2.0"""
    evaporative_operation_minimum_limit_secondary_air_drybulb_temperature: float | None
    """This input field value defines the secondary air inlet node drybulb temperature limits in degreeCelsius. When the sec..."""
    evaporative_operation_maximum_limit_outdoor_wetbulb_temperature: float | None
    """This input field value defines the secondary air inlet node wetbulb temperature limits in degree Celsius. When the se..."""
    dry_operation_maximum_limit_outdoor_drybulb_temperature: float | None
    """This input field value defines the secondary air inlet node drybulb temperature limits in degree Celsius. When the se..."""

class EvaporativeCoolerDirectResearchSpecial(IDFObject):
    """Direct evaporative cooler with user-specified effectiveness (can represent rigid pad or similar media), and recircula..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    cooler_design_effectiveness: float | None
    """effectiveness with respect to wet-bulb depression; Range: >= 0.0, <= 1.0"""
    effectiveness_flow_ratio_modifier_curve_name: str | None
    """this curve modifies the design effectiveness in the previous field by multiplying the value by the result of this cur..."""
    primary_air_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    recirculating_water_pump_design_power: float | Literal["", "Autosize"] | None
    """This is the design water pump or spray for evaporation at the primary air design air flow rates and cooler design eff...; [W] (W); Default: Autosize"""
    water_pump_power_sizing_factor: float | None
    """This field is used when the previous field is set to autosize. The pump power is scaled with Primary Air Design Air F...; [W/(m3/s)] (W/(gal/min)); Default: 90.0"""
    water_pump_power_modifier_curve_name: str | None
    """this curve modifies the pump power in the previous field by multiplying the design power by the result of this curve...."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    sensor_node_name: str | None
    water_supply_storage_tank_name: str | None
    drift_loss_fraction: float | None
    """Rate of drift loss as a fraction of evaporated water flow rate; Range: >= 0.0"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the evaporative cooler. Blowdown is water intentionally drained from the cooler...; Range: >= 2.0"""
    evaporative_operation_minimum_drybulb_temperature: float | None
    """This numeric field defines the evaporative cooler air inlet node drybulb temperature minimum limit in degrees Celsius...; Range: >= -99.0"""
    evaporative_operation_maximum_limit_wetbulb_temperature: float | None
    """when outdoor wetbulb temperature rises above this limit the cooler shuts down. This numeric field defines the evapora..."""
    evaporative_operation_maximum_limit_drybulb_temperature: float | None
    """This numeric field defines the evaporative cooler air inlet node dry-bulb temperature maximum limit in degrees Celsiu..."""

class HumidifierSteamElectric(IDFObject):
    """Electrically heated steam humidifier with fan."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    rated_capacity: float | Literal["Autosize"] | None
    """Capacity is m3/s of water at 5.05 C; [m3/s] (gal/min)"""
    rated_power: float | Literal["Autosize"] | None
    """if autosized the rated power is calculated from the rated capacity and enthalpy rise of water from 20.0C to 100.0C st...; [W] (W)"""
    rated_fan_power: float | None
    """[W] (W); Range: >= 0.0"""
    standby_power: float | None
    """[W] (W); Range: >= 0.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    water_storage_tank_name: str | None

class HumidifierSteamGas(IDFObject):
    """Natural gas fired steam humidifier with optional blower fan."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    rated_capacity: float | Literal["Autosize"] | None
    """Capacity is m3/s of water at 5.05 C The nominal full capacity water addition rate in m3/s of water at 5.05 C; [m3/s] (gal/min)"""
    rated_gas_use_rate: float | Literal["Autosize"] | None
    """if auto-sized, the rated gas use rate is calculated from the rated capacity and enthalpy rise of water from 20.0C to ...; [W] (W)"""
    thermal_efficiency: float | None
    """Based on the higher heating value of fuel. If 'Rated Gas Use Rate' in the field above is not auto-sized and the Inlet...; [dimensionless]; Default: 0.8; Range: > 0.0, <= 1.0"""
    thermal_efficiency_modifier_curve_name: str | None
    """Linear, Quadratic and Cubic efficiency curves are solely a function of PLR. Linear = C1 + C2*PLR Quadratic = C1 + C2*..."""
    rated_fan_power: float | None
    """The nominal full capacity electric power input to the blower fan in Watts. If no blower fan is required to inject the...; [W] (W); Range: >= 0.0"""
    auxiliary_electric_power: float | None
    """The auxiliary electric power input in watts. This amount of power will be consumed whenever the unit is available (as...; [W] (W); Default: 0.0; Range: >= 0.0"""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    water_storage_tank_name: str | None
    inlet_water_temperature_option: Literal["", "FixedInletWaterTemperature", "VariableInletWaterTemperature"] | None
    """The inlet water temperature can be fixed at 20C as it is done for electric steam humidifier or it can be allowed to v...; Default: FixedInletWaterTemperature"""

class DehumidifierDesiccantNoFans(IDFObject):
    """This object models a solid desiccant dehumidifier. The process air stream is the air which is dehumidified. The regen..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    process_air_inlet_node_name: str | None
    """This is the node entering the process side of the desiccant wheel."""
    process_air_outlet_node_name: str | None
    """This is the node leaving the process side of the desiccant wheel."""
    regeneration_air_inlet_node_name: str | None
    """This is the node entering the regeneration side of the desiccant wheel after the regeneration coil."""
    regeneration_fan_inlet_node_name: str | None
    """Node for air entering the regeneration fan, mass flow is set by the desiccant dehumidifier module."""
    control_type: Literal["LeavingMaximumHumidityRatioSetpoint", "SystemNodeMaximumHumidityRatioSetpoint"] | None
    """Type of setpoint control: LeavingMaximumHumidityRatioSetpoint means that the unit is controlled to deliver air at the..."""
    leaving_maximum_humidity_ratio_setpoint: float | None
    """Fixed setpoint for maximum process air leaving humidity ratio Applicable only when Control Type = LeavingMaximumHumid...; [kgWater/kgDryAir]"""
    nominal_process_air_flow_rate: float | None
    """Process air flow rate at nominal conditions; [m3/s]; Range: > 0.0"""
    nominal_process_air_velocity: float | None
    """Process air velocity at nominal flow When using Performance Model Type of Default, must be 2.032 to 4.064 m/s (400 to...; [m/s]; Range: > 0.0, <= 6.0"""
    rotor_power: float | None
    """Power input to wheel rotor motor; [W] (W); Range: >= 0.0"""
    regeneration_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """heating coil type works with gas, electric, hot water and steam heating coils"""
    regeneration_coil_name: str | None
    """Name of heating coil object for regeneration air"""
    regeneration_fan_object_type: Literal["Fan:ConstantVolume", "Fan:SystemModel", "Fan:VariableVolume"] | None
    """Type of fan object for regeneration air. When using the Default Performance Model Type (see below), only Fan:Variable..."""
    regeneration_fan_name: str | None
    """Name of fan object for regeneration air"""
    performance_model_type: Literal["Default", "UserCurves"] | None
    """Specifies whether the default performance model or user-specified curves should be used to model the performance. The..."""
    leaving_dry_bulb_function_of_entering_dry_bulb_and_humidity_ratio_curve_name: str | None
    """Leaving dry-bulb of process air as a function of entering dry-bulb and entering humidity ratio, biquadratic curve cur..."""
    leaving_dry_bulb_function_of_air_velocity_curve_name: str | None
    """Leaving dry-bulb of process air as a function of air velocity, quadratic curve. curve = C1 + C2*v + C3*v**2 v = proce..."""
    leaving_humidity_ratio_function_of_entering_dry_bulb_and_humidity_ratio_curve_name: str | None
    """Leaving humidity ratio of process air as a function of entering dry-bulb and entering humidity ratio, biquadratic cur..."""
    leaving_humidity_ratio_function_of_air_velocity_curve_name: str | None
    """Leaving humidity ratio of process air as a function of process air velocity, quadratic curve. curve = C1 + C2*v + C3*..."""
    regeneration_energy_function_of_entering_dry_bulb_and_humidity_ratio_curve_name: str | None
    """Regeneration energy [J/kg of water removed] as a function of entering dry-bulb and entering humidity ratio, biquadrat..."""
    regeneration_energy_function_of_air_velocity_curve_name: str | None
    """Regeneration energy [J/kg of water removed] as a function of process air velocity, quadratic curve. curve = C1 + C2*v..."""
    regeneration_velocity_function_of_entering_dry_bulb_and_humidity_ratio_curve_name: str | None
    """Regeneration velocity [m/s] as a function of entering dry-bulb and entering humidity ratio, biquadratic curve curve =..."""
    regeneration_velocity_function_of_air_velocity_curve_name: str | None
    """Regeneration velocity [m/s] as a function of process air velocity, quadratic curve. curve = C1 + C2*v + C3*v**2 v = p..."""
    nominal_regeneration_temperature: float | None
    """Nominal regen temperature upon which the regen energy modifier curve is based. Not used if Default if chosen for the ...; [C]; Range: >= 40.0, <= 250.0"""

class DehumidifierDesiccantSystem(IDFObject):
    """This compound object models a desiccant heat exchanger, an optional heater, and associated fans. The process air stre..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    desiccant_heat_exchanger_object_type: Literal["HeatExchanger:Desiccant:BalancedFlow"] | None
    desiccant_heat_exchanger_name: str | None
    sensor_node_name: str | None
    regeneration_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    regeneration_air_fan_name: str | None
    regeneration_air_fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: DrawThrough"""
    regeneration_air_heater_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils. For autosizing the regeneration air heating coil the Des..."""
    regeneration_air_heater_name: str | None
    regeneration_inlet_air_setpoint_temperature: float | None
    """This value is also used as regeneration air heater design coil air outlet temperature for autosizing calculation of t...; [C]; Default: 46.0"""
    companion_cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
        ]
        | None
    )
    companion_cooling_coil_name: str | None
    companion_cooling_coil_upstream_of_dehumidifier_process_inlet: Literal["", "No", "Yes"] | None
    """Select Yes if the companion cooling coil is located directly upstream of the desiccant heat exchanger's process air i...; Default: No"""
    companion_coil_regeneration_air_heating: Literal["", "No", "Yes"] | None
    """Default: No"""
    exhaust_fan_maximum_flow_rate: float | None
    """[m3/s]"""
    exhaust_fan_maximum_power: float | None
    """[W]"""
    exhaust_fan_power_curve_name: str | None
    """Curve object type must be Curve:Quadratic or Curve:Cubic"""

class HeatExchangerAirToAirFlatPlate(IDFObject):
    """Flat plate air-to-air heat exchanger, typically used for exhaust or relief air heat recovery."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    flow_arrangement_type: Literal["CounterFlow", "CrossFlowBothUnmixed", "ParallelFlow"] | None
    economizer_lockout: Literal["", "No", "Yes"] | None
    """Yes means that the heat exchanger will be locked out (off) when the economizer is operating or high humidity control ...; Default: Yes"""
    ratio_of_supply_to_secondary_ha_values: float | None
    """Ratio of h*A for supply side to h*A for exhaust side; Range: >= 0.0"""
    nominal_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: Autosize"""
    nominal_supply_air_inlet_temperature: float | None
    """[C]"""
    nominal_supply_air_outlet_temperature: float | None
    """[C]"""
    nominal_secondary_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    nominal_secondary_air_inlet_temperature: float | None
    """[C]"""
    nominal_electric_power: float | None
    """[W] (W)"""
    supply_air_inlet_node_name: str | None
    supply_air_outlet_node_name: str | None
    secondary_air_inlet_node_name: str | None
    secondary_air_outlet_node_name: str | None

class HeatExchangerAirToAirSensibleAndLatent(IDFObject):
    """This object models an air-to-air heat exchanger using effectiveness relationships. The heat exchanger can transfer se..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    nominal_supply_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    sensible_effectiveness_at_100_heating_air_flow: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    latent_effectiveness_at_100_heating_air_flow: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    sensible_effectiveness_at_100_cooling_air_flow: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    latent_effectiveness_at_100_cooling_air_flow: float | None
    """[dimensionless]; Default: 0.0; Range: >= 0.0, <= 1.0"""
    supply_air_inlet_node_name: str | None
    supply_air_outlet_node_name: str | None
    exhaust_air_inlet_node_name: str | None
    exhaust_air_outlet_node_name: str | None
    nominal_electric_power: float | None
    """[W] (W); Default: 0.0; Range: >= 0.0"""
    supply_air_outlet_temperature_control: Literal["", "No", "Yes"] | None
    """Default: No"""
    heat_exchanger_type: Literal["", "Plate", "Rotary"] | None
    """Default: Plate"""
    frost_control_type: (
        Literal["", "ExhaustAirRecirculation", "ExhaustOnly", "MinimumExhaustTemperature", "None"] | None
    )
    """Default: None"""
    threshold_temperature: float | None
    """Supply (outdoor) air inlet temp threshold for exhaust air recirculation and exhaust only frost control types. Exhaust...; [C]; Default: 1.7"""
    initial_defrost_time_fraction: float | None
    """Fraction of the time when frost control will be invoked at the threshold temperature. This field only used for exhaus...; [dimensionless]; Default: 0.083; Range: >= 0.0, <= 1.0"""
    rate_of_defrost_time_fraction_increase: float | None
    """Rate of increase in defrost time fraction as actual temp falls below threshold temperature. This field only used for ...; [1/K]; Default: 0.012; Range: >= 0.0"""
    economizer_lockout: Literal["", "No", "Yes"] | None
    """Yes means that the heat exchanger will be locked out (off) when the economizer is operating or high humidity control ...; Default: Yes"""
    sensible_effectiveness_of_heating_air_flow_curve_name: str | None
    """optional if this field has value, then the sensible effectiveness for heating will be the value in N2 multiplied by t...; Since: 24.1.0"""
    latent_effectiveness_of_heating_air_flow_curve_name: str | None
    """optional if this field has value, then the latent effectiveness for heating will be the value in N3 multiplied by thi...; Since: 24.1.0"""
    sensible_effectiveness_of_cooling_air_flow_curve_name: str | None
    """optional if this field has value, then the sensible effectiveness for cooling will be the value in N4 multiplied by t...; Since: 24.1.0"""
    latent_effectiveness_of_cooling_air_flow_curve_name: str | None
    """optional if this field has value, then the latent effectiveness for cooling will be the value in N5 multiplied by thi...; Since: 24.1.0"""

class HeatExchangerDesiccantBalancedFlow(IDFObject):
    """This object models a balanced desiccant heat exchanger. The heat exchanger transfers both sensible and latent energy ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    regeneration_air_inlet_node_name: str | None
    regeneration_air_outlet_node_name: str | None
    process_air_inlet_node_name: str | None
    process_air_outlet_node_name: str | None
    heat_exchanger_performance_object_type: (
        Literal["", "HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1"] | None
    )
    """Default: HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1"""
    heat_exchanger_performance_name: str | None
    economizer_lockout: Literal["", "No", "Yes"] | None
    """Yes means that the heat exchanger will be locked out (off) when the economizer is operating or high humidity control ...; Default: Yes"""

class HeatExchangerDesiccantBalancedFlowPerformanceDataType1(IDFObject):
    """RTO = B1 + B2*RWI + B3*RTI + B4*(RWI/RTI) + B5*PWI + B6*PTI + B7*(PWI/PTI) + B8*RFV RWO = C1 + C2*RWI + C3*RTI + C4*(..."""

    nominal_air_flow_rate: float | Literal["Autosize"] | None
    """Air flow rate at nominal conditions (assumed to be the same for both sides of the heat exchanger).; [m3/s]"""
    nominal_air_face_velocity: float | Literal["Autosize"] | None
    """[m/s]"""
    nominal_electric_power: float | None
    """Parasitic electric power (e.g., desiccant wheel motor); [W] (W); Default: 0.0; Range: >= 0.0"""
    temperature_equation_coefficient_1: float | None
    temperature_equation_coefficient_2: float | None
    temperature_equation_coefficient_3: float | None
    temperature_equation_coefficient_4: float | None
    temperature_equation_coefficient_5: float | None
    temperature_equation_coefficient_6: float | None
    temperature_equation_coefficient_7: float | None
    temperature_equation_coefficient_8: float | None
    minimum_regeneration_inlet_air_humidity_ratio_for_temperature_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    maximum_regeneration_inlet_air_humidity_ratio_for_temperature_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    minimum_regeneration_inlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    maximum_regeneration_inlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    minimum_process_inlet_air_humidity_ratio_for_temperature_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    maximum_process_inlet_air_humidity_ratio_for_temperature_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    minimum_process_inlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    maximum_process_inlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    minimum_regeneration_air_velocity_for_temperature_equation: float | None
    """[m/s]; Range: > 0.0"""
    maximum_regeneration_air_velocity_for_temperature_equation: float | None
    """[m/s]; Range: > 0.0"""
    minimum_regeneration_outlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    maximum_regeneration_outlet_air_temperature_for_temperature_equation: float | None
    """[C]"""
    minimum_regeneration_inlet_air_relative_humidity_for_temperature_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    maximum_regeneration_inlet_air_relative_humidity_for_temperature_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    minimum_process_inlet_air_relative_humidity_for_temperature_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    maximum_process_inlet_air_relative_humidity_for_temperature_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    humidity_ratio_equation_coefficient_1: float | None
    humidity_ratio_equation_coefficient_2: float | None
    humidity_ratio_equation_coefficient_3: float | None
    humidity_ratio_equation_coefficient_4: float | None
    humidity_ratio_equation_coefficient_5: float | None
    humidity_ratio_equation_coefficient_6: float | None
    humidity_ratio_equation_coefficient_7: float | None
    humidity_ratio_equation_coefficient_8: float | None
    minimum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    maximum_regeneration_inlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    minimum_regeneration_inlet_air_temperature_for_humidity_ratio_equation: float | None
    """[C]"""
    maximum_regeneration_inlet_air_temperature_for_humidity_ratio_equation: float | None
    """[C]"""
    minimum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    maximum_process_inlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    minimum_process_inlet_air_temperature_for_humidity_ratio_equation: float | None
    """[C]"""
    maximum_process_inlet_air_temperature_for_humidity_ratio_equation: float | None
    """[C]"""
    minimum_regeneration_air_velocity_for_humidity_ratio_equation: float | None
    """[m/s]; Range: > 0.0"""
    maximum_regeneration_air_velocity_for_humidity_ratio_equation: float | None
    """[m/s]; Range: > 0.0"""
    minimum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    maximum_regeneration_outlet_air_humidity_ratio_for_humidity_ratio_equation: float | None
    """[kgWater/kgDryAir]; Range: >= 0.0, <= 1.0"""
    minimum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    maximum_regeneration_inlet_air_relative_humidity_for_humidity_ratio_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    minimum_process_inlet_air_relative_humidity_for_humidity_ratio_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    maximum_process_inlet_air_relative_humidity_for_humidity_ratio_equation: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""

class AirLoopHVACUnitarySystem(IDFObject):
    """AirloopHVAC:UnitarySystem is a generic HVAC system type that allows any configuration of coils and/or fan. This objec..."""

    control_type: Literal["", "Load", "SetPoint", "SingleZoneVAV"] | None
    """Load control requires a Controlling Zone name. SetPoint control requires set points at coil outlet node. SingleZoneVA...; Default: Load"""
    controlling_zone_or_thermostat_location: str | None
    """Used only for Load based control Zone name where thermostat is located. Required when Control Type = Load."""
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only. Required when Control Type = SingleZoneVAV. Multimode = activate enhanced dehumidific...; Default: None"""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    """Enter the node name used as the inlet air node for the unitary system."""
    air_outlet_node_name: str | None
    """Enter the node name used as the outlet air node for the unitary system."""
    supply_fan_object_type: (
        Literal["Fan:ComponentModel", "Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel", "Fan:VariableVolume"] | None
    )
    """Enter the type of supply air fan if included in the unitary system. Fan:ConstantVolume only works with continuous fan..."""
    supply_fan_name: str | None
    """Enter the name of the supply air fan if included in the unitary system."""
    fan_placement: Literal["BlowThrough", "DrawThrough"] | None
    """Enter the type of supply air fan if included in the unitary system."""
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:DX:MultiSpeed",
            "Coil:Heating:DX:SingleSpeed",
            "Coil:Heating:DX:VariableSpeed",
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Electric:MultiStage",
            "Coil:Heating:Fuel",
            "Coil:Heating:Gas:MultiStage",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "Coil:Heating:WaterToAirHeatPump:EquationFit",
            "Coil:Heating:WaterToAirHeatPump:ParameterEstimation",
            "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit",
            "Coil:UserDefined",
        ]
        | None
    )
    """Enter the type of heating coil if included in the unitary system."""
    heating_coil_name: str | None
    """Enter the name of the heating coil if included in the unitary system."""
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:MultiSpeed",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:SingleSpeed:ThermalStorage",
            "Coil:Cooling:DX:TwoSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:DetailedGeometry",
            "Coil:Cooling:WaterToAirHeatPump:EquationFit",
            "Coil:Cooling:WaterToAirHeatPump:ParameterEstimation",
            "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit",
            "Coil:UserDefined",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
            "CoilSystem:Cooling:Water:HeatExchangerAssisted",
        ]
        | None
    )
    """Enter the type of cooling coil if included in the unitary system."""
    cooling_coil_name: str | None
    """Enter the name of the cooling coil if included in the unitary system."""
    use_doas_dx_cooling_coil: Literal["", "No", "Yes"] | None
    """If Yes, the DX cooling coil runs as 100% DOAS DX coil. If No, the DX cooling coil runs as a regular DX coil. If left ...; Default: No"""
    minimum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """When Use DOAS DX Cooling Coil is specified as Yes, Minimum Supply Air Temperature defines the minimum DOAS DX cooling...; [C]; Default: 2.0"""
    latent_load_control: (
        Literal[
            "",
            "LatentOnlyLoadControl",
            "LatentOrSensibleLoadControl",
            "LatentWithSensibleLoadControl",
            "SensibleOnlyLoadControl",
        ]
        | None
    )
    """SensibleOnlyLoadControl is selected when thermostat or SingleZoneVAV control is used. LatentOnlyLoadControl is select...; Default: SensibleOnlyLoadControl"""
    supplemental_heating_coil_object_type: (
        Literal[
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Electric:Multistage",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "Coil:UserDefined",
        ]
        | None
    )
    """Enter the type of supplemental heating or reheat coil if included in the unitary system. Only required if dehumidific..."""
    supplemental_heating_coil_name: str | None
    """Enter the name of the supplemental heating coil if included in the unitary system. Only required if dehumidification ..."""
    cooling_supply_air_flow_rate_method: (
        Literal[
            "FlowPerCoolingCapacity", "FlowPerFloorArea", "FractionOfAutosizedCoolingValue", "None", "SupplyAirFlowRate"
        ]
        | None
    )
    """Enter the method used to determine the cooling supply air volume flow rate. None is used when a cooling coil is not i..."""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of the supply air volume flow rate during cooling operation. Required field when Cooling Supply A...; [m3/s]"""
    cooling_supply_air_flow_rate_per_floor_area: float | None
    """Enter the supply air volume flow rate per total floor area fraction. Required field when Cooling Supply Air Flow Rate...; [m3/s-m2]; Range: >= 0.0"""
    cooling_fraction_of_autosized_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when Cooling ...; Range: >= 0.0"""
    cooling_supply_air_flow_rate_per_unit_of_capacity: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling capacity. Required field when Cooling Supply Air F...; [m3/s-W]; Range: >= 0.0"""
    heating_supply_air_flow_rate_method: (
        Literal[
            "FlowPerFloorArea", "FlowPerHeatingCapacity", "FractionOfAutosizedHeatingValue", "None", "SupplyAirFlowRate"
        ]
        | None
    )
    """Enter the method used to determine the heating supply air volume flow rate. None is used when a heating coil is not i..."""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of the supply air volume flow rate during heating operation. Required field when Heating Supply A...; [m3/s]"""
    heating_supply_air_flow_rate_per_floor_area: float | None
    """Enter the supply air volume flow rate per total floor area fraction. Required field when Heating Supply Air Flow Rate...; [m3/s-m2]; Range: >= 0.0"""
    heating_fraction_of_autosized_heating_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. Required field when Heating ...; Range: >= 0.0"""
    heating_supply_air_flow_rate_per_unit_of_capacity: float | None
    """Enter the supply air volume flow rate as a fraction of the heating capacity. Required field when Heating Supply Air F...; [m3/s-W]; Range: >= 0.0"""
    no_load_supply_air_flow_rate_method: (
        Literal[
            "FlowPerCoolingCapacity",
            "FlowPerFloorArea",
            "FlowPerHeatingCapacity",
            "FractionOfAutosizedCoolingValue",
            "FractionOfAutosizedHeatingValue",
            "None",
            "SupplyAirFlowRate",
        ]
        | None
    )
    """Enter the method used to determine the supply air volume flow rate when no cooling or heating is required. None is us..."""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the magnitude of the supply air volume flow rate during when no cooling or heating is required. Required field ...; [m3/s]"""
    no_load_supply_air_flow_rate_per_floor_area: float | None
    """Enter the supply air volume flow rate per total floor area fraction. Required field when No Load Supply Air Flow Rate...; [m3/s-m2]; Range: >= 0.0"""
    no_load_fraction_of_autosized_cooling_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. Required field when No Load ...; Range: >= 0.0"""
    no_load_fraction_of_autosized_heating_supply_air_flow_rate: float | None
    """Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. Required field when No Load ...; Range: >= 0.0"""
    no_load_supply_air_flow_rate_per_unit_of_capacity_during_cooling_operation: float | None
    """Enter the supply air volume flow rate as a fraction of the cooling capacity. Required field when No Load Supply Air F...; [m3/s-W]; Range: >= 0.0"""
    no_load_supply_air_flow_rate_per_unit_of_capacity_during_heating_operation: float | None
    """Enter the supply air volume flow rate as a fraction of the heating capacity. Required field when No Load Supply Air F...; [m3/s-W]; Range: >= 0.0"""
    no_load_supply_air_flow_rate_control_set_to_low_speed: Literal["", "No", "Yes"] | None
    """This field is not used when Design Specification Multispeed Object Type input is present When Yes is selected the min...; Default: Yes; Since: 24.1.0"""
    maximum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """Enter the maximum supply air temperature leaving the heating coil. When Control Type = SingleZoneVAV, enter the maxim...; [C]; Default: 80.0"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """Enter the maximum outdoor dry-bulb temperature for supplemental heater operation.; [C]; Default: 21.0"""
    outdoor_dry_bulb_temperature_sensor_node_name: str | None
    """If this field is blank, outdoor temperature from the weather file is used. If this field is not blank, the node name ..."""
    ancillary_on_cycle_electric_power: float | None
    """Enter the value of ancillary electric power for controls or other devices consumed during the on cycle.; [W]; Default: 0.0; Range: >= 0.0"""
    ancillary_off_cycle_electric_power: float | None
    """Enter the value of ancillary electric power for controls or other devices consumed during the off cycle.; [W]; Default: 0.0; Range: >= 0.0"""
    design_heat_recovery_water_flow_rate: float | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered. Used for heat recovery to an EnergyP...; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    maximum_temperature_for_heat_recovery: float | None
    """Enter the maximum heat recovery inlet temperature allowed for heat recovery.; [C]; Default: 80.0; Range: >= 0.0, <= 100.0"""
    heat_recovery_water_inlet_node_name: str | None
    """Enter the name of the heat recovery water inlet node if plant water loop connections are present."""
    heat_recovery_water_outlet_node_name: str | None
    """Enter the name of the heat recovery water outlet node if plant water loop connections are present."""
    design_specification_multispeed_object_type: Literal["UnitarySystemPerformance:Multispeed"] | None
    """Enter the type of performance specification object used to describe the multispeed coil."""
    design_specification_multispeed_object_name: str | None
    """The name of the performance specification object used to describe the multispeed coil."""

class UnitarySystemPerformanceMultispeed(IDFObject):
    """The UnitarySystemPerformance object is used to specify the air flow ratio at each operating speed. This object is pri..."""

    number_of_speeds_for_heating: int | None
    """Used only for Multi speed coils Enter the number of the following sets of data for air flow rates.; Range: >= 0, <= 10"""
    number_of_speeds_for_cooling: int | None
    """Used only for Multi speed coils Enter the number of the following sets of data for air flow rates.; Range: >= 0, <= 10"""
    single_mode_operation: Literal["", "No", "Yes"] | None
    """Controls coil operation during each HVAC timestep. This choice does not apply to speed 1 operation. Yes = operate at ...; Default: No"""
    no_load_supply_air_flow_rate_ratio: float | None
    """Used to define the no load operating air flow rate when the system fan is specified to operate continuously.; Default: 1.0; Range: >= 0.0, <= 1.0"""
    heating_speed_supply_air_flow_ratio: float | None
    cooling_speed_supply_air_flow_ratio: float | None

class AirLoopHVACUnitaryFurnaceHeatOnly(IDFObject):
    """Unitary system, heating-only with constant volume supply fan (continuous or cycling) and heating coil (gas, electric,..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    furnace_air_inlet_node_name: str | None
    furnace_air_outlet_node_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    maximum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: 80.0"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """This value should be > 0 and <= than the fan air flow rate.; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Fan:ConstantVolume only works with continuous fan operating mode (i.e. fan operating mode schedule values are greater..."""
    supply_fan_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    heating_coil_name: str | None

class AirLoopHVACUnitaryFurnaceHeatCool(IDFObject):
    """Unitary system, heating and cooling with constant volume supply fan (continuous or cycling), direct expansion (DX) co..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    furnace_air_inlet_node_name: str | None
    furnace_air_outlet_node_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    maximum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: 80.0"""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow fate.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate. Only used when fan operating mode is continuous (disregard...; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Fan:ConstantVolume only works with continuous fan operating mode (i.e. supply air fan operating mode schedule values ..."""
    supply_fan_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    heating_coil_name: str | None
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    """Only works with DX cooling coil types"""
    cooling_coil_name: str | None
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only Multimode = activate enhanced dehumidification mode as needed and meet sensible load. ...; Default: None"""
    reheat_coil_object_type: (
        Literal[
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
        ]
        | None
    )
    """Only required if dehumidification control type is 'CoolReheat' works with gas, electric, hot water and steam heating ..."""
    reheat_coil_name: str | None
    """Only required if dehumidification control type is 'CoolReheat'"""

class AirLoopHVACUnitaryHeatOnly(IDFObject):
    """Unitary system, heating-only with constant volume supply fan (continuous or cycling) and heating coil (gas, electric,..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    unitary_system_air_inlet_node_name: str | None
    unitary_system_air_outlet_node_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    maximum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: 80.0"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """This value should be > 0 and <= than the fan air flow rate.; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Fan:ConstantVolume only works with continuous fan operating mode (i.e. fan operating mode schedule values are greater..."""
    supply_fan_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    heating_coil_name: str | None

class AirLoopHVACUnitaryHeatCool(IDFObject):
    """Unitary system, heating and cooling with constant volume supply fan (continuous or cycling), direct expansion (DX) co..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    unitary_system_air_inlet_node_name: str | None
    unitary_system_air_outlet_node_name: str | None
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    maximum_supply_air_temperature: float | Literal["", "Autosize"] | None
    """[C]; Default: 80.0"""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate. Only used when fan operating mode is continuous (disregard...; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Fan:ConstantVolume only works with continuous fan operating mode (i.e. supply air fan operating mode schedule values ..."""
    supply_fan_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    heating_coil_name: str | None
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    """Only works with DX cooling coil types or Coil:Cooling:DX:VariableSpeed."""
    cooling_coil_name: str | None
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only Multimode = activate enhanced dehumidification mode as needed and meet sensible load. ...; Default: None"""
    reheat_coil_object_type: (
        Literal[
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
        ]
        | None
    )
    """Only required if dehumidification control type is 'CoolReheat' works with gas, electric, desuperheating, hot water an..."""
    reheat_coil_name: str | None
    """Only required if dehumidification control type is 'CoolReheat'"""

class AirLoopHVACUnitaryHeatPumpAirToAir(IDFObject):
    """Unitary heat pump system, heating and cooling, single-speed with supply fan, direct expansion (DX) cooling coil, DX h..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Must be less than or equal to the fan's maximum flow rate. Only used when fan operating mode is continuous (disregard...; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Fan:ConstantVolume only works with continuous fan operating mode (i.e. fan operating mode schedule values are greater..."""
    supply_air_fan_name: str | None
    """Needs to match in the fan object"""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:DX:SingleSpeed", "Coil:Heating:DX:VariableSpeed", "CoilSystem:IntegratedHeatPump:AirSource"
        ]
        | None
    )
    """Only works with Coil:Heating:DX:SingleSpeed or Coil:Heating:DX:VariableSpeed or CoilSystem:IntegratedHeatPump:AirSource"""
    heating_coil_name: str | None
    """Needs to match in the DX heating coil object"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
            "CoilSystem:IntegratedHeatPump:AirSource",
        ]
        | None
    )
    """Only works with Coil:Cooling:DX:SingleSpeed or CoilSystem:Cooling:DX:HeatExchangerAssisted or Coil:Cooling:DX:Variabl..."""
    cooling_coil_name: str | None
    """Needs to match in the DX cooling coil object"""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object"""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["Autosize"] | None
    """[C]"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """[C]; Default: 21.0; Range: <= 21.0"""
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """A fan operating mode schedule value of 0 indicates cycling fan mode (supply air fan cycles on and off in tandem with ..."""
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only Multimode = activate enhanced dehumidification mode as needed and meet sensible load. ...; Default: None"""
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0; Since: 25.2.0"""

class AirLoopHVACUnitaryHeatPumpWaterToAir(IDFObject):
    """Unitary heat pump system, heating and cooling, single-speed with constant volume supply fan (continuous or cycling), ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    supply_air_flow_rate: float | Literal["Autosize"] | None
    """This value should be > 0 and <= than the fan air flow rate.; [m3/s]"""
    controlling_zone_or_thermostat_location: str | None
    supply_air_fan_object_type: Literal["Fan:OnOff"] | None
    """Only works with On/Off Fan"""
    supply_air_fan_name: str | None
    """Needs to match Fan:OnOff object"""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:WaterToAirHeatPump:EquationFit",
            "Coil:Heating:WaterToAirHeatPump:ParameterEstimation",
            "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit",
        ]
        | None
    )
    heating_coil_name: str | None
    """Needs to match in the water-to-air heat pump heating coil object"""
    heating_convergence: float | None
    """Default: 0.001; Range: > 0.0"""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:WaterToAirHeatPump:EquationFit",
            "Coil:Cooling:WaterToAirHeatPump:ParameterEstimation",
            "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit",
        ]
        | None
    )
    cooling_coil_name: str | None
    """Needs to match in the water-to-air heat pump cooling coil object"""
    cooling_convergence: float | None
    """Default: 0.001; Range: > 0.0"""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object"""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["Autosize"] | None
    """[C]"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """[C]; Default: 21.0; Range: <= 21.0"""
    outdoor_dry_bulb_temperature_sensor_node_name: str | None
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """Default: BlowThrough"""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule that controls fan operation. Schedule values of 0 denote cycling fan operation (fan cycl..."""
    dehumidification_control_type: Literal["", "CoolReheat", "None"] | None
    """None = meet sensible load only CoolReheat = cool beyond the dry-bulb setpoint. as required to meet the humidity setpo...; Default: None"""
    heat_pump_coil_water_flow_mode: Literal["", "Constant", "ConstantOnDemand", "Cycling"] | None
    """used only when the heat pump coils are of the type WaterToAirHeatPump:EquationFit Constant results in 100% water flow...; Default: Cycling"""
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0; Since: 25.2.0"""

class AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass(IDFObject):
    """Unitary system, heating and cooling with constant volume supply fan (continuous or cycling), direct expansion (DX) co..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    cooling_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the system air flow rate during cooling operation or specify autosize.; [m3/s]"""
    heating_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the system air flow rate during heating operation or specify autosize.; [m3/s]"""
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when the supply air fan operating mode is continuous (see field Supply air fan operating mode schedule name...; [m3/s]"""
    cooling_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the outdoor air flow rate during cooling operation or specify autosize.; [m3/s]"""
    heating_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the outdoor air flow rate during heating operation or specify autosize.; [m3/s]"""
    no_load_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when the supply air fan operating mode is continuous (see field Supply air fan operating mode schedule name...; [m3/s]"""
    outdoor_air_flow_rate_multiplier_schedule_name: str | None
    """Enter the name of a schedule that contains multipliers for the outdoor air flow rates. Schedule values must be from 0..."""
    air_inlet_node_name: str | None
    """Enter the name of the unitary system's air inlet node."""
    bypass_duct_mixer_node_name: str | None
    """Enter the name of the bypass duct mixer node. This name should be the name of the return air node for the outdoor air..."""
    bypass_duct_splitter_node_name: str | None
    """Enter the name of the bypass duct splitter node. This splitter air node is the outlet node of the last component in t..."""
    air_outlet_node_name: str | None
    """Enter the name of the unitary system's air outlet node."""
    outdoor_air_mixer_object_type: Literal["OutdoorAir:Mixer"] | None
    """currently only one type OutdoorAir:Mixer object is available."""
    outdoor_air_mixer_name: str | None
    """Enter the name of the outdoor air mixer used with this unitary system."""
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:SystemModel"] | None
    """Specify the type of supply air fan used in this unitary system."""
    supply_air_fan_name: str | None
    """Enter the name of the supply air fan used in this unitary system."""
    supply_air_fan_placement: Literal["BlowThrough", "DrawThrough"] | None
    """Specify supply air fan placement as either blow through or draw through. BlowThrough means the supply air fan is loca..."""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule to control the supply air fan. Schedule Name values of zero mean that the supply air fan..."""
    cooling_coil_object_type: (
        Literal[
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:Cooling:DX:TwoStageWithHumidityControlMode",
            "Coil:Cooling:DX:VariableSpeed",
            "CoilSystem:Cooling:DX:HeatExchangerAssisted",
        ]
        | None
    )
    """Specify the type of cooling coil used in this unitary system."""
    cooling_coil_name: str | None
    """Enter the name of the cooling coil used in this unitary system."""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:DX:SingleSpeed",
            "Coil:Heating:DX:VariableSpeed",
            "Coil:Heating:Electric",
            "Coil:Heating:Fuel",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
        ]
        | None
    )
    """works with DX, gas, electric, hot water and steam heating coils Specify the type of heating coil used in this unitary..."""
    heating_coil_name: str | None
    """Enter the name of the heating coil used in this unitary system."""
    priority_control_mode: Literal["", "CoolingPriority", "HeatingPriority", "LoadPriority", "ZonePriority"] | None
    """CoolingPriority = system provides cooling if any zone requires cooling. HeatingPriority = system provides heating if ...; Default: ZonePriority"""
    minimum_outlet_air_temperature_during_cooling_operation: float | None
    """Specify the minimum outlet air temperature allowed for this unitary system during cooling operation. This value shoul...; [C]; Default: 8.0; Range: > 0.0"""
    maximum_outlet_air_temperature_during_heating_operation: float | None
    """Specify the maximum outlet air temperature allowed for this unitary system during heating operation. This value shoul...; [C]; Default: 50.0; Range: > 0.0"""
    dehumidification_control_type: Literal["", "CoolReheat", "Multimode", "None"] | None
    """None = meet sensible load only. Multimode = activate enhanced dehumidification mode as needed and meet sensible load....; Default: None"""
    plenum_or_mixer_inlet_node_name: str | None
    """Enter the name of the bypass duct node connected to a plenum or mixer. This field is required when this HVAC System i...; Since: 9.2.0"""
    minimum_runtime_before_operating_mode_change: float | None
    """This is the minimum amount of time the unit operates in cooling or heating mode before changing modes.; [hr]; Default: 0.25; Range: >= 0.0; Since: 9.2.0"""

class AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed(IDFObject):
    """Unitary system, heating and cooling, multi-speed with constant volume supply fan (continuous or cycling), direct expa..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    controlling_zone_or_thermostat_location: str | None
    supply_air_fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff"] | None
    """Select the type of supply air fan used in this unitary system."""
    supply_air_fan_name: str | None
    """Enter the name of the supply air fan used in this unitary system."""
    supply_air_fan_placement: Literal["BlowThrough", "DrawThrough"] | None
    """Select supply air fan placement as either BlowThrough or DrawThrough. BlowThrough means the supply air fan is located..."""
    supply_air_fan_operating_mode_schedule_name: str | None
    """Enter the name of a schedule to control the supply air fan. Schedule values of zero mean that the supply air fan will..."""
    heating_coil_object_type: (
        Literal[
            "Coil:Heating:DX:MultiSpeed",
            "Coil:Heating:Electric:MultiStage",
            "Coil:Heating:Gas:MultiStage",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
        ]
        | None
    )
    """Multi Speed DX, Electric, Gas, and Single speed Water and Steam coils"""
    heating_coil_name: str | None
    dx_heating_coil_sizing_ratio: float | None
    """Used to adjust heat pump heating capacity with respect to DX cooling capacity used only for heat pump configurations ...; Default: 1.0; Range: > 0.0; Since: 25.2.0"""
    cooling_coil_object_type: Literal["Coil:Cooling:DX:MultiSpeed"] | None
    """Only works with Coil:Cooling:DX:MultiSpeed"""
    cooling_coil_name: str | None
    """Needs to match in the DX Cooling Coil object"""
    supplemental_heating_coil_object_type: (
        Literal["Coil:Heating:Electric", "Coil:Heating:Fuel", "Coil:Heating:Steam", "Coil:Heating:Water"] | None
    )
    """works with gas, electric, hot water and steam heating coils"""
    supplemental_heating_coil_name: str | None
    """Needs to match in the supplemental heating coil object"""
    maximum_supply_air_temperature_from_supplemental_heater: float | Literal["Autosize"] | None
    """[C]"""
    maximum_outdoor_dry_bulb_temperature_for_supplemental_heater_operation: float | None
    """[C]; Default: 21.0; Range: <= 21.0"""
    auxiliary_on_cycle_electric_power: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    auxiliary_off_cycle_electric_power: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    design_heat_recovery_water_flow_rate: float | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered. Used for heat recovery to an EnergyP...; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    maximum_temperature_for_heat_recovery: float | None
    """[C]; Default: 80.0; Range: >= 0.0, <= 100.0"""
    heat_recovery_water_inlet_node_name: str | None
    heat_recovery_water_outlet_node_name: str | None
    no_load_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Only used when the supply air fan operating mode is continuous (see field Supply Air Fan Operating Mode Schedule Name...; [m3/s]"""
    number_of_speeds_for_heating: int | None
    """Enter the number of the following sets of data for air flow rates. If Heating Coil Object Type is Coil:Heating:Water ...; Range: >= 1, <= 4"""
    number_of_speeds_for_cooling: int | None
    """Enter the number of the following sets of data for air flow rates.; Range: >= 2, <= 4"""
    heating_speed_1_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during heating operation or specify autosize.; [m3/s]"""
    heating_speed_2_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during heating operation or specify autosize.; [m3/s]"""
    heating_speed_3_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during heating operation or specify autosize.; [m3/s]"""
    heating_speed_4_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during heating operation or specify autosize.; [m3/s]"""
    cooling_speed_1_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during cooling operation or specify autosize.; [m3/s]"""
    cooling_speed_2_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during cooling operation or specify autosize.; [m3/s]"""
    cooling_speed_3_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during cooling operation or specify autosize.; [m3/s]"""
    cooling_speed_4_supply_air_flow_rate: float | Literal["Autosize"] | None
    """Enter the operating supply air flow rate during cooling operation or specify autosize.; [m3/s]"""

class AirConditionerVariableRefrigerantFlow(IDFObject):
    """Variable refrigerant flow (VRF) air-to-air heat pump condensing unit (includes one or more electric compressors and o..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    gross_rated_total_cooling_capacity: float | Literal["Autosize"] | None
    """Enter the total cooling capacity in watts at rated conditions or set to autosize. Total cooling capacity not accounti...; [W]"""
    gross_rated_cooling_cop: float | None
    """Enter the coefficient of performance at rated conditions or leave blank to use default. COP includes compressor and c...; [W/W]; Default: 3.3; Range: > 0.0"""
    minimum_condenser_inlet_node_temperature_in_cooling_mode: float | None
    """For cooling mode operation, enter the minimum inlet outdoor air dry-bulb temperature for air-cooled units or minimum ...; [C]; Default: -6.0; Since: 9.6.0"""
    maximum_condenser_inlet_node_temperature_in_cooling_mode: float | None
    """For cooling mode operation, enter the maximum inlet outdoor air dry-bulb temperature for air-cooled units or maximum ...; [C]; Default: 43.0; Since: 9.6.0"""
    cooling_capacity_ratio_modifier_function_of_low_temperature_curve_name: str | None
    """Enter a curve name that represents full load cooling capacity ratio as a function of outdoor dry-bulb temperature and..."""
    cooling_capacity_ratio_boundary_curve_name: str | None
    """This curve object is used to allow separate low and high cooling capacity ratio performance curves. This curve repres..."""
    cooling_capacity_ratio_modifier_function_of_high_temperature_curve_name: str | None
    """This curve object is used to describe the high outdoor temperature performance curve used to describe cooling capacit..."""
    cooling_energy_input_ratio_modifier_function_of_low_temperature_curve_name: str | None
    """Enter a curve name that represents cooling energy ratio as a function of outdoor dry-bulb temperature and indoor wet-..."""
    cooling_energy_input_ratio_boundary_curve_name: str | None
    """This curve object is used to allow separate low and high cooling energy input ratio performance curves. This curve re..."""
    cooling_energy_input_ratio_modifier_function_of_high_temperature_curve_name: str | None
    """This curve object is used to describe the high outdoor temperature performance curve used to describe cooling energy ..."""
    cooling_energy_input_ratio_modifier_function_of_low_part_load_ratio_curve_name: str | None
    """Enter a curve name that represents cooling energy ratio as a function of part-load ratio for part-load ratios less th..."""
    cooling_energy_input_ratio_modifier_function_of_high_part_load_ratio_curve_name: str | None
    """Enter a curve name that represents cooling energy ratio as a function of part-load ratio for part-load ratios greater..."""
    cooling_combination_ratio_correction_factor_curve_name: str | None
    """This curve defines how rated capacity changes when the total indoor terminal unit cooling capacity is greater than th..."""
    cooling_part_load_fraction_correlation_curve_name: str | None
    """This curve defines the cycling losses when the heat pump compressor cycles on and off below the Minimum Heat Pump Par..."""
    gross_rated_heating_capacity: float | Literal["Autosize"] | None
    """Enter the heating capacity in watts at rated conditions or set to autosize. Heating capacity not accounting for the e...; [W]"""
    rated_heating_capacity_sizing_ratio: float | None
    """If the Gross Rated Heating Capacity is autosized, the heating capacity is sized to be equal to the cooling capacity m...; [W/W]; Default: 1.0; Range: >= 1.0"""
    gross_rated_heating_cop: float | None
    """COP includes compressor and condenser fan electrical energy input COP does not include supply fan heat or supply fan ...; [W/W]; Default: 3.4; Range: > 0.0"""
    minimum_condenser_inlet_node_temperature_in_heating_mode: float | None
    """For heating mode operation, enter the minimum inlet outdoor air dry-bulb temperature for air-cooled units or minimum ...; [C]; Default: -20.0; Since: 9.6.0"""
    maximum_condenser_inlet_node_temperature_in_heating_mode: float | None
    """For heating mode operation, enter the maximum inlet outdoor air dry-bulb temperature for air-cooled units or maximum ...; [C]; Default: 16.0; Since: 9.6.0"""
    heating_capacity_ratio_modifier_function_of_low_temperature_curve_name: str | None
    """Enter a curve name that represents full load heating capacity ratio as a function of outdoor wet-bulb temperature and..."""
    heating_capacity_ratio_boundary_curve_name: str | None
    """This curve object is used to allow separate low and high heating capacity ratio performance curves. This curve repres..."""
    heating_capacity_ratio_modifier_function_of_high_temperature_curve_name: str | None
    """This curve object is used to describe the high outdoor temperature performance curve used to describe heating capacit..."""
    heating_energy_input_ratio_modifier_function_of_low_temperature_curve_name: str | None
    """Enter a curve name that represents heating energy ratio as a function of outdoor wet-bulb temperature and indoor dry-..."""
    heating_energy_input_ratio_boundary_curve_name: str | None
    """This curve object is used to allow separate low and high heating energy input ratio performance curves. This curve re..."""
    heating_energy_input_ratio_modifier_function_of_high_temperature_curve_name: str | None
    """This curve object is used to allow separate performance curves for heating energy. If a single performance curve is u..."""
    heating_performance_curve_outdoor_temperature_type: Literal["", "DryBulbTemperature", "WetBulbTemperature"] | None
    """Determines temperature type for heating capacity curves and heating energy curves. This input determines whether the ...; Default: WetBulbTemperature"""
    heating_energy_input_ratio_modifier_function_of_low_part_load_ratio_curve_name: str | None
    """This curve represents the heating energy input ratio for part-load ratios less than 1."""
    heating_energy_input_ratio_modifier_function_of_high_part_load_ratio_curve_name: str | None
    """This curve represents the heating energy input ratio for part-load ratios greater than 1."""
    heating_combination_ratio_correction_factor_curve_name: str | None
    """This curve defines how rated capacity changes when the total indoor terminal unit heating capacity is greater than th..."""
    heating_part_load_fraction_correlation_curve_name: str | None
    """This curve defines the cycling losses when the heat pump compressor cycles on and off below the Minimum Heat Pump Par..."""
    minimum_heat_pump_part_load_ratio: float | None
    """Enter the minimum heat pump part-load ratio (PLR). When the cooling or heating PLR is below this value, the heat pump...; [dimensionless]; Default: 0.15"""
    zone_name_for_master_thermostat_location: str | None
    """Enter the name of the zone where the master thermostat is located."""
    master_thermostat_priority_control_type: (
        Literal["", "LoadPriority", "MasterThermostatPriority", "Scheduled", "ThermostatOffsetPriority", "ZonePriority"]
        | None
    )
    """Choose a thermostat control logic scheme. If these control types fail to control zone temperature within a reasonable...; Default: MasterThermostatPriority"""
    thermostat_priority_schedule_name: str | None
    """this field is required if Master Thermostat Priority Control Type is Scheduled. Schedule values of 0 denote cooling, ..."""
    zone_terminal_unit_list_name: str | None
    """Enter the name of a ZoneTerminalUnitList. This list connects zone terminal units to this heat pump."""
    heat_pump_waste_heat_recovery: Literal["", "No", "Yes"] | None
    """This field enables heat recovery operation within this VRF outdoor unit.; Default: No"""
    equivalent_piping_length_used_for_piping_correction_factor_in_cooling_mode: float | None
    """Enter the equivalent length of the farthest terminal unit from the condenser; [m]"""
    vertical_height_used_for_piping_correction_factor: float | None
    """Enter the height difference between the highest and lowest terminal unit; [m]"""
    piping_correction_factor_for_length_in_cooling_mode_curve_name: str | None
    """PCF = a0 + a1*L + a2*L^2 + a3*L^3 + a4*H PCF = a0 + a1*L + a2*L^2 + a3*CR + a4*CR^2 + a5*(L)(CR) where L = length and..."""
    piping_correction_factor_for_height_in_cooling_mode_coefficient: float | None
    """PCF = a0 + a1*L + a2*L^2 + a3*L^3 + a4*H PCF = a0 + a1*L + a2*L^2 + a3*CR + a4*CR^2 + a5*(L)(CR) + a6*H where L = len...; [1/m]; Default: 0.0"""
    equivalent_piping_length_used_for_piping_correction_factor_in_heating_mode: float | None
    """Enter the equivalent length of the farthest terminal unit from the condenser; [m]"""
    piping_correction_factor_for_length_in_heating_mode_curve_name: str | None
    """PCF = a0 + a1*L + a2*L^2 + a3*L^3 + a4*H PCF = a0 + a1*L + a2*L^2 + a3*CR + a4*CR^2 + a5*(L)(CR) + a6*H where L = len..."""
    piping_correction_factor_for_height_in_heating_mode_coefficient: float | None
    """PCF = a0 + a1*L + a2*L^2 + a3*L^3 + a4*H PCF = a0 + a1*L + a2*L^2 + a3*CR + a4*CR^2 + a5*(L)(CR) + a6*H where L = len...; [1/m]; Default: 0.0"""
    crankcase_heater_power_per_compressor: float | None
    """Enter the value of the resistive heater located in the compressor(s). This heater is used to warm the refrigerant and...; [W]; Default: 33.0"""
    number_of_compressors: int | None
    """Enter the total number of compressor. This input is used only for crankcase heater calculations.; [dimensionless]; Default: 2"""
    ratio_of_compressor_size_to_total_compressor_capacity: float | None
    """Enter the ratio of the first stage compressor to total compressor capacity. All other compressors are assumed to be e...; [W/W]; Default: 0.5"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater: float | None
    """Enter the maximum outdoor temperature above which the crankcase heaters are disabled.; [C]; Default: 5.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Select a defrost strategy. Reverse cycle reverses the operating mode from heating to cooling to melt frost formation ...; Default: Resistive"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Choose a defrost control type. Either use a fixed Timed defrost period or select OnDemand to defrost only when necess...; Default: Timed"""
    defrost_energy_input_ratio_modifier_function_of_temperature_curve_name: str | None
    """A valid performance curve must be used if reversecycle defrost strategy is selected."""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode. Only applicable if timed defrost control is specified.; [dimensionless]; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """Enter the size of the resistive defrost heating element. Only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """Enter the maximum outdoor temperature above which defrost operation is disabled.; [C]; Default: 5.0"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Select either an air-cooled, evaporatively-cooled or water-cooled condenser.; Default: AirCooled"""
    condenser_inlet_node_name: str | None
    """Choose an outside air node name or leave this field blank to use weather data. If this field is blank, the Condenser ..."""
    condenser_outlet_node_name: str | None
    """Enter a water outlet node name if Condenser Type = WaterCooled. Leave this field blank if Condenser Type = Air or Eva..."""
    water_condenser_volume_flow_rate: float | Literal["Autosize"] | None
    """Only used when Condenser Type = WaterCooled.; [m3/s] (gal/min)"""
    evaporative_condenser_effectiveness: float | None
    """Enter the effectiveness of the evaporatively cooled condenser. This field is only used when the Condenser Type = Evap...; [dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    evaporative_condenser_air_flow_rate: float | Literal["Autosize"] | None
    """Used to calculate evaporative condenser water use. This field is only used when the Condenser Type = EvaporativelyCoo...; [m3/s]"""
    evaporative_condenser_pump_rated_power_consumption: float | Literal["", "Autosize"] | None
    """Rated power consumed by the evaporative condenser's water pump. This field is only used when the Condenser Type = Eva...; [W]; Default: 0.0"""
    supply_water_storage_tank_name: str | None
    """A separate storage tank may be used to supply an evaporatively cooled condenser."""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    fuel_type: (
        Literal[
            "",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: Electricity"""
    minimum_condenser_inlet_node_temperature_in_heat_recovery_mode: float | None
    """For heat recovery mode operation, enter the minimum inlet outdoor air dry-bulb temperature for air-cooled units or mi...; [C]; Since: 9.6.0"""
    maximum_condenser_inlet_node_temperature_in_heat_recovery_mode: float | None
    """For heat recovery mode operation, enter the maximum inlet outdoor air dry-bulb temperature for air-cooled units or ma...; [C]; Since: 9.6.0"""
    heat_recovery_cooling_capacity_modifier_curve_name: str | None
    """Enter the name of a performance curve which represents the change in cooling capacity when heat recovery is active A ..."""
    initial_heat_recovery_cooling_capacity_fraction: float | None
    """Enter the fractional capacity available at the start of heat recovery mode. The capacity exponentially approaches the...; [W/W]; Default: 0.5"""
    heat_recovery_cooling_capacity_time_constant: float | None
    """Enter the time constant used to model the transition from cooling only mode to heat recovery mode; [hr]; Default: 0.15"""
    heat_recovery_cooling_energy_modifier_curve_name: str | None
    """Enter the name of a performance curve which represents the change in cooling energy when heat recovery is active A de..."""
    initial_heat_recovery_cooling_energy_fraction: float | None
    """Enter the fractional electric consumption rate at the start of heat recovery mode. The electric consumption rate expo...; [W/W]; Default: 1.0"""
    heat_recovery_cooling_energy_time_constant: float | None
    """Enter the time constant used to model the transition from cooling only mode to heat recovery mode; [hr]; Default: 0.0"""
    heat_recovery_heating_capacity_modifier_curve_name: str | None
    """Enter the name of a performance curve which represents the change in heating capacity when heat recovery is active A ..."""
    initial_heat_recovery_heating_capacity_fraction: float | None
    """Enter the fractional capacity available at the start of heat recovery mode. The capacity exponentially approaches the...; [W/W]; Default: 1.0"""
    heat_recovery_heating_capacity_time_constant: float | None
    """Enter the time constant used to model the transition from cooling only mode to heat recovery mode; [hr]; Default: 0.15"""
    heat_recovery_heating_energy_modifier_curve_name: str | None
    """Enter the name of a performance curve which represents the change in heating electric consumption rate when heat reco..."""
    initial_heat_recovery_heating_energy_fraction: float | None
    """Enter the fractional electric consumption rate at the start of heat recovery mode. The electric consumption rate expo...; [W/W]; Default: 1.0"""
    heat_recovery_heating_energy_time_constant: float | None
    """Enter the time constant used to model the transition from cooling only mode to heat recovery mode; [hr]; Default: 0.0"""

class AirConditionerVariableRefrigerantFlowFluidTemperatureControl(IDFObject):
    """This is a key object in the new physics based VRF model applicable for Fluid Temperature Control It describes the Var..."""

    availability_schedule_name: str | None
    """Enter the name of a schedule that defines the availability of the unit Schedule values of 0 denote the unit is off. A..."""
    zone_terminal_unit_list_name: str | None
    """Enter the name of a ZoneTerminalUnitList. This list connects zone terminal units to this heat pump"""
    refrigerant_type: str | None
    """Default: R410A"""
    rated_evaporative_capacity: float | Literal["", "Autosize"] | None
    """Enter the total evaporative capacity in watts at rated conditions This is the capacity corresponding to the max compr...; [W]; Default: 40000.0"""
    rated_compressor_power_per_unit_of_rated_evaporative_capacity: float | None
    """Enter the rated compressor power per Watt of rated evaporative capacity [W/W] Rated compressor power corresponds to t...; [dimensionless]; Default: 0.35; Range: > 0.0"""
    minimum_outdoor_air_temperature_in_cooling_mode: float | None
    """Enter the minimum outdoor temperature allowed for cooling operation Cooling is disabled below this temperature; [C]; Default: -6.0"""
    maximum_outdoor_air_temperature_in_cooling_mode: float | None
    """Enter the maximum outdoor temperature allowed for cooling operation Cooling is disabled above this temperature; [C]; Default: 43.0"""
    minimum_outdoor_air_temperature_in_heating_mode: float | None
    """Enter the minimum outdoor temperature allowed for heating operation Heating is disabled below this temperature; [C]; Default: -20.0"""
    maximum_outdoor_air_temperature_in_heating_mode: float | None
    """Enter the maximum outdoor temperature allowed for heating operation Heating is disabled below this temperature; [C]; Default: 16.0"""
    reference_outdoor_unit_superheating: float | None
    """[deltaC]; Default: 3.0"""
    reference_outdoor_unit_subcooling: float | None
    """[deltaC]; Default: 5.0"""
    refrigerant_temperature_control_algorithm_for_indoor_unit: Literal["", "ConstantTemp", "VariableTemp"] | None
    """Default: VariableTemp"""
    reference_evaporating_temperature_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is ConstantTemp Evaporating temperature is the refrig...; [C]; Default: 6.0"""
    reference_condensing_temperature_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is ConstantTemp Condensing temperature is the refrige...; [C]; Default: 44.0"""
    variable_evaporating_temperature_minimum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Evaporating temperature is the refrig...; [C]; Default: 4.0"""
    variable_evaporating_temperature_maximum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Evaporating temperature is the refrig...; [C]; Default: 13.0"""
    variable_condensing_temperature_minimum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Condensing temperature is the refrige...; [C]; Default: 42.0"""
    variable_condensing_temperature_maximum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Condensing temperature is the refrige...; [C]; Default: 46.0"""
    outdoor_unit_fan_power_per_unit_of_rated_evaporative_capacity: float | None
    """Enter the outdoor unit fan power per Watt of rated evaporative capacity [W/W]; [dimensionless]; Default: 0.00425; Range: > 0.0"""
    outdoor_unit_fan_flow_rate_per_unit_of_rated_evaporative_capacity: float | None
    """This field is only used if the previous is set to autocalculate and performance input method is NominalCapacity; [m3/s-W]; Default: 7.5e-05; Range: > 0.0"""
    outdoor_unit_evaporating_temperature_function_of_superheating_curve_name: str | None
    outdoor_unit_condensing_temperature_function_of_subcooling_curve_name: str | None
    diameter_of_main_pipe_connecting_outdoor_unit_to_the_first_branch_joint: float | None
    """used to calculate the piping loss; [m]; Default: 0.0762; Range: >= 0.0"""
    length_of_main_pipe_connecting_outdoor_unit_to_the_first_branch_joint: float | None
    """used to calculate the heat loss of the main pipe; [m]; Default: 30.0; Range: >= 0.0"""
    equivalent_length_of_main_pipe_connecting_outdoor_unit_to_the_first_branch_joint: float | None
    """used to calculate the refrigerant pressure drop of the main pipe; [m]; Default: 36.0; Range: >= 0.0"""
    height_difference_between_outdoor_unit_and_indoor_units: float | None
    """Difference between outdoor unit height and indoor unit height Positive means outdoor unit is higher than indoor unit ...; [m]; Default: 5.0"""
    main_pipe_insulation_thickness: float | None
    """[m]; Default: 0.02; Range: >= 0.0"""
    main_pipe_insulation_thermal_conductivity: float | None
    """[W/m-K]; Default: 0.032; Range: >= 0.0"""
    crankcase_heater_power_per_compressor: float | None
    """Enter the value of the resistive heater located in the compressor(s). This heater is used to warm the refrigerant and...; [W]; Default: 33.0"""
    number_of_compressors: int | None
    """Enter the total number of compressor. This input is used only for crankcase heater calculations.; [dimensionless]; Default: 2"""
    ratio_of_compressor_size_to_total_compressor_capacity: float | None
    """Enter the ratio of the first stage compressor to total compressor capacity All other compressors are assumed to be eq...; [W/W]; Default: 0.5"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater: float | None
    """Enter the maximum outdoor temperature above which the crankcase heaters are disabled; [C]; Default: 5.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Select a defrost strategy. Reverse cycle reverses the operating mode from heating to cooling to melt frost formation ...; Default: Resistive"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Choose a defrost control type Either use a fixed Timed defrost period or select OnDemand to defrost only when necessary; Default: Timed"""
    defrost_energy_input_ratio_modifier_function_of_temperature_curve_name: str | None
    """A valid performance curve must be used if ReverseCycle defrost strategy is selected"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode Only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """Enter the size of the resistive defrost heating element Only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """Enter the maximum outdoor temperature above which the defrost operation is disabled; [C]; Default: 5.0"""
    compressor_maximum_delta_pressure: float | None
    """[Pa]; Default: 4500000.0; Range: >= 0.0, <= 50000000.0"""
    number_of_compressor_loading_index_entries: int | None
    """First index represents minimal capacity operation Last index represents full capacity operation; Default: 2; Range: >= 2, <= 9"""
    compressor_speed_at_loading_index: float | None
    loading_index_evaporative_capacity_multiplier_function_of_temperature_curve_name: str | None
    loading_index_compressor_power_multiplier_function_of_temperature_curve_name: str | None

class AirConditionerVariableRefrigerantFlowFluidTemperatureControlHR(IDFObject):
    """This is a key object in the new physics based VRF Heat Recovery (HR) model applicable for Fluid Temperature Control. ..."""

    availability_schedule_name: str | None
    """Enter the name of a schedule that defines the availability of the unit Schedule values of 0 denote the unit is off. A..."""
    zone_terminal_unit_list_name: str | None
    """Enter the name of a ZoneTerminalUnitList. This list connects zone terminal units to this heat pump"""
    refrigerant_type: str | None
    """Default: R410A"""
    rated_evaporative_capacity: float | Literal["", "Autosize"] | None
    """Enter the total evaporative capacity in watts at rated conditions This is the capacity corresponding to the max compr...; [W]; Default: 40000.0"""
    rated_compressor_power_per_unit_of_rated_evaporative_capacity: float | None
    """Enter the rated compressor power per Watt of rated evaporative capacity [W/W] Rated compressor power corresponds to t...; [dimensionless]; Default: 0.35; Range: > 0.0"""
    minimum_outdoor_air_temperature_in_cooling_only_mode: float | None
    """Enter the minimum outdoor temperature allowed for cooling operation Cooling is disabled below this temperature; [C]; Default: -6.0"""
    maximum_outdoor_air_temperature_in_cooling_only_mode: float | None
    """Enter the maximum outdoor temperature allowed for cooling operation Cooling is disabled above this temperature; [C]; Default: 43.0"""
    minimum_outdoor_air_temperature_in_heating_only_mode: float | None
    """Enter the minimum outdoor temperature allowed for heating operation Heating is disabled below this temperature; [C]; Default: -20.0"""
    maximum_outdoor_air_temperature_in_heating_only_mode: float | None
    """Enter the maximum outdoor temperature allowed for heating operation Heating is disabled below this temperature; [C]; Default: 16.0"""
    minimum_outdoor_temperature_in_heat_recovery_mode: float | None
    """The minimum outdoor temperature below which heat recovery mode will not operate.; [C]; Default: -20.0"""
    maximum_outdoor_temperature_in_heat_recovery_mode: float | None
    """The maximum outdoor temperature above which heat recovery mode will not operate.; [C]; Default: 43.0"""
    refrigerant_temperature_control_algorithm_for_indoor_unit: Literal["", "ConstantTemp", "VariableTemp"] | None
    """Default: VariableTemp"""
    reference_evaporating_temperature_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is ConstantTemp Evaporating temperature is the refrig...; [C]; Default: 6.0"""
    reference_condensing_temperature_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is ConstantTemp Condensing temperature is the refrige...; [C]; Default: 44.0"""
    variable_evaporating_temperature_minimum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Evaporating temperature is the refrig...; [C]; Default: 4.0"""
    variable_evaporating_temperature_maximum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Evaporating temperature is the refrig...; [C]; Default: 13.0"""
    variable_condensing_temperature_minimum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Condensing temperature is the refrige...; [C]; Default: 42.0"""
    variable_condensing_temperature_maximum_for_indoor_unit: float | None
    """This field is used if Refrigerant Temperature Control Algorithm is VariableTemp Condensing temperature is the refrige...; [C]; Default: 46.0"""
    outdoor_unit_evaporator_reference_superheating: float | None
    """[deltaC]; Default: 3.0"""
    outdoor_unit_condenser_reference_subcooling: float | None
    """[deltaC]; Default: 5.0"""
    outdoor_unit_evaporator_rated_bypass_factor: float | None
    """[dimensionless]; Default: 0.4; Range: > 0.0"""
    outdoor_unit_condenser_rated_bypass_factor: float | None
    """[dimensionless]; Default: 0.2; Range: > 0.0"""
    difference_between_outdoor_unit_evaporating_temperature_and_outdoor_air_temperature_in_heat_recovery_mode: (
        float | None
    )
    """[deltaC]; Default: 5.0"""
    outdoor_unit_heat_exchanger_capacity_ratio: float | None
    """Enter the rated capacity ratio between the main and supplementary outdoor unit heat exchangers [W/W]; [dimensionless]; Default: 0.3; Range: > 0.0"""
    outdoor_unit_fan_power_per_unit_of_rated_evaporative_capacity: float | None
    """Enter the outdoor unit fan power per Watt of rated evaporative capacity [W/W]; [dimensionless]; Default: 0.00425; Range: > 0.0"""
    outdoor_unit_fan_flow_rate_per_unit_of_rated_evaporative_capacity: float | None
    """Enter the outdoor unit fan flow rate per Watt of rated evaporative capacity [W/W]; [m3/s-W]; Default: 7.5e-05; Range: > 0.0"""
    outdoor_unit_evaporating_temperature_function_of_superheating_curve_name: str | None
    outdoor_unit_condensing_temperature_function_of_subcooling_curve_name: str | None
    diameter_of_main_pipe_for_suction_gas: float | None
    """used to calculate the piping loss; [m]; Default: 0.0762; Range: >= 0.0"""
    diameter_of_main_pipe_for_discharge_gas: float | None
    """used to calculate the piping loss; [m]; Default: 0.0762; Range: >= 0.0"""
    length_of_main_pipe_connecting_outdoor_unit_to_the_first_branch_joint: float | None
    """used to calculate the heat loss of the main pipe; [m]; Default: 30.0; Range: >= 0.0"""
    equivalent_length_of_main_pipe_connecting_outdoor_unit_to_the_first_branch_joint: float | None
    """used to calculate the refrigerant pressure drop of the main pipe; [m]; Default: 36.0; Range: >= 0.0"""
    height_difference_between_outdoor_unit_and_indoor_units: float | None
    """Difference between outdoor unit height and indoor unit height Positive means outdoor unit is higher than indoor unit ...; [m]; Default: 5.0"""
    main_pipe_insulation_thickness: float | None
    """[m]; Default: 0.02; Range: >= 0.0"""
    main_pipe_insulation_thermal_conductivity: float | None
    """[W/m-K]; Default: 0.032; Range: >= 0.0"""
    crankcase_heater_power_per_compressor: float | None
    """Enter the value of the resistive heater located in the compressor(s). This heater is used to warm the refrigerant and...; [W]; Default: 33.0"""
    number_of_compressors: int | None
    """Enter the total number of compressor. This input is used only for crankcase heater calculations.; [dimensionless]; Default: 2"""
    ratio_of_compressor_size_to_total_compressor_capacity: float | None
    """Enter the ratio of the first stage compressor to total compressor capacity All other compressors are assumed to be eq...; [W/W]; Default: 0.5"""
    maximum_outdoor_dry_bulb_temperature_for_crankcase_heater: float | None
    """Enter the maximum outdoor temperature above which the crankcase heaters are disabled; [C]; Default: 5.0"""
    defrost_strategy: Literal["", "Resistive", "ReverseCycle"] | None
    """Select a defrost strategy. Reverse cycle reverses the operating mode from heating to cooling to melt frost formation ...; Default: Resistive"""
    defrost_control: Literal["", "OnDemand", "Timed"] | None
    """Choose a defrost control type Either use a fixed Timed defrost period or select OnDemand to defrost only when necessary; Default: Timed"""
    defrost_energy_input_ratio_modifier_function_of_temperature_curve_name: str | None
    """A valid performance curve must be used if ReverseCycle defrost strategy is selected"""
    defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode Only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | Literal["", "Autosize"] | None
    """Enter the size of the resistive defrost heating element Only applicable if resistive defrost strategy is specified; [W] (W); Default: 0.0"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """Enter the maximum outdoor temperature above which the defrost operation is disabled; [C]; Default: 5.0"""
    initial_heat_recovery_cooling_capacity_fraction: float | None
    """This is used to describe the transition from Cooling Only mode to Heat Recovery mode Enter the fractional capacity av...; [W/W]; Default: 1.0"""
    heat_recovery_cooling_capacity_time_constant: float | None
    """This is used to describe the transition from Cooling Only mode to Heat Recovery mode Enter the time constant used to ...; [hr]; Default: 0.0"""
    initial_heat_recovery_cooling_energy_fraction: float | None
    """This is used to describe the transition from Cooling Only mode to Heat Recovery mode Enter the fractional electric co...; [W/W]; Default: 1.0"""
    heat_recovery_cooling_energy_time_constant: float | None
    """This is used to describe the transition from Cooling Only mode to Heat Recovery mode Enter the time constant used to ...; [hr]; Default: 0.0"""
    initial_heat_recovery_heating_capacity_fraction: float | None
    """This is used to describe the transition from Heating Only mode to Heat Recovery mode Enter the fractional capacity av...; [W/W]; Default: 1.0"""
    heat_recovery_heating_capacity_time_constant: float | None
    """This is used to describe the transition from Heating Only mode to Heat Recovery mode Enter the time constant used to ...; [hr]; Default: 0.0"""
    initial_heat_recovery_heating_energy_fraction: float | None
    """This is used to describe the transition from Heating Only mode to Heat Recovery mode Enter the fractional electric co...; [W/W]; Default: 1.0"""
    heat_recovery_heating_energy_time_constant: float | None
    """This is used to describe the transition from Heating Only mode to Heat Recovery mode Enter the time constant used to ...; [hr]; Default: 0.0"""
    compressor_maximum_delta_pressure: float | None
    """[Pa]; Default: 4500000.0; Range: >= 0.0, <= 50000000.0"""
    compressor_inverter_efficiency: float | None
    """Efficiency of the compressor inverter; [dimensionless]; Default: 0.95; Range: > 0.0, <= 1.0"""
    compressor_evaporative_capacity_correction_factor: float | None
    """Describe the evaporative capacity difference because of system configuration difference between test bed and real sys...; [dimensionless]; Default: 1.0; Range: > 0.0"""
    number_of_compressor_loading_index_entries: int | None
    """Load index describe the compressor operational state, either a single compressor or multiple compressors, at differen...; Default: 2; Range: >= 2"""
    compressor_speed_at_loading_index: float | None
    loading_index_evaporative_capacity_multiplier_function_of_temperature_curve_name: str | None
    loading_index_compressor_power_multiplier_function_of_temperature_curve_name: str | None

class ZoneTerminalUnitList(IDFObject):
    """List of variable refrigerant flow (VRF) terminal units served by a given VRF condensing unit. See ZoneHVAC:TerminalUn..."""

    zone_terminal_unit_name: str | None

class ControllerWaterCoil(IDFObject):
    """Controller for a water coil which is located directly in an air loop branch or outdoor air equipment list. Controls t..."""

    control_variable: Literal["HumidityRatio", "Temperature", "TemperatureAndHumidityRatio"] | None
    """keys HumidityRatio or TemperatureAndHumidityRatio requires a ZoneControl:Humidistat object along with SetpointManager..."""
    action: Literal["Normal", "Reverse"] | None
    """Leave blank to have this automatically selected from coil type. Chilled water coils should be reverse action Hot wate..."""
    actuator_variable: Literal["Flow"] | None
    sensor_node_name: str | None
    actuator_node_name: str | None
    controller_convergence_tolerance: float | Literal["", "Autosize"] | None
    """[deltaC]; Default: Autosize"""
    maximum_actuated_flow: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    minimum_actuated_flow: float | None
    """[m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""

class ControllerOutdoorAir(IDFObject):
    """Controller to set the outdoor air flow rate for an air loop. Control options include fixed, proportional, scheduled, ..."""

    relief_air_outlet_node_name: str | None
    return_air_node_name: str | None
    mixed_air_node_name: str | None
    actuator_node_name: str | None
    """Outdoor air inlet node entering the first pre-treat component if any"""
    minimum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """If there is a Mechanical Ventilation Controller (Controller:MechanicalVentilation), note that this value times the Mi...; [m3/s]"""
    maximum_outdoor_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    economizer_control_type: (
        Literal[
            "",
            "DifferentialDryBulb",
            "DifferentialDryBulbAndEnthalpy",
            "DifferentialEnthalpy",
            "ElectronicEnthalpy",
            "FixedDewPointAndDryBulb",
            "FixedDryBulb",
            "FixedEnthalpy",
            "NoEconomizer",
        ]
        | None
    )
    """Default: NoEconomizer"""
    economizer_control_action_type: Literal["", "MinimumFlowWithBypass", "ModulateFlow"] | None
    """Default: ModulateFlow"""
    economizer_maximum_limit_dry_bulb_temperature: float | None
    """Enter the maximum outdoor dry-bulb temperature limit for FixedDryBulb economizer control type. No input or blank inpu...; [C]"""
    economizer_maximum_limit_enthalpy: float | None
    """Enter the maximum outdoor enthalpy limit for FixedEnthalpy economizer control type. No input or blank input means thi...; [J/kg]"""
    economizer_maximum_limit_dewpoint_temperature: float | None
    """Enter the maximum outdoor dewpoint temperature limit for FixedDewPointAndDryBulb economizer control type. No input or...; [C]"""
    electronic_enthalpy_limit_curve_name: str | None
    """Enter the name of a quadratic or cubic curve which defines the maximum outdoor humidity ratio (function of outdoor dr..."""
    economizer_minimum_limit_dry_bulb_temperature: float | None
    """Enter the minimum outdoor dry-bulb temperature limit for economizer control. No input or blank input means this limit...; [C]"""
    lockout_type: Literal["", "LockoutWithCompressor", "LockoutWithHeating", "NoLockout"] | None
    """Default: NoLockout"""
    minimum_limit_type: Literal["", "FixedMinimum", "ProportionalMinimum"] | None
    """Default: ProportionalMinimum"""
    minimum_outdoor_air_schedule_name: str | None
    """Schedule values multiply the minimum outdoor air flow rate"""
    minimum_fraction_of_outdoor_air_schedule_name: str | None
    """schedule values multiply the design/mixed air flow rate"""
    maximum_fraction_of_outdoor_air_schedule_name: str | None
    """schedule values multiply the design/mixed air flow rate"""
    mechanical_ventilation_controller_name: str | None
    """Enter the name of a Controller:MechanicalVentilation object. Optional field for defining outdoor ventilation air base..."""
    time_of_day_economizer_control_schedule_name: str | None
    """Optional schedule to simulate 'push-button' type economizer control. Schedule values greater than 0 indicate time-of-..."""
    high_humidity_control: Literal["", "No", "Yes"] | None
    """Optional field to enable modified outdoor air flow rates based on zone relative humidity. Select Yes to modify outdoo...; Default: No"""
    humidistat_control_zone_name: str | None
    """Enter the name of the zone where the humidistat is located. This field is only used when the field High Humidity Cont..."""
    high_humidity_outdoor_air_flow_ratio: float | None
    """Enter the ratio of outdoor air to the maximum outdoor air flow rate when modified air flow rates are active based on ...; Default: 1.0; Range: > 0.0"""
    control_high_indoor_humidity_based_on_outdoor_humidity_ratio: Literal["", "No", "Yes"] | None
    """If No is selected, the outdoor air flow rate is modified any time indoor relative humidity is above the humidistat se...; Default: Yes"""
    heat_recovery_bypass_control_type: (
        Literal["", "BypassWhenOAFlowGreaterThanMinimum", "BypassWhenWithinEconomizerLimits"] | None
    )
    """BypassWhenWithinEconomizerLimits specifies that heat recovery is active only when the economizer is off because condi...; Default: BypassWhenWithinEconomizerLimits"""
    economizer_operation_staging: Literal["", "EconomizerFirst", "InterlockedWithMechanicalCooling"] | None
    """This input is only used when the Controller:OutdoorAir is used in conjunction with an AirLoopHVAC:UnitarySystem with ...; Default: InterlockedWithMechanicalCooling; Since: 23.2.0"""

class ControllerMechanicalVentilation(IDFObject):
    """This object is used in conjunction with Controller:OutdoorAir to specify outdoor ventilation air based on outdoor air..."""

    availability_schedule_name: str | None
    """If this field is blank, the controller uses the values from the associated Controller:OutdoorAir. Schedule values gre..."""
    demand_controlled_ventilation: Literal["", "No", "Yes"] | None
    """Default: No"""
    system_outdoor_air_method: (
        Literal[
            "",
            "IndoorAirQualityProcedure",
            "IndoorAirQualityProcedureCombined",
            "IndoorAirQualityProcedureGenericContaminant",
            "ProportionalControlBasedOnDesignOARate",
            "ProportionalControlBasedOnDesignOccupancy",
            "ProportionalControlBasedOnOccupancySchedule",
            "Standard62.1VentilationRateProcedure",
            "Standard62.1VentilationRateProcedureWithLimit",
            "ZoneSum",
        ]
        | None
    )
    """Default: Standard62.1VentilationRateProcedure"""
    zone_maximum_outdoor_air_fraction: float | None
    """[dimensionless]; Default: 1.0; Range: > 0.0"""
    zone_or_zonelist_name: str | None
    """Since: 9.3.0"""
    design_specification_outdoor_air_object_name: str | None
    design_specification_zone_air_distribution_object_name: str | None

class AirLoopHVACControllerList(IDFObject):
    """List controllers in order of control sequence"""

    controller_1_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_1_name: str | None
    controller_2_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_2_name: str | None
    controller_3_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_3_name: str | None
    controller_4_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_4_name: str | None
    controller_5_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_5_name: str | None
    controller_6_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_6_name: str | None
    controller_7_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_7_name: str | None
    controller_8_object_type: Literal["Controller:OutdoorAir", "Controller:WaterCoil"] | None
    controller_8_name: str | None

class AirLoopHVAC(IDFObject):
    """Defines a central forced air system."""

    controller_list_name: str | None
    """Enter the name of an AirLoopHVAC:ControllerList object."""
    availability_manager_list_name: str | None
    """Enter the name of an AvailabilityManagerAssignmentList object."""
    design_supply_air_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s]; Default: 0.0"""
    branch_list_name: str | None
    """Name of a BranchList containing all the branches in this air loop"""
    connector_list_name: str | None
    """Name of a ConnectorList containing all the splitters and mixers in the loop"""
    supply_side_inlet_node_name: str | None
    """Name of inlet node where air enters the supply side of the air loop. If this air loop has a return path, then this no..."""
    demand_side_outlet_node_name: str | None
    """Name of outlet node where return air leaves the demand side and enters the supply side. Required if this air loop has..."""
    demand_side_inlet_node_names: str | None
    """Name of a Node or NodeList containing the inlet node(s) supplying air to zone equipment."""
    supply_side_outlet_node_names: str | None
    """Name of a Node or NodeList containing the outlet node(s) supplying air to the demand side."""
    design_return_air_flow_fraction_of_supply_air_flow: float | None
    """The design return air flow rate as a fraction of supply air flow rate with no exhaust. This can be used to model a pr...; Default: 1.0; Range: >= 0.0"""

class AirLoopHVACOutdoorAirSystemEquipmentList(IDFObject):
    """List equipment in simulation order"""

    component_1_object_type: str | None
    component_1_name: str | None
    component_2_object_type: str | None
    component_2_name: str | None
    component_3_object_type: str | None
    component_3_name: str | None
    component_4_object_type: str | None
    component_4_name: str | None
    component_5_object_type: str | None
    component_5_name: str | None
    component_6_object_type: str | None
    component_6_name: str | None
    component_7_object_type: str | None
    component_7_name: str | None
    component_8_object_type: str | None
    component_8_name: str | None
    component_9_object_type: str | None
    component_9_name: str | None

class AirLoopHVACOutdoorAirSystem(IDFObject):
    """Outdoor air subsystem for an AirLoopHVAC. Includes an outdoor air mixing box and optional outdoor air conditioning eq..."""

    controller_list_name: str | None
    """Enter the name of an AirLoopHVAC:ControllerList object or blank if this object is used in AirLoopHVAC:DedicatedOutdoo..."""
    outdoor_air_equipment_list_name: str | None
    """Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object."""

class OutdoorAirMixer(IDFObject):
    """Outdoor air mixer. Node names cannot be duplicated within a single OutdoorAir:Mixer object or across all outdoor air ..."""

    mixed_air_node_name: str | None
    """Name of Mixed Air Node"""
    outdoor_air_stream_node_name: str | None
    """Name of Outdoor Air Stream Node"""
    relief_air_stream_node_name: str | None
    """Name of Relief Air Stream Node"""
    return_air_stream_node_name: str | None
    """Name of Return Air Stream Node"""

class AirLoopHVACZoneSplitter(IDFObject):
    """Split one air stream into N outlet streams (currently 500 per air loop, but extensible). Node names cannot be duplica..."""

    inlet_node_name: str | None
    outlet_node_name: str | None

class AirLoopHVACSupplyPlenum(IDFObject):
    """Connects 1 zone inlet air stream, through zone supply plenum, to one or more outlets. Node names cannot be duplicated..."""

    zone_name: str | None
    zone_node_name: str | None
    inlet_node_name: str | None
    outlet_node_name: str | None

class AirLoopHVACSupplyPath(IDFObject):
    """A supply path can only contain AirLoopHVAC:ZoneSplitter and AirLoopHVAC:SupplyPlenum objects which may be in series o..."""

    supply_air_path_inlet_node_name: str | None
    component_object_type: str | None
    component_name: str | None

class AirLoopHVACZoneMixer(IDFObject):
    """Mix N inlet air streams into one (currently 500 per air loop, but extensible). Node names cannot be duplicated within..."""

    outlet_node_name: str | None
    inlet_node_name: str | None

class AirLoopHVACReturnPlenum(IDFObject):
    """Connects N zone inlet air streams, through zone return plenum, to outlet (currently 500 per air loop) Node names cann..."""

    zone_name: str | None
    zone_node_name: str | None
    outlet_node_name: str | None
    induced_air_outlet_node_or_nodelist_name: str | None
    inlet_node_name: str | None

class AirLoopHVACReturnPath(IDFObject):
    """A return air path can only contain one AirLoopHVAC:ZoneMixer and one or more AirLoopHVAC:ReturnPlenum objects."""

    return_air_path_outlet_node_name: str | None
    component_object_type: str | None
    component_name: str | None

class AirLoopHVACExhaustSystem(IDFObject):
    """Defines a general exhaust system with a central exhaust fan drawing from one or more ZoneHVAC:ExhaustControl outlet n...; Since: 22.1.0"""

    zone_mixer_name: str | None
    """The name of the exhaust system AirLoopHVAC:ZoneMixer"""
    fan_object_type: Literal["Fan:ComponentModel", "Fan:SystemModel"] | None
    fan_name: str | None

class AirLoopHVACDedicatedOutdoorAirSystem(IDFObject):
    """Defines a central forced air system to provide dedicated outdoor air to multiple AirLoopHVACs.; Since: 9.2.0"""

    airloophvac_outdoorairsystem_name: str | None
    """Enter the name of an AirLoopHVAC:OutdoorAirSystem object."""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    airloophvac_mixer_name: str | None
    """Name of AirLoopHVAC:Mixer."""
    airloophvac_splitter_name: str | None
    """Name of AirLoopHVAC:Splitter."""
    preheat_design_temperature: float | None
    """[C]"""
    preheat_design_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    precool_design_temperature: float | None
    """[C]"""
    precool_design_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    number_of_airloophvac: int | None
    """Enter the number of the AirLoopHVAC served by AirLoopHVAC:DedicatedOutdoorAirSystem"""
    airloophvac_name: str | None

class AirLoopHVACMixer(IDFObject):
    """Mix N inlet air streams from Relief Air Stream Node in OutdoorAir:Mixer objects served by AirLoopHVAC objects listed ...; Since: 9.2.0"""

    outlet_node_name: str | None
    inlet_node_name: str | None

class AirLoopHVACSplitter(IDFObject):
    """Split one air stream from AirLoopHVAC:DedicatedOutdoorAirSystem outlet node into N outlet streams (currently 10 as de...; Since: 9.2.0"""

    inlet_node_name: str | None
    outlet_node_name: str | None

class Branch(IDFObject):
    """List components on the branch in simulation and connection order Note: this should NOT include splitters or mixers wh..."""

    pressure_drop_curve_name: str | None
    """Optional field to include this branch in plant pressure drop calculations This field is only relevant for branches in..."""
    component_object_type: str | None
    component_name: str | None
    component_inlet_node_name: str | None
    component_outlet_node_name: str | None

class BranchList(IDFObject):
    """Branches MUST be listed in Flow order: Inlet branch, then parallel branches, then Outlet branch. Branches are simulat..."""

    branch_name: str | None

class ConnectorSplitter(IDFObject):
    """Split one air/water stream into N outlet streams. Branch names cannot be duplicated within a single Splitter list."""

    inlet_branch_name: str | None
    outlet_branch_name: str | None

class ConnectorMixer(IDFObject):
    """Mix N inlet air/water streams into one. Branch names cannot be duplicated within a single mixer list."""

    outlet_branch_name: str | None
    inlet_branch_name: str | None

class ConnectorList(IDFObject):
    """only two connectors allowed per loop if two entered, one must be Connector:Splitter and one must be Connector:Mixer"""

    connector_1_object_type: Literal["Connector:Mixer", "Connector:Splitter"] | None
    connector_1_name: str | None
    connector_2_object_type: Literal["Connector:Mixer", "Connector:Splitter"] | None
    connector_2_name: str | None

class NodeList(IDFObject):
    """This object is used in places where lists of nodes may be needed, e.g. ZoneHVAC:EquipmentConnections field Zone Air I..."""

    node_name: str | None

class OutdoorAirNode(IDFObject):
    """This object sets the temperature and humidity conditions for an outdoor air node. It allows the height above ground t..."""

    height_above_ground: float | None
    """A value less than zero indicates that the height will be ignored and the weather file conditions will be used.; [m]; Default: -1.0"""
    drybulb_temperature_schedule_name: str | None
    """Schedule values are real numbers, -100.0 to 100.0, units C"""
    wetbulb_temperature_schedule_name: str | None
    """Schedule values are real numbers, -100.0 to 100.0, units C"""
    wind_speed_schedule_name: str | None
    """Schedule values are real numbers, 0.0 to 40.0, units m/s"""
    wind_direction_schedule_name: str | None
    """Schedule values are real numbers, 0.0 to 360.0, units degree"""
    wind_pressure_coefficient_curve_name: str | None
    """The name of the AirflowNetwork:MultiZone:WindPressureCoefficientValues, curve, or table object specifying the wind pr..."""
    symmetric_wind_pressure_coefficient_curve: Literal["", "No", "Yes"] | None
    """Specify whether the pressure curve is symmetric or not. Specify Yes for curves that should be evaluated from 0 to 180...; Default: No"""
    wind_angle_type: Literal["", "Absolute", "Relative"] | None
    """Specify whether the angle used to compute the wind pressure coefficient is absolute or relative Specify Relative to c...; Default: Absolute"""

class OutdoorAirNodeList(IDFObject):
    """This object sets the temperature and humidity conditions for an outdoor air node using the weather data values. to va..."""

    node_or_nodelist_name: str | None

class PipeAdiabatic(IDFObject):
    """Passes Inlet Node state variables to Outlet Node state variables"""

    inlet_node_name: str | None
    outlet_node_name: str | None

class PipeAdiabaticSteam(IDFObject):
    """Passes Inlet Node state variables to Outlet Node state variables"""

    inlet_node_name: str | None
    outlet_node_name: str | None

class PipeIndoor(IDFObject):
    """Pipe model with transport delay and heat transfer to the environment."""

    construction_name: str | None
    fluid_inlet_node_name: str | None
    fluid_outlet_node_name: str | None
    environment_type: Literal["", "Schedule", "Zone"] | None
    """Default: Zone"""
    ambient_temperature_zone_name: str | None
    ambient_temperature_schedule_name: str | None
    ambient_air_velocity_schedule_name: str | None
    pipe_inside_diameter: float | None
    """[m] (in); Range: > 0.0"""
    pipe_length: float | None
    """[m]; Range: > 0.0"""

class PipeOutdoor(IDFObject):
    """Pipe model with transport delay and heat transfer to the environment."""

    construction_name: str | None
    fluid_inlet_node_name: str | None
    fluid_outlet_node_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    pipe_inside_diameter: float | None
    """[m] (in); Range: > 0.0"""
    pipe_length: float | None
    """[m]; Range: > 0.0"""

class PipeUnderground(IDFObject):
    """Buried Pipe model: For pipes buried at a depth less than one meter, this is an alternative object to: HeatExchanger:S..."""

    construction_name: str | None
    fluid_inlet_node_name: str | None
    fluid_outlet_node_name: str | None
    sun_exposure: Literal["NoSun", "SunExposed"] | None
    pipe_inside_diameter: float | None
    """pipe thickness is defined in the Construction object; [m] (in); Range: > 0.0"""
    pipe_length: float | None
    """[m]; Range: > 0.0"""
    soil_material_name: str | None
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None

class PipingSystemUndergroundDomain(IDFObject):
    """The ground domain object for underground piping system simulation."""

    xmax: float | None
    """Domain extent in the local 'X' direction; [m]; Range: > 0.0"""
    ymax: float | None
    """Domain extent in the local 'Y' direction; [m]; Range: > 0.0"""
    zmax: float | None
    """Domain extent in the local 'Y' direction; [m]; Range: > 0.0"""
    x_direction_mesh_density_parameter: int | None
    """If mesh type is symmetric geometric, this should be an even number.; Default: 4; Range: > 0"""
    x_direction_mesh_type: Literal["SymmetricGeometric", "Uniform"] | None
    x_direction_geometric_coefficient: float | None
    """optional Only used if mesh type is symmetric geometric; Default: 1.3; Range: >= 1.0, <= 2.0"""
    y_direction_mesh_density_parameter: int | None
    """If mesh type is symmetric geometric, this should be an even number.; Default: 4; Range: > 0"""
    y_direction_mesh_type: Literal["SymmetricGeometric", "Uniform"] | None
    y_direction_geometric_coefficient: float | None
    """optional Only used if mesh type is symmetric geometric; Default: 1.3; Range: >= 1.0, <= 2.0"""
    z_direction_mesh_density_parameter: int | None
    """If mesh type is symmetric geometric, this should be an even number.; Default: 4; Range: > 0"""
    z_direction_mesh_type: Literal["SymmetricGeometric", "Uniform"] | None
    z_direction_geometric_coefficient: float | None
    """optional Only used if mesh type is symmetric geometric; Default: 1.3; Range: >= 1.0, <= 2.0"""
    soil_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Range: > 0.0"""
    soil_specific_heat: float | None
    """This is a dry soil property, which is adjusted for freezing effects by the simulation algorithm.; [J/kg-K]; Range: > 0.0"""
    soil_moisture_content_volume_fraction: float | None
    """[percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    soil_moisture_content_volume_fraction_at_saturation: float | None
    """[percent]; Default: 50.0; Range: >= 0.0, <= 100.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    this_domain_includes_basement_surface_interaction: Literal["", "No", "Yes"] | None
    """if Yes, then the following basement inputs are used if No, then the following basement inputs are *ignored*; Default: No"""
    width_of_basement_floor_in_ground_domain: float | None
    """Required only if Domain Has Basement Interaction; [m]"""
    depth_of_basement_wall_in_ground_domain: float | None
    """Required only if Domain Has Basement Interaction; [m]"""
    shift_pipe_x_coordinates_by_basement_width: Literal["No", "Yes"] | None
    """Required only if Domain Has Basement Interaction"""
    name_of_basement_wall_boundary_condition_model: str | None
    """Required only if Domain Has Basement Interaction"""
    name_of_basement_floor_boundary_condition_model: str | None
    """Required only if Domain Has Basement Interaction"""
    convergence_criterion_for_the_outer_cartesian_domain_iteration_loop: float | None
    """[deltaC]; Default: 0.001; Range: >= 1e-06, <= 0.5"""
    maximum_iterations_in_the_outer_cartesian_domain_iteration_loop: int | None
    """Default: 500; Range: >= 3, <= 10000"""
    evapotranspiration_ground_cover_parameter: float | None
    """This specifies the ground cover effects during evapotranspiration calculations. The value roughly represents the foll...; Default: 0.4; Range: >= 0.0, <= 1.5"""
    number_of_pipe_circuits_entered_for_this_domain: int | None
    """Range: >= 1"""
    pipe_circuit: str | None

class PipingSystemUndergroundPipeCircuit(IDFObject):
    """The pipe circuit object in an underground piping system. This object is simulated within an underground piping domain..."""

    pipe_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    pipe_density: float | None
    """[kg/m3]; Range: > 0.0"""
    pipe_specific_heat: float | None
    """[J/kg-K]; Range: > 0.0"""
    pipe_inner_diameter: float | None
    """[m]; Range: > 0.0"""
    pipe_outer_diameter: float | None
    """[m]; Range: > 0.0"""
    design_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    circuit_inlet_node: str | None
    circuit_outlet_node: str | None
    convergence_criterion_for_the_inner_radial_iteration_loop: float | None
    """[deltaC]; Default: 0.001; Range: >= 1e-06, <= 0.5"""
    maximum_iterations_in_the_inner_radial_iteration_loop: int | None
    """Default: 500; Range: >= 3, <= 10000"""
    number_of_soil_nodes_in_the_inner_radial_near_pipe_mesh_region: int | None
    """Default: 3; Range: >= 1, <= 15"""
    radial_thickness_of_inner_radial_near_pipe_mesh_region: float | None
    """Required because it must be selected by user instead of being inferred from circuit/domain object inputs.; Range: > 0.0"""
    number_of_pipe_segments_entered_for_this_pipe_circuit: int | None
    """Range: >= 1"""
    pipe_segment: str | None

class PipingSystemUndergroundPipeSegment(IDFObject):
    """The pipe segment to be used in an underground piping system This object represents a single pipe leg positioned axial..."""

    x_position: float | None
    """This segment will be centered at this distance from the x=0 domain surface or the basement wall surface, based on whe...; [m]; Range: > 0.0"""
    y_position: float | None
    """This segment will be centered at this distance away from the ground surface; thus this value represents the burial de...; [m]; Range: > 0.0"""
    flow_direction: Literal["DecreasingZ", "IncreasingZ"] | None
    """This segment will be simulated such that the flow is in the selected direction. This can allow for detailed analysis ..."""

class Duct(IDFObject):
    """Passes inlet node state variables to outlet node state variables"""

    inlet_node_name: str | None
    outlet_node_name: str | None

class PumpVariableSpeed(IDFObject):
    """This pump model is described in the ASHRAE secondary HVAC toolkit."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_maximum_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_pump_head: float | None
    """default head is 60 feet; [Pa] (ftH2O); Default: 179352.0"""
    design_power_consumption: float | Literal["Autosize"] | None
    """When autosized the type of scaling factor is chosen in the input field Design Power Sizing Method; [W] (W)"""
    motor_efficiency: float | None
    """This is the motor efficiency only. When the Design Power Consumption is autosized using PowerPerFlowPerPressure, the ...; Default: 0.9; Range: > 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    coefficient_1_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_2_of_the_part_load_performance_curve: float | None
    """Default: 1.0"""
    coefficient_3_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_4_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    design_minimum_flow_rate: float | Literal["", "Autosize"] | None
    """When autosized the scaling factor is the input field Design Minimum Flow Rate Fraction; [m3/s] (gal/min); Default: Autosize"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Default: Continuous"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the rated flow rate of the pump on a time basis. Default is that the pump is on and runs according to its ot..."""
    pump_curve_name: str | None
    """This references any single independent variable polynomial curve in order to do pressure vs. flow calculations for th..."""
    impeller_diameter: float | None
    """'D' in above expression in field A6; [m]"""
    vfd_control_type: Literal["ManualControl", "PressureSetpointControl"] | None
    pump_rpm_schedule_name: str | None
    """Modifies the rpm of the pump on a time basis. Default is that the pump is on and runs according to its other operatio..."""
    minimum_pressure_schedule: str | None
    """[Pa]"""
    maximum_pressure_schedule: str | None
    """[Pa]"""
    minimum_rpm_schedule: str | None
    """[rev/min]"""
    maximum_rpm_schedule: str | None
    """[rev/min]"""
    zone_name: str | None
    """optional, if used pump losses transferred to zone as internal gains"""
    skin_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    design_power_sizing_method: Literal["", "PowerPerFlow", "PowerPerFlowPerPressure"] | None
    """Used to indicate which sizing factor is used to calculate Design Power Consumption. PowerPerFlow indicates that Desig...; Default: PowerPerFlowPerPressure"""
    design_electric_power_per_unit_flow_rate: float | None
    """Used to size Design Power Consumption from design flow rate; [W/(m3/s)] (W/(gal/min)); Default: 348701.1; Range: > 0.0"""
    design_shaft_power_per_unit_flow_rate_per_unit_head: float | None
    """Used to size Design Power Consumption from design flow rate for head and motor efficiency; [W/((m3/s)-Pa)] (W/((gal/min)-ftH20)); Default: 1.282051282; Range: > 0.0"""
    design_minimum_flow_rate_fraction: float | None
    """Used to size Design Minimum Flow Rate; Default: 0.0; Range: >= 0.0, <= 1.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General; Since: 9.1.0"""

class PumpConstantSpeed(IDFObject):
    """This pump model is described in the ASHRAE secondary HVAC toolkit."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_pump_head: float | None
    """default head is 60 feet; [Pa] (ftH2O); Default: 179352.0"""
    design_power_consumption: float | Literal["Autosize"] | None
    """When autosized the type of scaling factor is chosen in the input field Design Power Sizing Method; [W] (W)"""
    motor_efficiency: float | None
    """This is the motor efficiency only. When the Design Power Consumption is autosized using PowerPerFlowPerPressure, the ...; Default: 0.9; Range: > 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Default: Continuous"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the rated flow rate of the pump on a time basis. Default is that the pump is on and runs according to its ot..."""
    pump_curve_name: str | None
    """This references any single independent variable polynomial curve in order to do pressure vs. flow calculations for th..."""
    impeller_diameter: float | None
    """'D' in above expression in field A6; [m]"""
    rotational_speed: float | None
    """'N' in above expression in field A6; [rev/min]"""
    zone_name: str | None
    """optional, if used pump losses transferred to zone as internal gains"""
    skin_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    design_power_sizing_method: Literal["", "PowerPerFlow", "PowerPerFlowPerPressure"] | None
    """Used to indicate which sizing factor is used to calculate Design Power Consumption. PowerPerFlow indicates that Desig...; Default: PowerPerFlowPerPressure"""
    design_electric_power_per_unit_flow_rate: float | None
    """Used to size Design Power Consumption from design flow rate; [W/(m3/s)] (W/(gal/min)); Default: 348701.1; Range: > 0.0"""
    design_shaft_power_per_unit_flow_rate_per_unit_head: float | None
    """Used to size Design Power Consumption from design flow rate for head and motor efficiency; [W/((m3/s)-Pa)] (W/((gal/min)-ftH20)); Default: 1.282051282; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General; Since: 9.1.0"""

class PumpVariableSpeedCondensate(IDFObject):
    """This pump model is described in the ASHRAE secondary HVAC toolkit. Variable Speed Condensate pump for Steam Systems"""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_steam_volume_flow_rate: float | Literal["Autosize"] | None
    """this is the volume of steam before condensation, the volume of condensate is much lower and calculated from steam den...; [m3/s] (gal/min)"""
    design_pump_head: float | None
    """default head is 60 feet; [Pa] (ftH2O); Default: 179352.0"""
    design_power_consumption: float | Literal["Autosize"] | None
    """When autosized the type of scaling factor is chosen in the input field Design Power Sizing Method; [W] (W)"""
    motor_efficiency: float | None
    """This is the motor efficiency only. When the Design Power Consumption is autosized using PowerPerFlowPerPressure, the ...; Default: 0.9; Range: > 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    coefficient_1_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_2_of_the_part_load_performance_curve: float | None
    """Default: 1.0"""
    coefficient_3_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_4_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the rated flow rate of the pump on a time basis. Default is that the pump is on and runs according to its ot..."""
    zone_name: str | None
    """optional, if used pump losses transferred to zone as internal gains"""
    skin_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    design_power_sizing_method: Literal["", "PowerPerFlow", "PowerPerFlowPerPressure"] | None
    """Used to indicate which sizing factor is used to calculate Design Power Consumption. PowerPerFlow indicates that Desig...; Default: PowerPerFlowPerPressure"""
    design_electric_power_per_unit_flow_rate: float | None
    """Used to size Design Power Consumption from design flow rate; [W/(m3/s)] (W/(gal/min)); Default: 348701.1; Range: > 0.0"""
    design_shaft_power_per_unit_flow_rate_per_unit_head: float | None
    """Used to size Design Power Consumption from design flow rate for head and motor efficiency; [W/((m3/s)-Pa)] (W/((gal/min)-ftH20)); Default: 1.282051282; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General; Since: 9.1.0"""

class HeaderedPumpsConstantSpeed(IDFObject):
    """This Headered pump object describes a pump bank with more than 1 pump in parallel"""

    inlet_node_name: str | None
    outlet_node_name: str | None
    total_design_flow_rate: float | Literal["Autosize"] | None
    """If the field is not autosized set to the flow rate to the total flow when all pumps are running at full load; [m3/s] (gal/min)"""
    number_of_pumps_in_bank: int | None
    flow_sequencing_control_scheme: Literal["", "Sequential"] | None
    """Default: Sequential"""
    design_pump_head: float | None
    """default head is 60 feet; [Pa] (ftH2O); Default: 179352.0"""
    design_power_consumption: float | Literal["Autosize"] | None
    """If the field is not autosized set to the power consumed by the pump bank when all the pumps are running at nominal fl...; [W] (W)"""
    motor_efficiency: float | None
    """This is the motor efficiency only. When the Design Power Consumption is autosized using PowerPerFlowPerPressure, the ...; Default: 0.9; Range: > 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Default: Continuous"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the rated flow rate of the pump on a time basis. Default is that the pump is on and runs according to its ot..."""
    zone_name: str | None
    """optional, if used pump losses transferred to zone as internal gains"""
    skin_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    design_power_sizing_method: Literal["", "PowerPerFlow", "PowerPerFlowPerPressure"] | None
    """Used to indicate which sizing factor is used to calculate Design Power Consumption. PowerPerFlow indicates that Desig...; Default: PowerPerFlowPerPressure"""
    design_electric_power_per_unit_flow_rate: float | None
    """Used to size Design Power Consumption from design flow rate; [W/(m3/s)] (W/(gal/min)); Default: 348701.1; Range: > 0.0"""
    design_shaft_power_per_unit_flow_rate_per_unit_head: float | None
    """Used to size Design Power Consumption from design flow rate for head and motor efficiency; [W/((m3/s)-Pa)] (W/((gal/min)-ftH20)); Default: 1.282051282; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General; Since: 9.1.0"""

class HeaderedPumpsVariableSpeed(IDFObject):
    """This Headered pump object describes a pump bank with more than 1 pump in parallel"""

    inlet_node_name: str | None
    outlet_node_name: str | None
    total_design_flow_rate: float | Literal["Autosize"] | None
    """If the field is not autosized set to the flow rate to the total flow when all pumps are running at full load; [m3/s] (gal/min)"""
    number_of_pumps_in_bank: int | None
    flow_sequencing_control_scheme: Literal["", "Sequential"] | None
    """Default: Sequential"""
    design_pump_head: float | None
    """default head is 60 feet; [Pa] (ftH2O); Default: 179352.0"""
    design_power_consumption: float | Literal["Autosize"] | None
    """If the field is not autosized set to the power consumed by the pump bank when all the pumps are running at nominal fl...; [W] (W)"""
    motor_efficiency: float | None
    """This is the motor efficiency only. When the Design Power Consumption is autosized using PowerPerFlowPerPressure, the ...; Default: 0.9; Range: > 0.0, <= 1.0"""
    fraction_of_motor_inefficiencies_to_fluid_stream: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    coefficient_1_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_2_of_the_part_load_performance_curve: float | None
    """Default: 1.0"""
    coefficient_3_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    coefficient_4_of_the_part_load_performance_curve: float | None
    """Default: 0.0"""
    minimum_flow_rate_fraction: float | None
    """This value can be zero and will be defaulted to that if not specified.; Default: 0.0; Range: >= 0.0, <= 1.0"""
    pump_control_type: Literal["", "Continuous", "Intermittent"] | None
    """Default: Continuous"""
    pump_flow_rate_schedule_name: str | None
    """Modifies the rated flow rate of the pump on a time basis. Default is that the pump is on and runs according to its ot..."""
    zone_name: str | None
    """optional, if used pump losses transferred to zone as internal gains"""
    skin_loss_radiative_fraction: float | None
    """optional. If zone identified in previous field then this determines the split between convection and radiation for th...; Range: >= 0.0, <= 1.0"""
    design_power_sizing_method: Literal["", "PowerPerFlow", "PowerPerFlowPerPressure"] | None
    """Used to indicate which sizing factor is used to calculate Design Power Consumption. PowerPerFlow indicates that Desig...; Default: PowerPerFlowPerPressure"""
    design_electric_power_per_unit_flow_rate: float | None
    """Used to size Design Power Consumption from design flow rate; [W/(m3/s)] (W/(gal/min)); Default: 348701.1; Range: > 0.0"""
    design_shaft_power_per_unit_flow_rate_per_unit_head: float | None
    """Used to size Design Power Consumption from design flow rate for head and motor efficiency; [W/((m3/s)-Pa)] (W/((gal/min)-ftH20)); Default: 1.282051282; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General; Since: 9.1.0"""

class TemperingValve(IDFObject):
    """Temperature-controlled diversion valve used to divert flow around one or more plant components such as a hot water he..."""

    inlet_node_name: str | None
    """Name of a Node"""
    outlet_node_name: str | None
    """Name of a Node"""
    stream_2_source_node_name: str | None
    """Name of a Node"""
    temperature_setpoint_node_name: str | None
    """Name of a Node"""
    pump_outlet_node_name: str | None

class LoadProfilePlant(IDFObject):
    """Used to simulate a scheduled plant loop demand profile. Load and flow rate are specified using schedules. Positive va..."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    load_schedule_name: str | None
    """Schedule values are load in [W]"""
    peak_flow_rate: float | None
    """[m3/s] (gal/min)"""
    flow_rate_fraction_schedule_name: str | None
    plant_loop_fluid_type: Literal["", "Steam", "Water"] | None
    """Default: Water; Since: 23.2.0"""
    degree_of_subcooling: float | None
    """This field is used only when Plant Loop Fluid Type=Steam.; [C]; Default: 5.0; Range: >= 1.0; Since: 23.2.0"""
    degree_of_loop_subcooling: float | None
    """This field is used only when Plant Loop Fluid Type=Steam.; [C]; Default: 20.0; Range: >= 10.0; Since: 23.2.0"""

class SolarCollectorPerformanceFlatPlate(IDFObject):
    """Thermal and optical performance parameters for a single flat plate solar collector module. These parameters are based..."""

    gross_area: float | None
    """[m2]; Range: > 0.0"""
    test_fluid: Literal["", "Water"] | None
    """Default: Water"""
    test_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    test_correlation_type: Literal["Average", "Inlet", "Outlet"] | None
    coefficient_1_of_efficiency_equation: float | None
    """Y-intercept term; [dimensionless]"""
    coefficient_2_of_efficiency_equation: float | None
    """1st Order term; [W/m2-K]"""
    coefficient_3_of_efficiency_equation: float | None
    """2nd order term; [W/m2-K2]"""
    coefficient_2_of_incident_angle_modifier: float | None
    """1st order term"""
    coefficient_3_of_incident_angle_modifier: float | None
    """2nd order term"""

class SolarCollectorFlatPlateWater(IDFObject):
    """Flat plate water solar collector (single glazed, unglazed, or evacuated tube). Thermal and optical properties are tak..."""

    solarcollectorperformance_name: str | None
    surface_name: str | None
    inlet_node_name: str | None
    outlet_node_name: str | None
    maximum_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""

class SolarCollectorFlatPlatePhotovoltaicThermal(IDFObject):
    """Models hybrid photovoltaic-thermal (PVT) solar collectors that convert incident solar energy into both electricity an..."""

    surface_name: str | None
    photovoltaic_thermal_model_performance_name: str | None
    photovoltaic_name: str | None
    """Enter the name of a Generator:Photovoltaic object."""
    thermal_working_fluid_type: Literal["Air", "Water"] | None
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""

class SolarCollectorPerformancePhotovoltaicThermalSimple(IDFObject):
    """Thermal performance parameters for a hybrid photovoltaic-thermal (PVT) solar collector."""

    fraction_of_surface_area_with_active_thermal_collector: float | None
    """[dimensionless]; Range: > 0.0, <= 1.0"""
    thermal_conversion_efficiency_input_mode_type: Literal["Fixed", "Scheduled"] | None
    value_for_thermal_conversion_efficiency_if_fixed: float | None
    """Efficiency = (thermal power generated [W])/(incident solar[W]); Range: >= 0.0, <= 1.0"""
    thermal_conversion_efficiency_schedule_name: str | None
    front_surface_emittance: float | None
    """Default: 0.84; Range: > 0.0, < 1.0"""

class SolarCollectorPerformancePhotovoltaicThermalBIPVT(IDFObject):
    """Thermal performance parameters for Building-Integrated Photovoltaic-Thermal (BIPVT) solar collector.; Since: 23.1.0"""

    boundary_conditions_model_name: str | None
    """Enter the name of a SurfaceProperty:OtherSideConditionsModel object"""
    availability_schedule_name: str | None
    """Availability schedule name for this collector. Schedule value > 0 means it is available. If this field is blank, the ..."""
    effective_plenum_gap_thickness_behind_pv_modules: float | None
    """[m]; Range: > 0.0"""
    pv_cell_normal_transmittance_absorptance_product: float | None
    """Default: 0.957; Range: > 0.0, < 1.0"""
    backing_material_normal_transmittance_absorptance_product: float | None
    """Default: 0.87; Range: > 0.0, < 1.0"""
    cladding_normal_transmittance_absorptance_product: float | None
    """Default: 0.85; Range: > 0.0, < 1.0"""
    fraction_of_collector_gross_area_covered_by_pv_module: float | None
    """Default: 0.85; Range: > 0.0, < 1.0"""
    fraction_of_pv_cell_area_to_pv_module_area: float | None
    """Default: 0.9; Range: > 0.0, < 1.0"""
    pv_module_top_thermal_resistance: float | None
    """[m2-K/W]; Default: 0.0044; Range: > 0.0"""
    pv_module_bottom_thermal_resistance: float | None
    """[m2-K/W]; Default: 0.0039; Range: > 0.0"""
    pv_module_front_longwave_emissivity: float | None
    """Default: 0.85; Range: > 0.0, < 1.0"""
    pv_module_back_longwave_emissivity: float | None
    """Default: 0.9; Range: > 0.0, < 1.0"""
    glass_thickness: float | None
    """[m]; Default: 0.002; Range: > 0.0, < 0.01"""
    glass_refraction_index: float | None
    """Default: 1.526; Range: > 1.0, < 10.0"""
    glass_extinction_coefficient: float | None
    """[1/m]; Default: 4.0; Range: > 0.0, < 100.0"""

class SolarCollectorIntegralCollectorStorage(IDFObject):
    """Glazed solar collector with integral storage unit. Thermal and optical properties are taken from the referenced Solar..."""

    integralcollectorstorageparameters_name: str | None
    surface_name: str | None
    bottom_surface_boundary_conditions_type: Literal["", "AmbientAir", "OtherSideConditionsModel"] | None
    """Default: AmbientAir"""
    boundary_condition_model_name: str | None
    """Enter the name of a SurfaceProperty:OtherSideConditionsModel object. Specified only if the boundary condition type is..."""
    inlet_node_name: str | None
    outlet_node_name: str | None
    maximum_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""

class SolarCollectorPerformanceIntegralCollectorStorage(IDFObject):
    """Thermal and optical performance parameters for a single glazed solar collector with integral storage unit."""

    ics_collector_type: Literal["", "RectangularTank"] | None
    """Currently only RectangularTank ICS collector type is available.; Default: RectangularTank"""
    gross_area: float | None
    """[m2]; Range: > 0.0"""
    collector_water_volume: float | None
    """[m3] (gal); Range: > 0.0"""
    bottom_heat_loss_conductance: float | None
    """Heat loss conductance of the collector bottom insulation; [W/m2-K]; Default: 0.4; Range: > 0.0"""
    side_heat_loss_conductance: float | None
    """heat loss conductance of the collector side insulation; [W/m2-K]; Default: 0.6; Range: > 0.0"""
    aspect_ratio: float | None
    """This value is ratio of the width (short side) to length (long side of) of the collector. Used to calculate the perime...; [m]; Default: 0.8; Range: > 0.5, < 1.0"""
    collector_side_height: float | None
    """This value is used to estimate collector side area for the heat loss calculation through the collector side; [m]; Default: 0.2; Range: > 0.0, < 0.3"""
    thermal_mass_of_absorber_plate: float | None
    """Calculated from the specific heat, density and thickness of the absorber plate.; [J/m2-K]; Default: 0.0; Range: >= 0.0"""
    number_of_covers: int | None
    """Number of transparent covers. Common practice is to use low-iron glass as the outer cover and very thin transparent s...; Default: 2; Range: >= 1, <= 2"""
    cover_spacing: float | None
    """The gap between the transparent covers and between the inner cover and the absorber plate; [m]; Default: 0.05; Range: > 0.0, <= 0.2"""
    refractive_index_of_outer_cover: float | None
    """Refractive index of outer cover. Typically low-iron glass is used as the outer cover material, and used as the defaul...; [dimensionless]; Default: 1.526; Range: >= 1.0, <= 2.0"""
    extinction_coefficient_times_thickness_of_outer_cover: float | None
    """Clear glass has extinction coefficient of about 15 [1/m] and with thickness of 3.0mm, the product of the extinction c...; [dimensionless]; Default: 0.045; Range: >= 0.0"""
    emissivity_of_outer_cover: float | None
    """Thermal emissivity of the outer cover, commonly glass is used as the out collector cover material.; [dimensionless]; Default: 0.88; Range: > 0.0, < 1.0"""
    refractive_index_of_inner_cover: float | None
    """Typical material is very thin sheet of Teflon (PTFE). The default value is refractive index of Teflon.; [dimensionless]; Default: 1.37; Range: >= 1.0, <= 2.0"""
    extinction_coefficient_times_thickness_of_the_inner_cover: float | None
    """Default inner cover is very thin sheet of Teflon with extinction coefficient of approximately 40.0 and a thickness 0....; [dimensionless]; Default: 0.008; Range: >= 0.0"""
    emissivity_of_inner_cover: float | None
    """Thermal emissivity of the inner cover material; [dimensionless]; Default: 0.88; Range: > 0.0, < 1.0"""
    absorptance_of_absorber_plate: float | None
    """The absorber plate solar absorptance. Copper is assumed as the default absorber plate.; [dimensionless]; Default: 0.96; Range: > 0.0, < 1.0"""
    emissivity_of_absorber_plate: float | None
    """Thermal emissivity of the absorber plate; [dimensionless]; Default: 0.3; Range: > 0.0, < 1.0"""

class SolarCollectorUnglazedTranspired(IDFObject):
    """Unglazed transpired solar collector (UTSC) used to condition outdoor air. This type of collector is generally used to..."""

    boundary_conditions_model_name: str | None
    """Enter the name of a SurfaceProperty:OtherSideConditionsModel object"""
    availability_schedule_name: str | None
    """Availability schedule name for this collector. Schedule value > 0 means it is available. If this field is blank, the ..."""
    inlet_node_name: str | None
    """required field if no SolarCollector:UnglazedTranspired:Multisystem"""
    outlet_node_name: str | None
    """required field if no SolarCollector:UnglazedTranspired:Multisystem"""
    setpoint_node_name: str | None
    """This node is where the mixed air setpoint is determined. required field if no SolarCollector:UnglazedTranspired:Multi..."""
    zone_node_name: str | None
    """This node is used to identify the affected zone required field if no SolarCollector:UnglazedTranspired:Multisystem"""
    free_heating_setpoint_schedule_name: str | None
    diameter_of_perforations_in_collector: float | None
    """[m]; Range: > 0.0"""
    distance_between_perforations_in_collector: float | None
    """[m]; Range: > 0.0"""
    thermal_emissivity_of_collector_surface: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    solar_absorbtivity_of_collector_surface: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    effective_overall_height_of_collector: float | None
    """Range: > 0.0"""
    effective_gap_thickness_of_plenum_behind_collector: float | None
    """if corrugated, use average depth; [m]; Range: > 0.0"""
    effective_cross_section_area_of_plenum_behind_collector: float | None
    """if corrugated, use average depth; [m2]; Range: > 0.0"""
    hole_layout_pattern_for_pitch: Literal["", "Square", "Triangle"] | None
    """Default: Square"""
    heat_exchange_effectiveness_correlation: Literal["", "Kutscher1994", "VanDeckerHollandsBrunger2001"] | None
    """Default: Kutscher1994"""
    ratio_of_actual_collector_surface_area_to_projected_surface_area: float | None
    """This parameter is used to help account for corrugations in the collector; [dimensionless]; Default: 1.0; Range: >= 1.0, <= 2.0"""
    roughness_of_collector: Literal["MediumRough", "MediumSmooth", "Rough", "Smooth", "VeryRough", "VerySmooth"] | None
    collector_thickness: float | None
    """Collector thickness is not required for Kutscher correlation Collector thickness is required for Van Decker et al. co...; [m]; Range: >= 0.0005, <= 0.007"""
    effectiveness_for_perforations_with_respect_to_wind: float | None
    """Cv; [dimensionless]; Default: 0.25; Range: > 0.0, <= 1.5"""
    discharge_coefficient_for_openings_with_respect_to_buoyancy_driven_flow: float | None
    """Cd; [dimensionless]; Default: 0.65; Range: > 0.0, <= 1.5"""
    surface_name: str | None

class SolarCollectorUnglazedTranspiredMultisystem(IDFObject):
    """quad-tuples of inlet, outlet, control, and zone nodes for multiple different outdoor air systems attached to same col..."""

    outdoor_air_system_collector_inlet_node: str | None
    outdoor_air_system_collector_outlet_node: str | None
    outdoor_air_system_mixed_air_node: str | None
    outdoor_air_system_zone_node: str | None

class BoilerHotWater(IDFObject):
    """This boiler model is an adaptation of the empirical model from the Building Loads and System Thermodynamics (BLAST) p..."""

    fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_thermal_efficiency: float | None
    """Based on the higher heating value of fuel.; Range: > 0.0"""
    efficiency_curve_temperature_evaluation_variable: Literal["EnteringBoiler", "LeavingBoiler"] | None
    normalized_boiler_efficiency_curve_name: str | None
    """Linear, Quadratic and Cubic efficiency curves are solely a function of PLR. All other efficiency curve types are a fu..."""
    design_water_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    minimum_part_load_ratio: float | None
    """Default: 0.0; Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Default: 1.0; Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Default: 1.0; Range: >= 0.0"""
    boiler_water_inlet_node_name: str | None
    boiler_water_outlet_node_name: str | None
    water_outlet_upper_temperature_limit: float | None
    """[C]; Default: 99.9"""
    boiler_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the boiler. 'NotModulated' is for either variable or constant pumping wi...; Default: NotModulated"""
    on_cycle_parasitic_electric_load: float | None
    """[W]; Default: 0.0; Range: >= 0.0; Since: 23.2.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    off_cycle_parasitic_fuel_load: float | None
    """parasitic fuel load when the boiler is not operating (i.e., standing pilot); [W]; Since: 23.2.0"""

class BoilerSteam(IDFObject):
    """This boiler model is an adaptation of the empirical model from the Building Loads and System Thermodynamics (BLAST) p..."""

    fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    maximum_operating_pressure: float | None
    """[Pa]; Default: 160000.0"""
    theoretical_efficiency: float | None
    """Default: 0.8; Range: > 0.0, <= 1.0"""
    design_outlet_steam_temperature: float | None
    """[C]; Default: 100.0"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    coefficient_1_of_fuel_use_function_of_part_load_ratio_curve: float | None
    coefficient_2_of_fuel_use_function_of_part_load_ratio_curve: float | None
    coefficient_3_of_fuel_use_function_of_part_load_ratio_curve: float | None
    water_inlet_node_name: str | None
    steam_outlet_node_name: str | None
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class ChillerElectricASHRAE205(IDFObject):
    """This chiller model utilizes ASHRAE Standard 205 compliant representations for chillers (Representation Specification ...; Since: 22.2.0"""

    representation_file_name: str | None
    """The name of the ASHRAE205 RS0001 (chiller) representation file"""
    performance_interpolation_method: Literal["", "Cubic", "Linear"] | None
    """Default: Linear"""
    rated_capacity: float | Literal["", "Autosize"] | None
    """Not yet implemented / reserved for future use. Full load capacity at AHRI 550/590 test conditions. Used to scale repr...; [W]; Default: Autosize"""
    sizing_factor: float | None
    """Multiplies the autosized flow rates.; Default: 1.0; Range: > 0.0"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    """Used to determine standby losses"""
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    """Any energy imbalance on the chiller results in heat added to this zone."""
    ambient_temperature_outdoor_air_node_name: str | None
    """required for Ambient Temperature Indicator=Outdoors"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    chilled_water_maximum_requested_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    condenser_maximum_requested_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    oil_cooler_inlet_node_name: str | None
    """Use if the oil cooler uses an external cooling loop, otherwise the oil cooler will add heat to the ambient conditions..."""
    oil_cooler_outlet_node_name: str | None
    oil_cooler_design_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    auxiliary_inlet_node_name: str | None
    """Use if the auxiliary components of the chiller use an external cooling loop, otherwise the auxiliary components will ..."""
    auxiliary_outlet_node_name: str | None
    auxiliary_cooling_design_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    heat_recovery_inlet_node_name: str | None
    """Not yet implemented / reserved for future use. Heat recovery is not yet within scope of ASHRAE Standard 205."""
    heat_recovery_outlet_node_name: str | None
    """Not yet implemented / reserved for future use. Heat recovery is not yet within scope of ASHRAE Standard 205."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class ChillerElectricEIR(IDFObject):
    """This chiller model is the empirical model from the DOE-2 building Energy simulation program. Chiller performance at o..."""

    reference_capacity: float | Literal["Autosize"] | None
    """[W]"""
    reference_cop: float | None
    """Efficiency of the chiller compressor (cooling output/compressor energy input). Condenser fan power should not be incl...; [W/W]; Range: > 0.0"""
    reference_leaving_chilled_water_temperature: float | None
    """[C]; Default: 6.67"""
    reference_entering_condenser_fluid_temperature: float | None
    """[C]; Default: 29.4"""
    reference_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_condenser_fluid_flow_rate: float | Literal["Autosize"] | None
    """This field is only used for Condenser Type = AirCooled or EvaporativelyCooled when Heat Recovery is specified; [m3/s] (gal/min)"""
    cooling_capacity_function_of_temperature_curve_name: str | None
    """Cooling capacity as a function of CW supply temp and entering condenser temp curve = a + b*CWS + c*CWS**2 + d*ECT + e..."""
    electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of temperature EIR = 1/COP curve = a + b*CWS + c*CWS**2 + d*ECT + e*ECT**2 +..."""
    electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of Part Load Ratio (PLR) EIR = 1/COP quadratic curve = a + b*PLR + c*PLR**2 ..."""
    minimum_part_load_ratio: float | None
    """Part load ratio below which the chiller starts cycling on/off to meet the load. Must be less than or equal to Maximum...; Default: 0.1; Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Maximum allowable part load ratio. Must be greater than or equal to Minimum Part Load Ratio.; Default: 1.0; Range: > 0.0"""
    optimum_part_load_ratio: float | None
    """Optimum part load ratio where the chiller is most efficient. Must be greater than or equal to the Minimum Part Load R...; Default: 1.0; Range: > 0.0"""
    minimum_unloading_ratio: float | None
    """Part load ratio where the chiller can no longer unload and false loading begins. Minimum unloading ratio must be grea...; Default: 0.2; Range: >= 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    """Not required if air-cooled or evaporatively-cooled"""
    condenser_outlet_node_name: str | None
    """Not required if air-cooled or evaporatively-cooled"""
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Default: WaterCooled"""
    condenser_fan_power_ratio: float | None
    """Use for air-cooled or evaporatively-cooled condensers. Ratio of condenser fan power to reference chiller capacity; [W/W]; Default: 0.0; Range: >= 0.0"""
    fraction_of_compressor_electric_consumption_rejected_by_condenser: float | None
    """Fraction of compressor electrical energy that must be rejected by the condenser. Enter a value of 1.0 when modeling h...; Default: 1.0; Range: > 0.0, <= 1.0"""
    leaving_chilled_water_lower_temperature_limit: float | None
    """[C]; Default: 2.0"""
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    design_heat_recovery_water_flow_rate: float | Literal["", "Autosize"] | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered. Heat recovery is only available with...; [m3/s] (gal/min); Default: 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    condenser_heat_recovery_relative_capacity_fraction: float | None
    """This optional field is the fraction of total rejected heat that can be recovered at full load; Range: >= 0.0, <= 1.0"""
    heat_recovery_inlet_high_temperature_limit_schedule_name: str | None
    """This optional schedule of temperatures will turn off heat recovery if inlet exceeds the value"""
    heat_recovery_leaving_temperature_setpoint_node_name: str | None
    """This optional field provides control over the heat recovery Using this triggers a model more suited to series bundle ..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    condenser_flow_control: (
        Literal["", "ConstantFlow", "ModulatedChillerPLR", "ModulatedDeltaTemperature", "ModulatedLoopPLR"] | None
    )
    """Select the chiller condenser flow request mode. With 'ConstantFlow' a chiller will always request its maximum condens...; Default: ConstantFlow; Since: 24.2.0"""
    condenser_loop_flow_rate_fraction_function_of_loop_part_load_ratio_curve_name: str | None
    """Condenser loop flow rate fraction as a function of loop part load ratio CWFR = C * PLR + D Where: CWFR is the condens...; Since: 24.2.0"""
    temperature_difference_across_condenser_schedule_name: str | None
    """A schedule that defines the temperature difference across the condenser. This input is used to calculate the condense...; Since: 24.2.0"""
    condenser_minimum_flow_fraction: float | None
    """This input corresponds to the minimum flow fraction to be simulated. The minimum condenser flow corresponds to this f...; Default: 0.2; Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    thermosiphon_capacity_fraction_curve_name: str | None
    """quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used Tevap, out = evapo...; Since: 24.2.0"""
    thermosiphon_minimum_temperature_difference: float | None
    """Thermosiphon model is disabled below this minimum limit and when the load is greater than calculated using the previo...; Default: 0.0; Range: >= 0.0; Since: 24.2.0"""

class ChillerElectricReformulatedEIR(IDFObject):
    """This chiller model is an empirical model, a reformulated version of Chiller:Electric:EIR where the performance is a f..."""

    reference_capacity: float | Literal["Autosize"] | None
    """[W]"""
    reference_cop: float | None
    """Efficiency of the chiller compressor (cooling output/compressor energy input). Condenser fan power should not be incl...; [W/W]; Range: > 0.0"""
    reference_leaving_chilled_water_temperature: float | None
    """[C]; Default: 6.67"""
    reference_leaving_condenser_water_temperature: float | None
    """[C]; Default: 35.0"""
    reference_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    cooling_capacity_function_of_temperature_curve_name: str | None
    """Cooling capacity as a function of supply (leaving) chilled water temperature and leaving condenser fluid temperature ..."""
    electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of supply (leaving) chilled water temperature and leaving condenser fluid te..."""
    electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_type: (
        Literal["", "LeavingCondenserWaterTemperature", "Lift"] | None
    )
    """Two curve types are available: Type LeavingCondenserWaterTemperature: based on the leaving condenser water temperatur...; Default: LeavingCondenserWaterTemperature"""
    electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of Part Load Ratio (PLR) EIR = 1/COP The form of this curve is based on the ..."""
    minimum_part_load_ratio: float | None
    """Part load ratio below which the chiller starts cycling on/off to meet the load. Must be less than or equal to Maximum...; Default: 0.1; Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Maximum allowable part load ratio. Must be greater than or equal to Minimum Part Load Ratio.; Default: 1.0; Range: > 0.0"""
    optimum_part_load_ratio: float | None
    """Optimum part load ratio where the chiller is most efficient. Must be greater than or equal to the Minimum Part Load R...; Default: 1.0; Range: > 0.0"""
    minimum_unloading_ratio: float | None
    """Part load ratio where the chiller can no longer unload and false loading begins. Minimum unloading ratio must be grea...; Default: 0.2; Range: >= 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    fraction_of_compressor_electric_consumption_rejected_by_condenser: float | None
    """Fraction of compressor electrical energy that must be rejected by the condenser. Enter a value of 1.0 when modeling h...; Default: 1.0; Range: > 0.0, <= 1.0"""
    leaving_chilled_water_lower_temperature_limit: float | None
    """[C]; Default: 2.0"""
    chiller_flow_mode_type: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    design_heat_recovery_water_flow_rate: float | Literal["", "Autosize"] | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered.; [m3/s] (gal/min); Default: 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    condenser_heat_recovery_relative_capacity_fraction: float | None
    """This optional field is the fraction of total rejected heat that can be recovered at full load; Range: >= 0.0, <= 1.0"""
    heat_recovery_inlet_high_temperature_limit_schedule_name: str | None
    """This optional schedule of temperatures will turn off heat recovery if inlet exceeds the value"""
    heat_recovery_leaving_temperature_setpoint_node_name: str | None
    """This optional field provides control over the heat recovery Using this triggers a model more suited to series bundle ..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    condenser_flow_control: (
        Literal["", "ConstantFlow", "ModulatedChillerPLR", "ModulatedDeltaTemperature", "ModulatedLoopPLR"] | None
    )
    """Select the chiller condenser flow request mode. With 'ConstantFlow' a chiller will always request its maximum condens...; Default: ConstantFlow; Since: 24.2.0"""
    condenser_loop_flow_rate_fraction_function_of_loop_part_load_ratio_curve_name: str | None
    """Condenser loop flow rate fraction as a function of loop part load ratio CWFR = C * PLR + D Where: CWFR is the condens...; Since: 24.2.0"""
    temperature_difference_across_condenser_schedule_name: str | None
    """A schedule that defines the temperature difference across the condenser. This input is used to calculate the condense...; Since: 24.2.0"""
    condenser_minimum_flow_fraction: float | None
    """This input corresponds to the minimum flow fraction to be simulated. The minimum condenser flow corresponds to this f...; Default: 0.2; Range: >= 0.0, <= 1.0; Since: 24.2.0"""
    thermosiphon_capacity_fraction_curve_name: str | None
    """quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used Tevap, out = evapo...; Since: 24.2.0"""
    thermosiphon_minimum_temperature_difference: float | None
    """Thermosiphon model is disabled below this minimum limit and when the load is greater than calculated using the previo...; Default: 0.0; Range: >= 0.0; Since: 24.2.0"""

class ChillerElectric(IDFObject):
    """This chiller model is the empirical model from the Building Loads and System Thermodynamics (BLAST) program. Chiller ..."""

    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Default: AirCooled"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_cop: float | None
    """[W/W]; Range: > 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    design_condenser_inlet_temperature: float | None
    """[C]"""
    temperature_rise_coefficient: float | None
    """Range: > 0.0"""
    design_chilled_water_outlet_temperature: float | None
    """[C]"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """For variable volume this is the maximum flow & for constant flow this is the flow.; [m3/s] (gal/min)"""
    design_condenser_fluid_flow_rate: float | Literal["Autosize"] | None
    """This field is only used for Condenser Type = AirCooled or EvaporativelyCooled when Heat Recovery is specified; [m3/s] (gal/min)"""
    coefficient_1_of_capacity_ratio_curve: float | None
    coefficient_2_of_capacity_ratio_curve: float | None
    coefficient_3_of_capacity_ratio_curve: float | None
    coefficient_1_of_power_ratio_curve: float | None
    coefficient_2_of_power_ratio_curve: float | None
    coefficient_3_of_power_ratio_curve: float | None
    coefficient_1_of_full_load_ratio_curve: float | None
    coefficient_2_of_full_load_ratio_curve: float | None
    coefficient_3_of_full_load_ratio_curve: float | None
    chilled_water_outlet_temperature_lower_limit: float | None
    """[C]"""
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    design_heat_recovery_water_flow_rate: float | Literal["", "Autosize"] | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered. Heat recovery is only available with...; [m3/s] (gal/min); Default: 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    condenser_heat_recovery_relative_capacity_fraction: float | None
    """This optional field is the fraction of total rejected heat that can be recovered at full load; Range: >= 0.0, <= 1.0"""
    heat_recovery_inlet_high_temperature_limit_schedule_name: str | None
    """This optional schedule of temperatures will turn off heat recovery if inlet exceeds the value"""
    heat_recovery_leaving_temperature_setpoint_node_name: str | None
    """This optional field provides control over the heat recovery Using this triggers a model more suited to series bundle ..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    thermosiphon_capacity_fraction_curve_name: str | None
    """quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used Tevap, out = evapo...; Since: 24.2.0"""
    thermosiphon_minimum_temperature_difference: float | None
    """Thermosiphon model is disabled below this minimum limit and when the load is greater than calculated using the previo...; Default: 0.0; Range: >= 0.0; Since: 24.2.0"""

class ChillerAbsorptionIndirect(IDFObject):
    """This indirect absorption chiller model is an enhanced model from the Building Loads and System Thermodynamics (BLAST)..."""

    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_pumping_power: float | Literal["Autosize"] | None
    """[W] (W)"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    design_condenser_inlet_temperature: float | None
    """Used only when condenser flow rate is autosized.; [C]; Default: 30.0"""
    condenser_inlet_temperature_lower_limit: float | None
    """Provides warnings when entering condenser temperature is below minimum. Capacity is not adjusted when entering conden...; [C]; Default: 15.0"""
    chilled_water_outlet_temperature_lower_limit: float | None
    """Capacity is adjusted when leaving chilled water temperature is below minimum.; [C]; Default: 5.0"""
    design_chilled_water_flow_rate: float | Literal["", "Autosize"] | None
    """For variable flow this is the max flow & for constant flow this is the flow.; [m3/s] (gal/min); Default: Autosize"""
    design_condenser_water_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    generator_heat_input_function_of_part_load_ratio_curve_name: str | None
    pump_electric_input_function_of_part_load_ratio_curve_name: str | None
    generator_inlet_node_name: str | None
    """Enter the generator inlet node name which connects this chiller to a steam or hot water plant, otherwise leave this f..."""
    generator_outlet_node_name: str | None
    """Enter the generator outlet node name which connects this chiller to a steam or hot water plant, otherwise leave this ..."""
    capacity_correction_function_of_condenser_temperature_curve_name: str | None
    """Curve which shows the change in normalized capacity to changes in condenser temperature."""
    capacity_correction_function_of_chilled_water_temperature_curve_name: str | None
    """Curve which shows the change in normalized capacity to changes in leaving chilled water temperature."""
    capacity_correction_function_of_generator_temperature_curve_name: str | None
    """Used when generator fluid type is hot water Curve which shows the change in normalized capacity to changes in generat..."""
    generator_heat_input_correction_function_of_condenser_temperature_curve_name: str | None
    """Curve which shows the change in normalized heat input to changes in condenser temperature."""
    generator_heat_input_correction_function_of_chilled_water_temperature_curve_name: str | None
    """Curve which shows the change in normalized heat input to changes in leaving chilled water temperature."""
    generator_heat_source_type: Literal["", "HotWater", "Steam"] | None
    """The Generator side of the chiller can be connected to a hot water or steam plant where the generator inlet and outlet...; Default: Steam"""
    design_generator_fluid_flow_rate: float | Literal["Autosize"] | None
    """For variable flow this is the max flow and for constant flow this is the flow.; [m3/s] (gal/min)"""
    temperature_lower_limit_generator_inlet: float | None
    """Provides warnings when entering generator temperature is below minimum. Capacity is not adjusted when entering genera...; [C]; Default: 0.0"""
    degree_of_subcooling_in_steam_generator: float | None
    """This field is not used when the generator inlet/outlet nodes are not specified or the generator is connected to a hot...; [C]; Default: 1.0; Range: >= 0.0, <= 20.0"""
    degree_of_subcooling_in_steam_condensate_loop: float | None
    """This field is not used when the generator inlet/outlet nodes are not specified or the generator is connected to a hot...; [C]; Default: 0.0; Range: >= 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""

class ChillerAbsorption(IDFObject):
    """This indirect absorption chiller model is the empirical model from the Building Loads and System Thermodynamics (BLAS..."""

    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_pumping_power: float | Literal["Autosize"] | None
    """[W] (W)"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    design_condenser_inlet_temperature: float | None
    """[C]"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """For variable volume this is the max flow & for constant flow this is the flow.; [m3/s] (gal/min)"""
    design_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """The steam use coefficients below specify the steam use as a fraction of chiller operating capacity; [m3/s] (gal/min)"""
    coefficient_1_of_the_hot_water_or_steam_use_part_load_ratio_curve: float | None
    coefficient_2_of_the_hot_water_or_steam_use_part_load_ratio_curve: float | None
    coefficient_3_of_the_hot_water_or_steam_use_part_load_ratio_curve: float | None
    coefficient_1_of_the_pump_electric_use_part_load_ratio_curve: float | None
    """The pump electric use coefficients specify the pumping power as a Fraction of Nominal pumping power"""
    coefficient_2_of_the_pump_electric_use_part_load_ratio_curve: float | None
    coefficient_3_of_the_pump_electric_use_part_load_ratio_curve: float | None
    chilled_water_outlet_temperature_lower_limit: float | None
    """[C]"""
    generator_inlet_node_name: str | None
    generator_outlet_node_name: str | None
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    generator_heat_source_type: Literal["", "HotWater", "Steam"] | None
    """The Generator side of the chiller can be connected to a hot water or steam plant where the generator inlet and outlet...; Default: Steam"""
    design_generator_fluid_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    degree_of_subcooling_in_steam_generator: float | None
    """This field is not used when the generator inlet/outlet nodes are not specified or the generator is connected to a hot...; [C]; Default: 1.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""

class ChillerConstantCOP(IDFObject):
    """This constant COP chiller model provides a means of quickly specifying a Chiller where performance data is not availa..."""

    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_cop: float | None
    """[W/W]; Range: > 0.0"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """For variable volume this is the maximum flow and for constant flow this is the flow.; [m3/s] (gal/min)"""
    design_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """This field is not used for Condenser Type = AirCooled or EvaporativelyCooled; [m3/s] (gal/min)"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Default: AirCooled"""
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    thermosiphon_capacity_fraction_curve_name: str | None
    """quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used Tevap, out = evapo...; Since: 24.2.0"""
    thermosiphon_minimum_temperature_difference: float | None
    """Thermosiphon model is disabled below this minimum limit and when the load is greater than calculated using the previo...; Default: 0.0; Range: >= 0.0; Since: 24.2.0"""

class ChillerEngineDriven(IDFObject):
    """This chiller model is the empirical model from the Building Loads and System Thermodynamics (BLAST) program. Chiller ..."""

    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Default: AirCooled"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_cop: float | None
    """Nominal Refrigeration Cycle COP; [W/W]; Range: > 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    design_condenser_inlet_temperature: float | None
    """[C]"""
    temperature_rise_coefficient: float | None
    """Range: > 0.0"""
    design_chilled_water_outlet_temperature: float | None
    """[C]"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """For variable volume this is the maximum flow and for constant flow this is the flow.; [m3/s] (gal/min)"""
    design_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """This field is not used for Condenser Type = AirCooled or EvaporativelyCooled; [m3/s] (gal/min)"""
    coefficient_1_of_capacity_ratio_curve: float | None
    coefficient_2_of_capacity_ratio_curve: float | None
    coefficient_3_of_capacity_ratio_curve: float | None
    coefficient_1_of_power_ratio_curve: float | None
    coefficient_2_of_power_ratio_curve: float | None
    coefficient_3_of_power_ratio_curve: float | None
    coefficient_1_of_full_load_ratio_curve: float | None
    coefficient_2_of_full_load_ratio_curve: float | None
    coefficient_3_of_full_load_ratio_curve: float | None
    chilled_water_outlet_temperature_lower_limit: float | None
    """Special EngineDriven Chiller Parameters Below; [C]"""
    fuel_use_curve_name: str | None
    """Curve is a function of Part Load Ratio (PLR) curve = a + b*PLR + c*PLR**2 PLR = Ratio of evaporator heat transfer rat..."""
    jacket_heat_recovery_curve_name: str | None
    """Curve is a function of Part Load Ratio (PLR) curve = a + b*PLR + c*PLR**2 PLR = Ratio of evaporator heat transfer rat..."""
    lube_heat_recovery_curve_name: str | None
    """Curve is a function of Part Load Ratio (PLR) curve = a + b*PLR + c*PLR**2 PLR = Ratio of evaporator heat transfer rat..."""
    total_exhaust_energy_curve_name: str | None
    """Curve is a function of Part Load Ratio (PLR) curve = a + b*PLR + c*PLR**2 PLR = Ratio of evaporator heat transfer rat..."""
    exhaust_temperature_curve_name: str | None
    """Curve is a function of Part Load Ratio (PLR) curve = a + b*PLR + c*PLR**2 PLR = Ratio of evaporator heat transfer rat..."""
    coefficient_1_of_u_factor_times_area_curve: float | None
    """curve = C1 * (nominal capacity)**C2"""
    coefficient_2_of_u_factor_times_area_curve: float | None
    """curve = C1 * (nominal capacity)**C2 typical value .9; Range: <= 2.0"""
    maximum_exhaust_flow_per_unit_of_power_output: float | None
    """[(kg/s)/W]; Range: >= 0.0"""
    design_minimum_exhaust_temperature: float | None
    """[C]"""
    fuel_type: (
        Literal["Diesel", "FuelOilNo1", "FuelOilNo2", "Gasoline", "NaturalGas", "OtherFuel1", "OtherFuel2", "Propane"]
        | None
    )
    fuel_higher_heating_value: float | None
    """[kJ/kg]"""
    design_heat_recovery_water_flow_rate: float | Literal["", "Autosize"] | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered.; [m3/s] (gal/min); Default: 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    maximum_temperature_for_heat_recovery_at_heat_recovery_outlet_node: float | None
    """[C]; Default: 60.0; Range: >= 0.0, <= 100.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    condenser_heat_recovery_relative_capacity_fraction: float | None
    """This optional field is the fraction of total rejected heat that can be recovered at full load. Also used to autosize ...; Range: >= 0.0, <= 1.0"""

class ChillerCombustionTurbine(IDFObject):
    """This chiller model is the empirical model from the Building Loads and System Thermodynamics (BLAST) program. Chiller ..."""

    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Default: AirCooled"""
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    nominal_cop: float | None
    """[W/W]; Range: > 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    design_condenser_inlet_temperature: float | None
    """[C]"""
    temperature_rise_coefficient: float | None
    """Range: > 0.0"""
    design_chilled_water_outlet_temperature: float | None
    """[C]"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """For variable volume this is the max flow & for constant flow this is the flow.; [m3/s] (gal/min)"""
    design_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """This field is not used for Condenser Type = AirCooled or EvaporativelyCooled; [m3/s] (gal/min)"""
    coefficient_1_of_capacity_ratio_curve: float | None
    coefficient_2_of_capacity_ratio_curve: float | None
    coefficient_3_of_capacity_ratio_curve: float | None
    coefficient_1_of_power_ratio_curve: float | None
    coefficient_2_of_power_ratio_curve: float | None
    coefficient_3_of_power_ratio_curve: float | None
    coefficient_1_of_full_load_ratio_curve: float | None
    coefficient_2_of_full_load_ratio_curve: float | None
    coefficient_3_of_full_load_ratio_curve: float | None
    chilled_water_outlet_temperature_lower_limit: float | None
    """Special Gas Turbine Chiller Parameters Below; [C]"""
    coefficient_1_of_fuel_input_curve: float | None
    coefficient_2_of_fuel_input_curve: float | None
    coefficient_3_of_fuel_input_curve: float | None
    coefficient_1_of_temperature_based_fuel_input_curve: float | None
    coefficient_2_of_temperature_based_fuel_input_curve: float | None
    coefficient_3_of_temperature_based_fuel_input_curve: float | None
    coefficient_1_of_exhaust_flow_curve: float | None
    coefficient_2_of_exhaust_flow_curve: float | None
    coefficient_3_of_exhaust_flow_curve: float | None
    coefficient_1_of_exhaust_gas_temperature_curve: float | None
    coefficient_2_of_exhaust_gas_temperature_curve: float | None
    coefficient_3_of_exhaust_gas_temperature_curve: float | None
    coefficient_1_of_temperature_based_exhaust_gas_temperature_curve: float | None
    coefficient_2_of_temperature_based_exhaust_gas_temperature_curve: float | None
    coefficient_3_of_temperature_based_exhaust_gas_temperature_curve: float | None
    coefficient_1_of_recovery_lube_heat_curve: float | None
    coefficient_2_of_recovery_lube_heat_curve: float | None
    coefficient_3_of_recovery_lube_heat_curve: float | None
    coefficient_1_of_u_factor_times_area_curve: float | None
    coefficient_2_of_u_factor_times_area_curve: float | None
    """typical value .9; Range: <= 2.0"""
    gas_turbine_engine_capacity: float | Literal["Autosize"] | None
    """[W]"""
    maximum_exhaust_flow_per_unit_of_power_output: float | None
    """[(kg/s)/W]"""
    design_steam_saturation_temperature: float | None
    """[C]"""
    fuel_higher_heating_value: float | None
    """[kJ/kg]"""
    design_heat_recovery_water_flow_rate: float | Literal["", "Autosize"] | None
    """If non-zero, then the heat recovery inlet and outlet node names must be entered.; [m3/s] (gal/min); Default: 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    chiller_flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Select operating mode for fluid flow through the chiller. 'NotModulated' is for either variable or constant pumping w...; Default: NotModulated"""
    fuel_type: (
        Literal[
            "", "Diesel", "FuelOilNo1", "FuelOilNo2", "Gasoline", "NaturalGas", "OtherFuel1", "OtherFuel2", "Propane"
        ]
        | None
    )
    """Default: NaturalGas"""
    heat_recovery_maximum_temperature: float | None
    """[C]; Default: 80.0; Range: >= 0.0, <= 100.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the basin heater is available (...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Enter the outdoor dry-bulb temperature when the bas...; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 allow the basin heat..."""
    condenser_heat_recovery_relative_capacity_fraction: float | None
    """This optional field is the fraction of total rejected heat that can be recovered at full load. Also used to autosize ...; Range: >= 0.0, <= 1.0"""
    turbine_engine_efficiency: float | None
    """This optional field is the nominal turbine engine efficiency and is used when Gas Turbine Engine Capacity is set to A...; Default: 0.35"""

class ChillerHeaterAbsorptionDirectFired(IDFObject):
    """Direct fired gas absorption chiller-heater using performance curves similar to DOE-2"""

    nominal_cooling_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    heating_to_cooling_capacity_ratio: float | None
    """A positive fraction that represents the ratio of the heating capacity divided by the cooling capacity at rated condit...; Default: 0.8; Range: >= 0.0"""
    fuel_input_to_cooling_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous fuel used divided by the cooling capacity at rat...; Default: 0.97; Range: > 0.0"""
    fuel_input_to_heating_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous fuel used divided by the nominal heating capacity.; Default: 1.25; Range: >= 0.0"""
    electric_input_to_cooling_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous electricity used divided by the cooling capacity...; Default: 0.01; Range: >= 0.0"""
    electric_input_to_heating_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous electricity used divided by the nominal heating ...; Default: 0.0; Range: >= 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    """Not required if air-cooled"""
    hot_water_inlet_node_name: str | None
    hot_water_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """The positive fraction that represents the minimum cooling output possible when operated continually at rated temperat...; Default: 0.1; Range: > 0.0"""
    maximum_part_load_ratio: float | None
    """The positive fraction that represents the maximum cooling output possible at rated temperature conditions divided by ...; Default: 1.0; Range: >= 0.5"""
    optimum_part_load_ratio: float | None
    """The positive fraction that represents the optimal cooling output at rated temperature conditions divided by the nomin...; Default: 1.0; Range: > 0.0"""
    design_entering_condenser_water_temperature: float | None
    """The temperature of the water entering the condenser of the chiller when operating at design conditions. This is usual...; [C]; Default: 29.0"""
    design_leaving_chilled_water_temperature: float | None
    """The temperature of the water leaving the evaporator of the chiller when operating at design conditions also called th...; [C]; Default: 7.0"""
    design_chilled_water_flow_rate: float | Literal["", "Autosize"] | None
    """For variable volume this is the max flow & for constant flow this is the flow.; [m3/s] (gal/min); Default: Autosize"""
    design_condenser_water_flow_rate: float | Literal["", "Autosize"] | None
    """The water flow rate at design conditions through the condenser. This field is not used for Condenser Type = AirCooled; [m3/s] (gal/min); Default: Autosize"""
    design_hot_water_flow_rate: float | Literal["", "Autosize"] | None
    """The water flow rate at design conditions through the heater side.; [m3/s] (gal/min); Default: Autosize"""
    cooling_capacity_function_of_temperature_curve_name: str | None
    """The CoolCapFT curve represents the fraction of the cooling capacity of the chiller as it varies by temperature. The c..."""
    fuel_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """The curve represents the fraction of the fuel input to the chiller at full load as it varies by temperature. The curv..."""
    fuel_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """The curve represents the fraction of the fuel input to the chiller as the load on the chiller varies but the operatin..."""
    electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """The curve represents the fraction of the electricity to the chiller at full load as it varies by temperature. The cur..."""
    electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """The curve represents the fraction of the electricity to the chiller as the load on the chiller varies but the operati..."""
    heating_capacity_function_of_cooling_capacity_curve_name: str | None
    """The curve represents how the heating capacity of the chiller varies with cooling capacity when the chiller is simulta..."""
    fuel_input_to_heat_output_ratio_during_heating_only_operation_curve_name: str | None
    """When the chiller is operating as only a heater, this curve is used to represent the fraction of fuel used as the heat..."""
    temperature_curve_input_variable: Literal["", "EnteringCondenser", "LeavingCondenser"] | None
    """Sets the second independent variable in the three temperature dependent performance curves to either the leaving or e...; Default: EnteringCondenser"""
    condenser_type: Literal["", "AirCooled", "WaterCooled"] | None
    """The condenser can either be air cooled or connected to a cooling tower.; Default: WaterCooled"""
    chilled_water_temperature_lower_limit: float | None
    """The chilled water supply temperature below which the chiller will shut off.; [C]; Default: 2.0"""
    fuel_higher_heating_value: float | None
    """Not currently used.; [kJ/kg]; Default: 0.0"""
    fuel_type: (
        Literal[
            "", "Diesel", "FuelOilNo1", "FuelOilNo2", "Gasoline", "NaturalGas", "OtherFuel1", "OtherFuel2", "Propane"
        ]
        | None
    )
    """Default: NaturalGas"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""

class ChillerHeaterAbsorptionDoubleEffect(IDFObject):
    """Exhaust fired absorption chiller-heater using performance curves similar to DOE-2"""

    nominal_cooling_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    heating_to_cooling_capacity_ratio: float | None
    """A positive fraction that represents the ratio of the heating capacity divided by the cooling capacity at rated condit...; Default: 0.8; Range: >= 0.0"""
    thermal_energy_input_to_cooling_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous fuel used divided by the cooling capacity at rat...; Default: 0.97; Range: > 0.0"""
    thermal_energy_input_to_heating_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous fuel used divided by the nominal heating capacity.; Default: 1.25; Range: >= 0.0"""
    electric_input_to_cooling_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous electricity used divided by the cooling capacity...; Default: 0.01; Range: >= 0.0"""
    electric_input_to_heating_output_ratio: float | None
    """The positive fraction that represents the ratio of the instantaneous electricity used divided by the nominal heating ...; Default: 0.0; Range: >= 0.0"""
    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    condenser_inlet_node_name: str | None
    condenser_outlet_node_name: str | None
    """Not required if air-cooled"""
    hot_water_inlet_node_name: str | None
    hot_water_outlet_node_name: str | None
    minimum_part_load_ratio: float | None
    """The positive fraction that represents the minimum cooling output possible when operated continually at rated temperat...; Default: 0.1; Range: > 0.0"""
    maximum_part_load_ratio: float | None
    """The positive fraction that represents the maximum cooling output possible at rated temperature conditions divided by ...; Default: 1.0; Range: >= 0.5"""
    optimum_part_load_ratio: float | None
    """The positive fraction that represents the optimal cooling output at rated temperature conditions divided by the nomin...; Default: 1.0; Range: > 0.0"""
    design_entering_condenser_water_temperature: float | None
    """The temperature of the water entering the condenser of the chiller when operating at design conditions. This is usual...; [C]; Default: 29.0"""
    design_leaving_chilled_water_temperature: float | None
    """The temperature of the water leaving the evaporator of the chiller when operating at design conditions also called th...; [C]; Default: 7.0"""
    design_chilled_water_flow_rate: float | Literal["", "Autosize"] | None
    """For variable volume this is the max flow & for constant flow this is the flow.; [m3/s] (gal/min); Default: Autosize"""
    design_condenser_water_flow_rate: float | Literal["", "Autosize"] | None
    """The water flow rate at design conditions through the condenser. This field is not used for Condenser Type = AirCooled; [m3/s] (gal/min); Default: Autosize"""
    design_hot_water_flow_rate: float | Literal["", "Autosize"] | None
    """The water flow rate at design conditions through the heater side.; [m3/s] (gal/min); Default: Autosize"""
    cooling_capacity_function_of_temperature_curve_name: str | None
    """The CoolCapFT curve represents the fraction of the cooling capacity of the chiller as it varies by temperature. The c..."""
    fuel_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """The curve represents the fraction of the fuel input to the chiller at full load as it varies by temperature. The curv..."""
    fuel_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """The curve represents the fraction of the fuel input to the chiller as the load on the chiller varies but the operatin..."""
    electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """The curve represents the fraction of the electricity to the chiller at full load as it varies by temperature. The cur..."""
    electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """The curve represents the fraction of the electricity to the chiller as the load on the chiller varies but the operati..."""
    heating_capacity_function_of_cooling_capacity_curve_name: str | None
    """The curve represents how the heating capacity of the chiller varies with cooling capacity when the chiller is simulta..."""
    fuel_input_to_heat_output_ratio_during_heating_only_operation_curve_name: str | None
    """When the chiller is operating as only a heater, this curve is used to represent the fraction of fuel used as the heat..."""
    temperature_curve_input_variable: Literal["", "EnteringCondenser", "LeavingCondenser"] | None
    """Sets the second independent variable in the three temperature dependent performance curves to either the leaving or e...; Default: EnteringCondenser"""
    condenser_type: Literal["", "AirCooled", "WaterCooled"] | None
    """The condenser can either be air cooled or connected to a cooling tower.; Default: WaterCooled"""
    chilled_water_temperature_lower_limit: float | None
    """The chilled water supply temperature below which the chiller will shut off.; [C]; Default: 2.0"""
    exhaust_source_object_type: Literal["Generator:MicroTurbine"] | None
    exhaust_source_object_name: str | None
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""

class HeatPumpPlantLoopEIRCooling(IDFObject):
    """An EIR formulated water to water heat pump model, cooling operation.; Since: 9.3.0"""

    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    condenser_type: Literal["", "AirSource", "WaterSource"] | None
    """Default: WaterSource"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    heat_recovery_inlet_node_name: str | None
    """Not available with water source condenser type; Since: 24.2.0"""
    heat_recovery_outlet_node_name: str | None
    """Not available with water source condenser type; Since: 24.2.0"""
    companion_heat_pump_name: str | None
    """This field allows the user to specify a companion heating object for this cooling object. The companion is used in si..."""
    load_side_reference_flow_rate: float | Literal["", "Autosize"] | None
    """This component is currently a constant-flow device, meaning it will always try to request the full design flow from t...; [m3/s] (gal/min); Default: Autosize"""
    source_side_reference_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    heat_recovery_reference_flow_rate: float | Literal["", "Autosize"] | None
    """Not available with water source condenser type; [m3/s] (gal/min); Default: Autosize; Since: 24.2.0"""
    reference_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    reference_coefficient_of_performance: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized load side reference flow rate which is then used to autosize the capacity; Default: 1.0; Range: > 0.0"""
    capacity_modifier_function_of_temperature_curve_name: str | None
    """Cooling capacity modifier as a function of CW supply temp and entering condenser temp curve = a + b*CWS + c*CWS**2 + ..."""
    electric_input_to_output_ratio_modifier_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of temperature EIR = 1/COP curve = a + b*CWS + c*CWS**2 + d*ECT + e..."""
    electric_input_to_output_ratio_modifier_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of Part Load Ratio (PLR) EIR = 1/COP quadratic curve = a + b*PLR + ..."""
    control_type: Literal["", "Load", "Setpoint"] | None
    """Heat pump can be controlled on leaving water temperature set point or plant load; Default: Load; Since: 23.2.0"""
    flow_mode: Literal["", "ConstantFlow", "VariableSpeedPumping"] | None
    """Select operating mode for fluid flow through the chiller. 'ConstantFlow' is for constant pumping with flow controlled...; Default: ConstantFlow; Since: 23.2.0"""
    minimum_part_load_ratio: float | None
    """Below this operating limit compressor cycling will occur; Default: 0.0; Range: >= 0.0; Since: 23.2.0"""
    minimum_source_inlet_temperature: float | None
    """Enter the minimum inlet outdoor air dry-bulb temperature for air-cooled units or minimum inlet water temperature for ...; [C]; Default: -100.0; Since: 23.2.0"""
    maximum_source_inlet_temperature: float | None
    """Enter the maximum inlet outdoor air dry-bulb temperature for air-cooled units or maximum inlet water temperature for ...; [C]; Default: 100.0; Since: 23.2.0"""
    minimum_supply_water_temperature_curve_name: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature; Since: 23.2.0"""
    maximum_supply_water_temperature_curve_name: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature; Since: 23.2.0"""
    maximum_heat_recovery_outlet_temperature: float | None
    """Enter the maximum heat recovery leaving water temperature limit The hot water temperature is not allowed to exceed th...; [C]; Default: 60.0; Since: 24.2.0"""
    heat_recovery_capacity_modifier_function_of_temperature_curve_name: str | None
    """Cooling capacity modifier as a function of CW supply temp and condenser entering fluid temp curve = a + b*CWS + c*CWS...; Since: 24.2.0"""
    heat_recovery_electric_input_to_output_ratio_modifier_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of temperature EIR = 1/COP curve = a + b*CWS + c*CWS**2 + d*ECT + e...; Since: 24.2.0"""
    thermosiphon_capacity_fraction_curve_name: str | None
    """quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used Tevap, out = evapo...; Since: 24.2.0"""
    thermosiphon_minimum_temperature_difference: float | None
    """Thermosiphon model is disabled below this minimum limit and when the load is greater than calculated using the previo...; Default: 0.0; Range: >= 0.0; Since: 24.2.0"""

class HeatPumpPlantLoopEIRHeating(IDFObject):
    """An EIR formulated water to water heat pump model, heating operation; Since: 9.3.0"""

    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    condenser_type: Literal["", "AirSource", "WaterSource"] | None
    """Default: WaterSource"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    heat_recovery_inlet_node_name: str | None
    """Not available with water source condenser type; Since: 24.2.0"""
    heat_recovery_outlet_node_name: str | None
    """Not available with water source condenser type; Since: 24.2.0"""
    companion_heat_pump_name: str | None
    """This field allows the user to specify a companion cooling object for this heating object. The companion is used in si..."""
    load_side_reference_flow_rate: float | Literal["", "Autosize"] | None
    """This component is currently a constant-flow device, meaning it will always try to request the full design flow from t...; [m3/s] (gal/min); Default: Autosize"""
    source_side_reference_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    heat_recovery_reference_flow_rate: float | Literal["", "Autosize"] | None
    """Not available with water source condenser type; [m3/s] (gal/min); Default: Autosize; Since: 24.2.0"""
    reference_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    reference_coefficient_of_performance: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized load side reference flow rate which is then used to autosize the capacity; Default: 1.0; Range: > 0.0"""
    capacity_modifier_function_of_temperature_curve_name: str | None
    """Heating capacity modifier as a function of CW supply temp and entering condenser temp curve = a + b*CWS + c*CWS**2 + ..."""
    electric_input_to_output_ratio_modifier_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of temperature EIR = 1/COP curve = a + b*CWS + c*CWS**2 + d*ECT + e..."""
    electric_input_to_output_ratio_modifier_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of Part Load Ratio (PLR) EIR = 1/COP quadratic curve = a + b*PLR + ..."""
    heating_to_cooling_capacity_sizing_ratio: float | None
    """Multiplies the autosized heating capacity; Default: 1.0; Range: >= 0.0; Since: 23.2.0"""
    heat_pump_sizing_method: Literal["", "CoolingCapacity", "GreaterOfHeatingOrCooling", "HeatingCapacity"] | None
    """Specifies sizing method when companion coil exists; Default: CoolingCapacity; Since: 23.2.0"""
    control_type: Literal["", "Load", "Setpoint"] | None
    """Heat pump can be controlled on leaving water temperature set point or plant load; Default: Load; Since: 23.2.0"""
    flow_mode: Literal["", "ConstantFlow", "VariableSpeedPumping"] | None
    """Select operating mode for fluid flow through the chiller. 'ConstantFlow' is for constant pumping with flow controlled...; Default: ConstantFlow; Since: 23.2.0"""
    minimum_part_load_ratio: float | None
    """Below this operating limit compressor cycling will occur; Default: 0.0; Range: >= 0.0; Since: 23.2.0"""
    minimum_source_inlet_temperature: float | None
    """Enter the minimum inlet outdoor air dry-bulb temperature for air-cooled units or minimum inlet water temperature for ...; [C]; Default: -100.0; Since: 23.2.0"""
    maximum_source_inlet_temperature: float | None
    """Enter the maximum inlet outdoor air dry-bulb temperature for air-cooled units or maximum inlet water temperature for ...; [C]; Default: 100.0; Since: 23.2.0"""
    minimum_supply_water_temperature_curve_name: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature; Since: 23.2.0"""
    maximum_supply_water_temperature_curve_name: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature; Since: 23.2.0"""
    dry_outdoor_correction_factor_curve_name: str | None
    """Since: 23.2.0"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """defrost operation will not be active above this outdoor temperature; Default: 10.0; Since: 23.2.0"""
    heat_pump_defrost_control: Literal["None", "OnDemand", "Timed", "TimedEmpirical"] | None
    """A blank field is the same as None.; Since: 23.2.0"""
    heat_pump_defrost_time_period_fraction: float | None
    """Nominal fraction of time in defrost mode only applicable if Timed or TimedEmpirical heat pump defrost control is spec...; Default: 0.058333; Range: >= 0.0; Since: 23.2.0"""
    defrost_energy_input_ratio_function_of_temperature_curve_name: str | None
    """univariate curve = a + b*OAT is typical, other univariate curves may be used bivariate curve = a + b*WB + c*WB**2 + d...; Since: 23.2.0"""
    timed_empirical_defrost_frequency_curve_name: str | None
    """univariate curve = a + b*OAT is typical, other univariate curves may be used OAT = outdoor air dry-bulb temperature (...; Since: 23.2.0"""
    timed_empirical_defrost_heat_load_penalty_curve_name: str | None
    """univariate curve = a + b*OAT is typical, other univariate curves may be used bivariate curve = a + b*WB + c*WB**2 + d...; Since: 23.2.0"""
    timed_empirical_defrost_heat_input_energy_fraction_curve_name: str | None
    """univariate curve = a + b*OAT is typical, other univariate curves may be used bivariate curve = a + b*WB + c*WB**2 + d...; Since: 23.2.0"""
    minimum_heat_recovery_outlet_temperature: float | None
    """Enter the minimum heat recovery leaving water temperature limit The chilled water temperature is not allowed to drop ...; [C]; Default: 4.5; Since: 24.2.0"""
    heat_recovery_capacity_modifier_function_of_temperature_curve_name: str | None
    """Heating capacity modifier as a function of HW supply temp and entering condenser fluid temp curve = a + b*HWS + c*HWS...; Since: 24.2.0"""
    heat_recovery_electric_input_to_output_ratio_modifier_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) modifier as a function of temperature EIR = 1/COP curve = a + b*HWS + c*HWS**2 + d*ECT + e...; Since: 24.2.0"""

class HeatPumpAirToWaterFuelFiredHeating(IDFObject):
    """The object defines a fuel-fired absorption heat pump based on equation-fit models.; Since: 23.1.0"""

    water_inlet_node_name: str | None
    """Inlet node name of the water side connection"""
    water_outlet_node_name: str | None
    """Outlet node name of the water side connection"""
    air_source_node_name: str | None
    """This is the air source node name, which is the evaporator side of the heat pump in heating mode. Enter the name of an..."""
    companion_cooling_heat_pump_name: str | None
    """The name of the companion HeatPump:AirToWater:FuelFired:Cooling object This field is used for a heat pump with switch..."""
    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Fuel Type (NaturalGas, Propane, Gasoline, Diesel etc.); Default: NaturalGas"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    nominal_heating_capacity: float | Literal["Autosize"] | None
    """Nominal Heating Capacity in [W] (autosizable); [W]"""
    nominal_cop: float | None
    """Nominal COP (Coefficient of Performance); [W/W]; Default: 1.0; Range: > 0.0"""
    design_flow_rate: float | Literal["Autosize"] | None
    """Design Flow Rate in m3/s (autosizable); [m3/s]"""
    design_supply_temperature: float | None
    """Design Supply Temperature in [degree C]; [C]; Default: 60.0"""
    design_temperature_lift: float | Literal["", "Autosize"] | None
    """Design Temperature Lift in [degree C]; [deltaC]; Default: 11.1"""
    sizing_factor: float | None
    """Sizing Factor for equipment sizing; Default: 1.0; Range: >= 0.0"""
    flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Flow Mode for the water side of the fuel-fired absorption heat pump; Default: NotModulated"""
    outdoor_air_temperature_curve_input_variable: Literal["", "DryBulb", "WetBulb"] | None
    """Outdoor air temperature curve input variable; The options are Outdoor Air Dry Bulb or Wet Bulb temperature for curves; Default: DryBulb"""
    water_temperature_curve_input_variable: Literal["", "EnteringCondenser", "LeavingCondenser"] | None
    """Water Temperature curve input variable - Condenser Entering or Leaving Water Temperature for curves; Default: EnteringCondenser"""
    normalized_capacity_function_of_temperature_curve_name: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table."""
    fuel_energy_input_ratio_function_of_temperature_curve_name: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table."""
    fuel_energy_input_ratio_function_of_plr_curve_name: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    minimum_part_load_ratio: float | None
    """Minimum Part Load Ratio (PLR) in between 0 and 1; Default: 0.1; Range: > 0.0, <= 1.0"""
    maximum_part_load_ratio: float | None
    """Maximum Part Load Ratio (PLR) in between 0 and 1; Default: 1.0; Range: > 0.0, <= 1.0"""
    defrost_control_type: Literal["", "OnDemand", "Timed"] | None
    """Defrost operation control type: Timed or OnDemand; Default: Timed"""
    defrost_operation_time_fraction: float | None
    """Defrost operation time fraction, which will be used only for Timed Defrost Control Type.; Default: 0.0; Range: >= 0.0, <= 1.0"""
    fuel_energy_input_ratio_defrost_adjustment_curve_name: str | None
    """EIRDEFROST - Energy Input Ratio Defrost Adjustment Curve Name, which is a cubic curve or a lookup table function of O..."""
    resistive_defrost_heater_capacity: float | None
    """The heating power of electric resistive defrost heater. Only used for timed defrost control type.; [W]; Default: 0.0; Range: >= 0.0"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """There will be no defrost operation when outdoor air is above this temperature.; [C]; Default: 5.0; Range: >= 0.0, <= 10.0"""
    cycling_ratio_factor_curve_name: str | None
    """Cycling Ratio Factor (CRF) Curve Name, which is a cubic curve or a lookup table function of Cycling Ratio (defined as..."""
    nominal_auxiliary_electric_power: float | None
    """Nominal Auxiliary Electric Power in [W]; [W]; Range: >= 0.0"""
    auxiliary_electric_energy_input_ratio_function_of_temperature_curve_name: str | None
    """Auxiliary Electric EIRFT - Auxiliary Electric Energy Input Ratio Function of Temperature Curve Name, which is a biqua..."""
    auxiliary_electric_energy_input_ratio_function_of_plr_curve_name: str | None
    """Auxiliary Electric EIRFPLR - Auxiliary Electric Energy Input Ratio Function of PLR (Part Load Ratio) Curve Name, whic..."""
    standby_electric_power: float | None
    """Standby Electric Power in [W]; [W]; Default: 0.0; Range: >= 0.0"""
    minimum_unloading_ratio: float | None
    """Minimum modulation level of the gas-fired heat pump. Typically less than 1.0 and slightly higher than the minimum par...; Default: 0.25; Range: >= 0.0, <= 1.0; Since: 25.2.0"""

class HeatPumpAirToWaterFuelFiredCooling(IDFObject):
    """The object defines a fuel-fired absorption heat pump based on equation-fit models.; Since: 23.1.0"""

    water_inlet_node_name: str | None
    """Inlet node name of the water side connection"""
    water_outlet_node_name: str | None
    """Outlet node name of the water side connection"""
    air_source_node_name: str | None
    """This is the air source node name, which is the condenser side of the heat pump in cooling mode. Enter the name of an ..."""
    companion_heating_heat_pump_name: str | None
    """The name of the companion HeatPump:AirToWater:FuelFired:Heating object This field is used for a heat pump with switch..."""
    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Fuel Type (NaturalGas, Propane, Gasoline, Diesel etc.); Default: NaturalGas"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    nominal_cooling_capacity: float | Literal["Autosize"] | None
    """Nominal Cooling Capacity in [W] (autosizable); [W]"""
    nominal_cop: float | None
    """Nominal COP (Coefficient of Performance); [W/W]; Default: 1.0; Range: > 0.0"""
    design_flow_rate: float | Literal["Autosize"] | None
    """Design Flow Rate in m3/s (autosizable); [m3/s]"""
    design_supply_temperature: float | None
    """Design Supply Temperature in [degree C]; [C]; Default: 7.0"""
    design_temperature_lift: float | Literal["", "Autosize"] | None
    """Design Temperature Lift in [degree C]; [deltaC]; Default: 11.1"""
    sizing_factor: float | None
    """Sizing Factor for equipment sizing; Default: 1.0; Range: >= 0.0"""
    flow_mode: Literal["", "ConstantFlow", "LeavingSetpointModulated", "NotModulated"] | None
    """Flow Mode for the water side of the fuel-fired absorption heat pump; Default: NotModulated"""
    outdoor_air_temperature_curve_input_variable: Literal["", "DryBulb", "WetBulb"] | None
    """Outdoor air temperature curve input variable; The options are Outdoor Air Dry Bulb or Wet Bulb temperature for curves; Default: DryBulb"""
    water_temperature_curve_input_variable: Literal["", "EnteringEvaporator", "LeavingEvaporator"] | None
    """Water Temperature curve input variable - Condenser Entering or Leaving Water Temperature for curves; Default: EnteringEvaporator"""
    normalized_capacity_function_of_temperature_curve_name: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table."""
    fuel_energy_input_ratio_function_of_temperature_curve_name: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table."""
    fuel_energy_input_ratio_function_of_plr_curve_name: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    minimum_part_load_ratio: float | None
    """Minimum Part Load Ratio (PLR) in between 0 and 1; Default: 0.1; Range: > 0.0, <= 1.0"""
    maximum_part_load_ratio: float | None
    """Maximum Part Load Ratio (PLR) in between 0 and 1; Default: 1.0; Range: > 0.0, <= 1.0"""
    cycling_ratio_factor_curve_name: str | None
    """Cycling Ratio Factor (CRF) Curve Name, which is a cubic curve or a lookup table function of Cycling Ratio (defined as..."""
    nominal_auxiliary_electric_power: float | None
    """Nominal Auxiliary Electric Power in [W]; [W]; Range: >= 0.0"""
    auxiliary_electric_energy_input_ratio_function_of_temperature_curve_name: str | None
    """Auxiliary Electric EIRFT - Auxiliary Electric Energy Input Ratio Function of Temperature Curve Name, which is a biqua..."""
    auxiliary_electric_energy_input_ratio_function_of_plr_curve_name: str | None
    """Auxiliary Electric EIRFPLR - Auxiliary Electric Energy Input Ratio Function of PLR (Part Load Ratio) Curve Name, whic..."""
    standby_electric_power: float | None
    """Standby Electric Power in [W]; [W]; Default: 0.0; Range: >= 0.0"""
    minimum_unloading_ratio: float | None
    """Minimum modulation level of the gas-fired heat pump. Typically less than 1.0 and slightly higher than the minimum par...; Default: 0.25; Range: >= 0.0, <= 1.0; Since: 25.2.0"""

class HeatPumpAirToWater(IDFObject):
    """air-to-water heat pump system which provides either chilled or hot water with single- or variable speed compressors.; Since: 25.2.0"""

    availability_schedule_name_heating: str | None
    """Enter the name of a schedule that defines the availability of the unit in heating mode Schedule values of 0 denote th..."""
    availability_schedule_name_cooling: str | None
    """Enter the name of a schedule that defines the availability of the unit in cooling mode Schedule values of 0 denote th..."""
    operating_mode_control_method: Literal["", "EMSControlled", "Load", "ScheduledModes"] | None
    """Default: Load"""
    operating_mode_control_option_for_multiple_unit: (
        Literal["", "Balanced", "CoolingPriority", "HeatingPriority", "SingleMode"] | None
    )
    """this determines how the operation mode is assigned when the load is too large to be met by multiple heat pump units S...; Default: SingleMode"""
    operating_mode_control_schedule_name: str | None
    """This field is used if the control method is set to ScheduledModes Schedule values control operating mode: 0=off, 1=co..."""
    minimum_part_load_ratio: float | None
    """Below this operating limit compressor cycling will occur; Default: 0.0; Range: >= 0.0"""
    rated_inlet_air_temperature_in_heating_mode: float | None
    """inlet air dry-bulb temperature corresponding to rated heat pump performance (capacity, COP).; [C]; Default: 8.0"""
    rated_air_flow_rate_in_heating_mode: float | Literal["", "Autosize"] | None
    """air flow rate corresponding to rated heat pump performance (capacity, COP).; [m3/s]; Default: Autosize"""
    rated_leaving_water_temperature_in_heating_mode: float | None
    """outlet water temperature corresponding to rated heat pump performance (heating capacity, COP).; [C]; Default: 40.0"""
    rated_water_flow_rate_in_heating_mode: float | Literal["", "Autosize"] | None
    """Condenser water flow rate corresponding to rated heat pump performance (capacity, COP).; [m3/s] (gal/min); Default: Autosize"""
    minimum_outdoor_air_temperature_in_heating_mode: float | None
    """Enter the minimum outdoor temperature allowed for heating operation Heating is disabled below this temperature; [C]; Default: -30.0"""
    maximum_outdoor_air_temperature_in_heating_mode: float | None
    """Enter the maximum outdoor temperature allowed for heating operation Heating is disabled above this temperature; [C]; Default: 100.0"""
    minimum_leaving_water_temperature_curve_name_in_heating_mode: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature"""
    maximum_leaving_water_temperature_curve_name_in_heating_mode: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature"""
    sizing_factor_for_heating: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    rated_inlet_air_temperature_in_cooling_mode: float | None
    """inlet air dry-bulb temperature corresponding to rated heat pump performance (capacity, COP).; [C]; Default: 30.0"""
    rated_air_flow_rate_in_cooling_mode: float | Literal["", "Autosize"] | None
    """air flow rate corresponding to rated heat pump performance (capacity, COP).; [m3/s]; Default: Autosize"""
    rated_leaving_water_temperature_in_cooling_mode: float | None
    """inlet water temperature corresponding to rated performance (heating capacity, COP).; [C]; Default: 8.0"""
    rated_water_flow_rate_in_cooling_mode: float | Literal["", "Autosize"] | None
    """Condenser water flow rate corresponding to rated heat pump performance (capacity, COP).; [m3/s] (gal/min); Default: Autosize"""
    minimum_outdoor_air_temperature_in_cooling_mode: float | None
    """Enter the minimum outdoor temperature allowed for cooling operation Cooling is disabled below this temperature; [C]; Default: -30.0"""
    maximum_outdoor_air_temperature_in_cooling_mode: float | None
    """Enter the maximum outdoor temperature allowed for cooling operation Cooling is disabled above this temperature; [C]; Default: 100.0"""
    minimum_leaving_water_temperature_curve_name_in_cooling_mode: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature"""
    maximum_leaving_water_temperature_curve_name_in_cooling_mode: str | None
    """quadratic curve = a + b*OAT is typical, other univariate curves may be used OAT = Outdoor Dry-Bulb Temperature"""
    sizing_factor_for_cooling: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    air_inlet_node_name: str | None
    """The node from which the heat pump draws its inlet air."""
    air_outlet_node_name: str | None
    """The node to which the heat pump sends its outlet air."""
    hot_water_inlet_node_name: str | None
    """The node connects to the hot water loop"""
    hot_water_outlet_node_name: str | None
    """The node connects to the hot water loop"""
    chilled_water_inlet_node_name: str | None
    """The node connects to the chilled water loop"""
    chilled_water_outlet_node_name: str | None
    """The node connects to the chilled water loop"""
    maximum_outdoor_dry_bulb_temperature_for_defrost_operation: float | None
    """defrost operation will not be active above this outdoor temperature; Default: 10.0"""
    heat_pump_defrost_control: Literal["", "None", "OnDemand", "Timed", "TimedEmpirical"] | None
    """Default: None"""
    heat_pump_defrost_time_period_fraction: float | None
    """Fraction of time in defrost mode only applicable if timed defrost control is specified; Default: 0.058333; Range: >= 0.0"""
    resistive_defrost_heater_capacity: float | None
    """only applicable if resistive defrost strategy is specified; [W]; Default: 0.0; Range: >= 0.0"""
    defrost_energy_input_ratio_function_of_temperature_curve_name: str | None
    """univariate curve = a + b*OAT is typical, other univariate curves may be used bivariate curve = a + b*WB + c*WB**2 + d..."""
    heat_pump_multiplier: int | None
    """intend to model modular heat pumps; Default: 1"""
    control_type: Literal["", "FixedSpeed", "VariableSpeed"] | None
    """Default: VariableSpeed"""
    crankcase_heater_capacity: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [W]; Default: 0.0; Range: >= 0.0"""
    crankcase_heater_capacity_function_of_temperature_curve_name: str | None
    """A Curve:* or Table:Lookup object encoding the relationship between the crankcase heater capacity and the outdoor air ..."""
    maximum_ambient_temperature_for_crankcase_heater_operation: float | None
    """The compressor crankcase heater only operates when the dry-bulb temperature of air surrounding the compressor is belo...; [C]; Default: 10.0; Range: >= 0.0"""
    number_of_speeds_for_heating: int | None
    """the number of speed levels in heating mode if there's only cooling component, set this field to 0; Default: 1; Range: >= 0, <= 5"""
    rated_heating_capacity_at_speed_1: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_heating_at_speed_1: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_at_speed_1: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_at_speed_1: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_at_speed_1: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_heating_capacity_at_speed_2: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_heating_at_speed_2: float | None
    """[W/W]; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_at_speed_2: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_at_speed_2: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_at_speed_2: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_heating_capacity_at_speed_3: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_heating_at_speed_3: float | None
    """[W/W]; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_at_speed_3: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_at_speed_3: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_at_speed_3: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_heating_capacity_at_speed_4: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_heating_at_speed_4: float | None
    """[W/W]; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_at_speed_4: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_at_speed_4: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_at_speed_4: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_heating_capacity_at_speed_5: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_heating_at_speed_5: float | None
    """[W/W]; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_at_speed_5: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_at_speed_5: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_at_speed_5: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    booster_mode_on_heating: Literal["", "No", "Yes"] | None
    """Default: No"""
    rated_heating_capacity_in_booster_mode: float | None
    """[W]; Range: > 0.0"""
    rated_heating_cop_in_booster_mode: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    normalized_heating_capacity_function_of_temperature_curve_name_in_booster_mode: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    heating_energy_input_ratio_function_of_temperature_curve_name_in_booster_mode: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    heating_energy_input_ratio_function_of_plr_curve_name_in_booster_mode: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    number_of_speeds_for_cooling: int | None
    """the number of speed levels in cooling mode if there's only heating component, set this field to 0; Default: 1; Range: >= 0, <= 5"""
    rated_cooling_capacity_at_speed_1: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_cooling_at_speed_1: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_at_speed_1: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_at_speed_1: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_at_speed_1: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_cooling_capacity_at_speed_2: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_cooling_at_speed_2: float | None
    """[W/W]; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_at_speed_2: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_at_speed_2: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_at_speed_2: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_cooling_capacity_at_speed_3: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_cooling_at_speed_3: float | None
    """[W/W]; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_at_speed_3: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_at_speed_3: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_at_speed_3: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_cooling_capacity_at_speed_4: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_cooling_at_speed_4: float | None
    """[W/W]; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_at_speed_4: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_at_speed_4: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_at_speed_4: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    rated_cooling_capacity_at_speed_5: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    rated_cop_for_cooling_at_speed_5: float | None
    """[W/W]; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_at_speed_5: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_at_speed_5: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_at_speed_5: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""
    booster_mode_on_cooling: Literal["", "No", "Yes"] | None
    """Default: No"""
    rated_cooling_capacity_in_booster_mode: float | None
    """[W]; Range: > 0.0"""
    rated_cooling_cop_in_booster_mode: float | None
    """[W/W]; Default: 3.0; Range: > 0.0"""
    normalized_cooling_capacity_function_of_temperature_curve_name_in_booster_mode: str | None
    """CAPFT - Normalized Capacity Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of air..."""
    cooling_energy_input_ratio_function_of_temperature_curve_name_in_booster_mode: str | None
    """EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, which is a biquadratic curve or a lookup table of..."""
    cooling_energy_input_ratio_function_of_plr_curve_name_in_booster_mode: str | None
    """EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, which is a cubic curve or a lookup table."""

class HeatPumpWaterToWaterEquationFitHeating(IDFObject):
    """simple water-water hp curve-fit model"""

    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    reference_load_side_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_source_side_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_heating_capacity: float | Literal["Autosize"] | None
    """[W]"""
    reference_heating_power_consumption: float | Literal["Autosize"] | None
    """[W]"""
    heating_capacity_curve_name: str | None
    """Since: 9.5.0"""
    heating_compressor_power_curve_name: str | None
    """Since: 9.5.0"""
    reference_coefficient_of_performance: float | None
    """This optional field is used to autosize Reference Heating Power Consumption COP = Reference Heating Capacity / Refere...; [W/W]; Default: 7.5; Range: > 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    companion_cooling_heat_pump_name: str | None

class HeatPumpWaterToWaterEquationFitCooling(IDFObject):
    """simple water-water heat pump curve-fit model"""

    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    reference_load_side_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_source_side_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    reference_cooling_capacity: float | Literal["Autosize"] | None
    """[W]"""
    reference_cooling_power_consumption: float | Literal["Autosize"] | None
    """[W]"""
    cooling_capacity_curve_name: str | None
    """Since: 9.5.0"""
    cooling_compressor_power_curve_name: str | None
    """Since: 9.5.0"""
    reference_coefficient_of_performance: float | None
    """This optional field is used to autosize Reference Cooling Power Consumption COP = Rated Cooling Capacity / Rated Cool...; [W/W]; Default: 8.0; Range: > 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    companion_heating_heat_pump_name: str | None
    """This optional field is used to coordinate sizing calculations between heating and cooling modes."""

class HeatPumpWaterToWaterParameterEstimationCooling(IDFObject):
    """OSU parameter estimation model"""

    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    nominal_cop: float | None
    """[W/W]; Range: > 0.0"""
    nominal_capacity: float | None
    """[W]; Range: > 0.0"""
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    load_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    source_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    load_side_heat_transfer_coefficient: float | None
    """[W/K]; Range: > 0.0"""
    source_side_heat_transfer_coefficient: float | None
    """[W/K]; Range: > 0.0"""
    piston_displacement: float | None
    """[m3/s]; Range: > 0.0"""
    compressor_clearance_factor: float | None
    """Range: > 0.0"""
    compressor_suction_and_discharge_pressure_drop: float | None
    """[Pa]; Range: > 0.0"""
    superheating: float | None
    """[C]; Range: > 0.0"""
    constant_part_of_electromechanical_power_losses: float | None
    """[W]; Range: > 0.0"""
    loss_factor: float | None
    """Used to define electromechanical loss that is proportional to the theoretical power %; Range: > 0.0"""
    high_pressure_cut_off: float | None
    """[Pa]; Default: 500000000.0; Range: >= 0.0"""
    low_pressure_cut_off: float | None
    """[Pa]; Default: 0.0; Range: >= 0.0"""

class HeatPumpWaterToWaterParameterEstimationHeating(IDFObject):
    """OSU parameter estimation model"""

    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    load_side_inlet_node_name: str | None
    load_side_outlet_node_name: str | None
    nominal_cop: float | None
    """[W/W]; Range: > 0.0"""
    nominal_capacity: float | None
    """[W]; Range: > 0.0"""
    minimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    maximum_part_load_ratio: float | None
    """Range: >= 0.0"""
    optimum_part_load_ratio: float | None
    """Range: >= 0.0"""
    load_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    source_side_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    load_side_heat_transfer_coefficient: float | None
    """[W/K]; Range: > 0.0"""
    source_side_heat_transfer_coefficient: float | None
    """[W/K]; Range: > 0.0"""
    piston_displacement: float | None
    """[m3/s]; Range: > 0.0"""
    compressor_clearance_factor: float | None
    """Range: > 0.0"""
    compressor_suction_and_discharge_pressure_drop: float | None
    """[Pa]; Range: > 0.0"""
    superheating: float | None
    """[C]; Range: > 0.0"""
    constant_part_of_electromechanical_power_losses: float | None
    """[W]; Range: > 0.0"""
    loss_factor: float | None
    """Used to define electromechanical loss that is proportional to the theoretical power %; Range: > 0.0"""
    high_pressure_cut_off: float | None
    """[Pa]; Default: 500000000.0; Range: >= 0.0"""
    low_pressure_cut_off: float | None
    """[Pa]; Default: 0.0; Range: >= 0.0"""

class DistrictCooling(IDFObject):
    """Centralized source of chilled water, such as a district cooling system."""

    chilled_water_inlet_node_name: str | None
    chilled_water_outlet_node_name: str | None
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    capacity_fraction_schedule_name: str | None
    """Schedule values are multiplied by Nominal Capacity for current capacity"""

class DistrictHeatingWater(IDFObject):
    """Centralized source of hot water, such as a district heating system.; Since: 23.2.0"""

    hot_water_inlet_node_name: str | None
    hot_water_outlet_node_name: str | None
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    capacity_fraction_schedule_name: str | None
    """Schedule values are multiplied by Nominal Capacity for current capacity"""

class DistrictHeatingSteam(IDFObject):
    """Centralized source of Steam, such as a district heating system.; Since: 23.2.0"""

    steam_inlet_node_name: str | None
    steam_outlet_node_name: str | None
    nominal_capacity: float | Literal["Autosize"] | None
    """[W]"""
    capacity_fraction_schedule_name: str | None
    """Schedule values are multiplied by Nominal Capacity for current capacity"""

class PlantComponentTemperatureSource(IDFObject):
    """Simulates an object of pre-determined (constant or scheduled) source temperature The object introduces fluid into the..."""

    inlet_node: str | None
    """Name of the source inlet node"""
    outlet_node: str | None
    """Name of the source outlet node"""
    design_volume_flow_rate: float | Literal["Autosize"] | None
    """The design volumetric flow rate for this source; [m3/s] (gal/min)"""
    temperature_specification_type: Literal["Constant", "Scheduled"] | None
    source_temperature: float | None
    """Used if Temperature Specification Type = Constant; [C]"""
    source_temperature_schedule_name: str | None
    """Used if Temperature Specification Type = Scheduled; [C]"""

class CentralHeatPumpSystem(IDFObject):
    """This chiller bank can contain multiple chiller heaters and heat pump performance objects. Its function is to encapsul..."""

    control_method: Literal["", "SmartMixing"] | None
    """Default: SmartMixing"""
    cooling_loop_inlet_node_name: str | None
    cooling_loop_outlet_node_name: str | None
    source_loop_inlet_node_name: str | None
    source_loop_outlet_node_name: str | None
    heating_loop_inlet_node_name: str | None
    heating_loop_outlet_node_name: str | None
    ancillary_power: float | None
    """Power as demanded from any auxiliary controls; [W]; Default: 0.0; Range: >= 0.0"""
    ancillary_operation_schedule_name: str | None
    """This value from this schedule is multiplied times the Ancillary Power"""
    chiller_heater_modules_performance_component_object_type_1: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_1: str | None
    chiller_heater_modules_control_schedule_name_1: str | None
    number_of_chiller_heater_modules_1: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_2: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_2: str | None
    chiller_heater_modules_control_schedule_name_2: str | None
    number_of_chiller_heater_modules_2: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_performance_component_object_type_3: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_performance_component_name_3: str | None
    chiller_heater_modules_control_schedule_name_3: str | None
    number_of_chiller_heater_modules_3: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_4: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_4: str | None
    chiller_heater_modules_control_schedule_name_4: str | None
    number_of_chiller_heater_modules_4: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_5: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_models_performance_component_name_5: str | None
    chiller_heater_modules_control_schedule_name_5: str | None
    number_of_chiller_heater_modules_5: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_6: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_6: str | None
    chiller_heater_modules_control_schedule_name_6: str | None
    number_of_chiller_heater_modules_6: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_7: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_7: str | None
    chiller_heater_modules_control_schedule_name_7: str | None
    number_of_chiller_heater_modules_7: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_8: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_8: str | None
    chiller_heater_modules_control_schedule_name_8: str | None
    number_of_chiller_heater_modules_8: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_9: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_9: str | None
    chiller_heater_modules_control_schedule_name_9: str | None
    number_of_chiller_heater_modules_9: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_10: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_10: str | None
    chiller_heater_modules_control_schedule_name_10: str | None
    number_of_chiller_heater_modules_10: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_11: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_11: str | None
    chiller_heater_module_control_schedule_name_11: str | None
    number_of_chiller_heater_modules_11: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_12: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_12: str | None
    chiller_heater_modules_control_schedule_name_12: str | None
    number_of_chiller_heater_modules_12: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_13: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_13: str | None
    chiller_heater_modules_control_schedule_name_13: str | None
    number_of_chiller_heater_modules_13: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_14: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_14: str | None
    chiller_heater_modules_control_schedule_name_14: str | None
    number_of_chiller_heater_modules_14: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_15: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_15: str | None
    chiller_heater_modules_control_schedule_name_15: str | None
    number_of_chiller_heater_modules_15: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_16: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_16: str | None
    chiller_heater_modules_control_schedule_name_16: str | None
    number_of_chiller_heater_modules_16: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_17: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_17: str | None
    chiller_heater_modules_control_schedule_name_17: str | None
    number_of_chiller_heater_modules_17: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_18: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_18: str | None
    chiller_heater_modules_control_control_schedule_name_18: str | None
    number_of_chiller_heater_modules_18: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_19: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_19: str | None
    chiller_heater_modules_control_schedule_name_19: str | None
    number_of_chiller_heater_modules_19: int | None
    """Default: 1; Range: >= 1"""
    chiller_heater_modules_performance_component_object_type_20: Literal["ChillerHeaterPerformance:Electric:EIR"] | None
    chiller_heater_modules_performance_component_name_20: str | None
    chiller_heater_modules_control_schedule_name_20: str | None
    number_of_chiller_heater_modules_20: int | None
    """Default: 1; Range: >= 1"""

class ChillerHeaterPerformanceElectricEIR(IDFObject):
    """This chiller model is a generic chiller-heater where the cooling mode performance is a function of condenser entering..."""

    reference_cooling_mode_evaporator_capacity: float | Literal["Autosize"] | None
    """[W]"""
    reference_cooling_mode_cop: float | None
    """Efficiency of the chiller compressor (cooling output/compressor energy input).; [W/W]; Range: > 0.0"""
    reference_cooling_mode_leaving_chilled_water_temperature: float | None
    """[C]; Default: 6.67"""
    reference_cooling_mode_entering_condenser_fluid_temperature: float | None
    """[C]; Default: 29.44"""
    reference_cooling_mode_leaving_condenser_water_temperature: float | None
    """[C]; Default: 35.0"""
    reference_heating_mode_cooling_capacity_ratio: float | None
    """During simultaneous cooling-heating mode, this ratio is relative to the Reference Cooling Mode Cooling Capacity (Evap...; Default: 0.75"""
    reference_heating_mode_cooling_power_input_ratio: float | None
    """During simultaneous cooling-heating mode, this ratio is relative to the Reference Cooling Mode COP (Power at simultan...; Default: 1.38; Range: > 0.0"""
    reference_heating_mode_leaving_chilled_water_temperature: float | None
    """During simultaneous cooling-heating mode; [C]; Default: 6.67"""
    reference_heating_mode_leaving_condenser_water_temperature: float | None
    """During simultaneous cooling-heating mode; [C]; Default: 49.0"""
    reference_heating_mode_entering_condenser_fluid_temperature: float | None
    """[C]; Default: 29.44"""
    heating_mode_entering_chilled_water_temperature_low_limit: float | None
    """During simultaneous cooling-heating mode; [C]; Default: 12.22"""
    chilled_water_flow_mode_type: Literal["", "ConstantFlow", "VariableFlow"] | None
    """Sets chilled water flow rate to either constant or variable.; Default: ConstantFlow"""
    design_chilled_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_condenser_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_hot_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    compressor_motor_efficiency: float | None
    """Fraction of compressor electrical energy that must be rejected by the condenser. Enter 1.0 or leave this field blank ...; Default: 1.0; Range: >= 0.0, <= 1.0"""
    condenser_type: Literal["", "AirCooled", "WaterCooled"] | None
    """Default: WaterCooled"""
    cooling_mode_temperature_curve_condenser_water_independent_variable: (
        Literal["", "EnteringCondenser", "LeavingCondenser"] | None
    )
    """Sets the second independent variable in the three temperature dependent performance curves to either the leaving or e...; Default: EnteringCondenser"""
    cooling_mode_cooling_capacity_function_of_temperature_curve_name: str | None
    """Cooling capacity as a function of leaving chilled water temperature and either entering or leaving condenser fluid te..."""
    cooling_mode_electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of supply (leaving) chilled water temperature and leaving condenser fluid te..."""
    cooling_mode_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of Part Load Ratio (PLR) EIR = 1/COP Bicubic = a + b*TCond + c*TCond**2 + d*..."""
    cooling_mode_cooling_capacity_optimum_part_load_ratio: float | None
    """Optimum part load ratio where the chiller is most efficient. Must be greater than or equal to the Minimum Part Load R...; Default: 1.0; Range: > 0.0"""
    heating_mode_temperature_curve_condenser_water_independent_variable: (
        Literal["", "EnteringCondenser", "LeavingCondenser"] | None
    )
    """Sets the second independent variable in the three temperature dependent performance curves to either the leaving or e...; Default: LeavingCondenser"""
    heating_mode_cooling_capacity_function_of_temperature_curve_name: str | None
    """Evaporator (cooling) capacity as a function of leaving chilled water temperature and leaving condenser fluid temperat..."""
    heating_mode_electric_input_to_cooling_output_ratio_function_of_temperature_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of leaving chilled water temperature when in heating or simultaneous cool/he..."""
    heating_mode_electric_input_to_cooling_output_ratio_function_of_part_load_ratio_curve_name: str | None
    """Electric Input Ratio (EIR) as a function of Part Load Ratio (PLR) when in heating or simultaneous cool/heat mode EIR ..."""
    heating_mode_cooling_capacity_optimum_part_load_ratio: float | None
    """Optimum part load ratio where the chiller is most efficient when in heating or simultaneous cool/heat mode. Must be g...; Default: 1.0; Range: > 0.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""

class CoolingTowerSingleSpeed(IDFObject):
    """This tower model is based on Merkel's theory, which is also the basis for the tower model in ASHRAE's HVAC1 Toolkit. ..."""

    water_inlet_node_name: str | None
    """Name of tower water inlet node"""
    water_outlet_node_name: str | None
    """Name of tower water outlet node"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """Leave field blank if tower performance input method is NominalCapacity; [m3/s] (gal/min)"""
    design_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    design_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power; [W] (W)"""
    design_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Leave field blank if tower performance input method is NominalCapacity; [W/K]"""
    free_convection_regime_air_flow_rate: float | Literal["", "Autocalculate"] | None
    """[m3/s]; Default: 0.0; Since: 9.2.0"""
    free_convection_regime_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.1; Range: > 0.0, < 1.0; Since: 9.2.0"""
    free_convection_regime_u_factor_times_area_value: float | Literal["", "Autocalculate"] | None
    """[W/K]; Default: 0.0; Since: 9.2.0"""
    free_convection_u_factor_times_area_value_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is UFactorTime...; Default: 0.1; Range: > 0.0, < 1.0"""
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """User can define tower thermal performance by specifying the tower UA, the Design Air Flow Rate and the Design Water F...; Default: UFactorTimesAreaAndDesignWaterFlowRate"""
    heat_rejection_capacity_and_nominal_capacity_sizing_ratio: float | None
    """Default: 1.25"""
    nominal_capacity: float | None
    """Nominal tower capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F) ...; [W]; Range: > 0.0"""
    free_convection_capacity: float | Literal["Autocalculate"] | None
    """Tower capacity in free convection regime with entering water at 35C (95F), leaving water at 29.44C (85F), entering ai...; [W]"""
    free_convection_nominal_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.1; Range: > 0.0, < 1.0"""
    design_inlet_air_dry_bulb_temperature: float | None
    """Enter the tower's design inlet air dry-bulb temperature; [C]; Default: 35.0; Range: >= 20.0"""
    design_inlet_air_wet_bulb_temperature: float | None
    """Enter the tower's design inlet air wet-bulb temperature; [C]; Default: 25.6; Range: >= 20.0"""
    design_approach_temperature: float | Literal["", "Autosize"] | None
    """Enter the approach temperature corresponding to the design inlet air wet-bulb temperature and design range temperatur...; [deltaC]; Default: Autosize"""
    design_range_temperature: float | Literal["", "Autosize"] | None
    """Enter the range temperature corresponding to the design inlet air wet-bulb temperature and design approach temperatur...; [deltaC]; Default: Autosize"""
    basin_heater_capacity: float | None
    """This heater maintains the basin water temperature at the basin heater setpoint temperature when the outdoor air tempe...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature when the basin heater turns on; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """Schedule values greater than 0 allow the basin heater to operate whenever the outdoor air dry-bulb temperature is bel..."""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporation from the cooling tower and lost to the outdoor air [%/K] Evaporation loss is calculated as ...; [percent/K]; Default: 0.2"""
    drift_loss_percent: float | None
    """Rate of drift loss as a percentage of circulating condenser water flow rate Typical values are between 0.002 and 0.2%...; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the cooling tower. Blowdown is water intentionally drained from the tower in or...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining a small amount of water in the tower basin to p..."""
    supply_water_storage_tank_name: str | None
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    capacity_control: Literal["", "FanCycling", "FluidBypass"] | None
    """Default: FanCycling"""
    number_of_cells: int | None
    """Default: 1; Range: >= 1"""
    cell_control: Literal["", "MaximalCell", "MinimalCell"] | None
    """Default: MaximalCell"""
    cell_minimum_water_flow_rate_fraction: float | None
    """The allowable minimal fraction of the nominal flow rate per cell; Default: 0.33; Range: > 0.0, <= 1.0"""
    cell_maximum_water_flow_rate_fraction: float | None
    """The allowable maximal fraction of the nominal flow rate per cell; Default: 2.5; Range: >= 1.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class CoolingTowerTwoSpeed(IDFObject):
    """This tower model is based on Merkel's theory, which is also the basis for the tower model in ASHRAE's HVAC1 Toolkit. ..."""

    water_inlet_node_name: str | None
    """Name of tower Water Inlet Node"""
    water_outlet_node_name: str | None
    """Name of tower Water Outlet Node"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """Leave field blank if Tower Performance Input Method is NominalCapacity; [m3/s] (gal/min)"""
    high_fan_speed_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    high_fan_speed_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power at high speed; [W] (W)"""
    high_fan_speed_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Leave field blank if Tower Performance Input Method is NominalCapacity; [W/K]"""
    low_fan_speed_air_flow_rate: float | Literal["Autocalculate"] | None
    """Low speed air flow rate must be less than high speed air flow rate Low speed air flow rate must be greater than free ...; [m3/s]"""
    low_fan_speed_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.5; Range: > 0.0, < 1.0"""
    low_fan_speed_fan_power: float | Literal["Autocalculate"] | None
    """This is the fan motor electric input power at low speed; [W] (W)"""
    low_fan_speed_fan_power_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.16; Range: > 0.0, < 1.0"""
    low_fan_speed_u_factor_times_area_value: float | Literal["Autocalculate"] | None
    """Leave field blank if tower Performance Input Method is NominalCapacity Low speed tower UA must be less than high spee...; [W/K]"""
    low_fan_speed_u_factor_times_area_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is UFactorTime...; Default: 0.6; Range: > 0.0, < 1.0"""
    free_convection_regime_air_flow_rate: float | Literal["", "Autocalculate"] | None
    """[m3/s]; Default: 0.0"""
    free_convection_regime_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.1; Range: > 0.0, < 1.0"""
    free_convection_regime_u_factor_times_area_value: float | Literal["", "Autocalculate"] | None
    """Leave field blank if Tower Performance Input Method is NominalCapacity; [W/K]; Default: 0.0"""
    free_convection_u_factor_times_area_value_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is UFactorTime...; Default: 0.1; Range: > 0.0, < 1.0"""
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """User can define tower thermal performance by specifying the tower UA, the Design Air Flow Rate and the Design Water F...; Default: UFactorTimesAreaAndDesignWaterFlowRate"""
    heat_rejection_capacity_and_nominal_capacity_sizing_ratio: float | None
    """Default: 1.25"""
    high_speed_nominal_capacity: float | None
    """Nominal tower capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F) ...; [W]; Range: > 0.0"""
    low_speed_nominal_capacity: float | Literal["Autocalculate"] | None
    """Nominal tower capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F) ...; [W]"""
    low_speed_nominal_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.5; Range: > 0.0, < 1.0"""
    free_convection_nominal_capacity: float | Literal["Autocalculate"] | None
    """Tower capacity in free convection regime with entering water at 35C (95F), leaving water at 29.44C (85F), entering ai...; [W]"""
    free_convection_nominal_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.1; Range: > 0.0, < 1.0"""
    design_inlet_air_dry_bulb_temperature: float | None
    """Enter the tower's design inlet air dry-bulb temperature; [C]; Default: 35.0; Range: >= 20.0"""
    design_inlet_air_wet_bulb_temperature: float | None
    """Enter the tower's design inlet air wet-bulb temperature; [C]; Default: 25.6; Range: >= 20.0"""
    design_approach_temperature: float | Literal["", "Autosize"] | None
    """Enter the approach temperature corresponding to the design inlet air wet-bulb temperature and design range temperatur...; [deltaC]; Default: Autosize"""
    design_range_temperature: float | Literal["", "Autosize"] | None
    """Enter the range temperature corresponding to the design inlet air wet-bulb temperature and design approach temperatur...; [deltaC]; Default: Autosize"""
    basin_heater_capacity: float | None
    """This heater maintains the basin water temperature at the basin heater setpoint temperature when the outdoor air tempe...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature when the basin heater turns on; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """Schedule values greater than 0 allow the basin heater to operate whenever the outdoor air dry-bulb temperature is bel..."""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporated from the cooling tower and lost to the outdoor air [%/K] Evaporation loss is calculated as p...; [percent/K]; Default: 0.2"""
    drift_loss_percent: float | None
    """Rate of drift loss as a percentage of circulating condenser water flow rate Typical values are between 0.002 and 0.2%...; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the cooling tower. Blowdown is water intentionally drained from the tower in or...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining some amount of water in the tower basin to purg..."""
    supply_water_storage_tank_name: str | None
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    number_of_cells: int | None
    """Default: 1; Range: >= 1"""
    cell_control: Literal["", "MaximalCell", "MinimalCell"] | None
    """Default: MaximalCell"""
    cell_minimum_water_flow_rate_fraction: float | None
    """The allowable minimal fraction of the nominal flow rate per cell; Default: 0.33; Range: > 0.0, <= 1.0"""
    cell_maximum_water_flow_rate_fraction: float | None
    """The allowable maximal fraction of the nominal flow rate per cell; Default: 2.5; Range: >= 1.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class CoolingTowerVariableSpeedMerkel(IDFObject):
    """This tower model is based on Merkel's theory, which is also the basis for the tower model in ASHRAE's HVAC1 Toolkit. ..."""

    water_inlet_node_name: str | None
    """Name of tower water inlet node"""
    water_outlet_node_name: str | None
    """Name of tower water outlet node"""
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """User can define tower thermal performance by specifying the tower UA, the Design Air Flow Rate and the Design Water F...; Default: NominalCapacity"""
    heat_rejection_capacity_and_nominal_capacity_sizing_ratio: float | None
    """Default: 1.25"""
    nominal_capacity: float | Literal["Autosize"] | None
    """Nominal tower capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F) ...; [W]"""
    free_convection_nominal_capacity: float | Literal["Autocalculate"] | None
    """required field when performance method is NominalCapacity Tower capacity in free convection regime with entering wate...; [W]"""
    free_convection_nominal_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.1; Range: > 0.0, < 1.0"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_water_flow_rate_per_unit_of_nominal_capacity: float | None
    """This field is only used if the previous is set to autocalculate and performance input method is NominalCapacity; [m3/s-W] ((gal/min)/(Btu/h)); Default: 5.382e-08"""
    design_air_flow_rate: float | Literal["Autocalculate"] | None
    """This is the air flow rate at full fan speed; [m3/s]"""
    design_air_flow_rate_per_unit_of_nominal_capacity: float | None
    """This field is only used if the previous is set to autocalculate When field is left blank the default scaling factor i...; [m3/s-W]; Default: 2.76316e-05"""
    minimum_air_flow_rate_ratio: float | None
    """Enter the minimum air flow rate ratio. This is typically determined by the variable speed drive that controls the fan...; Default: 0.2; Range: >= 0.1, <= 0.5"""
    design_fan_power: float | Literal["Autocalculate"] | None
    """This is the fan motor electric input power at high speed; [W] (W)"""
    design_fan_power_per_unit_of_nominal_capacity: float | None
    """This field is only used if the previous is set to autocalculate [W/W] Watts of fan power per Watt of tower nominal ca...; [dimensionless]; Default: 0.0105"""
    fan_power_modifier_function_of_air_flow_rate_ratio_curve_name: str | None
    """Any curve or table with one independent variable can be used cubic curve = a + b*AFR + c*AFR**2 + d*AFR**3 quartic cu..."""
    free_convection_regime_air_flow_rate: float | Literal["", "Autocalculate"] | None
    """[m3/s]; Default: 0.0"""
    free_convection_regime_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.1; Range: > 0.0, < 1.0"""
    design_air_flow_rate_u_factor_times_area_value: float | Literal["Autosize"] | None
    """required field when performance method is UFactorTimesAreaAndDesignWaterFlowRate when performance method is NominalCa...; [W/K]"""
    free_convection_regime_u_factor_times_area_value: float | Literal["", "Autocalculate"] | None
    """required field when performance input method is UFactorTimesAreaAndDesignWaterFlowRate Leave field blank if performan...; [W/K]; Default: 0.0"""
    free_convection_u_factor_times_area_value_sizing_factor: float | None
    """required field when performance input method is UFactorTimesAreaAndDesignWaterFlowRate This field is only used if the...; Default: 0.1; Range: > 0.0, < 1.0"""
    u_factor_times_area_modifier_function_of_air_flow_ratio_curve_name: str | None
    """This curve describes how tower's design UA changes with variable air flow rate Any curve or table with one independen..."""
    u_factor_times_area_modifier_function_of_wetbulb_temperature_difference_curve_name: str | None
    """curve describes how tower UA changes with outdoor air wet-bulb temperature difference from design wet-bulb Any curve ..."""
    u_factor_times_area_modifier_function_of_water_flow_ratio_curve_name: str | None
    """curve describes how tower UA changes with the flow rate of condenser water through the tower Any curve or table with ..."""
    design_inlet_air_dry_bulb_temperature: float | None
    """Enter the tower's design inlet air dry-bulb temperature; [C]; Default: 35.0; Range: >= 20.0"""
    design_inlet_air_wet_bulb_temperature: float | None
    """Enter the tower's design inlet air wet-bulb temperature; [C]; Default: 25.6; Range: >= 20.0"""
    design_approach_temperature: float | Literal["", "Autosize"] | None
    """Enter the approach temperature corresponding to the design inlet air wet-bulb temperature and design range temperatur...; [deltaC]; Default: Autosize"""
    design_range_temperature: float | Literal["", "Autosize"] | None
    """Enter the range temperature corresponding to the design inlet air wet-bulb temperature and design approach temperatur...; [deltaC]; Default: Autosize"""
    basin_heater_capacity: float | None
    """This heater maintains the basin water temperature at the basin heater setpoint temperature when the outdoor air tempe...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature when the basin heater turns on; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """Schedule values greater than 0 allow the basin heater to operate whenever the outdoor air dry-bulb temperature is bel..."""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporated from the cooling tower and lost to the outdoor air [%/K] Evaporation loss is calculated as p...; [percent/K]; Default: 0.2"""
    drift_loss_percent: float | None
    """Rate of drift loss as a percentage of circulating condenser water flow rate Typical values are between 0.002 and 0.2%...; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the cooling tower. Blowdown is water intentionally drained from the tower in or...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining some amount of water in the tower basin to purg..."""
    supply_water_storage_tank_name: str | None
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    number_of_cells: int | None
    """Default: 1; Range: >= 1"""
    cell_control: Literal["", "MaximalCell", "MinimalCell"] | None
    """Default: MaximalCell"""
    cell_minimum_water_flow_rate_fraction: float | None
    """The allowable minimal fraction of the nominal flow rate per cell; Default: 0.33; Range: > 0.0, <= 1.0"""
    cell_maximum_water_flow_rate_fraction: float | None
    """The allowable maximal fraction of the nominal flow rate per cell; Default: 2.5; Range: >= 1.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class CoolingTowerVariableSpeed(IDFObject):
    """This open wet tower model is based on purely empirical algorithms derived from manufacturer's performance data or fie..."""

    water_inlet_node_name: str | None
    """Name of tower water inlet node"""
    water_outlet_node_name: str | None
    """Name of tower water outlet node"""
    model_type: Literal["", "CoolToolsCrossFlow", "CoolToolsUserDefined", "YorkCalc", "YorkCalcUserDefined"] | None
    """Determines the coefficients and form of the equation for calculating approach temperature; Default: YorkCalc"""
    model_coefficient_name: str | None
    """Name of the tower model coefficient object. Used only when tower Model Type is either CoolToolsUserDefined or YorkCal..."""
    design_inlet_air_wet_bulb_temperature: float | None
    """Enter the tower's design inlet air wet-bulb temperature; [C]; Default: 25.6; Range: >= 20.0"""
    design_approach_temperature: float | None
    """Enter the approach temperature corresponding to the design inlet air wet-bulb temperature and design range temperatur...; [deltaC]; Default: 3.9; Range: > 0.0"""
    design_range_temperature: float | None
    """Enter the range temperature corresponding to the design inlet air wet-bulb temperature and design approach temperatur...; [deltaC]; Default: 5.6; Range: > 0.0"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """Water flow rate through the tower at design conditions; [m3/s] (gal/min)"""
    design_air_flow_rate: float | Literal["Autosize"] | None
    """Design (maximum) air flow rate through the tower; [m3/s]"""
    design_fan_power: float | Literal["Autosize"] | None
    """Enter the fan motor electric input power at design (max) air flow through the tower Standard conversion for horsepowe...; [W] (W)"""
    fan_power_ratio_function_of_air_flow_rate_ratio_curve_name: str | None
    """FPR = a + b*AFR + c*AFR**2 + d*AFR**3 FPR = fraction of the design fan power AFR = fraction of the design air flow ra..."""
    minimum_air_flow_rate_ratio: float | None
    """Enter the minimum air flow rate ratio. This is typically determined by the variable speed drive that controls the fan...; Default: 0.2; Range: >= 0.2, <= 0.5"""
    fraction_of_tower_capacity_in_free_convection_regime: float | None
    """Enter the fraction of tower capacity in the free convection regime. This is the fraction of the tower capacity, at th...; Default: 0.125; Range: >= 0.0, <= 0.2"""
    basin_heater_capacity: float | None
    """This heater maintains the basin water temperature at the basin heater setpoint temperature when the outdoor air tempe...; [W/K]; Default: 0.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature when the basin heater turns on; [C]; Default: 2.0; Range: >= 2.0"""
    basin_heater_operating_schedule_name: str | None
    """Schedule values greater than 0 allow the basin heater to operate whenever the outdoor air dry-bulb temperature is bel..."""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporated from the cooling tower and lost to the outdoor air [%/K] Evaporation loss is calculated as p...; [percent/K]; Default: 0.2"""
    drift_loss_percent: float | None
    """Rate of drift loss as a percentage of circulating condenser water flow rate Typical values are between 0.002 and 0.2%...; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the cooling tower. Blowdown is water intentionally drained from the tower in or...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining a small amount of water in the tower basin to p..."""
    supply_water_storage_tank_name: str | None
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    number_of_cells: int | None
    """Default: 1; Range: >= 1"""
    cell_control: Literal["", "MaximalCell", "MinimalCell"] | None
    """Default: MaximalCell"""
    cell_minimum_water_flow_rate_fraction: float | None
    """The allowable minimal fraction of the nominal flow rate per cell; Default: 0.33; Range: > 0.0, <= 1.0"""
    cell_maximum_water_flow_rate_fraction: float | None
    """The allowable maximal fraction of the nominal flow rate per cell; Default: 2.5; Range: >= 1.0"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class CoolingTowerPerformanceCoolTools(IDFObject):
    """This object is used to define coefficients for the approach temperature correlation for a variable speed cooling towe..."""

    minimum_inlet_air_wet_bulb_temperature: float | None
    """Minimum valid inlet air wet-bulb temperature for this approach temperature correlation.; [C]"""
    maximum_inlet_air_wet_bulb_temperature: float | None
    """Maximum valid inlet air wet-bulb temperature for this approach temperature correlation.; [C]"""
    minimum_range_temperature: float | None
    """Minimum valid range temperature for this approach temperature correlation.; [deltaC]"""
    maximum_range_temperature: float | None
    """Maximum valid range temperature for this approach temperature correlation.; [deltaC]"""
    minimum_approach_temperature: float | None
    """Minimum valid approach temperature for this correlation.; [deltaC]"""
    maximum_approach_temperature: float | None
    """Maximum valid approach temperature for this correlation.; [deltaC]"""
    minimum_water_flow_rate_ratio: float | None
    """Minimum valid water flow rate ratio for this approach temperature correlation."""
    maximum_water_flow_rate_ratio: float | None
    """Maximum valid water flow rate ratio for this approach temperature correlation."""
    coefficient_1: float | None
    coefficient_2: float | None
    coefficient_3: float | None
    coefficient_4: float | None
    coefficient_5: float | None
    coefficient_6: float | None
    coefficient_7: float | None
    coefficient_8: float | None
    coefficient_9: float | None
    coefficient_10: float | None
    coefficient_11: float | None
    coefficient_12: float | None
    coefficient_13: float | None
    coefficient_14: float | None
    coefficient_15: float | None
    coefficient_16: float | None
    coefficient_17: float | None
    coefficient_18: float | None
    coefficient_19: float | None
    coefficient_20: float | None
    coefficient_21: float | None
    coefficient_22: float | None
    coefficient_23: float | None
    coefficient_24: float | None
    coefficient_25: float | None
    coefficient_26: float | None
    coefficient_27: float | None
    coefficient_28: float | None
    coefficient_29: float | None
    coefficient_30: float | None
    coefficient_31: float | None
    coefficient_32: float | None
    coefficient_33: float | None
    coefficient_34: float | None
    coefficient_35: float | None

class CoolingTowerPerformanceYorkCalc(IDFObject):
    """This object is used to define coefficients for the approach temperature correlation for a variable speed cooling towe..."""

    minimum_inlet_air_wet_bulb_temperature: float | None
    """Minimum valid inlet air wet-bulb temperature for this approach temperature correlation.; [C]"""
    maximum_inlet_air_wet_bulb_temperature: float | None
    """Maximum valid inlet air wet-bulb temperature for this approach temperature correlation.; [C]"""
    minimum_range_temperature: float | None
    """Minimum valid range temperature for this approach temperature correlation.; [deltaC]"""
    maximum_range_temperature: float | None
    """Maximum valid range temperature for this approach temperature correlation.; [deltaC]"""
    minimum_approach_temperature: float | None
    """Minimum valid approach temperature for this correlation.; [deltaC]"""
    maximum_approach_temperature: float | None
    """Maximum valid approach temperature for this correlation.; [deltaC]"""
    minimum_water_flow_rate_ratio: float | None
    """Minimum valid water flow rate ratio for this approach temperature correlation."""
    maximum_water_flow_rate_ratio: float | None
    """Maximum valid water flow rate ratio for this approach temperature correlation."""
    maximum_liquid_to_gas_ratio: float | None
    """Maximum liquid (water) to gas (air) ratio for this approach temperature correlation."""
    coefficient_1: float | None
    coefficient_2: float | None
    coefficient_3: float | None
    coefficient_4: float | None
    coefficient_5: float | None
    coefficient_6: float | None
    coefficient_7: float | None
    coefficient_8: float | None
    coefficient_9: float | None
    coefficient_10: float | None
    coefficient_11: float | None
    coefficient_12: float | None
    coefficient_13: float | None
    coefficient_14: float | None
    coefficient_15: float | None
    coefficient_16: float | None
    coefficient_17: float | None
    coefficient_18: float | None
    coefficient_19: float | None
    coefficient_20: float | None
    coefficient_21: float | None
    coefficient_22: float | None
    coefficient_23: float | None
    coefficient_24: float | None
    coefficient_25: float | None
    coefficient_26: float | None
    coefficient_27: float | None

class EvaporativeFluidCoolerSingleSpeed(IDFObject):
    """This model is based on Merkel's theory, which is also the basis for the cooling tower model in EnergyPlus. The Evapor..."""

    water_inlet_node_name: str | None
    """Name of Fluid Cooler water inlet node"""
    water_outlet_node_name: str | None
    """Name of Fluid Cooler water outlet node"""
    design_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    design_air_flow_rate_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power; [W] (W)"""
    design_spray_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    performance_input_method: (
        Literal["StandardDesignCapacity", "UFactorTimesAreaAndDesignWaterFlowRate", "UserSpecifiedDesignCapacity"]
        | None
    )
    """User can define fluid cooler thermal performance by specifying the fluid cooler UA and the Design Water Flow Rate, or..."""
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    heat_rejection_capacity_and_nominal_capacity_sizing_ratio: float | None
    """Default: 1.25"""
    standard_design_capacity: float | None
    """Standard design capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F...; [W]; Range: > 0.0"""
    design_air_flow_rate_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Only used for Performance Input Method = UFactorTimesAreaAndDesignWaterFlowRate; for other Performance Input Methods,...; [W/K]"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """Input value is ignored if fluid cooler Performance Input Method= StandardDesignCapacity.; [m3/s] (gal/min)"""
    user_specified_design_capacity: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [W]; Range: > 0.0"""
    design_entering_water_temperature: float | Literal["", "Autosize"] | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: Autosize"""
    design_entering_air_temperature: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: 35.0; Range: > 0.0"""
    design_entering_air_wet_bulb_temperature: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: 25.6; Range: > 0.0"""
    capacity_control: Literal["", "FanCycling", "FluidBypass"] | None
    """Default: FanCycling"""
    sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporation from the Fluid Cooler and lost to the outdoor air [%/K] Empirical correlation is used to ca...; [percent/K]"""
    drift_loss_percent: float | None
    """Rate of drift loss as a percentage of circulating spray water flow rate Default value for this field is under investi...; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the Evaporative Fluid Cooler. Blowdown is water intentionally drained from the ...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining a small amount of water in the Fluid Cooler bas..."""
    supply_water_storage_tank_name: str | None

class EvaporativeFluidCoolerTwoSpeed(IDFObject):
    """This model is based on Merkel's theory, which is also the basis for the cooling tower model in EnergyPlus. The Evapor..."""

    water_inlet_node_name: str | None
    """Name of fluid cooler water inlet node"""
    water_outlet_node_name: str | None
    """Name of fluid cooler water outlet node"""
    high_fan_speed_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    high_fan_speed_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power at high speed; [W] (W)"""
    low_fan_speed_air_flow_rate: float | Literal["Autocalculate"] | None
    """Low speed air flow rate must be less than high speed air flow rate; [m3/s]"""
    low_fan_speed_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.5"""
    low_fan_speed_fan_power: float | Literal["Autocalculate"] | None
    """This is the fan motor electric input power at low speed; [W] (W)"""
    low_fan_speed_fan_power_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.16"""
    design_spray_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    performance_input_method: (
        Literal["StandardDesignCapacity", "UFactorTimesAreaAndDesignWaterFlowRate", "UserSpecifiedDesignCapacity"]
        | None
    )
    """User can define fluid cooler thermal performance by specifying the fluid cooler UA and the Design Water Flow Rate, or..."""
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""
    heat_rejection_capacity_and_nominal_capacity_sizing_ratio: float | None
    """Default: 1.25"""
    high_speed_standard_design_capacity: float | None
    """Standard design capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F...; [W]; Range: > 0.0"""
    low_speed_standard_design_capacity: float | Literal["Autocalculate"] | None
    """Standard design capacity with entering water at 35C (95F), leaving water at 29.44C (85F), entering air at 25.56C (78F...; [W]"""
    low_speed_standard_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.5"""
    high_fan_speed_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Only used for Performance Input Method = UFactorTimesAreaAndDesignWaterFlowRate; for other Performance Input Methods,...; [W/K]"""
    low_fan_speed_u_factor_times_area_value: float | Literal["Autocalculate"] | None
    """Only used for Performance Input Method = UFactorTimesAreaAndDesignWaterFlowRate; for other input methods, this field ...; [W/K]"""
    low_fan_speed_u_factor_times_area_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is UFactorTime...; Default: 0.6"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """Input value is ignored if fluid cooler Performance Input Method= StandardDesignCapacity; [m3/s] (gal/min)"""
    high_speed_user_specified_design_capacity: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [W]; Range: > 0.0"""
    low_speed_user_specified_design_capacity: float | Literal["Autocalculate"] | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [W]"""
    low_speed_user_specified_design_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate; Default: 0.5"""
    design_entering_water_temperature: float | Literal["", "Autosize"] | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: Autosize"""
    design_entering_air_temperature: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: 35.0; Range: > 0.0"""
    design_entering_air_wet_bulb_temperature: float | None
    """Only used for Performance Input Method = UserSpecifiedDesignCapacity; for other Performance Input Methods, this field...; [C] (F); Default: 25.6; Range: > 0.0"""
    high_speed_sizing_factor: float | None
    """Multiplies the autosized capacity and flow rates; Default: 1.0; Range: > 0.0"""
    evaporation_loss_mode: Literal["", "LossFactor", "SaturatedExit"] | None
    """Default: SaturatedExit"""
    evaporation_loss_factor: float | None
    """Rate of water evaporation from the Fluid Cooler and lost to the outdoor air [%/K] Empirical correlation is used to ca...; [percent/K]"""
    drift_loss_percent: float | None
    """Default value is under investigation. For now cooling tower's default value is taken.; [percent]; Default: 0.008"""
    blowdown_calculation_mode: Literal["", "ConcentrationRatio", "ScheduledRate"] | None
    """Default: ConcentrationRatio"""
    blowdown_concentration_ratio: float | None
    """Characterizes the rate of blowdown in the Evaporative Fluid Cooler. Blowdown is water intentionally drained from the ...; Default: 3.0; Range: >= 2.0"""
    blowdown_makeup_water_usage_schedule_name: str | None
    """Makeup water usage due to blowdown results from occasionally draining some amount of water in the Evaporative Fluid C..."""
    supply_water_storage_tank_name: str | None

class FluidCoolerSingleSpeed(IDFObject):
    """The fluid cooler is modeled as a cross flow heat exchanger (both streams unmixed) with single-speed fans (induced dra..."""

    water_inlet_node_name: str | None
    """Name of fluid cooler water inlet node"""
    water_outlet_node_name: str | None
    """Name of fluid cooler water outlet node"""
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """User can define fluid cooler thermal performance by specifying the fluid cooler UA and the Design Water Flow Rate, or...; Default: NominalCapacity"""
    design_air_flow_rate_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Leave field blank if fluid cooler Performance Input Method is NominalCapacity; [W/K]"""
    nominal_capacity: float | None
    """Nominal fluid cooler capacity; [W]; Range: > 0.0"""
    design_entering_water_temperature: float | None
    """Design Entering Water Temperature must be specified for both the performance input methods and its value must be grea...; [C] (F); Range: > 0.0"""
    design_entering_air_temperature: float | None
    """Design Entering Air Temperature must be specified for both the performance input methods and its value must be greate...; [C] (F); Range: > 0.0"""
    design_entering_air_wetbulb_temperature: float | None
    """Design Entering Air Wet-bulb Temperature must be specified for both the performance input methods and its value must ...; [C] (F); Range: > 0.0"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    design_air_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    design_air_flow_rate_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power; [W] (W)"""
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""

class FluidCoolerTwoSpeed(IDFObject):
    """The fluid cooler is modeled as a cross flow heat exchanger (both streams unmixed) with two-speed fans (induced draft ..."""

    water_inlet_node_name: str | None
    """Name of fluid cooler water inlet node"""
    water_outlet_node_name: str | None
    """Name of fluid cooler water outlet node"""
    performance_input_method: Literal["", "NominalCapacity", "UFactorTimesAreaAndDesignWaterFlowRate"] | None
    """User can define fluid cooler thermal performance by specifying the fluid cooler UA and the Design Water Flow Rate, or...; Default: NominalCapacity"""
    high_fan_speed_u_factor_times_area_value: float | Literal["Autosize"] | None
    """Leave field blank if fluid cooler Performance Input Method is NominalCapacity; [W/K]"""
    low_fan_speed_u_factor_times_area_value: float | Literal["Autocalculate"] | None
    """Leave field blank if fluid cooler Performance Input Method is NominalCapacity Low speed fluid cooler UA must be less ...; [W/K]"""
    low_fan_speed_u_factor_times_area_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is UFactorTime...; Default: 0.6"""
    high_speed_nominal_capacity: float | None
    """Nominal fluid cooler capacity at high fan speed; [W]; Range: > 0.0"""
    low_speed_nominal_capacity: float | Literal["Autocalculate"] | None
    """Nominal fluid cooler capacity at low fan speed; [W]"""
    low_speed_nominal_capacity_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate and the Performance Input Method is NominalCapa...; Default: 0.5"""
    design_entering_water_temperature: float | None
    """Design Entering Water Temperature must be specified for both the performance input methods and its value must be grea...; [C] (F); Range: > 0.0"""
    design_entering_air_temperature: float | None
    """Design Entering Air Temperature must be specified for both the performance input methods and its value must be greate...; [C] (F); Range: > 0.0"""
    design_entering_air_wet_bulb_temperature: float | None
    """Design Entering Air Wet-bulb Temperature must be specified for both the performance input methods and its value must ...; [C] (F); Range: > 0.0"""
    design_water_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    high_fan_speed_air_flow_rate: float | Literal["Autosize"] | None
    """Air Flow Rate at High Fan Speed must be greater than Air Flow Rate at Low Fan Speed; [m3/s]"""
    high_fan_speed_fan_power: float | Literal["Autosize"] | None
    """This is the fan motor electric input power at high speed; [W] (W)"""
    low_fan_speed_air_flow_rate: float | Literal["Autocalculate"] | None
    """Air Flow Rate at Low Fan Speed must be less than Air Flow Rate at High Fan Speed; [m3/s]"""
    low_fan_speed_air_flow_rate_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.5"""
    low_fan_speed_fan_power: float | Literal["Autocalculate"] | None
    """This is the fan motor electric input power at low speed; [W] (W)"""
    low_fan_speed_fan_power_sizing_factor: float | None
    """This field is only used if the previous field is set to autocalculate.; Default: 0.16"""
    outdoor_air_inlet_node_name: str | None

class GroundHeatExchangerSystem(IDFObject):
    """Models vertical ground heat exchangers systems using the response factor approach developed by Eskilson. Response fac..."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    ground_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    ground_thermal_heat_capacity: float | None
    """[J/m3-K]; Range: > 0.0"""
    ghe_vertical_responsefactors_object_name: str | None
    g_function_calculation_method: Literal["", "FullDesign", "UBHWTcalc", "UHFcalc"] | None
    """Default: UHFcalc; Since: 9.6.0"""
    ghe_vertical_sizing_object_type: Literal["GroundHeatExchanger:Vertical:Sizing:Rectangle"] | None
    """Since: 25.2.0"""
    ghe_vertical_sizing_object_name: str | None
    """Only needed when g-function calculation method is FullDesign; Since: 25.2.0"""
    ghe_vertical_array_object_name: str | None
    ghe_vertical_single_object_name: str | None

class GroundHeatExchangerVerticalSizingRectangle(IDFObject):
    """Specifies parameters to be used for Ground Heat Exchanger borehole field design and sizing.; Since: 25.2.0"""

    sizingperiod_weatherfiledays_name: str | None
    """Specifies the SizingPeriod:WeatherFileDays required to perform GHE sizing"""
    design_flow_rate_per_borehole: float | None
    """Design flow rate per borehole used to size borehole field; [m3/s]; Default: 0.0005; Range: > 0.0"""
    available_borehole_field_length: float | None
    """Available length of the area available for designing the borehole field; [m]; Range: > 0.0"""
    available_borehole_field_width: float | None
    """Available width of the area available for designing the borehole field; [m]; Range: > 0.0"""
    maximum_number_of_boreholes: float | None
    """User specified maximum number of boreholes; Range: > 0.0"""
    minimum_borehole_spacing: float | None
    """Minimum borehole-to-borehole spacing; [m]; Default: 4.0; Range: > 0.0"""
    maximum_borehole_spacing: float | None
    """Maximum borehole-to-borehole spacing; [m]; Default: 6.0; Range: > 0.0"""
    minimum_borehole_vertical_length: float | None
    """Minimum drilled depth of the vertical borehole; [m]; Default: 60.0; Range: > 0.0"""
    maximum_borehole_vertical_length: float | None
    """Maximum drilled depth of the vertical borehole; [m]; Default: 135.0; Range: > 0.0"""
    minimum_exiting_fluid_temperature_for_sizing: float | None
    """Minimum ground heat exchanger exiting fluid temperature used when designing the borehole field; [C]; Default: 5.0; Range: > 0.0"""
    maximum_exiting_fluid_temperature_for_sizing: float | None
    """Maximum ground heat exchanger exiting fluid temperature used when designing the borehole field; [C]; Default: 35.0; Range: > 0.0"""

class GroundHeatExchangerVerticalProperties(IDFObject):
    """Properties for vertical ground heat exchanger systems"""

    depth_of_top_of_borehole: float | None
    """[m]; Range: >= 0.0"""
    borehole_length: float | None
    """[m]; Range: > 0.0"""
    borehole_diameter: float | None
    """[m] (in); Range: > 0.0"""
    grout_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    grout_thermal_heat_capacity: float | None
    """[J/m3-K]; Range: > 0.0"""
    pipe_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    pipe_thermal_heat_capacity: float | None
    """[J/m3-K]; Range: > 0.0"""
    pipe_outer_diameter: float | None
    """[m] (in); Range: > 0.0"""
    pipe_thickness: float | None
    """[m] (in); Range: > 0.0"""
    u_tube_distance: float | None
    """[m]; Range: > 0.0"""

class GroundHeatExchangerVerticalArray(IDFObject):
    ghe_vertical_properties_object_name: str | None
    number_of_boreholes_in_x_direction: int | None
    """Range: >= 1"""
    number_of_boreholes_in_y_direction: int | None
    """Range: >= 1"""
    borehole_spacing: float | None
    """[m]; Range: > 0.0"""

class GroundHeatExchangerVerticalSingle(IDFObject):
    ghe_vertical_properties_object_name: str | None
    x_location: float | None
    """[m]"""
    y_location: float | None
    """[m]"""

class GroundHeatExchangerResponseFactors(IDFObject):
    """Response factor definitions from third-party tool, commonly referred to a 'g-functions'"""

    ghe_vertical_properties_object_name: str | None
    number_of_boreholes: int | None
    g_function_reference_ratio: float | None
    """[dimensionless]; Default: 0.0005; Range: > 0.0"""
    g_function_ln_t_ts_value: float | None
    g_function_g_value: float | None

class GroundHeatExchangerPond(IDFObject):
    """A model of a shallow pond with immersed pipe loops. Typically used in hybrid geothermal systems and included in the c..."""

    fluid_inlet_node_name: str | None
    fluid_outlet_node_name: str | None
    pond_depth: float | None
    """[m]; Range: > 0.0"""
    pond_area: float | None
    """[m2]; Range: > 0.0"""
    hydronic_tubing_inside_diameter: float | None
    """[m] (in); Range: > 0.0"""
    hydronic_tubing_outside_diameter: float | None
    """[m] (in); Range: > 0.0"""
    hydronic_tubing_thermal_conductivity: float | None
    """[W/m-K]; Range: > 0.0"""
    ground_thermal_conductivity: float | None
    """[W/m2-K]; Range: > 0.0"""
    number_of_tubing_circuits: int | None
    """Range: >= 1"""
    length_of_each_tubing_circuit: float | None
    """[m]; Range: >= 0.0"""

class GroundHeatExchangerSurface(IDFObject):
    """A hydronic surface/panel consisting of a multi-layer construction with embedded rows of tubes. Typically used in hybr..."""

    construction_name: str | None
    fluid_inlet_node_name: str | None
    fluid_outlet_node_name: str | None
    hydronic_tubing_inside_diameter: float | None
    """[m] (in); Range: > 0.0"""
    number_of_tubing_circuits: int | None
    """Range: >= 1"""
    hydronic_tube_spacing: float | None
    """[m]; Range: > 0.0"""
    surface_length: float | None
    """[m]; Range: > 0.0"""
    surface_width: float | None
    """[m]; Range: > 0.0"""
    lower_surface_environment: Literal["", "Exposed", "Ground"] | None
    """Default: Ground"""

class GroundHeatExchangerHorizontalTrench(IDFObject):
    """This models a horizontal heat exchanger placed in a series of trenches The model uses the PipingSystem:Underground un..."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    trench_length_in_pipe_axial_direction: float | None
    """This is the total pipe axial length of the heat exchanger If all pipe trenches are parallel, this is the length of a ...; [m] (ft); Default: 50.0; Range: > 0.0"""
    number_of_trenches: int | None
    """This is the number of horizontal legs that will be used in the entire heat exchanger, one pipe per trench; Default: 1; Range: >= 1"""
    horizontal_spacing_between_pipes: float | None
    """This represents the average horizontal spacing between any two trenches for heat exchangers that have multiple trenches; [m]; Default: 1.0; Range: > 0.0"""
    pipe_inner_diameter: float | None
    """[m] (in); Default: 0.016; Range: > 0.0"""
    pipe_outer_diameter: float | None
    """[m] (in); Default: 0.026; Range: > 0.0"""
    burial_depth: float | None
    """This is the burial depth of the pipes, or the trenches containing the pipes; [m] (ft); Default: 1.5; Range: > 0.0"""
    soil_thermal_conductivity: float | None
    """[W/m-K]; Default: 1.08; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Default: 962.0; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Default: 2576.0; Range: > 0.0"""
    pipe_thermal_conductivity: float | None
    """[W/m-K]; Default: 0.3895; Range: > 0.0"""
    pipe_density: float | None
    """[kg/m3]; Default: 641.0; Range: > 0.0"""
    pipe_specific_heat: float | None
    """[J/kg-K]; Default: 2405.0; Range: > 0.0"""
    soil_moisture_content_percent: float | None
    """[percent]; Default: 30.0; Range: >= 0.0, <= 100.0"""
    soil_moisture_content_percent_at_saturation: float | None
    """[percent]; Default: 50.0; Range: >= 0.0, <= 100.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    evapotranspiration_ground_cover_parameter: float | None
    """This specifies the ground cover effects during evapotranspiration calculations. The value roughly represents the foll...; Default: 0.4; Range: >= 0.0, <= 1.5"""

class GroundHeatExchangerSlinky(IDFObject):
    """This models a slinky horizontal heat exchanger placed in a series of trenches The model uses the model developed by: ..."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    design_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.002; Range: > 0.0"""
    soil_thermal_conductivity: float | None
    """[W/m-K]; Default: 1.08; Range: > 0.0"""
    soil_density: float | None
    """[kg/m3]; Default: 962.0; Range: > 0.0"""
    soil_specific_heat: float | None
    """[J/kg-K]; Default: 2576.0; Range: > 0.0"""
    pipe_thermal_conductivity: float | None
    """[W/m-K]; Default: 0.4; Range: > 0.0"""
    pipe_density: float | None
    """[kg/m3]; Default: 641.0; Range: > 0.0"""
    pipe_specific_heat: float | None
    """[J/kg-K]; Default: 2405.0; Range: > 0.0"""
    pipe_outer_diameter: float | None
    """[m] (in); Default: 0.02667; Range: > 0.0"""
    pipe_thickness: float | None
    """[m] (in); Default: 0.002413; Range: > 0.0"""
    heat_exchanger_configuration: Literal["Horizontal", "Vertical"] | None
    """This is the orientation of the heat exchanger"""
    coil_diameter: float | None
    """This is the diameter of the heat exchanger coil; [m] (ft); Default: 1.0; Range: > 0.0"""
    coil_pitch: float | None
    """This is the center-to-center distance between coils; [m] (ft); Default: 0.2; Range: > 0.0"""
    trench_depth: float | None
    """This is the distance from the ground surface to the trench bottom; [m] (ft); Default: 1.8; Range: > 0.0"""
    trench_length: float | None
    """This is the total length of a single trench This assumes the heat exchanger runs the full length of the trench; [m] (ft); Default: 10.0; Range: > 0.0"""
    number_of_trenches: int | None
    """This is the number of parallel trenches that has a heat exchanger, one per trench; Default: 1; Range: >= 1"""
    horizontal_spacing_between_pipes: float | None
    """This represents the average horizontal spacing between any two trenches for heat exchangers that have multiple trenches; [m] (ft); Default: 2.0; Range: > 0.0"""
    undisturbed_ground_temperature_model_type: (
        Literal[
            "Site:GroundTemperature:Undisturbed:FiniteDifference",
            "Site:GroundTemperature:Undisturbed:KusudaAchenbach",
            "Site:GroundTemperature:Undisturbed:Xing",
        ]
        | None
    )
    undisturbed_ground_temperature_model_name: str | None
    maximum_length_of_simulation: float | None
    """[years]"""

class HeatExchangerFluidToFluid(IDFObject):
    """A fluid/fluid heat exchanger designed to couple the supply side of one loop to the demand side of another loop Loops ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    loop_demand_side_inlet_node_name: str | None
    """This connection is to the demand side of a loop and is the inlet to the heat exchanger"""
    loop_demand_side_outlet_node_name: str | None
    """This connection is to the demand side of a loop"""
    loop_demand_side_design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    loop_supply_side_inlet_node_name: str | None
    loop_supply_side_outlet_node_name: str | None
    loop_supply_side_design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    heat_exchange_model_type: (
        Literal[
            "",
            "CounterFlow",
            "CrossFlowBothMixed",
            "CrossFlowBothUnMixed",
            "CrossFlowSupplyMixedDemandUnMixed",
            "CrossFlowSupplyUnMixedDemandMixed",
            "Ideal",
            "ParallelFlow",
        ]
        | None
    )
    """Default: Ideal"""
    heat_exchanger_u_factor_times_area_value: float | Literal["Autosize"] | None
    """[W/K]"""
    control_type: (
        Literal[
            "",
            "CoolingDifferentialOnOff",
            "CoolingSetpointModulated",
            "CoolingSetpointOnOff",
            "CoolingSetpointOnOffWithComponentOverride",
            "DualDeadbandSetpointModulated",
            "DualDeadbandSetpointOnOff",
            "HeatingSetpointModulated",
            "HeatingSetpointOnOff",
            "OperationSchemeModulated",
            "OperationSchemeOnOff",
            "UncontrolledOn",
        ]
        | None
    )
    """Default: UncontrolledOn"""
    heat_exchanger_setpoint_node_name: str | None
    """Setpoint node is needed with any Control Type that is '*Setpoint*'"""
    minimum_temperature_difference_to_activate_heat_exchanger: float | None
    """Tolerance between control temperatures used to determine if heat exchanger should run.; [deltaC]; Default: 0.01; Range: >= 0.0, <= 50.0"""
    heat_transfer_metering_end_use_type: (
        Literal[
            "",
            "FreeCooling",
            "HeatRecovery",
            "HeatRecoveryForCooling",
            "HeatRecoveryForHeating",
            "HeatRejection",
            "LoopToLoop",
        ]
        | None
    )
    """This field controls end use reporting for heat transfer meters; Default: LoopToLoop"""
    component_override_loop_supply_side_inlet_node_name: str | None
    """This field is only used if Control Type is set to CoolingSetpointOnOffWithComponentOverride"""
    component_override_loop_demand_side_inlet_node_name: str | None
    """This field is only used if Control Type is set to CoolingSetpointOnOffWithComponentOverride"""
    component_override_cooling_control_temperature_mode: (
        Literal["", "DryBulbTemperature", "Loop", "WetBulbTemperature"] | None
    )
    """This field is only used if Control Type is set to CoolingSetpointOnOffWithComponentOverride; Default: Loop"""
    sizing_factor: float | None
    """Multiplies the autosized flow rates for this device; Default: 1.0; Range: > 0.0"""
    operation_minimum_temperature_limit: float | None
    """Lower limit on inlet temperatures, heat exchanger will not operate if either inlet is below this limit; [C]"""
    operation_maximum_temperature_limit: float | None
    """Upper limit on inlet temperatures, heat exchanger will not operate if either inlet is above this limit; [C]"""

class WaterHeaterMixed(IDFObject):
    """Water heater with well-mixed, single-node water tank. May be used to model a tankless water heater (small tank volume..."""

    tank_volume: float | Literal["", "Autosize"] | None
    """[m3] (gal); Default: 0.0"""
    setpoint_temperature_schedule_name: str | None
    deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.0; Range: >= 0.0"""
    maximum_temperature_limit: float | None
    """[C]"""
    heater_control_type: Literal["", "Cycle", "Modulate"] | None
    """Default: Cycle"""
    heater_maximum_capacity: float | Literal["Autosize"] | None
    """[W]"""
    heater_minimum_capacity: float | None
    """Only used when Heater Control Type is set to Modulate; [W]; Range: >= 0.0"""
    heater_ignition_minimum_flow_rate: float | None
    """Not yet implemented; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heater_ignition_delay: float | None
    """Not yet implemented; [s]; Default: 0.0; Range: >= 0.0"""
    heater_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    heater_thermal_efficiency: float | None
    """Range: > 0.0"""
    part_load_factor_curve_name: str | None
    off_cycle_parasitic_fuel_consumption_rate: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    off_cycle_parasitic_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    off_cycle_parasitic_heat_fraction_to_tank: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    on_cycle_parasitic_fuel_consumption_rate: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    on_cycle_parasitic_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    on_cycle_parasitic_heat_fraction_to_tank: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    """required for Ambient Temperature Indicator=Outdoors"""
    off_cycle_loss_coefficient_to_ambient_temperature: float | None
    """[W/K]; Range: >= 0.0"""
    off_cycle_loss_fraction_to_zone: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    on_cycle_loss_coefficient_to_ambient_temperature: float | None
    """[W/K]; Range: >= 0.0"""
    on_cycle_loss_fraction_to_zone: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    peak_use_flow_rate: float | None
    """Only used if Use Side Node connections are blank; [m3/s] (gal/min); Range: >= 0.0"""
    use_flow_rate_fraction_schedule_name: str | None
    """Only used if Use Side Node connections are blank"""
    cold_water_supply_temperature_schedule_name: str | None
    """Only used if Use Side Node connections are blank Defaults to water temperatures calculated by Site:WaterMainsTemperat..."""
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    use_side_effectiveness: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    source_side_effectiveness: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    use_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    source_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    indirect_water_heating_recovery_time: float | None
    """Parameter for autosizing design flow rates for indirectly heated water tanks Time required to raise temperature of en...; [hr]; Default: 1.5; Range: > 0.0"""
    source_side_flow_control_mode: (
        Literal["", "IndirectHeatAlternateSetpoint", "IndirectHeatPrimarySetpoint", "StorageTank"] | None
    )
    """StorageTank mode always requests flow unless tank is at its Maximum Temperature Limit IndirectHeatPrimarySetpoint mod...; Default: IndirectHeatPrimarySetpoint"""
    indirect_alternate_setpoint_temperature_schedule_name: str | None
    """This field is only used if the previous is set to IndirectHeatAlternateSetpoint"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class WaterHeaterStratified(IDFObject):
    """Water heater with stratified, multi-node water tank. May be used to model a tankless water heater (small tank volume)..."""

    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    tank_volume: float | Literal["Autosize"] | None
    """[m3] (gal)"""
    tank_height: float | Literal["Autosize"] | None
    """Height is measured in the axial direction for horizontal cylinders; [m]"""
    tank_shape: Literal["", "HorizontalCylinder", "Other", "VerticalCylinder"] | None
    """Default: VerticalCylinder"""
    tank_perimeter: float | None
    """Only used if Tank Shape is Other; [m]; Range: >= 0.0"""
    maximum_temperature_limit: float | None
    """[C]"""
    heater_priority_control: Literal["", "MasterSlave", "Simultaneous"] | None
    """Default: MasterSlave"""
    heater_1_setpoint_temperature_schedule_name: str | None
    heater_1_deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.0; Range: >= 0.0"""
    heater_1_capacity: float | Literal["Autosize"] | None
    """[W]"""
    heater_1_height: float | None
    """[m]; Range: >= 0.0"""
    heater_2_setpoint_temperature_schedule_name: str | None
    heater_2_deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.0; Range: >= 0.0"""
    heater_2_capacity: float | None
    """[W]; Range: >= 0.0"""
    heater_2_height: float | None
    """[m]; Range: >= 0.0"""
    heater_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    heater_thermal_efficiency: float | None
    """Range: > 0.0"""
    off_cycle_parasitic_fuel_consumption_rate: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    off_cycle_parasitic_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    off_cycle_parasitic_heat_fraction_to_tank: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    off_cycle_parasitic_height: float | None
    """[m]; Default: 0.0; Range: >= 0.0"""
    on_cycle_parasitic_fuel_consumption_rate: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    on_cycle_parasitic_fuel_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    on_cycle_parasitic_heat_fraction_to_tank: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    on_cycle_parasitic_height: float | None
    """[m]; Default: 0.0; Range: >= 0.0"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    """required for Ambient Temperature Indicator=Outdoors"""
    uniform_skin_loss_coefficient_per_unit_area_to_ambient_temperature: float | None
    """[W/m2-K]; Range: >= 0.0"""
    skin_loss_fraction_to_zone: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    off_cycle_flue_loss_coefficient_to_ambient_temperature: float | None
    """[W/K]; Range: >= 0.0"""
    off_cycle_flue_loss_fraction_to_zone: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    peak_use_flow_rate: float | None
    """Only used if Use Side Node connections are blank; [m3/s] (gal/min); Range: >= 0.0"""
    use_flow_rate_fraction_schedule_name: str | None
    """If blank, defaults to 1.0 at all times Only used if use side node connections are blank"""
    cold_water_supply_temperature_schedule_name: str | None
    """Only used if use side node connections are blank Defaults to water temperatures calculated by Site:WaterMainsTemperat..."""
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    use_side_effectiveness: float | None
    """The use side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectiveness. ...; Default: 1.0; Range: >= 0.0, <= 1.0"""
    use_side_inlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    use_side_outlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    source_side_effectiveness: float | None
    """The source side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectivenes...; Default: 1.0; Range: > 0.0, <= 1.0"""
    source_side_inlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    source_side_outlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    inlet_mode: Literal["", "Fixed", "Seeking"] | None
    """Default: Fixed"""
    use_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    source_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    indirect_water_heating_recovery_time: float | None
    """Parameter for autosizing design flow rates for indirectly heated water tanks time required to raise temperature of en...; [hr]; Default: 1.5; Range: > 0.0"""
    number_of_nodes: int | None
    """Default: 1; Range: >= 1, <= 12"""
    additional_destratification_conductivity: float | None
    """[W/m-K]; Default: 0.0; Range: >= 0.0"""
    node_1_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_2_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_3_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_4_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_5_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_6_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_7_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_8_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_9_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_10_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_11_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_12_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    source_side_flow_control_mode: (
        Literal["", "IndirectHeatAlternateSetpoint", "IndirectHeatPrimarySetpoint", "StorageTank"] | None
    )
    """StorageTank mode always requests flow unless tank is at its Maximum Temperature Limit IndirectHeatPrimarySetpoint mod...; Default: IndirectHeatPrimarySetpoint"""
    indirect_alternate_setpoint_temperature_schedule_name: str | None
    """This field is only used if the previous is set to IndirectHeatAlternateSetpoint"""

class WaterHeaterSizing(IDFObject):
    """This input object is used with WaterHeater:Mixed or with WaterHeater:Stratified to autosize tank volume and heater ca..."""

    design_mode: (
        Literal[
            "PeakDraw", "PerFloorArea", "PerPerson", "PerSolarCollectorArea", "PerUnit", "ResidentialHUD-FHAMinimum"
        ]
        | None
    )
    time_storage_can_meet_peak_draw: float | None
    """Only used for Design Mode = PeakDraw; [hr]; Range: >= 0.0"""
    time_for_tank_recovery: float | None
    """Only used for Design Mode = PeakDraw; [hr]; Range: >= 0.0"""
    nominal_tank_volume_for_autosizing_plant_connections: float | None
    """Only used if Design Mode = PeakDraw and the water heater also has autosized flow rates for connections on the demand ...; [m3] (gal)"""
    number_of_bedrooms: int | None
    """Only used for Design Mode = ResidentialHUD-FHAMinimum; Range: >= 1"""
    number_of_bathrooms: int | None
    """Only used for Design Mode = ResidentialHUD-FHAMinimum; Range: >= 1"""
    storage_capacity_per_person: float | None
    """Only used for Design Mode = PerPerson; [m3/person] (gal/person); Range: >= 0.0"""
    recovery_capacity_per_person: float | None
    """Only used for Design Mode = PerPerson; [m3/hr-person] (gal/hr-person); Range: >= 0.0"""
    storage_capacity_per_floor_area: float | None
    """Only used for Design Mode = PerFloorArea; [m3/m2] (gal/ft2); Range: >= 0.0"""
    recovery_capacity_per_floor_area: float | None
    """Only used for Design Mode = PerFloorArea; [m3/hr-m2] (gal/hr-ft2); Range: >= 0.0"""
    number_of_units: float | None
    """Only used for Design Mode = PerUnit"""
    storage_capacity_per_unit: float | None
    """Only used for Design Mode = PerUnit; [m3] (gal); Range: >= 0.0"""
    recovery_capacity_perunit: float | None
    """Only used for Design Mode = PerUnit; [m3/hr] (gal/hr); Range: >= 0.0"""
    storage_capacity_per_collector_area: float | None
    """Only used for Design Mode = PerSolarCollectorArea; [m3/m2] (gal/ft2); Range: >= 0.0"""
    height_aspect_ratio: float | None
    """only used if for WaterHeater:Stratified; Range: >= 0.0"""

class WaterHeaterHeatPumpPumpedCondenser(IDFObject):
    """This object models an air-source heat pump for water heating where the water is pumped out of the tank, through a hea..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    compressor_setpoint_temperature_schedule_name: str | None
    """Defines the cut-out temperature where the heat pump compressor turns off. The heat pump compressor setpoint temperatu..."""
    dead_band_temperature_difference: float | None
    """Setpoint temperature minus the dead band temperature difference defines the cut-in temperature where the heat pump co...; [deltaC]; Default: 5.0; Range: > 0.0, <= 20.0"""
    condenser_water_inlet_node_name: str | None
    """Should match the field Source Outlet Node Name in the water heater tank object. Should also match the Condenser Water..."""
    condenser_water_outlet_node_name: str | None
    """Should match the field Source Inlet Node Name in water heater tank object. Should also match the Condenser Water Outl..."""
    condenser_water_flow_rate: float | Literal["Autocalculate"] | None
    """Actual water flow rate through the heat pump's water coil (condenser). If autocalculated, the water flow rate is set ...; [m3/s] (gal/min)"""
    evaporator_air_flow_rate: float | Literal["Autocalculate"] | None
    """Actual air flow rate across the heat pump's air coil (evaporator). If autocalculated, the air flow rate is set equal ...; [m3/s]"""
    inlet_air_configuration: Literal["OutdoorAirOnly", "Schedule", "ZoneAirOnly", "ZoneAndOutdoorAir"] | None
    """Defines the configuration of the airflow path through the air coil and fan section."""
    air_inlet_node_name: str | None
    """Zone air exhaust node name if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Simply a unique Node Name ..."""
    air_outlet_node_name: str | None
    """Zone Air Inlet Node Name if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Simply a unique Node Name if..."""
    outdoor_air_node_name: str | None
    """Outdoor air node name if inlet air configuration is ZoneAndOutdoorAir or OutdoorAirOnly, otherwise leave field blank."""
    exhaust_air_node_name: str | None
    """Simply a unique Node Name if Inlet Air Configuration is ZoneAndOutdoorAir or OutdoorAirOnly, otherwise leave field bl..."""
    inlet_air_temperature_schedule_name: str | None
    """Used only if Inlet Air Configuration is Schedule, otherwise leave blank. Schedule values should be degrees C."""
    inlet_air_humidity_schedule_name: str | None
    """Used only if Inlet Air Configuration is Schedule, otherwise leave blank. Schedule values are entered as a fraction (e..."""
    inlet_air_zone_name: str | None
    """Used only if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Otherwise, leave field blank."""
    tank_object_type: Literal["", "WaterHeater:Mixed", "WaterHeater:Stratified"] | None
    """Specify the type of water heater tank used by this heat pump water heater.; Default: WaterHeater:Mixed"""
    tank_name: str | None
    """Needs to match the name used in the corresponding Water Heater object."""
    tank_use_side_inlet_node_name: str | None
    """Used only when the heat pump water heater is connected to a plant loop, otherwise leave blank. Needs to match the nam..."""
    tank_use_side_outlet_node_name: str | None
    """Used only when the heat pump water heater is connected to a plant loop, otherwise leave blank. Needs to match the nam..."""
    dx_coil_object_type: (
        Literal[
            "",
            "Coil:WaterHeating:AirToWaterHeatPump:Pumped",
            "Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed",
            "CoilSystem:IntegratedHeatPump:AirSource",
        ]
        | None
    )
    """Specify the type of DX coil used by this heat pump water heater. The only valid choice is Coil:WaterHeating:AirToWate...; Default: Coil:WaterHeating:AirToWaterHeatPump:Pumped"""
    dx_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:* object, or CoilSystem:Integrated..."""
    minimum_inlet_air_temperature_for_compressor_operation: float | None
    """Heat pump compressor will not operate when the inlet air dry-bulb temperature is below this value.; [C]; Default: 10.0"""
    maximum_inlet_air_temperature_for_compressor_operation: float | None
    """Heat pump compressor will not operate when the inlet air dry-bulb temperature is above this value.; [C]; Default: 48.88888888889; Range: >= 26.0, <= 94.0"""
    compressor_location: Literal["Outdoors", "Schedule", "Zone"] | None
    """If Zone is selected, Inlet Air Configuration must be ZoneAirOnly or ZoneAndOutdoorAir. If Schedule is selected, then ..."""
    compressor_ambient_temperature_schedule_name: str | None
    """Used only if Compressor Location is Schedule, otherwise leave field blank."""
    fan_object_type: Literal["", "Fan:OnOff", "Fan:SystemModel"] | None
    """Specify the type of fan used by this heat pump water heater. The only valid choices are Fan:SystemModel or Fan:OnOff.; Default: Fan:OnOff"""
    fan_name: str | None
    """Needs to match the name used in the corresponding Fan:SystemModel or Fan:OnOff object."""
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """BlowThrough means the fan is located before the air coil (upstream). DrawThrough means the fan is located after the a...; Default: DrawThrough"""
    on_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the heat pump compressor operates. Does not contribute to water heating but ca...; [W]; Default: 0.0; Range: >= 0.0"""
    off_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the heat pump compressor is off. Does not contribute to water heating but can ...; [W]; Default: 0.0; Range: >= 0.0"""
    parasitic_heat_rejection_location: Literal["", "Outdoors", "Zone"] | None
    """This field determines if the parasitic electric load impacts the zone air heat balance. If Zone is selected, Inlet Ai...; Default: Outdoors"""
    inlet_air_mixer_node_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank."""
    outlet_air_splitter_node_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank."""
    inlet_air_mixer_schedule_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank. Schedule values define wh..."""
    tank_element_control_logic: Literal["", "MutuallyExclusive", "Simultaneous"] | None
    """MutuallyExclusive means that once the tank heating element is active the heat pump is shut down until setpoint is rea...; Default: Simultaneous"""
    control_sensor_1_height_in_stratified_tank: float | None
    """Used to indicate height of control sensor for Tank Object Type = WaterHeater:Stratified If left blank, it will defaul...; [m]; Range: >= 0.0"""
    control_sensor_1_weight: float | None
    """Weight to give Control Sensor 1 temperature The weight of Control Sensor 2 will be 1 - (wt. of control sensor 1); [dimensionless]; Default: 1.0; Range: >= 0.0, <= 1.0"""
    control_sensor_2_height_in_stratified_tank: float | None
    """Used to indicate height of control sensor for Tank Object Type = WaterHeater:Stratified If left blank, it will defaul...; [m]; Range: >= 0.0"""

class WaterHeaterHeatPumpWrappedCondenser(IDFObject):
    """This object models an air-source heat pump for water heating where the heating coil is wrapped around the tank, which..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    compressor_setpoint_temperature_schedule_name: str | None
    """Defines the cut-out temperature where the heat pump compressor turns off. The heat pump compressor setpoint temperatu..."""
    dead_band_temperature_difference: float | None
    """Setpoint temperature minus the dead band temperature difference defines the cut-in temperature where the heat pump co...; [deltaC]; Default: 5.0; Range: > 0.0, <= 20.0"""
    condenser_bottom_location: float | None
    """Distance from the bottom of the tank to the bottom of the wrapped condenser.; [m]; Default: 0.0; Range: >= 0.0"""
    condenser_top_location: float | None
    """Distance from the bottom of the tank to the top of the wrapped condenser.; [m]; Range: >= 0.0"""
    evaporator_air_flow_rate: float | Literal["Autocalculate"] | None
    """Actual air flow rate across the heat pump's air coil (evaporator). If autocalculated, the air flow rate is set equal ...; [m3/s]"""
    inlet_air_configuration: Literal["OutdoorAirOnly", "Schedule", "ZoneAirOnly", "ZoneAndOutdoorAir"] | None
    """Defines the configuration of the airflow path through the air coil and fan section."""
    air_inlet_node_name: str | None
    """Zone air exhaust node name if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Simply a unique Node Name ..."""
    air_outlet_node_name: str | None
    """Zone Air Inlet Node Name if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Simply a unique Node Name if..."""
    outdoor_air_node_name: str | None
    """Outdoor air node name if inlet air configuration is ZoneAndOutdoorAir or OutdoorAirOnly, otherwise leave field blank."""
    exhaust_air_node_name: str | None
    """Simply a unique Node Name if Inlet Air Configuration is ZoneAndOutdoorAir or OutdoorAirOnly, otherwise leave field bl..."""
    inlet_air_temperature_schedule_name: str | None
    """Used only if Inlet Air Configuration is Schedule, otherwise leave blank. Schedule values should be degrees C."""
    inlet_air_humidity_schedule_name: str | None
    """Used only if Inlet Air Configuration is Schedule, otherwise leave blank. Schedule values are entered as a fraction (e..."""
    inlet_air_zone_name: str | None
    """Used only if Inlet Air Configuration is ZoneAirOnly or ZoneAndOutdoorAir. Otherwise, leave field blank."""
    tank_object_type: Literal["", "WaterHeater:Stratified"] | None
    """Specify the type of water heater tank used by this heat pump water heater.; Default: WaterHeater:Stratified"""
    tank_name: str | None
    """Needs to match the name used in the corresponding Water Heater object. Must be a WaterHeater:Stratified tank."""
    tank_use_side_inlet_node_name: str | None
    """Used only when the heat pump water heater is connected to a plant loop, otherwise leave blank. Needs to match the nam..."""
    tank_use_side_outlet_node_name: str | None
    """Used only when the heat pump water heater is connected to a plant loop, otherwise leave blank. Needs to match the nam..."""
    dx_coil_object_type: Literal["", "Coil:WaterHeating:AirToWaterHeatPump:Wrapped"] | None
    """Specify the type of DX coil used by this heat pump water heater. The only valid choice is Coil:WaterHeating:AirToWate...; Default: Coil:WaterHeating:AirToWaterHeatPump:Wrapped"""
    dx_coil_name: str | None
    """Must match the name used in the corresponding Coil:WaterHeating:AirToWaterHeatPump:Wrapped object."""
    minimum_inlet_air_temperature_for_compressor_operation: float | None
    """Heat pump compressor will not operate when the inlet air dry-bulb temperature is below this value.; [C]; Default: 10.0"""
    maximum_inlet_air_temperature_for_compressor_operation: float | None
    """Heat pump compressor will not operate when the inlet air dry-bulb temperature is above this value.; [C]; Default: 48.88888888889; Range: >= 26.0, <= 94.0"""
    compressor_location: Literal["Outdoors", "Schedule", "Zone"] | None
    """If Zone is selected, Inlet Air Configuration must be ZoneAirOnly or ZoneAndOutdoorAir. If Schedule is selected, then ..."""
    compressor_ambient_temperature_schedule_name: str | None
    """Used only if Compressor Location is Schedule, otherwise leave field blank."""
    fan_object_type: Literal["", "Fan:OnOff", "Fan:SystemModel"] | None
    """Specify the type of fan used by this heat pump water heater. The only valid choices are Fan:SystemModel or Fan:OnOff.; Default: Fan:OnOff"""
    fan_name: str | None
    """Needs to match the name used in the corresponding Fan:SystemModel or Fan:OnOff object."""
    fan_placement: Literal["", "BlowThrough", "DrawThrough"] | None
    """BlowThrough means the fan is located before the air coil (upstream). DrawThrough means the fan is located after the a...; Default: DrawThrough"""
    on_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the heat pump compressor operates. Does not contribute to water heating but ca...; [W]; Default: 0.0; Range: >= 0.0"""
    off_cycle_parasitic_electric_load: float | None
    """Parasitic electric power consumed when the heat pump compressor is off. Does not contribute to water heating but can ...; [W]; Default: 0.0; Range: >= 0.0"""
    parasitic_heat_rejection_location: Literal["", "Outdoors", "Zone"] | None
    """This field determines if the parasitic electric load impacts the zone air heat balance. If Zone is selected, Inlet Ai...; Default: Outdoors"""
    inlet_air_mixer_node_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank."""
    outlet_air_splitter_node_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank."""
    inlet_air_mixer_schedule_name: str | None
    """Required only if Inlet Air Configuration is ZoneAndOutdoorAir, otherwise leave field blank. Schedule values define wh..."""
    tank_element_control_logic: Literal["", "MutuallyExclusive", "Simultaneous"] | None
    """MutuallyExclusive means that once the tank heating element is active the heat pump is shut down until setpoint is rea...; Default: Simultaneous"""
    control_sensor_1_height_in_stratified_tank: float | None
    """Used to indicate height of control sensor if Tank Object Type is WaterHeater:Stratified If left blank, it will defaul...; [m]; Range: >= 0.0"""
    control_sensor_1_weight: float | None
    """Weight to give Control Sensor 1 temperature; [dimensionless]; Default: 1.0; Range: >= 0.0, <= 1.0"""
    control_sensor_2_height_in_stratified_tank: float | None
    """Used to indicate height of control sensor if Tank Object Type is WaterHeater:Stratified If left blank, it will defaul...; [m]; Range: >= 0.0"""

class ThermalStorageIceSimple(IDFObject):
    """This ice storage model is a simplified model It requires a setpoint placed on the Chilled Water Side Outlet Node It s..."""

    ice_storage_type: Literal["IceOnCoilExternal", "IceOnCoilInternal"] | None
    """IceOnCoilInternal = Ice-on-Coil, internal melt IceOnCoilExternal = Ice-on-Coil, external melt"""
    capacity: float | Literal["Autosize"] | None
    """[GJ] (ton-hrs)"""
    inlet_node_name: str | None
    outlet_node_name: str | None
    thermal_storage_sizing_object_name: str | None
    """used only when tank capacity is autosized; Since: 25.2.0"""

class ThermalStorageIceDetailed(IDFObject):
    """This input syntax is intended to describe a thermal storage system that includes smaller containers filled with water..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    capacity: float | Literal["Autosize"] | None
    """This includes only the latent storage capacity; [GJ]"""
    inlet_node_name: str | None
    outlet_node_name: str | None
    discharging_curve_variable_specifications: (
        Literal["FractionChargedLMTD", "FractionDischargedLMTD", "LMTDFractionCharged", "LMTDMassFlow"] | None
    )
    """Since: 9.2.0"""
    discharging_curve_name: str | None
    charging_curve_variable_specifications: (
        Literal["FractionChargedLMTD", "FractionDischargedLMTD", "LMTDFractionCharged", "LMTDMassFlow"] | None
    )
    """Since: 9.2.0"""
    charging_curve_name: str | None
    timestep_of_the_curve_data: float | None
    """[hr]"""
    parasitic_electric_load_during_discharging: float | None
    """[dimensionless]"""
    parasitic_electric_load_during_charging: float | None
    """[dimensionless]"""
    tank_loss_coefficient: float | None
    """This is the fraction the total storage capacity that is lost or melts each hour; [dimensionless]"""
    freezing_temperature_of_storage_medium: float | None
    """This temperature is typically 0C for water. Simply changing this temperature without adjusting the performance parame...; [C]; Default: 0.0"""
    thaw_process_indicator: Literal["", "InsideMelt", "OutsideMelt"] | None
    """This field determines whether the system uses internal or external melt during discharging. This will then have an im...; Default: OutsideMelt"""
    thermal_storage_sizing_object_name: str | None
    """used only when tank capacity is autosized; Since: 25.2.0"""

class ThermalStorageChilledWaterMixed(IDFObject):
    """Chilled water storage with a well-mixed, single-node tank. The chilled water is 'used' by drawing from the 'Use Side'..."""

    tank_volume: float | None
    """[m3] (gal); Default: 0.1; Range: > 0.0"""
    setpoint_temperature_schedule_name: str | None
    deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.5; Range: > 0.0"""
    minimum_temperature_limit: float | None
    """[C]"""
    nominal_cooling_capacity: float | None
    """[W]"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    """required when field Ambient Temperature Indicator=Outdoors"""
    heat_gain_coefficient_from_ambient_temperature: float | None
    """[W/K]; Range: >= 0.0"""
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    use_side_heat_transfer_effectiveness: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    use_side_availability_schedule_name: str | None
    """Availability schedule name for use side. Schedule value > 0 means the system is available. If this field is blank, th..."""
    use_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    source_side_heat_transfer_effectiveness: float | None
    """Default: 1.0; Range: > 0.0, <= 1.0"""
    source_side_availability_schedule_name: str | None
    """Availability schedule name for source side. Schedule value > 0 means the system is available. If this field is blank,..."""
    source_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    tank_recovery_time: float | None
    """Parameter for autosizing design flow rates for indirectly cooled water tanks time required to lower temperature of en...; [hr]; Default: 4.0; Range: > 0.0"""

class ThermalStorageChilledWaterStratified(IDFObject):
    """Chilled water storage with a stratified, multi-node tank. The chilled water is 'used' by drawing from the 'Use Side' ..."""

    tank_volume: float | None
    """[m3] (gal); Range: > 0.0"""
    tank_height: float | None
    """Height is measured in the axial direction for horizontal cylinders; [m]; Range: > 0.0"""
    tank_shape: Literal["", "HorizontalCylinder", "Other", "VerticalCylinder"] | None
    """Default: VerticalCylinder"""
    tank_perimeter: float | None
    """Only used if Tank Shape is Other; [m]; Range: >= 0.0"""
    setpoint_temperature_schedule_name: str | None
    deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.0001; Range: >= 0.0001"""
    temperature_sensor_height: float | None
    """[m]; Range: >= 0.0"""
    minimum_temperature_limit: float | None
    """[C]"""
    nominal_cooling_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    """required for Ambient Temperature Indicator=Outdoors"""
    uniform_skin_loss_coefficient_per_unit_area_to_ambient_temperature: float | None
    """[W/m2-K]; Range: >= 0.0"""
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    use_side_heat_transfer_effectiveness: float | None
    """The use side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectiveness. ...; Default: 1.0; Range: >= 0.0, <= 1.0"""
    use_side_availability_schedule_name: str | None
    """Availability schedule name for use side. Schedule value > 0 means the system is available. If this field is blank, th..."""
    use_side_inlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    use_side_outlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    use_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    source_side_heat_transfer_effectiveness: float | None
    """The source side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectivenes...; Default: 1.0; Range: > 0.0, <= 1.0"""
    source_side_availability_schedule_name: str | None
    """Availability schedule name for use side. Schedule value > 0 means the system is available. If this field is blank, th..."""
    source_side_inlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    source_side_outlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    source_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    tank_recovery_time: float | None
    """Parameter for autosizing design flow rates for indirectly cooled water tanks time required to lower temperature of en...; [hr]; Default: 4.0; Range: > 0.0"""
    inlet_mode: Literal["", "Fixed", "Seeking"] | None
    """Default: Fixed"""
    number_of_nodes: int | None
    """Default: 1; Range: >= 1, <= 10"""
    additional_destratification_conductivity: float | None
    """[W/m-K]; Default: 0.0; Range: >= 0.0"""
    node_1_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_2_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_3_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_4_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_5_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_6_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_7_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_8_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_9_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_10_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""

class ThermalStorageHotWaterStratified(IDFObject):
    """Since: 25.2.0"""

    tank_volume: float | None
    """[m3] (gal); Range: > 0.0"""
    tank_height: float | None
    """Height is measured in the axial direction for horizontal cylinders; [m]; Range: > 0.0"""
    tank_shape: Literal["", "HorizontalCylinder", "Other", "VerticalCylinder"] | None
    """Default: VerticalCylinder"""
    tank_perimeter: float | None
    """Only used if Tank Shape is Other; [m]; Range: >= 0.0"""
    top_setpoint_temperature_schedule_name: str | None
    bottom_setpoint_temperature_schedule_name: str | None
    deadband_temperature_difference: float | None
    """[deltaC]; Default: 0.0001; Range: >= 0.0001"""
    top_temperature_sensor_height: float | None
    """[m]; Range: >= 0.0"""
    bottom_temperature_sensor_height: float | None
    """[m]; Range: >= 0.0"""
    maximum_temperature_limit: float | None
    """[C]"""
    nominal_heating_capacity: float | Literal["", "Autosize"] | None
    """[W]; Default: Autosize"""
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    ambient_temperature_zone_name: str | None
    ambient_temperature_outdoor_air_node_name: str | None
    """required for Ambient Temperature Indicator=Outdoors"""
    uniform_skin_loss_coefficient_per_unit_area_to_ambient_temperature: float | None
    """[W/m2-K]; Range: >= 0.0"""
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    use_side_flow_direction_schedule: str | None
    """allowed value is -1 and 1. When the value is 1, water flows in from the inlet and flows out from the outlet node. Whe..."""
    use_side_heat_transfer_effectiveness: float | None
    """The use side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectiveness. ...; Default: 1.0; Range: >= 0.0, <= 1.0"""
    use_side_availability_schedule_name: str | None
    """Availability schedule name for use side. Schedule value > 0 means the system is available. If this field is blank, th..."""
    use_side_inlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    use_side_outlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    use_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    source_side_inlet_node_name: str | None
    source_side_outlet_node_name: str | None
    source_side_flow_direction_schedule: str | None
    """allowed value is -1 and 1. When the value is 1, water flows in from the inlet and flows out from the outlet node. Whe..."""
    source_side_heat_transfer_effectiveness: float | None
    """The source side effectiveness in the stratified tank model is a simplified analogy of a heat exchanger's effectivenes...; Default: 1.0; Range: > 0.0, <= 1.0"""
    source_side_availability_schedule_name: str | None
    """Availability schedule name for use side. Schedule value > 0 means the system is available. If this field is blank, th..."""
    source_side_inlet_height: float | None
    """Defaults to bottom of tank; [m]; Default: 0.0; Range: >= 0.0"""
    source_side_outlet_height: float | Literal["", "Autocalculate"] | None
    """Defaults to top of tank; [m]; Default: Autocalculate"""
    source_side_design_flow_rate: float | Literal["", "Autosize"] | None
    """[m3/s] (gal/min); Default: Autosize"""
    tank_recovery_time: float | None
    """Parameter for autosizing design flow rates for indirectly cooled water tanks time required to lower temperature of en...; [hr]; Default: 4.0; Range: > 0.0"""
    inlet_mode: Literal["", "Fixed", "Seeking"] | None
    """Default: Fixed"""
    number_of_nodes: int | None
    """Default: 1; Range: >= 1, <= 10"""
    additional_destratification_conductivity: float | None
    """[W/m-K]; Default: 0.0; Range: >= 0.0"""
    node_1_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_2_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_3_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_4_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_5_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_6_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_7_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_8_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_9_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""
    node_10_additional_loss_coefficient: float | None
    """[W/K]; Default: 0.0"""

class ThermalStoragePCM(IDFObject):
    """This thermal storage model is PCM-based It requires PCM material property connection In addition to the object linkin...; Since: 25.2.0"""

    availability_schedule_name: str | None
    plant_side_inlet_node_name: str | None
    plant_side_outlet_node_name: str | None
    use_side_inlet_node_name: str | None
    use_side_outlet_node_name: str | None
    pcm_material_name: str | None
    tank_capacity: float | Literal["Autosize"] | None
    """[kg]"""
    heat_loss_rate: float | None
    """[W]; Default: 0.0"""
    use_side_design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    plant_side_design_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""

class ThermalStorageSizing(IDFObject):
    """Sizing information for thermal energy stoarge capacity.; Since: 25.2.0"""

    on_peak_period_start_time: float | None
    """Start time of on peak period in hours; [hr]"""
    on_peak_period_end_time: float | None
    """End time of on peak period in hours; [hr]"""
    sizing_factor: float | None
    """Default: 1.0; Range: > 0.0"""

class PlantLoop(IDFObject):
    """Defines a central plant loop."""

    fluid_type: Literal["", "Steam", "UserDefinedFluidType", "Water"] | None
    """Default: Water"""
    user_defined_fluid_type: str | None
    """This field is only required when Fluid Type is UserDefinedFluidType"""
    plant_equipment_operation_scheme_name: str | None
    loop_temperature_setpoint_node_name: str | None
    maximum_loop_temperature: float | None
    """[C]"""
    minimum_loop_temperature: float | None
    """[C]"""
    maximum_loop_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    minimum_loop_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0"""
    plant_loop_volume: float | Literal["", "Autocalculate"] | None
    """[m3] (gal); Default: Autocalculate"""
    plant_side_inlet_node_name: str | None
    plant_side_outlet_node_name: str | None
    plant_side_branch_list_name: str | None
    plant_side_connector_list_name: str | None
    demand_side_inlet_node_name: str | None
    demand_side_outlet_node_name: str | None
    demand_side_branch_list_name: str | None
    demand_side_connector_list_name: str | None
    load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""
    availability_manager_list_name: str | None
    plant_loop_demand_calculation_scheme: Literal["", "DualSetpointDeadband", "SingleSetpoint"] | None
    """Default: SingleSetpoint"""
    common_pipe_simulation: Literal["", "CommonPipe", "None", "TwoWayCommonPipe"] | None
    """Specifies a primary-secondary loop configuration. The plant side is the primary loop, and the demand side is the seco...; Default: None"""
    pressure_simulation_type: Literal["", "LoopFlowCorrection", "None", "PumpPowerCorrection"] | None
    """Default: None"""
    loop_circulation_time: float | None
    """This field is only used to autocalculate the Plant Loop Volume. Loop Volume = Loop Circulation Time * Maximum Loop Fl...; [minutes]; Default: 2.0; Range: >= 0.0"""

class CondenserLoop(IDFObject):
    """Defines a central plant condenser loop. CondenserLoop and PlantLoop are nearly identical except some components and o..."""

    fluid_type: Literal["", "UserDefinedFluidType", "Water"] | None
    """Default: Water"""
    user_defined_fluid_type: str | None
    """This field is only required when Fluid Type is UserDefinedFluidType"""
    condenser_equipment_operation_scheme_name: str | None
    condenser_loop_temperature_setpoint_node_name: str | None
    maximum_loop_temperature: float | None
    """[C]"""
    minimum_loop_temperature: float | None
    """[C]"""
    maximum_loop_flow_rate: float | Literal["Autosize"] | None
    """[m3/s] (gal/min)"""
    minimum_loop_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0"""
    condenser_loop_volume: float | Literal["", "Autocalculate"] | None
    """[m3] (gal); Default: Autocalculate"""
    condenser_side_inlet_node_name: str | None
    condenser_side_outlet_node_name: str | None
    condenser_side_branch_list_name: str | None
    condenser_side_connector_list_name: str | None
    demand_side_inlet_node_name: str | None
    demand_side_outlet_node_name: str | None
    condenser_demand_side_branch_list_name: str | None
    condenser_demand_side_connector_list_name: str | None
    load_distribution_scheme: (
        Literal["", "Optimal", "SequentialLoad", "SequentialUniformPLR", "UniformLoad", "UniformPLR"] | None
    )
    """Default: SequentialLoad"""
    pressure_simulation_type: Literal["", "LoopFlowCorrection", "None", "PumpPowerCorrection"] | None
    """Default: None"""
    loop_circulation_time: float | None
    """This field is only used to autocalculate the Condenser Loop Volume. Loop Volume = Loop Circulation Time * Maximum Loo...; [minutes]; Default: 2.0; Range: >= 0.0"""

class PlantEquipmentList(IDFObject):
    """List plant equipment in order of operating priority, 1st in list will be used 1st, etc Use only plant equipment in th..."""

    equipment_object_type: str | None
    """Since: 9.1.0"""
    equipment_name: str | None
    """Since: 9.1.0"""

class CondenserEquipmentList(IDFObject):
    """List condenser equipment in order of operating priority, 1st in list will be used 1st, etc Use only condenser equipme..."""

    equipment_object_type: str | None
    """Since: 9.1.0"""
    equipment_name: str | None
    """Since: 9.1.0"""

class PlantEquipmentOperationUncontrolled(IDFObject):
    """Plant equipment operation scheme for uncontrolled operation. Specifies a group of equipment that runs if the loop is ..."""

    equipment_list_name: str | None

class PlantEquipmentOperationCoolingLoad(IDFObject):
    """Plant equipment operation scheme for cooling load range operation. Specifies one or more groups of equipment which ar..."""

    load_range_1_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_1_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_1_equipment_list_name: str | None
    load_range_2_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_2_upper_limit: float | None
    """[W]"""
    range_2_equipment_list_name: str | None
    load_range_3_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_3_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_3_equipment_list_name: str | None
    load_range_4_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_4_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_4_equipment_list_name: str | None
    load_range_5_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_5_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_5_equipment_list_name: str | None
    load_range_6_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_6_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_6_equipment_list_name: str | None
    load_range_7_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_7_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_7_equipment_list_name: str | None
    load_range_8_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_8_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_8_equipment_list_name: str | None
    load_range_9_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_9_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_9_equipment_list_name: str | None
    load_range_10_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_10_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationHeatingLoad(IDFObject):
    """Plant equipment operation scheme for heating load range operation. Specifies one or more groups of equipment which ar..."""

    load_range_1_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_1_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_1_equipment_list_name: str | None
    load_range_2_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_2_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_2_equipment_list_name: str | None
    load_range_3_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_3_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_3_equipment_list_name: str | None
    load_range_4_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_4_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_4_equipment_list_name: str | None
    load_range_5_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_5_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_5_equipment_list_name: str | None
    load_range_6_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_6_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_6_equipment_list_name: str | None
    load_range_7_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_7_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_7_equipment_list_name: str | None
    load_range_8_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_8_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_8_equipment_list_name: str | None
    load_range_9_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_9_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_9_equipment_list_name: str | None
    load_range_10_lower_limit: float | None
    """[W]; Range: >= 0.0"""
    load_range_10_upper_limit: float | None
    """[W]; Range: >= 0.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorDryBulb(IDFObject):
    """Plant equipment operation scheme for outdoor dry-bulb temperature range operation. Specifies one or more groups of eq..."""

    dry_bulb_temperature_range_1_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_1_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_1_equipment_list_name: str | None
    dry_bulb_temperature_range_2_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_2_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_2_equipment_list_name: str | None
    dry_bulb_temperature_range_3_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_3_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_3_equipment_list_name: str | None
    dry_bulb_temperature_range_4_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_4_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_4_equipment_list_name: str | None
    dry_bulb_temperature_range_5_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_5_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_5_equipment_list_name: str | None
    dry_bulb_temperature_range_6_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_6_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_6_equipment_list_name: str | None
    dry_bulb_temperature_range_7_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_7_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_7_equipment_list_name: str | None
    dry_bulb_temperature_range_8_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_8_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_8_equipment_list_name: str | None
    dry_bulb_temperature_range_9_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_9_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_9_equipment_list_name: str | None
    dry_bulb_temperature_range_10_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dry_bulb_temperature_range_10_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorWetBulb(IDFObject):
    """Plant equipment operation scheme for outdoor wet-bulb temperature range operation. Specifies one or more groups of eq..."""

    wet_bulb_temperature_range_1_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_1_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_1_equipment_list_name: str | None
    wet_bulb_temperature_range_2_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_2_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_2_equipment_list_name: str | None
    wet_bulb_temperature_range_3_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_3_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_3_equipment_list_name: str | None
    wet_bulb_temperature_range_4_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_4_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_4_equipment_list_name: str | None
    wet_bulb_temperature_range_5_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_5_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_5_equipment_list_name: str | None
    wet_bulb_temperature_range_6_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_6_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_6_equipment_list_name: str | None
    wet_bulb_temperature_range_7_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_7_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_7_equipment_list_name: str | None
    wet_bulb_temperature_range_8_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_8_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_8_equipment_list_name: str | None
    wet_bulb_temperature_range_9_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_9_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_9_equipment_list_name: str | None
    wet_bulb_temperature_range_10_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    wet_bulb_temperature_range_10_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorRelativeHumidity(IDFObject):
    """Plant equipment operation scheme for outdoor relative humidity range operation. Specifies one or more groups of equip..."""

    relative_humidity_range_1_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_1_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_1_equipment_list_name: str | None
    relative_humidity_range_2_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_2_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_2_equipment_list_name: str | None
    relative_humidity_range_3_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_3_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_3_equipment_list_name: str | None
    relative_humidity_range_4_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_4_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_4_equipment_list_name: str | None
    relative_humidity_range_5_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_5_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_5_equipment_list_name: str | None
    relative_humidity_range_6_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_6_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_6_equipment_list_name: str | None
    relative_humidity_range_7_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_7_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_7_equipment_list_name: str | None
    relative_humidity_range_8_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_8_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_8_equipment_list_name: str | None
    relative_humidity_range_9_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_9_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_9_equipment_list_name: str | None
    relative_humidity_range_10_lower_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    relative_humidity_range_10_upper_limit: float | None
    """[percent]; Range: >= 0.0, <= 100.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorDewpoint(IDFObject):
    """Plant equipment operation scheme for outdoor dewpoint temperature range operation. Specifies one or more groups of eq..."""

    dewpoint_temperature_range_1_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_1_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_1_equipment_list_name: str | None
    dewpoint_temperature_range_2_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_2_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_2_equipment_list_name: str | None
    dewpoint_temperature_range_3_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_3_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_3_equipment_list_name: str | None
    dewpoint_temperature_range_4_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_4_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_4_equipment_list_name: str | None
    dewpoint_temperature_range_5_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_5_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_5_equipment_list_name: str | None
    dewpoint_temperature_range_6_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_6_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_6_equipment_list_name: str | None
    dewpoint_temperature_range_7_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_7_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_7_equipment_list_name: str | None
    dewpoint_temperature_range_8_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_8_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_8_equipment_list_name: str | None
    dewpoint_temperature_range_9_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_9_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_9_equipment_list_name: str | None
    dewpoint_temperature_range_10_lower_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    dewpoint_temperature_range_10_upper_limit: float | None
    """[C]; Range: >= -70.0, <= 70.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationComponentSetpoint(IDFObject):
    """Plant equipment operation scheme for component setpoint operation. Specifies one or pieces of equipment which are con..."""

    equipment_1_object_type: str | None
    equipment_1_name: str | None
    demand_calculation_1_node_name: str | None
    setpoint_1_node_name: str | None
    component_1_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_1_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_2_object_type: str | None
    equipment_2_name: str | None
    demand_calculation_2_node_name: str | None
    setpoint_2_node_name: str | None
    component_2_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_2_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_3_object_type: str | None
    equipment_3_name: str | None
    demand_calculation_3_node_name: str | None
    setpoint_3_node_name: str | None
    component_3_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_3_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_4_object_type: str | None
    equipment_4_name: str | None
    demand_calculation_4_node_name: str | None
    setpoint_4_node_name: str | None
    component_4_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_4_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_5_object_type: str | None
    equipment_5_name: str | None
    demand_calculation_5_node_name: str | None
    setpoint_5_node_name: str | None
    component_5_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_5_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_6_object_type: str | None
    equipment_6_name: str | None
    demand_calculation_6_node_name: str | None
    setpoint_6_node_name: str | None
    component_6_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_6_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_7_object_type: str | None
    equipment_7_name: str | None
    demand_calculation_7_node_name: str | None
    setpoint_7_node_name: str | None
    component_7_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_7_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_8_object_type: str | None
    equipment_8_name: str | None
    demand_calculation_8_node_name: str | None
    setpoint_8_node_name: str | None
    component_8_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_8_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_9_object_type: str | None
    equipment_9_name: str | None
    demand_calculation_9_node_name: str | None
    setpoint_9_node_name: str | None
    component_9_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_9_type: Literal["Cooling", "Dual", "Heating"] | None
    equipment_10_object_type: str | None
    equipment_10_name: str | None
    demand_calculation_10_node_name: str | None
    setpoint_10_node_name: str | None
    component_10_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    operation_10_type: Literal["Cooling", "Dual", "Heating"] | None

class PlantEquipmentOperationThermalEnergyStorage(IDFObject):
    """Plant equipment operation scheme for simpler input to control thermal (ice) energy storage systems. It replaces a hos..."""

    on_peak_schedule: str | None
    charging_availability_schedule: str | None
    non_charging_chilled_water_temperature: float | None
    """Single temperature for chiller outlet when not in cooling season or during on-peak cooling (discharge); [C]"""
    charging_chilled_water_temperature: float | None
    """Single temperature for chiller outlet when off-peak during cooling season (charging); [C]"""
    component_1_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    """This field is the type of object and should either be a chiller or some ice storage equipment."""
    component_1_name: str | None
    """This field is the name of either the chiller or ice storage equipment on the loop."""
    component_1_demand_calculation_node_name: str | None
    """This field is the name of the inlet node for the component defined in the two previous input fields."""
    component_1_setpoint_node_name: str | None
    """This field is the name of the outlet node for the component listed above."""
    component_1_flow_rate: float | Literal["Autosize"] | None
    """This field is the flow rate for the component listed above.; [m3/s]"""
    component_1_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    """This field is the operation type for the component listed above. For this plant equipment operation scheme, 'Cooling'..."""
    component_2_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_2_name: str | None
    component_2_demand_calculation_node_name: str | None
    component_2_setpoint_node_name: str | None
    component_2_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_2_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_3_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_3_name: str | None
    component_3_demand_calculation_node_name: str | None
    component_3_setpoint_node_name: str | None
    component_3_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_3_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_4_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_4_name: str | None
    component_4_demand_calculation_node_name: str | None
    component_4_setpoint_node_name: str | None
    component_4_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_4_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_5_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_5_name: str | None
    component_5_demand_calculation_node_name: str | None
    component_5_setpoint_node_name: str | None
    component_5_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_5_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_6_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_6_name: str | None
    component_6_demand_calculation_node_name: str | None
    component_6_setpoint_node_name: str | None
    component_6_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_6_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_7_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_7_name: str | None
    component_7_demand_calculation_node_name: str | None
    component_7_setpoint_node_name: str | None
    component_7_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_7_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_8_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_8_name: str | None
    component_8_demand_calculation_node_name: str | None
    component_8_setpoint_node_name: str | None
    component_8_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_8_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_9_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_9_name: str | None
    component_9_demand_calculation_node_name: str | None
    component_9_setpoint_node_name: str | None
    component_9_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_9_operation_type: Literal["Cooling", "Dual", "Heating"] | None
    component_10_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:ASHRAE205",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
            "ThermalStorage:Ice:Detailed",
            "ThermalStorage:Ice:Simple",
        ]
        | None
    )
    component_10_name: str | None
    component_10_demand_calculation_node_name: str | None
    component_10_setpoint_node_name: str | None
    component_10_flow_rate: float | Literal["Autosize"] | None
    """[m3/s]"""
    component_10_operation_type: Literal["Cooling", "Dual", "Heating"] | None

class PlantEquipmentOperationOutdoorDryBulbDifference(IDFObject):
    """Plant equipment operation scheme for outdoor dry-bulb temperature difference operation. Specifies one or more groups ..."""

    reference_temperature_node_name: str | None
    dry_bulb_temperature_difference_range_1_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_1_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_1_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_2_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_2_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_2_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_3_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_3_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_3_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_4_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_4_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_4_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_5_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_5_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_5_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_6_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_6_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_6_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_7_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_7_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_7_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_8_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_8_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_8_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_9_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_9_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_9_equipment_list_name: str | None
    dry_bulb_temperature_difference_range_10_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dry_bulb_temperature_difference_range_10_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorWetBulbDifference(IDFObject):
    """Plant equipment operation scheme for outdoor wet-bulb temperature difference operation. Specifies one or more groups ..."""

    reference_temperature_node_name: str | None
    wet_bulb_temperature_difference_range_1_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_1_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_1_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_2_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_2_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_2_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_3_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_3_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_3_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_4_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_4_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_4_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_5_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_5_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_5_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_6_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_6_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_6_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_7_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_7_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_7_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_8_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_8_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_8_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_9_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_9_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_9_equipment_list_name: str | None
    wet_bulb_temperature_difference_range_10_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    wet_bulb_temperature_difference_range_10_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationOutdoorDewpointDifference(IDFObject):
    """Plant equipment operation scheme for outdoor dewpoint temperature difference operation. Specifies one or more groups ..."""

    reference_temperature_node_name: str | None
    dewpoint_temperature_difference_range_1_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_1_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_1_equipment_list_name: str | None
    dewpoint_temperature_difference_range_2_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_2_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_2_equipment_list_name: str | None
    dewpoint_temperature_difference_range_3_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_3_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_3_equipment_list_name: str | None
    dewpoint_temperature_difference_range_4_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_4_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_4_equipment_list_name: str | None
    dewpoint_temperature_difference_range_5_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_5_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_5_equipment_list_name: str | None
    dewpoint_temperature_difference_range_6_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_6_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_6_equipment_list_name: str | None
    dewpoint_temperature_difference_range_7_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_7_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_7_equipment_list_name: str | None
    dewpoint_temperature_difference_range_8_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_8_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_8_equipment_list_name: str | None
    dewpoint_temperature_difference_range_9_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_9_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_9_equipment_list_name: str | None
    dewpoint_temperature_difference_range_10_lower_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    dewpoint_temperature_difference_range_10_upper_limit: float | None
    """[deltaC]; Range: >= -50.0, <= 100.0"""
    range_10_equipment_list_name: str | None

class PlantEquipmentOperationChillerHeaterChangeover(IDFObject):
    """Plant equipment operation object to control switchover between chiller and heater operation of chiller heater heat pu...; Since: 23.2.0"""

    primary_cooling_plant_setpoint_temperature: float | None
    """[C]; Range: >= -10.0, <= 20.0"""
    secondary_distribution_cooling_plant_setpoint_temperature: float | None
    """[C]; Range: >= 0.0, <= 20.0"""
    primary_heating_plant_setpoint_at_outdoor_high_temperature: float | None
    """[C]; Range: >= 20.0, <= 80.0"""
    outdoor_high_temperature: float | None
    """[C]; Range: >= 0.0, <= 35.0"""
    primary_heating_plant_setpoint_at_outdoor_low_temperature: float | None
    """[C]; Range: >= 20.0, <= 80.0"""
    outdoor_low_temperature: float | None
    """[C]; Range: >= -35.0, <= 35.0"""
    secondary_distribution_heating_plant_setpoint_temperature: float | None
    """[C]; Range: >= 20.0, <= 80.0"""
    zone_load_polling_zonelist_name: str | None
    cooling_only_load_plant_equipment_operation_cooling_load_name: str | None
    heating_only_load_plant_equipment_operation_heating_load_name: str | None
    simultaneous_cooling_and_heating_plant_equipment_operation_cooling_load_name: str | None
    simultaneous_cooling_and_heating_plant_equipment_operation_heating_load_name: str | None
    dedicated_chilled_water_return_recovery_heat_pump_name: str | None
    """enter name of HeatPump:PlantLoop:EIR:Cooling object to control chilled water return adding heat to hot water return"""
    dedicated_hot_water_return_recovery_heat_pump_name: str | None
    """enter name of HeatPump:PlantLoop:EIR:Heating object to control hot water return cooling the chilled water return"""
    boiler_setpoint_temperature_offset: float | None
    """[deltaC]; Default: 0.5"""
    primary_heating_plant_setpoint_at_backup_outdoor_low_temperature: float | None
    """if empty or not used then set equal to Primary Heating Plant Setpoint at Outdoor Low Temperature; [C]"""
    backup_outdoor_low_temperature: float | None
    """[C]"""

class PlantEquipmentOperationSchemes(IDFObject):
    """Operation schemes are listed in 'priority' order. Note that each scheme must address the entire load and/or condition..."""

    control_scheme_1_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_1_name: str | None
    control_scheme_1_schedule_name: str | None
    control_scheme_2_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_2_name: str | None
    control_scheme_2_schedule_name: str | None
    control_scheme_3_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_3_name: str | None
    control_scheme_3_schedule_name: str | None
    control_scheme_4_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_4_name: str | None
    control_scheme_4_schedule_name: str | None
    control_scheme_5_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_5_name: str | None
    control_scheme_5_schedule_name: str | None
    control_scheme_6_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_6_name: str | None
    control_scheme_6_schedule_name: str | None
    control_scheme_7_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_7_name: str | None
    control_scheme_7_schedule_name: str | None
    control_scheme_8_object_type: (
        Literal[
            "PlantEquipmentOperation:ChillerHeaterChangeover",
            "PlantEquipmentOperation:ComponentSetpoint",
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:ThermalEnergyStorage",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_8_name: str | None
    control_scheme_8_schedule_name: str | None

class CondenserEquipmentOperationSchemes(IDFObject):
    """Operation schemes are listed in 'priority' order. Note that each scheme must address the entire load and/or condition..."""

    control_scheme_1_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_1_name: str | None
    control_scheme_1_schedule_name: str | None
    control_scheme_2_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_2_name: str | None
    control_scheme_2_schedule_name: str | None
    control_scheme_3_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_3_name: str | None
    control_scheme_3_schedule_name: str | None
    control_scheme_4_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_4_name: str | None
    control_scheme_4_schedule_name: str | None
    control_scheme_5_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_5_name: str | None
    control_scheme_5_schedule_name: str | None
    control_scheme_6_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_6_name: str | None
    control_scheme_6_schedule_name: str | None
    control_scheme_7_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_7_name: str | None
    control_scheme_7_schedule_name: str | None
    control_scheme_8_object_type: (
        Literal[
            "PlantEquipmentOperation:CoolingLoad",
            "PlantEquipmentOperation:HeatingLoad",
            "PlantEquipmentOperation:OutdoorDewpoint",
            "PlantEquipmentOperation:OutdoorDewpointDifference",
            "PlantEquipmentOperation:OutdoorDryBulb",
            "PlantEquipmentOperation:OutdoorDryBulbDifference",
            "PlantEquipmentOperation:OutdoorRelativeHumidity",
            "PlantEquipmentOperation:OutdoorWetBulb",
            "PlantEquipmentOperation:OutdoorWetBulbDifference",
            "PlantEquipmentOperation:Uncontrolled",
            "PlantEquipmentOperation:UserDefined",
        ]
        | None
    )
    control_scheme_8_name: str | None
    control_scheme_8_schedule_name: str | None

class EnergyManagementSystemSensor(IDFObject):
    """Declares EMS variable as a sensor a list of output variables and meters that can be reported are available after a ru..."""

    output_variable_or_output_meter_index_key_name: str | None
    output_variable_or_output_meter_name: str | None

class EnergyManagementSystemActuator(IDFObject):
    """Hardware portion of EMS used to set up actuators in the model"""

    actuated_component_unique_name: str | None
    actuated_component_type: str | None
    actuated_component_control_type: str | None

class EnergyManagementSystemProgramCallingManager(IDFObject):
    """Input EMS program. a program needs a name a description of when it should be called and then lines of program code fo..."""

    energyplus_model_calling_point: (
        Literal[
            "AfterComponentInputReadIn",
            "AfterNewEnvironmentWarmUpIsComplete",
            "AfterPredictorAfterHVACManagers",
            "AfterPredictorBeforeHVACManagers",
            "BeginNewEnvironment",
            "BeginTimestepBeforePredictor",
            "BeginZoneTimestepAfterInitHeatBalance",
            "BeginZoneTimestepBeforeInitHeatBalance",
            "BeginZoneTimestepBeforeSetCurrentWeather",
            "EndOfSystemSizing",
            "EndOfSystemTimestepAfterHVACReporting",
            "EndOfSystemTimestepBeforeHVACReporting",
            "EndOfZoneSizing",
            "EndOfZoneTimestepAfterZoneReporting",
            "EndOfZoneTimestepBeforeZoneReporting",
            "InsideHVACSystemIterationLoop",
            "UnitarySystemSizing",
            "UserDefinedComponentModel",
        ]
        | None
    )
    program_name: str | None

class EnergyManagementSystemProgram(IDFObject):
    """This input defines an Erl program Each field after the name is a line of EMS Runtime Language"""

    program_line: str | None

class EnergyManagementSystemSubroutine(IDFObject):
    """This input defines an Erl program subroutine Each field after the name is a line of EMS Runtime Language"""

    program_line: str | None

class EnergyManagementSystemGlobalVariable(IDFObject):
    """Declares Erl variable as having global scope No spaces allowed in names used for Erl variables"""

    erl_variable_name: str | None

class EnergyManagementSystemOutputVariable(IDFObject):
    """This object sets up an EnergyPlus output variable from an Erl variable"""

    ems_variable_name: str | None
    """must be an acceptable EMS variable"""
    type_of_data_in_variable: Literal["Averaged", "Summed"] | None
    update_frequency: Literal["SystemTimestep", "ZoneTimestep"] | None
    ems_program_or_subroutine_name: str | None
    """optional for global scope variables, required for local scope variables"""
    units: str | None
    """optional but will result in dimensionless units for blank EnergyPlus units are standard SI units"""

class EnergyManagementSystemMeteredOutputVariable(IDFObject):
    """This object sets up an EnergyPlus output variable from an Erl variable"""

    ems_variable_name: str | None
    """must be an acceptable EMS variable, no spaces"""
    update_frequency: Literal["SystemTimestep", "ZoneTimestep"] | None
    ems_program_or_subroutine_name: str | None
    """optional for global scope variables, required for local scope variables"""
    resource_type: (
        Literal[
            "Coal",
            "CondensateWaterCollected",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "ElectricityProducedOnSite",
            "EnergyTransfer",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "MainsWaterSupply",
            "NaturalGas",
            "OnSiteWaterProduced",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "RainWaterCollected",
            "SolarAirHeating",
            "SolarWaterHeating",
            "WaterUse",
            "WellWaterDrawn",
        ]
        | None
    )
    """choose the type of fuel, water, electricity, pollution or heat rate that should be metered."""
    group_type: Literal["Building", "HVAC", "Plant", "System"] | None
    """choose a general classification, building (internal services), HVAC (air systems), or plant (hydronic systems), or sy..."""
    end_use_category: (
        Literal[
            "Baseboard",
            "Boilers",
            "Chillers",
            "Cooling",
            "CoolingCoils",
            "ExteriorEquipment",
            "ExteriorLights",
            "Fans",
            "HeatRecovery",
            "HeatRecoveryForCooling",
            "HeatRecoveryForHeating",
            "HeatRejection",
            "Heating",
            "HeatingCoils",
            "Humidifier",
            "InteriorEquipment",
            "InteriorLights",
            "OnSiteGeneration",
            "Pumps",
            "Refrigeration",
            "WaterSystems",
        ]
        | None
    )
    """choose how the metered output should be classified for end-use category"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table. enter a user-defined..."""
    units: str | None
    """optional but will result in dimensionless units for blank EnergyPlus units are standard SI units"""

class EnergyManagementSystemTrendVariable(IDFObject):
    """This object sets up an EMS trend variable from an Erl variable A trend variable logs values across timesteps"""

    ems_variable_name: str | None
    """must be a global scope EMS variable"""
    number_of_timesteps_to_be_logged: int | None
    """Range: >= 1"""

class EnergyManagementSystemInternalVariable(IDFObject):
    """Declares EMS variable as an internal data variable"""

    internal_data_index_key_name: str | None
    internal_data_type: str | None

class EnergyManagementSystemCurveOrTableIndexVariable(IDFObject):
    """Declares EMS variable that identifies a curve or table"""

    curve_or_table_object_name: str | None

class EnergyManagementSystemConstructionIndexVariable(IDFObject):
    """Declares EMS variable that identifies a construction"""

    construction_object_name: str | None

class ExternalInterface(IDFObject):
    """This object activates the external interface of EnergyPlus. If the object ExternalInterface is present, then all Extn..."""

class ExternalInterfaceSchedule(IDFObject):
    """A ExternalInterface:Schedule contains only one value, which is used during the warm-up period and the system sizing."""

    schedule_type_limits_name: str | None
    initial_value: float | None
    """Used during warm-up and system sizing."""

class ExternalInterfaceVariable(IDFObject):
    """This input object is similar to EnergyManagementSystem:GlobalVariable. However, at the beginning of each zone time st..."""

    initial_value: float | None
    """Used during warm-up and system sizing."""

class ExternalInterfaceActuator(IDFObject):
    """Hardware portion of EMS used to set up actuators in the model"""

    actuated_component_unique_name: str | None
    actuated_component_type: str | None
    actuated_component_control_type: str | None
    optional_initial_value: float | None
    """If specified, it is used during warm-up and system sizing. If not specified, then the actuator only overwrites the ac..."""

class ExternalInterfaceFunctionalMockupUnitImport(IDFObject):
    """This object declares an FMU"""

    fmu_timeout: float | None
    """in milli-seconds; [ms]; Default: 0.0"""
    fmu_loggingon: int | None
    """Default: 0"""

class ExternalInterfaceFunctionalMockupUnitImportFromVariable(IDFObject):
    """This object declares an FMU input variable"""

    output_variable_name: str | None
    fmu_file_name: str | None
    fmu_instance_name: str | None
    fmu_variable_name: str | None

class ExternalInterfaceFunctionalMockupUnitImportToSchedule(IDFObject):
    """This objects contains only one value, which is used during the first call of EnergyPlus"""

    schedule_type_limits_names: str | None
    fmu_file_name: str | None
    fmu_instance_name: str | None
    fmu_variable_name: str | None
    initial_value: float | None
    """Used during the first call of EnergyPlus."""

class ExternalInterfaceFunctionalMockupUnitImportToActuator(IDFObject):
    """Hardware portion of EMS used to set up actuators in the model that are dynamically updated from the FMU."""

    actuated_component_unique_name: str | None
    actuated_component_type: str | None
    actuated_component_control_type: str | None
    fmu_file_name: str | None
    fmu_instance_name: str | None
    fmu_variable_name: str | None
    initial_value: float | None
    """Used during the first call of EnergyPlus."""

class ExternalInterfaceFunctionalMockupUnitImportToVariable(IDFObject):
    """Declares Erl variable as having global scope No spaces allowed in names used for Erl variables"""

    fmu_file_name: str | None
    fmu_instance_name: str | None
    fmu_variable_name: str | None
    initial_value: float | None
    """Used during the first call of EnergyPlus."""

class ExternalInterfaceFunctionalMockupUnitExportFromVariable(IDFObject):
    """This object declares an FMU input variable"""

    output_variable_name: str | None
    fmu_variable_name: str | None

class ExternalInterfaceFunctionalMockupUnitExportToSchedule(IDFObject):
    """This objects contains only one value, which is used during the first call of EnergyPlus"""

    schedule_type_limits_names: str | None
    fmu_variable_name: str | None
    initial_value: float | None
    """Used during EnergyPlus sizing and warm-up."""

class ExternalInterfaceFunctionalMockupUnitExportToActuator(IDFObject):
    """Hardware portion of EMS used to set up actuators in the model that are dynamically updated from the FMU."""

    actuated_component_unique_name: str | None
    actuated_component_type: str | None
    actuated_component_control_type: str | None
    fmu_variable_name: str | None
    initial_value: float | None
    """Used during EnergyPlus sizing and warm-up. If no value is specified, then the actuated component will only be updated..."""

class ExternalInterfaceFunctionalMockupUnitExportToVariable(IDFObject):
    """Declares Erl variable as having global scope No spaces allowed in names used for Erl variables"""

    fmu_variable_name: str | None
    initial_value: float | None
    """Used during EnergyPlus sizing and warm-up."""

class ZoneHVACForcedAirUserDefined(IDFObject):
    """Defines a generic zone air unit for custom modeling using Energy Management System or External Interface"""

    overall_model_simulation_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    model_setup_and_sizing_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    primary_air_inlet_node_name: str | None
    """Air inlet node for the unit must be a zone air exhaust Node."""
    primary_air_outlet_node_name: str | None
    """Air outlet node for the unit must be a zone air inlet node."""
    secondary_air_inlet_node_name: str | None
    """Inlet air used for heat rejection or air source"""
    secondary_air_outlet_node_name: str | None
    """Outlet air used for heat rejection or air source"""
    number_of_plant_loop_connections: int | None
    """Range: >= 0, <= 3"""
    plant_connection_1_inlet_node_name: str | None
    plant_connection_1_outlet_node_name: str | None
    plant_connection_2_inlet_node_name: str | None
    plant_connection_2_outlet_node_name: str | None
    plant_connection_3_inlet_node_name: str | None
    plant_connection_3_outlet_node_name: str | None
    supply_inlet_water_storage_tank_name: str | None
    """Water use storage tank for alternate source of water consumed by device"""
    collection_outlet_water_storage_tank_name: str | None
    """Water use storage tank for collection of condensate by device"""
    ambient_zone_name: str | None
    """Used for modeling device losses to surrounding zone"""

class AirTerminalSingleDuctUserDefined(IDFObject):
    """Defines a generic single duct air terminal unit for custom modeling using Energy Management System or External Interface"""

    overall_model_simulation_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    model_setup_and_sizing_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    primary_air_inlet_node_name: str | None
    """Air inlet node for the unit must be a zone splitter outlet."""
    primary_air_outlet_node_name: str | None
    """Air outlet node for the unit must be a zone air inlet node."""
    secondary_air_inlet_node_name: str | None
    """Inlet air used for heat rejection or air source"""
    secondary_air_outlet_node_name: str | None
    """Outlet air used for heat rejection or air source"""
    number_of_plant_loop_connections: int | None
    """Range: >= 0, <= 2"""
    plant_connection_1_inlet_node_name: str | None
    plant_connection_1_outlet_node_name: str | None
    plant_connection_2_inlet_node_name: str | None
    plant_connection_2_outlet_node_name: str | None
    supply_inlet_water_storage_tank_name: str | None
    """Water use storage tank for alternate source of water consumed by device"""
    collection_outlet_water_storage_tank_name: str | None
    """Water use storage tank for collection of condensate by device"""
    ambient_zone_name: str | None
    """Used for modeling device losses to surrounding zone"""

class CoilUserDefined(IDFObject):
    """Defines a generic air system component for custom modeling using Energy Management System or External Interface"""

    overall_model_simulation_program_calling_manager_name: str | None
    """This is the name of a program to run that defines the user-defined functionality for this component. This can match t..."""
    model_setup_and_sizing_program_calling_manager_name: str | None
    number_of_air_connections: int | None
    """Range: >= 1, <= 2"""
    air_connection_1_inlet_node_name: str | None
    """Inlet air for primary air stream"""
    air_connection_1_outlet_node_name: str | None
    """Outlet air for primary air stream"""
    air_connection_2_inlet_node_name: str | None
    """Inlet air for secondary air stream"""
    air_connection_2_outlet_node_name: str | None
    """Outlet air for secondary air stream"""
    plant_connection_is_used: Literal["No", "Yes"] | None
    plant_connection_inlet_node_name: str | None
    plant_connection_outlet_node_name: str | None
    supply_inlet_water_storage_tank_name: str | None
    """Water use storage tank for alternate source of water consumed by device"""
    collection_outlet_water_storage_tank_name: str | None
    """Water use storage tank for collection of condensate by device"""
    ambient_zone_name: str | None
    """Used for modeling device losses to surrounding zone"""

class PlantComponentUserDefined(IDFObject):
    """Defines a generic plant component for custom modeling using Energy Management System or External Interface"""

    main_model_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    number_of_plant_loop_connections: int | None
    """Range: >= 1, <= 4"""
    plant_connection_1_inlet_node_name: str | None
    plant_connection_1_outlet_node_name: str | None
    plant_connection_1_loading_mode: (
        Literal[
            "DemandsLoad",
            "MeetsLoadWithNominalCapacity",
            "MeetsLoadWithNominalCapacityHiOutLimit",
            "MeetsLoadWithNominalCapacityLowOutLimit",
            "MeetsLoadWithPassiveCapacity",
        ]
        | None
    )
    plant_connection_1_loop_flow_request_mode: (
        Literal["NeedsFlowAndTurnsLoopOn", "NeedsFlowIfLoopOn", "ReceivesWhateverFlowAvailable"] | None
    )
    plant_connection_1_initialization_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    plant_connection_1_simulation_program_calling_manager_name: str | None
    """For use with the API (Library, Callback) workflow, this field should be the same string that the user provides when r..."""
    plant_connection_2_inlet_node_name: str | None
    plant_connection_2_outlet_node_name: str | None
    plant_connection_2_loading_mode: (
        Literal[
            "DemandsLoad",
            "MeetLoadWithNominalCapacity",
            "MeetLoadWithNominalCapacityHiOutLimit",
            "MeetLoadWithNominalCapacityLowOutLimit",
            "MeetLoadWithPassiveCapacity",
        ]
        | None
    )
    plant_connection_2_loop_flow_request_mode: (
        Literal["NeedsFlowAndTurnsLoopOn", "NeedsFlowIfLoopOn", "ReceivesWhateverFlowAvailable"] | None
    )
    plant_connection_2_initialization_program_calling_manager_name: str | None
    plant_connection_2_simulation_program_calling_manager_name: str | None
    plant_connection_3_inlet_node_name: str | None
    plant_connection_3_outlet_node_name: str | None
    plant_connection_3_loading_mode: (
        Literal[
            "DemandsLoad",
            "MeetLoadWithNominalCapacity",
            "MeetLoadWithNominalCapacityHiOutLimit",
            "MeetLoadWithNominalCapacityLowOutLimit",
            "MeetLoadWithPassiveCapacity",
        ]
        | None
    )
    plant_connection_3_loop_flow_request_mode: (
        Literal["NeedsFlowAndTurnsLoopOn", "NeedsFlowIfLoopOn", "ReceivesWhateverFlowAvailable"] | None
    )
    plant_connection_3_initialization_program_calling_manager_name: str | None
    plant_connection_3_simulation_program_calling_manager_name: str | None
    plant_connection_4_inlet_node_name: str | None
    plant_connection_4_outlet_node_name: str | None
    plant_connection_4_loading_mode: (
        Literal[
            "DemandsLoad",
            "MeetLoadWithNominalCapacity",
            "MeetLoadWithNominalCapacityHiOutLimit",
            "MeetLoadWithNominalCapacityLowOutLimit",
            "MeetLoadWithPassiveCapacity",
        ]
        | None
    )
    plant_connection_4_loop_flow_request_mode: (
        Literal["NeedsFlowAndTurnsLoopOn", "NeedsFlowIfLoopOn", "ReceivesWhateverFlowAvailable"] | None
    )
    plant_connection_4_initialization_program_calling_manager_name: str | None
    plant_connection_4_simulation_program_calling_manager_name: str | None
    air_connection_inlet_node_name: str | None
    """Inlet air used for heat rejection or air source"""
    air_connection_outlet_node_name: str | None
    """Outlet air used for heat rejection or air source"""
    supply_inlet_water_storage_tank_name: str | None
    """Water use storage tank for alternate source of water consumed by device"""
    collection_outlet_water_storage_tank_name: str | None
    """Water use storage tank for collection of condensate by device"""
    ambient_zone_name: str | None
    """Used for modeling device losses to surrounding zone"""

class PlantEquipmentOperationUserDefined(IDFObject):
    """Defines a generic plant operation scheme for custom supervisory control using Energy Management System or External In..."""

    main_model_program_calling_manager_name: str | None
    initialization_program_calling_manager_name: str | None
    equipment_1_object_type: str | None
    equipment_1_name: str | None
    equipment_2_object_type: str | None
    equipment_2_name: str | None
    equipment_3_object_type: str | None
    equipment_3_name: str | None
    equipment_4_object_type: str | None
    equipment_4_name: str | None
    equipment_5_object_type: str | None
    equipment_5_name: str | None
    equipment_6_object_type: str | None
    equipment_6_name: str | None
    equipment_7_object_type: str | None
    equipment_7_name: str | None
    equipment_8_object_type: str | None
    equipment_8_name: str | None
    equipment_9_object_type: str | None
    equipment_9_name: str | None
    equipment_10_object_type: str | None
    equipment_10_name: str | None

class AvailabilityManagerScheduled(IDFObject):
    """Determines the availability of a loop or system: whether it is on or off. Schedule overrides fan/pump schedule."""

    schedule_name: str | None

class AvailabilityManagerScheduledOn(IDFObject):
    """Determines the availability of a loop or system: only controls the turn on action. Schedule overrides fan/pump schedule."""

    schedule_name: str | None

class AvailabilityManagerScheduledOff(IDFObject):
    """Determines the availability of a loop or system: only controls the turn off action. Schedule overrides fan/pump sched..."""

    schedule_name: str | None

class AvailabilityManagerOptimumStart(IDFObject):
    """Determines the optimal start of HVAC systems before occupancy."""

    applicability_schedule_name: str | None
    fan_schedule_name: str | None
    control_type: Literal["", "ControlZone", "MaximumofZoneList", "StayOff"] | None
    """Default: ControlZone"""
    control_zone_name: str | None
    zone_list_name: str | None
    maximum_value_for_optimum_start_time: float | None
    """this is the maximum number of hours that a system can start before occupancy; [hr]; Default: 6.0"""
    control_algorithm: (
        Literal["", "AdaptiveASHRAE", "AdaptiveTemperatureGradient", "ConstantStartTime", "ConstantTemperatureGradient"]
        | None
    )
    """Default: AdaptiveASHRAE"""
    constant_temperature_gradient_during_cooling: float | None
    """[deltaC/hr]"""
    constant_temperature_gradient_during_heating: float | None
    """[deltaC/hr]"""
    initial_temperature_gradient_during_cooling: float | None
    """[deltaC/hr]"""
    initial_temperature_gradient_during_heating: float | None
    """[deltaC/hr]"""
    constant_start_time: float | None
    """this is the number of hours before occupancy for a system; [hr]"""
    number_of_previous_days: int | None
    """this is the number of days that their actual temperature gradients will be used in the AdaptiveTemperatureGradient me...; [days]; Default: 2; Range: >= 2, <= 5"""

class AvailabilityManagerNightCycle(IDFObject):
    """Determines the availability of a loop or system: whether it is on or off. Depending on zone temperatures, overrides S..."""

    applicability_schedule_name: str | None
    fan_schedule_name: str | None
    control_type: (
        Literal[
            "",
            "CycleOnAny",
            "CycleOnAnyCoolingOrHeatingZone",
            "CycleOnAnyCoolingZone",
            "CycleOnAnyHeatingZone",
            "CycleOnAnyHeatingZoneFansOnly",
            "CycleOnAnyZoneFansOnly",
            "CycleOnControlZone",
            "StayOff",
        ]
        | None
    )
    """When AvailabilityManager:NightCycle is used in the zone component availability manager assignment list, the key choic...; Default: StayOff"""
    thermostat_tolerance: float | None
    """[deltaC]; Default: 1.0"""
    cycling_run_time_control_type: Literal["", "FixedRunTime", "Thermostat", "ThermostatWithMinimumRunTime"] | None
    """Default: FixedRunTime"""
    cycling_run_time: float | None
    """[s]; Default: 3600.0"""
    control_zone_or_zone_list_name: str | None
    """When AvailabilityManager:NightCycle is used in the zone component availability manager assignment list, the Control Z..."""
    cooling_control_zone_or_zone_list_name: str | None
    heating_control_zone_or_zone_list_name: str | None
    heating_zone_fans_only_zone_or_zone_list_name: str | None

class AvailabilityManagerDifferentialThermostat(IDFObject):
    """Overrides fan/pump schedules depending on temperature difference between two nodes."""

    hot_node_name: str | None
    cold_node_name: str | None
    temperature_difference_on_limit: float | None
    """[deltaC]"""
    temperature_difference_off_limit: float | None
    """Defaults to Temperature Difference On Limit.; [deltaC]"""

class AvailabilityManagerHighTemperatureTurnOff(IDFObject):
    """Overrides fan/pump schedules depending on temperature at sensor node."""

    sensor_node_name: str | None
    temperature: float | None
    """[C]"""

class AvailabilityManagerHighTemperatureTurnOn(IDFObject):
    """Overrides fan/pump schedules depending on temperature at sensor node."""

    sensor_node_name: str | None
    temperature: float | None
    """[C]"""

class AvailabilityManagerLowTemperatureTurnOff(IDFObject):
    """Overrides fan/pump schedules depending on temperature at sensor node."""

    sensor_node_name: str | None
    temperature: float | None
    """[C]"""
    applicability_schedule_name: str | None
    """If blank, defaults to always active"""

class AvailabilityManagerLowTemperatureTurnOn(IDFObject):
    """Overrides fan/pump schedules depending on temperature at sensor node."""

    sensor_node_name: str | None
    temperature: float | None
    """[C]"""

class AvailabilityManagerNightVentilation(IDFObject):
    """depending on zone and outdoor conditions overrides fan schedule to do precooling with outdoor air"""

    applicability_schedule_name: str | None
    fan_schedule_name: str | None
    ventilation_temperature_schedule_name: str | None
    """One zone temperature must be above this scheduled temperature for night ventilation to be enabled"""
    ventilation_temperature_difference: float | None
    """The outdoor air temperature minus the control zone temperature must be greater than the ventilation delta T; [deltaC]; Default: 2.0"""
    ventilation_temperature_low_limit: float | None
    """Night ventilation is disabled if any conditioned zone served by the system falls below this temperature; [C]; Default: 15.0"""
    night_venting_flow_fraction: float | None
    """the fraction (could be > 1) of the design system Flow Rate at which night ventilation will be done; Default: 1.0; Range: >= 0.0"""
    control_zone_name: str | None
    """When AvailabilityManager:NightVentilation is used in the zone component availability manager assignment list, the Con..."""

class AvailabilityManagerHybridVentilation(IDFObject):
    """Depending on zone and outdoor conditions overrides window/door opening controls to maximize natural ventilation and t..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC or HVACTemplate:System:* object. If this field is left blank, hybrid ventilation man..."""
    control_zone_name: str | None
    """the zone name should be a zone where a thermostat or humidistat is located served by an air primary loop."""
    ventilation_control_mode_schedule_name: str | None
    """The Ventilation control mode contains appropriate integer control types. 0 - uncontrolled (Natural ventilation and HV..."""
    use_weather_file_rain_indicators: Literal["", "No", "Yes"] | None
    """If Yes, ventilation is shutoff when there is rain If No, there is no rain control; Default: Yes"""
    maximum_wind_speed: float | None
    """this is the wind speed above which ventilation is shutoff; [m/s]; Default: 40.0; Range: >= 0.0, <= 40.0"""
    minimum_outdoor_temperature: float | None
    """this is the outdoor temperature below which ventilation is shutoff; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    maximum_outdoor_temperature: float | None
    """this is the outdoor temperature above which ventilation is shutoff; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    minimum_outdoor_enthalpy: float | None
    """this is the outdoor Enthalpy below which ventilation is shutoff; [J/kg]; Range: > 0.0, < 300000.0"""
    maximum_outdoor_enthalpy: float | None
    """this is the outdoor Enthalpy above which ventilation is shutoff; [J/kg]; Range: > 0.0, < 300000.0"""
    minimum_outdoor_dewpoint: float | None
    """this is the outdoor temperature below which ventilation is shutoff Applicable only if Ventilation Control Mode = 3; [C]; Default: -100.0; Range: >= -100.0, <= 100.0"""
    maximum_outdoor_dewpoint: float | None
    """this is the outdoor dewpoint above which ventilation is shutoff Applicable only if Ventilation Control Mode = 3; [C]; Default: 100.0; Range: >= -100.0, <= 100.0"""
    minimum_outdoor_ventilation_air_schedule_name: str | None
    """Used only if Ventilation Control Mode = 4"""
    opening_factor_function_of_wind_speed_curve_name: str | None
    """linear curve = a + b*WS quadratic curve = a + b*WS + c*WS**2 WS = wind speed (m/s)"""
    airflownetwork_control_type_schedule_name: str | None
    """The schedule is used to incorporate operation of AirflowNetwork large opening objects and HVAC system operation."""
    simple_airflow_control_type_schedule_name: str | None
    """The schedule is used to incorporate operation of simple airflow objects and HVAC system operation. The simple airflow..."""
    zoneventilation_object_name: str | None
    """This field has not been instrumented to work with global Zone or Zone List names option for Ventilation:DesignFlowRat..."""
    minimum_hvac_operation_time: float | None
    """Minimum operation time when HVAC system is forced on.; [minutes]; Default: 0.0; Range: >= 0.0"""
    minimum_ventilation_time: float | None
    """Minimum ventilation time when natural ventilation is forced on.; [minutes]; Default: 0.0; Range: >= 0.0"""

class AvailabilityManagerAssignmentList(IDFObject):
    """Defines the applicable managers used for an AirLoopHVAC or PlantLoop. The priority of availability managers is based ..."""

    availability_manager_object_type: str | None
    availability_manager_name: str | None

class SetpointManagerScheduled(IDFObject):
    """The simplest Setpoint Manager simply uses a schedule to determine one or more setpoints. Values of the nodes are not ..."""

    control_variable: (
        Literal[
            "HumidityRatio",
            "MassFlowRate",
            "MaximumHumidityRatio",
            "MaximumMassFlowRate",
            "MaximumTemperature",
            "MinimumHumidityRatio",
            "MinimumMassFlowRate",
            "MinimumTemperature",
            "Temperature",
        ]
        | None
    )
    schedule_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerScheduledDualSetpoint(IDFObject):
    """This setpoint manager places a high and low schedule value on one or more nodes."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    high_setpoint_schedule_name: str | None
    low_setpoint_schedule_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which temperature will be set"""

class SetpointManagerOutdoorAirReset(IDFObject):
    """This Setpoint Manager is used to place a setpoint temperature on system node according to the outdoor air temperature..."""

    control_variable: Literal["", "MaximumTemperature", "MinimumTemperature", "Temperature"] | None
    """Default: Temperature"""
    setpoint_at_outdoor_low_temperature: float | None
    """[C]"""
    outdoor_low_temperature: float | None
    """[C]"""
    setpoint_at_outdoor_high_temperature: float | None
    """[C]"""
    outdoor_high_temperature: float | None
    """[C]"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which temperature will be set"""
    schedule_name: str | None
    """Optional input. Schedule allows scheduling of the outdoor air reset rule - a schedule value of 1 means use the first ..."""
    setpoint_at_outdoor_low_temperature_2: float | None
    """2nd outdoor air temperature reset rule; [C]"""
    outdoor_low_temperature_2: float | None
    """2nd outdoor air temperature reset rule; [C]"""
    setpoint_at_outdoor_high_temperature_2: float | None
    """2nd outdoor air temperature reset rule; [C]"""
    outdoor_high_temperature_2: float | None
    """2nd outdoor air temperature reset rule; [C]"""

class SetpointManagerSingleZoneReheat(IDFObject):
    """This setpoint manager detects the control zone load, zone inlet node flow rate, and zone node temperature and calcula..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    minimum_supply_air_temperature: float | None
    """[C]; Default: -99.0"""
    maximum_supply_air_temperature: float | None
    """[C]; Default: 99.0"""
    control_zone_name: str | None
    zone_node_name: str | None
    zone_inlet_node_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerSingleZoneHeating(IDFObject):
    """This setpoint manager detects the control zone load to meet the current heating setpoint, zone inlet node flow rate, ..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    minimum_supply_air_temperature: float | None
    """[C]; Default: -99.0"""
    maximum_supply_air_temperature: float | None
    """[C]; Default: 99.0"""
    control_zone_name: str | None
    zone_node_name: str | None
    zone_inlet_node_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerSingleZoneCooling(IDFObject):
    """This setpoint manager detects the control zone load to meet the current cooling setpoint, zone inlet node flow rate, ..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    minimum_supply_air_temperature: float | None
    """[C]; Default: -99.0"""
    maximum_supply_air_temperature: float | None
    """[C]; Default: 99.0"""
    control_zone_name: str | None
    zone_node_name: str | None
    zone_inlet_node_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerSingleZoneHumidityMinimum(IDFObject):
    """The Single Zone Minimum Humidity Setpoint Manager allows the control of a single zone minimum humidity level. This se..."""

    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which humidity ratio setpoint will be set"""
    control_zone_air_node_name: str | None
    """Name of the zone air node for the humidity control zone"""

class SetpointManagerSingleZoneHumidityMaximum(IDFObject):
    """The Single Zone Maximum Humidity Setpoint Manager allows the control of a single zone maximum humidity level. This se..."""

    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which humidity ratio setpoint will be set"""
    control_zone_air_node_name: str | None
    """Name of the zone air node for the humidity control zone"""

class SetpointManagerMixedAir(IDFObject):
    """The Mixed Air Setpoint Manager is meant to be used in conjunction with a Controller:OutdoorAir object. This setpoint ..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    reference_setpoint_node_name: str | None
    fan_inlet_node_name: str | None
    fan_outlet_node_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""
    cooling_coil_inlet_node_name: str | None
    """Optional field used to limit economizer operation to prevent freezing of DX cooling coil."""
    cooling_coil_outlet_node_name: str | None
    """Optional field used to limit economizer operation to prevent freezing of DX cooling coil."""
    minimum_temperature_at_cooling_coil_outlet_node: float | None
    """Optional field used to limit economizer operation to prevent freezing of DX cooling coil.; [C]; Default: 7.2; Range: > 0.0"""

class SetpointManagerOutdoorAirPretreat(IDFObject):
    """This setpoint manager determines the required conditions at the outdoor air stream node which will produce the refere..."""

    control_variable: Literal["HumidityRatio", "MaximumHumidityRatio", "MinimumHumidityRatio", "Temperature"] | None
    minimum_setpoint_temperature: float | None
    """Applicable only if Control variable is Temperature; [C]; Default: -99.0"""
    maximum_setpoint_temperature: float | None
    """Applicable only if Control variable is Temperature; [C]; Default: 99.0"""
    minimum_setpoint_humidity_ratio: float | None
    """Applicable only if Control variable is MaximumHumidityRatio, MinimumHumidityRatio, or HumidityRatio - then minimum is...; [kgWater/kgDryAir]; Default: 1e-05; Range: <= 1.0"""
    maximum_setpoint_humidity_ratio: float | None
    """Applicable only if Control variable is MaximumHumidityRatio, MinimumHumidityRatio, or HumidityRatio - then minimum is...; [kgWater/kgDryAir]; Default: 1.0; Range: <= 1.0"""
    reference_setpoint_node_name: str | None
    """The current setpoint at this node is the desired condition for the Mixed Air Node This node must have a valid setpoin..."""
    mixed_air_stream_node_name: str | None
    """Name of Mixed Air Node"""
    outdoor_air_stream_node_name: str | None
    """Name of Outdoor Air Stream Node"""
    return_air_stream_node_name: str | None
    """Name of Return Air Stream Node"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature or humidity ratio will be set"""

class SetpointManagerWarmest(IDFObject):
    """This SetpointManager resets the cooling supply air temperature of a central forced air HVAC system according to the c..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_temperature: float | None
    """[C]; Default: 12.0; Range: > 0.0"""
    maximum_setpoint_temperature: float | None
    """[C]; Default: 18.0; Range: > 0.0"""
    strategy: Literal["", "MaximumTemperature"] | None
    """Default: MaximumTemperature"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerColdest(IDFObject):
    """This SetpointManager is used in dual duct systems to reset the setpoint temperature of the air in the heating supply ..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object."""
    minimum_setpoint_temperature: float | None
    """[C]; Default: 20.0; Range: > 0.0"""
    maximum_setpoint_temperature: float | None
    """[C]; Default: 50.0; Range: > 0.0"""
    strategy: Literal["", "MinimumTemperature"] | None
    """Default: MinimumTemperature"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerReturnAirBypassFlow(IDFObject):
    """This setpoint manager determines the required mass flow rate through a return air bypass duct to meet the specified t..."""

    control_variable: Literal["", "Flow"] | None
    """Default: Flow"""
    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object."""
    temperature_setpoint_schedule_name: str | None

class SetpointManagerWarmestTemperatureFlow(IDFObject):
    """This setpoint manager sets both the supply air temperature and the supply air flow rate."""

    control_variable: Literal["Temperature"] | None
    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object."""
    minimum_setpoint_temperature: float | None
    """[C]; Default: 12.0; Range: > 0.0"""
    maximum_setpoint_temperature: float | None
    """[C]; Default: 18.0; Range: > 0.0"""
    strategy: Literal["", "FlowFirst", "TemperatureFirst"] | None
    """For TemperatureFirst the manager tries to find the highest setpoint temperature that will satisfy all the zone coolin...; Default: TemperatureFirst"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""
    minimum_turndown_ratio: float | None
    """Fraction of the maximum supply air flow rate. Used to define the minimum supply flow for the TemperatureFirst strategy.; [dimensionless]; Default: 0.2; Range: > 0.0"""

class SetpointManagerMultiZoneHeatingAverage(IDFObject):
    """This setpoint manager sets the average supply air temperature based on the heating load requirements of all controlle..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_temperature: float | None
    """[C]; Default: 20.0; Range: > 0.0"""
    maximum_setpoint_temperature: float | None
    """[C]; Default: 50.0; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerMultiZoneCoolingAverage(IDFObject):
    """This setpoint manager sets the average supply air temperature based on the cooling load requirements of all controlle..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_temperature: float | None
    """[C]; Default: 12.0; Range: > 0.0"""
    maximum_setpoint_temperature: float | None
    """[C]; Default: 18.0; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerMultiZoneMinimumHumidityAverage(IDFObject):
    """This setpoint manager sets the average supply air minimum humidity ratio based on moisture load requirements of all c..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.005; Range: > 0.0"""
    maximum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.012; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the humidity ratio will be set"""

class SetpointManagerMultiZoneMaximumHumidityAverage(IDFObject):
    """This setpoint manager sets the average supply air maximum humidity ratio based on moisture load requirements of all c..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.008; Range: > 0.0"""
    maximum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.015; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the humidity ratio will be set"""

class SetpointManagerMultiZoneHumidityMinimum(IDFObject):
    """This setpoint manager sets the minimum supply air humidity ratio based on humidification requirements of a controlled..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.005; Range: > 0.0"""
    maximum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.012; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the humidity ratio will be set"""

class SetpointManagerMultiZoneHumidityMaximum(IDFObject):
    """This setpoint manager sets the maximum supply air humidity ratio based on dehumidification requirements of a controll..."""

    hvac_air_loop_name: str | None
    """Enter the name of an AirLoopHVAC object"""
    minimum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.008; Range: > 0.0"""
    maximum_setpoint_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.015; Range: > 0.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the humidity ratio will be set"""

class SetpointManagerFollowOutdoorAirTemperature(IDFObject):
    """This setpoint manager is used to place a temperature setpoint on a system node that is derived from the current outdo..."""

    control_variable: Literal["", "MaximumTemperature", "MinimumTemperature", "Temperature"] | None
    """Default: Temperature"""
    reference_temperature_type: Literal["", "OutdoorAirDryBulb", "OutdoorAirWetBulb"] | None
    """Default: OutdoorAirWetBulb"""
    offset_temperature_difference: float | None
    """[deltaC]"""
    maximum_setpoint_temperature: float | None
    """[C]"""
    minimum_setpoint_temperature: float | None
    """[C]"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerFollowSystemNodeTemperature(IDFObject):
    """This setpoint manager is used to place a temperature setpoint on a system node that is derived from the current tempe..."""

    control_variable: Literal["", "MaximumTemperature", "MinimumTemperature", "Temperature"] | None
    """Default: Temperature"""
    reference_node_name: str | None
    reference_temperature_type: Literal["", "NodeDryBulb", "NodeWetBulb"] | None
    """Default: NodeDryBulb"""
    offset_temperature_difference: float | None
    """[deltaC]"""
    maximum_limit_setpoint_temperature: float | None
    """[C]"""
    minimum_limit_setpoint_temperature: float | None
    """[C]"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerFollowGroundTemperature(IDFObject):
    """This setpoint manager is used to place a temperature setpoint on a system node that is derived from a current ground ..."""

    control_variable: Literal["", "MaximumTemperature", "MinimumTemperature", "Temperature"] | None
    """Default: Temperature"""
    reference_ground_temperature_object_type: (
        Literal[
            "Site:GroundTemperature:BuildingSurface",
            "Site:GroundTemperature:Deep",
            "Site:GroundTemperature:FCfactorMethod",
            "Site:GroundTemperature:Shallow",
        ]
        | None
    )
    offset_temperature_difference: float | None
    """[deltaC]"""
    maximum_setpoint_temperature: float | None
    """[C]"""
    minimum_setpoint_temperature: float | None
    """[C]"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerCondenserEnteringReset(IDFObject):
    """This setpoint manager uses one curve to determine the optimum condenser entering water temperature for a given timest..."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    default_condenser_entering_water_temperature_schedule_name: str | None
    """This scheduled setpoint value is only used in a given timestep if the 'Optimized' Condenser Entering Temperature does..."""
    minimum_design_wetbulb_temperature_curve_name: str | None
    minimum_outside_air_wetbulb_temperature_curve_name: str | None
    optimized_cond_entering_water_temperature_curve_name: str | None
    minimum_lift: float | None
    """[deltaC]; Default: 11.1"""
    maximum_condenser_entering_water_temperature: float | None
    """[C]; Default: 32.0"""
    cooling_tower_design_inlet_air_wet_bulb_temperature: float | None
    """[C]; Default: 25.56"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerCondenserEnteringResetIdeal(IDFObject):
    """This setpoint manager determine the ideal optimum condenser entering water temperature setpoint for a given timestep."""

    control_variable: Literal["", "Temperature"] | None
    """Default: Temperature"""
    minimum_lift: float | None
    """[deltaC]; Default: 11.1"""
    maximum_condenser_entering_water_temperature: float | None
    """[C]; Default: 32.0"""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which control variable will be set"""

class SetpointManagerSingleZoneOneStageCooling(IDFObject):
    """This object can be used with CoilSystem:Cooling:DX to model on/off cycling control of single stage air systems. Setpo..."""

    cooling_stage_on_supply_air_setpoint_temperature: float | None
    """This is the setpoint value applied when cooling device is to cycle ON; [C]; Default: -99.0"""
    cooling_stage_off_supply_air_setpoint_temperature: float | None
    """This is the setpoint value applied when cooling device is to cycle OFF; [C]; Default: 99.0"""
    control_zone_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerSingleZoneOneStageHeating(IDFObject):
    """This object can be used with CoilSystem:Heating:DX, Coil:Heating:Fuel, Coil:Heating:Electric to model on/off cycling ..."""

    heating_stage_on_supply_air_setpoint_temperature: float | None
    """This is the setpoint value applied when heating device is to cycle ON; [C]; Default: 99.0"""
    heating_stage_off_supply_air_setpoint_temperature: float | None
    """This is the setpoint value applied when heating device is to cycle OFF; [C]; Default: -99.0"""
    control_zone_name: str | None
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which the temperature will be set"""

class SetpointManagerReturnTemperatureChilledWater(IDFObject):
    """This setpoint manager is used to place a temperature setpoint on a plant supply outlet node based on a target return ..."""

    plant_loop_supply_outlet_node: str | None
    """This is the name of the supply outlet node for the plant being controlled by this setpoint manager. Typically this is..."""
    plant_loop_supply_inlet_node: str | None
    """This is the name of the supply inlet node for the plant being controlled with this setpoint manager. The temperature ..."""
    minimum_supply_temperature_setpoint: float | None
    """This is the minimum chilled water supply temperature setpoint. This is also used as the default setpoint during no-lo...; [C]; Default: 5.0"""
    maximum_supply_temperature_setpoint: float | None
    """This is the maximum reset temperature for the chilled water supply.; [C]; Default: 10.0"""
    return_temperature_setpoint_input_type: Literal["Constant", "ReturnTemperatureSetpoint", "Scheduled"] | None
    """This defines whether the chilled water return temperature target is constant, scheduled, or specified on the supply i..."""
    return_temperature_setpoint_constant_value: float | None
    """This is the desired return temperature target, which is met by adjusting the supply temperature setpoint. This consta...; [C]; Default: 13.0"""
    return_temperature_setpoint_schedule_name: str | None
    """This is the desired return temperature target, which is met by adjusting the supply temperature setpoint. This is a s..."""

class SetpointManagerReturnTemperatureHotWater(IDFObject):
    """This setpoint manager is used to place a temperature setpoint on a plant supply outlet node based on a target return ..."""

    plant_loop_supply_outlet_node: str | None
    """This is the name of the supply outlet node for the plant being controlled by this setpoint manager. Typically this is..."""
    plant_loop_supply_inlet_node: str | None
    """This is the name of the supply inlet node for the plant being controlled with this setpoint manager. The temperature ..."""
    minimum_supply_temperature_setpoint: float | None
    """This is the minimum reset temperature for the hot water supply.; [C]; Default: 77.0"""
    maximum_supply_temperature_setpoint: float | None
    """This is the maximum hot water supply temperature setpoint. This is also used as the default setpoint during no-load o...; [C]; Default: 82.0"""
    return_temperature_setpoint_input_type: Literal["Constant", "ReturnTemperatureSetpoint", "Scheduled"] | None
    """This defines whether the hot water return temperature target is constant, scheduled, or specified on the supply inlet..."""
    return_temperature_setpoint_constant_value: float | None
    """This is the desired return temperature target, which is met by adjusting the supply temperature setpoint. This consta...; [C]; Default: 71.0"""
    return_temperature_setpoint_schedule_name: str | None
    """This is the desired return temperature target, which is met by adjusting the supply temperature setpoint. This is a s..."""

class SetpointManagerSystemNodeResetTemperature(IDFObject):
    """This Setpoint Manager is used to place a temperature setpoint on a system node according to the reference (e.g., retu...; Since: 22.1.0"""

    control_variable: Literal["MaximumTemperature", "MinimumTemperature", "Temperature"] | None
    setpoint_at_low_reference_temperature: float | None
    """[C]"""
    setpoint_at_high_reference_temperature: float | None
    """[C]"""
    low_reference_temperature: float | None
    """[C]"""
    high_reference_temperature: float | None
    """[C]"""
    reference_node_name: str | None
    """The name of an HVAC system node that gets referenced."""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which temperature will be set"""

class SetpointManagerSystemNodeResetHumidity(IDFObject):
    """This Setpoint Manager is used to place a humidity ratio setpoint on a system node according to the reference (e.g., r...; Since: 22.1.0"""

    control_variable: Literal["HumidityRatio", "MaximumHumidityRatio", "MinimumHumidityRatio"] | None
    setpoint_at_low_reference_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    setpoint_at_high_reference_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    low_reference_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    high_reference_humidity_ratio: float | None
    """[kgWater/kgDryAir]"""
    reference_node_name: str | None
    """The name of an HVAC system node that gets referenced."""
    setpoint_node_or_nodelist_name: str | None
    """Node(s) at which humidity ratio will be set"""

class RefrigerationCase(IDFObject):
    """The Refrigeration Case object works in conjunction with a compressor rack, a refrigeration system, or a secondary loo..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """This must be a controlled zone and appear in a ZoneHVAC:EquipmentConnections object."""
    rated_ambient_temperature: float | None
    """[C]; Default: 23.9; Range: > 0.0"""
    rated_ambient_relative_humidity: float | None
    """[percent]; Default: 55.0; Range: > 0.0, < 100.0"""
    rated_total_cooling_capacity_per_unit_length: float | None
    """[W/m]; Default: 1900.0; Range: > 0.0"""
    rated_latent_heat_ratio: float | None
    """Default: 0.3; Range: >= 0.0, <= 1.0"""
    rated_runtime_fraction: float | None
    """Default: 0.85; Range: > 0.0, <= 1.0"""
    case_length: float | None
    """[m]; Default: 3.0; Range: > 0.0"""
    case_operating_temperature: float | None
    """[C]; Default: 1.1; Range: < 20.0"""
    latent_case_credit_curve_type: (
        Literal["", "CaseTemperatureMethod", "DewpointMethod", "RelativeHumidityMethod"] | None
    )
    """Default: CaseTemperatureMethod"""
    latent_case_credit_curve_name: str | None
    standard_case_fan_power_per_unit_length: float | None
    """[W/m]; Default: 75.0; Range: >= 0.0"""
    operating_case_fan_power_per_unit_length: float | None
    """[W/m]; Default: 75.0; Range: >= 0.0"""
    standard_case_lighting_power_per_unit_length: float | None
    """[W/m]; Default: 90.0"""
    installed_case_lighting_power_per_unit_length: float | None
    """default set equal to Standard Case Lighting Power per Unit Length; [W/m]"""
    case_lighting_schedule_name: str | None
    fraction_of_lighting_energy_to_case: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    case_anti_sweat_heater_power_per_unit_length: float | None
    """[W/m]; Default: 0.0; Range: >= 0.0"""
    minimum_anti_sweat_heater_power_per_unit_length: float | None
    """This field is only applicable to the Linear, Dewpoint Method, and Heat Balance Method anti-sweat heater control types; [W/m]; Default: 0.0; Range: >= 0.0"""
    anti_sweat_heater_control_type: (
        Literal["", "Constant", "DewpointMethod", "HeatBalanceMethod", "Linear", "None"] | None
    )
    """Default: None"""
    humidity_at_zero_anti_sweat_heater_energy: float | None
    """This field is only applicable to Linear AS heater control type Zone relative humidity (%) where anti-sweat heater ene...; [percent]; Default: -10.0"""
    case_height: float | None
    """This field only applicable to Heat Balance Method AS heater control type Height must be greater than zero if Heat Bal...; [m]; Default: 1.5; Range: >= 0.0"""
    fraction_of_anti_sweat_heater_energy_to_case: float | None
    """Default: 1.0; Range: >= 0.0, <= 1.0"""
    case_defrost_power_per_unit_length: float | None
    """Used to evaluate load on case as well as power or heat consumption; [W/m]; Default: 0.0; Range: >= 0.0"""
    case_defrost_type: (
        Literal[
            "",
            "Electric",
            "ElectricWithTemperatureTermination",
            "HotFluid",
            "HotFluidWithTemperatureTermination",
            "HotGas",
            "HotGasWithTemperatureTermination",
            "None",
            "OffCycle",
        ]
        | None
    )
    """Default: OffCycle"""
    case_defrost_schedule_name: str | None
    """A case defrost schedule name is required unless case defrost type = None"""
    case_defrost_drip_down_schedule_name: str | None
    """If left blank, the defrost schedule will be used The start time for each defrost period in this drip-down schedule sh..."""
    defrost_energy_correction_curve_type: (
        Literal["", "CaseTemperatureMethod", "DewpointMethod", "None", "RelativeHumidityMethod"] | None
    )
    """Case Temperature, Relative Humidity, and Dewpoint Method are applicable to case defrost types with temperature termin...; Default: None"""
    defrost_energy_correction_curve_name: str | None
    """Defrost Energy Correction Curve Name is applicable to case defrost types with temperature termination only."""
    under_case_hvac_return_air_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    refrigerated_case_restocking_schedule_name: str | None
    """Schedule values should be in units of Watts per unit case length (W/m) Leave this field blank if no restocking is to ..."""
    case_credit_fraction_schedule_name: str | None
    """Schedule values should be from 0 to 1 Leave this field blank if no case credit fraction is to be applied"""
    design_evaporator_temperature_or_brine_inlet_temperature: float | None
    """Required for detailed refrigeration system, not for compressor rack For a DX system, enter the saturated temperature ...; [C]; Range: >= -70.0, <= 40.0"""
    average_refrigerant_charge_inventory: float | None
    """[kg/m]; Default: 0.0"""
    under_case_hvac_return_air_node_name: str | None
    """Name of the return air node for this case. If left blank, defaults to the first return air node for this zone."""

class RefrigerationCompressorRack(IDFObject):
    """Works in conjunction with the refrigeration case and walk-in objects to simulate the performance of a refrigerated ca..."""

    heat_rejection_location: Literal["", "Outdoors", "Zone"] | None
    """Default: Outdoors"""
    design_compressor_rack_cop: float | None
    """It is important that this COP correspond to the lowest saturated suction temperature needed to serve all refrigeratio...; [W/W]; Default: 2.0; Range: > 0.0"""
    compressor_rack_cop_function_of_temperature_curve_name: str | None
    """It is important that this COP curve correspond to the lowest saturated suction temperature needed to serve all refrig..."""
    design_condenser_fan_power: float | None
    """Design power for condenser fan(s).; [W]; Default: 250.0; Range: >= 0.0"""
    condenser_fan_power_function_of_temperature_curve_name: str | None
    condenser_type: Literal["", "AirCooled", "EvaporativelyCooled", "WaterCooled"] | None
    """Applicable only when Heat Rejection Location is Outdoors.; Default: AirCooled"""
    water_cooled_condenser_inlet_node_name: str | None
    water_cooled_condenser_outlet_node_name: str | None
    water_cooled_loop_flow_type: Literal["", "ConstantFlow", "VariableFlow"] | None
    """Applicable only when Condenser Type is WaterCooled.; Default: VariableFlow"""
    water_cooled_condenser_outlet_temperature_schedule_name: str | None
    """Applicable only when loop Flow type is VariableFlow."""
    water_cooled_condenser_design_flow_rate: float | None
    """Applicable only when loop flow type is ConstantFlow.; [m3/s] (gal/min); Range: > 0.0"""
    water_cooled_condenser_maximum_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    water_cooled_condenser_maximum_water_outlet_temperature: float | None
    """[C]; Default: 55.0; Range: >= 10.0, <= 60.0"""
    water_cooled_condenser_minimum_water_inlet_temperature: float | None
    """[C]; Default: 10.0; Range: >= 10.0, <= 30.0"""
    evaporative_condenser_availability_schedule_name: str | None
    """This field is only used for Condenser Type = EvaporativelyCooled. Schedule values greater than 0 indicate that evapor..."""
    evaporative_condenser_effectiveness: float | None
    """Applicable only for Condenser Type = EvaporativlyCooled.; [dimensionless]; Default: 0.9; Range: >= 0.0, <= 1.0"""
    evaporative_condenser_air_flow_rate: float | Literal["", "Autocalculate"] | None
    """Applicable only for Condenser Type = EvaporativelyCooled. Used to calculate evaporative condenser water use.; [m3/s]; Default: Autocalculate"""
    basin_heater_capacity: float | None
    """This field is only used for Condenser Type = EvaporativelyCooled and for periods when the evaporatively cooled conden...; [W/K]; Default: 200.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature at which the basin heater turns on.; [C]; Default: 2.0; Range: >= 2.0"""
    design_evaporative_condenser_water_pump_power: float | Literal["", "Autocalculate"] | None
    """Design recirc water pump power for Condenser Type = EvaporativelyCooled. Applicable only for Condenser Type = Evapora...; [W]; Default: 1000.0"""
    evaporative_water_supply_tank_name: str | None
    """If blank, water supply is from Mains. Applicable only for Condenser Type = EvaporativelyCooled."""
    condenser_air_inlet_node_name: str | None
    """Applicable only when Heat Rejection Location is Outdoors and Condenser Type is not WaterCooled; otherwise, leave fiel..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    refrigeration_case_name_or_walkin_name_or_caseandwalkinlist_name: str | None
    """Enter the name of a Refrigeration:Case or Refrigeration:Walkin or Refrigeration:CaseAndWalkinList object."""
    heat_rejection_zone_name: str | None
    """This must be a controlled zone and appear in a ZoneHVAC:EquipmentConnections object. Required only if walk-in[s] are ..."""

class RefrigerationCaseAndWalkInList(IDFObject):
    """Provides a list of all the refrigerated cases, walk in coolers, or air chillers cooled by a single refrigeration syst..."""

    case_or_walkin_name: str | None

class RefrigerationCondenserAirCooled(IDFObject):
    """Air cooled condenser for a refrigeration system (Refrigeration:System)."""

    rated_effective_total_heat_rejection_rate_curve_name: str | None
    """Rating as per ARI 460 Be sure the rating corresponds to the correct refrigerant HeatRejection(W)=C1 +C2(Condensing Te..."""
    rated_subcooling_temperature_difference: float | None
    """must correspond to rating given for total heat rejection effect; [deltaC]; Default: 0.0; Range: >= 0.0"""
    condenser_fan_speed_control_type: Literal["", "Fixed", "FixedLinear", "TwoSpeed", "VariableSpeed"] | None
    """Default: Fixed"""
    rated_fan_power: float | None
    """Power for condenser fan(s) corresponding to rated total heat rejection effect.; [W]; Default: 250.0; Range: >= 0.0"""
    minimum_fan_air_flow_ratio: float | None
    """Minimum air flow fraction through condenser fan; [dimensionless]; Default: 0.2; Range: >= 0.0"""
    air_inlet_node_name_or_zone_name: str | None
    """If field is left blank, then the model assumes that the inlet air conditions are the outdoor air conditions for the c..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    condenser_refrigerant_operating_charge_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    condensate_receiver_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    condensate_piping_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""

class RefrigerationCondenserEvaporativeCooled(IDFObject):
    """Evaporative-cooled condenser for a refrigeration system (Refrigeration:System)."""

    rated_effective_total_heat_rejection_rate: float | None
    """Rating as per ARI 490 Be sure the rating corresponds to the correct refrigerant; [W]; Range: >= 0.0"""
    rated_subcooling_temperature_difference: float | None
    """must correspond to rating given for total heat rejection effect; [deltaC]; Default: 0.0; Range: >= 0.0"""
    fan_speed_control_type: Literal["", "Fixed", "FixedLinear", "TwoSpeed", "VariableSpeed"] | None
    """Default: Fixed"""
    rated_fan_power: float | None
    """Power for condenser fan(s) corresponding to rated total heat rejection effect.; [W]; Range: >= 0.0"""
    minimum_fan_air_flow_ratio: float | None
    """Minimum air flow fraction through condenser fan; [dimensionless]; Default: 0.2; Range: >= 0.0"""
    approach_temperature_constant_term: float | None
    """A1 in delta T = A1 + A2(hrcf) + A3/(hrcf) + A4(Twb); [C]; Default: 6.63; Range: >= 0.0, <= 20.0"""
    approach_temperature_coefficient_2: float | None
    """A2 in delta T = A1 + A2(hrcf) +A3/(hrcf) +A4(Twb); [C]; Default: 0.468; Range: >= 0.0, <= 20.0"""
    approach_temperature_coefficient_3: float | None
    """A3 in delta T = A1 + A2(hrcf) +A3/(hrcf) +A4(Twb); [C]; Default: 17.93; Range: >= 0.0, <= 30.0"""
    approach_temperature_coefficient_4: float | None
    """A4 in deltaT=A1 + A2(hrcf) +A3/(hrcf) +A4(Twb); [dimensionless]; Default: -0.322; Range: >= -20.0, <= 20.0"""
    minimum_capacity_factor: float | None
    """taken from manufacturer's Heat Rejection Capacity Factor Table; [dimensionless]; Default: 0.5"""
    maximum_capacity_factor: float | None
    """taken from manufacturer's Heat Rejection Capacity Factor Table; [dimensionless]; Default: 5.0"""
    air_inlet_node_name: str | None
    """If field is left blank, then the model assumes that the inlet air conditions are the outdoor air conditions for the c..."""
    rated_air_flow_rate: float | Literal["", "Autocalculate"] | None
    """Used to calculate evaporative condenser water use and fan energy use.; [m3/s]; Default: Autocalculate"""
    basin_heater_capacity: float | None
    """This field is only used for periods when the evap condenser is available (field Evaporative Condenser Availability Sc...; [W/K]; Default: 200.0; Range: >= 0.0"""
    basin_heater_setpoint_temperature: float | None
    """Enter the outdoor dry-bulb temperature at which the basin heater turns on.; [C]; Default: 2.0; Range: >= 2.0"""
    rated_water_pump_power: float | Literal["", "Autocalculate"] | None
    """Design recirculating water pump power.; [W]; Default: 1000.0"""
    evaporative_water_supply_tank_name: str | None
    """If blank, water supply is from Mains."""
    evaporative_condenser_availability_schedule_name: str | None
    """Schedule values greater than 0 indicate that evaporative cooling of the condenser is available. This schedule allows ..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    condenser_refrigerant_operating_charge_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    condensate_receiver_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    condensate_piping_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""

class RefrigerationCondenserWaterCooled(IDFObject):
    """Water cooled condenser for a refrigeration system (Refrigeration:System)."""

    rated_effective_total_heat_rejection_rate: float | None
    """Rating as per ARI 450 Be sure the rating corresponds to the correct refrigerant not used in calculations, only for id...; [W]; Range: > 0.0"""
    rated_condensing_temperature: float | None
    """must correspond to rating given for total heat rejection effect; [C]; Range: > 0.0"""
    rated_subcooling_temperature_difference: float | None
    """must correspond to rating given for total heat rejection effect; [deltaC]; Default: 0.0; Range: >= 0.0"""
    rated_water_inlet_temperature: float | None
    """must correspond to rating given for total heat rejection effect; [C]; Range: > 0.0"""
    water_inlet_node_name: str | None
    water_outlet_node_name: str | None
    water_cooled_loop_flow_type: Literal["", "ConstantFlow", "VariableFlow"] | None
    """Default: VariableFlow"""
    water_outlet_temperature_schedule_name: str | None
    """Applicable only when loop flow type is Variable Flow."""
    water_design_flow_rate: float | None
    """note required units must be converted from L/s as specified in ARI 450-2007 Applicable only when loop flow type is Co...; [m3/s] (gal/min); Range: > 0.0"""
    water_maximum_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    water_maximum_water_outlet_temperature: float | None
    """[C]; Default: 55.0; Range: >= 10.0, <= 60.0"""
    water_minimum_water_inlet_temperature: float | None
    """related to the minimum allowed refrigeration system condensing temperature; [C]; Default: 10.0; Range: >= 10.0, <= 30.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    condenser_refrigerant_operating_charge_inventory: float | None
    """optional input; [kg]"""
    condensate_receiver_refrigerant_inventory: float | None
    """optional input; [kg]"""
    condensate_piping_refrigerant_inventory: float | None
    """optional input; [kg]"""

class RefrigerationCondenserCascade(IDFObject):
    """Cascade condenser for a refrigeration system (Refrigeration:System). The cascade condenser is unlike the other conden..."""

    rated_condensing_temperature: float | None
    """This is the condensing temperature for the lower temperature secondary loop; [C]"""
    rated_approach_temperature_difference: float | None
    """This is the difference between the condensing and evaporating temperatures; [deltaC]; Default: 3.0; Range: > 0.0"""
    rated_effective_total_heat_rejection_rate: float | None
    """used for identification and rough system size error checking; [W]; Range: > 0.0"""
    condensing_temperature_control_type: Literal["", "Fixed", "Float"] | None
    """Fixed keeps condensing temperature constant Float sets the condensing temperature according to the other loads on the...; Default: Fixed"""
    condenser_refrigerant_operating_charge_inventory: float | None
    """optional input; [kg]"""
    condensate_receiver_refrigerant_inventory: float | None
    """optional input; [kg]"""
    condensate_piping_refrigerant_inventory: float | None
    """optional input; [kg]"""

class RefrigerationGasCoolerAirCooled(IDFObject):
    """The transcritical refrigeration system requires a single gas cooler to reject the system heat."""

    rated_total_heat_rejection_rate_curve_name: str | None
    """Be sure the rating corresponds to the correct refrigerant (R744) HeatRejection(W)=C1 +C2(Gas Cooler Outlet Temp - Ent..."""
    gas_cooler_fan_speed_control_type: Literal["", "Fixed", "FixedLinear", "TwoSpeed", "VariableSpeed"] | None
    """Default: Fixed"""
    rated_fan_power: float | None
    """Power for gas cooler fan(s) corresponding to rated total heat rejection effect.; [W]; Default: 5000.0; Range: >= 0.0"""
    minimum_fan_air_flow_ratio: float | None
    """Minimum air flow fraction through gas cooler fan; [dimensionless]; Default: 0.2; Range: >= 0.0"""
    transition_temperature: float | None
    """Temperature at which system transitions between subcritical and transcritical operation.; [C]; Default: 27.0"""
    transcritical_approach_temperature: float | None
    """Temperature difference between the CO2 exiting the gas cooler and the air entering the gas cooler during transcritica...; [deltaC]; Default: 3.0"""
    subcritical_temperature_difference: float | None
    """Temperature difference between the saturated condensing temperature and the air temperature during subcritical operat...; [deltaC]; Default: 10.0"""
    minimum_condensing_temperature: float | None
    """Minimum saturated condensing temperature during subcritical operation.; [C]; Default: 10.0"""
    air_inlet_node_name: str | None
    """If field is left blank, then the model assumes that the inlet air conditions are the outdoor air conditions for the c..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    gas_cooler_refrigerant_operating_charge_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    gas_cooler_receiver_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""
    gas_cooler_outlet_piping_refrigerant_inventory: float | None
    """optional input; [kg]; Default: 0.0"""

class RefrigerationTransferLoadList(IDFObject):
    """A refrigeration system may provide cooling to other, secondary, systems through either a secondary loop or a cascade ..."""

    cascade_condenser_name_or_secondary_system_name: str | None

class RefrigerationSubcooler(IDFObject):
    """Two types of subcoolers are modeled by the detailed refrigeration system. The liquid suction heat exchanger uses cool..."""

    subcooler_type: Literal["", "LiquidSuction", "Mechanical"] | None
    """plan to add ambient subcoolers at future time; Default: LiquidSuction"""
    liquid_suction_design_subcooling_temperature_difference: float | None
    """Applicable only and required for liquid suction heat exchangers design liquid suction subcooling; [deltaC]"""
    design_liquid_inlet_temperature: float | None
    """design inlet temperature on liquid side Applicable only and required for liquid suction heat exchangers (LSHX); [C]"""
    design_vapor_inlet_temperature: float | None
    """design inlet temperature on vapor side Applicable only and required for liquid suction heat exchangers (LSHX) Design ...; [C]"""
    capacity_providing_system: str | None
    """Name of the Detailed Refrigeration System providing cooling capacity Applicable only and required for mechanical subc..."""
    outlet_control_temperature: float | None
    """Control Temperature Out for subcooled liquid Applicable only and required for mechanical subcoolers; [C]"""

class RefrigerationCompressor(IDFObject):
    """Refrigeration system compressor. Data is available for many compressors in the RefrigerationCompressor.idf dataset"""

    refrigeration_compressor_power_curve_name: str | None
    """the input order for the Curve:Bicubic does not match the ARI 540-2004 Eq. 1 coefficient order N1 is ARI_C1, N2 is ARI..."""
    refrigeration_compressor_capacity_curve_name: str | None
    """the input order for the Curve:Bicubic does not match the ARI 540-2004 Eq. 1 coefficient order N1 is ARI_C1, N2 is ARI..."""
    rated_superheat: float | None
    """Use this input field OR the next, not both This is used if the compressor rating is based upon degrees of superheat; [deltaC]"""
    rated_return_gas_temperature: float | None
    """Use this input field OR the previous, not both This is used if the compressor rating is based upon rated return gas t...; [C]"""
    rated_liquid_temperature: float | None
    """Use this input field OR the next, not both This is used if the compressor rating is based upon rated liquid temperatu...; [C]"""
    rated_subcooling: float | None
    """Use this input field OR the previous, not both This is used if the compressor rating is based upon degrees of subcooling; [deltaC]"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    mode_of_operation: Literal["", "Subcritical", "Transcritical"] | None
    """Default: Subcritical"""
    transcritical_compressor_power_curve_name: str | None
    transcritical_compressor_capacity_curve_name: str | None

class RefrigerationCompressorList(IDFObject):
    """List of all the compressors included within a single refrigeration system (Refrigeration:System). Each list must cont..."""

    refrigeration_compressor_name: str | None

class RefrigerationSystem(IDFObject):
    """Simulates the performance of a supermarket refrigeration system when used along with other objects to define the refr..."""

    refrigerated_case_or_walkin_or_caseandwalkinlist_name: str | None
    """Enter the name of a Refrigeration:Case or Refrigeration:WalkIn object. If there is more than one refrigerated case or..."""
    refrigeration_transfer_load_or_transferload_list_name: str | None
    """Enter the name of a Refrigeration:SecondarySystem object OR a Refrigeration:Condenser:Cascade object OR, a Refrigerat..."""
    refrigeration_condenser_name: str | None
    compressor_or_compressorlist_name: str | None
    minimum_condensing_temperature: float | None
    """related to the proper operation of the thermal expansion valves and compressors; [C]"""
    refrigeration_system_working_fluid_type: str | None
    """Fluid property data for the refrigerant must be entered. The fluid property data, including the objects: FluidPropert..."""
    suction_temperature_control_type: Literal["", "ConstantSuctionTemperature", "FloatSuctionTemperature"] | None
    """Default: ConstantSuctionTemperature"""
    mechanical_subcooler_name: str | None
    """Optional Field Recipient of refrigeration capacity, that is receives cool liquid from another refrigeration system to..."""
    liquid_suction_heat_exchanger_subcooler_name: str | None
    """Optional Field Liquid Suction Heat Exchanger Name, or leave blank"""
    sum_ua_suction_piping: float | None
    """Use only if you want to include suction piping heat gain in refrigeration load; [W/K]; Default: 0.0"""
    suction_piping_zone_name: str | None
    """This will be used to determine the temperature used for distribution piping heat gain and the pipe heat gains as cool..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    number_of_compressor_stages: Literal[1, 2, ""] | None
    """Default: 1.0"""
    intercooler_type: Literal["", "Flash Intercooler", "None", "Shell-and-Coil Intercooler"] | None
    """Default: None"""
    shell_and_coil_intercooler_effectiveness: float | None
    """Default: 0.8"""
    high_stage_compressor_or_compressorlist_name: str | None

class RefrigerationTranscriticalSystem(IDFObject):
    """Detailed transcritical carbon dioxide (CO2) booster refrigeration systems used in supermarkets. The object allows for..."""

    system_type: Literal["SingleStage", "TwoStage"] | None
    medium_temperature_refrigerated_case_or_walkin_or_caseandwalkinlist_name: str | None
    """Enter the name of a Refrigeration:Case or Refrigeration:WalkIn object. If there is more than one refrigerated case or..."""
    low_temperature_refrigerated_case_or_walkin_or_caseandwalkinlist_name: str | None
    """Enter the name of a Refrigeration:Case or Refrigeration:WalkIn object. If there is more than one refrigerated case or..."""
    refrigeration_gas_cooler_name: str | None
    high_pressure_compressor_or_compressorlist_name: str | None
    low_pressure_compressor_or_compressorlist_name: str | None
    receiver_pressure: float | None
    """[Pa]; Default: 4000000.0"""
    subcooler_effectiveness: float | None
    """Default: 0.4"""
    refrigeration_system_working_fluid_type: str | None
    """Fluid property data for the refrigerant must be entered. The fluid property data, including the objects: FluidPropert..."""
    sum_ua_suction_piping_for_medium_temperature_loads: float | None
    """Use only if you want to include suction piping heat gain in refrigeration load; [W/K]; Default: 0.0"""
    medium_temperature_suction_piping_zone_name: str | None
    """This will be used to determine the temperature used for distribution piping heat gain and the pipe heat gains as cool..."""
    sum_ua_suction_piping_for_low_temperature_loads: float | None
    """Use only if you want to include suction piping heat gain in refrigeration load; [W/K]; Default: 0.0"""
    low_temperature_suction_piping_zone_name: str | None
    """This will be used to determine the temperature used for distribution piping heat gain and the pipe heat gains as cool..."""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class RefrigerationSecondarySystem(IDFObject):
    """Works in conjunction with refrigerated cases and walkins to simulate the performance of a secondary loop supermarket ..."""

    refrigerated_case_or_walkin_or_caseandwalkinlist_name: str | None
    """Enter the name of a Refrigeration:Case or Refrigeration:WalkIn object. If there is more than one refrigerated case or..."""
    circulating_fluid_type: Literal["FluidAlwaysLiquid", "FluidPhaseChange"] | None
    """If 'FluidAlwaysLiquid' is selected, the fluid properties must be input using the objects: FluidProperties:Name, Fluid..."""
    circulating_fluid_name: str | None
    """This must correspond to a name in the FluidProperties:Name object."""
    evaporator_capacity: float | None
    """For 'FluidAlwaysLiquid', at least one of the two, Evaporator Capacity OR Evaporator Flow Rate for Secondary Fluid, is...; [W]; Range: >= 0.0"""
    evaporator_flow_rate_for_secondary_fluid: float | None
    """For 'FluidAlwaysLiquid', at least one of the two, Evaporator Capacity OR Evaporator Flow Rate for Secondary Fluid, is...; [m3/s] (gal/min); Range: >= 0.0"""
    evaporator_evaporating_temperature: float | None
    """This is the evaporating temperature in the heat exchanger used to chill or condense the secondary loop circulating fl...; [C]"""
    evaporator_approach_temperature_difference: float | None
    """For 'FluidAlwaysLiquid', this is the rated difference between the temperature of the circulating fluid leaving the he...; [deltaC]"""
    evaporator_range_temperature_difference: float | None
    """For 'FluidAlwaysLiquid', this is the rated difference between the temperature of the circulating fluid entering the h...; [deltaC]"""
    number_of_pumps_in_loop: int | None
    """Default: 1"""
    total_pump_flow_rate: float | None
    """For 'FluidAlwaysLiquid',if not input, Evaporator Flow Rate for Secondary Fluid will be used. For 'FluidPhaseChange', ...; [m3/s] (gal/min); Range: >= 0.0"""
    total_pump_power: float | None
    """Either the Total Pump Power or the Total Pump Head is required.; [W]; Range: >= 0.0"""
    total_pump_head: float | None
    """Either the Total Pump Power or the Total Pump Head is required.; [Pa]; Range: >= 0.0"""
    phasechange_circulating_rate: float | None
    """This is the total mass flow at the pump divided by the gaseous mass flow leaving the refrigeration load.; [dimensionless]; Default: 2.5; Range: >= 1.0"""
    pump_drive_type: Literal["", "Constant", "Variable"] | None
    """Default: Constant"""
    variable_speed_pump_cubic_curve_name: str | None
    """Variable Speed Pump Curve Name is applicable to variable speed pumps only."""
    pump_motor_heat_to_fluid: float | None
    """This is the portion of the pump motor heat added to secondary circulating fluid and is equal to the motor efficiency ...; [dimensionless]; Default: 0.85; Range: >= 0.5, <= 1.0"""
    sum_ua_distribution_piping: float | None
    """Use only if you want to include distribution piping heat gain in refrigeration load.; [W/K]; Default: 0.0"""
    distribution_piping_zone_name: str | None
    """This will be used to determine the temperature used for distribution piping heat gain. The pipe heat gains are also c..."""
    sum_ua_receiver_separator_shell: float | None
    """Use only if you want to include Receiver/Separator Shell heat gain in refrigeration load.; [W/K]; Default: 0.0"""
    receiver_separator_zone_name: str | None
    """This will be used to determine the temperature used for Receiver/Separator Shell heat gain. The shell heat gains are ..."""
    evaporator_refrigerant_inventory: float | None
    """This value refers to the refrigerant circulating within the primary system providing cooling to the chiller for the s...; [kg]; Default: 0.0"""
    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""

class RefrigerationWalkIn(IDFObject):
    """Works in conjunction with a compressor rack, a refrigeration system, or a refrigeration secondary system to simulate ..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    rated_coil_cooling_capacity: float | None
    """[W]"""
    operating_temperature: float | None
    """[C]; Range: < 20.0"""
    rated_cooling_source_temperature: float | None
    """If DXEvaporator, use evaporating temperature (saturated suction temperature) If BrineCoil, use Brine entering tempera...; [C]; Range: >= -70.0, <= 40.0"""
    rated_total_heating_power: float | None
    """Include total for all anti-sweat, door, drip-pan, and floor heater power Do not include defrost heater power; [W]"""
    heating_power_schedule_name: str | None
    """Values will be used to multiply the total heating power Values in the schedule should be between 0.0 and 1.0 For exam..."""
    rated_cooling_coil_fan_power: float | None
    """[W]; Default: 375.0; Range: >= 0.0"""
    rated_circulation_fan_power: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    rated_total_lighting_power: float | None
    """Enter the total (display + task) installed lighting power.; [W]"""
    lighting_schedule_name: str | None
    """The schedule should contain values between 0 and 1 Defaults to always on if schedule name left blank."""
    defrost_type: Literal["", "Electric", "HotFluid", "None", "OffCycle"] | None
    """HotFluid includes either hot gas defrost for a DX system or Hot Brine defrost if this walk in is cooled by brine from...; Default: Electric"""
    defrost_control_type: Literal["", "TemperatureTermination", "TimeSchedule"] | None
    """Default: TimeSchedule"""
    defrost_schedule_name: str | None
    """The schedule values should be 0 (off) or 1 (on)"""
    defrost_drip_down_schedule_name: str | None
    """The schedule values should be 0 (off) or 1 (on) The start time for each defrost period in this drip-down schedule sho..."""
    defrost_power: float | None
    """needed for all defrost types except none and offcycle; [W]; Range: >= 0.0"""
    temperature_termination_defrost_fraction_to_ice: float | None
    """This is the portion of the defrost energy that is available to melt frost Needed only for defrost control type Temper...; [dimensionless]; Range: > 0.0, <= 1.0"""
    restocking_schedule_name: str | None
    """Schedule values should be in units of Watts Leave this field blank if no restocking is to be modeled"""
    average_refrigerant_charge_inventory: float | None
    """This value is only used if the Cooling Source Type is DXEvaporator; [kg]; Default: 0.0"""
    insulated_floor_surface_area: float | None
    """floor area of walk-in cooler; [m2]; Range: > 0.0"""
    insulated_floor_u_value: float | None
    """The default value corresponds to R18 [ft2-F-hr/Btu] To convert other IP R-values to U, divide 5.678 by the R-value So...; [W/m2-K]; Default: 0.3154; Range: > 0.0"""
    zone_name: str | None
    total_insulated_surface_area_facing_zone: float | None
    insulated_surface_u_value_facing_zone: float | None
    area_of_glass_reach_in_doors_facing_zone: float | None
    height_of_glass_reach_in_doors_facing_zone: float | None
    glass_reach_in_door_u_value_facing_zone: float | None
    glass_reach_in_door_opening_schedule_name_facing_zone: str | None
    area_of_stocking_doors_facing_zone: float | None
    height_of_stocking_doors_facing_zone: float | None
    stocking_door_u_value_facing_zone: float | None
    stocking_door_opening_schedule_name_facing_zone: str | None
    stocking_door_opening_protection_type_facing_zone: str | None

class RefrigerationAirChiller(IDFObject):
    """Works in conjunction with a refrigeration chiller set, compressor rack, a refrigeration system, or a refrigeration se..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    capacity_rating_type: (
        Literal[
            "CapacityTotalSpecificConditions",
            "EuropeanSC1NominalWet",
            "EuropeanSC1Standard",
            "EuropeanSC2NominalWet",
            "EuropeanSC2Standard",
            "EuropeanSC3NominalWet",
            "EuropeanSC3Standard",
            "EuropeanSC4NominalWet",
            "EuropeanSC4Standard",
            "EuropeanSC5NominalWet",
            "EuropeanSC5Standard",
            "FixedLinear",
            "UnitLoadFactorSensibleOnly",
        ]
        | None
    )
    """In each case, select the rating option that corresponds to the expected service conditions. For example, U.S. manufac..."""
    rated_unit_load_factor: float | None
    """The sensible cooling capacity in watts (W/C) at rated conditions. The value entered for this field must be greater th...; [W/K]"""
    rated_capacity: float | None
    """This value is only used if the Capacity Rating Type is NOT UnitLoadFactorSensibleOnly. For CapacityTotalSpecificCondi...; [W]"""
    rated_relative_humidity: float | None
    """This field is ONLY used if the Capacity Rating Type is CapacityTotalSpecificConditions and represents the relative hu...; [percent]; Default: 85.0; Range: <= 100.0"""
    rated_cooling_source_temperature: float | None
    """If DXEvaporator, use evaporating temperature (saturated suction temperature) If BrineCoil, use Brine entering tempera...; [C]; Range: >= -70.0, <= 40.0"""
    rated_temperature_difference_dt1: float | None
    """The rated difference between the air entering the refrigeration chiller and the cooling source temperature in degC.; [deltaC]; Range: >= 0.0, <= 20.0"""
    maximum_temperature_difference_between_inlet_air_and_evaporating_temperature: float | None
    """The maximum difference between the air entering the refrigeration chiller and the cooling source temperature in degC ...; [deltaC]; Range: >= 0.0, <= 25.0"""
    coil_material_correction_factor: float | None
    """This is the manufacturer's correction factor for coil material corresponding to rating; [dimensionless]; Default: 1.0"""
    refrigerant_correction_factor: float | None
    """This is the manufacturer's correction factor for refrigerant corresponding to rating; [dimensionless]; Default: 1.0"""
    capacity_correction_curve_type: Literal["European", "LinearSHR60", "QuadraticSHR", "TabularRHxDT1xTRoom"] | None
    """In each case, select the correction curve type that corresponds to the rating type. default LinearSHR60 unless Capaci..."""
    capacity_correction_curve_name: str | None
    """Should be blank for LinearSHR60 correction curve type"""
    shr60_correction_factor: float | None
    """only used when the capacity correction curve type is LinearSHR60; [dimensionless]; Default: 1.48; Range: <= 1.67"""
    rated_total_heating_power: float | None
    """Include total for all heater power Do not include defrost heater power; [W]"""
    heating_power_schedule_name: str | None
    """Values will be used to multiply the total heating power Values in the schedule should be between 0.0 and 1.0 Defaults..."""
    fan_speed_control_type: Literal["", "Fixed", "FixedLinear", "TwoSpeed", "VariableSpeed"] | None
    """Default: Fixed"""
    rated_fan_power: float | None
    """[W]; Default: 375.0; Range: >= 0.0"""
    rated_air_flow: float | None
    """[m3/s]"""
    minimum_fan_air_flow_ratio: float | None
    """Minimum air flow fraction through fan; [dimensionless]; Default: 0.2; Range: >= 0.0"""
    defrost_type: Literal["", "Electric", "HotFluid", "None", "OffCycle"] | None
    """HotFluid includes either hot gas defrost for a DX system or Hot Brine defrost if this walk in is cooled by brine from...; Default: Electric"""
    defrost_control_type: Literal["", "TemperatureTermination", "TimeSchedule"] | None
    """Default: TimeSchedule"""
    defrost_schedule_name: str | None
    """The schedule values should be 0 (off) or 1 (on)"""
    defrost_drip_down_schedule_name: str | None
    """The schedule values should be 0 (off) or 1 (on) The start time for each defrost period in this drip-down schedule sho..."""
    defrost_power: float | None
    """needed for all defrost types except none and offcycle; [W]; Range: >= 0.0"""
    temperature_termination_defrost_fraction_to_ice: float | None
    """This is the portion of the defrost energy that is available to melt frost Needed only for defrost control type Temper...; [dimensionless]; Range: > 0.0, <= 1.0"""
    vertical_location: Literal["", "Ceiling", "Floor", "Middle"] | None
    """Default: Middle"""
    average_refrigerant_charge_inventory: float | None
    """This value is only used if the Cooling Source Type is DXEvaporator; [kg]; Default: 0.0"""

class ZoneHVACRefrigerationChillerSet(IDFObject):
    """Works in conjunction with one or multiple air chillers, compressor racks, refrigeration systems, or refrigeration sec..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """This must be a controlled zone and appear in a ZoneHVAC:EquipmentConnections object."""
    air_inlet_node_name: str | None
    """Not used - reserved for future use Name of the zone exhaust node (see Node) from which the refrigeration chiller draw..."""
    air_outlet_node_name: str | None
    """Not used - reserved for future use The name of the node where the chiller coil sends its outlet air, which must be on..."""
    air_chiller_name: str | None

class DemandManagerAssignmentList(IDFObject):
    """A high level control that makes demand limiting decisions based on a list of possible demand limiting strategies."""

    meter_name: str | None
    demand_limit_schedule_name: str | None
    demand_limit_safety_fraction: float | None
    """Range: >= 0.0"""
    billing_period_schedule_name: str | None
    """This field should reference the same schedule as the month schedule name field of the UtilityCost:Tariff object, if u..."""
    peak_period_schedule_name: str | None
    """This field should reference the same schedule as the period schedule name field of the UtilityCost:Tariff object, if ..."""
    demand_window_length: int | None
    """[minutes]; Range: > 0"""
    demand_manager_priority: Literal["All", "Sequential"] | None
    demandmanager_object_type: str | None
    demandmanager_name: str | None

class DemandManagerExteriorLights(IDFObject):
    """used for demand limiting Exterior:Lights objects."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    limit_control: Literal["Fixed", "Off"] | None
    minimum_limit_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: > 0"""
    maximum_limit_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    limit_step_change: float | None
    """Not yet implemented"""
    selection_control: Literal["All", "RotateMany", "RotateOne"] | None
    rotation_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: >= 0"""
    exterior_lights_name: str | None

class DemandManagerLights(IDFObject):
    """used for demand limiting Lights objects."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    limit_control: Literal["Fixed", "Off"] | None
    minimum_limit_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: > 0"""
    maximum_limit_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    limit_step_change: float | None
    """Not yet implemented"""
    selection_control: Literal["All", "RotateMany", "RotateOne"] | None
    rotation_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: >= 0"""
    lights_name: str | None

class DemandManagerElectricEquipment(IDFObject):
    """used for demand limiting ElectricEquipment objects."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    limit_control: Literal["Fixed", "Off"] | None
    minimum_limit_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: > 0"""
    maximum_limit_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    limit_step_change: float | None
    """Not yet implemented"""
    selection_control: Literal["All", "RotateMany", "RotateOne"] | None
    rotation_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: >= 0"""
    electric_equipment_name: str | None

class DemandManagerThermostats(IDFObject):
    """used for demand limiting ZoneControl:Thermostat objects."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    reset_control: Literal["Fixed", "Off"] | None
    minimum_reset_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: > 0"""
    maximum_heating_setpoint_reset: float | None
    """[C]"""
    maximum_cooling_setpoint_reset: float | None
    """[C]"""
    reset_step_change: float | None
    """Not yet implemented"""
    selection_control: Literal["All", "RotateMany", "RotateOne"] | None
    rotation_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: >= 0"""
    thermostat_name: str | None

class DemandManagerVentilation(IDFObject):
    """used for demand limiting Controller:OutdoorAir objects."""

    availability_schedule_name: str | None
    """Availability schedule name for this demand manager. Schedule value > 0 means the demand manager is available. If this..."""
    limit_control: Literal["FixedRate", "Off", "ReductionRatio"] | None
    minimum_limit_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: > 0"""
    fixed_rate: float | None
    """Used in case when Limit strategy is set to FixedRate; [m3/s]; Range: >= 0.0"""
    reduction_ratio: float | None
    """Used in case when Limit Control is set to ReductionRatio; Range: >= 0.0, <= 1.0"""
    limit_step_change: float | None
    """Not yet implemented"""
    selection_control: Literal["", "All", "RotateMany", "RotateOne"] | None
    """Default: All"""
    rotation_duration: int | None
    """If blank, duration defaults to the timestep; [minutes]; Range: >= 0"""
    controller_outdoor_air_name: str | None

class GeneratorInternalCombustionEngine(IDFObject):
    """This generator model is the empirical model from the Building Loads and System Thermodynamics (BLAST) program. Engine..."""

    rated_power_output: float | None
    """[W]"""
    electric_circuit_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0, <= 1.0"""
    maximum_part_load_ratio: float | None
    """Range: > 0.0, <= 1.0"""
    optimum_part_load_ratio: float | None
    shaft_power_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    jacket_heat_recovery_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    lube_heat_recovery_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    total_exhaust_energy_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    exhaust_temperature_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    coefficient_1_of_u_factor_times_area_curve: float | None
    """curve = C1 * Generator Rated Power Output**C2"""
    coefficient_2_of_u_factor_times_area_curve: float | None
    """curve = C1 * Generator Rated Power Output**C2 typical value .9; Range: <= 2.0"""
    maximum_exhaust_flow_per_unit_of_power_output: float | None
    """[(kg/s)/W]"""
    design_minimum_exhaust_temperature: float | None
    """[C]"""
    fuel_higher_heating_value: float | None
    """[kJ/kg]"""
    design_heat_recovery_water_flow_rate: float | None
    """if non-zero, then inlet, outlet nodes must be entered.; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    fuel_type: (
        Literal[
            "", "Diesel", "FuelOilNo1", "FuelOilNo2", "Gasoline", "NaturalGas", "OtherFuel1", "OtherFuel2", "Propane"
        ]
        | None
    )
    """Default: Diesel"""
    heat_recovery_maximum_temperature: float | None
    """[C]; Default: 80.0; Range: >= 0.0, <= 100.0"""

class GeneratorCombustionTurbine(IDFObject):
    """This generator model is the empirical model from the Building Loads and System Thermodynamics (BLAST) program. Genera..."""

    rated_power_output: float | None
    """[W]"""
    electric_circuit_node_name: str | None
    minimum_part_load_ratio: float | None
    """Range: >= 0.0, <= 1.0"""
    maximum_part_load_ratio: float | None
    """Range: > 0.0, <= 1.0"""
    optimum_part_load_ratio: float | None
    part_load_based_fuel_input_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output this curve is multiplied to the Temp..."""
    temperature_based_fuel_input_curve_name: str | None
    """curve = a + b*AT + c*AT**2 AT = Ambient Delta T this curve is multiplied to the Part Load Based Fuel Input Curve to d..."""
    exhaust_flow_curve_name: str | None
    """curve = a + b*AT + c*AT**2 AT = Ambient Delta T"""
    part_load_based_exhaust_temperature_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output this curve is multiplied to the Temp..."""
    temperature_based_exhaust_temperature_curve_name: str | None
    """curve = a + b*AT + c*AT**2 AT = Ambient Delta T this curve is multiplied to the Part Load Based Exhaust Temperature C..."""
    heat_recovery_lube_energy_curve_name: str | None
    """curve = a + b*PLR + c*PLR**2 PLR = Ratio of Generator Load to Rated Power Output"""
    coefficient_1_of_u_factor_times_area_curve: float | None
    """curve = C1 * Rated Power Output**C2"""
    coefficient_2_of_u_factor_times_area_curve: float | None
    """curve = C1 * Rated Power Output**C2 typical value .9; Range: <= 2.0"""
    maximum_exhaust_flow_per_unit_of_power_output: float | None
    """[(kg/s)/W]"""
    design_minimum_exhaust_temperature: float | None
    """[C]"""
    design_air_inlet_temperature: float | None
    """[C]"""
    fuel_higher_heating_value: float | None
    """[kJ/kg]"""
    design_heat_recovery_water_flow_rate: float | None
    """if non-zero, then inlet, outlet nodes must be entered.; [m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    heat_recovery_inlet_node_name: str | None
    heat_recovery_outlet_node_name: str | None
    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: NaturalGas"""
    heat_recovery_maximum_temperature: float | None
    """[C]; Default: 80.0; Range: >= 0.0, <= 100.0"""
    outdoor_air_inlet_node_name: str | None
    """Enter the name of an outdoor air node"""

class GeneratorMicroTurbine(IDFObject):
    """MicroTurbine generators are small combustion turbines (e.g., 25kW to 500kW). The model calculates electrical power ou..."""

    reference_electrical_power_output: float | None
    """[W]; Range: > 0.0"""
    minimum_full_load_electrical_power_output: float | None
    """[W]; Default: 0.0; Range: >= 0.0"""
    maximum_full_load_electrical_power_output: float | None
    """If left blank, Maximum Full Load Electrical Power Output will be set equal to the Reference Electrical Power Output.; [W]; Range: > 0.0"""
    reference_electrical_efficiency_using_lower_heating_value: float | None
    """Electric power output divided by fuel energy input (LHV basis) at reference conditions.; Range: > 0.0, <= 1.0"""
    reference_combustion_air_inlet_temperature: float | None
    """[C]; Default: 15.0"""
    reference_combustion_air_inlet_humidity_ratio: float | None
    """[kgWater/kgDryAir]; Default: 0.00638; Range: > 0.0"""
    reference_elevation: float | None
    """[m]; Default: 0.0; Range: >= -300.0"""
    electrical_power_function_of_temperature_and_elevation_curve_name: str | None
    """curve = a + b*T + c*T**2 + d*Elev + e*Elev**2 + f*T*Elev T = combustion air inlet temperature (C) Elev = elevation (m)"""
    electrical_efficiency_function_of_temperature_curve_name: str | None
    """Quadratic curve = a + b*T + c*T**2 Cubic curve = a + b*T + c*T**2 + d*T**3 T = combustion air inlet temperature (C)"""
    electrical_efficiency_function_of_part_load_ratio_curve_name: str | None
    """Quadratic curve = a + b*PLR + c*PLR**2 Cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = ratio of Generator Load to..."""
    fuel_type: (
        Literal[
            "",
            "Coal",
            "Diesel",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
        ]
        | None
    )
    """Default: NaturalGas"""
    fuel_higher_heating_value: float | None
    """[kJ/kg]; Default: 50000.0; Range: > 0.0"""
    fuel_lower_heating_value: float | None
    """[kJ/kg]; Default: 45450.0; Range: > 0.0"""
    standby_power: float | None
    """Electric power consumed when the generator is available but not being called by the Electric Load Center.; [W]; Default: 0.0; Range: >= 0.0"""
    ancillary_power: float | None
    """Electric power consumed by ancillary equipment (e.g., external fuel pressurization pump). Set to zero if Reference El...; [W]; Default: 0.0; Range: >= 0.0"""
    ancillary_power_function_of_fuel_input_curve_name: str | None
    """Quadratic curve = a + b*mdot + c*mdot**2 mdot = fuel mass flow rate (kg/s) If left blank, model assumes ancillary pow..."""
    heat_recovery_water_inlet_node_name: str | None
    heat_recovery_water_outlet_node_name: str | None
    reference_thermal_efficiency_using_lower_heat_value: float | None
    """Reference thermal efficiency (heat recovery to water) based on the Lower Heating Value (LHV) of the fuel.; Default: 0.0; Range: >= 0.0, <= 1.0"""
    reference_inlet_water_temperature: float | None
    """[C]"""
    heat_recovery_water_flow_operating_mode: Literal["", "InternalControl", "PlantControl"] | None
    """PlantControl means the heat recovery water flow rate is determined by the plant, but the user needs to supply a heat ...; Default: PlantControl"""
    reference_heat_recovery_water_flow_rate: float | None
    """[m3/s] (gal/min); Range: > 0.0"""
    heat_recovery_water_flow_rate_function_of_temperature_and_power_curve_name: str | None
    """curve = a + b*T + c*T**2 + d*Pnet + e*Pnet + f*T*Pnet T = heat recovery inlet water temperature Pnet = net power outp..."""
    thermal_efficiency_function_of_temperature_and_elevation_curve_name: str | None
    """Bicubic curve = a + b*T + c*T**2 + d*Elev + e*Elev**2 + f*T*Elev + g*T**3 + h*Elev**3 + i*T**2*Elev + j*T*Elev**2 Biq..."""
    heat_recovery_rate_function_of_part_load_ratio_curve_name: str | None
    """Quadratic curve = a + b*PLR + c*PLR**2 Cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = ratio of Generator Load to..."""
    heat_recovery_rate_function_of_inlet_water_temperature_curve_name: str | None
    """Quadratic curve = a + b*T + c*T**2 T = inlet water temperature (C) If field is left blank, model assumes this modifie..."""
    heat_recovery_rate_function_of_water_flow_rate_curve_name: str | None
    """Quadratic curve = a + b*Flow + c*Flow**2 Flow = flow rate of water through the heat exchanger (m3/s) If field is left..."""
    minimum_heat_recovery_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    maximum_heat_recovery_water_flow_rate: float | None
    """[m3/s] (gal/min); Default: 0.0; Range: >= 0.0"""
    maximum_heat_recovery_water_temperature: float | None
    """[C]"""
    combustion_air_inlet_node_name: str | None
    """Must be an outdoor air node."""
    combustion_air_outlet_node_name: str | None
    reference_exhaust_air_mass_flow_rate: float | None
    """[kg/s]; Range: > 0.0"""
    exhaust_air_flow_rate_function_of_temperature_curve_name: str | None
    """Quadratic curve = a + b*T + c*T**2 Cubic curve = a + b*T + c*T**2 + d*T**3 T = combustion air inlet temperature (C) I..."""
    exhaust_air_flow_rate_function_of_part_load_ratio_curve_name: str | None
    """Quadratic curve = a + b*PLR + c*PLR**2 Cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = ratio of Generator Load to..."""
    nominal_exhaust_air_outlet_temperature: float | None
    """Exhaust air outlet temperature at reference conditions."""
    exhaust_air_temperature_function_of_temperature_curve_name: str | None
    """Quadratic curve = a + b*T + c*T**2 Cubic curve = a + b*T + c*T**2 + d*T**3 T = combustion air inlet temperature (C) I..."""
    exhaust_air_temperature_function_of_part_load_ratio_curve_name: str | None
    """Quadratic curve = a + b*PLR + c*PLR**2 Cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 PLR = ratio of Generator Load to..."""

class GeneratorPhotovoltaic(IDFObject):
    """Describes an array of photovoltaic (PV) modules. A series of different PV arrays can be connected to a single electri..."""

    surface_name: str | None
    photovoltaic_performance_object_type: (
        Literal[
            "PhotovoltaicPerformance:EquivalentOne-Diode",
            "PhotovoltaicPerformance:Sandia",
            "PhotovoltaicPerformance:Simple",
        ]
        | None
    )
    module_performance_name: str | None
    """PV array modeling details"""
    heat_transfer_integration_mode: (
        Literal[
            "",
            "Decoupled",
            "DecoupledUllebergDynamic",
            "IntegratedExteriorVentedCavity",
            "IntegratedSurfaceOutsideFace",
            "IntegratedTranspiredCollector",
            "PhotovoltaicThermalSolarCollector",
        ]
        | None
    )
    """Default: Decoupled"""
    number_of_series_strings_in_parallel: float | None
    """number of series-wired strings of PV modules that are in parallel; [dimensionless]; Default: 1.0; Range: >= 1.0"""
    number_of_modules_in_series: float | None
    """Number of PV modules wired in series for each string.; [dimensionless]; Default: 1.0; Range: >= 1.0"""

class PhotovoltaicPerformanceSimple(IDFObject):
    """Describes a simple model of photovoltaics that may be useful for early phase design analysis. In this model the user ..."""

    fraction_of_surface_area_with_active_solar_cells: float | None
    """[dimensionless]; Range: >= 0.0, <= 1.0"""
    conversion_efficiency_input_mode: Literal["Fixed", "Scheduled"] | None
    value_for_cell_efficiency_if_fixed: float | None
    """Efficiency = (power generated [W])/(incident solar[W]); Range: >= 0.0, <= 1.0"""
    efficiency_schedule_name: str | None

class PhotovoltaicPerformanceEquivalentOneDiode(IDFObject):
    """Describes the performance characteristics of Photovoltaic (PV) modules to be modeled using an equivalent one-diode ci..."""

    cell_type: Literal["AmorphousSilicon", "CrystallineSilicon"] | None
    number_of_cells_in_series: int | None
    """[dimensionless]; Default: 36; Range: >= 0"""
    active_area: float | None
    """The total power output of the array is determined by the number of modules (see above). The Active Area is only used ...; [m2]; Default: 0.89; Range: >= 0.1"""
    transmittance_absorptance_product: float | None
    """[dimensionless]; Default: 0.95; Range: >= 0.0, <= 1.0"""
    semiconductor_bandgap: float | None
    """[eV]; Default: 1.12; Range: >= 0.0"""
    shunt_resistance: float | None
    """[ohms]; Default: 1000000.0; Range: >= 0.0"""
    short_circuit_current: float | None
    """[A]; Default: 6.5; Range: >= 0.0"""
    open_circuit_voltage: float | None
    """[V]; Default: 21.6; Range: >= 0.0"""
    reference_temperature: float | None
    """[C]; Default: 25.0; Range: >= 0.0"""
    reference_insolation: float | None
    """[W/m2]; Default: 1000.0; Range: >= 0.0"""
    module_current_at_maximum_power: float | None
    """Single module current at the maximum power point and reference conditions. Module Current, Module Voltage, Number of ...; [A]; Default: 5.9; Range: >= 0.0"""
    module_voltage_at_maximum_power: float | None
    """Single module voltage at the maximum power point and reference conditions. Module Current, Module Voltage, Number of ...; [V]; Default: 17.0; Range: >= 0.0"""
    temperature_coefficient_of_short_circuit_current: float | None
    """[A/K]; Default: 0.02"""
    temperature_coefficient_of_open_circuit_voltage: float | None
    """[V/K]; Default: -0.079"""
    nominal_operating_cell_temperature_test_ambient_temperature: float | None
    """[C]; Default: 20.0; Range: >= 0.0"""
    nominal_operating_cell_temperature_test_cell_temperature: float | None
    """[C]; Default: 40.0; Range: >= 0.0"""
    nominal_operating_cell_temperature_test_insolation: float | None
    """[W/m2]; Default: 800.0; Range: >= 0.0"""
    module_heat_loss_coefficient: float | None
    """[W/m2-K]; Default: 30.0; Range: >= 0.0"""
    total_heat_capacity: float | None
    """[J/m2-K]; Default: 50000.0; Range: >= 0.0"""

class PhotovoltaicPerformanceSandia(IDFObject):
    """Describes performance input data needed for specific makes and models of production PV panels using the empirical coe..."""

    active_area: float | None
    """(m2, single module); [m2]; Default: 1.0; Range: >= 0.0"""
    number_of_cells_in_series: int | None
    """[dimensionless]; Default: 1; Range: >= 1"""
    number_of_cells_in_parallel: int | None
    """[dimensionless]; Default: 1; Range: >= 1"""
    short_circuit_current: float | None
    """(Amps); [A]"""
    open_circuit_voltage: float | None
    """(Volts); [V]"""
    current_at_maximum_power_point: float | None
    """(Amps); [A]"""
    voltage_at_maximum_power_point: float | None
    """(Volts); [V]"""
    sandia_database_parameter_aisc: float | None
    """(1/degC); [1/K]"""
    sandia_database_parameter_aimp: float | None
    """(1/degC); [1/K]"""
    sandia_database_parameter_c0: float | None
    """[dimensionless]"""
    sandia_database_parameter_c1: float | None
    """[dimensionless]"""
    sandia_database_parameter_bvoc0: float | None
    """(Volts/degC); [V/K]"""
    sandia_database_parameter_mbvoc: float | None
    """(Volts/degC); [V/K]"""
    sandia_database_parameter_bvmp0: float | None
    """(Volts/degC); [V/K]"""
    sandia_database_parameter_mbvmp: float | None
    """(Volts/degC); [V/K]"""
    diode_factor: float | None
    """[dimensionless]"""
    sandia_database_parameter_c2: float | None
    """[dimensionless]"""
    sandia_database_parameter_c3: float | None
    """[dimensionless]"""
    sandia_database_parameter_a0: float | None
    """[dimensionless]"""
    sandia_database_parameter_a1: float | None
    """[dimensionless]"""
    sandia_database_parameter_a2: float | None
    """[dimensionless]"""
    sandia_database_parameter_a3: float | None
    """[dimensionless]"""
    sandia_database_parameter_a4: float | None
    """[dimensionless]"""
    sandia_database_parameter_b0: float | None
    """[dimensionless]"""
    sandia_database_parameter_b1: float | None
    """[dimensionless]"""
    sandia_database_parameter_b2: float | None
    """[dimensionless]"""
    sandia_database_parameter_b3: float | None
    """[dimensionless]"""
    sandia_database_parameter_b4: float | None
    """[dimensionless]"""
    sandia_database_parameter_b5: float | None
    """[dimensionless]"""
    sandia_database_parameter_delta_tc_: float | None
    """(deg C); [deltaC]"""
    sandia_database_parameter_fd: float | None
    """[dimensionless]"""
    sandia_database_parameter_a: float | None
    """[dimensionless]"""
    sandia_database_parameter_b: float | None
    """[dimensionless]"""
    sandia_database_parameter_c4: float | None
    """[dimensionless]"""
    sandia_database_parameter_c5: float | None
    """[dimensionless]"""
    sandia_database_parameter_ix0: float | None
    """(Amps)"""
    sandia_database_parameter_ixx0: float | None
    """(Amps)"""
    sandia_database_parameter_c6: float | None
    """[dimensionless]"""
    sandia_database_parameter_c7: float | None
    """(non-dimensional); [dimensionless]"""

class GeneratorPVWatts(IDFObject):
    """Describes a simple set of inputs for an array of photovoltaic (PV) modules as described in the PVWatts software. A se..."""

    pvwatts_version: Literal["5"] | None
    dc_system_capacity: float | None
    """Nameplate rated DC system capacity in watts; [W]; Range: > 0.0"""
    module_type: Literal["Premium", "Standard", "ThinFilm"] | None
    array_type: Literal["FixedOpenRack", "FixedRoofMounted", "OneAxis", "OneAxisBacktracking", "TwoAxis"] | None
    system_losses: float | None
    """Default: 0.14; Range: >= 0.0, <= 1.0"""
    array_geometry_type: Literal["", "Surface", "TiltAzimuth"] | None
    """TiltAzimuth - The tilt and azimuth angles are specified in the next two fields. An unshaded array is assumed. Surface...; Default: TiltAzimuth"""
    tilt_angle: float | None
    """The tilt angle is the angle from horizontal of the photovoltaic modules in the array.; [deg]; Default: 20.0; Range: >= 0.0, <= 90.0"""
    azimuth_angle: float | None
    """For a fixed array, the azimuth angle is the angle clockwise from true north describing the direction that the array f...; [deg]; Default: 180.0; Range: >= 0.0, < 360.0"""
    surface_name: str | None
    ground_coverage_ratio: float | None
    """Applies only to arrays with one-axis tracking and is the ratio of module surface area to area of the ground or roof o...; Default: 0.4; Range: >= 0.0, <= 1.0"""

class ElectricLoadCenterInverterPVWatts(IDFObject):
    """Electric power inverter to convert from direct current (DC) to alternating current (AC) in an electric load center th..."""

    dc_to_ac_size_ratio: float | None
    """Default: 1.1; Range: > 0.0"""
    inverter_efficiency: float | None
    """Default: 0.96; Range: > 0.0, <= 1.0"""

class GeneratorFuelCell(IDFObject):
    """This generator model is the FC model from IEA Annex 42"""

    power_module_name: str | None
    """Enter the name of a Generator:FuelCell:PowerModule object."""
    air_supply_name: str | None
    """Enter the name of a Generator:FuelCell:AirSupply object."""
    fuel_supply_name: str | None
    """Enter the name of a Generator:FuelSupply object."""
    water_supply_name: str | None
    """Enter the name of a Generator:FuelCell:WaterSupply object."""
    auxiliary_heater_name: str | None
    """Enter the name of a Generator:FuelCell:AuxiliaryHeater object."""
    heat_exchanger_name: str | None
    """Enter the name of a Generator:FuelCell:ExhaustGasToWaterHeatExchanger object."""
    electrical_storage_name: str | None
    """Enter the name of a Generator:FuelCell:ElectricalStorage object."""
    inverter_name: str | None
    """Enter the name of a Generator:FuelCell:Inverter object."""
    stack_cooler_name: str | None
    """Enter the name of a Generator:FuelCell:StackCooler object. optional, used for PEMFC"""

class GeneratorFuelCellPowerModule(IDFObject):
    """Describe the core power module subsystem of a fuel cell power generator. This includes the fuel cell stack, fuel refo..."""

    efficiency_curve_mode: Literal["Annex42", "Normalized"] | None
    efficiency_curve_name: str | None
    nominal_efficiency: float | None
    """This field is not used."""
    nominal_electrical_power: float | None
    """This field is not used; [W]"""
    number_of_stops_at_start_of_simulation: float | None
    """this is Nstops in SOFC model specification"""
    cycling_performance_degradation_coefficient: float | None
    """this is D in SOFC model specification"""
    number_of_run_hours_at_beginning_of_simulation: float | None
    """[hr]"""
    accumulated_run_time_degradation_coefficient: float | None
    """this is L in SOFC model specification"""
    run_time_degradation_initiation_time_threshold: float | None
    """[hr]"""
    power_up_transient_limit: float | None
    """Maximum rate of change in electrical output [power increasing]; [W/s]"""
    power_down_transient_limit: float | None
    """Maximum rate of change in electrical output [power decreasing] Enter positive value for rate of change; [W/s]"""
    start_up_time: float | None
    """Time from start up to normal operation; [s]"""
    start_up_fuel: float | None
    """[kmol]"""
    start_up_electricity_consumption: float | None
    """[J]"""
    start_up_electricity_produced: float | None
    """[J]"""
    shut_down_time: float | None
    """[s]"""
    shut_down_fuel: float | None
    """[kmol]"""
    shut_down_electricity_consumption: float | None
    """[J]"""
    ancillary_electricity_constant_term: float | None
    ancillary_electricity_linear_term: float | None
    skin_loss_calculation_mode: (
        Literal["ConstantRate", "QuadraticFunctionOfFuelRate", "UAForProcessGasTemperature"] | None
    )
    zone_name: str | None
    skin_loss_radiative_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constant_skin_loss_rate: float | None
    """[W]"""
    skin_loss_u_factor_times_area_term: float | None
    """[W/K]"""
    skin_loss_quadratic_curve_name: str | None
    """curve is function of fuel use rate"""
    dilution_air_flow_rate: float | None
    """[kmol/s]"""
    stack_heat_loss_to_dilution_air: float | None
    """[W]"""
    dilution_inlet_air_node_name: str | None
    dilution_outlet_air_node_name: str | None
    minimum_operating_point: float | None
    """[W]"""
    maximum_operating_point: float | None
    """[W]"""

class GeneratorFuelCellAirSupply(IDFObject):
    """Used to define details of the air supply subsystem for a fuel cell power generator."""

    air_inlet_node_name: str | None
    blower_power_curve_name: str | None
    blower_heat_loss_factor: float | None
    """Range: >= 0.0, <= 1.0"""
    air_supply_rate_calculation_mode: (
        Literal["AirRatiobyStoics", "QuadraticFunctionofElectricPower", "QuadraticFunctionofFuelRate"] | None
    )
    stoichiometric_ratio: float | None
    """This is the excess air 'stoics' the value entered is incremented by 1 in the model."""
    air_rate_function_of_electric_power_curve_name: str | None
    air_rate_air_temperature_coefficient: float | None
    air_rate_function_of_fuel_rate_curve_name: str | None
    air_intake_heat_recovery_mode: (
        Literal[
            "NoRecovery",
            "RecoverAuxiliaryBurner",
            "RecoverBurnerInverterStorage",
            "RecoverElectricalStorage",
            "RecoverInverter",
            "RecoverInverterandStorage",
        ]
        | None
    )
    air_supply_constituent_mode: Literal["AmbientAir", "UserDefinedConstituents"] | None
    number_of_userdefined_constituents: float | None
    """Range: <= 5.0"""
    constituent_name: str | None
    molar_fraction: float | None

class GeneratorFuelCellWaterSupply(IDFObject):
    """Used to provide details of the water supply subsystem for a fuel cell power generator. This water is used for steam r..."""

    reformer_water_flow_rate_function_of_fuel_rate_curve_name: str | None
    reformer_water_pump_power_function_of_fuel_rate_curve_name: str | None
    pump_heat_loss_factor: float | None
    water_temperature_modeling_mode: (
        Literal[
            "MainsWaterTemperature", "TemperatureFromAirNode", "TemperatureFromSchedule", "TemperatureFromWaterNode"
        ]
        | None
    )
    water_temperature_reference_node_name: str | None
    water_temperature_schedule_name: str | None

class GeneratorFuelCellAuxiliaryHeater(IDFObject):
    """Intended for modeling an auxiliary heater for a fuel cell power generator, however this portion of the model is not y..."""

    excess_air_ratio: float | None
    ancillary_power_constant_term: float | None
    ancillary_power_linear_term: float | None
    skin_loss_u_factor_times_area_value: float | None
    """[W/K]"""
    skin_loss_destination: Literal["AirInletForFuelCell", "SurroundingZone"] | None
    zone_name_to_receive_skin_losses: str | None
    heating_capacity_units: Literal["Watts", "kmol/s"] | None
    maximum_heating_capacity_in_watts: float | None
    """[W]"""
    minimum_heating_capacity_in_watts: float | None
    """[W]"""
    maximum_heating_capacity_in_kmol_per_second: float | None
    """[kmol/s]"""
    minimum_heating_capacity_in_kmol_per_second: float | None
    """[kmol/s]"""

class GeneratorFuelCellExhaustGasToWaterHeatExchanger(IDFObject):
    """Describes the exhaust gas heat exchanger subsystem of a fuel cell power generator used to recovery thermal energy"""

    heat_recovery_water_inlet_node_name: str | None
    heat_recovery_water_outlet_node_name: str | None
    heat_recovery_water_maximum_flow_rate: float | None
    """[m3/s] (gal/min)"""
    exhaust_outlet_air_node_name: str | None
    heat_exchanger_calculation_method: (
        Literal["Condensing", "EmpiricalUAeff", "FixedEffectiveness", "FundementalUAeff"] | None
    )
    method_1_heat_exchanger_effectiveness: float | None
    method_2_parameter_hxs0: float | None
    method_2_parameter_hxs1: float | None
    method_2_parameter_hxs2: float | None
    method_2_parameter_hxs3: float | None
    method_2_parameter_hxs4: float | None
    method_3_h0gas_coefficient: float | None
    method_3_ndotgasref_coefficient: float | None
    method_3_n_coefficient: float | None
    method_3_gas_area: float | None
    """[m2]"""
    method_3_h0_water_coefficient: float | None
    method_3_n_dot_water_ref_coefficient: float | None
    method_3_m_coefficient: float | None
    method_3_water_area: float | None
    """[m2]"""
    method_3_f_adjustment_factor: float | None
    method_4_hxl1_coefficient: float | None
    method_4_hxl2_coefficient: float | None
    method_4_condensation_threshold: float | None
    """[C]"""

class GeneratorFuelCellElectricalStorage(IDFObject):
    """Used to describe the electrical storage subsystem for a fuel cell power generator. The electrical storage model is a ..."""

    choice_of_model: Literal["SimpleEfficiencyWithConstraints"] | None
    nominal_charging_energetic_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    nominal_discharging_energetic_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    simple_maximum_capacity: float | None
    """[J]"""
    simple_maximum_power_draw: float | None
    """[W]"""
    simple_maximum_power_store: float | None
    """[W]"""
    initial_charge_state: float | None
    """[J]"""

class GeneratorFuelCellInverter(IDFObject):
    """Used to describe the power condition unit subsystem of a fuel cell power generator. This object models an inverter sy..."""

    inverter_efficiency_calculation_mode: Literal["Constant", "Quadratic"] | None
    inverter_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_function_of_dc_power_curve_name: str | None

class GeneratorFuelCellStackCooler(IDFObject):
    """This object is optional and is used to define details needed to model the stack cooler on PEMFC."""

    heat_recovery_water_inlet_node_name: str | None
    heat_recovery_water_outlet_node_name: str | None
    nominal_stack_temperature: float | None
    """[C]"""
    actual_stack_temperature: float | None
    """[C]"""
    coefficient_r0: float | None
    coefficient_r1: float | None
    coefficient_r2: float | None
    coefficient_r3: float | None
    stack_coolant_flow_rate: float | None
    """[kg/s]"""
    stack_cooler_u_factor_times_area_value: float | None
    """[W/K]"""
    fs_cogen_adjustment_factor: float | None
    stack_cogeneration_exchanger_area: float | None
    """[m2]"""
    stack_cogeneration_exchanger_nominal_flow_rate: float | None
    """[kg/s]"""
    stack_cogeneration_exchanger_nominal_heat_transfer_coefficient: float | None
    """[W/m2-K]"""
    stack_cogeneration_exchanger_nominal_heat_transfer_coefficient_exponent: float | None
    stack_cooler_pump_power: float | None
    """[W]"""
    stack_cooler_pump_heat_loss_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    stack_air_cooler_fan_coefficient_f0: float | None
    stack_air_cooler_fan_coefficient_f1: float | None
    stack_air_cooler_fan_coefficient_f2: float | None

class GeneratorMicroCHP(IDFObject):
    """Small-scale combined heat and power (micro CHP) electric generator using the model developed by IEA/ECBCS Annex 42 se..."""

    performance_parameters_name: str | None
    """Enter the name of a Generator:MicroCHP:NonNormalizedParameters object."""
    zone_name: str | None
    cooling_water_inlet_node_name: str | None
    cooling_water_outlet_node_name: str | None
    air_inlet_node_name: str | None
    air_outlet_node_name: str | None
    generator_fuel_supply_name: str | None
    """Enter the name of a Generator:FuelSupply object."""
    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""

class GeneratorMicroCHPNonNormalizedParameters(IDFObject):
    """This object is referenced by a Generator:MicroCHP object and provides the non-normalized parameters for the MicroCHP ..."""

    maximum_electric_power: float | None
    """[W]"""
    minimum_electric_power: float | None
    """[W]"""
    minimum_cooling_water_flow_rate: float | None
    """[kg/s]"""
    maximum_cooling_water_temperature: float | None
    """[C]"""
    electrical_efficiency_curve_name: str | None
    """TriQuadratic"""
    thermal_efficiency_curve_name: str | None
    """TriQuadratic"""
    cooling_water_flow_rate_mode: Literal["InternalControl", "PlantControl"] | None
    cooling_water_flow_rate_curve_name: str | None
    air_flow_rate_curve_name: str | None
    maximum_net_electrical_power_rate_of_change: float | None
    """[W/s]"""
    maximum_fuel_flow_rate_of_change: float | None
    """[kg/s2]"""
    heat_exchanger_u_factor_times_area_value: float | None
    """[W/K]"""
    skin_loss_u_factor_times_area_value: float | None
    """[W/K]"""
    skin_loss_radiative_fraction: float | None
    aggregated_thermal_mass_of_energy_conversion_portion_of_generator: float | None
    """[W/K]; Range: > 0.0"""
    aggregated_thermal_mass_of_heat_recovery_portion_of_generator: float | None
    """[W/K]; Range: > 0.0"""
    standby_power: float | None
    """[W]"""
    warm_up_mode: Literal["NominalEngineTemperature", "TimeDelay"] | None
    """Stirling engines use Nominal Engine Temperature Internal combustion engines use Time Delay"""
    warm_up_fuel_flow_rate_coefficient: float | None
    nominal_engine_operating_temperature: float | None
    """[C]"""
    warm_up_power_coefficient: float | None
    warm_up_fuel_flow_rate_limit_ratio: float | None
    warm_up_delay_time: float | None
    """[s]"""
    cool_down_power: float | None
    """[W]"""
    cool_down_delay_time: float | None
    """[s]"""
    restart_mode: Literal["MandatoryCoolDown", "OptionalCoolDown"] | None

class GeneratorFuelSupply(IDFObject):
    """Used only with Generator:FuelCell and Generator:MicroCHP"""

    fuel_temperature_modeling_mode: Literal["Scheduled", "TemperatureFromAirNode"] | None
    fuel_temperature_reference_node_name: str | None
    fuel_temperature_schedule_name: str | None
    compressor_power_multiplier_function_of_fuel_rate_curve_name: str | None
    compressor_heat_loss_factor: float | None
    """Range: >= 0.0, <= 1.0"""
    fuel_type: Literal["GaseousConstituents", "LiquidGeneric"] | None
    liquid_generic_fuel_lower_heating_value: float | None
    """[kJ/kg]"""
    liquid_generic_fuel_higher_heating_value: float | None
    """[kJ/kg]"""
    liquid_generic_fuel_molecular_weight: float | None
    """[g/mol]"""
    liquid_generic_fuel_co2_emission_factor: float | None
    number_of_constituents_in_gaseous_constituent_fuel_supply: float | None
    """Range: >= 0.0, <= 12.0"""
    constituent_1_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_1_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_2_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_2_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_3_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_3_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_4_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_4_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_5_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_5_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_6_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_6_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_7_name: (
        Literal["Butane", "Ethane", "Ethanol", "Hexane", "Hydrogen", "Methane", "Methanol", "Pentane", "Propane"] | None
    )
    constituent_7_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_8_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_8_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_9_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_9_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_10_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_10_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_11_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_11_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    constituent_12_name: (
        Literal[
            "Argon",
            "Butane",
            "CarbonDioxide",
            "Ethane",
            "Ethanol",
            "Hexane",
            "Hydrogen",
            "Methane",
            "Methanol",
            "Nitrogen",
            "Oxygen",
            "Pentane",
            "Propane",
            "Water",
        ]
        | None
    )
    constituent_12_molar_fraction: float | None
    """Range: >= 0.0, <= 1.0"""

class GeneratorWindTurbine(IDFObject):
    """Wind turbine generator."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    rotor_type: Literal["", "HorizontalAxisWindTurbine", "VerticalAxisWindTurbine"] | None
    """allowed values are: Horizontal Axis Wind Turbine or Vertical Axis Wind Turbine; Default: HorizontalAxisWindTurbine"""
    power_control: (
        Literal[
            "",
            "FixedSpeedFixedPitch",
            "FixedSpeedVariablePitch",
            "VariableSpeedFixedPitch",
            "VariableSpeedVariablePitch",
        ]
        | None
    )
    """Constant power output is obtained in the last three control types when the wind speed exceeds the rated wind speed. a...; Default: VariableSpeedVariablePitch"""
    rated_rotor_speed: float | None
    """[rev/min]; Range: > 0.0"""
    rotor_diameter: float | None
    """This field is the diameter of the perpendicular circle of the Vertical Axis Wind Turbine system from the upright pole...; [m]; Range: > 0.0"""
    overall_height: float | None
    """This field is the height of the hub for the Horizontal Axis Wind Turbines and of the pole for the Vertical Axis Wind ...; [m]; Range: > 0.0"""
    number_of_blades: float | None
    """Default: 3.0; Range: >= 2.0"""
    rated_power: float | None
    """This field is the nominal power at the rated wind speed. Users should input maximum power in case of Fixed Speed Fixe...; [W]; Range: > 0.0"""
    rated_wind_speed: float | None
    """[m/s]; Range: > 0.0"""
    cut_in_wind_speed: float | None
    """[m/s]; Range: > 0.0"""
    cut_out_wind_speed: float | None
    """[m/s]; Range: > 0.0"""
    fraction_system_efficiency: float | None
    """Default: 0.835; Range: > 0.0, <= 1.0"""
    maximum_tip_speed_ratio: float | None
    """Default: 5.0; Range: > 0.0, <= 12.0"""
    maximum_power_coefficient: float | None
    """This field should be input if the rotor type is Horizontal Axis Wind Turbine; Default: 0.25; Range: > 0.0, <= 0.59"""
    annual_local_average_wind_speed: float | None
    """[m/s]; Range: > 0.0"""
    height_for_local_average_wind_speed: float | None
    """[m]; Default: 50.0; Range: > 0.0"""
    blade_chord_area: float | None
    """[m2]"""
    blade_drag_coefficient: float | None
    """This field is only for Vertical Axis Wind Turbine.. The user must input this field if the rotor type is Vertical Axis...; Default: 0.9"""
    blade_lift_coefficient: float | None
    """This field is only for Vertical Axis Wind Turbine.. The user must input this field if the rotor type is Vertical Axis...; Default: 0.05"""
    power_coefficient_c1: float | None
    """This field is only available for Horizontal Axis Wind Turbine. The user should input all six parameters so that the a...; Default: 0.5176; Range: > 0.0"""
    power_coefficient_c2: float | None
    """Default: 116.0; Range: > 0.0"""
    power_coefficient_c3: float | None
    """Default: 0.4; Range: > 0.0"""
    power_coefficient_c4: float | None
    """Default: 0.0; Range: >= 0.0"""
    power_coefficient_c5: float | None
    """Default: 5.0; Range: > 0.0"""
    power_coefficient_c6: float | None
    """Default: 21.0; Range: > 0.0"""

class ElectricLoadCenterGenerators(IDFObject):
    """List of electric power generators to include in the simulation including the name and type of each generators along w..."""

    generator_name: str | None
    generator_object_type: str | None
    generator_rated_electric_power_output: float | None
    generator_availability_schedule_name: str | None
    generator_rated_thermal_to_electrical_power_ratio: float | None

class ElectricLoadCenterInverterSimple(IDFObject):
    """Electric power inverter to convert from direct current (DC) to alternating current (AC) in an electric load center th..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """enter name of zone to receive inverter losses as heat if blank then inverter is assumed to be outdoors"""
    radiative_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    inverter_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""

class ElectricLoadCenterInverterFunctionOfPower(IDFObject):
    """Electric power inverter to convert from direct current (DC) to alternating current (AC) in an electric load center th..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Enter name of zone to receive inverter losses as heat if blank then inverter is assumed to be outdoors"""
    radiative_fraction: float | None
    efficiency_function_of_power_curve_name: str | None
    """curve describes efficiency as a function of power curve is normalized relative to rated power in next field"""
    rated_maximum_continuous_input_power: float | None
    """[W]"""
    minimum_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    maximum_efficiency: float | None
    """Range: >= 0.0, <= 1.0"""
    minimum_power_output: float | None
    """[W]"""
    maximum_power_output: float | None
    """[W]"""
    ancillary_power_consumed_in_standby: float | None
    """[W]"""

class ElectricLoadCenterInverterLookUpTable(IDFObject):
    """California Energy Commission tests and publishes data on inverters This inverter model interpolates using CEC test da..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Enter name of zone to receive inverter losses as heat if blank then inverter is assumed to be outdoors"""
    radiative_fraction: float | None
    """Range: >= 0.0, <= 1.0"""
    rated_maximum_continuous_output_power: float | None
    """[W]"""
    night_tare_loss_power: float | None
    """[W]"""
    nominal_voltage_input: float | None
    """[V]"""
    efficiency_at_10_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_at_20_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_at_30_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_at_50_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_at_75_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""
    efficiency_at_100_power_and_nominal_voltage: float | None
    """Range: >= 0.0, <= 1.0"""

class ElectricLoadCenterStorageSimple(IDFObject):
    """Used to model storage of electricity in an electric load center. This is a simple model that does not attempt to repr..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Enter name of zone to receive storage losses as heat if blank then storage is assumed to be outdoors"""
    radiative_fraction_for_zone_heat_gains: float | None
    """Range: >= 0.0, <= 1.0"""
    nominal_energetic_efficiency_for_charging: float | None
    """Range: >= 0.001, <= 1.0"""
    nominal_discharging_energetic_efficiency: float | None
    """Range: >= 0.001, <= 1.0"""
    maximum_storage_capacity: float | None
    """[J]"""
    maximum_power_for_discharging: float | None
    """[W]"""
    maximum_power_for_charging: float | None
    """[W]"""
    initial_state_of_charge: float | None
    """[J]"""

class ElectricLoadCenterStorageBattery(IDFObject):
    """Uses the kinetic battery model (KiBaM) to simulate rechargeable battery banks in an electrical load center. The batte..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Enter name of zone to receive electrical storage losses as heat if blank then electrical storage losses are dissipate..."""
    radiative_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    number_of_battery_modules_in_parallel: int | None
    """A module usually consists of several cells. The total number of modules in the battery bank is equal to number of mod...; Default: 1; Range: >= 1"""
    number_of_battery_modules_in_series: int | None
    """A module usually consists of several cells. The total number of modules in the battery bank is equal to number of mod...; Default: 1; Range: >= 1"""
    maximum_module_capacity: float | None
    """The capacity is for each module. A model parameter from manufacturer's data or test data.; [Ah]; Range: >= 0.0"""
    initial_fractional_state_of_charge: float | None
    """The state of charge is evaluated based on the maximum capacity defined in the next field.; Default: 1.0; Range: >= 0.0, <= 1.0"""
    fraction_of_available_charge_capacity: float | None
    """A model parameter usually derived from test data by curve fitting.; Range: >= 0.0, <= 1.0"""
    change_rate_from_bound_charge_to_available_charge: float | None
    """A model parameter usually derived from test data by curve fitting.; [1/hr]; Range: >= 0.0"""
    fully_charged_module_open_circuit_voltage: float | None
    """The voltage is for each battery module.; [V]; Range: >= 0.0"""
    fully_discharged_module_open_circuit_voltage: float | None
    """The voltage is for each battery module.; [V]; Range: >= 0.0"""
    voltage_change_curve_name_for_charging: str | None
    """Determines how the open circuit voltage change with state of charge relative to the fully discharged state."""
    voltage_change_curve_name_for_discharging: str | None
    """Determines how the open circuit voltage change with state of charge relative to the fully charged state."""
    module_internal_electrical_resistance: float | None
    """A model parameter from manufacture or derived from test data. Internal resistance is assumed to be constant. The inte...; [ohms]; Range: >= 0.0"""
    maximum_module_discharging_current: float | None
    """The constraint on discharging current is for each battery module.; [A]; Range: >= 0.0"""
    module_cut_off_voltage: float | None
    """The voltage constraint is for each battery module.; [V]; Range: >= 0.0"""
    module_charge_rate_limit: float | None
    """units 1/hr Charge rate limit is the division between charging current the remaining capacity. The constraint on charg...; Default: 1.0; Range: >= 0.0"""
    battery_life_calculation: Literal["", "No", "Yes"] | None
    """Default: No"""
    number_of_cycle_bins: int | None
    """Only required when battery life calculation is activated; Default: 10; Range: >= 5"""
    battery_life_curve_name: str | None
    """Determines the number of cycles to failure in relation to cycle range. Only required when battery life calculation is..."""

class ElectricLoadCenterStorageLiIonNMCBattery(IDFObject):
    """Uses Lithium Ion NMC model to simulate rechargeable battery banks in an electrical load center. The battery bank is a...; Since: 9.5.0"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    zone_name: str | None
    """Enter name of zone to receive electrical storage losses as heat if blank then electrical storage losses are dissipate..."""
    radiative_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    lifetime_model: Literal["", "KandlerSmith", "None"] | None
    """Default: KandlerSmith"""
    number_of_cells_in_series: int | None
    """Battery voltage is calculated by multiplying this field by the nominal cell voltage (Numeric Field 13, default 3.342V); Range: >= 1"""
    number_of_strings_in_parallel: int | None
    """Capacity (Ah) is determined by multiplying this field by the cell capacity (Numeric Field 14, default 3.2 Ah); Range: >= 1"""
    initial_fractional_state_of_charge: float | None
    """The state of charge is evaluated based on the maximum capacity defined in the next field.; Default: 0.5; Range: >= 0.0, <= 1.0"""
    dc_to_dc_charging_efficiency: float | None
    """Default: 0.95; Range: > 0.0, <= 1.0"""
    battery_mass: float | None
    """[kg]; Range: > 0.0"""
    battery_surface_area: float | None
    """[m2]; Range: > 0.0"""
    battery_specific_heat_capacity: float | None
    """[J/kg-K]; Default: 1500.0; Range: > 0.0"""
    heat_transfer_coefficient_between_battery_and_ambient: float | None
    """[W/m2-K]; Default: 7.5; Range: > 0.0"""
    fully_charged_cell_voltage: float | None
    """Most users should not need to change this value.; [V]; Default: 4.2; Range: > 0.0"""
    cell_voltage_at_end_of_exponential_zone: float | None
    """Most users should not need to change this value.; [V]; Default: 3.53; Range: > 0.0"""
    cell_voltage_at_end_of_nominal_zone: float | None
    """Most users should not need to change this value.; [V]; Default: 3.342; Range: > 0.0"""
    default_nominal_cell_voltage: float | None
    """Most users should not need to change this value.; [V]; Default: 3.342; Range: > 0.0"""
    fully_charged_cell_capacity: float | None
    """Most users should not need to change this value.; [Ah]; Default: 3.2; Range: > 0.0"""
    fraction_of_cell_capacity_removed_at_the_end_of_exponential_zone: float | None
    """Most users should not need to change this value.; Default: 0.8075; Range: > 0.0, < 1.0"""
    fraction_of_cell_capacity_removed_at_the_end_of_nominal_zone: float | None
    """Most users should not need to change this value.; Default: 0.976875; Range: > 0.0, < 1.0"""
    charge_rate_at_which_voltage_vs_capacity_curve_was_generated: float | None
    """Most users should not need to change this value.; Default: 1.0; Range: > 0.0"""
    battery_cell_internal_electrical_resistance: float | None
    """for a single cell Most users should not need to change this value.; [ohms]; Default: 0.09; Range: >= 0.0"""

class ElectricLoadCenterTransformer(IDFObject):
    """This object is used to model the energy losses of transformers when they are used to transfer electricity from the gr..."""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    transformer_usage: Literal["", "LoadCenterPowerConditioning", "PowerInFromGrid", "PowerOutToGrid"] | None
    """A transformer can be used to transfer electric energy from utility grid to building (PowerInFromGrid)or from building...; Default: PowerInFromGrid"""
    zone_name: str | None
    """Enter name of zone to receive transformer losses as heat if blank then transformer losses are dissipated to outdoors"""
    radiative_fraction: float | None
    """Default: 0.0; Range: >= 0.0, <= 1.0"""
    rated_capacity: float | None
    """the unit is VA, instead of kVA as usually shown on transformer nameplates.; [VA]; Range: >= 0.0"""
    phase: Literal[1, 3, ""] | None
    """Must be single or three phase transformer. NOT used in the current model.; Default: 3.0"""
    conductor_material: Literal["", "Aluminum", "Copper"] | None
    """Winding material used by the transformer.; Default: Aluminum"""
    full_load_temperature_rise: float | None
    """[C]; Default: 150.0; Range: >= 50.0, <= 180.0"""
    fraction_of_eddy_current_losses: float | None
    """Default: 0.1; Range: >= 0.0, <= 1.0"""
    performance_input_method: Literal["", "NominalEfficiency", "RatedLosses"] | None
    """User can define transformer performance by specifying load and no load losses at rated conditions or nameplate effici...; Default: RatedLosses"""
    rated_no_load_loss: float | None
    """Only required when RatedLosses is the performance input method; [W]; Range: > 0.0"""
    rated_load_loss: float | None
    """Only required when RatedLosses is the performance input method; [W]; Range: >= 0.0"""
    nameplate_efficiency: float | None
    """Only required when NominalEfficiency is the performance input method; Default: 0.98; Range: > 0.0, <= 1.0"""
    per_unit_load_for_nameplate_efficiency: float | None
    """Percentage of the rated capacity at which the nameplate efficiency is defined Only required when NominalEfficiency is...; Default: 0.35; Range: > 0.0, <= 1.0"""
    reference_temperature_for_nameplate_efficiency: float | None
    """Conductor operating temperature at which the nameplate efficiency is defined Only required when NominalEfficiency is ...; [C]; Default: 75.0; Range: >= 20.0, <= 150.0"""
    per_unit_load_for_maximum_efficiency: float | None
    """Percentage of the rate capacity at which the maximum efficiency is obtained Only required when NominalEfficiency is t...; Range: > 0.0, <= 1.0"""
    consider_transformer_loss_for_utility_cost: Literal["", "No", "Yes"] | None
    """Only required when the transformer is used for power in from the utility grid; Default: Yes"""
    meter_name: str | None

class ElectricLoadCenterDistribution(IDFObject):
    """ElectricLoadCenter:Distribution objects are used to include on-site electricity generators and or storage in a simula..."""

    generator_list_name: str | None
    """Name of an ElectricLoadCenter:Generators object"""
    generator_operation_scheme_type: (
        Literal[
            "Baseload",
            "DemandLimit",
            "FollowThermal",
            "FollowThermalLimitElectrical",
            "TrackElectrical",
            "TrackMeter",
            "TrackSchedule",
        ]
        | None
    )
    """Determines how generators are to be controlled Required if Generator List is entered."""
    generator_demand_limit_scheme_purchased_electric_demand_limit: float | None
    """[W]"""
    generator_track_schedule_name_scheme_schedule_name: str | None
    """required when Generator Operation Scheme Type=TrackSchedule schedule values in Watts"""
    generator_track_meter_scheme_meter_name: str | None
    """required when Generator Operation Scheme Type=TrackMeter"""
    electrical_buss_type: (
        Literal[
            "",
            "AlternatingCurrent",
            "AlternatingCurrentWithStorage",
            "DirectCurrentWithInverter",
            "DirectCurrentWithInverterACStorage",
            "DirectCurrentWithInverterDCStorage",
        ]
        | None
    )
    """Default: AlternatingCurrent"""
    inverter_name: str | None
    """required when Electrical Buss Type=DirectCurrentWithInverter, DirectCurrentWithInverterDCStorage, or DirectCurrentWit..."""
    electrical_storage_object_name: str | None
    """required when Electrical Buss Type=AlternatingCurrentWithStorage, DirectCurrentWithInverterDCStorage, or DirectCurren..."""
    transformer_object_name: str | None
    """required when power needs to be output from on-site generation or storage to the grid via transformer"""
    storage_operation_scheme: (
        Literal[
            "",
            "FacilityDemandLeveling",
            "TrackChargeDischargeSchedules",
            "TrackFacilityElectricDemandStoreExcessOnSite",
            "TrackMeterDemandStoreExcessOnSite",
        ]
        | None
    )
    """Select method to govern how storage charge and discharge is controlled TrackFacilityElectricDemandStoreExcessOnSite i...; Default: TrackFacilityElectricDemandStoreExcessOnSite"""
    storage_control_track_meter_name: str | None
    """required when Storage Operation Scheme is set to TrackMeterDemandStoreExcessOnSite."""
    storage_converter_object_name: str | None
    """Name of an ElectricLoadCenter:Storage:Converter used to convert AC to DC when charging DC storage from grid supply. A..."""
    maximum_storage_state_of_charge_fraction: float | None
    """Fraction of storage capacity used as upper limit for controlling charging, for all storage operation schemes.; Default: 1.0"""
    minimum_storage_state_of_charge_fraction: float | None
    """Fraction of storage capacity used as lower limit for controlling discharging, for all storage operation schemes.; Default: 0.0"""
    design_storage_control_charge_power: float | None
    """Maximum rate that electric power can be charged into storage. Storage charging adjusted downward for conversion losse...; [W]"""
    storage_charge_power_fraction_schedule_name: str | None
    """Controls timing and magnitude of charging storage. Required field if Storage Operation Scheme is set to TrackChargeDi..."""
    design_storage_control_discharge_power: float | None
    """Maximum rate that electric power can be discharged from storage. Rate is modified by fractional values in the schedul...; [W]"""
    storage_discharge_power_fraction_schedule_name: str | None
    """Controls timing and magnitude of discharging storage Required field if Storage Operation Scheme is set to TrackCharge..."""
    storage_control_utility_demand_target: float | None
    """Target utility service demand power for discharge control. Storage draws are adjusted upwards for conversion losses. ...; [W]"""
    storage_control_utility_demand_target_fraction_schedule_name: str | None
    """Modifies the target utility service demand power over time. Schedule values should be fractions from -1.0 to 1.0, inc..."""

class ElectricLoadCenterStorageConverter(IDFObject):
    """This model is for converting AC to DC for grid-supplied charging of DC storage"""

    availability_schedule_name: str | None
    """Availability schedule name for this system. Schedule value > 0 means the system is available. If this field is blank,..."""
    power_conversion_efficiency_method: Literal["", "FunctionOfPower", "SimpleFixed"] | None
    """SimpleFixed indicates power conversion losses are based on Simple Fixed Efficiency FunctionOfPower indicates power co...; Default: SimpleFixed"""
    simple_fixed_efficiency: float | None
    """Constant efficiency for conversion of AC to DC at all power levels. Field is only used when Power Conversion Efficien...; Default: 0.95; Range: > 0.0, <= 1.0"""
    design_maximum_continuous_input_power: float | None
    """Required field when Power Conversion Efficiency Method is set to FunctionOfPower.; [W]"""
    efficiency_function_of_power_curve_name: str | None
    """Curve or table with a single independent variable that describes efficiency as a function of normalized power. The 'x..."""
    ancillary_power_consumed_in_standby: float | None
    """Optional standby power consumed when converter is available but no power is being conditioned.; [W]"""
    zone_name: str | None
    """enter name of zone to receive converter losses as heat if blank then converter is assumed to be outdoors"""
    radiative_fraction: float | None
    """fraction of zone heat gains treated as thermal radiation; Range: >= 0.0, <= 1.0"""

class WaterUseEquipment(IDFObject):
    """A generalized object for simulating all water end uses. Hot and cold water uses are included, as well as controlled m..."""

    end_use_subcategory: str | None
    """Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table.; Default: General"""
    peak_flow_rate: float | None
    """[m3/s] (gal/min); Range: >= 0.0"""
    flow_rate_fraction_schedule_name: str | None
    """Defaults to 1.0 at all times"""
    target_temperature_schedule_name: str | None
    """Defaults to hot water supply temperature"""
    hot_water_supply_temperature_schedule_name: str | None
    """Defaults to cold water supply temperature"""
    cold_water_supply_temperature_schedule_name: str | None
    """Defaults to water temperatures calculated by Site:WaterMainsTemperature object"""
    zone_name: str | None
    sensible_fraction_schedule_name: str | None
    """Defaults to 0.0 at all times"""
    latent_fraction_schedule_name: str | None
    """Defaults to 0.0 at all times"""

class WaterUseConnections(IDFObject):
    """A subsystem that groups together multiple WaterUse:Equipment components. As its name suggests, the object provides co..."""

    inlet_node_name: str | None
    outlet_node_name: str | None
    supply_water_storage_tank_name: str | None
    """If blank, or tank is empty, defaults to fresh water from the mains"""
    reclamation_water_storage_tank_name: str | None
    hot_water_supply_temperature_schedule_name: str | None
    """Defaults to cold water supply temperature"""
    cold_water_supply_temperature_schedule_name: str | None
    """Defaults to water temperatures calculated by Site:WaterMainsTemperature object"""
    drain_water_heat_exchanger_type: Literal["", "CounterFlow", "CrossFlow", "Ideal", "None"] | None
    """Default: None"""
    drain_water_heat_exchanger_destination: Literal["", "Equipment", "Plant", "PlantAndEquipment"] | None
    """Default: Plant"""
    drain_water_heat_exchanger_u_factor_times_area: float | None
    """[W/K]; Range: >= 0.0"""
    water_use_equipment_name: str | None

class WaterUseStorage(IDFObject):
    """A water storage tank. If the building model is to include any on-site water collection, wells, or storing and reuse o..."""

    water_quality_subcategory: str | None
    maximum_capacity: float | None
    """Defaults to unlimited capacity.; [m3] (gal)"""
    initial_volume: float | None
    """[m3] (gal)"""
    design_in_flow_rate: float | None
    """Defaults to unlimited flow.; [m3/s] (gal/min)"""
    design_out_flow_rate: float | None
    """Defaults to unlimited flow.; [m3/s] (gal/min)"""
    overflow_destination: str | None
    """If blank, overflow is discarded"""
    type_of_supply_controlled_by_float_valve: Literal["GroundwaterWell", "Mains", "None", "OtherTank"] | None
    float_valve_on_capacity: float | None
    """Lower range of target storage level e.g. float valve kicks on; [m3] (gal)"""
    float_valve_off_capacity: float | None
    """Upper range of target storage level e.g. float valve kicks off; [m3] (gal)"""
    backup_mains_capacity: float | None
    """Lower range of secondary target storage level used to keep tanks at a minimum level using mains water if well can't k...; [m3] (gal)"""
    other_tank_name: str | None
    water_thermal_mode: Literal["ScheduledTemperature", "ThermalModel"] | None
    water_temperature_schedule_name: str | None
    ambient_temperature_indicator: Literal["Outdoors", "Schedule", "Zone"] | None
    ambient_temperature_schedule_name: str | None
    zone_name: str | None
    tank_surface_area: float | None
    """[m2]"""
    tank_u_value: float | None
    """[W/m2-K]"""
    tank_outside_surface_material_name: str | None

class WaterUseWell(IDFObject):
    """Simulates on-site water supply from a well. Well water is pumped out of the ground into a WaterUse:Storage. The opera..."""

    storage_tank_name: str | None
    pump_depth: float | None
    """[m]"""
    pump_rated_flow_rate: float | None
    """[m3/s] (gal/min)"""
    pump_rated_head: float | None
    """[Pa]"""
    pump_rated_power_consumption: float | None
    """[W]"""
    pump_efficiency: float | None
    well_recovery_rate: float | None
    """[m3/s] (gal/min)"""
    nominal_well_storage_volume: float | None
    """[m3] (gal)"""
    water_table_depth_mode: Literal["Constant", "Scheduled"] | None
    water_table_depth: float | None
    """[m]"""
    water_table_depth_schedule_name: str | None

class WaterUseRainCollector(IDFObject):
    """Used for harvesting rainwater falling on building surfaces. The rainwater is sent to a WaterUse:Storage object. In ve..."""

    storage_tank_name: str | None
    loss_factor_mode: Literal["Constant", "Scheduled"] | None
    collection_loss_factor: float | None
    """this is the portion of rain that is lost in the process of collecting it the rain collected is one minus this factor"""
    collection_loss_factor_schedule_name: str | None
    maximum_collection_rate: float | None
    """Defaults to unlimited flow.; [m3/s] (gal/min)"""
    collection_surface_name: str | None

class FaultModelTemperatureSensorOffsetOutdoorAir(IDFObject):
    """This object describes outdoor air temperature sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    controller_object_type: Literal["Controller:OutdoorAir"] | None
    controller_object_name: str | None
    temperature_sensor_offset: float | None
    """[deltaC]; Default: 0.0; Range: > -10.0, < 10.0"""

class FaultModelHumiditySensorOffsetOutdoorAir(IDFObject):
    """This object describes outdoor air humidity sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    controller_object_type: Literal["Controller:OutdoorAir"] | None
    controller_object_name: str | None
    humidity_sensor_offset: float | None
    """[kgWater/kgDryAir]; Default: 0.0; Range: > -0.02, < 0.02"""

class FaultModelEnthalpySensorOffsetOutdoorAir(IDFObject):
    """This object describes outdoor air enthalpy sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    controller_object_type: Literal["Controller:OutdoorAir"] | None
    controller_object_name: str | None
    enthalpy_sensor_offset: float | None
    """[J/kg]; Default: 0.0; Range: > -20000.0, < 20000.0"""

class FaultModelTemperatureSensorOffsetReturnAir(IDFObject):
    """This object describes return air temperature sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    controller_object_type: Literal["Controller:OutdoorAir"] | None
    controller_object_name: str | None
    temperature_sensor_offset: float | None
    """[deltaC]; Default: 0.0; Range: > -10.0, < 10.0"""

class FaultModelEnthalpySensorOffsetReturnAir(IDFObject):
    """This object describes return air enthalpy sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    controller_object_type: Literal["Controller:OutdoorAir"] | None
    controller_object_name: str | None
    enthalpy_sensor_offset: float | None
    """[J/kg]; Default: 0.0; Range: > -20000.0, < 20000.0"""

class FaultModelTemperatureSensorOffsetChillerSupplyWater(IDFObject):
    """This object describes fault of chiller supply water temperature sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    chiller_object_type: (
        Literal[
            "Chiller:Absorption",
            "Chiller:Absorption:Indirect",
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
        ]
        | None
    )
    """Enter the type of a chiller object"""
    chiller_object_name: str | None
    """Enter the name of a chiller object"""
    reference_sensor_offset: float | None
    """[deltaC]; Default: 0.0; Range: > -10.0, < 10.0"""

class FaultModelTemperatureSensorOffsetCoilSupplyAir(IDFObject):
    """This object describes fault of coil supply air temperature sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    coil_object_type: (
        Literal[
            "AirLoopHVAC:UnitarySystem",
            "Coil:Cooling:Water",
            "Coil:Cooling:Water:Detailedgeometry",
            "Coil:Heating:Desuperheater",
            "Coil:Heating:Electric",
            "Coil:Heating:Gas",
            "Coil:Heating:Steam",
            "Coil:Heating:Water",
            "CoilSystem:Cooling:DX",
            "CoilSystem:Heating:DX",
        ]
        | None
    )
    """Enter the type of the coil affected"""
    coil_object_name: str | None
    """Enter the name of the coil affected"""
    water_coil_controller_name: str | None
    """Enter the name of controller for the water coil affected Required for water coils"""
    reference_sensor_offset: float | None
    """[deltaC]; Default: 0.0; Range: > -10.0, < 10.0"""

class FaultModelTemperatureSensorOffsetCondenserSupplyWater(IDFObject):
    """This object describes fault of condenser supply water temperature sensor offset"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    cooling_tower_object_type: (
        Literal[
            "CoolingTower:SingleSpeed",
            "CoolingTower:TwoSpeed",
            "CoolingTower:VariableSpeed",
            "CoolingTower:VariableSpeed:MERKEL",
        ]
        | None
    )
    """Enter the type of the cooling tower affected"""
    cooling_tower_object_name: str | None
    """Enter the name of the cooling tower affected"""
    reference_sensor_offset: float | None
    """[deltaC]; Default: 0.0; Range: > -10.0, < 10.0"""

class FaultModelThermostatOffset(IDFObject):
    """This object describes fault of thermostat offset"""

    thermostat_name: str | None
    """Enter the name of a ZoneControl:Thermostat object."""
    availability_schedule_name: str | None
    severity_schedule_name: str | None
    reference_thermostat_offset: float | None
    """[deltaC]; Default: 2.0; Range: > -10.0, < 10.0"""

class FaultModelHumidistatOffset(IDFObject):
    """This object describes fault of humidistat offset"""

    humidistat_name: str | None
    """Enter the name of a ZoneControl:Humidistat object."""
    humidistat_offset_type: Literal["", "ThermostatOffsetDependent", "ThermostatOffsetIndependent"] | None
    """Two types are available: Type ThermostatOffsetIndependent Type ThermostatOffsetDependent; Default: ThermostatOffsetIndependent"""
    availability_schedule_name: str | None
    """This field is applicable for Type ThermostatOffsetIndependent"""
    severity_schedule_name: str | None
    """This field is applicable for Type ThermostatOffsetIndependent"""
    reference_humidistat_offset: float | None
    """Required field for Type ThermostatOffsetIndependent; [percent]; Default: 5.0; Range: > -20.0, < 20.0"""
    related_thermostat_offset_fault_name: str | None
    """Enter the name of a FaultModel:ThermostatOffset object Required field for Type ThermostatOffsetDependent"""

class FaultModelFoulingAirFilter(IDFObject):
    """This object describes fault of dirty air filters"""

    fan_object_type: Literal["Fan:ConstantVolume", "Fan:OnOff", "Fan:VariableVolume"] | None
    """Choose the type of the fan Support for Fan:SystemModel is pending"""
    fan_name: str | None
    """Enter the name of a fan object"""
    availability_schedule_name: str | None
    pressure_fraction_schedule_name: str | None
    """Enter the name of a schedule describing the variations of the fan pressure rise in terms of multipliers to the fan de..."""
    fan_curve_name: str | None
    """The curve describes the relationship between the fan pressure rise and air flow rate"""

class FaultModelFoulingBoiler(IDFObject):
    """This object describes the fouling fault of boilers with water-based heat exchangers"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    boiler_object_type: Literal["Boiler:HotWater"] | None
    """Enter the type of a boiler object The fault applies to the hot-water boilers"""
    boiler_object_name: str | None
    """Enter the name of a Boiler object"""
    fouling_factor: float | None
    """The factor indicates the decrease of the nominal capacity of the boiler It is the ratio between the nominal capacity ...; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""

class FaultModelFoulingEvaporativeCooler(IDFObject):
    """This object describes the fouling fault of the wetted coil evaporative cooler"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    evaporative_cooler_object_type: Literal["EvaporativeCooler:Indirect:WetCoil"] | None
    """Enter the type of a Evaporative Cooler object The fault applies to the wetted coil evaporative cooler The fault does ..."""
    evaporative_cooler_object_name: str | None
    """Enter the name of aN Evaporative Cooler object"""
    fouling_factor: float | None
    """The factor indicates the decrease of the indirect stage efficiency It is the ratio between the indirect stage efficie...; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""

class FaultModelFoulingChiller(IDFObject):
    """This object describes the fouling fault of chillers with water-cooled condensers"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    chiller_object_type: (
        Literal[
            "Chiller:CombustionTurbine",
            "Chiller:ConstantCOP",
            "Chiller:Electric",
            "Chiller:Electric:EIR",
            "Chiller:Electric:ReformulatedEIR",
            "Chiller:EngineDriven",
        ]
        | None
    )
    """Enter the type of a chiller object The fault applies to the chillers with water-cooled condensers"""
    chiller_object_name: str | None
    """Enter the name of a chiller object"""
    fouling_factor: float | None
    """The factor indicates the decrease of the nominal capacity of the chiller It is the ratio between the nominal capacity...; [dimensionless]; Default: 1.0; Range: > 0.0, <= 1.0"""

class FaultModelFoulingCoolingTower(IDFObject):
    """This object describes the fault of fouling cooling towers"""

    availability_schedule_name: str | None
    severity_schedule_name: str | None
    cooling_tower_object_type: (
        Literal["CoolingTower:SingleSpeed", "CoolingTower:TwoSpeed", "CoolingTower:VariableSpeed:MERKEL"] | None
    )
    """Enter the type of the cooling tower affected"""
    cooling_tower_object_name: str | None
    """Enter the name of the cooling tower affected"""
    reference_ua_reduction_factor: float | None
    """Factor describing the tower UA reduction due to fouling It is the ratio between the UA value at fouling case and that...; [dimensionless]; Range: > 0.0"""

class FaultModelFoulingCoil(IDFObject):
    """This object describes fouling water heating or cooling coils"""

    coil_name: str | None
    availability_schedule_name: str | None
    severity_schedule_name: str | None
    fouling_input_method: Literal["", "FouledUARated", "FoulingFactor"] | None
    """Default: FouledUARated"""
    uafouled: float | None
    """Fouling coil UA value under rating conditions For Fouling Input Method: FouledUARated; [W/K]; Range: > 0.0"""
    water_side_fouling_factor: float | None
    """For Fouling Input Method: FoulingFactor; [m2-K/W]; Default: 0.0; Range: >= 0.0"""
    air_side_fouling_factor: float | None
    """For Fouling Input Method: FoulingFactor; [m2-K/W]; Default: 0.0; Range: >= 0.0"""
    outside_coil_surface_area: float | None
    """For Fouling Input Method: FoulingFactor; [m2]; Range: > 0.0"""
    inside_to_outside_coil_surface_area_ratio: float | None
    """For Fouling Input Method: FoulingFactor; [dimensionless]; Default: 0.07; Range: > 0.0"""

class MatrixTwoDimension(IDFObject):
    """matrix data in row-major order list each row keeping the columns in order number of values must equal N1 x N2"""

    number_of_rows: int | None
    number_of_columns: int | None
    value: float | None

class HybridModelZone(IDFObject):
    """Zones with measured air temperature data and a range of dates. If the range of temperature measurement dates includes..."""

    zone_name: str | None
    calculate_zone_internal_thermal_mass: Literal["", "No", "Yes"] | None
    """Use measured zone air temperature to calculate zone internal thermal mass. If set to Yes, the measured zone air tempe...; Default: No"""
    calculate_zone_air_infiltration_rate: Literal["", "No", "Yes"] | None
    """Use measured temperature data (temperature, humidity ratio, or CO2 concentration) to calculate zone air infiltration ...; Default: No"""
    calculate_zone_people_count: Literal["", "No", "Yes"] | None
    """Use measured humidity ratio data (temperature, humidity ratio, or CO2 concentration) to calculate zone people count. ...; Default: No; Since: 9.1.0"""
    zone_measured_air_temperature_schedule_name: str | None
    """from Schedule:File"""
    zone_measured_air_humidity_ratio_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    zone_measured_air_co2_concentration_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    zone_input_people_activity_schedule_name: str | None
    """When this field is provided and valid, the default people activity level (used to calculate people count) will be ove...; Since: 9.1.0"""
    zone_input_people_sensible_heat_fraction_schedule_name: str | None
    """When this field is provided and valid, the default sensible heat fraction from people (used to calculate people count...; Since: 9.1.0"""
    zone_input_people_radiant_heat_fraction_schedule_name: str | None
    """When this field is provided and valid, the default radiant heat portion of the sensible heat from people (used to cal...; Since: 9.1.0"""
    zone_input_people_co2_generation_rate_schedule_name: str | None
    """When this field is provided and valid, the default people CO2 generation rate (used to calculate people count) will b...; Since: 9.1.0"""
    zone_input_supply_air_temperature_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    zone_input_supply_air_mass_flow_rate_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    zone_input_supply_air_humidity_ratio_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    zone_input_supply_air_co2_concentration_schedule_name: str | None
    """from Schedule:File; Since: 9.1.0"""
    begin_month: int | None
    """Range: >= 1, <= 12"""
    begin_day_of_month: int | None
    """Range: >= 1, <= 31"""
    end_month: int | None
    """Range: >= 1, <= 12"""
    end_day_of_month: int | None
    """Range: >= 1, <= 31"""

class CurveLinear(IDFObject):
    """Linear curve with one independent variable. Input for the linear curve consists of a curve name, the two coefficients..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Pressure", "Temperature", "VolumetricFlow"]
        | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveQuadLinear(IDFObject):
    """Linear curve with four independent variables. Input for the linear curve consists of a curve name, the two coefficien..."""

    coefficient1_constant: float | None
    coefficient2_w: float | None
    coefficient3_x: float | None
    coefficient4_y: float | None
    coefficient5_z: float | None
    minimum_value_of_w: float | None
    maximum_value_of_w: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_value_of_z: float | None
    maximum_value_of_z: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_w: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_x: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_z: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""

class CurveQuintLinear(IDFObject):
    """Linear curve with five independent variables. Input for the linear curve consists of a curve name, the two coefficien...; Since: 9.5.0"""

    coefficient1_constant: float | None
    coefficient2_v: float | None
    coefficient3_w: float | None
    coefficient4_x: float | None
    coefficient5_y: float | None
    coefficient6_z: float | None
    minimum_value_of_v: float | None
    maximum_value_of_v: float | None
    minimum_value_of_w: float | None
    maximum_value_of_w: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_value_of_z: float | None
    maximum_value_of_z: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_v: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_w: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_x: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_z: (
        Literal[
            "",
            "Dimensionless",
            "Distance",
            "MassFlow",
            "Power",
            "Temperature",
            "VolumetricFlow",
            "VolumetricFlowPerPower",
        ]
        | None
    )
    """Default: Dimensionless"""

class CurveQuadratic(IDFObject):
    """Quadratic curve with one independent variable. Input for a quadratic curve consists of the curve name, the three coef..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveCubic(IDFObject):
    """Cubic curve with one independent variable. Input for a cubic curve consists of the curve name, the 4 coefficients, an..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_x_3: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveQuartic(IDFObject):
    """Quartic (fourth order polynomial) curve with one independent variable. Input for a Quartic curve consists of the curv..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_x_3: float | None
    coefficient5_x_4: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveExponent(IDFObject):
    """Exponent curve with one independent variable. Input for a exponent curve consists of the curve name, the 3 coefficien..."""

    coefficient1_constant: float | None
    coefficient2_constant: float | None
    coefficient3_constant: float | None
    minimum_value_of_x: float | None
    """Specify the minimum value of the independent variable x allowed"""
    maximum_value_of_x: float | None
    """Specify the maximum value of the independent variable x allowed"""
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveBicubic(IDFObject):
    """Cubic curve with two independent variables. Input consists of the curve name, the ten coefficients, and the minimum a..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_y: float | None
    coefficient5_y_2: float | None
    coefficient6_x_y: float | None
    coefficient7_x_3: float | None
    coefficient8_y_3: float | None
    coefficient9_x_2_y: float | None
    coefficient10_x_y_2: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveBiquadratic(IDFObject):
    """Quadratic curve with two independent variables. Input consists of the curve name, the six coefficients, and min and m..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_y: float | None
    coefficient5_y_2: float | None
    coefficient6_x_y: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveQuadraticLinear(IDFObject):
    """Quadratic-linear curve with two independent variables. Input consists of the curve name, the six coefficients, and mi..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_y: float | None
    coefficient5_x_y: float | None
    coefficient6_x_2_y: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveCubicLinear(IDFObject):
    """Cubic-linear curve with two independent variables. Input consists of the curve name, the six coefficients, and min an..."""

    coefficient1_constant: float | None
    coefficient2_x: float | None
    coefficient3_x_2: float | None
    coefficient4_x_3: float | None
    coefficient5_y: float | None
    coefficient6_x_y: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless", "Temperature"] | None
    """Default: Dimensionless"""
    input_unit_type_for_y: Literal["", "Dimensionless", "Temperature"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveTriquadratic(IDFObject):
    """Quadratic curve with three independent variables. Input consists of the curve name, the twenty seven coefficients, an..."""

    coefficient1_constant: float | None
    coefficient2_x_2: float | None
    coefficient3_x: float | None
    coefficient4_y_2: float | None
    coefficient5_y: float | None
    coefficient6_z_2: float | None
    coefficient7_z: float | None
    coefficient8_x_2_y_2: float | None
    coefficient9_x_y: float | None
    coefficient10_x_y_2: float | None
    coefficient11_x_2_y: float | None
    coefficient12_x_2_z_2: float | None
    coefficient13_x_z: float | None
    coefficient14_x_z_2: float | None
    coefficient15_x_2_z: float | None
    coefficient16_y_2_z_2: float | None
    coefficient17_y_z: float | None
    coefficient18_y_z_2: float | None
    coefficient19_y_2_z: float | None
    coefficient20_x_2_y_2_z_2: float | None
    coefficient21_x_2_y_2_z: float | None
    coefficient22_x_2_y_z_2: float | None
    coefficient23_x_y_2_z_2: float | None
    coefficient24_x_2_y_z: float | None
    coefficient25_x_y_2_z: float | None
    coefficient26_x_y_z_2: float | None
    coefficient27_x_y_z: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_value_of_z: float | None
    maximum_value_of_z: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_y: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    input_unit_type_for_z: (
        Literal["", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveFunctionalPressureDrop(IDFObject):
    """Sets up curve information for minor loss and/or friction calculations in plant pressure simulations Expression: Delta..."""

    diameter: float | None
    """'D' in above expression, used to also calculate local velocity; [m]; Range: > 0.0"""
    minor_loss_coefficient: float | None
    """'K' in above expression; [dimensionless]; Range: > 0.0"""
    length: float | None
    """'L' in above expression; [m]; Range: > 0.0"""
    roughness: float | None
    """This will be used to calculate 'f' from Moody-chart approximations; [m]; Range: > 0.0"""
    fixed_friction_factor: float | None
    """Optional way to set a constant value for 'f', instead of using internal Moody-chart approximations; Range: > 0.0"""

class CurveFanPressureRise(IDFObject):
    """Special curve type with two independent variables. Input for the fan total pressure rise curve consists of the curve ..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    coefficient4_c4: float | None
    minimum_value_of_qfan: float | None
    """[m3/s]"""
    maximum_value_of_qfan: float | None
    """[m3/s]"""
    minimum_value_of_psm: float | None
    """[Pa] (Pa)"""
    maximum_value_of_psm: float | None
    """[Pa] (Pa)"""
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object; [Pa] (Pa)"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object; [Pa] (Pa)"""

class CurveExponentialSkewNormal(IDFObject):
    """Exponential-modified skew normal curve with one independent variable. Input consists of the curve name, the four coef..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    coefficient4_c4: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveSigmoid(IDFObject):
    """Sigmoid curve with one independent variable. Input consists of the curve name, the five coefficients, and the maximum..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    coefficient4_c4: float | None
    coefficient5_c5: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveRectangularHyperbola1(IDFObject):
    """Rectangular hyperbola type 1 curve with one independent variable. Input consists of the curve name, the three coeffic..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveRectangularHyperbola2(IDFObject):
    """Rectangular hyperbola type 2 curve with one independent variable. Input consists of the curve name, the three coeffic..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveExponentialDecay(IDFObject):
    """Exponential decay curve with one independent variable. Input consists of the curve name, the three coefficients, and ..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveDoubleExponentialDecay(IDFObject):
    """Double exponential decay curve with one independent variable. Input consists of the curve name, the five coefficients..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    coefficient4_c4: float | None
    """Since: 9.4.0"""
    coefficient5_c5: float | None
    """Since: 9.4.0"""
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class CurveChillerPartLoadWithLift(IDFObject):
    """This chiller part-load performance curve has three independent variables. Input consists of the curve name, the twelv..."""

    coefficient1_c1: float | None
    coefficient2_c2: float | None
    coefficient3_c3: float | None
    coefficient4_c4: float | None
    coefficient5_c5: float | None
    coefficient6_c6: float | None
    coefficient7_c7: float | None
    coefficient8_c8: float | None
    coefficient9_c9: float | None
    coefficient10_c10: float | None
    coefficient11_c11: float | None
    coefficient12_c12: float | None
    minimum_value_of_x: float | None
    maximum_value_of_x: float | None
    minimum_value_of_y: float | None
    maximum_value_of_y: float | None
    minimum_value_of_z: float | None
    maximum_value_of_z: float | None
    minimum_curve_output: float | None
    """Specify the minimum value calculated by this curve object"""
    maximum_curve_output: float | None
    """Specify the maximum value calculated by this curve object"""
    input_unit_type_for_x: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    input_unit_type_for_y: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    input_unit_type_for_z: Literal["", "Dimensionless"] | None
    """Default: Dimensionless"""
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""

class TableIndependentVariable(IDFObject):
    """An independent variable representing a single dimension of a Table:Lookup object.; Since: 9.2.0"""

    interpolation_method: Literal["", "Cubic", "Linear"] | None
    """Default: Linear"""
    extrapolation_method: Literal["", "Constant", "Linear"] | None
    """Default: Constant"""
    minimum_value: float | None
    maximum_value: float | None
    normalization_reference_value: float | None
    unit_type: (
        Literal["", "Angle", "Dimensionless", "Distance", "MassFlow", "Power", "Temperature", "VolumetricFlow"] | None
    )
    """Default: Dimensionless"""
    external_file_name: str | None
    external_file_column_number: int | None
    """Range: >= 1"""
    external_file_starting_row_number: int | None
    """Range: >= 1"""
    value: float | None

class TableIndependentVariableList(IDFObject):
    """A sorted list of independent variables used by one or more Table:Lookup objects.; Since: 9.2.0"""

    independent_variable_name: str | None

class TableLookup(IDFObject):
    """Lookup tables are used in place of curves and can represent any number of independent variables (defined as Table:Ind...; Since: 9.2.0"""

    independent_variable_list_name: str | None
    normalization_method: Literal["", "AutomaticWithDivisor", "DivisorOnly", "None"] | None
    """Default: None"""
    normalization_divisor: float | None
    """Default: 1.0"""
    minimum_output: float | None
    maximum_output: float | None
    output_unit_type: Literal["", "Capacity", "Dimensionless", "Power", "Pressure", "Temperature"] | None
    """Default: Dimensionless"""
    external_file_name: str | None
    external_file_column_number: int | None
    """Range: >= 1"""
    external_file_starting_row_number: int | None
    """Range: >= 1"""
    output_value: float | None

class FluidPropertiesName(IDFObject):
    """potential fluid name/type in the input file repeat this object for each fluid"""

    fluid_type: Literal["Glycol", "Refrigerant"] | None

class FluidPropertiesGlycolConcentration(IDFObject):
    """glycol and what concentration it is"""

    glycol_type: Literal["EthyleneGlycol", "PropyleneGlycol", "UserDefinedGlycolType"] | None
    """or UserDefined Fluid (must show up as a glycol in FluidProperties:Name object)"""
    user_defined_glycol_name: str | None
    glycol_concentration: float | None
    """Range: >= 0.0, <= 1.0"""

class FluidPropertiesTemperatures(IDFObject):
    """property values for fluid properties list of up to 250 temperatures, note that number of property values must match t..."""

    temperature_1: float | None
    """[C]"""
    temperature_2: float | None
    """[C]"""
    temperature_3: float | None
    """[C]"""
    temperature_4: float | None
    """[C]"""
    temperature_5: float | None
    """[C]"""
    temperature_6: float | None
    """[C]"""
    temperature_7: float | None
    """[C]"""
    temperature_8: float | None
    """[C]"""
    temperature_9: float | None
    """[C]"""
    temperature_10: float | None
    """[C]"""
    temperature_11: float | None
    """[C]"""
    temperature_12: float | None
    """[C]"""
    temperature_13: float | None
    """[C]"""
    temperature_14: float | None
    """[C]"""
    temperature_15: float | None
    """[C]"""
    temperature_16: float | None
    """[C]"""
    temperature_17: float | None
    """[C]"""
    temperature_18: float | None
    """[C]"""
    temperature_19: float | None
    """[C]"""
    temperature_20: float | None
    """[C]"""
    temperature_21: float | None
    """[C]"""
    temperature_22: float | None
    """[C]"""
    temperature_23: float | None
    """[C]"""
    temperature_24: float | None
    """[C]"""
    temperature_25: float | None
    """[C]"""
    temperature_26: float | None
    """[C]"""
    temperature_27: float | None
    """[C]"""
    temperature_28: float | None
    """[C]"""
    temperature_29: float | None
    """[C]"""
    temperature_30: float | None
    """[C]"""
    temperature_31: float | None
    """[C]"""
    temperature_32: float | None
    """[C]"""
    temperature_33: float | None
    """[C]"""
    temperature_34: float | None
    """[C]"""
    temperature_35: float | None
    """[C]"""
    temperature_36: float | None
    """[C]"""
    temperature_37: float | None
    """[C]"""
    temperature_38: float | None
    """[C]"""
    temperature_39: float | None
    """[C]"""
    temperature_40: float | None
    """[C]"""
    temperature_41: float | None
    """[C]"""
    temperature_42: float | None
    """[C]"""
    temperature_43: float | None
    """[C]"""
    temperature_44: float | None
    """[C]"""
    temperature_45: float | None
    """[C]"""
    temperature_46: float | None
    """[C]"""
    temperature_47: float | None
    """[C]"""
    temperature_48: float | None
    """[C]"""
    temperature_49: float | None
    """[C]"""
    temperature_50: float | None
    """[C]"""
    temperature_51: float | None
    """[C]"""
    temperature_52: float | None
    """[C]"""
    temperature_53: float | None
    """[C]"""
    temperature_54: float | None
    """[C]"""
    temperature_55: float | None
    """[C]"""
    temperature_56: float | None
    """[C]"""
    temperature_57: float | None
    """[C]"""
    temperature_58: float | None
    """[C]"""
    temperature_59: float | None
    """[C]"""
    temperature_60: float | None
    """[C]"""
    temperature_61: float | None
    """[C]"""
    temperature_62: float | None
    """[C]"""
    temperature_63: float | None
    """[C]"""
    temperature_64: float | None
    """[C]"""
    temperature_65: float | None
    """[C]"""
    temperature_66: float | None
    """[C]"""
    temperature_67: float | None
    """[C]"""
    temperature_68: float | None
    """[C]"""
    temperature_69: float | None
    """[C]"""
    temperature_70: float | None
    """[C]"""
    temperature_71: float | None
    """[C]"""
    temperature_72: float | None
    """[C]"""
    temperature_73: float | None
    """[C]"""
    temperature_74: float | None
    """[C]"""
    temperature_75: float | None
    """[C]"""
    temperature_76: float | None
    """[C]"""
    temperature_77: float | None
    """[C]"""
    temperature_78: float | None
    """[C]"""
    temperature_79: float | None
    """[C]"""
    temperature_80: float | None
    """[C]"""
    temperature_81: float | None
    """[C]"""
    temperature_82: float | None
    """[C]"""
    temperature_83: float | None
    """[C]"""
    temperature_84: float | None
    """[C]"""
    temperature_85: float | None
    """[C]"""
    temperature_86: float | None
    """[C]"""
    temperature_87: float | None
    """[C]"""
    temperature_88: float | None
    """[C]"""
    temperature_89: float | None
    """[C]"""
    temperature_90: float | None
    """[C]"""
    temperature_91: float | None
    """[C]"""
    temperature_92: float | None
    """[C]"""
    temperature_93: float | None
    """[C]"""
    temperature_94: float | None
    """[C]"""
    temperature_95: float | None
    """[C]"""
    temperature_96: float | None
    """[C]"""
    temperature_97: float | None
    """[C]"""
    temperature_98: float | None
    """[C]"""
    temperature_99: float | None
    """[C]"""
    temperature_100: float | None
    """[C]"""
    temperature_101: float | None
    """[C]"""
    temperature_102: float | None
    """[C]"""
    temperature_103: float | None
    """[C]"""
    temperature_104: float | None
    """[C]"""
    temperature_105: float | None
    """[C]"""
    temperature_106: float | None
    """[C]"""
    temperature_107: float | None
    """[C]"""
    temperature_108: float | None
    """[C]"""
    temperature_109: float | None
    """[C]"""
    temperature_110: float | None
    """[C]"""
    temperature_111: float | None
    """[C]"""
    temperature_112: float | None
    """[C]"""
    temperature_113: float | None
    """[C]"""
    temperature_114: float | None
    """[C]"""
    temperature_115: float | None
    """[C]"""
    temperature_116: float | None
    """[C]"""
    temperature_117: float | None
    """[C]"""
    temperature_118: float | None
    """[C]"""
    temperature_119: float | None
    """[C]"""
    temperature_120: float | None
    """[C]"""
    temperature_121: float | None
    """[C]"""
    temperature_122: float | None
    """[C]"""
    temperature_123: float | None
    """[C]"""
    temperature_124: float | None
    """[C]"""
    temperature_125: float | None
    """[C]"""
    temperature_126: float | None
    """[C]"""
    temperature_127: float | None
    """[C]"""
    temperature_128: float | None
    """[C]"""
    temperature_129: float | None
    """[C]"""
    temperature_130: float | None
    """[C]"""
    temperature_131: float | None
    """[C]"""
    temperature_132: float | None
    """[C]"""
    temperature_133: float | None
    """[C]"""
    temperature_134: float | None
    """[C]"""
    temperature_135: float | None
    """[C]"""
    temperature_136: float | None
    """[C]"""
    temperature_137: float | None
    """[C]"""
    temperature_138: float | None
    """[C]"""
    temperature_139: float | None
    """[C]"""
    temperature_140: float | None
    """[C]"""
    temperature_141: float | None
    """[C]"""
    temperature_142: float | None
    """[C]"""
    temperature_143: float | None
    """[C]"""
    temperature_144: float | None
    """[C]"""
    temperature_145: float | None
    """[C]"""
    temperature_146: float | None
    """[C]"""
    temperature_147: float | None
    """[C]"""
    temperature_148: float | None
    """[C]"""
    temperature_149: float | None
    """[C]"""
    temperature_150: float | None
    """[C]"""
    temperature_151: float | None
    """[C]"""
    temperature_152: float | None
    """[C]"""
    temperature_153: float | None
    """[C]"""
    temperature_154: float | None
    """[C]"""
    temperature_155: float | None
    """[C]"""
    temperature_156: float | None
    """[C]"""
    temperature_157: float | None
    """[C]"""
    temperature_158: float | None
    """[C]"""
    temperature_159: float | None
    """[C]"""
    temperature_160: float | None
    """[C]"""
    temperature_161: float | None
    """[C]"""
    temperature_162: float | None
    """[C]"""
    temperature_163: float | None
    """[C]"""
    temperature_164: float | None
    """[C]"""
    temperature_165: float | None
    """[C]"""
    temperature_166: float | None
    """[C]"""
    temperature_167: float | None
    """[C]"""
    temperature_168: float | None
    """[C]"""
    temperature_169: float | None
    """[C]"""
    temperature_170: float | None
    """[C]"""
    temperature_171: float | None
    """[C]"""
    temperature_172: float | None
    """[C]"""
    temperature_173: float | None
    """[C]"""
    temperature_174: float | None
    """[C]"""
    temperature_175: float | None
    """[C]"""
    temperature_176: float | None
    """[C]"""
    temperature_177: float | None
    """[C]"""
    temperature_178: float | None
    """[C]"""
    temperature_179: float | None
    """[C]"""
    temperature_180: float | None
    """[C]"""
    temperature_181: float | None
    """[C]"""
    temperature_182: float | None
    """[C]"""
    temperature_183: float | None
    """[C]"""
    temperature_184: float | None
    """[C]"""
    temperature_185: float | None
    """[C]"""
    temperature_186: float | None
    """[C]"""
    temperature_187: float | None
    """[C]"""
    temperature_188: float | None
    """[C]"""
    temperature_189: float | None
    """[C]"""
    temperature_190: float | None
    """[C]"""
    temperature_191: float | None
    """[C]"""
    temperature_192: float | None
    """[C]"""
    temperature_193: float | None
    """[C]"""
    temperature_194: float | None
    """[C]"""
    temperature_195: float | None
    """[C]"""
    temperature_196: float | None
    """[C]"""
    temperature_197: float | None
    """[C]"""
    temperature_198: float | None
    """[C]"""
    temperature_199: float | None
    """[C]"""
    temperature_200: float | None
    """[C]"""
    temperature_201: float | None
    """[C]"""
    temperature_202: float | None
    """[C]"""
    temperature_203: float | None
    """[C]"""
    temperature_204: float | None
    """[C]"""
    temperature_205: float | None
    """[C]"""
    temperature_206: float | None
    """[C]"""
    temperature_207: float | None
    """[C]"""
    temperature_208: float | None
    """[C]"""
    temperature_209: float | None
    """[C]"""
    temperature_210: float | None
    """[C]"""
    temperature_211: float | None
    """[C]"""
    temperature_212: float | None
    """[C]"""
    temperature_213: float | None
    """[C]"""
    temperature_214: float | None
    """[C]"""
    temperature_215: float | None
    """[C]"""
    temperature_216: float | None
    """[C]"""
    temperature_217: float | None
    """[C]"""
    temperature_218: float | None
    """[C]"""
    temperature_219: float | None
    """[C]"""
    temperature_220: float | None
    """[C]"""
    temperature_221: float | None
    """[C]"""
    temperature_222: float | None
    """[C]"""
    temperature_223: float | None
    """[C]"""
    temperature_224: float | None
    """[C]"""
    temperature_225: float | None
    """[C]"""
    temperature_226: float | None
    """[C]"""
    temperature_227: float | None
    """[C]"""
    temperature_228: float | None
    """[C]"""
    temperature_229: float | None
    """[C]"""
    temperature_230: float | None
    """[C]"""
    temperature_231: float | None
    """[C]"""
    temperature_232: float | None
    """[C]"""
    temperature_233: float | None
    """[C]"""
    temperature_234: float | None
    """[C]"""
    temperature_235: float | None
    """[C]"""
    temperature_236: float | None
    """[C]"""
    temperature_237: float | None
    """[C]"""
    temperature_238: float | None
    """[C]"""
    temperature_239: float | None
    """[C]"""
    temperature_240: float | None
    """[C]"""
    temperature_241: float | None
    """[C]"""
    temperature_242: float | None
    """[C]"""
    temperature_243: float | None
    """[C]"""
    temperature_244: float | None
    """[C]"""
    temperature_245: float | None
    """[C]"""
    temperature_246: float | None
    """[C]"""
    temperature_247: float | None
    """[C]"""
    temperature_248: float | None
    """[C]"""
    temperature_249: float | None
    """[C]"""
    temperature_250: float | None
    """[C]"""

class FluidPropertiesSaturated(IDFObject):
    """fluid properties for the saturated region"""

    fluid_property_type: Literal["Density", "Enthalpy", "Pressure", "SpecificHeat"] | None
    """Enthalpy Units are J/kg Density Units are kg/m3 SpecificHeat Units are J/kg-K Pressure Units are Pa"""
    fluid_phase: Literal["Fluid", "FluidGas"] | None
    """Fluid=saturated fluid FluidGas=saturated vapor"""
    temperature_values_name: str | None
    """Enter the name of a FluidProperties:Temperatures object."""
    property_value_1: float | None
    property_value_2: float | None
    property_value_3: float | None
    property_value_4: float | None
    property_value_5: float | None
    property_value_6: float | None
    property_value_7: float | None
    property_value_8: float | None
    property_value_9: float | None
    property_value_10: float | None
    property_value_11: float | None
    property_value_12: float | None
    property_value_13: float | None
    property_value_14: float | None
    property_value_15: float | None
    property_value_16: float | None
    property_value_17: float | None
    property_value_18: float | None
    property_value_19: float | None
    property_value_20: float | None
    property_value_21: float | None
    property_value_22: float | None
    property_value_23: float | None
    property_value_24: float | None
    property_value_25: float | None
    property_value_26: float | None
    property_value_27: float | None
    property_value_28: float | None
    property_value_29: float | None
    property_value_30: float | None
    property_value_31: float | None
    property_value_32: float | None
    property_value_33: float | None
    property_value_34: float | None
    property_value_35: float | None
    property_value_36: float | None
    property_value_37: float | None
    property_value_38: float | None
    property_value_39: float | None
    property_value_40: float | None
    property_value_41: float | None
    property_value_42: float | None
    property_value_43: float | None
    property_value_44: float | None
    property_value_45: float | None
    property_value_46: float | None
    property_value_47: float | None
    property_value_48: float | None
    property_value_49: float | None
    property_value_50: float | None
    property_value_51: float | None
    property_value_52: float | None
    property_value_53: float | None
    property_value_54: float | None
    property_value_55: float | None
    property_value_56: float | None
    property_value_57: float | None
    property_value_58: float | None
    property_value_59: float | None
    property_value_60: float | None
    property_value_61: float | None
    property_value_62: float | None
    property_value_63: float | None
    property_value_64: float | None
    property_value_65: float | None
    property_value_66: float | None
    property_value_67: float | None
    property_value_68: float | None
    property_value_69: float | None
    property_value_70: float | None
    property_value_71: float | None
    property_value_72: float | None
    property_value_73: float | None
    property_value_74: float | None
    property_value_75: float | None
    property_value_76: float | None
    property_value_77: float | None
    property_value_78: float | None
    property_value_79: float | None
    property_value_80: float | None
    property_value_81: float | None
    property_value_82: float | None
    property_value_83: float | None
    property_value_84: float | None
    property_value_85: float | None
    property_value_86: float | None
    property_value_87: float | None
    property_value_88: float | None
    property_value_89: float | None
    property_value_90: float | None
    property_value_91: float | None
    property_value_92: float | None
    property_value_93: float | None
    property_value_94: float | None
    property_value_95: float | None
    property_value_96: float | None
    property_value_97: float | None
    property_value_98: float | None
    property_value_99: float | None
    property_value_100: float | None
    property_value_101: float | None
    property_value_102: float | None
    property_value_103: float | None
    property_value_104: float | None
    property_value_105: float | None
    property_value_106: float | None
    property_value_107: float | None
    property_value_108: float | None
    property_value_109: float | None
    property_value_110: float | None
    property_value_111: float | None
    property_value_112: float | None
    property_value_113: float | None
    property_value_114: float | None
    property_value_115: float | None
    property_value_116: float | None
    property_value_117: float | None
    property_value_118: float | None
    property_value_119: float | None
    property_value_120: float | None
    property_value_121: float | None
    property_value_122: float | None
    property_value_123: float | None
    property_value_124: float | None
    property_value_125: float | None
    property_value_126: float | None
    property_value_127: float | None
    property_value_128: float | None
    property_value_129: float | None
    property_value_130: float | None
    property_value_131: float | None
    property_value_132: float | None
    property_value_133: float | None
    property_value_134: float | None
    property_value_135: float | None
    property_value_136: float | None
    property_value_137: float | None
    property_value_138: float | None
    property_value_139: float | None
    property_value_140: float | None
    property_value_141: float | None
    property_value_142: float | None
    property_value_143: float | None
    property_value_144: float | None
    property_value_145: float | None
    property_value_146: float | None
    property_value_147: float | None
    property_value_148: float | None
    property_value_149: float | None
    property_value_150: float | None
    property_value_151: float | None
    property_value_152: float | None
    property_value_153: float | None
    property_value_154: float | None
    property_value_155: float | None
    property_value_156: float | None
    property_value_157: float | None
    property_value_158: float | None
    property_value_159: float | None
    property_value_160: float | None
    property_value_161: float | None
    property_value_162: float | None
    property_value_163: float | None
    property_value_164: float | None
    property_value_165: float | None
    property_value_166: float | None
    property_value_167: float | None
    property_value_168: float | None
    property_value_169: float | None
    property_value_170: float | None
    property_value_171: float | None
    property_value_172: float | None
    property_value_173: float | None
    property_value_174: float | None
    property_value_175: float | None
    property_value_176: float | None
    property_value_177: float | None
    property_value_178: float | None
    property_value_179: float | None
    property_value_180: float | None
    property_value_181: float | None
    property_value_182: float | None
    property_value_183: float | None
    property_value_184: float | None
    property_value_185: float | None
    property_value_186: float | None
    property_value_187: float | None
    property_value_188: float | None
    property_value_189: float | None
    property_value_190: float | None
    property_value_191: float | None
    property_value_192: float | None
    property_value_193: float | None
    property_value_194: float | None
    property_value_195: float | None
    property_value_196: float | None
    property_value_197: float | None
    property_value_198: float | None
    property_value_199: float | None
    property_value_200: float | None
    property_value_201: float | None
    property_value_202: float | None
    property_value_203: float | None
    property_value_204: float | None
    property_value_205: float | None
    property_value_206: float | None
    property_value_207: float | None
    property_value_208: float | None
    property_value_209: float | None
    property_value_210: float | None
    property_value_211: float | None
    property_value_212: float | None
    property_value_213: float | None
    property_value_214: float | None
    property_value_215: float | None
    property_value_216: float | None
    property_value_217: float | None
    property_value_218: float | None
    property_value_219: float | None
    property_value_220: float | None
    property_value_221: float | None
    property_value_222: float | None
    property_value_223: float | None
    property_value_224: float | None
    property_value_225: float | None
    property_value_226: float | None
    property_value_227: float | None
    property_value_228: float | None
    property_value_229: float | None
    property_value_230: float | None
    property_value_231: float | None
    property_value_232: float | None
    property_value_233: float | None
    property_value_234: float | None
    property_value_235: float | None
    property_value_236: float | None
    property_value_237: float | None
    property_value_238: float | None
    property_value_239: float | None
    property_value_240: float | None
    property_value_241: float | None
    property_value_242: float | None
    property_value_243: float | None
    property_value_244: float | None
    property_value_245: float | None
    property_value_246: float | None
    property_value_247: float | None
    property_value_248: float | None
    property_value_249: float | None
    property_value_250: float | None

class FluidPropertiesSuperheated(IDFObject):
    """fluid properties for the superheated region"""

    fluid_property_type: Literal["Density", "Enthalpy"] | None
    """Enthalpy Units are J/kg Density Units are kg/m3"""
    temperature_values_name: str | None
    """Enter the name of a FluidProperties:Temperatures object."""
    pressure: float | None
    """pressure for this list of properties; [Pa]; Range: > 0.0"""
    property_value_1: float | None
    property_value_2: float | None
    property_value_3: float | None
    property_value_4: float | None
    property_value_5: float | None
    property_value_6: float | None
    property_value_7: float | None
    property_value_8: float | None
    property_value_9: float | None
    property_value_10: float | None
    property_value_11: float | None
    property_value_12: float | None
    property_value_13: float | None
    property_value_14: float | None
    property_value_15: float | None
    property_value_16: float | None
    property_value_17: float | None
    property_value_18: float | None
    property_value_19: float | None
    property_value_20: float | None
    property_value_21: float | None
    property_value_22: float | None
    property_value_23: float | None
    property_value_24: float | None
    property_value_25: float | None
    property_value_26: float | None
    property_value_27: float | None
    property_value_28: float | None
    property_value_29: float | None
    property_value_30: float | None
    property_value_31: float | None
    property_value_32: float | None
    property_value_33: float | None
    property_value_34: float | None
    property_value_35: float | None
    property_value_36: float | None
    property_value_37: float | None
    property_value_38: float | None
    property_value_39: float | None
    property_value_40: float | None
    property_value_41: float | None
    property_value_42: float | None
    property_value_43: float | None
    property_value_44: float | None
    property_value_45: float | None
    property_value_46: float | None
    property_value_47: float | None
    property_value_48: float | None
    property_value_49: float | None
    property_value_50: float | None
    property_value_51: float | None
    property_value_52: float | None
    property_value_53: float | None
    property_value_54: float | None
    property_value_55: float | None
    property_value_56: float | None
    property_value_57: float | None
    property_value_58: float | None
    property_value_59: float | None
    property_value_60: float | None
    property_value_61: float | None
    property_value_62: float | None
    property_value_63: float | None
    property_value_64: float | None
    property_value_65: float | None
    property_value_66: float | None
    property_value_67: float | None
    property_value_68: float | None
    property_value_69: float | None
    property_value_70: float | None
    property_value_71: float | None
    property_value_72: float | None
    property_value_73: float | None
    property_value_74: float | None
    property_value_75: float | None
    property_value_76: float | None
    property_value_77: float | None
    property_value_78: float | None
    property_value_79: float | None
    property_value_80: float | None
    property_value_81: float | None
    property_value_82: float | None
    property_value_83: float | None
    property_value_84: float | None
    property_value_85: float | None
    property_value_86: float | None
    property_value_87: float | None
    property_value_88: float | None
    property_value_89: float | None
    property_value_90: float | None
    property_value_91: float | None
    property_value_92: float | None
    property_value_93: float | None
    property_value_94: float | None
    property_value_95: float | None
    property_value_96: float | None
    property_value_97: float | None
    property_value_98: float | None
    property_value_99: float | None
    property_value_100: float | None
    property_value_101: float | None
    property_value_102: float | None
    property_value_103: float | None
    property_value_104: float | None
    property_value_105: float | None
    property_value_106: float | None
    property_value_107: float | None
    property_value_108: float | None
    property_value_109: float | None
    property_value_110: float | None
    property_value_111: float | None
    property_value_112: float | None
    property_value_113: float | None
    property_value_114: float | None
    property_value_115: float | None
    property_value_116: float | None
    property_value_117: float | None
    property_value_118: float | None
    property_value_119: float | None
    property_value_120: float | None
    property_value_121: float | None
    property_value_122: float | None
    property_value_123: float | None
    property_value_124: float | None
    property_value_125: float | None
    property_value_126: float | None
    property_value_127: float | None
    property_value_128: float | None
    property_value_129: float | None
    property_value_130: float | None
    property_value_131: float | None
    property_value_132: float | None
    property_value_133: float | None
    property_value_134: float | None
    property_value_135: float | None
    property_value_136: float | None
    property_value_137: float | None
    property_value_138: float | None
    property_value_139: float | None
    property_value_140: float | None
    property_value_141: float | None
    property_value_142: float | None
    property_value_143: float | None
    property_value_144: float | None
    property_value_145: float | None
    property_value_146: float | None
    property_value_147: float | None
    property_value_148: float | None
    property_value_149: float | None
    property_value_150: float | None
    property_value_151: float | None
    property_value_152: float | None
    property_value_153: float | None
    property_value_154: float | None
    property_value_155: float | None
    property_value_156: float | None
    property_value_157: float | None
    property_value_158: float | None
    property_value_159: float | None
    property_value_160: float | None
    property_value_161: float | None
    property_value_162: float | None
    property_value_163: float | None
    property_value_164: float | None
    property_value_165: float | None
    property_value_166: float | None
    property_value_167: float | None
    property_value_168: float | None
    property_value_169: float | None
    property_value_170: float | None
    property_value_171: float | None
    property_value_172: float | None
    property_value_173: float | None
    property_value_174: float | None
    property_value_175: float | None
    property_value_176: float | None
    property_value_177: float | None
    property_value_178: float | None
    property_value_179: float | None
    property_value_180: float | None
    property_value_181: float | None
    property_value_182: float | None
    property_value_183: float | None
    property_value_184: float | None
    property_value_185: float | None
    property_value_186: float | None
    property_value_187: float | None
    property_value_188: float | None
    property_value_189: float | None
    property_value_190: float | None
    property_value_191: float | None
    property_value_192: float | None
    property_value_193: float | None
    property_value_194: float | None
    property_value_195: float | None
    property_value_196: float | None
    property_value_197: float | None
    property_value_198: float | None
    property_value_199: float | None
    property_value_200: float | None
    property_value_201: float | None
    property_value_202: float | None
    property_value_203: float | None
    property_value_204: float | None
    property_value_205: float | None
    property_value_206: float | None
    property_value_207: float | None
    property_value_208: float | None
    property_value_209: float | None
    property_value_210: float | None
    property_value_211: float | None
    property_value_212: float | None
    property_value_213: float | None
    property_value_214: float | None
    property_value_215: float | None
    property_value_216: float | None
    property_value_217: float | None
    property_value_218: float | None
    property_value_219: float | None
    property_value_220: float | None
    property_value_221: float | None
    property_value_222: float | None
    property_value_223: float | None
    property_value_224: float | None
    property_value_225: float | None
    property_value_226: float | None
    property_value_227: float | None
    property_value_228: float | None
    property_value_229: float | None
    property_value_230: float | None
    property_value_231: float | None
    property_value_232: float | None
    property_value_233: float | None
    property_value_234: float | None
    property_value_235: float | None
    property_value_236: float | None
    property_value_237: float | None
    property_value_238: float | None
    property_value_239: float | None
    property_value_240: float | None
    property_value_241: float | None
    property_value_242: float | None
    property_value_243: float | None
    property_value_244: float | None
    property_value_245: float | None
    property_value_246: float | None
    property_value_247: float | None
    property_value_248: float | None
    property_value_249: float | None
    property_value_250: float | None

class FluidPropertiesConcentration(IDFObject):
    """fluid properties for water/other fluid mixtures"""

    fluid_property_type: Literal["Conductivity", "Density", "SpecificHeat", "Viscosity"] | None
    """Density Units are kg/m3 SpecificHeat Units are J/kg-K Conductivity Units are W/m-K Viscosity Units are N-s/m2"""
    temperature_values_name: str | None
    """Enter the name of a FluidProperties:Temperatures object."""
    concentration: float | None
    """Glycol concentration for this list of properties entered as a fraction; [dimensionless]; Range: >= 0.0, <= 1.0"""
    property_value_1: float | None
    property_value_2: float | None
    property_value_3: float | None
    property_value_4: float | None
    property_value_5: float | None
    property_value_6: float | None
    property_value_7: float | None
    property_value_8: float | None
    property_value_9: float | None
    property_value_10: float | None
    property_value_11: float | None
    property_value_12: float | None
    property_value_13: float | None
    property_value_14: float | None
    property_value_15: float | None
    property_value_16: float | None
    property_value_17: float | None
    property_value_18: float | None
    property_value_19: float | None
    property_value_20: float | None
    property_value_21: float | None
    property_value_22: float | None
    property_value_23: float | None
    property_value_24: float | None
    property_value_25: float | None
    property_value_26: float | None
    property_value_27: float | None
    property_value_28: float | None
    property_value_29: float | None
    property_value_30: float | None
    property_value_31: float | None
    property_value_32: float | None
    property_value_33: float | None
    property_value_34: float | None
    property_value_35: float | None
    property_value_36: float | None
    property_value_37: float | None
    property_value_38: float | None
    property_value_39: float | None
    property_value_40: float | None
    property_value_41: float | None
    property_value_42: float | None
    property_value_43: float | None
    property_value_44: float | None
    property_value_45: float | None
    property_value_46: float | None
    property_value_47: float | None
    property_value_48: float | None
    property_value_49: float | None
    property_value_50: float | None
    property_value_51: float | None
    property_value_52: float | None
    property_value_53: float | None
    property_value_54: float | None
    property_value_55: float | None
    property_value_56: float | None
    property_value_57: float | None
    property_value_58: float | None
    property_value_59: float | None
    property_value_60: float | None
    property_value_61: float | None
    property_value_62: float | None
    property_value_63: float | None
    property_value_64: float | None
    property_value_65: float | None
    property_value_66: float | None
    property_value_67: float | None
    property_value_68: float | None
    property_value_69: float | None
    property_value_70: float | None
    property_value_71: float | None
    property_value_72: float | None
    property_value_73: float | None
    property_value_74: float | None
    property_value_75: float | None
    property_value_76: float | None
    property_value_77: float | None
    property_value_78: float | None
    property_value_79: float | None
    property_value_80: float | None
    property_value_81: float | None
    property_value_82: float | None
    property_value_83: float | None
    property_value_84: float | None
    property_value_85: float | None
    property_value_86: float | None
    property_value_87: float | None
    property_value_88: float | None
    property_value_89: float | None
    property_value_90: float | None
    property_value_91: float | None
    property_value_92: float | None
    property_value_93: float | None
    property_value_94: float | None
    property_value_95: float | None
    property_value_96: float | None
    property_value_97: float | None
    property_value_98: float | None
    property_value_99: float | None
    property_value_100: float | None
    property_value_101: float | None
    property_value_102: float | None
    property_value_103: float | None
    property_value_104: float | None
    property_value_105: float | None
    property_value_106: float | None
    property_value_107: float | None
    property_value_108: float | None
    property_value_109: float | None
    property_value_110: float | None
    property_value_111: float | None
    property_value_112: float | None
    property_value_113: float | None
    property_value_114: float | None
    property_value_115: float | None
    property_value_116: float | None
    property_value_117: float | None
    property_value_118: float | None
    property_value_119: float | None
    property_value_120: float | None
    property_value_121: float | None
    property_value_122: float | None
    property_value_123: float | None
    property_value_124: float | None
    property_value_125: float | None
    property_value_126: float | None
    property_value_127: float | None
    property_value_128: float | None
    property_value_129: float | None
    property_value_130: float | None
    property_value_131: float | None
    property_value_132: float | None
    property_value_133: float | None
    property_value_134: float | None
    property_value_135: float | None
    property_value_136: float | None
    property_value_137: float | None
    property_value_138: float | None
    property_value_139: float | None
    property_value_140: float | None
    property_value_141: float | None
    property_value_142: float | None
    property_value_143: float | None
    property_value_144: float | None
    property_value_145: float | None
    property_value_146: float | None
    property_value_147: float | None
    property_value_148: float | None
    property_value_149: float | None
    property_value_150: float | None
    property_value_151: float | None
    property_value_152: float | None
    property_value_153: float | None
    property_value_154: float | None
    property_value_155: float | None
    property_value_156: float | None
    property_value_157: float | None
    property_value_158: float | None
    property_value_159: float | None
    property_value_160: float | None
    property_value_161: float | None
    property_value_162: float | None
    property_value_163: float | None
    property_value_164: float | None
    property_value_165: float | None
    property_value_166: float | None
    property_value_167: float | None
    property_value_168: float | None
    property_value_169: float | None
    property_value_170: float | None
    property_value_171: float | None
    property_value_172: float | None
    property_value_173: float | None
    property_value_174: float | None
    property_value_175: float | None
    property_value_176: float | None
    property_value_177: float | None
    property_value_178: float | None
    property_value_179: float | None
    property_value_180: float | None
    property_value_181: float | None
    property_value_182: float | None
    property_value_183: float | None
    property_value_184: float | None
    property_value_185: float | None
    property_value_186: float | None
    property_value_187: float | None
    property_value_188: float | None
    property_value_189: float | None
    property_value_190: float | None
    property_value_191: float | None
    property_value_192: float | None
    property_value_193: float | None
    property_value_194: float | None
    property_value_195: float | None
    property_value_196: float | None
    property_value_197: float | None
    property_value_198: float | None
    property_value_199: float | None
    property_value_200: float | None
    property_value_201: float | None
    property_value_202: float | None
    property_value_203: float | None
    property_value_204: float | None
    property_value_205: float | None
    property_value_206: float | None
    property_value_207: float | None
    property_value_208: float | None
    property_value_209: float | None
    property_value_210: float | None
    property_value_211: float | None
    property_value_212: float | None
    property_value_213: float | None
    property_value_214: float | None
    property_value_215: float | None
    property_value_216: float | None
    property_value_217: float | None
    property_value_218: float | None
    property_value_219: float | None
    property_value_220: float | None
    property_value_221: float | None
    property_value_222: float | None
    property_value_223: float | None
    property_value_224: float | None
    property_value_225: float | None
    property_value_226: float | None
    property_value_227: float | None
    property_value_228: float | None
    property_value_229: float | None
    property_value_230: float | None
    property_value_231: float | None
    property_value_232: float | None
    property_value_233: float | None
    property_value_234: float | None
    property_value_235: float | None
    property_value_236: float | None
    property_value_237: float | None
    property_value_238: float | None
    property_value_239: float | None
    property_value_240: float | None
    property_value_241: float | None
    property_value_242: float | None
    property_value_243: float | None
    property_value_244: float | None
    property_value_245: float | None
    property_value_246: float | None
    property_value_247: float | None
    property_value_248: float | None
    property_value_249: float | None
    property_value_250: float | None

class CurrencyType(IDFObject):
    """If CurrencyType is not specified, it will default to USD and produce $ in the reports."""

class ComponentCostAdjustments(IDFObject):
    """Used to perform various modifications to the construction costs to arrive at an estimate for total project costs. Thi..."""

    design_and_engineering_fees: float | None
    """[dimensionless]"""
    contractor_fee: float | None
    """[dimensionless]"""
    contingency: float | None
    """[dimensionless]"""
    permits_bonding_and_insurance: float | None
    """[dimensionless]"""
    commissioning_fee: float | None
    """[dimensionless]"""
    regional_adjustment_factor: float | None
    """for use with average data in line item and Misc cost models; [dimensionless]"""

class ComponentCostReference(IDFObject):
    """Used to allow comparing the current cost estimate to the results of a previous estimate for a reference building. Thi..."""

    reference_building_miscellaneous_cost_per_conditioned_area: float | None
    """based on conditioned floor area for cost not accounted for in reference line item costs; [$/m2]"""
    reference_building_design_and_engineering_fees: float | None
    """[dimensionless]"""
    reference_building_contractor_fee: float | None
    """[dimensionless]"""
    reference_building_contingency: float | None
    reference_building_permits_bonding_and_insurance: float | None
    """[dimensionless]"""
    reference_building_commissioning_fee: float | None
    """[dimensionless]"""
    reference_building_regional_adjustment_factor: float | None
    """for use with average data in line item and Misc cost models; [dimensionless]"""

class ComponentCostLineItem(IDFObject):
    """Each instance of this object creates a cost line item and will contribute to the total for a cost estimate."""

    type: str | None
    line_item_type: (
        Literal[
            "Chiller:Electric",
            "Coil:Cooling:DX",
            "Coil:Cooling:DX:SingleSpeed",
            "Coil:DX",
            "Coil:Heating:Fuel",
            "Construction",
            "Daylighting:Controls",
            "General",
            "Generator:Photovoltaic",
            "Lights",
            "Shading:Zone:Detailed",
        ]
        | None
    )
    """extend choice-keys as Cases are added to code"""
    item_name: str | None
    """wildcard '*' is acceptable for some components"""
    object_end_use_key: str | None
    """not yet used"""
    cost_per_each: float | None
    """[$]"""
    cost_per_area: float | None
    """[$/m2]"""
    cost_per_unit_of_output_capacity: float | None
    """[$/kW]"""
    cost_per_unit_of_output_capacity_per_cop: float | None
    """The value is per change in COP.; [$/kW]"""
    cost_per_volume: float | None
    """[$/m3]"""
    cost_per_volume_rate: float | None
    """[$/(m3/s)]"""
    cost_per_energy_per_temperature_difference: float | None
    """as in for use with UA sizing of Coils; [$/(W/K)]"""
    quantity: float | None
    """optional for use with Cost per Each and 'General' object Type; [dimensionless]"""

class UtilityCostTariff(IDFObject):
    """Defines the name of a utility cost tariff, the type of tariff, and other details about the overall tariff. Each other..."""

    output_meter_name: str | None
    """The name of any standard meter or custom meter or but usually set to either Electricity:Facility or Gas:Facility"""
    conversion_factor_choice: (
        Literal["CCF", "MCF", "MJ", "MMBtu", "Therm", "UserDefined", "gal", "kBtu", "kWh", "kgal", "m3"] | None
    )
    """A choice that allows several different predefined conversion factors to be used; otherwise user defined conversion fa..."""
    energy_conversion_factor: float | None
    """Is a multiplier used to convert energy into the units specified by the utility in their tariff. If left blank it defa..."""
    demand_conversion_factor: float | None
    """Is a multiplier used to convert demand into the units specified by the utility in their tariff. If left blank it defa..."""
    time_of_use_period_schedule_name: str | None
    """The name of the schedule that defines the time-of-use periods that occur each day. The values for the different varia..."""
    season_schedule_name: str | None
    """The name of a schedule that defines the seasons. The schedule values are: 1 for Winter. 2 for Spring. 3 for Summer. 4..."""
    month_schedule_name: str | None
    """The name of the schedule that defines the billing periods of the year. Normally this entry is allowed to default and ..."""
    demand_window_length: Literal["Day", "FullHour", "HalfHour", "QuarterHour", "Week"] | None
    """The determination of demand can vary by utility. Some utilities use the peak instantaneous demand measured but most u..."""
    monthly_charge_or_variable_name: float | str | None
    """The fixed monthly service charge that many utilities have. The entry may be numeric and gets added to the ServiceChar..."""
    minimum_monthly_charge_or_variable_name: float | str | None
    """The minimum total charge for the tariff or if a variable name is entered here its values for each month are used."""
    real_time_pricing_charge_schedule_name: str | None
    """Used with real time pricing rates. The name of a schedule that contains the cost of energy for that particular time p..."""
    customer_baseline_load_schedule_name: str | None
    """Used with real time pricing rates. The name of a schedule that contains the baseline energy use for the customer. Man..."""
    group_name: str | None
    """The group name of the tariff such as distribution transmission supplier etc. If more than one tariff with the same gr..."""
    buy_or_sell: Literal["", "BuyFromUtility", "NetMetering", "SellToUtility"] | None
    """Sets whether the tariff is used for buying selling or both to the utility. This should be allowed to default to buyFr...; Default: BuyFromUtility"""

class UtilityCostQualify(IDFObject):
    """The qualify object allows only tariffs to be selected based on limits which may apply such as maximum or minimum dema..."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Qualify."""
    variable_name: str | None
    """The name of the variable used. For energy and demand the automatically created variables totalEnergy and totalDemand ..."""
    qualify_type: Literal["", "Maximum", "Minimum"] | None
    """Default: Maximum"""
    threshold_value_or_variable_name: float | str | None
    """The minimum or maximum value for the qualify. If the variable has values that are less than this value when the quali..."""
    season: Literal["Annual", "Fall", "Spring", "Summer", "Winter"] | None
    """If the UtilityCost:Qualify only applies to a season enter the season name. If this field is left blank it defaults to..."""
    threshold_test: Literal["", "Consecutive", "Count"] | None
    """Uses the number in Number of Months in one of two different ways depending on the Threshold Test. If the Threshold Te...; Default: Consecutive"""
    number_of_months: float | None
    """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...; Range: >= 1.0, <= 12.0"""

class UtilityCostChargeSimple(IDFObject):
    """UtilityCost:Charge:Simple is one of the most often used objects for tariff calculation. It is used to compute energy ..."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Charge:Simple."""
    source_variable: str | None
    """The name of the source used by the UtilityCost:Charge:Simple. This is usually the name of the variable holding the en..."""
    season: Literal["Annual", "Fall", "Spring", "Summer", "Winter"] | None
    """If this is set to annual the calculations are performed for the UtilityCost:Charge:Simple for the entire year (all mo..."""
    category_variable_name: (
        Literal[
            "Adjustment",
            "Basis",
            "DemandCharges",
            "EnergyCharges",
            "NotIncluded",
            "ServiceCharges",
            "Subtotal",
            "Surcharge",
            "Taxes",
            "Total",
        ]
        | None
    )
    """This field shows where the charge should be added. The reason to enter this field appropriately is so that the charge..."""
    cost_per_unit_value_or_variable_name: float | str | None
    """This field contains either a single number or the name of a variable. The number is multiplied with all of the energy..."""

class UtilityCostChargeBlock(IDFObject):
    """Used to compute energy and demand charges (or any other charges) that are structured in blocks of charges. Multiple U..."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Charge:Block."""
    source_variable: str | None
    """The name of the source used by the UtilityCost:Charge:Block. This is usually the name of the variable holding the ene..."""
    season: Literal["", "Annual", "Fall", "Spring", "Summer", "Winter"] | None
    """If this is set to annual the calculations are performed for the UtilityCost:Charge:Block for the entire year (all mon...; Default: Annual"""
    category_variable_name: (
        Literal[
            "Adjustment",
            "Basis",
            "DemandCharges",
            "EnergyCharges",
            "NotIncluded",
            "ServiceCharges",
            "Subtotal",
            "Surcharge",
            "Taxes",
            "Total",
        ]
        | None
    )
    """This field shows where the charge should be added. The reason to enter this field appropriately is so that the charge..."""
    remaining_into_variable: str | None
    """If the blocks do not use all of the energy or demand from the source some energy and demand remains then the remainin..."""
    block_size_multiplier_value_or_variable_name: float | str | None
    """The sizes of the blocks are usually used directly but if a value or a variable is entered here the block sizes entere..."""
    block_size_1_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_1_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_2_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_2_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_3_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_3_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_4_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_4_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_5_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_5_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_6_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_6_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_7_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_7_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_8_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_8_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_9_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_9_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_10_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_10_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_11_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_11_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_12_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_12_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_13_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_13_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_14_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_14_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""
    block_size_15_value_or_variable_name: float | str | None
    """The size of the block of the charges is entered here. For most rates that use multiple blocks this will be the value ..."""
    block_15_cost_per_unit_value_or_variable_name: float | str | None
    """The cost of the block. This field is unusual for the EnergyPlus syntax because it can be either a number or a name of..."""

class UtilityCostRatchet(IDFObject):
    """Allows the modeling of tariffs that include some type of seasonal ratcheting. Ratchets are most common when used with..."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Ratchet."""
    baseline_source_variable: str | None
    """When the ratcheted value exceeds the baseline value for a month the ratcheted value is used but when the baseline val..."""
    adjustment_source_variable: str | None
    """The variable that the ratchet is calculated from. It is often but not always the same as the baseline source variable..."""
    season_from: Literal["Annual", "Fall", "Monthly", "Spring", "Summer", "Winter"] | None
    """The name of the season that is being examined. The maximum value for all of the months in the named season is what is..."""
    season_to: Literal["Annual", "Fall", "Spring", "Summer", "Winter"] | None
    """The name of the season when the ratchet would be calculated. This is most commonly Winter. The ratchet only is applie..."""
    multiplier_value_or_variable_name: float | str | None
    """Often the ratchet has a clause such as 'the current month demand or 90% of the summer month demand'. For this case a ..."""
    offset_value_or_variable_name: float | str | None
    """A less common strategy is to say that the ratchet must be all demand greater than a value in this case an offset that..."""

class UtilityCostVariable(IDFObject):
    """Allows for the direct entry of monthly values into a utility tariff variable."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Variable."""
    variable_type: Literal["", "Currency", "Demand", "Dimensionless", "Energy"] | None
    """Default: Dimensionless"""
    january_value: float | None
    february_value: float | None
    march_value: float | None
    april_value: float | None
    may_value: float | None
    june_value: float | None
    july_value: float | None
    august_value: float | None
    september_value: float | None
    october_value: float | None
    november_value: float | None
    december_value: float | None

class UtilityCostComputation(IDFObject):
    """The object lists a series of computations that are used to perform the utility bill calculation. The object is only u..."""

    tariff_name: str | None
    """The name of the UtilityCost:Tariff that is associated with this UtilityCost:Variable."""
    compute_step_1: str | None
    """Contain a simple language that describes the steps used in the computation process similar to a programming language."""
    compute_step_2: str | None
    compute_step_3: str | None
    compute_step_4: str | None
    compute_step_5: str | None
    compute_step_6: str | None
    compute_step_7: str | None
    compute_step_8: str | None
    compute_step_9: str | None
    compute_step_10: str | None
    compute_step_11: str | None
    compute_step_12: str | None
    compute_step_13: str | None
    compute_step_14: str | None
    compute_step_15: str | None
    compute_step_16: str | None
    compute_step_17: str | None
    compute_step_18: str | None
    compute_step_19: str | None
    compute_step_20: str | None
    compute_step_21: str | None
    compute_step_22: str | None
    compute_step_23: str | None
    compute_step_24: str | None
    compute_step_25: str | None
    compute_step_26: str | None
    compute_step_27: str | None
    compute_step_28: str | None
    compute_step_29: str | None
    compute_step_30: str | None

class LifeCycleCostParameters(IDFObject):
    """Provides inputs related to the overall life-cycle analysis. It establishes many of the assumptions used in computing ..."""

    discounting_convention: Literal["", "BeginningOfYear", "EndOfYear", "MidYear"] | None
    """The field specifies if the discounting of future costs should be computed as occurring at the end of each year or the...; Default: EndOfYear"""
    inflation_approach: Literal["", "ConstantDollar", "CurrentDollar"] | None
    """This field is used to determine if the analysis should use constant dollars or current dollars which is related to ho...; Default: ConstantDollar"""
    real_discount_rate: float | None
    """Enter the real discount rate as a decimal. For a 3% rate enter the value 0.03. This input is used when the Inflation ..."""
    nominal_discount_rate: float | None
    """Enter the nominal discount rate as a decimal. For a 5% rate enter the value 0.05. This input is used when the Inflati..."""
    inflation: float | None
    """Enter the rate of inflation for general goods and services as a decimal. For a 2% rate enter the value 0.02."""
    base_date_month: (
        Literal[
            "",
            "April",
            "August",
            "December",
            "February",
            "January",
            "July",
            "June",
            "March",
            "May",
            "November",
            "October",
            "September",
        ]
        | None
    )
    """Enter the month that is the beginning of study period also known as the beginning of the base period.; Default: January"""
    base_date_year: int | None
    """Enter the four digit year that is the beginning of study period such as 2010. The study period is also known as the b...; Range: >= 1900, <= 2100"""
    service_date_month: (
        Literal[
            "",
            "April",
            "August",
            "December",
            "February",
            "January",
            "July",
            "June",
            "March",
            "May",
            "November",
            "October",
            "September",
        ]
        | None
    )
    """Enter the month that is the beginning of building occupancy. Energy costs computed by EnergyPlus are assumed to occur...; Default: January"""
    service_date_year: int | None
    """Enter the four digit year that is the beginning of occupancy such as 2010.; Range: >= 1900, <= 2100"""
    length_of_study_period_in_years: int | None
    """Enter the number of years of the study period. It is the number of years that the study continues based on the start ...; Range: >= 1, <= 100"""
    tax_rate: float | None
    """Enter the overall marginal tax rate for the project costs. This does not include energy or water taxes. The tax rate ...; Range: >= 0.0"""
    depreciation_method: (
        Literal[
            "",
            "ModifiedAcceleratedCostRecoverySystem-10year",
            "ModifiedAcceleratedCostRecoverySystem-15year",
            "ModifiedAcceleratedCostRecoverySystem-20year",
            "ModifiedAcceleratedCostRecoverySystem-3year",
            "ModifiedAcceleratedCostRecoverySystem-5year",
            "ModifiedAcceleratedCostRecoverySystem-7year",
            "None",
            "StraightLine-27year",
            "StraightLine-31year",
            "StraightLine-39year",
            "StraightLine-40year",
        ]
        | None
    )
    """For an analysis that includes income tax impacts this entry describes how capital costs are depreciated. Only one dep...; Default: None"""

class LifeCycleCostRecurringCosts(IDFObject):
    """Recurring costs are costs that repeat over time on a regular schedule during the study period. If costs associated wi..."""

    category: (
        Literal[
            "",
            "Maintenance",
            "MajorOverhaul",
            "MinorOverhaul",
            "Operation",
            "OtherOperational",
            "Repair",
            "Replacement",
        ]
        | None
    )
    """Default: Maintenance"""
    cost: float | None
    """Enter the cost in dollars (or the appropriate monetary unit) for the recurring costs. Enter the cost for each time it..."""
    start_of_costs: Literal["", "BasePeriod", "ServicePeriod"] | None
    """Enter when the costs start. The First Year of Cost is based on the number of years past the Start of Costs. For most ...; Default: ServicePeriod"""
    years_from_start: int | None
    """This field and the Months From Start field together represent the time from either the start of the Service Period on...; Range: >= 0, <= 100"""
    months_from_start: int | None
    """This field and the Years From Start field together represent the time from either the start of the Service Period on ...; Range: >= 0, <= 1200"""
    repeat_period_years: int | None
    """This field and the Repeat Period Months field indicate how much time elapses between re-occurrences of the cost. For ...; Default: 1; Range: >= 0, <= 100"""
    repeat_period_months: int | None
    """This field and the Repeat Period Years field indicate how much time elapses between re-occurrences of the cost. Only ...; Default: 0; Range: >= 0, <= 1200"""
    annual_escalation_rate: float | None
    """Enter the annual escalation rate as a decimal. For a 1% rate enter the value 0.01. This input is used when the Inflat...; Range: >= -0.3, <= 0.3"""

class LifeCycleCostNonrecurringCost(IDFObject):
    """A non-recurring cost happens only once during the study period. For costs that occur more than once during the study ..."""

    category: Literal["", "Construction", "OtherCapital", "Salvage"] | None
    """Default: Construction"""
    cost: float | None
    """Enter the non-recurring cost value. For construction and other capital costs the value entered is typically a positiv..."""
    start_of_costs: Literal["", "BasePeriod", "ServicePeriod"] | None
    """Enter when the costs start. The First Year of Cost is based on the number of years past the Start of Costs. For most ...; Default: ServicePeriod"""
    years_from_start: int | None
    """This field and the Months From Start field together represent the time from either the start of the Service Period on...; Range: >= 0, <= 100"""
    months_from_start: int | None
    """This field and the Years From Start field together represent the time from either the start of the Service Period on ...; Range: >= 0, <= 1200"""

class LifeCycleCostUsePriceEscalation(IDFObject):
    """Life cycle cost escalation factors. The values for this object may be found in the annual supplement to NIST Handbook..."""

    resource: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "ElectricityNet",
            "ElectricityProduced",
            "ElectricityPurchased",
            "ElectricitySurplusSold",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "Water",
        ]
        | None
    )
    escalation_start_year: int | None
    """This field and the Escalation Start Month define the time that corresponds to Year 1 Escalation such as 2010 when the...; Range: >= 1900, <= 2100"""
    escalation_start_month: (
        Literal[
            "",
            "April",
            "August",
            "December",
            "February",
            "January",
            "July",
            "June",
            "March",
            "May",
            "November",
            "October",
            "September",
        ]
        | None
    )
    """This field and the Escalation Start Year define the time that corresponds to Year 1 Escalation such as 2010 when the ...; Default: January"""
    year_escalation: float | None

class LifeCycleCostUseAdjustment(IDFObject):
    """Used by advanced users to adjust the energy or water use costs for future years. This should not be used for compensa..."""

    resource: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "ElectricityNet",
            "ElectricityProduced",
            "ElectricityPurchased",
            "ElectricitySurplusSold",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "Water",
        ]
        | None
    )
    year_multiplier: float | None

class ParametricSetValueForRun(IDFObject):
    """Parametric objects allow a set of multiple simulations to be defined in a single idf file. The parametric preprocesso..."""

    value_for_run: str | None

class ParametricLogic(IDFObject):
    """This object allows some types of objects to be included for some parametric cases and not for others. For example, yo..."""

    parametric_logic_line: str | None

class ParametricRunControl(IDFObject):
    """Controls which parametric runs are simulated. This object is optional. If it is not included, then all parametric run..."""

    perform_run: str | None

class ParametricFileNameSuffix(IDFObject):
    """Defines the suffixes to be appended to the idf and output file names for each parametric run. If this object is omitt..."""

    suffix_for_file_name_in_run: str | None

class OutputVariableDictionary(IDFObject):
    """Produces a list summarizing the output variables and meters that are available for reporting for the model being simu..."""

    sort_option: Literal["Name", "Unsorted"] | None

class OutputSurfacesList(IDFObject):
    """Produces a report summarizing the details of surfaces in the eio output file."""

    report_specifications: Literal["IDF"] | None
    """(IDF, only for Output:Surfaces:List, Lines report -- will print transformed coordinates in IDF style)"""

class OutputSurfacesDrawing(IDFObject):
    """Produces reports/files that are capable of rendering graphically or being imported into other programs. Rendering doe..."""

    report_specifications_1: Literal["", "RegularPolyline", "ThickPolyline", "Triangulate3DFace"] | None
    """Triangulate3DFace (default), ThickPolyline, RegularPolyline apply to DXF This field is ignored for DXF:WireFrame and ...; Default: Triangulate3DFace"""
    report_specifications_2: str | None
    """Use ColorScheme Name for DXF reports"""

class OutputSchedules(IDFObject):
    """Produces a condensed reporting that illustrates the full range of schedule values in the eio output file. In the styl..."""

class OutputConstructions(IDFObject):
    """Adds a report to the eio output file which shows details for each construction, including overall properties, a list ..."""

    details_type_2: Literal["Constructions", "Materials"] | None

class OutputEnergyManagementSystem(IDFObject):
    """This object is used to control the output produced by the Energy Management System"""

    internal_variable_availability_dictionary_reporting: Literal["", "None", "NotByUniqueKeyNames", "Verbose"] | None
    """Default: None"""
    ems_runtime_language_debug_output_level: Literal["", "ErrorsOnly", "None", "Verbose"] | None
    """Default: None"""

class OutputControlSurfaceColorScheme(IDFObject):
    """This object is used to set colors for reporting on various building elements particularly for the DXF reports. We kno..."""

    drawing_element_1_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_1: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_2_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_2: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_3_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_3: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_4_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_4: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_5_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_5: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_6_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_6: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_7_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_7: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_8_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_8: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_9_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_9: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_10_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_10: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_11_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_11: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_12_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_12: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_13_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_13: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_14_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_14: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""
    drawing_element_15_type: (
        Literal[
            "AttachedBuildingShades",
            "DaylightReferencePoint1",
            "DaylightReferencePoint2",
            "DetachedBuildingShades",
            "DetachedFixedShades",
            "Doors",
            "Floors",
            "GlassDoors",
            "Photovoltaics",
            "Roofs",
            "Text",
            "TubularDaylightDiffusers",
            "TubularDaylightDomes",
            "Walls",
            "Windows",
        ]
        | None
    )
    color_for_drawing_element_15: int | None
    """use color number for output assignment (e.g. DXF); Range: >= 0, <= 255"""

class OutputTableSummaryReports(IDFObject):
    """This object allows the user to call report types that are predefined and will appear with the other tabular reports. ..."""

    report_name: str | None

class OutputTableTimeBins(IDFObject):
    """Produces a bin report in the table output file which shows the amount of time in hours that occurs in different bins ..."""

    variable_name: str | None
    interval_start: float | None
    """The lowest value for the intervals being binned into."""
    interval_size: float | None
    """The size of the bins starting with Interval start."""
    interval_count: int | None
    """The number of bins used. The number of hours below the start of the Lowest bin and above the value of the last bin ar...; Range: >= 1, <= 20"""
    schedule_name: str | None
    """Optional schedule name. Binning is performed for non-zero hours. Binning always performed if left blank."""
    variable_type: Literal["Energy", "Power", "Temperature", "VolumetricFlow"] | None
    """Optional input on the type of units for the variable used by other fields in the object."""

class OutputTableMonthly(IDFObject):
    """Provides a generic method of setting up tables of monthly results. The report has multiple columns that are each defi..."""

    digits_after_decimal: int | None
    """Default: 2; Range: >= 0, <= 10"""
    variable_or_meter_name: str | None
    aggregation_type_for_variable_or_meter: str | None

class OutputTableAnnual(IDFObject):
    """Provides a generic method of setting up tables of annual results with one row per object. The report has multiple col..."""

    filter: str | None
    """An optional text string that is compared to the names of the objects referenced by the variables and if they match ar..."""
    schedule_name: str | None
    """Optional schedule name. If left blank, aggregation is performed for all hours simulated. If a schedule is specified, ..."""
    variable_or_meter_or_ems_variable_or_field_name: str | None
    aggregation_type_for_variable_or_meter: str | None
    digits_after_decimal: float | None

class OutputTableReportPeriod(IDFObject):
    """This object allows the user to generate the resilience tabular reports over a subset of a run period. When it is defi...; Since: 22.2.0"""

    report_name: (
        Literal["AllResilienceSummaries", "CO2ResilienceSummary", "ThermalResilienceSummary", "VisualResilienceSummary"]
        | None
    )
    """currently only allow for these tables, could be extended in the future; Since: 25.2.0"""
    begin_year: int | None
    """start year of reporting, if specified"""
    begin_month: int | None
    """Range: >= 1, <= 12"""
    begin_day_of_month: int | None
    """Range: >= 1, <= 31"""
    begin_hour_of_day: int | None
    """Range: >= 1, <= 24"""
    end_year: int | None
    """start year of reporting, if specified"""
    end_month: int | None
    """Range: >= 1, <= 12"""
    end_day_of_month: int | None
    """Range: >= 1, <= 31"""
    end_hour_of_day: int | None
    """Range: >= 1, <= 24"""

class OutputControlTableStyle(IDFObject):
    """default style for the OutputControl:Table:Style is comma -- this works well for importing into spreadsheet programs s..."""

    unit_conversion: Literal["", "InchPound", "InchPoundExceptElectricity", "JtoGJ", "JtoKWH", "JtoMJ", "None"] | None
    """Default: None"""
    format_numeric_values: Literal["", "No", "Yes"] | None
    """If No, all digits are shown after the decimal point without any rounding (23.238769213). If Yes, values are rounded f...; Default: Yes; Since: 25.2.0"""

class OutputControlReportingTolerances(IDFObject):
    """Calculations of the time that setpoints are not met use a tolerance of 0.2C. This object allows changing the toleranc..."""

    tolerance_for_time_cooling_setpoint_not_met: float | None
    """If the zone temperature is above the cooling setpoint by more than this value, the following output variables will in...; [deltaC]; Default: 0.2; Range: >= 0.0, <= 10.0"""

class OutputControlResilienceSummaries(IDFObject):
    """Specifies methods for resilience reporting variables; Since: 25.1.0"""

class OutputVariable(IDFObject):
    """each Output:Variable command picks variables to be put onto the standard output file (.eso) some variables may not be..."""

    variable_name: str | None
    reporting_frequency: (
        Literal["", "Annual", "Daily", "Detailed", "Environment", "Hourly", "Monthly", "RunPeriod", "Timestep"] | None
    )
    """Detailed lists every instance (i.e. HVAC variable timesteps) Timestep refers to the zone Timestep/Number of Timesteps...; Default: Hourly"""
    schedule_name: str | None

class OutputMeter(IDFObject):
    """Each Output:Meter command picks meters to be put onto the standard output file (.eso) and meter file (.mtr). Not all ..."""

    reporting_frequency: (
        Literal["", "Annual", "Daily", "Detailed", "Environment", "Hourly", "Monthly", "RunPeriod", "Timestep"] | None
    )
    """Timestep refers to the zone Timestep/Number of Timesteps in hour value RunPeriod and Environment are the same; Default: Hourly"""

class OutputMeterMeterFileOnly(IDFObject):
    """Each Output:Meter:MeterFileOnly command picks meters to be put only onto meter file (.mtr). Not all meters are report..."""

    reporting_frequency: (
        Literal["", "Annual", "Daily", "Detailed", "Environment", "Hourly", "Monthly", "RunPeriod", "Timestep"] | None
    )
    """Timestep refers to the zone Timestep/Number of Timesteps in hour value RunPeriod and Environment are the same; Default: Hourly"""

class OutputMeterCumulative(IDFObject):
    """Each Output:Meter:Cumulative command picks meters to be reported cumulatively onto the standard output file (.eso) an..."""

    reporting_frequency: (
        Literal["", "Annual", "Daily", "Detailed", "Environment", "Hourly", "Monthly", "RunPeriod", "Timestep"] | None
    )
    """Timestep refers to the zone Timestep/Number of Timesteps in hour value RunPeriod and Environment are the same; Default: Hourly"""

class OutputMeterCumulativeMeterFileOnly(IDFObject):
    """Each Output:Meter:Cumulative:MeterFileOnly command picks meters to be reported cumulatively onto the standard output ..."""

    reporting_frequency: (
        Literal["", "Annual", "Daily", "Detailed", "Environment", "Hourly", "Monthly", "RunPeriod", "Timestep"] | None
    )
    """Timestep refers to the zone Timestep/Number of Timesteps in hour value RunPeriod and Environment are the same; Default: Hourly"""

class MeterCustom(IDFObject):
    """Used to allow users to combine specific variables and/or meters into 'custom' meter configurations. To access these m..."""

    resource_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "Generic",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "Water",
        ]
        | None
    )
    """Since: 9.4.0"""
    key_name: str | None
    output_variable_or_meter_name: str | None

class MeterCustomDecrement(IDFObject):
    """Used to allow users to combine specific variables and/or meters into 'custom' meter configurations. To access these m..."""

    resource_type: (
        Literal[
            "Coal",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "Generic",
            "NaturalGas",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "Water",
        ]
        | None
    )
    """Since: 9.4.0"""
    source_meter_name: str | None
    key_name: str | None
    output_variable_or_meter_name: str | None

class OutputControlFiles(IDFObject):
    """Conditionally turn on/off output from EnergyPlus.; Since: 9.4.0"""

    output_mtr: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_eso: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_eio: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_tabular: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_sqlite: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_json: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_audit: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_space_sizing: Literal["", "No", "Yes"] | None
    """Default: Yes; Since: 24.2.0"""
    output_zone_sizing: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_system_sizing: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_dxf: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_bnd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_rdd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_mdd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_mtd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_end: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_shd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_dfs: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_glhe: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_delightin: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_delighteldmp: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_delightdfdmp: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_edd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_dbg: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_perflog: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_sln: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_sci: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_wrl: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_screen: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_extshd: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_tarcog: Literal["", "No", "Yes"] | None
    """Not Implemented Yet; Default: Yes"""
    output_plant_component_sizing: Literal["", "No", "Yes"] | None
    """epluspsz.csv; Default: Yes; Since: 25.2.0"""

class OutputControlTimestamp(IDFObject):
    """Control timestamp format, currently applies only to JSON and native CSV (not CSV via ReadVars); Since: 23.1.0"""

    timestamp_at_beginning_of_interval: Literal["", "No", "Yes"] | None
    """Determines where the timestamp is produced, either at the beginning (Yes) or end (No) of the interval; Default: No"""

class OutputJSON(IDFObject):
    """Output from EnergyPlus can be written to JSON format files.; Since: 9.1.0"""

    output_json: Literal["", "No", "Yes"] | None
    """Default: Yes"""
    output_cbor: Literal["", "No", "Yes"] | None
    """Default: No"""
    output_messagepack: Literal["", "No", "Yes"] | None
    """Default: No"""
    unit_conversion_for_tabular_data: (
        Literal[
            "",
            "InchPound",
            "InchPoundExceptElectricity",
            "JtoGJ",
            "JtoKWH",
            "JtoMJ",
            "None",
            "UseOutputControlTableStyle",
        ]
        | None
    )
    """Unit conversion option used when writing JSON Tabular Data This option applies to TabularData and TabularDatawithStri...; Default: UseOutputControlTableStyle; Since: 25.2.0"""
    format_numeric_values_for_tabular_data: Literal["", "No", "Yes"] | None
    """If No, all digits are shown after the decimal point without any rounding (23.238769213). If Yes, values are rounded f...; Default: Yes; Since: 25.2.0"""

class OutputSQLite(IDFObject):
    """Output from EnergyPlus can be written to an SQLite format file."""

    unit_conversion_for_tabular_data: (
        Literal[
            "",
            "InchPound",
            "InchPoundExceptElectricity",
            "JtoGJ",
            "JtoKWH",
            "JtoMJ",
            "None",
            "UseOutputControlTableStyle",
        ]
        | None
    )
    """Unit conversion option used when writing SQLite Tabular Data This option applies to TabularData and TabularDatawithSt...; Default: UseOutputControlTableStyle; Since: 9.5.0"""
    format_numeric_values_for_tabular_data: Literal["", "No", "Yes"] | None
    """If No, all digits are shown after the decimal point without any rounding (23.238769213). If Yes, values are rounded f...; Default: Yes; Since: 25.2.0"""

class OutputEnvironmentalImpactFactors(IDFObject):
    """This is used to Automatically report the facility meters and turn on the Environmental Impact Report calculations for..."""

class EnvironmentalImpactFactors(IDFObject):
    """Used to help convert district and ideal energy use to a fuel type and provide total carbon equivalent with coefficien..."""

    district_cooling_cop: float | None
    """District cooling COP used when converted to electricity; [W/W]; Default: 3.0; Range: > 0.0"""
    district_heating_steam_conversion_efficiency: float | None
    """Steam conversion efficiency used to convert steam usage to natural gas; Default: 0.25; Range: > 0.0; Since: 23.2.0"""
    total_carbon_equivalent_emission_factor_from_n2o: float | None
    """[kg/kg]; Default: 80.7272"""
    total_carbon_equivalent_emission_factor_from_ch4: float | None
    """[kg/kg]; Default: 6.2727"""
    total_carbon_equivalent_emission_factor_from_co2: float | None
    """[kg/kg]; Default: 0.2727"""

class FuelFactors(IDFObject):
    """Provides Fuel Factors for Emissions as well as Source=>Site conversions. OtherFuel1, OtherFuel2 provide options for u..."""

    source_energy_factor: float | None
    """[J/J]"""
    source_energy_schedule_name: str | None
    co2_emission_factor: float | None
    """[g/MJ]"""
    co2_emission_factor_schedule_name: str | None
    co_emission_factor: float | None
    """[g/MJ]"""
    co_emission_factor_schedule_name: str | None
    ch4_emission_factor: float | None
    """[g/MJ]"""
    ch4_emission_factor_schedule_name: str | None
    nox_emission_factor: float | None
    """[g/MJ]"""
    nox_emission_factor_schedule_name: str | None
    n2o_emission_factor: float | None
    """[g/MJ]"""
    n2o_emission_factor_schedule_name: str | None
    so2_emission_factor: float | None
    """[g/MJ]"""
    so2_emission_factor_schedule_name: str | None
    pm_emission_factor: float | None
    """[g/MJ]"""
    pm_emission_factor_schedule_name: str | None
    pm10_emission_factor: float | None
    """[g/MJ]"""
    pm10_emission_factor_schedule_name: str | None
    pm2_5_emission_factor: float | None
    """[g/MJ]"""
    pm2_5_emission_factor_schedule_name: str | None
    nh3_emission_factor: float | None
    """[g/MJ]"""
    nh3_emission_factor_schedule_name: str | None
    nmvoc_emission_factor: float | None
    """[g/MJ]"""
    nmvoc_emission_factor_schedule_name: str | None
    hg_emission_factor: float | None
    """[g/MJ]"""
    hg_emission_factor_schedule_name: str | None
    pb_emission_factor: float | None
    """[g/MJ]"""
    pb_emission_factor_schedule_name: str | None
    water_emission_factor: float | None
    """[L/MJ]"""
    water_emission_factor_schedule_name: str | None
    nuclear_high_level_emission_factor: float | None
    """[g/MJ]"""
    nuclear_high_level_emission_factor_schedule_name: str | None
    nuclear_low_level_emission_factor: float | None
    """[m3/MJ]"""
    nuclear_low_level_emission_factor_schedule_name: str | None

class OutputDiagnostics(IDFObject):
    """Special keys to produce certain warning messages or effect certain simulation characteristics."""

    key: str | None
    """Since: 9.4.0"""

class OutputDebuggingData(IDFObject):
    """switch eplusout.dbg file on or off"""

    report_during_warmup: Literal["", "No", "Yes"] | None
    """Default: No"""

class OutputPreprocessorMessage(IDFObject):
    """This object does not come from a user input. This is generated by a pre-processor so that various conditions can be g..."""

    error_severity: Literal["Fatal", "Information", "Severe", "Warning"] | None
    """Depending on type, InputProcessor may terminate the program."""
    message_line_1: str | None
    message_line_2: str | None
    message_line_3: str | None
    message_line_4: str | None
    message_line_5: str | None
    message_line_6: str | None
    message_line_7: str | None
    message_line_8: str | None
    message_line_9: str | None
    message_line_10: str | None

class PythonPluginSearchPaths(IDFObject):
    """Add directories to the search path for Python plugin modules The directory containing the EnergyPlus executable file ...; Since: 9.3.0"""

    add_current_working_directory_to_search_path: Literal["", "No", "Yes"] | None
    """Adding the current working directory allows Python to find plugin scripts in the current directory.; Default: Yes"""
    add_input_file_directory_to_search_path: Literal["", "No", "Yes"] | None
    """Enabling this will allow Python to find plugin scripts in the same directory as the running input file, even if that ...; Default: Yes"""
    add_epin_environment_variable_to_search_path: Literal["", "No", "Yes"] | None
    """The 'epin' environment variable is set by some EnergyPlus interfaces in order to let EnergyPlus find external files i...; Default: Yes; Since: 22.1.0"""
    search_path: str | None
    """Since: 9.4.0"""

class PythonPluginInstance(IDFObject):
    """A single plugin to be executed during the simulation, which can contain multiple calling points for the same class in...; Since: 9.3.0"""

    run_during_warmup_days: Literal["", "No", "Yes"] | None
    """If this field is enabled, the plugin will be executed during warmup days, otherwise it will only be executed once war...; Default: No"""
    python_module_name: str | None
    """This is the name of the Python file, without a file extension. For 'plugin_b.py', use just 'plugin_b'. The Python plu..."""
    plugin_class_name: str | None
    """This is the name of the class to be executed as a plugin during a simulation The class must inherit the EnergyPlusPlu..."""

class PythonPluginVariables(IDFObject):
    """This object defines name identifiers for custom Python Plugin variable data that should be shared among all running P...; Since: 9.3.0"""

    variable_name: str | None
    """Since: 9.4.0"""

class PythonPluginTrendVariable(IDFObject):
    """This object sets up a Python plugin trend variable from an Python plugin variable A trend variable logs values across...; Since: 9.3.0"""

    name_of_a_python_plugin_variable: str | None
    number_of_timesteps_to_be_logged: int | None
    """Range: >= 1"""

class PythonPluginOutputVariable(IDFObject):
    """This object sets up an EnergyPlus output variable from a Python Plugin variable; Since: 9.3.0"""

    python_plugin_variable_name: str | None
    """Must be listed in the PythonPlugin:Variables object"""
    type_of_data_in_variable: Literal["Averaged", "Metered", "Summed"] | None
    """If Metered is selected, the variable is automatically set to a 'Summed' type, and the Resource Type, Group Type, and ..."""
    update_frequency: Literal["SystemTimestep", "ZoneTimestep"] | None
    units: str | None
    """optional but will result in dimensionless units for blank EnergyPlus units are standard SI units"""
    resource_type: (
        Literal[
            "Coal",
            "CondensateWaterCollected",
            "Diesel",
            "DistrictCooling",
            "DistrictHeatingSteam",
            "DistrictHeatingWater",
            "Electricity",
            "ElectricityProducedOnSite",
            "EnergyTransfer",
            "FuelOilNo1",
            "FuelOilNo2",
            "Gasoline",
            "MainsWaterSupply",
            "NaturalGas",
            "OnSiteWaterProduced",
            "OtherFuel1",
            "OtherFuel2",
            "Propane",
            "RainWaterCollected",
            "SolarAirHeating",
            "SolarWaterHeating",
            "WaterUse",
            "WellWaterDrawn",
        ]
        | None
    )
    """This field is optional for regular output variables with 'Type of Data in Variable' set to either Averaged or Summed...."""
    group_type: Literal["Building", "HVAC", "Plant", "System"] | None
    """This field is optional for regular output variables with 'Type of Data in Variable' set to either Averaged or Summed...."""
    end_use_category: (
        Literal[
            "Baseboard",
            "Boilers",
            "Chillers",
            "Cooling",
            "CoolingCoils",
            "ExteriorEquipment",
            "ExteriorLights",
            "Fans",
            "HeatRecovery",
            "HeatRecoveryForCooling",
            "HeatRecoveryForHeating",
            "HeatRejection",
            "Heating",
            "HeatingCoils",
            "Humidifier",
            "InteriorEquipment",
            "InteriorLights",
            "OnSiteGeneration",
            "Pumps",
            "Refrigeration",
            "WaterSystems",
        ]
        | None
    )
    """This field is optional for regular output variables with 'Type of Data in Variable' set to either Averaged or Summed...."""
    end_use_subcategory: str | None
    """This field is always optional. For regular output variables with 'Type of Data in Variable' set to either Averaged or..."""

# =========================================================================
# TypedDict mapping for IDFDocument.__getitem__ dispatch
# =========================================================================

_ObjectTypeMap = TypedDict(
    "_ObjectTypeMap",
    {
        "Version": IDFCollection[Version],
        "SimulationControl": IDFCollection[SimulationControl],
        "PerformancePrecisionTradeoffs": IDFCollection[PerformancePrecisionTradeoffs],
        "Building": IDFCollection[Building],
        "ShadowCalculation": IDFCollection[ShadowCalculation],
        "SurfaceConvectionAlgorithm:Inside": IDFCollection[SurfaceConvectionAlgorithmInside],
        "SurfaceConvectionAlgorithm:Outside": IDFCollection[SurfaceConvectionAlgorithmOutside],
        "HeatBalanceAlgorithm": IDFCollection[HeatBalanceAlgorithm],
        "HeatBalanceSettings:ConductionFiniteDifference": IDFCollection[HeatBalanceSettingsConductionFiniteDifference],
        "ZoneAirHeatBalanceAlgorithm": IDFCollection[ZoneAirHeatBalanceAlgorithm],
        "ZoneAirContaminantBalance": IDFCollection[ZoneAirContaminantBalance],
        "ZoneAirMassFlowConservation": IDFCollection[ZoneAirMassFlowConservation],
        "ZoneCapacitanceMultiplier:ResearchSpecial": IDFCollection[ZoneCapacitanceMultiplierResearchSpecial],
        "Timestep": IDFCollection[Timestep],
        "ConvergenceLimits": IDFCollection[ConvergenceLimits],
        "HVACSystemRootFindingAlgorithm": IDFCollection[HVACSystemRootFindingAlgorithm],
        "Compliance:Building": IDFCollection[ComplianceBuilding],
        "Site:Location": IDFCollection[SiteLocation],
        "Site:VariableLocation": IDFCollection[SiteVariableLocation],
        "SizingPeriod:DesignDay": IDFCollection[SizingPeriodDesignDay],
        "SizingPeriod:WeatherFileDays": IDFCollection[SizingPeriodWeatherFileDays],
        "SizingPeriod:WeatherFileConditionType": IDFCollection[SizingPeriodWeatherFileConditionType],
        "RunPeriod": IDFCollection[RunPeriod],
        "RunPeriodControl:SpecialDays": IDFCollection[RunPeriodControlSpecialDays],
        "RunPeriodControl:DaylightSavingTime": IDFCollection[RunPeriodControlDaylightSavingTime],
        "WeatherProperty:SkyTemperature": IDFCollection[WeatherPropertySkyTemperature],
        "Site:WeatherStation": IDFCollection[SiteWeatherStation],
        "Site:HeightVariation": IDFCollection[SiteHeightVariation],
        "Site:GroundTemperature:BuildingSurface": IDFCollection[SiteGroundTemperatureBuildingSurface],
        "Site:GroundTemperature:FCfactorMethod": IDFCollection[SiteGroundTemperatureFCfactorMethod],
        "Site:GroundTemperature:Shallow": IDFCollection[SiteGroundTemperatureShallow],
        "Site:GroundTemperature:Deep": IDFCollection[SiteGroundTemperatureDeep],
        "Site:GroundTemperature:Undisturbed:FiniteDifference": IDFCollection[
            SiteGroundTemperatureUndisturbedFiniteDifference
        ],
        "Site:GroundTemperature:Undisturbed:KusudaAchenbach": IDFCollection[
            SiteGroundTemperatureUndisturbedKusudaAchenbach
        ],
        "Site:GroundTemperature:Undisturbed:Xing": IDFCollection[SiteGroundTemperatureUndisturbedXing],
        "Site:GroundDomain:Slab": IDFCollection[SiteGroundDomainSlab],
        "Site:GroundDomain:Basement": IDFCollection[SiteGroundDomainBasement],
        "Site:GroundReflectance": IDFCollection[SiteGroundReflectance],
        "Site:GroundReflectance:SnowModifier": IDFCollection[SiteGroundReflectanceSnowModifier],
        "Site:WaterMainsTemperature": IDFCollection[SiteWaterMainsTemperature],
        "Site:Precipitation": IDFCollection[SitePrecipitation],
        "RoofIrrigation": IDFCollection[RoofIrrigation],
        "Site:SolarAndVisibleSpectrum": IDFCollection[SiteSolarAndVisibleSpectrum],
        "Site:SpectrumData": IDFCollection[SiteSpectrumData],
        "ScheduleTypeLimits": IDFCollection[ScheduleTypeLimits],
        "Schedule:Day:Hourly": IDFCollection[ScheduleDayHourly],
        "Schedule:Day:Interval": IDFCollection[ScheduleDayInterval],
        "Schedule:Day:List": IDFCollection[ScheduleDayList],
        "Schedule:Week:Daily": IDFCollection[ScheduleWeekDaily],
        "Schedule:Week:Compact": IDFCollection[ScheduleWeekCompact],
        "Schedule:Year": IDFCollection[ScheduleYear],
        "Schedule:Compact": IDFCollection[ScheduleCompact],
        "Schedule:Constant": IDFCollection[ScheduleConstant],
        "Schedule:File:Shading": IDFCollection[ScheduleFileShading],
        "Schedule:File": IDFCollection[ScheduleFile],
        "Material": IDFCollection[Material],
        "Material:NoMass": IDFCollection[MaterialNoMass],
        "Material:InfraredTransparent": IDFCollection[MaterialInfraredTransparent],
        "Material:AirGap": IDFCollection[MaterialAirGap],
        "Material:RoofVegetation": IDFCollection[MaterialRoofVegetation],
        "WindowMaterial:SimpleGlazingSystem": IDFCollection[WindowMaterialSimpleGlazingSystem],
        "WindowMaterial:Glazing": IDFCollection[WindowMaterialGlazing],
        "WindowMaterial:GlazingGroup:Thermochromic": IDFCollection[WindowMaterialGlazingGroupThermochromic],
        "WindowMaterial:Glazing:RefractionExtinctionMethod": IDFCollection[
            WindowMaterialGlazingRefractionExtinctionMethod
        ],
        "WindowMaterial:Gas": IDFCollection[WindowMaterialGas],
        "WindowGap:SupportPillar": IDFCollection[WindowGapSupportPillar],
        "WindowGap:DeflectionState": IDFCollection[WindowGapDeflectionState],
        "WindowMaterial:GasMixture": IDFCollection[WindowMaterialGasMixture],
        "WindowMaterial:Gap": IDFCollection[WindowMaterialGap],
        "WindowMaterial:Shade": IDFCollection[WindowMaterialShade],
        "WindowMaterial:ComplexShade": IDFCollection[WindowMaterialComplexShade],
        "WindowMaterial:Blind": IDFCollection[WindowMaterialBlind],
        "WindowMaterial:Screen": IDFCollection[WindowMaterialScreen],
        "WindowMaterial:Shade:EquivalentLayer": IDFCollection[WindowMaterialShadeEquivalentLayer],
        "WindowMaterial:Drape:EquivalentLayer": IDFCollection[WindowMaterialDrapeEquivalentLayer],
        "WindowMaterial:Blind:EquivalentLayer": IDFCollection[WindowMaterialBlindEquivalentLayer],
        "WindowMaterial:Screen:EquivalentLayer": IDFCollection[WindowMaterialScreenEquivalentLayer],
        "WindowMaterial:Glazing:EquivalentLayer": IDFCollection[WindowMaterialGlazingEquivalentLayer],
        "WindowMaterial:Gap:EquivalentLayer": IDFCollection[WindowMaterialGapEquivalentLayer],
        "MaterialProperty:MoisturePenetrationDepth:Settings": IDFCollection[
            MaterialPropertyMoisturePenetrationDepthSettings
        ],
        "MaterialProperty:PhaseChange": IDFCollection[MaterialPropertyPhaseChange],
        "MaterialProperty:PhaseChangeHysteresis": IDFCollection[MaterialPropertyPhaseChangeHysteresis],
        "MaterialProperty:VariableThermalConductivity": IDFCollection[MaterialPropertyVariableThermalConductivity],
        "MaterialProperty:VariableAbsorptance": IDFCollection[MaterialPropertyVariableAbsorptance],
        "MaterialProperty:HeatAndMoistureTransfer:Settings": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferSettings
        ],
        "MaterialProperty:HeatAndMoistureTransfer:SorptionIsotherm": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferSorptionIsotherm
        ],
        "MaterialProperty:HeatAndMoistureTransfer:Suction": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferSuction
        ],
        "MaterialProperty:HeatAndMoistureTransfer:Redistribution": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferRedistribution
        ],
        "MaterialProperty:HeatAndMoistureTransfer:Diffusion": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferDiffusion
        ],
        "MaterialProperty:HeatAndMoistureTransfer:ThermalConductivity": IDFCollection[
            MaterialPropertyHeatAndMoistureTransferThermalConductivity
        ],
        "MaterialProperty:GlazingSpectralData": IDFCollection[MaterialPropertyGlazingSpectralData],
        "Construction": IDFCollection[Construction],
        "Construction:CfactorUndergroundWall": IDFCollection[ConstructionCfactorUndergroundWall],
        "Construction:FfactorGroundFloor": IDFCollection[ConstructionFfactorGroundFloor],
        "ConstructionProperty:InternalHeatSource": IDFCollection[ConstructionPropertyInternalHeatSource],
        "Construction:AirBoundary": IDFCollection[ConstructionAirBoundary],
        "WindowThermalModel:Params": IDFCollection[WindowThermalModelParams],
        "WindowsCalculationEngine": IDFCollection[WindowsCalculationEngine],
        "Construction:ComplexFenestrationState": IDFCollection[ConstructionComplexFenestrationState],
        "Construction:WindowEquivalentLayer": IDFCollection[ConstructionWindowEquivalentLayer],
        "Construction:WindowDataFile": IDFCollection[ConstructionWindowDataFile],
        "GlobalGeometryRules": IDFCollection[GlobalGeometryRules],
        "GeometryTransform": IDFCollection[GeometryTransform],
        "Space": IDFCollection[Space],
        "SpaceList": IDFCollection[SpaceList],
        "Zone": IDFCollection[Zone],
        "ZoneList": IDFCollection[ZoneList],
        "ZoneGroup": IDFCollection[ZoneGroup],
        "BuildingSurface:Detailed": IDFCollection[BuildingSurfaceDetailed],
        "Wall:Detailed": IDFCollection[WallDetailed],
        "RoofCeiling:Detailed": IDFCollection[RoofCeilingDetailed],
        "Floor:Detailed": IDFCollection[FloorDetailed],
        "Wall:Exterior": IDFCollection[WallExterior],
        "Wall:Adiabatic": IDFCollection[WallAdiabatic],
        "Wall:Underground": IDFCollection[WallUnderground],
        "Wall:Interzone": IDFCollection[WallInterzone],
        "Roof": IDFCollection[Roof],
        "Ceiling:Adiabatic": IDFCollection[CeilingAdiabatic],
        "Ceiling:Interzone": IDFCollection[CeilingInterzone],
        "Floor:GroundContact": IDFCollection[FloorGroundContact],
        "Floor:Adiabatic": IDFCollection[FloorAdiabatic],
        "Floor:Interzone": IDFCollection[FloorInterzone],
        "FenestrationSurface:Detailed": IDFCollection[FenestrationSurfaceDetailed],
        "Window": IDFCollection[Window],
        "Door": IDFCollection[Door],
        "GlazedDoor": IDFCollection[GlazedDoor],
        "Window:Interzone": IDFCollection[WindowInterzone],
        "Door:Interzone": IDFCollection[DoorInterzone],
        "GlazedDoor:Interzone": IDFCollection[GlazedDoorInterzone],
        "WindowShadingControl": IDFCollection[WindowShadingControl],
        "WindowProperty:FrameAndDivider": IDFCollection[WindowPropertyFrameAndDivider],
        "WindowProperty:AirflowControl": IDFCollection[WindowPropertyAirflowControl],
        "WindowProperty:StormWindow": IDFCollection[WindowPropertyStormWindow],
        "InternalMass": IDFCollection[InternalMass],
        "Shading:Site": IDFCollection[ShadingSite],
        "Shading:Building": IDFCollection[ShadingBuilding],
        "Shading:Site:Detailed": IDFCollection[ShadingSiteDetailed],
        "Shading:Building:Detailed": IDFCollection[ShadingBuildingDetailed],
        "Shading:Overhang": IDFCollection[ShadingOverhang],
        "Shading:Overhang:Projection": IDFCollection[ShadingOverhangProjection],
        "Shading:Fin": IDFCollection[ShadingFin],
        "Shading:Fin:Projection": IDFCollection[ShadingFinProjection],
        "Shading:Zone:Detailed": IDFCollection[ShadingZoneDetailed],
        "ShadingProperty:Reflectance": IDFCollection[ShadingPropertyReflectance],
        "SurfaceProperty:HeatTransferAlgorithm": IDFCollection[SurfacePropertyHeatTransferAlgorithm],
        "SurfaceProperty:HeatTransferAlgorithm:MultipleSurface": IDFCollection[
            SurfacePropertyHeatTransferAlgorithmMultipleSurface
        ],
        "SurfaceProperty:HeatTransferAlgorithm:SurfaceList": IDFCollection[
            SurfacePropertyHeatTransferAlgorithmSurfaceList
        ],
        "SurfaceProperty:HeatTransferAlgorithm:Construction": IDFCollection[
            SurfacePropertyHeatTransferAlgorithmConstruction
        ],
        "SurfaceProperty:HeatBalanceSourceTerm": IDFCollection[SurfacePropertyHeatBalanceSourceTerm],
        "SurfaceControl:MovableInsulation": IDFCollection[SurfaceControlMovableInsulation],
        "SurfaceProperty:OtherSideCoefficients": IDFCollection[SurfacePropertyOtherSideCoefficients],
        "SurfaceProperty:OtherSideConditionsModel": IDFCollection[SurfacePropertyOtherSideConditionsModel],
        "SurfaceProperty:Underwater": IDFCollection[SurfacePropertyUnderwater],
        "Foundation:Kiva": IDFCollection[FoundationKiva],
        "Foundation:Kiva:Settings": IDFCollection[FoundationKivaSettings],
        "SurfaceProperty:ExposedFoundationPerimeter": IDFCollection[SurfacePropertyExposedFoundationPerimeter],
        "SurfaceConvectionAlgorithm:Inside:AdaptiveModelSelections": IDFCollection[
            SurfaceConvectionAlgorithmInsideAdaptiveModelSelections
        ],
        "SurfaceConvectionAlgorithm:Outside:AdaptiveModelSelections": IDFCollection[
            SurfaceConvectionAlgorithmOutsideAdaptiveModelSelections
        ],
        "SurfaceConvectionAlgorithm:Inside:UserCurve": IDFCollection[SurfaceConvectionAlgorithmInsideUserCurve],
        "SurfaceConvectionAlgorithm:Outside:UserCurve": IDFCollection[SurfaceConvectionAlgorithmOutsideUserCurve],
        "SurfaceProperty:ConvectionCoefficients": IDFCollection[SurfacePropertyConvectionCoefficients],
        "SurfaceProperty:ConvectionCoefficients:MultipleSurface": IDFCollection[
            SurfacePropertyConvectionCoefficientsMultipleSurface
        ],
        "SurfaceProperties:VaporCoefficients": IDFCollection[SurfacePropertiesVaporCoefficients],
        "SurfaceProperty:ExteriorNaturalVentedCavity": IDFCollection[SurfacePropertyExteriorNaturalVentedCavity],
        "SurfaceProperty:SolarIncidentInside": IDFCollection[SurfacePropertySolarIncidentInside],
        "SurfaceProperty:IncidentSolarMultiplier": IDFCollection[SurfacePropertyIncidentSolarMultiplier],
        "SurfaceProperty:LocalEnvironment": IDFCollection[SurfacePropertyLocalEnvironment],
        "ZoneProperty:LocalEnvironment": IDFCollection[ZonePropertyLocalEnvironment],
        "SurfaceProperty:SurroundingSurfaces": IDFCollection[SurfacePropertySurroundingSurfaces],
        "SurfaceProperty:GroundSurfaces": IDFCollection[SurfacePropertyGroundSurfaces],
        "ComplexFenestrationProperty:SolarAbsorbedLayers": IDFCollection[
            ComplexFenestrationPropertySolarAbsorbedLayers
        ],
        "ZoneProperty:UserViewFactors:BySurfaceName": IDFCollection[ZonePropertyUserViewFactorsBySurfaceName],
        "GroundHeatTransfer:Control": IDFCollection[GroundHeatTransferControl],
        "GroundHeatTransfer:Slab:Materials": IDFCollection[GroundHeatTransferSlabMaterials],
        "GroundHeatTransfer:Slab:MatlProps": IDFCollection[GroundHeatTransferSlabMatlProps],
        "GroundHeatTransfer:Slab:BoundConds": IDFCollection[GroundHeatTransferSlabBoundConds],
        "GroundHeatTransfer:Slab:BldgProps": IDFCollection[GroundHeatTransferSlabBldgProps],
        "GroundHeatTransfer:Slab:Insulation": IDFCollection[GroundHeatTransferSlabInsulation],
        "GroundHeatTransfer:Slab:EquivalentSlab": IDFCollection[GroundHeatTransferSlabEquivalentSlab],
        "GroundHeatTransfer:Slab:AutoGrid": IDFCollection[GroundHeatTransferSlabAutoGrid],
        "GroundHeatTransfer:Slab:ManualGrid": IDFCollection[GroundHeatTransferSlabManualGrid],
        "GroundHeatTransfer:Slab:XFACE": IDFCollection[GroundHeatTransferSlabXFACE],
        "GroundHeatTransfer:Slab:YFACE": IDFCollection[GroundHeatTransferSlabYFACE],
        "GroundHeatTransfer:Slab:ZFACE": IDFCollection[GroundHeatTransferSlabZFACE],
        "GroundHeatTransfer:Basement:SimParameters": IDFCollection[GroundHeatTransferBasementSimParameters],
        "GroundHeatTransfer:Basement:MatlProps": IDFCollection[GroundHeatTransferBasementMatlProps],
        "GroundHeatTransfer:Basement:Insulation": IDFCollection[GroundHeatTransferBasementInsulation],
        "GroundHeatTransfer:Basement:SurfaceProps": IDFCollection[GroundHeatTransferBasementSurfaceProps],
        "GroundHeatTransfer:Basement:BldgData": IDFCollection[GroundHeatTransferBasementBldgData],
        "GroundHeatTransfer:Basement:Interior": IDFCollection[GroundHeatTransferBasementInterior],
        "GroundHeatTransfer:Basement:ComBldg": IDFCollection[GroundHeatTransferBasementComBldg],
        "GroundHeatTransfer:Basement:EquivSlab": IDFCollection[GroundHeatTransferBasementEquivSlab],
        "GroundHeatTransfer:Basement:EquivAutoGrid": IDFCollection[GroundHeatTransferBasementEquivAutoGrid],
        "GroundHeatTransfer:Basement:AutoGrid": IDFCollection[GroundHeatTransferBasementAutoGrid],
        "GroundHeatTransfer:Basement:ManualGrid": IDFCollection[GroundHeatTransferBasementManualGrid],
        "GroundHeatTransfer:Basement:XFACE": IDFCollection[GroundHeatTransferBasementXFACE],
        "GroundHeatTransfer:Basement:YFACE": IDFCollection[GroundHeatTransferBasementYFACE],
        "GroundHeatTransfer:Basement:ZFACE": IDFCollection[GroundHeatTransferBasementZFACE],
        "RoomAirModelType": IDFCollection[RoomAirModelType],
        "RoomAir:TemperaturePattern:UserDefined": IDFCollection[RoomAirTemperaturePatternUserDefined],
        "RoomAir:TemperaturePattern:ConstantGradient": IDFCollection[RoomAirTemperaturePatternConstantGradient],
        "RoomAir:TemperaturePattern:TwoGradient": IDFCollection[RoomAirTemperaturePatternTwoGradient],
        "RoomAir:TemperaturePattern:NondimensionalHeight": IDFCollection[RoomAirTemperaturePatternNondimensionalHeight],
        "RoomAir:TemperaturePattern:SurfaceMapping": IDFCollection[RoomAirTemperaturePatternSurfaceMapping],
        "RoomAir:Node": IDFCollection[RoomAirNode],
        "RoomAirSettings:OneNodeDisplacementVentilation": IDFCollection[RoomAirSettingsOneNodeDisplacementVentilation],
        "RoomAirSettings:ThreeNodeDisplacementVentilation": IDFCollection[
            RoomAirSettingsThreeNodeDisplacementVentilation
        ],
        "RoomAirSettings:CrossVentilation": IDFCollection[RoomAirSettingsCrossVentilation],
        "RoomAirSettings:UnderFloorAirDistributionInterior": IDFCollection[
            RoomAirSettingsUnderFloorAirDistributionInterior
        ],
        "RoomAirSettings:UnderFloorAirDistributionExterior": IDFCollection[
            RoomAirSettingsUnderFloorAirDistributionExterior
        ],
        "RoomAir:Node:AirflowNetwork": IDFCollection[RoomAirNodeAirflowNetwork],
        "RoomAir:Node:AirflowNetwork:AdjacentSurfaceList": IDFCollection[RoomAirNodeAirflowNetworkAdjacentSurfaceList],
        "RoomAir:Node:AirflowNetwork:InternalGains": IDFCollection[RoomAirNodeAirflowNetworkInternalGains],
        "RoomAir:Node:AirflowNetwork:HVACEquipment": IDFCollection[RoomAirNodeAirflowNetworkHVACEquipment],
        "RoomAirSettings:AirflowNetwork": IDFCollection[RoomAirSettingsAirflowNetwork],
        "People": IDFCollection[People],
        "ComfortViewFactorAngles": IDFCollection[ComfortViewFactorAngles],
        "Lights": IDFCollection[Lights],
        "ElectricEquipment": IDFCollection[ElectricEquipment],
        "GasEquipment": IDFCollection[GasEquipment],
        "HotWaterEquipment": IDFCollection[HotWaterEquipment],
        "SteamEquipment": IDFCollection[SteamEquipment],
        "OtherEquipment": IDFCollection[OtherEquipment],
        "IndoorLivingWall": IDFCollection[IndoorLivingWall],
        "ElectricEquipment:ITE:AirCooled": IDFCollection[ElectricEquipmentITEAirCooled],
        "ZoneBaseboard:OutdoorTemperatureControlled": IDFCollection[ZoneBaseboardOutdoorTemperatureControlled],
        "SwimmingPool:Indoor": IDFCollection[SwimmingPoolIndoor],
        "ZoneContaminantSourceAndSink:CarbonDioxide": IDFCollection[ZoneContaminantSourceAndSinkCarbonDioxide],
        "ZoneContaminantSourceAndSink:Generic:Constant": IDFCollection[ZoneContaminantSourceAndSinkGenericConstant],
        "SurfaceContaminantSourceAndSink:Generic:PressureDriven": IDFCollection[
            SurfaceContaminantSourceAndSinkGenericPressureDriven
        ],
        "ZoneContaminantSourceAndSink:Generic:CutoffModel": IDFCollection[
            ZoneContaminantSourceAndSinkGenericCutoffModel
        ],
        "ZoneContaminantSourceAndSink:Generic:DecaySource": IDFCollection[
            ZoneContaminantSourceAndSinkGenericDecaySource
        ],
        "SurfaceContaminantSourceAndSink:Generic:BoundaryLayerDiffusion": IDFCollection[
            SurfaceContaminantSourceAndSinkGenericBoundaryLayerDiffusion
        ],
        "SurfaceContaminantSourceAndSink:Generic:DepositionVelocitySink": IDFCollection[
            SurfaceContaminantSourceAndSinkGenericDepositionVelocitySink
        ],
        "ZoneContaminantSourceAndSink:Generic:DepositionRateSink": IDFCollection[
            ZoneContaminantSourceAndSinkGenericDepositionRateSink
        ],
        "Daylighting:Controls": IDFCollection[DaylightingControls],
        "Daylighting:ReferencePoint": IDFCollection[DaylightingReferencePoint],
        "Daylighting:DELight:ComplexFenestration": IDFCollection[DaylightingDELightComplexFenestration],
        "DaylightingDevice:Tubular": IDFCollection[DaylightingDeviceTubular],
        "DaylightingDevice:Shelf": IDFCollection[DaylightingDeviceShelf],
        "DaylightingDevice:LightWell": IDFCollection[DaylightingDeviceLightWell],
        "Output:DaylightFactors": IDFCollection[OutputDaylightFactors],
        "Output:IlluminanceMap": IDFCollection[OutputIlluminanceMap],
        "OutputControl:IlluminanceMap:Style": IDFCollection[OutputControlIlluminanceMapStyle],
        "ZoneInfiltration:DesignFlowRate": IDFCollection[ZoneInfiltrationDesignFlowRate],
        "ZoneInfiltration:EffectiveLeakageArea": IDFCollection[ZoneInfiltrationEffectiveLeakageArea],
        "ZoneInfiltration:FlowCoefficient": IDFCollection[ZoneInfiltrationFlowCoefficient],
        "ZoneVentilation:DesignFlowRate": IDFCollection[ZoneVentilationDesignFlowRate],
        "ZoneVentilation:WindandStackOpenArea": IDFCollection[ZoneVentilationWindandStackOpenArea],
        "ZoneAirBalance:OutdoorAir": IDFCollection[ZoneAirBalanceOutdoorAir],
        "ZoneMixing": IDFCollection[ZoneMixing],
        "ZoneCrossMixing": IDFCollection[ZoneCrossMixing],
        "ZoneRefrigerationDoorMixing": IDFCollection[ZoneRefrigerationDoorMixing],
        "ZoneEarthtube": IDFCollection[ZoneEarthtube],
        "ZoneEarthtube:Parameters": IDFCollection[ZoneEarthtubeParameters],
        "ZoneCoolTower:Shower": IDFCollection[ZoneCoolTowerShower],
        "ZoneThermalChimney": IDFCollection[ZoneThermalChimney],
        "AirflowNetwork:SimulationControl": IDFCollection[AirflowNetworkSimulationControl],
        "AirflowNetwork:MultiZone:Zone": IDFCollection[AirflowNetworkMultiZoneZone],
        "AirflowNetwork:MultiZone:Surface": IDFCollection[AirflowNetworkMultiZoneSurface],
        "AirflowNetwork:MultiZone:ReferenceCrackConditions": IDFCollection[
            AirflowNetworkMultiZoneReferenceCrackConditions
        ],
        "AirflowNetwork:MultiZone:Surface:Crack": IDFCollection[AirflowNetworkMultiZoneSurfaceCrack],
        "AirflowNetwork:MultiZone:Surface:EffectiveLeakageArea": IDFCollection[
            AirflowNetworkMultiZoneSurfaceEffectiveLeakageArea
        ],
        "AirflowNetwork:MultiZone:SpecifiedFlowRate": IDFCollection[AirflowNetworkMultiZoneSpecifiedFlowRate],
        "AirflowNetwork:MultiZone:Component:DetailedOpening": IDFCollection[
            AirflowNetworkMultiZoneComponentDetailedOpening
        ],
        "AirflowNetwork:MultiZone:Component:SimpleOpening": IDFCollection[
            AirflowNetworkMultiZoneComponentSimpleOpening
        ],
        "AirflowNetwork:MultiZone:Component:HorizontalOpening": IDFCollection[
            AirflowNetworkMultiZoneComponentHorizontalOpening
        ],
        "AirflowNetwork:MultiZone:Component:ZoneExhaustFan": IDFCollection[
            AirflowNetworkMultiZoneComponentZoneExhaustFan
        ],
        "AirflowNetwork:MultiZone:ExternalNode": IDFCollection[AirflowNetworkMultiZoneExternalNode],
        "AirflowNetwork:MultiZone:WindPressureCoefficientArray": IDFCollection[
            AirflowNetworkMultiZoneWindPressureCoefficientArray
        ],
        "AirflowNetwork:MultiZone:WindPressureCoefficientValues": IDFCollection[
            AirflowNetworkMultiZoneWindPressureCoefficientValues
        ],
        "AirflowNetwork:ZoneControl:PressureController": IDFCollection[AirflowNetworkZoneControlPressureController],
        "AirflowNetwork:Distribution:Node": IDFCollection[AirflowNetworkDistributionNode],
        "AirflowNetwork:Distribution:Component:Leak": IDFCollection[AirflowNetworkDistributionComponentLeak],
        "AirflowNetwork:Distribution:Component:LeakageRatio": IDFCollection[
            AirflowNetworkDistributionComponentLeakageRatio
        ],
        "AirflowNetwork:Distribution:Component:Duct": IDFCollection[AirflowNetworkDistributionComponentDuct],
        "AirflowNetwork:Distribution:Component:Fan": IDFCollection[AirflowNetworkDistributionComponentFan],
        "AirflowNetwork:Distribution:Component:Coil": IDFCollection[AirflowNetworkDistributionComponentCoil],
        "AirflowNetwork:Distribution:Component:HeatExchanger": IDFCollection[
            AirflowNetworkDistributionComponentHeatExchanger
        ],
        "AirflowNetwork:Distribution:Component:TerminalUnit": IDFCollection[
            AirflowNetworkDistributionComponentTerminalUnit
        ],
        "AirflowNetwork:Distribution:Component:ConstantPressureDrop": IDFCollection[
            AirflowNetworkDistributionComponentConstantPressureDrop
        ],
        "AirflowNetwork:Distribution:Component:OutdoorAirFlow": IDFCollection[
            AirflowNetworkDistributionComponentOutdoorAirFlow
        ],
        "AirflowNetwork:Distribution:Component:ReliefAirFlow": IDFCollection[
            AirflowNetworkDistributionComponentReliefAirFlow
        ],
        "AirflowNetwork:Distribution:Linkage": IDFCollection[AirflowNetworkDistributionLinkage],
        "AirflowNetwork:Distribution:DuctViewFactors": IDFCollection[AirflowNetworkDistributionDuctViewFactors],
        "AirflowNetwork:Distribution:DuctSizing": IDFCollection[AirflowNetworkDistributionDuctSizing],
        "AirflowNetwork:OccupantVentilationControl": IDFCollection[AirflowNetworkOccupantVentilationControl],
        "AirflowNetwork:IntraZone:Node": IDFCollection[AirflowNetworkIntraZoneNode],
        "AirflowNetwork:IntraZone:Linkage": IDFCollection[AirflowNetworkIntraZoneLinkage],
        "Duct:Loss:Conduction": IDFCollection[DuctLossConduction],
        "Duct:Loss:Leakage": IDFCollection[DuctLossLeakage],
        "Duct:Loss:MakeupAir": IDFCollection[DuctLossMakeupAir],
        "Exterior:Lights": IDFCollection[ExteriorLights],
        "Exterior:FuelEquipment": IDFCollection[ExteriorFuelEquipment],
        "Exterior:WaterEquipment": IDFCollection[ExteriorWaterEquipment],
        "HVACTemplate:Thermostat": IDFCollection[HVACTemplateThermostat],
        "HVACTemplate:Zone:IdealLoadsAirSystem": IDFCollection[HVACTemplateZoneIdealLoadsAirSystem],
        "HVACTemplate:Zone:BaseboardHeat": IDFCollection[HVACTemplateZoneBaseboardHeat],
        "HVACTemplate:Zone:FanCoil": IDFCollection[HVACTemplateZoneFanCoil],
        "HVACTemplate:Zone:PTAC": IDFCollection[HVACTemplateZonePTAC],
        "HVACTemplate:Zone:PTHP": IDFCollection[HVACTemplateZonePTHP],
        "HVACTemplate:Zone:WaterToAirHeatPump": IDFCollection[HVACTemplateZoneWaterToAirHeatPump],
        "HVACTemplate:Zone:VRF": IDFCollection[HVACTemplateZoneVRF],
        "HVACTemplate:Zone:Unitary": IDFCollection[HVACTemplateZoneUnitary],
        "HVACTemplate:Zone:VAV": IDFCollection[HVACTemplateZoneVAV],
        "HVACTemplate:Zone:VAV:FanPowered": IDFCollection[HVACTemplateZoneVAVFanPowered],
        "HVACTemplate:Zone:VAV:HeatAndCool": IDFCollection[HVACTemplateZoneVAVHeatAndCool],
        "HVACTemplate:Zone:ConstantVolume": IDFCollection[HVACTemplateZoneConstantVolume],
        "HVACTemplate:Zone:DualDuct": IDFCollection[HVACTemplateZoneDualDuct],
        "HVACTemplate:System:VRF": IDFCollection[HVACTemplateSystemVRF],
        "HVACTemplate:System:Unitary": IDFCollection[HVACTemplateSystemUnitary],
        "HVACTemplate:System:UnitaryHeatPump:AirToAir": IDFCollection[HVACTemplateSystemUnitaryHeatPumpAirToAir],
        "HVACTemplate:System:UnitarySystem": IDFCollection[HVACTemplateSystemUnitarySystem],
        "HVACTemplate:System:VAV": IDFCollection[HVACTemplateSystemVAV],
        "HVACTemplate:System:PackagedVAV": IDFCollection[HVACTemplateSystemPackagedVAV],
        "HVACTemplate:System:ConstantVolume": IDFCollection[HVACTemplateSystemConstantVolume],
        "HVACTemplate:System:DualDuct": IDFCollection[HVACTemplateSystemDualDuct],
        "HVACTemplate:System:DedicatedOutdoorAir": IDFCollection[HVACTemplateSystemDedicatedOutdoorAir],
        "HVACTemplate:Plant:ChilledWaterLoop": IDFCollection[HVACTemplatePlantChilledWaterLoop],
        "HVACTemplate:Plant:Chiller": IDFCollection[HVACTemplatePlantChiller],
        "HVACTemplate:Plant:Chiller:ObjectReference": IDFCollection[HVACTemplatePlantChillerObjectReference],
        "HVACTemplate:Plant:Tower": IDFCollection[HVACTemplatePlantTower],
        "HVACTemplate:Plant:Tower:ObjectReference": IDFCollection[HVACTemplatePlantTowerObjectReference],
        "HVACTemplate:Plant:HotWaterLoop": IDFCollection[HVACTemplatePlantHotWaterLoop],
        "HVACTemplate:Plant:Boiler": IDFCollection[HVACTemplatePlantBoiler],
        "HVACTemplate:Plant:Boiler:ObjectReference": IDFCollection[HVACTemplatePlantBoilerObjectReference],
        "HVACTemplate:Plant:MixedWaterLoop": IDFCollection[HVACTemplatePlantMixedWaterLoop],
        "DesignSpecification:OutdoorAir": IDFCollection[DesignSpecificationOutdoorAir],
        "DesignSpecification:OutdoorAir:SpaceList": IDFCollection[DesignSpecificationOutdoorAirSpaceList],
        "DesignSpecification:ZoneAirDistribution": IDFCollection[DesignSpecificationZoneAirDistribution],
        "Sizing:Parameters": IDFCollection[SizingParameters],
        "Sizing:Zone": IDFCollection[SizingZone],
        "DesignSpecification:ZoneHVAC:Sizing": IDFCollection[DesignSpecificationZoneHVACSizing],
        "DesignSpecification:AirTerminal:Sizing": IDFCollection[DesignSpecificationAirTerminalSizing],
        "Sizing:System": IDFCollection[SizingSystem],
        "Sizing:Plant": IDFCollection[SizingPlant],
        "OutputControl:Sizing:Style": IDFCollection[OutputControlSizingStyle],
        "ZoneControl:Humidistat": IDFCollection[ZoneControlHumidistat],
        "ZoneControl:Thermostat": IDFCollection[ZoneControlThermostat],
        "ZoneControl:Thermostat:OperativeTemperature": IDFCollection[ZoneControlThermostatOperativeTemperature],
        "ZoneControl:Thermostat:ThermalComfort": IDFCollection[ZoneControlThermostatThermalComfort],
        "ZoneControl:Thermostat:TemperatureAndHumidity": IDFCollection[ZoneControlThermostatTemperatureAndHumidity],
        "ThermostatSetpoint:SingleHeating": IDFCollection[ThermostatSetpointSingleHeating],
        "ThermostatSetpoint:SingleCooling": IDFCollection[ThermostatSetpointSingleCooling],
        "ThermostatSetpoint:SingleHeatingOrCooling": IDFCollection[ThermostatSetpointSingleHeatingOrCooling],
        "ThermostatSetpoint:DualSetpoint": IDFCollection[ThermostatSetpointDualSetpoint],
        "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeating": IDFCollection[
            ThermostatSetpointThermalComfortFangerSingleHeating
        ],
        "ThermostatSetpoint:ThermalComfort:Fanger:SingleCooling": IDFCollection[
            ThermostatSetpointThermalComfortFangerSingleCooling
        ],
        "ThermostatSetpoint:ThermalComfort:Fanger:SingleHeatingOrCooling": IDFCollection[
            ThermostatSetpointThermalComfortFangerSingleHeatingOrCooling
        ],
        "ThermostatSetpoint:ThermalComfort:Fanger:DualSetpoint": IDFCollection[
            ThermostatSetpointThermalComfortFangerDualSetpoint
        ],
        "ZoneControl:Thermostat:StagedDualSetpoint": IDFCollection[ZoneControlThermostatStagedDualSetpoint],
        "ZoneControl:ContaminantController": IDFCollection[ZoneControlContaminantController],
        "ZoneHVAC:IdealLoadsAirSystem": IDFCollection[ZoneHVACIdealLoadsAirSystem],
        "ZoneHVAC:FourPipeFanCoil": IDFCollection[ZoneHVACFourPipeFanCoil],
        "ZoneHVAC:WindowAirConditioner": IDFCollection[ZoneHVACWindowAirConditioner],
        "ZoneHVAC:PackagedTerminalAirConditioner": IDFCollection[ZoneHVACPackagedTerminalAirConditioner],
        "ZoneHVAC:PackagedTerminalHeatPump": IDFCollection[ZoneHVACPackagedTerminalHeatPump],
        "ZoneHVAC:WaterToAirHeatPump": IDFCollection[ZoneHVACWaterToAirHeatPump],
        "ZoneHVAC:Dehumidifier:DX": IDFCollection[ZoneHVACDehumidifierDX],
        "ZoneHVAC:EnergyRecoveryVentilator": IDFCollection[ZoneHVACEnergyRecoveryVentilator],
        "ZoneHVAC:EnergyRecoveryVentilator:Controller": IDFCollection[ZoneHVACEnergyRecoveryVentilatorController],
        "ZoneHVAC:UnitVentilator": IDFCollection[ZoneHVACUnitVentilator],
        "ZoneHVAC:UnitHeater": IDFCollection[ZoneHVACUnitHeater],
        "ZoneHVAC:EvaporativeCoolerUnit": IDFCollection[ZoneHVACEvaporativeCoolerUnit],
        "ZoneHVAC:HybridUnitaryHVAC": IDFCollection[ZoneHVACHybridUnitaryHVAC],
        "ZoneHVAC:OutdoorAirUnit": IDFCollection[ZoneHVACOutdoorAirUnit],
        "ZoneHVAC:OutdoorAirUnit:EquipmentList": IDFCollection[ZoneHVACOutdoorAirUnitEquipmentList],
        "ZoneHVAC:TerminalUnit:VariableRefrigerantFlow": IDFCollection[ZoneHVACTerminalUnitVariableRefrigerantFlow],
        "ZoneHVAC:Baseboard:RadiantConvective:Water:Design": IDFCollection[
            ZoneHVACBaseboardRadiantConvectiveWaterDesign
        ],
        "ZoneHVAC:Baseboard:RadiantConvective:Water": IDFCollection[ZoneHVACBaseboardRadiantConvectiveWater],
        "ZoneHVAC:Baseboard:RadiantConvective:Steam:Design": IDFCollection[
            ZoneHVACBaseboardRadiantConvectiveSteamDesign
        ],
        "ZoneHVAC:Baseboard:RadiantConvective:Steam": IDFCollection[ZoneHVACBaseboardRadiantConvectiveSteam],
        "ZoneHVAC:Baseboard:RadiantConvective:Electric": IDFCollection[ZoneHVACBaseboardRadiantConvectiveElectric],
        "ZoneHVAC:CoolingPanel:RadiantConvective:Water": IDFCollection[ZoneHVACCoolingPanelRadiantConvectiveWater],
        "ZoneHVAC:Baseboard:Convective:Water": IDFCollection[ZoneHVACBaseboardConvectiveWater],
        "ZoneHVAC:Baseboard:Convective:Electric": IDFCollection[ZoneHVACBaseboardConvectiveElectric],
        "ZoneHVAC:LowTemperatureRadiant:VariableFlow": IDFCollection[ZoneHVACLowTemperatureRadiantVariableFlow],
        "ZoneHVAC:LowTemperatureRadiant:VariableFlow:Design": IDFCollection[
            ZoneHVACLowTemperatureRadiantVariableFlowDesign
        ],
        "ZoneHVAC:LowTemperatureRadiant:ConstantFlow": IDFCollection[ZoneHVACLowTemperatureRadiantConstantFlow],
        "ZoneHVAC:LowTemperatureRadiant:ConstantFlow:Design": IDFCollection[
            ZoneHVACLowTemperatureRadiantConstantFlowDesign
        ],
        "ZoneHVAC:LowTemperatureRadiant:Electric": IDFCollection[ZoneHVACLowTemperatureRadiantElectric],
        "ZoneHVAC:LowTemperatureRadiant:SurfaceGroup": IDFCollection[ZoneHVACLowTemperatureRadiantSurfaceGroup],
        "ZoneHVAC:HighTemperatureRadiant": IDFCollection[ZoneHVACHighTemperatureRadiant],
        "ZoneHVAC:VentilatedSlab": IDFCollection[ZoneHVACVentilatedSlab],
        "ZoneHVAC:VentilatedSlab:SlabGroup": IDFCollection[ZoneHVACVentilatedSlabSlabGroup],
        "AirTerminal:SingleDuct:ConstantVolume:Reheat": IDFCollection[AirTerminalSingleDuctConstantVolumeReheat],
        "AirTerminal:SingleDuct:ConstantVolume:NoReheat": IDFCollection[AirTerminalSingleDuctConstantVolumeNoReheat],
        "AirTerminal:SingleDuct:VAV:NoReheat": IDFCollection[AirTerminalSingleDuctVAVNoReheat],
        "AirTerminal:SingleDuct:VAV:Reheat": IDFCollection[AirTerminalSingleDuctVAVReheat],
        "AirTerminal:SingleDuct:VAV:Reheat:VariableSpeedFan": IDFCollection[
            AirTerminalSingleDuctVAVReheatVariableSpeedFan
        ],
        "AirTerminal:SingleDuct:VAV:HeatAndCool:NoReheat": IDFCollection[AirTerminalSingleDuctVAVHeatAndCoolNoReheat],
        "AirTerminal:SingleDuct:VAV:HeatAndCool:Reheat": IDFCollection[AirTerminalSingleDuctVAVHeatAndCoolReheat],
        "AirTerminal:SingleDuct:SeriesPIU:Reheat": IDFCollection[AirTerminalSingleDuctSeriesPIUReheat],
        "AirTerminal:SingleDuct:ParallelPIU:Reheat": IDFCollection[AirTerminalSingleDuctParallelPIUReheat],
        "AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction": IDFCollection[
            AirTerminalSingleDuctConstantVolumeFourPipeInduction
        ],
        "AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam": IDFCollection[
            AirTerminalSingleDuctConstantVolumeFourPipeBeam
        ],
        "AirTerminal:SingleDuct:ConstantVolume:CooledBeam": IDFCollection[
            AirTerminalSingleDuctConstantVolumeCooledBeam
        ],
        "AirTerminal:SingleDuct:Mixer": IDFCollection[AirTerminalSingleDuctMixer],
        "AirTerminal:DualDuct:ConstantVolume": IDFCollection[AirTerminalDualDuctConstantVolume],
        "AirTerminal:DualDuct:VAV": IDFCollection[AirTerminalDualDuctVAV],
        "AirTerminal:DualDuct:VAV:OutdoorAir": IDFCollection[AirTerminalDualDuctVAVOutdoorAir],
        "ZoneHVAC:AirDistributionUnit": IDFCollection[ZoneHVACAirDistributionUnit],
        "ZoneHVAC:ExhaustControl": IDFCollection[ZoneHVACExhaustControl],
        "ZoneHVAC:EquipmentList": IDFCollection[ZoneHVACEquipmentList],
        "ZoneHVAC:EquipmentConnections": IDFCollection[ZoneHVACEquipmentConnections],
        "SpaceHVAC:EquipmentConnections": IDFCollection[SpaceHVACEquipmentConnections],
        "SpaceHVAC:ZoneEquipmentSplitter": IDFCollection[SpaceHVACZoneEquipmentSplitter],
        "SpaceHVAC:ZoneEquipmentMixer": IDFCollection[SpaceHVACZoneEquipmentMixer],
        "SpaceHVAC:ZoneReturnMixer": IDFCollection[SpaceHVACZoneReturnMixer],
        "Fan:SystemModel": IDFCollection[FanSystemModel],
        "Fan:ConstantVolume": IDFCollection[FanConstantVolume],
        "Fan:VariableVolume": IDFCollection[FanVariableVolume],
        "Fan:OnOff": IDFCollection[FanOnOff],
        "Fan:ZoneExhaust": IDFCollection[FanZoneExhaust],
        "FanPerformance:NightVentilation": IDFCollection[FanPerformanceNightVentilation],
        "Fan:ComponentModel": IDFCollection[FanComponentModel],
        "Coil:Cooling:Water": IDFCollection[CoilCoolingWater],
        "Coil:Cooling:Water:DetailedGeometry": IDFCollection[CoilCoolingWaterDetailedGeometry],
        "CoilSystem:Cooling:Water": IDFCollection[CoilSystemCoolingWater],
        "Coil:Cooling:DX": IDFCollection[CoilCoolingDX],
        "Coil:Cooling:DX:CurveFit:Performance": IDFCollection[CoilCoolingDXCurveFitPerformance],
        "Coil:Cooling:DX:CurveFit:OperatingMode": IDFCollection[CoilCoolingDXCurveFitOperatingMode],
        "Coil:Cooling:DX:CurveFit:Speed": IDFCollection[CoilCoolingDXCurveFitSpeed],
        "Coil:DX:ASHRAE205:Performance": IDFCollection[CoilDXASHRAE205Performance],
        "Coil:Cooling:DX:SingleSpeed": IDFCollection[CoilCoolingDXSingleSpeed],
        "Coil:Cooling:DX:TwoSpeed": IDFCollection[CoilCoolingDXTwoSpeed],
        "Coil:Cooling:DX:MultiSpeed": IDFCollection[CoilCoolingDXMultiSpeed],
        "Coil:Cooling:DX:VariableSpeed": IDFCollection[CoilCoolingDXVariableSpeed],
        "Coil:Cooling:DX:TwoStageWithHumidityControlMode": IDFCollection[CoilCoolingDXTwoStageWithHumidityControlMode],
        "CoilPerformance:DX:Cooling": IDFCollection[CoilPerformanceDXCooling],
        "Coil:Cooling:DX:VariableRefrigerantFlow": IDFCollection[CoilCoolingDXVariableRefrigerantFlow],
        "Coil:Heating:DX:VariableRefrigerantFlow": IDFCollection[CoilHeatingDXVariableRefrigerantFlow],
        "Coil:Cooling:DX:VariableRefrigerantFlow:FluidTemperatureControl": IDFCollection[
            CoilCoolingDXVariableRefrigerantFlowFluidTemperatureControl
        ],
        "Coil:Heating:DX:VariableRefrigerantFlow:FluidTemperatureControl": IDFCollection[
            CoilHeatingDXVariableRefrigerantFlowFluidTemperatureControl
        ],
        "Coil:Heating:Water": IDFCollection[CoilHeatingWater],
        "Coil:Heating:Steam": IDFCollection[CoilHeatingSteam],
        "Coil:Heating:Electric": IDFCollection[CoilHeatingElectric],
        "Coil:Heating:Electric:MultiStage": IDFCollection[CoilHeatingElectricMultiStage],
        "Coil:Heating:Fuel": IDFCollection[CoilHeatingFuel],
        "Coil:Heating:Gas:MultiStage": IDFCollection[CoilHeatingGasMultiStage],
        "Coil:Heating:Desuperheater": IDFCollection[CoilHeatingDesuperheater],
        "Coil:Heating:DX:SingleSpeed": IDFCollection[CoilHeatingDXSingleSpeed],
        "Coil:Heating:DX:MultiSpeed": IDFCollection[CoilHeatingDXMultiSpeed],
        "Coil:Heating:DX:VariableSpeed": IDFCollection[CoilHeatingDXVariableSpeed],
        "Coil:Cooling:WaterToAirHeatPump:ParameterEstimation": IDFCollection[
            CoilCoolingWaterToAirHeatPumpParameterEstimation
        ],
        "Coil:Heating:WaterToAirHeatPump:ParameterEstimation": IDFCollection[
            CoilHeatingWaterToAirHeatPumpParameterEstimation
        ],
        "Coil:Cooling:WaterToAirHeatPump:EquationFit": IDFCollection[CoilCoolingWaterToAirHeatPumpEquationFit],
        "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit": IDFCollection[
            CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit
        ],
        "Coil:Heating:WaterToAirHeatPump:EquationFit": IDFCollection[CoilHeatingWaterToAirHeatPumpEquationFit],
        "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit": IDFCollection[
            CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit
        ],
        "Coil:WaterHeating:AirToWaterHeatPump:Pumped": IDFCollection[CoilWaterHeatingAirToWaterHeatPumpPumped],
        "Coil:WaterHeating:AirToWaterHeatPump:Wrapped": IDFCollection[CoilWaterHeatingAirToWaterHeatPumpWrapped],
        "Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed": IDFCollection[
            CoilWaterHeatingAirToWaterHeatPumpVariableSpeed
        ],
        "Coil:WaterHeating:Desuperheater": IDFCollection[CoilWaterHeatingDesuperheater],
        "CoilSystem:Cooling:DX": IDFCollection[CoilSystemCoolingDX],
        "CoilSystem:Heating:DX": IDFCollection[CoilSystemHeatingDX],
        "CoilSystem:Cooling:Water:HeatExchangerAssisted": IDFCollection[CoilSystemCoolingWaterHeatExchangerAssisted],
        "CoilSystem:Cooling:DX:HeatExchangerAssisted": IDFCollection[CoilSystemCoolingDXHeatExchangerAssisted],
        "CoilSystem:IntegratedHeatPump:AirSource": IDFCollection[CoilSystemIntegratedHeatPumpAirSource],
        "Coil:Cooling:DX:SingleSpeed:ThermalStorage": IDFCollection[CoilCoolingDXSingleSpeedThermalStorage],
        "EvaporativeCooler:Direct:CelDekPad": IDFCollection[EvaporativeCoolerDirectCelDekPad],
        "EvaporativeCooler:Indirect:CelDekPad": IDFCollection[EvaporativeCoolerIndirectCelDekPad],
        "EvaporativeCooler:Indirect:WetCoil": IDFCollection[EvaporativeCoolerIndirectWetCoil],
        "EvaporativeCooler:Indirect:ResearchSpecial": IDFCollection[EvaporativeCoolerIndirectResearchSpecial],
        "EvaporativeCooler:Direct:ResearchSpecial": IDFCollection[EvaporativeCoolerDirectResearchSpecial],
        "Humidifier:Steam:Electric": IDFCollection[HumidifierSteamElectric],
        "Humidifier:Steam:Gas": IDFCollection[HumidifierSteamGas],
        "Dehumidifier:Desiccant:NoFans": IDFCollection[DehumidifierDesiccantNoFans],
        "Dehumidifier:Desiccant:System": IDFCollection[DehumidifierDesiccantSystem],
        "HeatExchanger:AirToAir:FlatPlate": IDFCollection[HeatExchangerAirToAirFlatPlate],
        "HeatExchanger:AirToAir:SensibleAndLatent": IDFCollection[HeatExchangerAirToAirSensibleAndLatent],
        "HeatExchanger:Desiccant:BalancedFlow": IDFCollection[HeatExchangerDesiccantBalancedFlow],
        "HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1": IDFCollection[
            HeatExchangerDesiccantBalancedFlowPerformanceDataType1
        ],
        "AirLoopHVAC:UnitarySystem": IDFCollection[AirLoopHVACUnitarySystem],
        "UnitarySystemPerformance:Multispeed": IDFCollection[UnitarySystemPerformanceMultispeed],
        "AirLoopHVAC:Unitary:Furnace:HeatOnly": IDFCollection[AirLoopHVACUnitaryFurnaceHeatOnly],
        "AirLoopHVAC:Unitary:Furnace:HeatCool": IDFCollection[AirLoopHVACUnitaryFurnaceHeatCool],
        "AirLoopHVAC:UnitaryHeatOnly": IDFCollection[AirLoopHVACUnitaryHeatOnly],
        "AirLoopHVAC:UnitaryHeatCool": IDFCollection[AirLoopHVACUnitaryHeatCool],
        "AirLoopHVAC:UnitaryHeatPump:AirToAir": IDFCollection[AirLoopHVACUnitaryHeatPumpAirToAir],
        "AirLoopHVAC:UnitaryHeatPump:WaterToAir": IDFCollection[AirLoopHVACUnitaryHeatPumpWaterToAir],
        "AirLoopHVAC:UnitaryHeatCool:VAVChangeoverBypass": IDFCollection[AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass],
        "AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed": IDFCollection[AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed],
        "AirConditioner:VariableRefrigerantFlow": IDFCollection[AirConditionerVariableRefrigerantFlow],
        "AirConditioner:VariableRefrigerantFlow:FluidTemperatureControl": IDFCollection[
            AirConditionerVariableRefrigerantFlowFluidTemperatureControl
        ],
        "AirConditioner:VariableRefrigerantFlow:FluidTemperatureControl:HR": IDFCollection[
            AirConditionerVariableRefrigerantFlowFluidTemperatureControlHR
        ],
        "ZoneTerminalUnitList": IDFCollection[ZoneTerminalUnitList],
        "Controller:WaterCoil": IDFCollection[ControllerWaterCoil],
        "Controller:OutdoorAir": IDFCollection[ControllerOutdoorAir],
        "Controller:MechanicalVentilation": IDFCollection[ControllerMechanicalVentilation],
        "AirLoopHVAC:ControllerList": IDFCollection[AirLoopHVACControllerList],
        "AirLoopHVAC": IDFCollection[AirLoopHVAC],
        "AirLoopHVAC:OutdoorAirSystem:EquipmentList": IDFCollection[AirLoopHVACOutdoorAirSystemEquipmentList],
        "AirLoopHVAC:OutdoorAirSystem": IDFCollection[AirLoopHVACOutdoorAirSystem],
        "OutdoorAir:Mixer": IDFCollection[OutdoorAirMixer],
        "AirLoopHVAC:ZoneSplitter": IDFCollection[AirLoopHVACZoneSplitter],
        "AirLoopHVAC:SupplyPlenum": IDFCollection[AirLoopHVACSupplyPlenum],
        "AirLoopHVAC:SupplyPath": IDFCollection[AirLoopHVACSupplyPath],
        "AirLoopHVAC:ZoneMixer": IDFCollection[AirLoopHVACZoneMixer],
        "AirLoopHVAC:ReturnPlenum": IDFCollection[AirLoopHVACReturnPlenum],
        "AirLoopHVAC:ReturnPath": IDFCollection[AirLoopHVACReturnPath],
        "AirLoopHVAC:ExhaustSystem": IDFCollection[AirLoopHVACExhaustSystem],
        "AirLoopHVAC:DedicatedOutdoorAirSystem": IDFCollection[AirLoopHVACDedicatedOutdoorAirSystem],
        "AirLoopHVAC:Mixer": IDFCollection[AirLoopHVACMixer],
        "AirLoopHVAC:Splitter": IDFCollection[AirLoopHVACSplitter],
        "Branch": IDFCollection[Branch],
        "BranchList": IDFCollection[BranchList],
        "Connector:Splitter": IDFCollection[ConnectorSplitter],
        "Connector:Mixer": IDFCollection[ConnectorMixer],
        "ConnectorList": IDFCollection[ConnectorList],
        "NodeList": IDFCollection[NodeList],
        "OutdoorAir:Node": IDFCollection[OutdoorAirNode],
        "OutdoorAir:NodeList": IDFCollection[OutdoorAirNodeList],
        "Pipe:Adiabatic": IDFCollection[PipeAdiabatic],
        "Pipe:Adiabatic:Steam": IDFCollection[PipeAdiabaticSteam],
        "Pipe:Indoor": IDFCollection[PipeIndoor],
        "Pipe:Outdoor": IDFCollection[PipeOutdoor],
        "Pipe:Underground": IDFCollection[PipeUnderground],
        "PipingSystem:Underground:Domain": IDFCollection[PipingSystemUndergroundDomain],
        "PipingSystem:Underground:PipeCircuit": IDFCollection[PipingSystemUndergroundPipeCircuit],
        "PipingSystem:Underground:PipeSegment": IDFCollection[PipingSystemUndergroundPipeSegment],
        "Duct": IDFCollection[Duct],
        "Pump:VariableSpeed": IDFCollection[PumpVariableSpeed],
        "Pump:ConstantSpeed": IDFCollection[PumpConstantSpeed],
        "Pump:VariableSpeed:Condensate": IDFCollection[PumpVariableSpeedCondensate],
        "HeaderedPumps:ConstantSpeed": IDFCollection[HeaderedPumpsConstantSpeed],
        "HeaderedPumps:VariableSpeed": IDFCollection[HeaderedPumpsVariableSpeed],
        "TemperingValve": IDFCollection[TemperingValve],
        "LoadProfile:Plant": IDFCollection[LoadProfilePlant],
        "SolarCollectorPerformance:FlatPlate": IDFCollection[SolarCollectorPerformanceFlatPlate],
        "SolarCollector:FlatPlate:Water": IDFCollection[SolarCollectorFlatPlateWater],
        "SolarCollector:FlatPlate:PhotovoltaicThermal": IDFCollection[SolarCollectorFlatPlatePhotovoltaicThermal],
        "SolarCollectorPerformance:PhotovoltaicThermal:Simple": IDFCollection[
            SolarCollectorPerformancePhotovoltaicThermalSimple
        ],
        "SolarCollectorPerformance:PhotovoltaicThermal:BIPVT": IDFCollection[
            SolarCollectorPerformancePhotovoltaicThermalBIPVT
        ],
        "SolarCollector:IntegralCollectorStorage": IDFCollection[SolarCollectorIntegralCollectorStorage],
        "SolarCollectorPerformance:IntegralCollectorStorage": IDFCollection[
            SolarCollectorPerformanceIntegralCollectorStorage
        ],
        "SolarCollector:UnglazedTranspired": IDFCollection[SolarCollectorUnglazedTranspired],
        "SolarCollector:UnglazedTranspired:Multisystem": IDFCollection[SolarCollectorUnglazedTranspiredMultisystem],
        "Boiler:HotWater": IDFCollection[BoilerHotWater],
        "Boiler:Steam": IDFCollection[BoilerSteam],
        "Chiller:Electric:ASHRAE205": IDFCollection[ChillerElectricASHRAE205],
        "Chiller:Electric:EIR": IDFCollection[ChillerElectricEIR],
        "Chiller:Electric:ReformulatedEIR": IDFCollection[ChillerElectricReformulatedEIR],
        "Chiller:Electric": IDFCollection[ChillerElectric],
        "Chiller:Absorption:Indirect": IDFCollection[ChillerAbsorptionIndirect],
        "Chiller:Absorption": IDFCollection[ChillerAbsorption],
        "Chiller:ConstantCOP": IDFCollection[ChillerConstantCOP],
        "Chiller:EngineDriven": IDFCollection[ChillerEngineDriven],
        "Chiller:CombustionTurbine": IDFCollection[ChillerCombustionTurbine],
        "ChillerHeater:Absorption:DirectFired": IDFCollection[ChillerHeaterAbsorptionDirectFired],
        "ChillerHeater:Absorption:DoubleEffect": IDFCollection[ChillerHeaterAbsorptionDoubleEffect],
        "HeatPump:PlantLoop:EIR:Cooling": IDFCollection[HeatPumpPlantLoopEIRCooling],
        "HeatPump:PlantLoop:EIR:Heating": IDFCollection[HeatPumpPlantLoopEIRHeating],
        "HeatPump:AirToWater:FuelFired:Heating": IDFCollection[HeatPumpAirToWaterFuelFiredHeating],
        "HeatPump:AirToWater:FuelFired:Cooling": IDFCollection[HeatPumpAirToWaterFuelFiredCooling],
        "HeatPump:AirToWater": IDFCollection[HeatPumpAirToWater],
        "HeatPump:WaterToWater:EquationFit:Heating": IDFCollection[HeatPumpWaterToWaterEquationFitHeating],
        "HeatPump:WaterToWater:EquationFit:Cooling": IDFCollection[HeatPumpWaterToWaterEquationFitCooling],
        "HeatPump:WaterToWater:ParameterEstimation:Cooling": IDFCollection[
            HeatPumpWaterToWaterParameterEstimationCooling
        ],
        "HeatPump:WaterToWater:ParameterEstimation:Heating": IDFCollection[
            HeatPumpWaterToWaterParameterEstimationHeating
        ],
        "DistrictCooling": IDFCollection[DistrictCooling],
        "DistrictHeating:Water": IDFCollection[DistrictHeatingWater],
        "DistrictHeating:Steam": IDFCollection[DistrictHeatingSteam],
        "PlantComponent:TemperatureSource": IDFCollection[PlantComponentTemperatureSource],
        "CentralHeatPumpSystem": IDFCollection[CentralHeatPumpSystem],
        "ChillerHeaterPerformance:Electric:EIR": IDFCollection[ChillerHeaterPerformanceElectricEIR],
        "CoolingTower:SingleSpeed": IDFCollection[CoolingTowerSingleSpeed],
        "CoolingTower:TwoSpeed": IDFCollection[CoolingTowerTwoSpeed],
        "CoolingTower:VariableSpeed:Merkel": IDFCollection[CoolingTowerVariableSpeedMerkel],
        "CoolingTower:VariableSpeed": IDFCollection[CoolingTowerVariableSpeed],
        "CoolingTowerPerformance:CoolTools": IDFCollection[CoolingTowerPerformanceCoolTools],
        "CoolingTowerPerformance:YorkCalc": IDFCollection[CoolingTowerPerformanceYorkCalc],
        "EvaporativeFluidCooler:SingleSpeed": IDFCollection[EvaporativeFluidCoolerSingleSpeed],
        "EvaporativeFluidCooler:TwoSpeed": IDFCollection[EvaporativeFluidCoolerTwoSpeed],
        "FluidCooler:SingleSpeed": IDFCollection[FluidCoolerSingleSpeed],
        "FluidCooler:TwoSpeed": IDFCollection[FluidCoolerTwoSpeed],
        "GroundHeatExchanger:System": IDFCollection[GroundHeatExchangerSystem],
        "GroundHeatExchanger:Vertical:Sizing:Rectangle": IDFCollection[GroundHeatExchangerVerticalSizingRectangle],
        "GroundHeatExchanger:Vertical:Properties": IDFCollection[GroundHeatExchangerVerticalProperties],
        "GroundHeatExchanger:Vertical:Array": IDFCollection[GroundHeatExchangerVerticalArray],
        "GroundHeatExchanger:Vertical:Single": IDFCollection[GroundHeatExchangerVerticalSingle],
        "GroundHeatExchanger:ResponseFactors": IDFCollection[GroundHeatExchangerResponseFactors],
        "GroundHeatExchanger:Pond": IDFCollection[GroundHeatExchangerPond],
        "GroundHeatExchanger:Surface": IDFCollection[GroundHeatExchangerSurface],
        "GroundHeatExchanger:HorizontalTrench": IDFCollection[GroundHeatExchangerHorizontalTrench],
        "GroundHeatExchanger:Slinky": IDFCollection[GroundHeatExchangerSlinky],
        "HeatExchanger:FluidToFluid": IDFCollection[HeatExchangerFluidToFluid],
        "WaterHeater:Mixed": IDFCollection[WaterHeaterMixed],
        "WaterHeater:Stratified": IDFCollection[WaterHeaterStratified],
        "WaterHeater:Sizing": IDFCollection[WaterHeaterSizing],
        "WaterHeater:HeatPump:PumpedCondenser": IDFCollection[WaterHeaterHeatPumpPumpedCondenser],
        "WaterHeater:HeatPump:WrappedCondenser": IDFCollection[WaterHeaterHeatPumpWrappedCondenser],
        "ThermalStorage:Ice:Simple": IDFCollection[ThermalStorageIceSimple],
        "ThermalStorage:Ice:Detailed": IDFCollection[ThermalStorageIceDetailed],
        "ThermalStorage:ChilledWater:Mixed": IDFCollection[ThermalStorageChilledWaterMixed],
        "ThermalStorage:ChilledWater:Stratified": IDFCollection[ThermalStorageChilledWaterStratified],
        "ThermalStorage:HotWater:Stratified": IDFCollection[ThermalStorageHotWaterStratified],
        "ThermalStorage:PCM": IDFCollection[ThermalStoragePCM],
        "ThermalStorage:Sizing": IDFCollection[ThermalStorageSizing],
        "PlantLoop": IDFCollection[PlantLoop],
        "CondenserLoop": IDFCollection[CondenserLoop],
        "PlantEquipmentList": IDFCollection[PlantEquipmentList],
        "CondenserEquipmentList": IDFCollection[CondenserEquipmentList],
        "PlantEquipmentOperation:Uncontrolled": IDFCollection[PlantEquipmentOperationUncontrolled],
        "PlantEquipmentOperation:CoolingLoad": IDFCollection[PlantEquipmentOperationCoolingLoad],
        "PlantEquipmentOperation:HeatingLoad": IDFCollection[PlantEquipmentOperationHeatingLoad],
        "PlantEquipmentOperation:OutdoorDryBulb": IDFCollection[PlantEquipmentOperationOutdoorDryBulb],
        "PlantEquipmentOperation:OutdoorWetBulb": IDFCollection[PlantEquipmentOperationOutdoorWetBulb],
        "PlantEquipmentOperation:OutdoorRelativeHumidity": IDFCollection[
            PlantEquipmentOperationOutdoorRelativeHumidity
        ],
        "PlantEquipmentOperation:OutdoorDewpoint": IDFCollection[PlantEquipmentOperationOutdoorDewpoint],
        "PlantEquipmentOperation:ComponentSetpoint": IDFCollection[PlantEquipmentOperationComponentSetpoint],
        "PlantEquipmentOperation:ThermalEnergyStorage": IDFCollection[PlantEquipmentOperationThermalEnergyStorage],
        "PlantEquipmentOperation:OutdoorDryBulbDifference": IDFCollection[
            PlantEquipmentOperationOutdoorDryBulbDifference
        ],
        "PlantEquipmentOperation:OutdoorWetBulbDifference": IDFCollection[
            PlantEquipmentOperationOutdoorWetBulbDifference
        ],
        "PlantEquipmentOperation:OutdoorDewpointDifference": IDFCollection[
            PlantEquipmentOperationOutdoorDewpointDifference
        ],
        "PlantEquipmentOperation:ChillerHeaterChangeover": IDFCollection[
            PlantEquipmentOperationChillerHeaterChangeover
        ],
        "PlantEquipmentOperationSchemes": IDFCollection[PlantEquipmentOperationSchemes],
        "CondenserEquipmentOperationSchemes": IDFCollection[CondenserEquipmentOperationSchemes],
        "EnergyManagementSystem:Sensor": IDFCollection[EnergyManagementSystemSensor],
        "EnergyManagementSystem:Actuator": IDFCollection[EnergyManagementSystemActuator],
        "EnergyManagementSystem:ProgramCallingManager": IDFCollection[EnergyManagementSystemProgramCallingManager],
        "EnergyManagementSystem:Program": IDFCollection[EnergyManagementSystemProgram],
        "EnergyManagementSystem:Subroutine": IDFCollection[EnergyManagementSystemSubroutine],
        "EnergyManagementSystem:GlobalVariable": IDFCollection[EnergyManagementSystemGlobalVariable],
        "EnergyManagementSystem:OutputVariable": IDFCollection[EnergyManagementSystemOutputVariable],
        "EnergyManagementSystem:MeteredOutputVariable": IDFCollection[EnergyManagementSystemMeteredOutputVariable],
        "EnergyManagementSystem:TrendVariable": IDFCollection[EnergyManagementSystemTrendVariable],
        "EnergyManagementSystem:InternalVariable": IDFCollection[EnergyManagementSystemInternalVariable],
        "EnergyManagementSystem:CurveOrTableIndexVariable": IDFCollection[
            EnergyManagementSystemCurveOrTableIndexVariable
        ],
        "EnergyManagementSystem:ConstructionIndexVariable": IDFCollection[
            EnergyManagementSystemConstructionIndexVariable
        ],
        "ExternalInterface": IDFCollection[ExternalInterface],
        "ExternalInterface:Schedule": IDFCollection[ExternalInterfaceSchedule],
        "ExternalInterface:Variable": IDFCollection[ExternalInterfaceVariable],
        "ExternalInterface:Actuator": IDFCollection[ExternalInterfaceActuator],
        "ExternalInterface:FunctionalMockupUnitImport": IDFCollection[ExternalInterfaceFunctionalMockupUnitImport],
        "ExternalInterface:FunctionalMockupUnitImport:From:Variable": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitImportFromVariable
        ],
        "ExternalInterface:FunctionalMockupUnitImport:To:Schedule": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitImportToSchedule
        ],
        "ExternalInterface:FunctionalMockupUnitImport:To:Actuator": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitImportToActuator
        ],
        "ExternalInterface:FunctionalMockupUnitImport:To:Variable": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitImportToVariable
        ],
        "ExternalInterface:FunctionalMockupUnitExport:From:Variable": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitExportFromVariable
        ],
        "ExternalInterface:FunctionalMockupUnitExport:To:Schedule": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitExportToSchedule
        ],
        "ExternalInterface:FunctionalMockupUnitExport:To:Actuator": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitExportToActuator
        ],
        "ExternalInterface:FunctionalMockupUnitExport:To:Variable": IDFCollection[
            ExternalInterfaceFunctionalMockupUnitExportToVariable
        ],
        "ZoneHVAC:ForcedAir:UserDefined": IDFCollection[ZoneHVACForcedAirUserDefined],
        "AirTerminal:SingleDuct:UserDefined": IDFCollection[AirTerminalSingleDuctUserDefined],
        "Coil:UserDefined": IDFCollection[CoilUserDefined],
        "PlantComponent:UserDefined": IDFCollection[PlantComponentUserDefined],
        "PlantEquipmentOperation:UserDefined": IDFCollection[PlantEquipmentOperationUserDefined],
        "AvailabilityManager:Scheduled": IDFCollection[AvailabilityManagerScheduled],
        "AvailabilityManager:ScheduledOn": IDFCollection[AvailabilityManagerScheduledOn],
        "AvailabilityManager:ScheduledOff": IDFCollection[AvailabilityManagerScheduledOff],
        "AvailabilityManager:OptimumStart": IDFCollection[AvailabilityManagerOptimumStart],
        "AvailabilityManager:NightCycle": IDFCollection[AvailabilityManagerNightCycle],
        "AvailabilityManager:DifferentialThermostat": IDFCollection[AvailabilityManagerDifferentialThermostat],
        "AvailabilityManager:HighTemperatureTurnOff": IDFCollection[AvailabilityManagerHighTemperatureTurnOff],
        "AvailabilityManager:HighTemperatureTurnOn": IDFCollection[AvailabilityManagerHighTemperatureTurnOn],
        "AvailabilityManager:LowTemperatureTurnOff": IDFCollection[AvailabilityManagerLowTemperatureTurnOff],
        "AvailabilityManager:LowTemperatureTurnOn": IDFCollection[AvailabilityManagerLowTemperatureTurnOn],
        "AvailabilityManager:NightVentilation": IDFCollection[AvailabilityManagerNightVentilation],
        "AvailabilityManager:HybridVentilation": IDFCollection[AvailabilityManagerHybridVentilation],
        "AvailabilityManagerAssignmentList": IDFCollection[AvailabilityManagerAssignmentList],
        "SetpointManager:Scheduled": IDFCollection[SetpointManagerScheduled],
        "SetpointManager:Scheduled:DualSetpoint": IDFCollection[SetpointManagerScheduledDualSetpoint],
        "SetpointManager:OutdoorAirReset": IDFCollection[SetpointManagerOutdoorAirReset],
        "SetpointManager:SingleZone:Reheat": IDFCollection[SetpointManagerSingleZoneReheat],
        "SetpointManager:SingleZone:Heating": IDFCollection[SetpointManagerSingleZoneHeating],
        "SetpointManager:SingleZone:Cooling": IDFCollection[SetpointManagerSingleZoneCooling],
        "SetpointManager:SingleZone:Humidity:Minimum": IDFCollection[SetpointManagerSingleZoneHumidityMinimum],
        "SetpointManager:SingleZone:Humidity:Maximum": IDFCollection[SetpointManagerSingleZoneHumidityMaximum],
        "SetpointManager:MixedAir": IDFCollection[SetpointManagerMixedAir],
        "SetpointManager:OutdoorAirPretreat": IDFCollection[SetpointManagerOutdoorAirPretreat],
        "SetpointManager:Warmest": IDFCollection[SetpointManagerWarmest],
        "SetpointManager:Coldest": IDFCollection[SetpointManagerColdest],
        "SetpointManager:ReturnAirBypassFlow": IDFCollection[SetpointManagerReturnAirBypassFlow],
        "SetpointManager:WarmestTemperatureFlow": IDFCollection[SetpointManagerWarmestTemperatureFlow],
        "SetpointManager:MultiZone:Heating:Average": IDFCollection[SetpointManagerMultiZoneHeatingAverage],
        "SetpointManager:MultiZone:Cooling:Average": IDFCollection[SetpointManagerMultiZoneCoolingAverage],
        "SetpointManager:MultiZone:MinimumHumidity:Average": IDFCollection[
            SetpointManagerMultiZoneMinimumHumidityAverage
        ],
        "SetpointManager:MultiZone:MaximumHumidity:Average": IDFCollection[
            SetpointManagerMultiZoneMaximumHumidityAverage
        ],
        "SetpointManager:MultiZone:Humidity:Minimum": IDFCollection[SetpointManagerMultiZoneHumidityMinimum],
        "SetpointManager:MultiZone:Humidity:Maximum": IDFCollection[SetpointManagerMultiZoneHumidityMaximum],
        "SetpointManager:FollowOutdoorAirTemperature": IDFCollection[SetpointManagerFollowOutdoorAirTemperature],
        "SetpointManager:FollowSystemNodeTemperature": IDFCollection[SetpointManagerFollowSystemNodeTemperature],
        "SetpointManager:FollowGroundTemperature": IDFCollection[SetpointManagerFollowGroundTemperature],
        "SetpointManager:CondenserEnteringReset": IDFCollection[SetpointManagerCondenserEnteringReset],
        "SetpointManager:CondenserEnteringReset:Ideal": IDFCollection[SetpointManagerCondenserEnteringResetIdeal],
        "SetpointManager:SingleZone:OneStageCooling": IDFCollection[SetpointManagerSingleZoneOneStageCooling],
        "SetpointManager:SingleZone:OneStageHeating": IDFCollection[SetpointManagerSingleZoneOneStageHeating],
        "SetpointManager:ReturnTemperature:ChilledWater": IDFCollection[SetpointManagerReturnTemperatureChilledWater],
        "SetpointManager:ReturnTemperature:HotWater": IDFCollection[SetpointManagerReturnTemperatureHotWater],
        "SetpointManager:SystemNodeReset:Temperature": IDFCollection[SetpointManagerSystemNodeResetTemperature],
        "SetpointManager:SystemNodeReset:Humidity": IDFCollection[SetpointManagerSystemNodeResetHumidity],
        "Refrigeration:Case": IDFCollection[RefrigerationCase],
        "Refrigeration:CompressorRack": IDFCollection[RefrigerationCompressorRack],
        "Refrigeration:CaseAndWalkInList": IDFCollection[RefrigerationCaseAndWalkInList],
        "Refrigeration:Condenser:AirCooled": IDFCollection[RefrigerationCondenserAirCooled],
        "Refrigeration:Condenser:EvaporativeCooled": IDFCollection[RefrigerationCondenserEvaporativeCooled],
        "Refrigeration:Condenser:WaterCooled": IDFCollection[RefrigerationCondenserWaterCooled],
        "Refrigeration:Condenser:Cascade": IDFCollection[RefrigerationCondenserCascade],
        "Refrigeration:GasCooler:AirCooled": IDFCollection[RefrigerationGasCoolerAirCooled],
        "Refrigeration:TransferLoadList": IDFCollection[RefrigerationTransferLoadList],
        "Refrigeration:Subcooler": IDFCollection[RefrigerationSubcooler],
        "Refrigeration:Compressor": IDFCollection[RefrigerationCompressor],
        "Refrigeration:CompressorList": IDFCollection[RefrigerationCompressorList],
        "Refrigeration:System": IDFCollection[RefrigerationSystem],
        "Refrigeration:TranscriticalSystem": IDFCollection[RefrigerationTranscriticalSystem],
        "Refrigeration:SecondarySystem": IDFCollection[RefrigerationSecondarySystem],
        "Refrigeration:WalkIn": IDFCollection[RefrigerationWalkIn],
        "Refrigeration:AirChiller": IDFCollection[RefrigerationAirChiller],
        "ZoneHVAC:RefrigerationChillerSet": IDFCollection[ZoneHVACRefrigerationChillerSet],
        "DemandManagerAssignmentList": IDFCollection[DemandManagerAssignmentList],
        "DemandManager:ExteriorLights": IDFCollection[DemandManagerExteriorLights],
        "DemandManager:Lights": IDFCollection[DemandManagerLights],
        "DemandManager:ElectricEquipment": IDFCollection[DemandManagerElectricEquipment],
        "DemandManager:Thermostats": IDFCollection[DemandManagerThermostats],
        "DemandManager:Ventilation": IDFCollection[DemandManagerVentilation],
        "Generator:InternalCombustionEngine": IDFCollection[GeneratorInternalCombustionEngine],
        "Generator:CombustionTurbine": IDFCollection[GeneratorCombustionTurbine],
        "Generator:MicroTurbine": IDFCollection[GeneratorMicroTurbine],
        "Generator:Photovoltaic": IDFCollection[GeneratorPhotovoltaic],
        "PhotovoltaicPerformance:Simple": IDFCollection[PhotovoltaicPerformanceSimple],
        "PhotovoltaicPerformance:EquivalentOne-Diode": IDFCollection[PhotovoltaicPerformanceEquivalentOneDiode],
        "PhotovoltaicPerformance:Sandia": IDFCollection[PhotovoltaicPerformanceSandia],
        "Generator:PVWatts": IDFCollection[GeneratorPVWatts],
        "ElectricLoadCenter:Inverter:PVWatts": IDFCollection[ElectricLoadCenterInverterPVWatts],
        "Generator:FuelCell": IDFCollection[GeneratorFuelCell],
        "Generator:FuelCell:PowerModule": IDFCollection[GeneratorFuelCellPowerModule],
        "Generator:FuelCell:AirSupply": IDFCollection[GeneratorFuelCellAirSupply],
        "Generator:FuelCell:WaterSupply": IDFCollection[GeneratorFuelCellWaterSupply],
        "Generator:FuelCell:AuxiliaryHeater": IDFCollection[GeneratorFuelCellAuxiliaryHeater],
        "Generator:FuelCell:ExhaustGasToWaterHeatExchanger": IDFCollection[
            GeneratorFuelCellExhaustGasToWaterHeatExchanger
        ],
        "Generator:FuelCell:ElectricalStorage": IDFCollection[GeneratorFuelCellElectricalStorage],
        "Generator:FuelCell:Inverter": IDFCollection[GeneratorFuelCellInverter],
        "Generator:FuelCell:StackCooler": IDFCollection[GeneratorFuelCellStackCooler],
        "Generator:MicroCHP": IDFCollection[GeneratorMicroCHP],
        "Generator:MicroCHP:NonNormalizedParameters": IDFCollection[GeneratorMicroCHPNonNormalizedParameters],
        "Generator:FuelSupply": IDFCollection[GeneratorFuelSupply],
        "Generator:WindTurbine": IDFCollection[GeneratorWindTurbine],
        "ElectricLoadCenter:Generators": IDFCollection[ElectricLoadCenterGenerators],
        "ElectricLoadCenter:Inverter:Simple": IDFCollection[ElectricLoadCenterInverterSimple],
        "ElectricLoadCenter:Inverter:FunctionOfPower": IDFCollection[ElectricLoadCenterInverterFunctionOfPower],
        "ElectricLoadCenter:Inverter:LookUpTable": IDFCollection[ElectricLoadCenterInverterLookUpTable],
        "ElectricLoadCenter:Storage:Simple": IDFCollection[ElectricLoadCenterStorageSimple],
        "ElectricLoadCenter:Storage:Battery": IDFCollection[ElectricLoadCenterStorageBattery],
        "ElectricLoadCenter:Storage:LiIonNMCBattery": IDFCollection[ElectricLoadCenterStorageLiIonNMCBattery],
        "ElectricLoadCenter:Transformer": IDFCollection[ElectricLoadCenterTransformer],
        "ElectricLoadCenter:Distribution": IDFCollection[ElectricLoadCenterDistribution],
        "ElectricLoadCenter:Storage:Converter": IDFCollection[ElectricLoadCenterStorageConverter],
        "WaterUse:Equipment": IDFCollection[WaterUseEquipment],
        "WaterUse:Connections": IDFCollection[WaterUseConnections],
        "WaterUse:Storage": IDFCollection[WaterUseStorage],
        "WaterUse:Well": IDFCollection[WaterUseWell],
        "WaterUse:RainCollector": IDFCollection[WaterUseRainCollector],
        "FaultModel:TemperatureSensorOffset:OutdoorAir": IDFCollection[FaultModelTemperatureSensorOffsetOutdoorAir],
        "FaultModel:HumiditySensorOffset:OutdoorAir": IDFCollection[FaultModelHumiditySensorOffsetOutdoorAir],
        "FaultModel:EnthalpySensorOffset:OutdoorAir": IDFCollection[FaultModelEnthalpySensorOffsetOutdoorAir],
        "FaultModel:TemperatureSensorOffset:ReturnAir": IDFCollection[FaultModelTemperatureSensorOffsetReturnAir],
        "FaultModel:EnthalpySensorOffset:ReturnAir": IDFCollection[FaultModelEnthalpySensorOffsetReturnAir],
        "FaultModel:TemperatureSensorOffset:ChillerSupplyWater": IDFCollection[
            FaultModelTemperatureSensorOffsetChillerSupplyWater
        ],
        "FaultModel:TemperatureSensorOffset:CoilSupplyAir": IDFCollection[
            FaultModelTemperatureSensorOffsetCoilSupplyAir
        ],
        "FaultModel:TemperatureSensorOffset:CondenserSupplyWater": IDFCollection[
            FaultModelTemperatureSensorOffsetCondenserSupplyWater
        ],
        "FaultModel:ThermostatOffset": IDFCollection[FaultModelThermostatOffset],
        "FaultModel:HumidistatOffset": IDFCollection[FaultModelHumidistatOffset],
        "FaultModel:Fouling:AirFilter": IDFCollection[FaultModelFoulingAirFilter],
        "FaultModel:Fouling:Boiler": IDFCollection[FaultModelFoulingBoiler],
        "FaultModel:Fouling:EvaporativeCooler": IDFCollection[FaultModelFoulingEvaporativeCooler],
        "FaultModel:Fouling:Chiller": IDFCollection[FaultModelFoulingChiller],
        "FaultModel:Fouling:CoolingTower": IDFCollection[FaultModelFoulingCoolingTower],
        "FaultModel:Fouling:Coil": IDFCollection[FaultModelFoulingCoil],
        "Matrix:TwoDimension": IDFCollection[MatrixTwoDimension],
        "HybridModel:Zone": IDFCollection[HybridModelZone],
        "Curve:Linear": IDFCollection[CurveLinear],
        "Curve:QuadLinear": IDFCollection[CurveQuadLinear],
        "Curve:QuintLinear": IDFCollection[CurveQuintLinear],
        "Curve:Quadratic": IDFCollection[CurveQuadratic],
        "Curve:Cubic": IDFCollection[CurveCubic],
        "Curve:Quartic": IDFCollection[CurveQuartic],
        "Curve:Exponent": IDFCollection[CurveExponent],
        "Curve:Bicubic": IDFCollection[CurveBicubic],
        "Curve:Biquadratic": IDFCollection[CurveBiquadratic],
        "Curve:QuadraticLinear": IDFCollection[CurveQuadraticLinear],
        "Curve:CubicLinear": IDFCollection[CurveCubicLinear],
        "Curve:Triquadratic": IDFCollection[CurveTriquadratic],
        "Curve:Functional:PressureDrop": IDFCollection[CurveFunctionalPressureDrop],
        "Curve:FanPressureRise": IDFCollection[CurveFanPressureRise],
        "Curve:ExponentialSkewNormal": IDFCollection[CurveExponentialSkewNormal],
        "Curve:Sigmoid": IDFCollection[CurveSigmoid],
        "Curve:RectangularHyperbola1": IDFCollection[CurveRectangularHyperbola1],
        "Curve:RectangularHyperbola2": IDFCollection[CurveRectangularHyperbola2],
        "Curve:ExponentialDecay": IDFCollection[CurveExponentialDecay],
        "Curve:DoubleExponentialDecay": IDFCollection[CurveDoubleExponentialDecay],
        "Curve:ChillerPartLoadWithLift": IDFCollection[CurveChillerPartLoadWithLift],
        "Table:IndependentVariable": IDFCollection[TableIndependentVariable],
        "Table:IndependentVariableList": IDFCollection[TableIndependentVariableList],
        "Table:Lookup": IDFCollection[TableLookup],
        "FluidProperties:Name": IDFCollection[FluidPropertiesName],
        "FluidProperties:GlycolConcentration": IDFCollection[FluidPropertiesGlycolConcentration],
        "FluidProperties:Temperatures": IDFCollection[FluidPropertiesTemperatures],
        "FluidProperties:Saturated": IDFCollection[FluidPropertiesSaturated],
        "FluidProperties:Superheated": IDFCollection[FluidPropertiesSuperheated],
        "FluidProperties:Concentration": IDFCollection[FluidPropertiesConcentration],
        "CurrencyType": IDFCollection[CurrencyType],
        "ComponentCost:Adjustments": IDFCollection[ComponentCostAdjustments],
        "ComponentCost:Reference": IDFCollection[ComponentCostReference],
        "ComponentCost:LineItem": IDFCollection[ComponentCostLineItem],
        "UtilityCost:Tariff": IDFCollection[UtilityCostTariff],
        "UtilityCost:Qualify": IDFCollection[UtilityCostQualify],
        "UtilityCost:Charge:Simple": IDFCollection[UtilityCostChargeSimple],
        "UtilityCost:Charge:Block": IDFCollection[UtilityCostChargeBlock],
        "UtilityCost:Ratchet": IDFCollection[UtilityCostRatchet],
        "UtilityCost:Variable": IDFCollection[UtilityCostVariable],
        "UtilityCost:Computation": IDFCollection[UtilityCostComputation],
        "LifeCycleCost:Parameters": IDFCollection[LifeCycleCostParameters],
        "LifeCycleCost:RecurringCosts": IDFCollection[LifeCycleCostRecurringCosts],
        "LifeCycleCost:NonrecurringCost": IDFCollection[LifeCycleCostNonrecurringCost],
        "LifeCycleCost:UsePriceEscalation": IDFCollection[LifeCycleCostUsePriceEscalation],
        "LifeCycleCost:UseAdjustment": IDFCollection[LifeCycleCostUseAdjustment],
        "Parametric:SetValueForRun": IDFCollection[ParametricSetValueForRun],
        "Parametric:Logic": IDFCollection[ParametricLogic],
        "Parametric:RunControl": IDFCollection[ParametricRunControl],
        "Parametric:FileNameSuffix": IDFCollection[ParametricFileNameSuffix],
        "Output:VariableDictionary": IDFCollection[OutputVariableDictionary],
        "Output:Surfaces:List": IDFCollection[OutputSurfacesList],
        "Output:Surfaces:Drawing": IDFCollection[OutputSurfacesDrawing],
        "Output:Schedules": IDFCollection[OutputSchedules],
        "Output:Constructions": IDFCollection[OutputConstructions],
        "Output:EnergyManagementSystem": IDFCollection[OutputEnergyManagementSystem],
        "OutputControl:SurfaceColorScheme": IDFCollection[OutputControlSurfaceColorScheme],
        "Output:Table:SummaryReports": IDFCollection[OutputTableSummaryReports],
        "Output:Table:TimeBins": IDFCollection[OutputTableTimeBins],
        "Output:Table:Monthly": IDFCollection[OutputTableMonthly],
        "Output:Table:Annual": IDFCollection[OutputTableAnnual],
        "Output:Table:ReportPeriod": IDFCollection[OutputTableReportPeriod],
        "OutputControl:Table:Style": IDFCollection[OutputControlTableStyle],
        "OutputControl:ReportingTolerances": IDFCollection[OutputControlReportingTolerances],
        "OutputControl:ResilienceSummaries": IDFCollection[OutputControlResilienceSummaries],
        "Output:Variable": IDFCollection[OutputVariable],
        "Output:Meter": IDFCollection[OutputMeter],
        "Output:Meter:MeterFileOnly": IDFCollection[OutputMeterMeterFileOnly],
        "Output:Meter:Cumulative": IDFCollection[OutputMeterCumulative],
        "Output:Meter:Cumulative:MeterFileOnly": IDFCollection[OutputMeterCumulativeMeterFileOnly],
        "Meter:Custom": IDFCollection[MeterCustom],
        "Meter:CustomDecrement": IDFCollection[MeterCustomDecrement],
        "OutputControl:Files": IDFCollection[OutputControlFiles],
        "OutputControl:Timestamp": IDFCollection[OutputControlTimestamp],
        "Output:JSON": IDFCollection[OutputJSON],
        "Output:SQLite": IDFCollection[OutputSQLite],
        "Output:EnvironmentalImpactFactors": IDFCollection[OutputEnvironmentalImpactFactors],
        "EnvironmentalImpactFactors": IDFCollection[EnvironmentalImpactFactors],
        "FuelFactors": IDFCollection[FuelFactors],
        "Output:Diagnostics": IDFCollection[OutputDiagnostics],
        "Output:DebuggingData": IDFCollection[OutputDebuggingData],
        "Output:PreprocessorMessage": IDFCollection[OutputPreprocessorMessage],
        "PythonPlugin:SearchPaths": IDFCollection[PythonPluginSearchPaths],
        "PythonPlugin:Instance": IDFCollection[PythonPluginInstance],
        "PythonPlugin:Variables": IDFCollection[PythonPluginVariables],
        "PythonPlugin:TrendVariable": IDFCollection[PythonPluginTrendVariable],
        "PythonPlugin:OutputVariable": IDFCollection[PythonPluginOutputVariable],
    },
    total=False,
)
