Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# LandBOSSE Changelog

## Unreleased

+ Corrects an error in multiple names defined for `LandBOSSERunner`s data connection to project
Excel file, which is now called "data_tables", consistent with the implementation made in
the `WAVES` integration.
+ Removes the reliance on `component` data being provided outside the Excel project data to reduce
duplicated data definitions.
+ Corrects the `LandBOSSERunner.keys_rename` to ensure all required variables are included.
+ Makes the `weather` input to `LandBOSSERunner` optional, so that the Excel "weather_window" sheet
will still be used if provided. If `weather` is provided as an input, it will override the the
Excel-defined "weather_window" sheet.
+ `LandBOSSERunner.convert_excel_to_dict()` added for converting a project from an Excel-based
project list to a compatible dictionary.

## 2.6.2 (February 26, 2026)

+ Docstrings are reformatted to display nicely on a Jupyter Book documentation site.
Expand Down
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ LandBOSSE is primarily developed with the support of the U.S. Department of Ener
- [Techno-Economic Modeling Workshop](https://nrel.github.io/WETOStack/workshops/user_workshops_2024.html#tea-and-cost-modeling)
- [Systems Engineering Workshop](https://nrel.github.io/WETOStack/workshops/user_workshops_2024.html#systems-engineering)

## User Guides
## User Guide

### Installation

For any installation, users should use a virtual environment. We recommend Miniconda or Anaconda,
but any supporting PyPI or source installations are possible. Here, we'll work with conda for
Expand All @@ -37,13 +39,13 @@ can be any that you prefer as long as it's supported by LandBOSSE.
conda create -n landbosse python=3.13 -y
```

### PyPI
#### PyPI

```bash
pip install NREL-landbosse
```

### Source
#### Source

1. Navigate to your preferred installation location
2. Clone the repo (or fork and clone your fork, if preferred).
Expand All @@ -61,9 +63,7 @@ pip install NREL-landbosse

Optional: `pip install -e .` for editable installations if you plan to modify the code itself.

## User Guides

### First time running teh model
### First time running the model

At its most basic, the following setup is required, though the provided input data in `project_inpute_template`
can be used to test out the model and view results before diving into configuring custom scenarios.
Expand All @@ -75,8 +75,7 @@ can be used to test out the model and view results before diving into configurin
3. Each project in `project_list.xlsx` should have a corresponding Excel file in `project_data`
similar to the examples in `LandBOSSE/project_input_template/project_data`.


### Running the model
### Running the model

Once the initial steps (above) are followed, we can run the model:

Expand All @@ -85,18 +84,17 @@ Once the initial steps (above) are followed, we can run the model:
3. Run the model: `python main.py -i input-folder-path -o output-folder-path` (be sure to replace
"input-folder-path" and "output-folder-path" with your respective input and output folders).

All together
All together, this is:

```bash
conda activate landbosse
cd /path/to/LandBOSSE
python main.py -i /path/to/inputs -o /path/to/outputs
conda deactivate
```
```bash
conda activate landbosse
cd /path/to/LandBOSSE
python main.py -i /path/to/inputs -o /path/to/outputs
conda deactivate
```

4. View your results in the output folder.


### Integrating LandBOSSE into your code

While LandBOSSE was originally designed as a CLI tool powered by Excel workbooks, an API also exists
Expand Down
10 changes: 10 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ repository:
html:
use_issues_button: true
use_repository_button: true
home_page_in_navbar: true

parse:
myst_url_schemes: [mailto, http, https]
myst_enable_extensions:
- dollarmath
- amsmath
- deflist
- linkify
- colon_fence

sphinx:
extra_extensions:
Expand Down
2 changes: 1 addition & 1 deletion docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ format: jb-book
root: intro
chapters:
- file: api
- file: examples
- file: example
- file: contributing
43 changes: 41 additions & 2 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
# Contributor's Guide
# Developer's Guide

Coming soon.
## Installation

1. Navigate to your preferred installation location
2. Fork LandBOSSE
3. Clone your fork

```bash
git clone https://github.com/<your-user-name>/LandBOSSE.git
```

4. Enter the directory and locally install an editable version with the testing and documentation
building dependencies.

```bash
cd LandBOSSE
pip install -e .[test, docs]
```

## Testing the Code

Run LandBOSSE's testing suite using the following command. Please note the tests are not
particularly robust at this time, so passing tests after modifying the codeshould be viewed with
caution.

```bash
pytest landbosse
```

## Building the documentation

LandBOSSE uses Jupyter Book (v1) for its documentation site, which can be recreated locally with
the following command from the top-level directory.

```bash
jupyter book build docs/
```

Once complete, there will be a callout to "paste this line directly into your browser bar" with the
next line in the form of `file:///path/to/LandBOSSE/docs/_build/html/index.html`, which should be
pasted into the browser bar like a URL. You should now be able to peruse the documentation.
Loading