ladybug_comfort.pet module

Utility functions for calculating Physiologic Equivalent Temperature (PET).

PET uses the Munich Energy Balance Model (MEMI), which is arguably the most detailed 3-node human energy balance model in common use today. It can account for various physiological features of the human subject, including age, sex, height, and body mass, making it one of the only models that is suitable for forecasting the thermal experience of a specific individual. This also makes it one of the better models for estimating core body temperature and whether a given set of conditions is likely to induce hypothermia or hyperthermia in a specific individual.

PET is, itself, a “feels like” temperature and is defined as the operative temperature of a reference environment that would cause the same physiological response in the human subject as the environment under study. That is, the same skin temperature and core body temperature.

ladybug_comfort.pet.core_temperature_category(t_core)[source]

Get the classification of core body temperature.

  • -2 = Hypothermia

  • -1 = Cold

  • 0 = Normal

  • 1 = Hot

  • 2 = Hyperthermia

Parameters:

t_core – The core body temperature of the human subject [C].

Returns:

category – An integer indicating the classification of the body temperature.

Note

[1] Marx J (2006). Rosen’s emergency medicine : concepts and clinical practice (6th ed.). Philadelphia: Mosby/Elsevier. p. 2239. ISBN 978-0-323-02845-5. OCLC 58533794.

ladybug_comfort.pet.memi_balance(t_human, ta, tr, vel, rh, met, clo, age, sex, ht, m_body, pos, b_press=101325, actual=True, scalar=False)[source]

Perform the human load balance using Munich energy balance model (MEMI).

Parameters:
  • t_human

    A list of three values for the temperature of the human subject.

    • core body temperature [C]

    • skin temperature [C]

    • clothing temperature [C]

  • ta – Air temperature [C].

  • tr – Mean radiant temperature [C].

  • vel – Relative air velocity [m/s].

  • rh – Relative humidity [%].

  • met – Metabolic rate [met].

  • clo – Clothing [clo].

  • age – The age of the human subject [years].

  • sex – A value between 0 and 1 to indicate the sex of the human [0=male, 1=female].

  • ht – The height of the human subject in [m].

  • m_body – The body mass of the human subject in [kg].

  • pos – Text for the posture of the human subject. [standing, seated, crouching].

  • b_press – The barometric air pressure [Pa]. (Default: 101325 for sea level).

  • actual – A boolean to indicate whether the calculation should be performed in the actual environment (True) or the reference environment (False).

  • scalar – A boolean for whether the result should be returned as a vector of the energy flux across [core, skin, clo] or it should be a single scalar energy flux for the entire human subject.

Returns:

The energy flux across the entire human subject if scalar is True or a vector with energy flux across [core, skin, clo] if scalar is False.

ladybug_comfort.pet.pet_category(pet)[source]

Get the category of heat/cold stress associated PET.

This method uses the original categories developed by Matzarakis and Mayer (1996), which are most suitable in temperature climates.

Each number (from -4 to +4) represents a certain PET thermal sensation category.

  • -4 = Extreme Cold

  • -3 = Strong Cold

  • -2 = Moderate Cold

  • -1 = Slight Cold

  • 0 = Comfortable

  • 1 = Slight Heat

  • 2 = Moderate Heat

  • 3 = Strong Heat

  • 4 = Extreme Heat

Parameters:

pet – Physiological Equivalent Temperature [C].

Returns:

category – An integer indicating the level of heat/cold stress associated with the PET.

ladybug_comfort.pet.pet_category_humid(pet)[source]

Get the category of heat/cold stress associated PET.

This method uses the categories by Lin and Matzarakis (2008), which are suitable for tropical and subtropical humid climates.

Each number (from -4 to +4) represents a certain PET thermal sensation category.

  • -4 = Extreme Cold

  • -3 = Strong Cold

  • -2 = Moderate Cold

  • -1 = Slight Cold

  • 0 = Comfortable

  • 1 = Slight Heat

  • 2 = Moderate Heat

  • 3 = Strong Heat

  • 4 = Extreme Heat

Parameters:

pet – Physiological Equivalent Temperature [C].

Returns:

category – An integer indicating the level of heat/cold stress associated with the PET.

ladybug_comfort.pet.physiologic_equivalent_temperature(ta, tr, vel, rh, met, clo, age=36, sex=0.5, ht=1.65, m_body=62, pos='standing', b_press=101325)[source]

