code: def get_subset_riverid_index_list(self, river_id_list):
          netcdf_river_indices_list = []
          valid_river_ids = []
          missing_river_ids = []
          for river_id in river_id_list:
              try:
                  netcdf_river_indices_list \
                      .append(self.get_river_index(river_id))
                  valid_river_ids.append(river_id)
              except IndexError:
                  log("ReachID {0} not found in netCDF dataset."
                      " Skipping ...".format(river_id),
                      "WARNING")
                  missing_river_ids.append(river_id)
          np_valid_river_indices_list = np.array(netcdf_river_indices_list)
          np_valid_river_ids = np.array(valid_river_ids)
          sorted_indexes = np.argsort(np_valid_river_indices_list)
          return(np_valid_river_indices_list[sorted_indexes],
                 np_valid_river_ids[sorted_indexes],
                 np.array(missing_river_ids))