Skip to content

Commit

Permalink
deploy: c0f5ee2
Browse files Browse the repository at this point in the history
  • Loading branch information
Zhanwei-Liu committed Jul 2, 2024
0 parents commit f4d3899
Show file tree
Hide file tree
Showing 213 changed files with 36,162 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 48fbeb374d257c51f0b0e3fff38bec7d
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added .nojekyll
Empty file.
384 changes: 384 additions & 0 deletions 404.html

Large diffs are not rendered by default.

422 changes: 422 additions & 0 deletions Changelog.html

Large diffs are not rendered by default.

426 changes: 426 additions & 0 deletions Contribution.html

Large diffs are not rendered by default.

399 changes: 399 additions & 0 deletions Forum.html

Large diffs are not rendered by default.

422 changes: 422 additions & 0 deletions Installation.html

Large diffs are not rendered by default.

1,090 changes: 1,090 additions & 0 deletions Mathematical_notations.html

Large diffs are not rendered by default.

822 changes: 822 additions & 0 deletions Model_input_output.html

Large diffs are not rendered by default.

388 changes: 388 additions & 0 deletions References.html

Large diffs are not rendered by default.

407 changes: 407 additions & 0 deletions Tutorial.html

Large diffs are not rendered by default.

Binary file added _images/cost_eq.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/invcost.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/typology.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/varcost.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions _sources/Changelog.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Changelog
=========

Here, you'll find notable changes for each version of PREP-SHOT.

Version 0.1.0 - Jun 24, 2024
--------------------------------

* PREP-SHOT model is released with basic functionality for energy expansion planning.
* Linear programming optimization model for energy systems with multiple zones.
* Support for solvers such as Gurobi, CPLEX, MOSEK, and GLPK via `Pyomo <https://pyomo.readthedocs.io/en/stable/solving_pyomo_models.html>`_.
* Input and output handling with `pandas` and `Xarray`.

Version 0.1.1 - Jun 24, 2024
-------------------------------

Added
+++++

* Add an example, expansion of Southeast Asia Mainland power system considering hydropower of Lower Mekong River.
* Update the documentation with a docstring for each function and class.
* Add the `Semantic Versioning Specification <https://semver.org>`_.

Fixed
+++++

Changed
+++++++

* Support for solvers such as GUROBI (Commercial), COPT (Commercial), MOSEK (Commercial), and HiGHS (Open source) via `PyOptInterface <https://github.com/metab0t/PyOptInterface>`_.
* Change default solver to HiGHS.
* Change the code comment style to `NumPy <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_numpy.html>`_.
* Change the code style to `PEP8 <https://pep8.org>`_.

Deprecated
++++++++++

* Removed dependency on `Pyomo <https://pyomo.readthedocs.io/en/stable/solving_pyomo_models.html>`_ due to high memory usage and slow performance for large-scale models. `For you reference <https://metab0t.github.io/PyOptInterface/benchmark.html>`_.
60 changes: 60 additions & 0 deletions _sources/Contribution.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
.. _Contribution:

Contribution
=================

We welcome and appreciate contributions for the RPEP-SHOT library. Here are the steps to contribute:

Development Process
+++++++++++++++++++++++++++++++

1. **Create an Issue**

If you find a bug or have an idea for an improvement or new feature, please create an `issue <https://github.com/PREP-NexT/PREP-SHOT/issues>`_.

2. **Fork the Repository**

You can fork the `PREP-SHOT repository <https://github.com/PREP-NexT/PREP-SHOT>`_ on GitHub.

3. **Create a Branch**

Create a new branch in your forked repository and name the branch according to the feature or fix you're working on.

4. **Commit Changes**

Make changes in your branch. Once you've made improvements or bug fixes to the project, commit the changes with a meaningful commit message.

5. **Start a Pull Request**

Open a `pull request <https://github.com/PREP-NexT/PREP-SHOT/pulls>`_ from your forked repository to the main PREP-SHOT repository. Describe your changes in the pull request.

6. **Code Review**

Maintainers of the PREP-SHOT project will review your code. They may ask for changes or improvements before the code is merged into the main codebase.

Please ensure that you update tests as necessary when you're contributing code, and follow the coding conventions established in the rest of the project.

Building Documentation
+++++++++++++++++++++++++++++++

