//--------------------------------------------------------------------- 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(); }
//--------------------------------------------------------------------- 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"); } }