Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Create a basic API to allow LandBOSSE to be called more easily from other tools, and to return results as objects rather than writing to excel files.
The new LandBOSSERunner class recreates the existing function calls for running LandBOSSE, but without writing to Excel.
The LandBOSSEResult class is a simple container for the results that LandBOSSE generates.
The input to the new API is now a yaml file, but it still requires an excel input file as well. Most of the contents of that yaml file are basic inputs (e.g. number of turbines), however one entry is a filepath to an excel sheet containing additional tabular input data. Rather than having all the inputs in yaml file(s), the inputs are split between a yaml file and an excel file. The idea is, the yaml file contains those inputs which are changed regularly when iterating on parameter values, whereas the excel file contains structured input tables that are unlikely to be modified with any regularity.
Also includes some refactoring of existing LandBOSSE modules to avoid deprecation warnings and avoid repeated use of pd.concat to create dataframes row by row.
Currently the LandBOSSERunner class requires a weather dataframe input with wind speed timeseries data to calculate wind delays. If running LandBOSSE using the old input method, this data must be in the input excel file. It would be possible to have the LandBOSSERunner class download Wind Toolkit data if no weather dataframe is provided, but this is not currently implemented (and would require an API, as well as inputs on the location and time period of the weather data).