Calculate Physiological Equivalent Temperature (PET).

This method is based on Peter Hoeppe’s original PET Fortran code, from the VDI Norm 3787, Blatt 2 [1][2], as well as Djordje Spasic’s Ladybug Legacy source code. It includes the corrected reference environment and updated vapor transfer model published by Edouard Walther (AREP, France) and Quentin Goestchel (ENS Paris-Saclay, France) [3].

Chris Mackey added support for the specification of metabolic rates in met (instead of Watts above basal metabolism) using a USDA report that relates Resting Metabolic Rate (RMR) (assumed to be 1 met) to Basal Metabolic Rate (BMR) using a Physical Activity Level (PAL) ratio [4].

Note

[1] Hoeppe, Peter. (1999). “The physiological equivalent temperature - A universal index for the biometeorological assessment of the thermal environment.” International journal of biometeorology. 43. 71-5. 10.1007/s004840050118. https://link.springer.com/article/10.1007/s004840050118

[2] Hoeppe, Peter. (2008). “Urban climatic map and standards for wind environment - Feasibility study, Technical Input Report No.1”, The Chinese University of Hong Kong, Planning Department.

[3] Walther, Edouard and Goestchel, Quentin. (2018). “The P.E.T. comfort index: Questioning the model”. Building and Environment. 137C. 1-10. 10.1016/j.buildenv.2018.03.054. https://www.sciencedirect.com/science/article/pii/S0360132318301896

[4] “Dietary Reference Intakes for Energy, Carbohydrate, Fiber, Fat, Fatty Acids, Cholesterol, Protein, and Amino Acids (Macronutrients) (2005)”. USDA. National Academy of Sciences, Institute of Medicine, Food and Nutrition Board. Archived from the original on 10 March 2016. Chapter 12, page 8. https://web.archive.org/web/20160310031719/http://fnic.nal.usda.gov/ dietary-guidance/dri-nutrient-reports/energy-carbohydrate-fiber-fat- fatty-acids-cholesterol-protein

Parameters:
  • ta – Air temperature [C].

  • tr – Mean radiant temperature [C].

  • vel – Relative air velocity [m/s].

  • rh – Relative humidity [%].

  • met – Metabolic rate [met]. Note that the original PET model requires that the activity of the human subject be accounted for as additional Watts above the basal metabolism, which is often difficult to estimate. In order to accept an input in [met], it is assumed that 1 met refers to Resting Metabolic Rate (RMR) and this is 1.17 times the male Basal Metabolic Rate (BMR) or 1.22 times the female BMR, where 1.17 = 1 / 0.9 (TEF or food digestion) / 0.95 (basal to resting activity difference)

  • clo – Clothing [clo].

  • age – The age of the human subject in years. (Default: 36 years for middle age of the average worldwide life expectancy).

  • sex – A value between 0 and 1 to indicate the sex of the human subject, which influences the computation of basal metabolism. 0 indicates male. 1 indicates female and any number in between denotes a weighted average between the two. (Default: 0.5).

  • ht – The height of the human subject in meters. (Default: 1.65m for a worldwide average between male and female height).

  • m_body – The body mass of the human subject in kilograms. (Default: 62 kg for the worldwide average adult human body mass).

  • pos – Text to indicate the posture of the human subject’s body. Choose from the following: “standing”, “seated”, “crouching”. (Default: “standing”).

  • b_press – An optional number for the air pressure in which the human subject exists, which determines the rate of sweat evaporation [Pa]. Default is pressure at sea level (101325 Pa).

Returns:

A dictionary containing results of the PET model with the following keys

  • pet – Physiological equivalent temperature (PET) [C]

  • t_core – Core body temperature [C]

  • t_skin – Skin temperature [C]

  • t_clo – Clothing temperature [C]

ladybug_comfort.pet.sweat_volume(t_body)[source]

Calculate skin sweat volume using average body temperatures.

Parameters:

t_body – The average body temperature of the human subject. [C].

Returns:

A number for the volume of sweat in g/m2-h.

ladybug_comfort.pet.vaso_circulation(t_core, t_skin)[source]

Calculate skin blood flow (vaso-circulation) using core and skin temperatures.

Parameters:
  • t_core – The core temperature of the human subject. [C].

  • t_skin – The skin temperature of the human subject. [C].

Returns:

A number for the volume of blood flow in L/m2-h.