VEApacheSystem

class iesve.VEApacheSystem

Bases: object

Apache System object.


static default() str

ID of the default Apache system.


static fuel_name(fuel_id: int) str

Gets the fuel name for the input fuel ID.

Parameters:

fuel_id (int) – The ID of the fuel

Returns:

Name of fuel

Return type:

str

Raises:
  • ValueError – If no name is found for the input fuel ID

  • RuntimeError – In the case of an internal data handling error


static meter_name(fuel_id: int, meter_branch: tuple[int]) str

Gets the meter name for the input meter ID.

Parameters:
  • fuel_id (int) – The ID of the fuel that the meter belongs to

  • meter_branch (tuple) – The branch of the meter

Returns:

Name of meter

Return type:

str

Raises:
  • ValueError – If no name is found for the meter ID

  • RuntimeError – In the case of an internal data handling error


static set_default(system_id: str) None

Set the default system ID


air_supply() dict

Air supply data for the Apache system. Returns dictionary with the following keys:

Key

Description

condition

(int) supply condition. See air_supply_cond_names()

cooling_max_flow

(float, l/s) maximum cooling air supply flow rate

OA_max_flow

(float, l/s) maximum outside air supply flow rate

profile

(Optional) (string) adjacent condition profile ID, only present

if condition = 1

temperature_difference

(float, K) air supply temperature difference (0 for no sizing)


apply_ncm() None

Applies NCM wizard data to the system. Call this after setting NCM wizard data to update the system itself. If you don’t call this, changes will be made only in the wizard and not the system.


auxiliary_energy(show_ncm: bool = False) dict

Auxiliary energy data for the Apache system.

Parameters:

show_ncm (bool, Optional) – Whether to show NCM specific data in the output. Defaults to False.

Returns:

with following keys:

Key

Description

AEV

(float, W/m²) energy value. Only if method != 0

air_supply_mechanism

(Optional) Air supply mechanism

equivalent_energy

(float, kWh/m²/y) equivalent energy in, for 3255hrs

operation. Only if method != 0

method

(int) auxiliary energy method.

See aux_energy_method_names()

off_schedule_AEV

(float, W/m²) off-schedule heating/cooling AEV

SFP (Optional)

(float, W/l/s) specific fan power (SFP). Only if method != 3

Return type:

dict


bivalent_systems_ncm() dict

Bivalent systems NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

load_for_primary_system

% Load for the primary system

overall_seasonal_efficiency

Overall seasonal efficiency

systems

List of dictionaries of system data (one for each system)

System data dictionary contains the following keys:

Key

Description

gen_seff

GEN SEFF (fraction)

heat_source

Heat source

load

% Load

meter

Energy meter


control() dict

Control data for the Apache system. Returns dictionary with the following keys:

Key

Description

master_zone

(string) master zone room ID


cooling(show_ncm: bool = False) dict

Cooling data for the Apache system.

Parameters:

show_ncm (bool, Optional) – Whether to show NCM specific data in the output. Defaults to False.

Returns:

Dictionary with the following keys:

Key

Description

cool_vent_mechanism

(int) Cooling/ventilation mechanism.

See cooling_mech_names()

del_eff

(float) Delivery efficiency

free_cooling

(cmm_free_cooling) Changeover mixed mode free cooling

fuel (Optional)

(int) Fuel. Only if has_absorption_chiller == False.

See fuel_names()

gen_size

(float, kW) Generator size

has_absorption_chiller

(Bool) Whether the system has an absorption chiller

nominal_eer

(float, kW/kW) Nominal EER

pump_and_fan_power_perc

(float) Pump & fan power (% of rejected heat)

SEER

(float, kW/kW) Seasonal energy efficiency ratio

SSEER

(float, kW/kW) Seasonal system energy efficiency ratio

Return type:

dict


cooling_ncm() dict

Cooling NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

chiller_meter

(VEEnergyMeter) Chiller meter

