docs: def _get_all_resourcescenarios(network_id, user_id):
      """
          Get all the resource scenarios in a network, across all scenarios
          returns a dictionary of dict objects, keyed on scenario_id
      """
  
      rs_qry = db.DBSession.query(
                  Dataset.type,
                  Dataset.unit_id,
                  Dataset.name,
                  Dataset.hash,
                  Dataset.cr_date,
                  Dataset.created_by,
                  Dataset.hidden,
                  Dataset.value,
                  ResourceScenario.dataset_id,
                  ResourceScenario.scenario_id,
                  ResourceScenario.resource_attr_id,
                  ResourceScenario.source,
                  ResourceAttr.attr_id,
      ).outerjoin(DatasetOwner, and_(DatasetOwner.dataset_id==Dataset.id, DatasetOwner.user_id==user_id)).filter(
                  or_(Dataset.hidden=='N', Dataset.created_by==user_id, DatasetOwner.user_id != None),
                  ResourceAttr.id == ResourceScenario.resource_attr_id,
                  Scenario.id==ResourceScenario.scenario_id,
                  Scenario.network_id==network_id,
                  Dataset.id==ResourceScenario.dataset_id)
  
      x = time.time()
      logging.info("Getting all resource scenarios")
      all_rs = db.DBSession.execute(rs_qry.statement).fetchall()
      log.info("%s resource scenarios retrieved in %s", len(all_rs), time.time()-x)
  
  
      logging.info("resource scenarios retrieved. Processing results...")
      x = time.time()
      rs_dict = dict()
      for rs in all_rs:
          rs_obj = JSONObject(rs)
          rs_attr = JSONObject({'attr_id':rs.attr_id})
  
          value = rs.value
  
          rs_dataset = JSONDataset({
              'id':rs.dataset_id,
              'type' : rs.type,
              'unit_id' : rs.unit_id,
              'name' : rs.name,
              'hash' : rs.hash,
              'cr_date':rs.cr_date,
              'created_by':rs.created_by,
              'hidden':rs.hidden,
              'value':value,
              'metadata':{},
          })
          rs_obj.resourceattr = rs_attr
          rs_obj.value = rs_dataset
          rs_obj.dataset = rs_dataset
  
          scenario_rs = rs_dict.get(rs.scenario_id, [])
          scenario_rs.append(rs_obj)
          rs_dict[rs.scenario_id] = scenario_rs
  
      logging.info("resource scenarios processed in %s", time.time()-x)
  
      return rs_dict