The documentation is built using Sphinx. To build the documentation, you need to install the required packages using the following command:

.. code:: bash
pip install -r docs/requirements.txt
You can build the documentation using the following command:

.. code:: bash
cd doc
make clean
make html
The documentation will be built in the `doc/build` directory.

Contributing Guidelines
+++++++++++++++++++++++++++++++

PREP-SHOT is written in Python and follows the PEP8 coding standard. Please ensure that your code follows the PEP8 coding standard. You can use the `Pylint <https://pylint.readthedocs.io/en/stable/>`_ tool to check your code for PEP8 compliance.
23 changes: 23 additions & 0 deletions _sources/Forum.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.. _Forum:

Discussion
==========

We encourage our community to actively participate and engage in discussions. The diverse perspectives and feedback from our users are valuable to us and will help us improve the model and its documentation.

Check out the `FAQ <https://github.com/orgs/PREP-NexT/discussions/15>`_ page for answers to common questions.

GitHub Discussions
------------------

Users can join us for public discussions on the `Discussions <https://github.com/orgs/PREP-NexT/discussions>`_ page in our GitHub repository.

- Ask `questions <https://github.com/orgs/PREP-NexT/discussions/categories/q-a>`_ or seek clarifications.
- Share `ideas <https://github.com/orgs/PREP-NexT/discussions/categories/ideas>`_ or best practices.
- `Showcase <https://github.com/orgs/PREP-NexT/discussions/categories/show-and-tell>`_ how you have used the model for your projects and share your experiences.
- Engage in constructive conversations with our community.

Private Queries
---------------

If you have specific questions, feedback, or topics that are not suitable for public discussions, you may directly reach out to `Zhanwei Liu <mailto:liuzhanwei@u.nus.edu>`_.
66 changes: 66 additions & 0 deletions _sources/Installation.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.. _Installation:

Installation
============

This page provides instructions on how to install and use PREP-SHOT. The installation process is divided into the following steps:

Step 1: Download PREP-SHOT
++++++++++++++++++++++++++

Ensure you have downloaded the PREP-SHOT model from the `GitHub repository <https://github.com/PREP-NexT/PREP-SHOT>`_.

You may either clone the repository using the command:

.. code-block:: bash
git clone https://github.com/PREP-NexT/PREP-SHOT.git
or download the repository as a zip file `here <https://github.com/PREP-NexT/PREP-SHOT/archive/refs/heads/main.zip>`__.

Step 2: Install conda
++++++++++++++++++++++++++++++++++++++

Conda is a package management tool that helps manage the Python packages required for PREP-SHOT. You can install `Miniconda <https://docs.conda.io/en/latest/miniconda.html>`_ or
`Anaconda <https://www.anaconda.com/download>`_ to use it. To verify that Conda has been installed successfully, you can run the ``conda -V`` command to check its version.

Step 3: Install dependencies
++++++++++++++++++++++++++++++

The ``prep-shot.yml`` file contains all the dependencies for the project (default install open-source solver `HiGHS`). You can use it to create a new environment for PREP-SHOT. This environment isolates the project and its dependencies from other Python projects to prevent package conflicts.

.. code:: bash
cd PREP-SHOT
conda env create -f prep-shot.yml
conda activate prep-shot
Step 4: Run an example (Optional)
++++++++++++++++++++++++++++++++++

Once the environment is activated, you can run an example of :ref:`Tutorial` with the following command:

.. code:: bash
python run.py
PREP-SHOT default solve models using open-source solver `HiGHS <https://highs.dev/>`_. also support commercial solvers, including `Gurobi <https://www.gurobi.com/features/academic-named-user-license/>`_, `COPT <https://www.copt.de/>`_ and `MOSEK <https://www.mosek.com/>`_. They offer academic licenses. To use these solvers, you need to install them and modify the solver in the `config.json` file.


Step 5: Run your own model
+++++++++++++++++++++++++++

You can prepare your input data referring to the example in the `input` and `southeast` folder. The detailed input data are introduced in the :ref:`Tutorial`. After preparing the input data, you can modify the `config.json` file to set the solver and other parameters. Then you can run your model with the following command:

.. code:: bash
python run.py
Loading

0 comments on commit f4d3899

Please sign in to comment.