Skip to main content

SimStock

Tests PyPI version Documentation Status

SimStock is a python package for taking geographical and contextual data, processing it into a form compatible with EnergyPlus, and running thermal simulations. This provides an intermediate layer between various data types and EnergyPlus, allowing urban building energy models (UBEMs) to be run straightforwardly from QGIS etc. The software performs the following setps:

  1. Geometrical pre-processing. This ensures the input data is compatible with EnergyPlus.
  2. The creation of thermal zone object data for EnergyPlus.
  3. Running the simulation and handling the results.

Full docs are available at ReadtheDocs.


Installation

NOTE: SimStock requires Python 3.11 to 3.13, as well as an EnergyPlus 8.9 installation.

After ensuring you have EnergyPlus installed, and Python 3.11-3.13, simply run

    pip install simstock

in the command line.

Usage

SimStock is structured around two objects: the SimstockDataframe and the IDFmanager. The SimstockDataframe is an extension of a Pandas Dataframe. It allows data to be read in from a variety of formats. It also performs geometric simplification on the data to ensure it conforms to EnergyPlus input standards. The SimstockDataframe also contains the EnergyPlus settings, allowing easy manipulation of materials etc. Once these settings have been set, and any geometrical simplification perfomed, the IDFmanager then creates the necessary thermal zones from the SimstockDataframe. The IDFmanager can also be used to run an EnergyPlus simulation.

Below is an example of a typical Simstock work flow.

    # Import the simstock package
    import simstock as sim

    # Let's say we have some test data stored in a file called test.csv. 
    # We can read it in as a SimstockDataframe:
    sdf = sim.read_csv("test.csv")

    # We now perform geometrical pre-processing:
    sdf.preprocessing()

    # Now create an new instance of an IDFmanager object that takes the
    # processed SimstockDataframe as an argument:
    simulation = sim.IDFmanager(sdf)

    # Create the thermal zones necessary for EnergyPlus
    simulation.create_model_idf()

    # Run the energy plus simulation
    simulation.run()

Troubleshooting

SimStock requires an EnergyPlus 8.9 install. In particular, SimStock needs access to the Energy+.idd file that ships with EnergyPlus. If SimStock cannot find your EnergyPlus IDD file, it will emit a FileNotFoundError, see the IDD troubleshooting guide.

Community and Support

Contributions to SimStock are welcome. Please read CONTRIBUTING.md for guidance on testing, bug reporting and constributing code.

Contribution to SimStock is covered by CODE_OF_CONDUCT.md.

Metadata

Release files for simstock 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simstock 0.3.1
File Size Uploaded Provenance
simstock-0.3.1.tar.gz 368.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for simstock 0.3.1
File Interpreter ABI Platform
simstock-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 720.4 kB

Release files / simstock-0.3.1.tar.gz

Download URL simstock-0.3.1.tar.gz
Size 368.8 kB
Tags Source
SHA-256 checksum
How to use checksums
40ca5f3edb832a20e1173a227e4b99d3eee6fa908e38beeee50629d78ea2d037
BLAKE2b-256 checksum
How to use checksums
2180aa4b1a0771d8420a0ac7d7acc8d581b0d34c88d7d8e41120544a6206b39d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.12.3 Linux/6.14.0-1017-azure

Release files / simstock-0.3.1-py3-none-any.whl

Download URL simstock-0.3.1-py3-none-any.whl
Size 351.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5077bbdbdfad201993318c3b58fcd77437e85a94af5b137e67728308d3945fbc
BLAKE2b-256 checksum
How to use checksums
29f67df439c95e3a19577a3c2e38af85aebd00b56e2d31317b3755c43ff1dd31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.12.3 Linux/6.14.0-1017-azure

Security for simstock 0.3.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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