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