default_generator_nominal_eer

(float) Default nominal EER value

default_generator_seasonal_eer

(float) Default seasonal EER value

generator_nominal_eer

(float) Nominal EER

generator_nominal_eer_known

(bool) Do you know the generator nominal EER?

generator_seasonal_eer

(float) Seasonal EER

generator_seasonal_eer_known

(bool) Do you know the generator seasonal EER?

mixed_mode

(bool) Mixed mode operation strategy (SBEM only)

power

(ncm_chiller_power) Cooling power

qualify_for_eca

(ncm_eca_list) Does it qualify for ECAs?

type

(ncm_chiller_type) Cooling type


general_ncm() dict

General NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

is_proxy_for_hvac

(bool) Whether it is a proxy for an ApacheHVAC system

ncm_system_type

(ncm_system_type) NCM system type


heating(show_ncm: bool = False) dict

Heating data for the Apache system.

Parameters:

show_ncm (bool, Optional) – Whether to show NCM specific data in the output. Defaults to False.

Returns:

with the following keys

Key

Description

CHP_heat_output

(Optional) (float, kW) heat output of CHP.

Only if CHP is present

CHP_ranking

(Optional)(int) ranking of heat source after the CHP plant.

Only if CHP is present

del_eff

(float) delivery efficiency of the generator

fuel

(int) generator fuel. See fuel_names()

gen_seasonal_eff

(float) seasonal efficiency of the generator

gen_size

(float, kW) generator size

HR_effectiveness

(float) ventilation heat recovery effectiveness

HR_return_temp

(float, °C) ventilation heat recovery return air temperature

Is_heat_pump

(bool) Is it a heat pump?

meter_cef

(float) Meter CEF kgCO2/kWh

meter_pef

(float) Meter PEF kgCO2/kWh

SCoP

(float, kW/kW) seasonal coefficient of performance

used_with_CHP

(bool) whether the heat source is used in conjunction with CHP

Return type:

dict


heating_ncm() dict

Heating NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

boiler_over_15_years_old

(bool) Whether the boiler is over 15 years old

convectors_have_fans

(bool) Whether convectors have fans

default_fan_power_ratio

(float) Default fan power ratio

default_generator_radiant_efficiency

(float) Default generator radiant efficiency

default_generator_seasonal_efficiency

(float) Default generator seasonal efficiency

existing_district_heating

(bool) Whether this system is an existing

district heating system

fan_power_ratio

(float) Fan power ratio

fan_power_ratio_known

(bool) Whether the fan power ratio is known

generator_radiant_efficiency

(float) Generator radiant efficiency

generator_radiant_efficiency_known

(bool) Whether the generator radiant efficiency

is known

generator_seasonal_efficiency

(float) Generator seasonal efficiency

generator_seasonal_efficiency_known

(bool) Do you know the generator seasonal

efficiency?

heat_source

(ncm_heat_source) Heat source

installed_after_98

(bool) Whether this system was installed on or

after 1998

meter

(VEEnergyMeter) Energy meter

qualify_for_ecas

(ncm_eca_list) Does it qualify for ECAs?

uses_chp

(bool) Whether this system also uses CHP


hot_water(show_ncm: bool = False) dict

Hot water data for the Apache system.

Parameters:

show_ncm (bool, Optional) – Whether to show NCM specific data in the output. Defaults to False.

Returns:

with following keys:

Key

Description

circulation_losses

(Optional) (float, W/m) circulation losses.

Only if secondary circulation is present

cold_water_inlet_temp

(float, °C) mean cold water inlet

temperature

default_generator_seasonal_efficiency

(Optional) (float) Default generator

seasonal efficiency

del_eff

(float) DHW delivery efficiency

existing_district_heating

(Optional) (bool) Existing district

heating system?

generator_meter

(Optional) (VEEnergyMeter) Generator

meter

generator_seasonal_efficiency

