private void removeCatchmentFromScenario(Catchment cat) { var geoData = Scenario.GeographicData; var subCatchmentOutline = geoData.SubCatchmentOutline; if (subCatchmentOutline != null) { bool haveMatch = false; double theCatVal = -99; foreach (KeyValuePair <double, object> kvp in subCatchmentOutline.Categories) { string scName = (string)kvp.Value; if (scName != cat.Name) { continue; } theCatVal = kvp.Key; haveMatch = true; break; } if (haveMatch) { catDblsToRemove.Add(theCatVal); } } foreach (FunctionalUnitDefinition fudef in Scenario.SystemFunctionalUnitConfiguration.fuDefinitions) { FunctionalUnit fu = cat.getFunctionalUnit(fudef); if (fu is StandardFunctionalUnit) { removeUsagesForSFU(cat, (StandardFunctionalUnit)fu); } } Scenario.Network.Remove(cat); }