//--------------------------------------------------------------------- public override void Initialize(string dataFile, PlugIns.ICore modelCore) { this.modelCore = modelCore; ParametersParser.SpeciesDataset = modelCore.Species; ParametersParser parser = new ParametersParser(); IParameters parameters = Data.Load<IParameters>(dataFile, parser); Timestep = parameters.Timestep; mapNameTemplate = parameters.MapNames; ILandscapeCohorts cohorts = modelCore.SuccessionCohorts as ILandscapeCohorts; if (cohorts == null) throw new ApplicationException("Error: Cohorts don't support age-cohort interface"); selectedSpecies = new List<SpeciesMaxAgeCalculator>(); foreach (ISpecies species in parameters.SelectedSpecies) selectedSpecies.Add(new SpeciesMaxAgeCalculator(species, cohorts)); siteMaxAgeCalculator = new SiteMaxAgeCalculator(cohorts); ageBuffer = new BlockRowBuffer<ushort>(modelCore.Landscape); }
//--------------------------------------------------------------------- public static void Initialize(double[,] establishProbabilities, SeedingAlgorithm seedingAlgorithm, Delegates.AddNewCohort addNewCohort) { Reproduction.establishProbabilities = establishProbabilities; seeding = new Seeding(seedingAlgorithm); Reproduction.addNewCohort = addNewCohort; cohorts = Model.Core.SuccessionCohorts as AgeCohort.ILandscapeCohorts; if (cohorts == null) { throw new ApplicationException("The succession plug-in's cohorts don't support age-cohort interface"); } speciesDataset = Model.Core.Species; int speciesCount = speciesDataset.Count; resprout = Model.Core.Landscape.NewSiteVar <BitArray>(); serotiny = Model.Core.Landscape.NewSiteVar <BitArray>(); foreach (ActiveSite site in Model.Core.Landscape.ActiveSites) { resprout[site] = new BitArray(speciesCount); serotiny[site] = new BitArray(speciesCount); } planting = new Planting(); trySeeding = new BlockRowBuffer <bool>(Model.Core.Landscape); hasSeeded = new BlockRowBuffer <BitArray>(Model.Core.Landscape); for (int col = 1; col <= hasSeeded.Columns; col++) { hasSeeded[col] = new BitArray(speciesCount); } }
//--------------------------------------------------------------------- public override void Initialize(string dataFile, PlugIns.ICore modelCore) { this.modelCore = modelCore; ParametersParser.SpeciesDataset = modelCore.Species; ParametersParser parser = new ParametersParser(); IParameters parameters = Data.Load <IParameters>(dataFile, parser); Timestep = parameters.Timestep; mapNameTemplate = parameters.MapNames; ILandscapeCohorts cohorts = modelCore.SuccessionCohorts as ILandscapeCohorts; if (cohorts == null) { throw new ApplicationException("Error: Cohorts don't support age-cohort interface"); } selectedSpecies = new List <SpeciesMaxAgeCalculator>(); foreach (ISpecies species in parameters.SelectedSpecies) { selectedSpecies.Add(new SpeciesMaxAgeCalculator(species, cohorts)); } siteMaxAgeCalculator = new SiteMaxAgeCalculator(cohorts); ageBuffer = new BlockRowBuffer <ushort>(modelCore.Landscape); }
//--------------------------------------------------------------------- private void CreateAndTestBuffer(int landscapeColumns, int blockSize, int expectedBufferColumns) { BlockRowBuffer <int> buffer = CreateBuffer(landscapeColumns, blockSize); Assert.IsNotNull(buffer); Assert.AreEqual(expectedBufferColumns, buffer.Columns); for (int col = 1; col <= buffer.Columns; col++) { buffer[col] = col; Assert.AreEqual(col, buffer[col]); } }
//--------------------------------------------------------------------- public static void Initialize(double[,] establishProbabilities, SeedingAlgorithm seedingAlgorithm, Delegates.AddNewCohort addNewCohort) { Reproduction.establishProbabilities = establishProbabilities; seeding = new Seeding(seedingAlgorithm); Reproduction.addNewCohort = addNewCohort; cohorts = Model.Core.SuccessionCohorts as AgeCohort.ILandscapeCohorts; if (cohorts == null) throw new ApplicationException("The succession plug-in's cohorts don't support age-cohort interface"); speciesDataset = Model.Core.Species; int speciesCount = speciesDataset.Count; resprout = Model.Core.Landscape.NewSiteVar<BitArray>(); serotiny = Model.Core.Landscape.NewSiteVar<BitArray>(); foreach (ActiveSite site in Model.Core.Landscape.ActiveSites) { resprout[site] = new BitArray(speciesCount); serotiny[site] = new BitArray(speciesCount); } planting = new Planting(); trySeeding = new BlockRowBuffer<bool>(Model.Core.Landscape); hasSeeded = new BlockRowBuffer<BitArray>(Model.Core.Landscape); for (int col = 1; col <= hasSeeded.Columns; col++) { hasSeeded[col] = new BitArray(speciesCount); } }
public void NullLandscape() { BlockRowBuffer<int> buffer = new BlockRowBuffer<int>(null); }
public void SetColumn0() { BlockRowBuffer <int> buffer = CreateBuffer(100, 3); buffer[0] = -1; }
public void GetColumn0() { BlockRowBuffer <int> buffer = CreateBuffer(100, 3); int i = buffer[0]; }
public void NullLandscape() { BlockRowBuffer <int> buffer = new BlockRowBuffer <int>(null); }