docs: def load_routing_tables(self, routing_tables, app_id):
          """Allocate space for an load multicast routing tables.
  
          The routing table entries will be removed automatically when the
          associated application is stopped.
  
          Parameters
          ----------
          routing_tables : {(x, y): \
                            [:py:class:`~rig.routing_table.RoutingTableEntry`\
                             (...), ...], ...}
              Map of chip co-ordinates to routing table entries, as produced, for
              example by
              :py:func:`~rig.routing_table.routing_tree_to_tables` and
              :py:func:`~rig.routing_table.minimise_tables`.
  
          Raises
          ------
          rig.machine_control.machine_controller.SpiNNakerRouterError
              If it is not possible to allocate sufficient routing table entries.
          """
          for (x, y), table in iteritems(routing_tables):
              self.load_routing_table_entries(table, x=x, y=y, app_id=app_id)