class archetypal.template.WindowSetting(Name, Construction=None, OperableArea=0.8, AfnWindowAvailability=None, AfnDischargeC=0.65, AfnTempSetpoint=20, IsVirtualPartition=False, IsShadingSystemOn=False, ShadingSystemAvailabilitySchedule=None, ShadingSystemSetpoint=180, ShadingSystemTransmittance=0.5, ShadingSystemType=ShadingType.ExteriorShade, Type=WindowType.External, IsZoneMixingOn=False, ZoneMixingAvailabilitySchedule=None, ZoneMixingDeltaTemperature=2, ZoneMixingFlowRate=0.001, area=1, **kwargs)[source]

Defines the various window-related properties of a Zone.

Control natural ventilation, shading and airflow networks and more using this class. This class serves the same role as the ZoneInformation>Windows tab in the UMI TemplateEditor.



The WindowSetting class implements two constructors that are tailored to the eppy scripting language:

Initialize a WindowSetting using default values.

  • Construction (WindowConstruction) – The window construction.

  • OperableArea (float) – The operable window area as a ratio of total window area. eg. 0.8 := 80% of the windows area is operable.

  • AfnWindowAvailability (UmiSchedule) – The Airflow Network availability schedule.

  • AfnDischargeC (float) – Airflow Network Discharge Coefficient. Default = 0.65.

  • AfnTempSetpoint (float) – Airflow Network Temperature Setpoint. Default = 20 degreeC.

  • IsVirtualPartition (bool) – Virtual Partition.

  • IsShadingSystemOn (bool) – Shading is used. Default is False.

  • ShadingSystemAvailabilitySchedule (UmiSchedule) – Shading system availability schedule.

  • ShadingSystemSetpoint (float) – Shading system setpoint in units of W/m2. Default = 180 W/m2.

  • ShadingSystemTransmittance (float) – Shading system transmittance. Default = 0.5.

  • ShadingSystemType (int) – Shading System Type. 0 = ExteriorShade, 1 = InteriorShade.

  • Type (int) –

  • IsZoneMixingOn (bool) – Zone mixing.

  • ZoneMixingAvailabilitySchedule (UmiSchedule) – Zone mixing availability schedule.

  • ZoneMixingDeltaTemperature (float) – Zone mixing delta

  • ZoneMixingFlowRate (float) – Zone mixing flow rate in units of m3/m2. Default = 0.001 m3/m2.

  • **kwargs – other keywords passed to the constructor.

property area

Get or set the area of the zone associated to this object [m²].

property OperableArea

Get or set the operable area ratio [-].

property AfnDischargeC

Get or set the air flow network discarge coefficient.

property AfnTempSetpoint

Get or set the air flow network setpoint temperature [degC].

property AfnWindowAvailability

Get or set the air flow network window availability schedule.

property ShadingSystemType

Get or set the shading system type [enum].

property ShadingSystemSetpoint

Get or set the shading system setpoint [W/m2].

property Category

Get or set the Category attribute.

property Comments

Get or set the object comments.

property DataSource

Get or set the datasource of the object.

property Name

Get or set the name of the object.

property ShadingSystemTransmittance

Get or set the shading system transmittance [-].

property allow_duplicates

Get or set the use of duplicates [bool].


Get copy of self.

extend(other, allow_duplicates)

Append other to self. Modify and return self.


other (UmiBase) –



Return type


float_mean(other, attr, weights=None)

Calculates the average attribute value of two floats. Can provide weights.

  • other (UmiBase) – The other UmiBase object to calculate average value with.

  • attr (str) – The attribute of the UmiBase object.

  • weights (iterable, optional) – Weights of [self, other] to calculate weighted average.


Return first object matching equality in the list of instantiated objects.

property id

Get or set the id.

property predecessors

Get or set the predecessors of self.

Of which objects is self made of. If from nothing else then self, return self.


renames self as well as the cached object


name (str) – the name.


Return a ref pointer to self.

property ShadingSystemAvailabilitySchedule

Get or set the shading system availability schedule.

property IsShadingSystemOn

Get or set the use of the shading system.

property ZoneMixingAvailabilitySchedule

Get or set the zone mixing availability schedule.

property ZoneMixingDeltaTemperature

Get or set the zone mixing delta temperature.

property Construction

Get or set the window construction.

property IsVirtualPartition

Get or set the state of the virtual partition.

property IsZoneMixingOn

Get or set mixing in zone.

property ZoneMixingFlowRate

Get or set the zone mixing flow rate [m3/s].

property Type

Get or set the window type [enum].

classmethod generic(Name)[source]

Initialize a generic window with SHGC=0.704, UFactor=2.703, Tvis=0.786.


Name (str) – Name of the WindowSetting

classmethod from_construction(Construction, **kwargs)[source]

Make a WindowSetting directly from a Construction object.


>>> from archetypal import IDF
>>> from archetypal.template.window_setting import WindowSetting
>>> # Given an IDF object
>>> idf = IDF("idfname.idf")
>>> constr = idf.getobject('CONSTRUCTION',
>>>                              'AEDG-SmOffice 1A Window Fixed')
>>> WindowSetting.from_construction(
>>>     Name='test_window',
>>>     Construction=constr
>>> )
  • Construction (EpBunch) – The construction name for this window.

  • **kwargs – Other keywords passed to the constructor.


The window setting object.

Return type


classmethod from_surface(surface, **kwargs)[source]

Build a WindowSetting object from a FenestrationSurface:Detailed.

This constructor will detect common window constructions and shading devices. Supported Shading and Natural Air flow EnergyPlus objects are: WindowProperty:ShadingControl, AirflowNetwork:MultiZone:Surface.


If an EnergyPlus object is not supported, eg.: AirflowNetwork:MultiZone:Component:DetailedOpening, only a warning will be issued in the console for the related object instance and default values will be automatically used.


surface (EpBunch) – The FenestrationSurface:Detailed object.


The window setting object.

Return type


combine(other, weights=None, allow_duplicates=False)[source]

Append other to self. Return self + other as a new object.

  • other (WindowSetting) – The other OpaqueMaterial object

  • weights (list-like, optional) – A list-like object of len 2. If None, equal weights are used.


A new combined object made of self + other.

Return type



Return WindowSetting dictionary representation.

classmethod from_dict(data, schedules, window_constructions, **kwargs)[source]

Create a ZoneConditioning from a dictionary.

  • data (dict) – The python dictionary.

  • schedules (dict) – A dictionary of UmiSchedules with their id as keys.

  • window_constructions (dict) – A dictionary of WindowConstruction objects with their id as keys.

  • **kwargs – keywords passed to parent constructor.

classmethod from_ref(ref, building_templates, schedules, window_constructions, **kwargs)[source]

Initialize WindowSetting object from a reference id.


In some cases, the WindowSetting is referenced in the DataStore to the Windows property of a BuildingTemplate (instead of being listed in the WindowSettings list. This is the case in the original BostonTemplateLibrary.json.

  • ref (str) – The referenced number in the json library.

  • building_templates (list) – List of BuildingTemplates from the datastore.


The parsed WindowSetting.

Return type



Validate object and fill in missing values.


Get a dict based on the object properties, useful for dict repr.


validate (bool) – If True, try to validate object before returning the mapping.