Stor4Build Modeling Tool
Table of Contents
- About
- Installation
- Command Line Usage
- VS Code/Hatch Dev Environment
- Web API
- Prototype Coverage
- License
About
The stor4build package is a modeling tool for evaluating building-integrated thermal energy storage systems using EnergyPlus(R) and OpenStudio(R). It provides a Python package, command line interface, and web API for running baseline building models, adding TES technologies, sizing storage systems, and comparing simulation outputs.
The package is intended to support studies of how thermal energy storage can shift cooling loads, reduce peak demand, and interact with building type, climate zone, vintage, utility rates, and control strategy. stor4build builds on standard OpenStudio measures, EnergyPlus simulations, JSON inputs, and CSV outputs so that studies can be reproduced and extended with familiar tools.
Installation
pip install stor4build
Command Line Usage
The stor4build command includes three subcommands at this time:
run-icetank- Runs the chiller-based ice tank Python plugin case with a specified capacity. Using--chwwill use the chilled water version.size-icetank- Runs the chiller-based ice tank Python plugin case with a size based on the baseline model and discharge window parameters. Using--chwwill use the chilled water version.run-dxcoil- Runs the native E+ DX coil packaged ice TES system with autosizing.
Further information is available with the --help option.
VS Code/Hatch Dev Environment
To set up a Visual Studio Code development environment, first install Python. Then install Visual Studio code and the Python extension(s) from Microsoft. Next, install hatch with
pip install hatch
Clone the repository to the location of your choice and open the directory with Visual Studio Code. In the root folder of the repo, execute the following to generate an environment that has everything that is needed:
hatch env create
To point Visual Studio Code at the created environment, find the environment with
hatch run python -c "import sys;print(sys.executable)"
and copy the result. In Visual Studio Code, hit ctrl-shift-P to bring up the command palette, select "Python: Select Interpreter", and paste in the result from above. Any warnings (yellow squiqqly underlines) in the source files should go away. To make sure that everything has worked, run
hatch shell
to enter the environment that was created, and then execute
stor4build --help
You should see the help output from the tool.
Web API
A simple flask-based web api is included. To run it, a PostgreSQL database storing the baseline models and weather is required. That setup is not described here yet. The following four environment variables need to be set:
FLASK_TIMESCALE_HOST
FLASK_TIMESCALE_DB
FLASK_TIMESCALE_USERNAME
FLASK_TIMESCALE_PASSWORD
Standard password rules apply. To launch the back end (that does the calculation) run
flask --app stor4build.api run
This will start up the flask development server and output will appear on the console. The API accepts JSON inputs in the form described in the schema directory in the file stor4build.json. Example inputs and scripts to send them to the API are in the resources and scripts directories.
Prototype Coverage
The tool now supports the majority of the OpenStudio prototypes. Three models (Laboratory, LargeDataCenterLowITE, and LargeDataCenterHighITE) are only available for vintages 2004 and later, so these models are not available before 2004.
| Type | Supported TES | pre1980 | post1980 | 2004 | 2007 | 2010 | 2013 | 2016 | 2019 |
|---|---|---|---|---|---|---|---|---|---|
| LargeOffice | ThermalTank | X | X | X | X | X | X | X | X |
| SmallOffice | DX coil packaged ice | X | X | X | X | X | X | X | X |
| RetailStandalone | DX coil packaged ice | X | X | X | X | X | X | X | X |
| MediumOffice | DX coil packaged ice | X | X | X | X | X | X | X | X |
| Courthouse | ThermalTank | X | X | X | X | X | X | X | X |
| Warehouse | DX coil packaged ice | X | X | X | X | X | X | X | X |
| College | ThermalTank | X | X | X | X | X | X | X | X |
| QuickServiceRestaurant | DX coil packaged ice | X | X | X | X | X | X | X | X |
| RetailStripmall | DX coil packaged ice | X | X | X | X | X | X | X | X |
| FullServiceRestaurant | DX coil packaged ice | X | X | X | X | X | X | X | X |
| Laboratory | DX coil packaged ice | - | - | X | X | X | X | X | X |
| PrimarySchool | DX coil packaged ice | X | X | X | X | X | X | X | X |
| LargeHotel | ThermalTank | X | X | X | X | X | X | X | X |
| Hospital | ThermalTank | X | X | X | X | X | X | X | X |
| SmallHotel | TBD | - | - | - | - | - | - | - | - |
| SecondarySchool | DX coil packaged ice | X | X | X | X | X | X | X | X |
| Outpatient | DX coil packaged ice | X | X | X | X | X | X | X | X |
| LargeDataCenterLowITE | ThermalTank | - | - | X | X | X | X | X | X |
| LargeDataCenterHighITE | ThermalTank | - | - | X | X | X | X | X | X |
| MidriseApartment | TBD | - | - | - | - | - | - | - | - |
| HighriseApartment | TBD | - | - | - | - | - | - | - | - |
| SmallDataCenterHighITE | TBD | - | - | - | - | - | - | - | - |
| SmallDataCenterLowITE | TBD | - | - | - | - | - | - | - | - |
License
stor4build is distributed under the terms of the BSD-3-Clause license.
Metadata
Release files for stor4build 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stor4build-1.0.0.tar.gz | 36.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stor4build-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.2 MB
Release files / stor4build-1.0.0.tar.gz
| Download URL | stor4build-1.0.0.tar.gz |
|---|---|
| Size | 36.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f060dfffdb45e16ec38d96d487e3e4b7ca7902452113dc5919ff7ac794b2f115
|
|
BLAKE2b-256 checksum How to use checksums |
34873bb04ef9cf4ace4100ff4e078235dd7d548feb2159d1a47d7ba2e85dfc1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / stor4build-1.0.0-py3-none-any.whl
| Download URL | stor4build-1.0.0-py3-none-any.whl |
|---|---|
| Size | 49.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a001a1b058a0a5755f967f4ea4702c983f1164c0c65de0b50db06d12e338b453
|
|
BLAKE2b-256 checksum How to use checksums |
c24f9d7813275913bdfd0123d2f6d3ee4687b2b289c8ec0516b05378cc4ed6c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log