NRCan / CanCurve

flood depth damage function tools for Canada
Other
0 stars 0 forks source link

case 5 - plotting error #14

Closed hmcgrath closed 2 months ago

hmcgrath commented 2 months ago

loading Case5 - run using default values, if no plots are requested, the process runs and a curve created.

However, if plots - specifically the ' cost-item summary plot' is selected, there is an error encountered. if I choose only DRF summary plot, I get two plots (figure 1), where the ci-s plot is plotted - but empty;

Python Warning log:: 
2024-09-03T10:12:28     WARNING    warning:C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py:826: PerformanceWarning: indexing past lexsort depth may impact performance.
              ci_df.loc[:, 'drf_intersect'] = ~bx #note this wriites as 0=False; 1=True

             traceback: File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 527, in action_tab4actions_step1
              self._run_c00_setup_project()
              File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 606, in _run_c00_setup_project
              ci_df, drf_df, ofp, err_msg = func(
              File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\core.py", line 826, in c00_setup_project
              ci_df.loc[:, 'drf_intersect'] = ~bx #note this wriites as 0=False; 1=True
              File "C:\PROGRA~1\QGIS33~1.2\apps\Python312\Lib\site-packages\pandas\core\indexing.py", line 907, in __setitem__
              indexer = self._get_setitem_indexer(key)
              File "C:\PROGRA~1\QGIS33~1.2\apps\Python312\Lib\site-packages\pandas\core\indexing.py", line 769, in _get_setitem_indexer
              return ax.get_loc(key)
              File "C:\PROGRA~1\QGIS33~1.2\apps\Python312\Lib\site-packages\pandas\core\indexes\multi.py", line 3085, in get_loc
              warnings.warn(

Python Error log:

2024-09-03T10:12:28     WARNING    Traceback (most recent call last):
              File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 527, in action_tab4actions_step1
              self._run_c00_setup_project()
              File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\dialog.py", line 645, in _run_c00_setup_project
              fig = func(d['df'], log=log, figure=plt.figure(10+i))
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              File "C:\Users/hmcgrath/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\cancurve\bldgs\plots.py", line 112, in plot_c00_costitems
              ax_d = dict(zip(stories_l, figure.subplots(nrows=1, ncols=len(stories_l), sharey=True)))
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             TypeError: 'Axes' object is not iterable

Fig1_cis plot empty Figure 1: with drf sumamry plot, cost item summary - some type of failure, and empty plot.