From Solids URBANOpt: RunREOpt error, "expected string, got NoneType"

Hi there. I have almost run through my first simulation with URBANOpt using my own solids and the workflow of dragonfly samples that ships with LBT. I ran into a problem in the last part to run REOpt. I am not sure how to handle the error, printed to panel.

I am a subscriber to the academy, so if there is a video that might help, please let me know.
I had to modify the epw grab with a different .ddy route to alleviate an error similar to from this discussion.
I am not sure if that is the problem or something else. Here is my current version of the aforementioned discussion:

Thanks for your time.



I dug through this a little more today. It still is full of errors. There does not appear to be anything coming out of the sim_par variable (image1) and the color rooms with results section does not receive any data from RunURBANOpt (image 2).

Here is an update on the solids: (1.0 MB)

Notably, the OSW module simulation runs fine in the same workspace. I am focused on making the URBANOpt module run. Maybe this is for @chris, since I have seen him present this workflow in webinars.

Thank you for your time.


Hi @Geo_curious ,

Your Simulation Parameters look fine to me and I am able to run your Grasshopper file on my machine:

It seems that your URBANopt simulation is somehow not completely succeeding. You would get sql files output from it if it were successful. Perhaps you closed it before the simulation could finish? If not, then I’d recommend reinstalling URBANopt. Make sure you are using the correct version per the compatibility matrix.

Well, I thought I had it right, but the updates did allow the URBANOpt to run. The LB update component ran and pointed out an incompatibility in my downloaded version of OpenStudio.

This is slightly off topic and elementary, but how do I save the geometries after the run completed, then prevent it from dumping the rhino view and output database at close and re-simulating upon reopening? I saw several mentions of the “record” widget in some other HB threads.

Thank you for the help.

From what you describe, @Geo_curious , it sounds like the version of Ladybug Tools and the version of URBANopt that you were using were not compatible with one another. I just added a check for the URBANopt version that should give you a useful error message if this ever happens again in the future:

For saving your visualization logic without having to re-run the simulation, I recommend internalizing the list of file paths to the .sql and .hbjson files in a native Grasshopper Text Parameter component. Just right-click on the Text component and select “internalize data” to disconnect the list of file paths from the simulation components. Then, you can load your SQL results without having to rerun the simulation. You can also load up the HBSJON files output by the GeoJSON component using the HB Load Objects component. They’ll come in as full 3D Honeybee model objects that you can color with the simulation results.