public LandSurface(vNereidLoadingInput vNereidLoadingInput, bool isBaselineCondition) { var landUseCode = isBaselineCondition ? vNereidLoadingInput.BaselineLandUseCode : vNereidLoadingInput.LandUseCode; var imperviousAcres = isBaselineCondition ? vNereidLoadingInput.BaselineImperviousAcres : vNereidLoadingInput.ImperviousAcres; NodeID = NereidUtilities.LandSurfaceNodeID(vNereidLoadingInput); SurfaceKey = $"{vNereidLoadingInput.LSPCBasinKey}-{landUseCode}-{vNereidLoadingInput.HydrologicSoilGroup}-{vNereidLoadingInput.SlopePercentage}"; Area = vNereidLoadingInput.Area; ImperviousArea = imperviousAcres; }
public static string LandSurfaceNodeID(vNereidLoadingInput loadGeneratingUnit) { // provisional delineations are tracked in the LGU layer, but do not contribute runoff // to their respective BMPs in the model therefore those LGUs should fall back to their // WQMP if exists, otherwise their RSB. // If the associated BMP belongs to a Simple WQMP, it should not be accounted for in the modeling if (loadGeneratingUnit.DelineationID != null && loadGeneratingUnit.DelineationIsVerified == true && loadGeneratingUnit.RelationallyAssociatedModelingApproach != WaterQualityManagementPlanModelingApproach.Simplified.WaterQualityManagementPlanModelingApproachID) { return(DelineationNodeID(loadGeneratingUnit.DelineationID.Value)); } // Parcel Boundaries of Detailed WQMPs should not be considered if (loadGeneratingUnit.WaterQualityManagementPlanID != null && loadGeneratingUnit.SpatiallyAssociatedModelingApproach != WaterQualityManagementPlanModelingApproach.Detailed.WaterQualityManagementPlanModelingApproachID) { return(WaterQualityManagementPlanNodeID(loadGeneratingUnit.WaterQualityManagementPlanID.Value, loadGeneratingUnit.OCSurveyCatchmentID)); } return(RegionalSubbasinNodeID(loadGeneratingUnit.OCSurveyCatchmentID)); }