Skip to main content

Stor4Build Modeling Tool

PyPI - Version PyPI - Python Version


Table of Contents

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 --chw will 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 --chw will 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)

Source distribution for stor4build 1.0.0
File Size Uploaded
stor4build-1.0.0.tar.gz 36.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for stor4build 1.0.0
File Interpreter ABI Platform
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 log

Release 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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page