//--------------------------------------------------------------------- private void WritePoolMap(string poolName, ISiteVar <Pool> poolSiteVar) { string path = PoolMapNames.ReplaceTemplateVars(poolMapNameTemplate, poolName, PlugIn.ModelCore.CurrentTime); if (poolSiteVar != null) { PlugIn.ModelCore.UI.WriteLine(" Writing {0} biomass map to {1} ...", poolName, path); using (IOutputRaster <IntPixel> outputRaster = modelCore.CreateRaster <IntPixel>(path, modelCore.Landscape.Dimensions)) { IntPixel pixel = outputRaster.BufferPixel; foreach (Site site in PlugIn.ModelCore.Landscape.AllSites) { if (site.IsActive) { pixel.MapCode.Value = (int)((float)poolSiteVar[site].Mass); } else { pixel.MapCode.Value = 0; } outputRaster.WriteBufferPixel(); } } } }
//--------------------------------------------------------------------- private void WriteSpeciesMaps() { foreach (ISpecies species in selectedSpecies) { string path = MakeSpeciesMapName(species.Name); PlugIn.ModelCore.UI.WriteLine(" Writing {0} biomass map to {1} ...", species.Name, path); using (IOutputRaster <IntPixel> outputRaster = modelCore.CreateRaster <IntPixel>(path, modelCore.Landscape.Dimensions)) { IntPixel pixel = outputRaster.BufferPixel; foreach (Site site in PlugIn.ModelCore.Landscape.AllSites) { if (site.IsActive) { pixel.MapCode.Value = (int)Math.Round((double)ComputeSpeciesBiomass(SiteVars.Cohorts[site][species])); } else { pixel.MapCode.Value = 0; } outputRaster.WriteBufferPixel(); } } } }
//--------------------------------------------------------------------- private void WriteMapForAllSpecies() { // Biomass map for all species string path = MakeSpeciesMapName("TotalBiomass"); PlugIn.ModelCore.UI.WriteLine(" Writing total biomass map to {0} ...", path); using (IOutputRaster <IntPixel> outputRaster = modelCore.CreateRaster <IntPixel>(path, modelCore.Landscape.Dimensions)) { IntPixel pixel = outputRaster.BufferPixel; foreach (Site site in PlugIn.ModelCore.Landscape.AllSites) { if (site.IsActive) { pixel.MapCode.Value = (int)Math.Round((double)ComputeTotalBiomass(SiteVars.Cohorts[site])); } else { pixel.MapCode.Value = 0; } outputRaster.WriteBufferPixel(); } } }