Esempio n. 1
0
        //---------------------------------------------------------------------

        private void WriteSummaryLog(int currentTime)
        {
            summaryLog.Clear();
            SummaryLog sl = new SummaryLog();

            sl.Time             = currentTime;
            sl.TotalSitesBurned = summaryTotalSites;
            sl.NumberFires      = summaryEventCount;
            sl.EcoMaps_         = new double[FireRegions.Dataset.Count];
            int i = 0;

            foreach (IFireRegion fire_region in FireRegions.Dataset)
            {
                sl.EcoMaps_[i] = summaryFireRegionEventCount[fire_region.Index];
                i = i + 1;
            }
            summaryLog.AddObject(sl);
            summaryLog.WriteToFile();
        }
Esempio n. 2
0
        //---------------------------------------------------------------------

        public override void Initialize()
        {
            Timestep          = parameters.Timestep;
            fireSizeType      = parameters.FireSizeType;
            bui               = parameters.BUI;
            mapNameTemplate   = parameters.MapNamesTemplate;
            dynamicWeather    = parameters.DynamicWeather;
            severityCalibrate = parameters.SeverityCalibrate;


            modelCore.UI.WriteLine("   Initializing Fire Events...");
            Event.Initialize(parameters.SeasonParameters, parameters.FuelTypeParameters, parameters.FireDamages);


            seasonParameters = parameters.SeasonParameters;

            dynamicEcos = parameters.DynamicFireRegions;

            summaryFireRegionEventCount = new int[FireRegions.Dataset.Count];
            ecoregionSitesCount         = new int[FireRegions.Dataset.Count];

            //foreach (IFireRegion fire_region in FireRegions.Dataset)
            //modelCore.UI.WriteLine("   FireSize={0}, SD={1}", fire_region.MeanSize, fire_region.StandardDeviation);

            // Count the number of sites per fire_region:
            foreach (Site site in modelCore.Landscape)
            {
                if (site.IsActive)
                {
                    IFireRegion fire_region = SiteVars.FireRegion[site];
                    ecoregionSitesCount[fire_region.Index]++;
                }
            }

            modelCore.UI.WriteLine("   Opening and Initializing Fire log files \"{0}\" and \"{1}\"...", parameters.LogFileName, parameters.SummaryLogFileName);

            List <string> colnames = new List <string>();

            foreach (IFireRegion fire_region in FireRegions.Dataset)
            {
                colnames.Add(fire_region.MapCode.ToString());
            }
            ExtensionMetadata.ColumnNames = colnames;

            MetadataHandler.InitializeMetadata(mapNameTemplate, parameters.LogFileName, parameters.SummaryLogFileName);



            summaryLog.Clear();
            SummaryLog sl = new SummaryLog();

            sl.Time             = 0;
            sl.TotalSitesBurned = 0;
            sl.NumberFires      = 0;
            sl.EcoMaps_         = new double[FireRegions.Dataset.Count];
            int i = 0;

            foreach (IFireRegion fire_region in FireRegions.Dataset)
            {
                sl.EcoMaps_[i] = ecoregionSitesCount[fire_region.Index];
                i = i + 1;
            }
            summaryLog.AddObject(sl);
            summaryLog.WriteToFile();

            if (isDebugEnabled)
            {
                modelCore.UI.WriteLine("Initialization done");
            }
        }