(Optional) (float) Seasonal generator

efficiency

generator_type (Optional)

(dhw_parent_type) Generator type

has_ApHVAC_boiler

(Bool) whether the system is served by

an ApacheHVAC boiler

has_secondary_circulation

(Bool) whether the system has secondary

circulation

has_time_switch

(Optional) (Bool) whether or not there is

a time switch. Only if secondary

circulation is present

insulation_thickness

(Optional) (float, mm) insulation

thickness. Only if storage is used

insulation_type

(Optional) (int) type of insulation.

See insulation_names().Only if storage is

used

is_storage_system

(Bool) whether the system is a storage

system

later_than_1998

(Optional) (Bool) Later than 1998?

loop_length

(Optional) (float, meters) loop length.

Only if secondary circulation is present

pump_power

(Optional) (float, kW) pump power. Only

if secondary circulation is present

storage_losses

(Optional) (float, kWh/l/day) storage

losses. Only if storage is used

storage_volume

(Optional) (float, liters) storage volume.

Only if storage is used

supply_temp

(float, °C) hot water supply temperature

use_default_generator_seasonal_efficiency

(Optional) (bool) Do you know the

generator seasonal efficiency?

pump_meter

(VEEnergyMeter) Pump meter

Return type:

dict


metering_provision_ncm() dict

Metering provision NCM data for the Apache system. Returns: Dictionary with the following keys:

Key

Description

control_correction

(float) Control correction

provision_for_metering

(bool) Does the system have provisioning for metering?

warns

(bool) Does the metering warn ‘out of range’ values?


set_air_supply(**kwds)

Helper for @overload to raise when called.


set_auxiliary_energy(**kwds)

Helper for @overload to raise when called.


set_bivalent_systems_ncm(data: list[dict]) None

Bivalent systems NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

load_for_primary_system

% Load for the primary system

overall_seasonal_efficiency

Overall seasonal efficiency

systems

List[dict] if system data (one for each system)

Set bivalent systems from the supplied list of dictionaries.

Dictionary keys are:

Key

Description

gen_seff

GEN SEFF (fraction)

heat_source

Heat source

load

% Load

meter

Energy meter


set_control(control_id: str) None


set_cooling(**kwds)

Helper for @overload to raise when called.


set_cooling_ncm(**kwds)

Helper for @overload to raise when called.


set_general_ncm(**kwds)

Helper for @overload to raise when called.


set_heating(**kwds)

Helper for @overload to raise when called.


set_heating_ncm(**kwds)

Helper for @overload to raise when called.


set_hot_water(**kwds)

Helper for @overload to raise when called.


set_metering_provision_ncm(**kwds)

Helper for @overload to raise when called.


set_name(name: str) None

Set the system name


set_solar_water_heating(**kwds)

Helper for @overload to raise when called.


set_solar_water_heating_ncm(**kwds)

Helper for @overload to raise when called.


set_system_adjustment_ncm(**kwds)

Helper for @overload to raise when called.


set_system_controls_ncm(**kwds)

Helper for @overload to raise when called.


set_ventilation_ncm(**kwds)

Helper for @overload to raise when called.


solar_water_heating() dict

Solar water heating data for the Apache system. Returns dictionary with the following keys:

Key

Description

type

Collector type (TODO eSolarHeating enums)

Flat collectors also have the following keys:

Key

Description

area

(float, m²) Area

azimuth

(float, Degrees clockwise from North) azimuth

coeff_a1

(float, W/m²/K) First order heat loss coefficient (a1)

coeff_a2

(float, W/m²/K) Second order heat loss coefficient (a2)

conversion_eff

(float) Conversion efficiency at ambient temperature

degradation_factor

(float) Degradation factor

flow_rate

(float, l/h/m²) Flow rate

HX_effectiveness

(float) Heat exchanger effectiveness

pump_fuel

(fuel_type) Pump fuel

pump_meter_branch

