docs: def _debug_output(self):
          """
          this code creates the debugging plots to understand
          the behavior of the hypothetical building model
  
          """
          import matplotlib
          matplotlib.use('Agg')
          import matplotlib.pyplot as plt
          c = self.config
  
          df_d = self.dev_d
          keys = df_d.keys()
          keys = sorted(keys)
          for key in keys:
              logger.debug("\n" + str(key) + "\n")
              logger.debug(df_d[key])
          for form in self.config.forms:
              logger.debug("\n" + str(key) + "\n")
              logger.debug(self.get_ave_cost_sqft(form, "surface"))
  
          keys = c.forms.keys()
          keys = sorted(keys)
          cnt = 1
          share = None
          fig = plt.figure(figsize=(12, 3 * len(keys)))
          fig.suptitle('Profitable rents by use', fontsize=40)
          for name in keys:
              sumdf = None
              for parking_config in c.parking_configs:
                  df = df_d[(name, parking_config)]
                  if sumdf is None:
                      sumdf = pd.DataFrame(df['far'])
                  sumdf[parking_config] = df['ave_cost_sqft']
              far = sumdf['far']
              del sumdf['far']
  
              if share is None:
                  share = plt.subplot(len(keys) / 2, 2, cnt)
              else:
                  plt.subplot(len(keys) / 2, 2, cnt, sharex=share, sharey=share)
  
              handles = plt.plot(far, sumdf)
              plt.ylabel('even_rent')
              plt.xlabel('FAR')
              plt.title('Rents for use type %s' % name)
              plt.legend(
                  handles, c.parking_configs, loc='lower right',
                  title='Parking type')
              cnt += 1
          plt.savefig('even_rents.png', bbox_inches=0)