Esempio n. 1
0
        public bool isInTree(ModelParameterGroupClass Target)
        {
            bool found = false;

            if (isGroupNode)
            {
                if (ThisGroup.ID == Target.ID)
                {
                    found = true;
                }
            }
            else
            {
                foreach (TreeNode node in Nodes)
                {
                    if (node is ParmTreeNode)
                    {
                        if ((node as ParmTreeNode).isInTree(Target))
                        {
                            found = true;
                            break;
                        }
                    }
                }
            }
            return(found);
        }
Esempio n. 2
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Constructor. </summary>
        ///
        /// <param name="TheModelParam">    the model parameter to create item from. </param>
        ///-------------------------------------------------------------------------------------------------

        public ModelParamItem(ModelParameterClass TheModelParam)
        {
            FModelParam     = TheModelParam.ModelParam;
            FModelParamName = eModelParam.Names(TheModelParam.ModelParam);
            FFieldname      = TheModelParam.Fieldname;;
            FLabel          = TheModelParam.Label;

            if (TheModelParam.isExtended)
            {
                FDescrip    = TheModelParam.Description;
                FUnitsShort = TheModelParam.Units;
                FUnitsLong  = TheModelParam.UnitsLong;
                if (TheModelParam.TopicGroups != null)
                {
                    if (TheModelParam.TopicGroups.Count > 0)
                    {
                        foreach (ModelParameterGroupClass MPG in TheModelParam.TopicGroups)
                        {
                            FTopics.Add(MPG);
                        }
                    }
                }
            }
            FMax       = TheModelParam.HighRange;
            FMin       = TheModelParam.LowRange;
            FRangeType = TheModelParam.RangeCheckType;
            FDepends   = TheModelParam.DerivedFrom;
            //int Default = 0;
            FParamType = TheModelParam.ParamType;
            if ((TheModelParam.isProviderParam) && (TheModelParam.ProviderProperty != null))
            {
                FProvAgMode           = TheModelParam.ProviderProperty.AggregateMode;
                FProviderPropertyName = TheModelParam.ProviderProperty.GetType().FullName;
            }
        }
Esempio n. 3
0
        void Add(ModelParameterGroupClass aGroup)
        {
            // Create new node
            ParmTreeNode Temp = new ParmTreeNode(aGroup, FPM);

            Nodes.Add(Temp);
        }
        internal void BuildTree()
        {
            ModelParameterGroupClass AllParmsGroup = new ModelParameterGroupClass("All Parameters");
            ParmTreeNode             AllParms      = new ParmTreeNode(AllParmsGroup, FParamManager);

            foreach (ModelParamItem MPI in FParamItems)
            {
                // get groups
                if (MPI.TopicsGroup.Count > 0)
                {
                    foreach (ModelParameterGroupClass MPG in MPI.TopicsGroup)
                    {
                        if (FAllGroups.Find(delegate(ModelParameterGroupClass item) {
                            return(item.ID == MPG.ID);
                        }) == null)
                        {
                            FAllGroups.Add(MPG);
                            ParmTreeNode temp = new ParmTreeNode(MPG, FParamManager);
                            TheParmNodes.Add(temp);
                        }
                    }
                }

                AllParms.Nodes.Add(new ParmTreeNode(MPI, FParamManager));
            }

            foreach (ParmTreeNode Node in TheParmNodes)
            {
                treeViewParameters.Nodes.Add(Node);
            }

            treeViewParameters.Nodes.Add(AllParms);
        }
Esempio n. 5
0
 public ParmTreeNode(ModelParameterGroupClass aGroup, ParameterManagerClass aPM) : base(aGroup.Name)
 {
     FPM                = aPM;
     ThisGroup          = aGroup;
     ImageIndex         = 4;
     SelectedImageIndex = 5;
     foreach (ModelParameterGroupClass groupitem in aGroup.Groups())
     {
         Add(groupitem);
     }
     foreach (int parmcode in aGroup.ModelParameters())
     {
         Add(parmcode);
     }
 }
Esempio n. 6
0
 static void AddGroupToParameterTopics(ParameterManagerClass PM, ModelParameterGroupClass TheGroup)
 {
     foreach (int eModCode in TheGroup.ModelParameters())
     {
         try
         {
             ModelParameterClass MP = PM.Model_Parameter(eModCode);
             if (MP != null)
             {
                 MP.TopicGroups.Add(TheGroup);
             }
         }
         finally
         {
         }
     }
 }