(tuple) Pump meter branch

pump_power

(float, kW) Pump power

shading_factor

(float) Shading factor

storage_loss

(float, kWh/l/day) Storage loss at max. temperature

tilt

(float, degrees from horizontal) Tilt

volume

(float, liters) Volume

Parabolic collectors also have the following keys:

Key

Description

abso_absorptance

(float) Absorptance of absorber tube

abso_radius

(float, m) Radius of absorber tube

azimuth

(float, degrees from North) Angle of collector tube

coeff_c1

(float) First order loss coefficient per unit aperture area

coeff_c2

(float) Second order loss coefficient per unit aperture area

cover_trans

(float) Transmittance of cover tube

fluid_flow

(float, l/h/m²) Total fluid flow

heat_capacity

(float, J/kg/K) Fluid specific heat capacity

HX_effectiveness

(float) Heat exchanger effectiveness

intercept_factor

(float) Fraction of beam radiation intercepted by receiver

mirror_reflectance

(float) Reflectance of the mirror

num_rows

(int) Number of rows (in parallel)

pump_fuel

(fuel_type) Pump fuel

pump_meter_branch

(tuple) Pump meter branch

pump_power

(float, kW) Pump power

refl_focal_length

(float, m) Focal length of one reflector collector unit

refl_length

(float, m) Length of one reflector collector unit

refl_width

(float, m) Width of one reflector collector unit

tank_heat_loss

(float, kWh/l/day) Design tank heat loss

tank_volume

(float, l) Tank volume

tube_extension

(float, m) Extension of tube beyond a single unit

units_per_row

(int) Collector units per row (in series)

Flat and parabolic collectors also have the following keys:

Key

Description

has_space_or_process_heating

Whether there is space or process heating

return_temp (Optional)

Water loop design return temperature (°C)

supply_temp (Optional)

Water loop design supply temperature (°C)


solar_water_heating_derived() dict

Derived solar water heating data for the Apache system. Returns:

Empty dictionary for flat/none, or dictionary with the following keys for parabolic:

Key

Description

aperture_area

Total aperture area (m^2)

refl_rim_angle

Reflector rim angle (degrees)

conc_ratio

Ratio of aperture area to projected absorber tube area

ref_collector_eff

Reference optical efficiency of collector

fluid_flow_rate

Total fluid flow rate (l/h)

coeff_k1

First order loss coefficient per unit tube length

coeff_k2

Second order loss coefficient per unit tube length


solar_water_heating_ncm() dict

Solar water heating data for NCM mode. Returns dictionary with the following keys:

Key

Description

a1

a1 W/m^2K

a2

a2 W/m^2

circulation_system

Circulation system

heat_transfer_rate

Heat transfer rate (W/K)

iam

IAM

insulation_thickness

Insulation thickness (mm)

insulation_type

Insulation type

is_heat_exchanger

Is there a heat exchanger?

is_solar_heating

Is there a solar heating system?

nominal_pump_power

Nominal pump power, Paux (W)

overall_heat_loss_coeff

Overall heat loss coeff (W/K)

panel_area

Solar panel area (m^2)

panel_azimuth

Solar panel azimuth (degrees clockwise from north)

panel_tilt

Solar panel tilt (degrees from horizontal)

performance_parameter

Performance parameter

performance_parameters_known

Do you know the performance parameters?

pipes_insulated

Are pipes to back-up system insulated?

preheating_type

Pre-heating type

sigma_0

Sigma-0

volume

Solar storage volume (l)


system_adjustment_ncm() dict

System adjustment NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

ahu_meets_standards

(bool) Does the AHU meet CEN leakage standards?

air_leakage

(float) Air leakage

cen_class

(iesve.ncm_leakage_standard) CEN classification

met by the AHU

default_specific_fan_power

(float) Default specific fan power

ductwork_leakage_test

(iesve.ncm_leakage_test) CEN classification met

