Skip to main content

Package to calculate several thermal comfort indices (e.g. PMV, PPD, SET, adaptive) and convert physical variables. Please cite us if you use this package: Tartarini, F., Schiavon, S., 2020. pythermalcomfort: A Python package for thermal comfort research. SoftwareX 12, 100578. https://doi.org/10.1016/j.softx.2020.100578

Project description

Package to calculate several thermal comfort indices (e.g. PMV, PPD, SET, adaptive) and convert physical variables.

Please cite us if you use this package: Tartarini, F., Schiavon, S., 2020. pythermalcomfort: A Python package for thermal comfort research. SoftwareX 12, 100578. https://doi.org/10.1016/j.softx.2020.100578

  • Free software: MIT license

Installation

pip install pythermalcomfort

You can also install the in-development version with:

pip install https://github.com/CenterForTheBuiltEnvironment/pythermalcomfort/archive/master.zip

Documentation

https://pythermalcomfort.readthedocs.io/

Examples and Tutorials

Examples files on how to use some of the functions

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. Click here to learn more on how to contribute to the project.

Deployment

I am using travis to test the code. In addition, I have enabled GitHub actions. Every time a commit containing the message bump version is pushed to master then the GitHub action tests the code and if the tests pass, a new version of the package is published automatically on PyPI. See file in .github/workflows/ for more information.

Changelog

2.7.0 (2023-02-16)

  • changed coefficient of vasodilation in set_tmp() to 120 to match ASHRAE 55 2020 code

  • slightly modified value in validation tables

2.6.0 (2023-01-17)

  • max sweating rate can be passed to two node model

  • max skin wettedness can be passed to two node model

  • rounding w to two decimals

  • use_fans_heatwave function accepts arrays

  • fixed typos unit documentation

2.5.4 (2022-10-12)

  • PHS model accepts all required inputs to be run on a minute by minute basis

  • fix error check compliance PHS model

2.5.0 (2022-06-13)

  • Added the adaptive thermal heat balance (ATHB) model

2.4.0 (2022-06-10)

  • Added e_pmv model - Adjusted Predicted Mean Votes with Expectancy Factor

  • Added a_pmv model - Adaptive Predicted Mean Vote

2.3.0 (2022-06-01)

  • Added discomfort index

2.2.0 (2022-05-17)

  • Implemented a better equation to calculate the mean radiant temperature

2.1.1 (2022-05-17)

  • Fixed how DISC is calculated

2.1.0 (2022-04-20)

  • Added Physiological Equivalent Temperature (PET) model

  • In PMV and PPD function you can specify if occupants has control over airspeed

2.0.2 (2022-04-12)

  • UTCI accepts lists as inputs

2.0.0 (2022-04-07)

  • Allowing users to pass Numpy arrays or lists as input to the pmv_ppd, pmv, clo_tout, both adaptive models, utci, set_tmp, two_nodes

  • Changed the input variable from return_invalid to limit_input

  • Increased speed by using Numba @vectorize decorator

  • Changed ASHRAE 55 2020 limits to match new addenda

  • Improved documentation

1.11.0 (2022-03-16)

  • Allowing users to pass a Numpy array as input into the UTCI function

  • Numpy is now a requirement of pythermalcomfort

  • Improved PMV, JOS-3, and UTCI documentation

  • Testing PMV, SET, and solar gains models using online reference tables

1.10.0 (2021-11-15)

  • Added JOS-3 model

1.9.0 (2021-10-07)

  • Added Normal Effective Temperature (NET)

  • Added Apparent Temperature (AT)

  • Added Wind Chill Index (WCI)

1.8.0 (2021-09-28)

  • Gagge’s two-node model

  • Added WBGT equation

  • Added Heat index (HI)

  • Added humidex index

1.7.1 (2021-09-08)

  • Added ASHRAE equation to calculate the operative temperature

1.7.0 (2021-07-29)

  • Implemented function to calculate the if fans are beneficial during heatwaves

  • Fixed error in the SET equation to calculated radiative heat transfer coefficient

  • Fixed error in SET definition

  • Moved functions optimized with Numba to new file

1.6.2 (2021-07-08)

  • Updated equation clo_dynamic based on ANSI/ASHRAE Addendum f to ANSI/ASHRAE Standard 55-2020

  • Fixed import errors in examples

1.6.1 (2021-07-05)

  • optimized UTCI function with Numba

1.6.0 (2021-05-21)

  • (BREAKING CHANGE) moved some of the functions from psychrometrics to utilities

  • added equation to calculate body surface area

1.5.2 (2021-05-05)

  • return stress category UTCI

1.5.1 (2021-04-29)

  • optimized phs with Numba

1.5.0 (2021-04-21)

  • added Predicted Heat Strain (PHS) index from ISO 7933:2004