Esempio n. 7
0
        partial void     initialize_Sustainable_ModelParameters()
        {
            Percent_Deficit             = new providerArrayProperty(_pm, eModelParam.epPCT_Deficit, get_PCT_Deficit, eProviderAggregateMode.agWeighted);
            Percent_Reclaimed_of_Total  = new providerArrayProperty(_pm, eModelParam.epPctRecOfTotal, get_PCT_Reclaimed_Of_Total, eProviderAggregateMode.agWeighted);
            FutureYearsSustainedPumping = new providerArrayProperty(_pm, eModelParam.epGWYrsSustain, get_FutureYearsSustainedPumping, eProviderAggregateMode.agWeighted);
            //
            //RunningGWregional = new providerArrayProperty(_pm, eModelParam.epRegGWpctInitial, get_PCT_RegGWfromInitial, eProviderAggregateMode.agWeighted);
            //
            ModelParameterGroupClass SINYRGW_Group = new ModelParameterGroupClass("Sustainable GW Years Dependencies", SINYRGW_List);

            _pm.GroupManager.Add(SINYRGW_Group);
            _pm.AddParameter(new ModelParameterClass(eModelParam.epGWYrsSustain, "Years Pumping Can Be Sustained", "SINYRGW", FutureYearsSustainedPumping, SINYRGW_Group, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epRegGWYrsSustain, "Years Pumping Can Be Sustained", "SINYRGWR", get_Regional_FutureYearsSustainedPumping, SINYRGW_Group, 0, 100));
            //
            _pm.AddParameter(new ModelParameterClass(eModelParam.epRegPctGWDemand, "% Demand met by Groundwater", "SINPCTGW", get_Regional_PCT_GW_of_Demand, SINYRGW_Group, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epPctRecOfTotal, "Percent Supply Reclaimed", "PCTSUPREC", Percent_Reclaimed_of_Total, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epPCT_Deficit, "Percent Demand Deficit", "PCTDEMDEF", Percent_Deficit, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epAgSustainIndicator, "Agricuture Sustainability Indicator", "SINDAG", GetAgIndicator, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epEnvSustainIndicator, "Environment Sustainability Indicator", "SINDENV", GetEnvIndicator, 0, 500));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epWaterUseIndicator, "Water Use Sustainability Indicator", "SINDPC", GetPersonalGPCDIndicator, 0, 100));

            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadDeadPool, "Lake Mead Dead Pool", "MDDPL", get_MeadDeadPool, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadLowerSNWA, "Lake Mead Lower SNWA Intake", "MDLIL", get_MeadSNWALowerIntake, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadShortageSharingLow, "Lake Mead Shortage Sharing Low", "MDSSL", get_MeadShortageSharingLevelLow, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadShortageSharingMed, "Lake Mead Shortage Sharing Med and Minimum Power Pool", "MDSSM", get_MeadShortageSharingLevelMed, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadShortageSharingHigh, "Lake Mead Shortage Sharing High", "MDSSH", get_MeadShortageSharingLevelHigh, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadMinPower, "Lake Mead Minimum Power Pool", "MDMPL", get_MeadMinPowerLevel, 800, 1300));
            _pm.AddParameter(new ModelParameterClass(eModelParam.epMeadCapacity, "Lake Mead Capacity", "MDCPL", get_MeadCapacity, 800, 1300));
            //
            _pm.AddParameter(new ModelParameterClass(eModelParam.epRegGWpctInitial, "% of initial Regional GW", "SINGWPCT", get_PCT_RegGWfromInitial, 0, 150));

            //
            GW_PCTinitial = 63152280;
            // GW_PCTinitial = this.Regional_Groundwater_Balance;

            //
        }
Esempio n. 8
0
        public static void AddWestParameterGroups(WaterSimManager WSim)
        {
            // Create a supply group
            // epP_SurfaceFresh = 1031; epP_SurfaceLake = 1032; epP_SurfaceSaline = 1033; epP_Groundwater = 1034;
            //  epP_Effluent = 1035;  epP_Augmented = 1036; epP_TotalSupplies = 1037;  epP_UrbanWasteWater = 1038;

            int[] TempSupplies = new int[8] {
                eModelParam.epP_SurfaceFresh, eModelParam.epP_SurfaceLake, eModelParam.epP_SurfaceSaline, eModelParam.epP_Groundwater,
                eModelParam.epP_Effluent, eModelParam.epP_Augmented, eModelParam.epP_TotalSupplies, eModelParam.epP_UrbanWasteWater
            };
            ModelParameterGroupClass MPGC = new ModelParameterGroupClass("Supplies", TempSupplies);

            WSim.ParamManager.GroupManager.Add(MPGC);
            AddGroupToParameterTopics(WSim.ParamManager, MPGC);

            // Create Consumer Group
            // epUrban = 1051;epAgriculture = 1052;epIndustrial = 1053;epPower = 1054; epP_TotalDemand = 1111;
            int[] TempConsumer = new int[5] {
                eModelParam.epP_Urban, eModelParam.epP_Agriculture, eModelParam.epP_Industrial, eModelParam.epP_Power, eModelParam.epP_TotalDemand
            };
            MPGC = new ModelParameterGroupClass("Consumers", TempConsumer);
            WSim.ParamManager.GroupManager.Add(MPGC);
            AddGroupToParameterTopics(WSim.ParamManager, MPGC);
        }