Skip to content

Commit cce922d

Browse files
authored
Merge pull request #152 from NREL/ndr/update-docs
update readme; add contributing page
2 parents bb0cdbd + 56dc431 commit cce922d

File tree

3 files changed

+74
-49
lines changed

3 files changed

+74
-49
lines changed

README.md

+21-38
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,34 @@ HIVE supports researchers who explore **Electric Vehicle (EV) fleet control**, *
1111
Out-of-the-box, it provides a baseline set of algorithms for fleet dispatch, but provides a testbed for exploring alternatives from leading research in model-predictive control (MPC) and deep reinforcement learning.
1212
HIVE is designed to integrate with vehicle power and energy grid power models in real-time for accurate, high-fidelity energy estimation over arbitrary road networks and demand scenarios.
1313

14-
## Installation
14+
For more information about HIVE, please visit the [HIVE website](https://www.nrel.gov/hive).
1515

16-
HIVE depends on a Python installation [3.7, 3.8, 3.9, 3.10] and the pip package manager ( [python.org](https://www.python.org/downloads/).
17-
In our installation example we use [conda](https://www.anaconda.com/products/distribution) | [miniconda](https://docs.conda.io/en/latest/miniconda.html) for managing a HIVE Python environment.
16+
For technical details about the HIVE platform, please see the [Technical Report](https://www.nrel.gov/docs/fy21osti/80682.pdf).
1817

19-
### via pip
18+
For more documentation on how to use HIVE, please see the [HIVE documentation](https://nrelhive.readthedocs.io/en/latest/).
2019

21-
> pip install nrel.hive
20+
## Installation
2221

23-
### build from source
22+
HIVE depends on a Python installation [3.7, 3.8, 3.9, 3.10] and the pip package manager ( [python.org](https://www.python.org/downloads/).
23+
In our installation example we use [conda](https://www.anaconda.com/products/distribution) | for managing a HIVE Python environment.
2424

25-
Via conda, create a dedicated 'hive' Python environment:
25+
### (optional) set up a virtual environment using conda
2626

27-
> conda create -n hive python=3.8
28-
> conda activate hive
27+
We recommend setting up a virtual environment to install HIVE.
28+
One way to do this is to use Anaconda:
29+
1. Install [Anaconda](https://www.anaconda.com/products/distribution) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html)
30+
1. Open a terminal or Anaconda Prompt.
31+
1. Create a new virtual environment: `conda create --name hive python=3.10`
32+
1. Activate the virtual environment `conda activate hive`
2933

30-
to run tests, also install `pytest`:
34+
### via pip
3135

32-
> pip install pytest
36+
> pip install nrel.hive
3337

34-
to load hive as a command line application along with all dependencies into your conda environment:
38+
### build from source
3539

36-
> git clone https://github.com/NREL/hive.git
40+
Clone the repository and install the code via pip:
41+
> git clone <https://github.com/NREL/hive.git>
3742
> cd hive
3843
> pip install -e .
3944

@@ -59,30 +64,7 @@ denver_demo_constrained_charging.yaml | default scenario with limited charging s
5964
denver_demo_fleets.yaml | default scenario with two competing TNC fleets
6065
manhattan.yaml | larger test scenario with 200 vehicles and 20k requests sampled from the NY Taxi Dataset
6166

62-
## Scenario configuration
63-
64-
Scenarios are run by reading a YAML file describing the parameters of the simulation. The files list all scenario-specific parameters but can fall back to defaults set [here](https://github.com/NREL/hive/blob/main/nrel/hive/resources/defaults/hive_config.yaml).
65-
66-
Scenario YAML files organize a list of resource files to use as input. If a file resource is listed which doesn't resolve to a local file path, HIVE will search for a default resource [here](nrel/hive/resources). By default, HIVE expects file resources stored in a directory matching their resource type. For example, using the [default Denver scenario](nrel/hive/resources/scenarios/denver_downtown/denver_demo.yaml):
67-
68-
```yaml
69-
...
70-
input:
71-
vehicles_file: denver_demo_vehicles.csv # vehicles/denver_demo_vehicles.csv
72-
requests_file: denver_demo_requests.csv # requests/denver_demo_requests.csv
73-
bases_file: denver_demo_bases.csv # bases/denver_demo_bases.csv
74-
...
75-
```
76-
77-
For a description of file contents and schemas, please read our [technical report](https://www.nrel.gov/docs/fy21osti/80682.pdf). Example scenario and resource data can be found [here](nrel/hive/resources).
78-
79-
## Global configuration
80-
81-
Some values are set by a global configuration file with filename `.hive.yaml`.
82-
The defaults are set in the repo [here](nrel/hive/resources/defaults/.hive.yaml).
83-
If you want to override any entries in this file, you can create a new one by the same name `.hive.yaml` and place it in your working directory or a parent directory.
84-
Hive will also check your base user directory for this file (aka `~/.hive.yaml`).
85-
This can be useful if you would like to reduce the output files or change the default output base directory (for example, to something like `~/hive/output`).
67+
For more information on how to build your own scenario, please see the [HIVE documentation](https://nrelhive.readthedocs.io/en/latest/inputs.html).
8668

8769
## Dependencies
8870

@@ -305,7 +287,8 @@ If you have found HIVE useful for your research, please cite our [technical repo
305287

306288
## Contributors
307289

308-
HIVE is currently maintained by Nick Reinicke ([@nreinicke] (https://github.com/nreinicke)) and Rob Fitzgerald ([@robfitzgerald](https://github.com/robfitzgerald)). It would not be what it is today without the support of:
290+
HIVE is currently maintained by Nick Reinicke ([@nreinicke](https://github.com/nreinicke)) and Rob Fitzgerald ([@robfitzgerald](https://github.com/robfitzgerald)). It would not be what it is today without the support of:
291+
309292
- Brennan Borlaug
310293
- Thomas Grushka
311294
- Jacob Holden

docs/source/developer/contributing.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Contributing to HIVE
2+
3+
This simple guide will walk you through the process of contributing to HIVE.
4+
5+
## Table of Contents
6+
7+
- Identifying an Issue
8+
- Letting Others Know You're Working on the Issue
9+
- Forking the Repository
10+
- Opening a Pull Request
11+
12+
## Identifying an Issue
13+
14+
1. Go to the "Issues" tab in the repository.
15+
1. Look for issues with labels such as "good first issue" if you're new to the project.
16+
1. Read the issue description and any associated comments to make sure you understand the problem and its requirements.
17+
1. Choose an issue that aligns with your skills and interests.
18+
19+
## Letting Others Know You're Working on the Issue
20+
21+
1. Leave a comment on the issue, stating that you'd like to work on it. This helps prevent duplication of effort and lets us know someone is addressing the problem.
22+
1. Wait for a response from the maintainers or the issue creator. They may provide additional information or guidance, or assign the issue to you.
23+
24+
## Forking the Repository
25+
26+
1. Navigate to the main HIVE page on GitHub.
27+
1. Click on the "Fork" button in the upper right corner. This creates a copy of the repository under your GitHub account.
28+
1. Clone your forked repository to your local machine by clicking the "Code" button and copying the URL. Then, open your terminal or command prompt and run git clone [URL], replacing [URL] with the copied URL.
29+
30+
## Opening a Pull Request
31+
32+
1. Create a new branch in your local repository by running git checkout -b [branch-name], replacing [branch-name] with a descriptive name for your changes.
33+
1. Make changes to the code, addressing the issue you've chosen to work on.
34+
1. Commit your changes with a meaningful commit message. Use git add [file] to stage changes, and git commit -m "[commit-message]" to commit them.
35+
1. Push your changes to your forked repository using git push origin [branch-name].
36+
1. Go to your forked repository on GitHub and click on the "Pull requests" tab.
37+
1. Click on the "New Pull Request" button, and select your branch in the "compare" dropdown menu.
38+
1. Review your changes and click "Create Pull Request". Add a descriptive title and a detailed explanation of the changes you made.
39+
1. Submit your pull request. The project maintainers will review your changes and provide feedback or merge your changes into the main repository.
40+
41+
Thanks for taking the time to contribute to HIVE!

docs/source/inputs.md

+12-11
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
## Scenario Config
44

5-
The main simulation input is a yaml file that contains a bunch of parameters for running a scenario.
6-
On example of a scenario file can be found at `nrel.hive.resources.scenarios.denver_demo.yaml`:
5+
Scenarios are run by reading a YAML file describing the parameters of the simulation. The files list all scenario-specific parameters but can fall back to defaults set [here](https://github.com/NREL/hive/blob/main/nrel/hive/resources/defaults/hive_config.yaml).
6+
7+
Scenario YAML files organize a list of resource files to use as input. If a file resource is listed which doesn't resolve to a local file path, HIVE will search for a default resource [here](nrel/hive/resources). By default, HIVE expects file resources stored in a directory matching their resource type.
78

89
```{note}
910
some inputs in hive are optional and will fall back to defaults if not specified; here we will denote whether the
@@ -33,47 +34,47 @@ In addition to the scenario config yaml file, each scenario has several other fi
3334
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/charging_prices/README.md
3435
```
3536

36-
### Fleets
37+
### Fleets
3738

3839
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/fleets/README.md
3940
```
4041

41-
### Geofence
42+
### Geofence
4243

4344
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/geofence/README.md
4445
```
4546

46-
### Mechatronics
47+
### Mechatronics
4748

4849
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/mechatronics/README.md
4950
```
5051

51-
### Requests
52+
### Requests
5253

5354
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/requests/README.md
5455
```
5556

56-
### Road Network
57+
### Road Network
5758

5859
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/road_network/README.md
5960
```
6061

61-
### Service Prices
62+
### Service Prices
6263

6364
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/service_prices/README.md
6465
```
6566

66-
### Stations
67+
### Stations
6768

6869
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/stations/README.md
6970
```
7071

71-
### Stations
72+
### Stations
7273

7374
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/stations/README.md
7475
```
7576

76-
### Vehicles
77+
### Vehicles
7778

7879
```{include} ../../nrel/hive/resources/scenarios/denver_downtown/stations/README.md
7980
```

0 commit comments

Comments
 (0)