1.4.6 (2021-03-30)

  • changed equation to calculate convective heat transfer coefficient in set_tmp() as per Gagge’s 1986

  • fixed vasodilation coefficient in set_tmp()

  • docs changed term air velocity with air speed and improved documentation

  • added new tests for comfort functions

1.3.6 (2021-02-04)

  • fixed error calculation solar_altitude and sharp for supine person in solar_gain

1.3.5 (2021-02-02)

  • not rounding SET temperature when calculating cooling effect

1.3.3 (2020-12-14)

  • added function to calculate sky-vault view fraction

1.3.2 (2020-12-14)

  • replaced input solar_azimuth with sharp in the solar_gain() function

  • fixed small error in example pmv calculation

1.3.1 (2020-10-30)

  • Fixed error calculation of cooling effect with elevated air temperatures

1.3.0 (2020-10-19)

  • Changed PMV elevated air speed limit from 0.2 to 0.1 m/s

1.2.3 (2020-09-09)

  • Fixed error in the calculation of erf

  • Updated validation table erf

1.2.2 (2020-08-21)

  • Changed default diameter in t_mrt

  • Improved documentation

1.2.0 (2020-07-29)

  • Significantly improved calculation speed using numba. Wrapped set and pmv functions

1.0.6 (2020-07-24)

  • Minor speed improvement changed math.pow with **

  • Added validation PMV validation table from ISO 7730

1.0.4 (2020-07-20)

  • Improved speed calculation of the Cooling Effect

  • Bisection has been replaced with Brentq function from scipy

1.0.3 (2020-07-01)

  • Annotated variables in the SET code.

1.0.2 (2020-06-11)

  • Fixed an error in the bisection equation used to calculated Cooling Effect.

1.0.0 (2020-06-09)

  • Major stable release.

0.7.0 (2020-06-09)

  • Added equation to calculate the dynamic clothing insulation

0.6.3 (2020-04-11)

  • Fixed error in calculation adaptive ASHRAE

  • Added some examples

0.6.3 (2020-03-17)

  • Renamed function to_calc to t_o

  • Fixed error calculation of relative air speed

  • renamed input parameter ta to tdb

  • Added function to calculate mean radiant temperature from black globe temperature

  • Added function to calculate solar gain on people

  • Added functions to calculate vapour pressure, wet-bulb temperature, dew point temperature, and psychrometric data from dry bulb temperature and RH

  • Added authors

  • Added dictionaries with reference clo and met values

  • Added function to calculate enthalpy

0.5.2 (2020-03-11)

  • Added function to calculate the running mean outdoor temperature

0.5.1 (2020-03-06)

  • There was an error in version 0.4.2 in the calculation of PMV and PPD with elevated air speed, i.e. vr > 0.2 which has been fixed in this version

  • Added function to calculate the cooling effect in accordance with ASHRAE

0.4.1 (2020-02-17)

  • Removed compatibility with python 2.7 and 3.5

0.4.0 (2020-02-17)

  • Created adaptive_EN, v_relative, t_clo, vertical_tmp_gradient, ankle_draft functions and wrote tests.

  • Added possibility to decide with measuring system to use SI or IP.

0.3.0 (2020-02-13)

  • Created set_tmp, adaptive_ashrae, UTCI functions and wrote tests.

  • Added warning to let the user know if inputs entered do not comply with Standards applicability limits.

0.1.0 (2020-02-11)

  • Created pmv, pmv_ppd functions and wrote tests.

  • Documented code.

0.0.0 (2020-02-11)

  • First release on PyPI.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythermalcomfort-2.7.2.tar.gz (112.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythermalcomfort-2.7.2-py2.py3-none-any.whl (86.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pythermalcomfort-2.7.2.tar.gz.

File metadata

  • Download URL: pythermalcomfort-2.7.2.tar.gz
  • Upload date:
  • Size: 112.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for pythermalcomfort-2.7.2.tar.gz
Algorithm Hash digest
SHA256 807598416f1c735393f66a75e90cbeb25f51b5fe14aaf5837b1d41e1a9ef8b50
MD5 316f9448717be5c49a3bf18b840f0fee
BLAKE2b-256 5507813ab5b4c881fd74dc344cab0e4687cb963f24bc08bb3cd359b0cde9689f

See more details on using hashes here.

File details

Details for the file pythermalcomfort-2.7.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pythermalcomfort-2.7.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a59f622cb6086e8a73aa34ead2e55232ba8a12d319294b3384d8a865ab4fcadb
MD5 edf5787f9391808ac2008e7cc33c7d46
BLAKE2b-256 3b32a00f5384c3a073c3652766a0c5759fee961a9522d21422e0fc62abc306a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page