LANDBOSSE run error

Hi,

I was trying to run LANDBOSSE as per the instructions available in

and when I tried the below command, I got an error

python main.py -i C:\Users\prakakar\source\landbosse\input -o C:\Users\prakakar\source\landbosse\output

File “C:\Users\prakakar\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\excel.py”, line 369, in init
** raise ValueError(“Unknown engine: {engine}”.format(engine=engine))**
ValueError: Unknown engine: openpyxl

I cloned LANDBOSSE from Github and ran the above command there as shown in attached figure.
Landbosse

Any help is highly appreciated.

Best regards,
Karthik

Looks like some of the dependencies did not install correctly in your LandBOSSE simulation. For the specific error in particular, you need to do: conda install openpyxl. However, I would also recommend walking through the install steps again and making sure you have everything covered. You should probably do the pip install -e . command again too.

If it helps, a full list of dependencies is here.

Hi,

Thanks a lot for getting back. I tried conda install openpyxl . But gave the below error. Googled the same error and tried few solutions, but did not help.

(base) C:>conda install openpyxl.
Solving environment: failed

CondaValueError: Malformed version string ‘~’: invalid character(s).

When I tried pip install openpyxl. I think it is installed

(base) C:>pip install openpyxl
Requirement already satisfied: openpyxl in c:\users\prakakar\appdata\local\continuum\anaconda3\lib\site-packages (2.5.6)
Requirement already satisfied: et-xmlfile in c:\users\prakakar\appdata\local\continuum\anaconda3\lib\site-packages (from openpyxl) (1.0.1)
Requirement already satisfied: jdcal in c:\users\prakakar\appdata\local\continuum\anaconda3\lib\site-packages (from openpyxl) (1.4)

Okay, you can try to pip-install LandBOSSE again.

You are also working off of the base conda environment. You might consider trying out a dedicated environment for LandBOSSE. Environments act as little sandboxes that you can create, use, and destroy without disrupting other projects or codes. [More info](https://conda create -n myenv python=3.9).

Hi Garrett

Thanks a lot for getting back and sorry to bother a lot. I tried the above but the error is still the same .

(landboseetool) C:>cd C:\Users\prakakar\source\landbosse\LandBOSSE

(landboseetool) C:\Users\prakakar\source\landbosse\LandBOSSE>python main.py -i \Users\prakakar\source\landbosse\input -o \Users\prakakar\source\landbosse\output

Begin run 2022-09-14 15:48:08.751892 <<<<<<<<<<
Calculating parametric values
Traceback (most recent call last):
File “main.py”, line 45, in
final_result = manager_runner.run_from_project_list_xlsx(projects_xlsx, enable_scaling_study)
File “C:\Users\prakakar\source\landbosse\LandBOSSE\landbosse\excelio\XlsxParallelManagerRunner.py”, line 53, in run_from_project_list_xlsx
extended_project_list_before_parameter_modifications = self.read_project_and_parametric_list_from_xlsx()
File “C:\Users\prakakar\source\landbosse\LandBOSSE\landbosse\excelio\XlsxManagerRunner.py”, line 163, in read_project_and_parametric_list_from_xlsx
sheets = XlsxDataframeCache.read_all_sheets_from_xlsx(‘project_list’, path_to_project_list)
File “C:\Users\prakakar\source\landbosse\LandBOSSE\landbosse\excelio\XlsxDataframeCache.py”, line 75, in read_all_sheets_from_xlsx
xlsx = pd.ExcelFile(xlsx_filename, engine=‘openpyxl’)
File “C:\Users\prakakar\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\excel.py”, line 369, in init
raise ValueError(“Unknown engine: {engine}”.format(engine=engine))
ValueError: Unknown engine: openpyxl

One of the options I saw in Google was to update Pandas, but then again, I got another error

(base) C:>conda update pandas
Solving environment: failed

CondaValueError: Malformed version string ‘~’: invalid character(s).

Hi Karthik,

Looks like you are mixing conda environments and doing some steps in “landbossetool” and others in “base”. Make sure you conda activate landbossetool and then do conda install openpyxl and also the pip install -e . step.

Hi Garrett,

Thanks a lot for getting back. I activated conda landbossetool and then tried the command conda install openpyxl, but ran into the following error

Downloading and Extracting Packages
ca-certificates-2022 | 188 KB | ############################################################################ | 100%
openpyxl-3.0.10 | 508 KB | ############################################################################ | 100%
python-3.10.6 | 16.5 MB | ############################################################################ | 100%
python_abi-3.10 | 4 KB | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: failed
ERROR conda.core.link:_execute(502): An error occurred while installing package ‘conda-forge::et_xmlfile-1.0.1-py_1001’.
FileNotFoundError(2, ‘The system cannot find the file specified’, None, 2, None)
Attempting to roll back.

Rolling back transaction: done

FileNotFoundError(2, ‘The system cannot find the file specified’, None, 2, None)

There is something wrong with your conda installation that has nothing to do with the NREL code and is tough for me to debug remotely. I would suggest trying out:
conda update -n base -c defaults conda
conda update --all

And trying again, or maybe even reinstalling Anaconda if that also doesn’t work.

Hi Garett,

Thanks a lot for getting back and I re installed Anaconda and now its running. Thanks a lot for the support. May I also know if there is any documentation on how I can modify the inputs for example to run a BoS for projects in EU and Asia. And also, what happens to the simulation results if certain inputs are not available in detail. For example the mass, drag coeff., lever arms etc.

Best regards,
Karthik

Feedback courtesy of Owen Roberts, one of the LandBOSSE developers:

In terms of modifying the inputs this page points to a somewhat difficult to find example input sheet here. To modify the inputs for areas outside the US I would recommend changing the labor, material, and equipment rates to reflect local rates. I also recommend changing the wind resource data, although this will likely be difficult to find and might require manually formatting any data available.

For component mass, coefficient of drag, lever arms, etc mass can be estimated from the Cost and Scaling Module, which can be accessed via WISDEM and coefficients of drag are probably assumed to be constant by component. Lever arms should be a simple calculation based on hub height and number of tower sections.

An additional resource that might be helpful can be found here.