Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add landbosse #18

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from
Draft

Add landbosse #18

wants to merge 11 commits into from

Conversation

crookp
Copy link

@crookp crookp commented Jan 29, 2025

Adds the option to call either LandBOSSE or ORBIT to calculate CAPEX using a new basic API for LandBOSSE. This includes adding the outputs from LandBOSSE to the output metrics.

running LandBOSSE requires an input yaml file to specify configurations, and an input excel file that contains tabular inputs

Also includes some checks before running any models that ensure inputs that are shared between models (e.g. number of turbines) are consistent.

@crookp
Copy link
Author

crookp commented Jan 29, 2025

@RHammond2 can you take a look when you get a chance

Copy link
Collaborator

@RHammond2 RHammond2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@crookp, I left a handful of minor comments, but I think this is pretty close to ready to merge. Once LandBOSSE gets that next release, can you also pin that version as the minimum in the pyproject.toml? After these few things, this PR should be good to go.

Comment on lines +31 to +33
# TODO TEMP
import sys
sys.path.append(str(Path("./../LandBOSSE").resolve()))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still temporary? Or are we essentially waiting to release the next minor/patch version of landbosse for this to be complete?

if TYPE_CHECKING:
assert isinstance(self.weather, pd.DataFrame) # mypy helper
weather = self.weather.loc[self.operations_start : self.operations_end]

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for simplifying this block!

@@ -1539,7 +1746,7 @@ def technical_loss_ratio(self) -> float:
elif self.turbine_type == "fixed":
return 0.01
else:
raise NotImplementedError("land-based is not currently modeled")
return 0.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see here and for electrical losses that these are 0, is that coming from landbosse/COWER, or do we just not have a good source yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants