stevfns

Space Time Energy Vector Flow Networks (STEVFNs) Tool

https://github.com/omnomnomzzz/stevfns

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Space Time Energy Vector Flow Networks (STEVFNs) Tool

Basic Info
  • Host: GitHub
  • Owner: OmNomNomzzz
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.06 GB
Statistics
  • Stars: 13
  • Watchers: 2
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Created about 4 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Citation

README.md

STEVFNs

STEVFNs (pronounced 'STEVENS') stands for the Space Time Energy Vector Flow Networks model generator. It links system design, asset modeling and optimization to co-optimize the sizing, location and operation of energy assets in a given system structure. Details on the theory behind the model can be found in the thesis Generalized Spatio-Temporal Model for the Optimal Sizing, Operation, and Location of Energy System Assets. Additional tutorials can be found in the Tutorials section.

Referencing

Please cite all the references in CITATIONS.bib file when using the software.

Installation

The following installation uses git for version control, if you do not have git, follow these instructions.

The conda package manager is recommended and used within installation instructions below. To install the Anaconda distribution in your OS, you may find installers directly on the Anaconda website.

  1. Clone the repository to your desired local path (which should not have any spaces) (base) base_path % cd your_path/your_folder_name (base) .../your_folder_name % git clone https://github.com/OmNomNomzzz/STEVFNs.git

and either:

  1. Create an environment from the environment.yaml file through the command: (base) .../your_folder_name % cd STEVFNs (base) .../your_folder_name/STEVFNs % conda env create -f env/environment.yaml

Or install dependencies individually in a new environment

  1. Create a new environment conda env --name stevfns
  2. activate the new environment conda activate stevfns and the command line should change from (base) to (stevfns), as: (stevfns) .../your_folder_name/STEVFNs %
  3. Once the environment is created, install the following required dependencies individually into your new working environment:

(a) cvxpy conda install -c conda-forge cvxpy (b) pandas conda install pandas (c) matplotlib conda install matplotlib

Tutorials

A seminar series on the STEVFNs tool is available on Aniq's YouTube channel:

  1. A tutorial on how to use the STEVFNs tool can be found in the STEVFNs demo seminar

  2. Details of theoretical physics concepts used to develop STEVFNs is given in the STEVFNs theory seminar. In this seminar, Aniq discusses how you can model any type of energy system asset using generalized coordinates and flows in space-time and type.

  3. Details of how assets are modelled in STEVFNs is given in the STEVENs asset model seminar:

If you do not wish to watch the long video tutorial, you can follow the steps outlined in Test Run section below, and review the slides in the Training and Setup PDF file.

Test run

Example case study

To run the base example, run the main.py file in your IDE of choice. This runs an example of the energy system used by the case study in Aniq Ahsan's DPhil thesis, but for 4 days instead of a full year.

To change the scenario:

  1. Open Data/CaseStudy/SGCaseStudy/scenario0/Asset_Parameters.csv
  2. Change the value in the "asset type" column for the asset that you wish to change. This should be a number that is defined as an asset brand (see the parameters.csv files in the corresponding asset's folder in Code/Assets).
  3. Open Data/CaseStudy/SGCaseStudy/scenario0/Location_Parameters.csv
  4. Change the values of the lat and lon for the respective locations.
  5. The main branch only contains PV and WIND data for the following locations: (0,0); (30,30); (30,-30); (-30,30); (-30,-30)
  6. To use a different location, make sure you add the necessary RE profiles for the locations in the RE asset code folder. Syntax required for naming these files to their corresponding lat-lon can be found in slide 23 of the setup and training PDF file.

To make a new scenario:

  1. Duplicate an existing scenario folder, e.g. the Data/CaseStudy/SGCaseStudy/scenario0 folder in the Data/CaseStudy/SGCase_Study folder
  2. Make relevant changes to the scenario.

To check and add a new brand type for an asset:

  1. Open Code/Assets/insertassetname/parameters.csv For example, for the ELTransport asset: Code/Assets/ELTransport/parameters.csv
  2. Add a new line. Make sure the numbers in the "Type" column increase from 0, 1, 2, etc.
  3. The units are just for reference, they do not affect the code.
  4. Make sure all values columns are filled.
  5. You can now use the "Type" number for the new asset brand when changing scenario parameters.

To change case study:

  1. Open Data/CaseStudy/SGCaseStudy/NetworkStructure.csv
  2. Add or remove lines with assets.
  3. Make sure the "Asset_Number" column goes from 0,1,2,3,...
  4. Copy the "AssetNumber", "AssetClass", "Location1" and "Location2" columns to all the scenario "Asset_Parameters.csv" files. Make sure the scenarios have brand types defined for all assets.

To make a new case study:

  1. Duplicate a case study folder, e.g. the Data/CaseStudy/SGCaseStudy folder in the Data/CaseStudy folder, as the existing files are already formatted as needed.
  2. Make relevant changes to the case study, e.g. change Network_Structure.csv, remove unnecessary scenario folders.
  3. Make relevant changes to scenarios to follow your network structure and specific requirements.
  4. Open main.py in your IDE of preference, using VSCode is suggested.
  5. Replace casestudyname from "SGCaseStudy" to the name of the name of the new case study folder.
  6. e.g. if the new case study folder is "AniqCaseStudy", replace the line: case_study_name = "SG_Case_Study" with the line: case_study_name = "Aniq_Case_Study"

Citation (CITATIONS.bib)

% If you are using the STEVFNs Tool, cite the following:

@software{Ahsan_STEVFNs_Tool_2022,
  author      = {Ahsan, Aniq},
  month       = {11},
  title       = {{STEVFNs Tool}},
  version     = {1.0},
  year        = {2022},
  url         = {https://github.com/OmNomNomzzz/STEVFNs}
}

@thesis{ahsan2022_thesis,
  type        = {Doctoral},
  title       = {{Generalized Spatio-Temporal Model for the Optimal Sizing, Operation, and Location of Energy System Assets}},
  author      = {Ahsan, Aniq},
  date        = {2022},
  institution = {University of Oxford},
  url         = {https://ora.ox.ac.uk/objects/uuid:fc64231e-524e-433f-9b32-b9ffe5b5f974},
  pagetotal   = {258},
}

GitHub Events

Total
  • Release event: 1
  • Watch event: 4
  • Delete event: 8
  • Member event: 1
  • Push event: 183
  • Pull request event: 7
  • Pull request review event: 1
  • Fork event: 3
  • Create event: 8
Last Year
  • Release event: 1
  • Watch event: 4
  • Delete event: 8
  • Member event: 1
  • Push event: 183
  • Pull request event: 7
  • Pull request review event: 1
  • Fork event: 3
  • Create event: 8

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 20 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 20 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • OmNomNomzzz (5)
  • m-sgstyb (3)
  • janecww (1)
Top Labels
Issue Labels
Pull Request Labels
documentation (1)