示例#1
0
        //---------------------------------------------------------------------

        public override void Initialize()
        {
            Timestep = 1;  // RMS:  Initially we will force annual time step. parameters.Timestep;


            ///******************** DEBUGGER LAUNCH *********************
            ///

            /*
             * if (Debugger.Launch())
             * {
             *  modelCore.UI.WriteLine("Debugger is attached");
             *  if (Debugger.IsLogging())
             *  {
             *      modelCore.UI.WriteLine("Debugging is logging");
             *  }
             *  Debugger.Break();
             * }
             * else
             * {
             *  modelCore.UI.WriteLine("Debugger not attached");
             * }
             */
            ///******************** DEBUGGER END *********************

            // Initilize the FireRegions Maps
            modelCore.UI.WriteLine("   Initializing Fire...");

            dynamicRxIgns = Parameters.DynamicRxIgnitionMaps;
            MapUtility.Initilize(Parameters.LighteningFireMap, Parameters.AccidentalFireMap, Parameters.RxFireMap,
                                 Parameters.LighteningSuppressionMap, Parameters.AccidentalSuppressionMap, Parameters.RxSuppressionMap);
            if (Parameters.RxZonesMap != null)
            {
                MapUtility.ReadMap(Parameters.RxZonesMap, SiteVars.RxZones);
            }
            MetadataHandler.InitializeMetadata(Parameters.Timestep, ModelCore);

            sitesPerEcoregions = new Dictionary <int, int>();

            foreach (ActiveSite site in PlugIn.ModelCore.Landscape)
            {
                IEcoregion ecoregion = PlugIn.ModelCore.Ecoregion[site];
                if (!sitesPerEcoregions.ContainsKey(ecoregion.Index))
                {
                    sitesPerEcoregions.Add(ecoregion.Index, 1);
                }
                else
                {
                    sitesPerEcoregions[ecoregion.Index]++;
                }
            }
        }
示例#2
0
        //---------------------------------------------------------------------

        public override void Initialize()
        {
            Timestep = 1;  // RMS:  Initially we will force annual time step. parameters.Timestep;


            ///******************** DEBUGGER LAUNCH *********************
            ///

            /*
             * if (Debugger.Launch())
             * {
             *  modelCore.UI.WriteLine("Debugger is attached");
             *  if (Debugger.IsLogging())
             *  {
             *      modelCore.UI.WriteLine("Debugging is logging");
             *  }
             *  Debugger.Break();
             * }
             * else
             * {
             *  modelCore.UI.WriteLine("Debugger not attached");
             * }
             */
            ///******************** DEBUGGER END *********************

            modelCore.UI.WriteLine("Initializing SCRAPPLE Fire...");

            SpeciesData.Initialize(Parameters);
            dynamicRxIgns         = Parameters.DynamicRxIgnitionMaps;
            dynamicLightningIgns  = Parameters.DynamicLightningIgnitionMaps;
            dynamicAccidentalIgns = Parameters.DynamicAccidentalIgnitionMaps;
            dynamicSuppress       = Parameters.DynamicSuppressionMaps;
            MapUtility.Initilize(Parameters.LighteningFireMap, Parameters.AccidentalFireMap, Parameters.RxFireMap,
                                 Parameters.LighteningSuppressionMap, Parameters.AccidentalSuppressionMap, Parameters.RxSuppressionMap);
            if (Parameters.RxZonesMap != null)
            {
                MapUtility.ReadMap(Parameters.RxZonesMap, SiteVars.RxZones);
            }
            MetadataHandler.InitializeMetadata(Parameters.Timestep, ModelCore);

            sitesPerClimateRegion = new Dictionary <int, int>();

            foreach (ActiveSite site in PlugIn.ModelCore.Landscape)
            {
                IEcoregion ecoregion = PlugIn.ModelCore.Ecoregion[site];
                if (!sitesPerClimateRegion.ContainsKey(ecoregion.Index))
                {
                    sitesPerClimateRegion.Add(ecoregion.Index, 1);
                }
                else
                {
                    sitesPerClimateRegion[ecoregion.Index]++;
                }
            }

            fractionSitesPerClimateRegion = new Dictionary <int, double>();
            foreach (IEcoregion ecoregion in PlugIn.ModelCore.Ecoregions)
            {
                if (sitesPerClimateRegion.ContainsKey(ecoregion.Index))
                {
                    fractionSitesPerClimateRegion.Add(ecoregion.Index, ((double)sitesPerClimateRegion[ecoregion.Index] / (double)modelCore.Landscape.ActiveSiteCount));
                }
            }

            SiteVars.TimeOfLastFire.ActiveSiteValues = -999;  // default value to distinguish from recent fires.
        }