Skip to main content

Unit conversions for E+

Project description

epconversions

https://img.shields.io/pypi/v/epconversions.svg https://img.shields.io/travis/pyenergyplus/epconversions.svg Documentation Status Updates

Unit conversions for E+

Energyplus has a bunch of conversion factors at the top of the Energy+.idd file. It looks like this:

! Default IP conversions (no \ip-units necessary)
!      $/(m3/s)               =>   $/(ft3/min)         0.000472000059660808
!      $/(W/K)                =>   $/(Btu/h-F)         0.52667614683731
!      $/kW                   =>   $/(kBtuh/h)         0.293083235638921
!      $/m2                   =>   $/ft2               0.0928939733269818
!      $/m3                   =>   $/ft3               0.0283127014102352
!      (kg/s)/W               =>   (lbm/sec)/(Btu/hr)  0.646078115385742
!      1/K                    =>   1/F                 0.555555555555556
!      1/m                    =>   1/ft                0.3048
!      A/K                    =>   A/F                 0.555555555555556
!      C                      =>   F                   1.8 (plus 32)
!      cm                     =>   in                  0.3937
!      cm2                    =>   inch2               0.15500031000062
!      deltaC                 =>   deltaF              1.8
!      deltaC/hr              =>   deltaF/hr           1.8
!      deltaJ/kg              =>   deltaBtu/lb         0.0004299
!      g/GJ                   =>   lb/MWh              0.00793664091373665
!      g/kg                   =>   grains/lb           7

Note the cm in the middle of that text snippet. It shows the conversion form cm to in and the multipier to use to convert

Features

The library epconversions has functions that will do these conversions:

from epconversions import epconversions

print(epconversions.convert2ip(100, 'cm'))
>> (39.37, 'in')

Can I convert to SI units ? Yes.:

epconversions.convert2si(100, 'in')
>> (254.00050800101602, 'cm')

What if I want only converted value. I don’t want the unit string:

epconversions.convert2si(100, 'in', unitstr=False)
>> 254.00050800101602

Nice !!

Why does it convert cm to in. Would it convert to m:

epconversions.convert2si(100, 'in', 'm')
>> (2.5399999999999987, 'm')

# for clarity
epconversions.convert2si(100, 'in', siunit='m')
(2.5399999999999987, 'm')

What are all the units it can convert in to ?:

epconversions.getsiunits('in')
>> {'cm', 'm'}

How do I know what it converts it to by default?:

epconversions.defaultsiunit('in')
>> 'cm'
epconversions.defaultsiunit('ft')
>> 'm'

What are all the units it can convert?:

epconversions.allsiunits()
>> ['$/(m3/s)',
'$/(W/K)',

<snip>

'A/K',
'C',
'cm',
'cm2',
'deltaC',
'deltaC/hr',
'deltaJ/kg',
'g/GJ',
'g/kg',
'g/MJ',


<snip>

'W',
'W/((m3/s)-Pa)',
'W/(m3/s)',
'W/K',
'W/m',
'W/m2',

<snip>

'years']

# around 128 now

# also try out ``allipunits()``

This is all to complicated. Don’t you have an easy way to convert from Fahrenheit to Celsius ?

Yes! There is an easier way:

from epconversions import ec
c = ec.f2c(77)
print(c)

>> 25.0

That is as easy as it gets. Right now we have f2c and c2f. If you want more easy functions, open an issue and add to them yourself.

Thats all for now

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

release 0.2.2

2024-05-11

fixed issue #19

Problem:

easy functions needed like f2c and c2f

Solutions:

added ec.f2c and ec.c2f

2024-05-10

fixed issue #16

Problem:

convert2ip and convert2si do not convert strings to floats

Solution:

strings are converted to floats if possible

release 0.1.0

  • First release on PyPI.

Project details


Download files

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

Source Distribution

epconversions-0.2.2.tar.gz (28.5 kB view hashes)

Uploaded Source

Built Distribution

epconversions-0.2.2-py2.py3-none-any.whl (18.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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