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
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
pip install pythermalcomfort
You can also install the in-development version with:
pip install https://github.com/CenterForTheBuiltEnvironment/pythermalcomfort/archive/master.zip
Examples and Tutorials
Examples files on how to use some of the functions
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.
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.
PHS model accepts all required inputs to be run on a minute by minute basis
fix error check compliance PHS model
Added the adaptive thermal heat balance (ATHB) model
Added e_pmv model - Adjusted Predicted Mean Votes with Expectancy Factor
Added a_pmv model - Adaptive Predicted Mean Vote
Added discomfort index
Implemented a better equation to calculate the mean radiant temperature
Fixed how DISC is calculated
Added Physiological Equivalent Temperature (PET) model
In PMV and PPD function you can specify if occupants has control over airspeed
UTCI accepts lists as inputs
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
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
Added JOS-3 model
Added Normal Effective Temperature (NET)
Added Apparent Temperature (AT)
Added Wind Chill Index (WCI)
Gagge’s two-node model
Added WBGT equation
Added Heat index (HI)
Added humidex index
Added ASHRAE equation to calculate the operative temperature
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
Updated equation clo_dynamic based on ANSI/ASHRAE Addendum f to ANSI/ASHRAE Standard 55-2020
Fixed import errors in examples
optimized UTCI function with Numba
(BREAKING CHANGE) moved some of the functions from psychrometrics to utilities
added equation to calculate body surface area
return stress category UTCI
optimized phs with Numba
added Predicted Heat Strain (PHS) index from ISO 7933:2004
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
fixed error calculation solar_altitude and sharp for supine person in solar_gain
not rounding SET temperature when calculating cooling effect
added function to calculate sky-vault view fraction
replaced input solar_azimuth with sharp in the solar_gain() function
fixed small error in example pmv calculation
Fixed error calculation of cooling effect with elevated air temperatures
Changed PMV elevated air speed limit from 0.2 to 0.1 m/s
Fixed error in the calculation of erf
Updated validation table erf
Changed default diameter in t_mrt
Significantly improved calculation speed using numba. Wrapped set and pmv functions
Minor speed improvement changed math.pow with **
Added validation PMV validation table from ISO 7730
Improved speed calculation of the Cooling Effect
Bisection has been replaced with Brentq function from scipy
Annotated variables in the SET code.
Fixed an error in the bisection equation used to calculated Cooling Effect.
Major stable release.
Added equation to calculate the dynamic clothing insulation
Fixed error in calculation adaptive ASHRAE
Added some examples
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 dictionaries with reference clo and met values
Added function to calculate enthalpy
Added function to calculate the running mean outdoor temperature
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
Removed compatibility with python 2.7 and 3.5
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.
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.
Created pmv, pmv_ppd functions and wrote tests.
First release on PyPI.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for pythermalcomfort-2.5.4-py2.py3-none-any.whl