Example #1
0
        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;
        }
Example #2
0
        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));
        }