by the ductwork

ductwork_leakage_test_done

(bool) Has the ductwork been leakage tested?

pump_type

(iesve.ncm_pump_type) Pump type

specific_fan_power

(float) Specific Fan Power of the system

specific_fan_power_known

(bool) Do you know the Specific Fan Power?


system_controls_ncm() dict

System controls NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

central_time_control

(bool) Central time control

local_temperature_control

(bool) Local temperature control (i.e., room by room)

local_time_control

(bool) Local time control (i.e., room by room)

optimum_start_stop_control

(bool) Optimum start/stop control

weather_compensation_control

(bool) Weather compensation control


ventilation_ncm() dict

Ventilation NCM data for the Apache system. Returns dictionary with the following keys:

Key

Description

air_supply_mechanism

(ncm_air_supply_mechanism) Air supply mechanism

cool_vent_mechanism

(CoolingMechanism_type) Cooling/ventilation mechanism

default_heat_recovery_efficiency

(float) Default heat recovery seasonal efficiency

heat_recovery_efficiency

(float) Heat recovery seasonal efficiency

heat_recovery_efficiency_known

(bool) Do you know the heat recovery seasonal

efficiency?

heat_recovery_type

(ncm_heat_recovery_type) Heat recovery type

variable_heat_recovery (bool)

Variable heat recovery efficiency?


id: str

Apache system ID


name: str

Apache system’s name



Enums

class iesve.AuxEnergyMethod_type(*values)

Bases: IntEnum


AEV = 3


SFPs = 0


SFPs_and_AEV = 2


SFPs_with_min_AEV = 1



class iesve.cmm_free_cooling(*values)

Bases: IntEnum


mechanical_ventilation = 2


natural_ventilation = 1


not_a_cmm_system = 0



class iesve.Conditioning_type(*values)

Bases: IntEnum


external_air = 1


temperature_from_schedule = 2



class iesve.CoolingMechanism_type(*values)

Bases: IntEnum


air_conditioning = 0


mechanical_ventilation = 1


natural_ventilation = 2



class iesve.dhw_parent_type(*values)

Bases: IntEnum


dedicated_dhw_boiler = 1


heat_pump = 5


instantaneous_combi = 4


instantaneous_dhw_only = 3


standalone_water_heater = 2


unset = 0



class iesve.fuel_type(*values)

Bases: IntEnum


anthracite = 14


biogas = 2


biomass = 5


coal = 4


district_heating = 38


dual = 16


elec = 6


grid_displaced_elec = 17


grid_displaced_elec_pv = 39


lpg = 1


misc_a = 8


misc_b = 9


misc_c = 10


misc_d = 11


misc_e = 12


misc_f = 13


misc_g = 18


misc_h = 19


misc_i = 20


misc_j = 21


misc_k = 22


misc_l = 23


misc_m = 24


misc_n = 25


misc_o = 26


misc_p = 27


misc_q = 28


misc_r = 29


misc_s = 30


misc_t = 31


misc_u = 32


misc_v = 33


misc_w = 34


misc_x = 35


misc_y = 36


misc_z = 37


nat_gas = 0


none = -1


oil = 3


smokeless = 15


waste = 7



class iesve.Insulation_type(*values)

Bases: IntEnum


factory_insulated = 3


loose_jacket = 2


uninsulated = 1



class iesve.ncm_air_supply_mechanism(*values)

Bases: IntEnum


centralised_ac = 0


local_ventilation_serving_single_area = 3


other_local_ventilation_units = 4


zonal_extract_system_with_remote_fan = 2


zonal_supply_system_with_remote_fan = 1



class iesve.ncm_chiller_power(*values)

Bases: IntEnum


greater_than_750_kw = 3


less_than_100_kw = 0


less_than_500_kw = 1


less_than_750_kw = 2



class iesve.ncm_chiller_type(*values)

Bases: IntEnum


air_cooled = 0


