{"id":26766092,"url":"https://github.com/ucl/simstock","last_synced_at":"2025-10-09T10:13:26.637Z","repository":{"id":194113870,"uuid":"642309473","full_name":"UCL/simstock","owner":"UCL","description":"Python library for generating EnergyPlus inputs","archived":false,"fork":false,"pushed_at":"2025-02-27T16:43:08.000Z","size":11008,"stargazers_count":9,"open_issues_count":5,"forks_count":2,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-15T12:46:47.135Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UCL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-18T09:28:51.000Z","updated_at":"2025-03-07T10:15:23.000Z","dependencies_parsed_at":"2023-10-11T11:59:17.257Z","dependency_job_id":"1b9fbb99-850a-4b88-b439-e9c3f5a23602","html_url":"https://github.com/UCL/simstock","commit_stats":null,"previous_names":["ucl/simstock"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/UCL/simstock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2Fsimstock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2Fsimstock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2Fsimstock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2Fsimstock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UCL","download_url":"https://codeload.github.com/UCL/simstock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2Fsimstock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001323,"owners_count":26083040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-28T20:19:05.826Z","updated_at":"2025-10-09T10:13:26.621Z","avatar_url":"https://github.com/UCL.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimStock\r\n\r\n![Tests](https://github.com/UCL/simstock/actions/workflows/test.yaml/badge.svg) ![Tests](https://github.com/UCL/simstock/actions/workflows/release.yaml/badge.svg)\r\n\r\nSimStock 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: \r\n\r\n   1. Geometrical pre-processing. This ensures the input data is compatible with EnergyPlus.\r\n   2. The creation of thermal zone object data for EnergyPlus.\r\n   3. Running the simulation and handling the results. \r\n\r\n---\r\n\r\nFull docs are available at [ReadtheDocs](https://simstock.readthedocs.io/en/latest/index.html).\r\n\r\n---\r\n\r\n## Installation\r\n\r\n\u003e **_NOTE:_**  SimStock requires Python 3.8 or above, as well as an EnergyPlus installation.\r\n\r\n\r\nAfter ensuring you have EnergyPlus installed, and python \u003e= v3.8, simply run \r\n\r\n``` bash\r\n    pip install simstock\r\n```\r\n\r\nin the command line.\r\n\r\n\r\n## Usage\r\n\r\nSimStock is structured around two objects: the ``SimstockDataframe`` and the ``IDFmanager``. The ``SimstockDataframe`` is an extension of a [Pandas Dataframe](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html). 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. \r\n\r\nBelow is an example of a typical Simstock work flow.\r\n\r\n``` python\r\n    # Import the simstock package\r\n    import simstock as sim\r\n\r\n    # Let's say we have some test data stored in a file called test.csv. \r\n    # We can read it in as a SimstockDataframe:\r\n    sdf = sim.read_csv(\"test.csv\")\r\n\r\n    # We now perform geometrical pre-processing:\r\n    sdf.preprocessing()\r\n\r\n    # Now create an new instance of an IDFmanager object that takes the\r\n    # processed SimstockDataframe as an argument:\r\n    simulation = sim.IDFmanager(sdf)\r\n\r\n    # Create the thermal zones necessary for EnergyPlus\r\n    simulation.create_model_idf()\r\n\r\n    # Run the energy plus simulation\r\n    simulation.run()\r\n```\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucl%2Fsimstock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fucl%2Fsimstock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucl%2Fsimstock/lists"}