WISDEM/LandBOSSE

Bearing Pressure (n/m2) >= ~400kn/m^2 input starts causes traceback and other modules to fail running

FlorianMandel opened this issue · 2 comments

Description

I wanted to run a sensitivity analysis of the model using a range of Bearing Pressure (n/m2) inputs (50,000 n/m^2 up to 800,000 n/m^2). Starting at around 400,000 n/m^2 the FoundationCost module throws a traceback error. This has knock-on affects and causes the foundation cost, collection cost, management cost and site preparation costs module to not populate in the output file.

It's a bit surprising because from what I understand, soil types can have much greater bearing pressures.

image

Steps to reproduce issue

Please provide a minimum working example (MWE) if possible

  1. Use the foundation_validation_iea36_85 project input template
  2. Change Bearing Pressure (n/m2) from the original 191521 to 400000 ( tested it with the default value mentioned in the documentation on page 32 (of 𝑃𝑏 is the bearing pressure of the soil (in N m-2; default value is assumed to be 244,200 kN m-2))

Current behavior

As mentioned above, the module throws a traceback error. Additional models do not calculate properly either.

Traceback (most recent call last):
File "C:\Users%USER%\Desktop\landbosse\LandBOSSE-master\landbosse\model\FoundationCost.py", line 856, in run_module
self.calculate_foundation_load(self.input_dict, self.output_dict) # Returns foundation load
File "C:\Users%USER%\Desktop\landbosse\LandBOSSE-master\landbosse\model\FoundationCost.py", line 364, in calculate_foundation_load
result = root_scalar(r_b, method='brentq', bracket=[0.9*r_overturn, 50], xtol=1e-10, maxiter=50)
File "C:\Anaconda\lib\site-packages\scipy\optimize_root_scalar.py", line 275, in root_scalar
r, sol = methodc(f, a, b, args=args, **kwargs)
File "C:\Anaconda\lib\site-packages\scipy\optimize_zeros_py.py", line 784, in brentq
r = _zeros._brentq(f, a, b, xtol, rtol, maxiter, args, full_output, disp)
ValueError: f(a) and f(b) must have different signs
Fail foundation_validation_iea36_85 FoundationCost

Additional tracebacks.

Traceback (most recent call last):
File "C:\Users%USER%\Desktop\landbosse\LandBOSSE-master\landbosse\model\SitePreparationCost.py", line 868, in run_module
self.calculate_costs(self.input_dict, self.output_dict)
File "C:\Users%USER%\Desktop\landbosse\LandBOSSE-master\landbosse\model\SitePreparationCost.py", line 509, in calculate_costs
wind_delay_fraction = (calculate_cost_output_dict['wind_delay_time'] / calculate_cost_input_dict[
KeyError: 'operational_hrs_per_day'
Fail foundation_validation_iea36_85 SitePreparationCost

Expected behavior

Module should run through and result in lower costs for the foundationcost module

Code versions

Model version 2.4.1.
(base) C:\Users%USER%\Desktop\landbosse\LandBOSSE-master>python
Python 3.10.9 | packaged by Anaconda, Inc. | (main, Mar 1 2023, 18:18:15) [MSC v.1916 64 bit (AMD64)] on win32

Thanks in advance for any help!

This should be fixed on the develop branch. Are you comfortable switching to that?