heat_pump_electric = 4


heat_pump_gas_oil = 3


remote_condenser = 2


water_cooled = 1



class iesve.ncm_eca_list(*values)

Bases: IntEnum


after_2001 = 1


before_2005 = 2


from_2005 = 3


not_on_list = 0


uplift_in_2006 = 4



class iesve.ncm_heat_recovery(*values)

Bases: IntEnum


heat_pipes = 2


no_heat_recovery = 0


plate_heat_exchanger = 1


run_around_coil = 4


thermal_wheel = 3



class iesve.ncm_heat_source(*values)

Bases: IntEnum


air_heater = 3


chp = 14


direct_gas_firing = 13


direct_or_storage_electric_heater = 8


district_heating = 12


heat_pump_air_source = 9


heat_pump_electric_air_source = 17


heat_pump_electric_ground_or_water_source = 18


heat_pump_gas_oil_air_source = 15


heat_pump_gas_oil_ground_or_water_source = 16


heat_pump_ground_or_water_source = 10


hthw_boiler = 2


lthw_boiler = 0


mthw_boiler = 1


radiant_heater = 6


room_heater = 11


unflued_gas_warm_air_heater = 4


unflued_radiant_heater = 7


unitary_radiant_heater = 5



class iesve.ncm_leakage_standard(*values)

Bases: IntEnum


class_l1 = 0


class_l2 = 1


class_l3 = 2


not_compliant = 3



class iesve.ncm_leakage_test(*values)

Bases: IntEnum


class_a = 1


class_b = 2


class_c = 3


class_d = 4


not_tested = 0



class iesve.ncm_pump_type(*values)

Bases: IntEnum


constant_speed = 0


none = 4


variable_speed_differential_sensor_pump = 1


variable_speed_differential_sensor_system = 2


variable_speed_multiple_pressure_sensors = 3



class iesve.ncm_system_type(*values)

Bases: IntEnum


active_chilled_beams = 26


central_heating_using_air_distribution = 7


central_heating_using_water_convectors = 5


central_heating_using_water_floor_heating = 6


central_heating_using_water_radiators = 4


chilled_ceilings_or_passive_chilled_beams_displacement_ventilation = 25


chilled_ceilings_or_passive_chilled_beams_mixed_ventilation = 32


constant_volume_system_fixed = 20


constant_volume_system_variable = 21


dual_duct = 24


dual_duct_vav = 16


fan_coil_systems = 18


flued_forced_convection_air_heaters = 13


flued_radiant_heater = 11


generic_heating_and_mechanical_cooling = 3


generic_heating_only_electrical_resistance = 1


generic_heating_only_other_systems = 2


indoor_packaged_cabinet = 17


induction_system = 19


multi_burner_radiant_heaters = 12


multizone = 22


no_heating_or_cooling = 30


not_set = 0


other_local_room_heater_fanned = 8


other_local_room_heater_unfanned = 9


single_duct_vav = 15


single_room_cooling_system = 29


split_or_multisplit_systems = 28


terminal_reheat = 23


unflued_forced_convection_air_heaters = 14


unflued_radiant_heater = 10


variable_refrigerant_flow = 31


water_loop_heat_pump = 27



class iesve.shw_circulation_sys(*values)

Bases: IntEnum


forced_circulation_system_with_no_pv = 2


forced_circulation_system_with_pv = 1


thermosiphon_system = 0



class iesve.shw_collector_type(*values)

Bases: IntEnum


evacuated = 2


flat_panel = 1


unglazed = 0



class iesve.shw_insulation_type(*values)

Bases: IntEnum


factory_insulated = 2


loose_jacket = 1


uninsulated = 0



class iesve.shw_preheating_type(*values)

Bases: IntEnum


combined_cylinder = 1


separate_solar_cylinder = 0



class iesve.SolarHeating_type(*values)

Bases: IntEnum


flat = 1


none = 0


parabolic = 2