public override void InitializeSites(string initialCommunitiesText, string initialCommunitiesMap, ICore modelCore) { ModelCore.UI.WriteLine(" Loading initial communities from file \"{0}\" ...", initialCommunitiesText); Landis.Library.InitialCommunities.DatasetParser parser = new Landis.Library.InitialCommunities.DatasetParser(Timestep, ModelCore.Species); Landis.Library.InitialCommunities.IDataset communities = Landis.Data.Load <Landis.Library.InitialCommunities.IDataset>(initialCommunitiesText, parser); ModelCore.UI.WriteLine(" Reading initial communities map \"{0}\" ...", initialCommunitiesMap); IInputRaster <uintPixel> map; map = ModelCore.OpenRaster <uintPixel>(initialCommunitiesMap); using (map) { uintPixel pixel = map.BufferPixel; foreach (Site site in ModelCore.Landscape.AllSites) { map.ReadBufferPixel(); uint mapCode = pixel.MapCode.Value; if (!site.IsActive) { continue; } //if (!modelCore.Ecoregion[site].Active) // continue; //modelCore.Log.WriteLine("ecoregion = {0}.", modelCore.Ecoregion[site]); ActiveSite activeSite = (ActiveSite)site; initialCommunity = communities.Find(mapCode); if (initialCommunity == null) { throw new ApplicationException(string.Format("Unknown map code for initial community: {0}", mapCode)); } InitializeSite(activeSite); } } }