示例#1
0
        //---------------------------------------------------------------------

        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);
            }
        }
示例#2
0
        //---------------------------------------------------------------------

        public static void Initialize(double[,]          establishProbabilities,
                                      SeedingAlgorithm seedingAlgorithm,
                                      AddNewCohortMethod 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);
            }
        }
示例#3
0
        //---------------------------------------------------------------------

        //public static void Initialize(double[,]              establishProbabilities,
        public static void Initialize(SeedingAlgorithm seedingAlgorithm,
                                      Delegates.AddNewCohort addNewCohort)
        {
            // Reproduction.establishProbabilities = establishProbabilities;

            seeding = new Seeding(seedingAlgorithm);
            Reproduction.addNewCohort = addNewCohort;

            SiteVars.Cohorts = Model.Core.GetSiteVar <SiteCohorts>("Succession.Cohorts");

            speciesDataset = Model.Core.Species;
            int speciesCount = speciesDataset.Count;

            resprout    = Model.Core.Landscape.NewSiteVar <BitArray>();
            serotiny    = Model.Core.Landscape.NewSiteVar <BitArray>();
            noEstablish = Model.Core.Landscape.NewSiteVar <bool>();
            foreach (ActiveSite site in Model.Core.Landscape.ActiveSites)
            {
                resprout[site] = new BitArray(speciesCount);
                serotiny[site] = new BitArray(speciesCount);
            }

            noEstablish.ActiveSiteValues = false;
            planting = new Planting();
        }
        //---------------------------------------------------------------------


        /// <summary>
        /// Initializes the instance and its associated site variables.
        /// </summary>
        protected void Initialize(ICore modelCore,
                                  SeedingAlgorithms seedAlg)//,
        //Reproduction.Delegates.AddNewCohort addNewCohort)
        {
            Model.Core = modelCore;
            SiteVars.Initialize();
            Seeding.InitializeMaxSeedNeighborhood();

            disturbedSites = new DisturbedSiteEnumerator(Model.Core.Landscape,
                                                         SiteVars.Disturbed);

            SeedingAlgorithm algorithm = SeedingAlgorithmsUtil.GetAlgorithm(seedAlg,
                                                                            Timestep);

            Reproduction.Initialize(algorithm);
        }
        //---------------------------------------------------------------------

        public static void Initialize(SeedingAlgorithm seedingAlgorithm)
        {
            seeding = new Seeding(seedingAlgorithm);

            speciesDataset = Model.Core.Species;
            int speciesCount = speciesDataset.Count;

            resprout    = Model.Core.Landscape.NewSiteVar <BitArray>();
            serotiny    = Model.Core.Landscape.NewSiteVar <BitArray>();
            noEstablish = Model.Core.Landscape.NewSiteVar <bool>();
            foreach (ActiveSite site in Model.Core.Landscape.ActiveSites)
            {
                resprout[site] = new BitArray(speciesCount);
                serotiny[site] = new BitArray(speciesCount);
            }

            noEstablish.ActiveSiteValues = false;
            planting = new Planting();
        }
示例#6
0
		//---------------------------------------------------------------------

		public static void Initialize(double[,]          establishProbabilities,
		                              SeedingAlgorithm   seedingAlgorithm,
		                              AddNewCohortMethod addNewCohort)
		{
			Reproduction.establishProbabilities = establishProbabilities;
			seeding = new Seeding(seedingAlgorithm);
			Reproduction.addNewCohort = addNewCohort;
			cohorts = Model.GetSuccession<AgeCohort.ICohort>().Cohorts;

			speciesDataset = Model.Species;
			int speciesCount = speciesDataset.Count;

			resprout = Model.Landscape.NewSiteVar<BitArray>();
			serotiny = Model.Landscape.NewSiteVar<BitArray>();
			foreach (ActiveSite site in Model.Landscape.ActiveSites) {
				resprout[site] = new BitArray(speciesCount);
				serotiny[site] = new BitArray(speciesCount);
			}
		}
        //---------------------------------------------------------------------

        public static void Initialize(double[,]          establishProbabilities,
                                      SeedingAlgorithm   seedingAlgorithm,
                                      AddNewCohortMethod 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);
            }
        }
示例#8
0
        //---------------------------------------------------------------------

        public Seeding(SeedingAlgorithm seedingAlgorithm)
        {
            this.seedingAlgorithm = seedingAlgorithm;
            this.cohorts          = Model.GetSuccession <AgeCohort.ICohort>().Cohorts;
        }
 //---------------------------------------------------------------------
 public Seeding(SeedingAlgorithm seedingAlgorithm)
 {
     this.seedingAlgorithm = seedingAlgorithm;
 }
示例#10
0
        //---------------------------------------------------------------------

        public Seeding(SeedingAlgorithm seedingAlgorithm)
        {
            this.seedingAlgorithm = seedingAlgorithm;
        }
        //---------------------------------------------------------------------

        public static void Initialize(SeedingAlgorithm seedingAlgorithm)
        {

            seeding = new Seeding(seedingAlgorithm);

            speciesDataset = Model.Core.Species;
            int speciesCount = speciesDataset.Count;

            resprout = Model.Core.Landscape.NewSiteVar<BitArray>();
            serotiny = Model.Core.Landscape.NewSiteVar<BitArray>();
            noEstablish = Model.Core.Landscape.NewSiteVar<bool>();
            foreach (ActiveSite site in Model.Core.Landscape.ActiveSites) {
                resprout[site] = new BitArray(speciesCount);
                serotiny[site] = new BitArray(speciesCount);
            }

            noEstablish.ActiveSiteValues = false;
            planting = new Planting();

        }
        //---------------------------------------------------------------------

        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 Seeding(SeedingAlgorithm seedingAlgorithm)
 {
     this.seedingAlgorithm = seedingAlgorithm;
     this.cohorts = Model.GetSuccession<AgeCohort.ICohort>().Cohorts;
 }
        //---------------------------------------------------------------------
        //public static void Initialize(double[,]              establishProbabilities,
        public static void Initialize(SeedingAlgorithm       seedingAlgorithm,
            Delegates.AddNewCohort addNewCohort)
        {
            // Reproduction.establishProbabilities = establishProbabilities;

            seeding = new Seeding(seedingAlgorithm);
            Reproduction.addNewCohort = addNewCohort;

            SiteVars.Cohorts = Model.Core.GetSiteVar<SiteCohorts>("Succession.Cohorts");

            speciesDataset = Model.Core.Species;
            int speciesCount = speciesDataset.Count;

            resprout = Model.Core.Landscape.NewSiteVar<BitArray>();
            serotiny = Model.Core.Landscape.NewSiteVar<BitArray>();
            noEstablish = Model.Core.Landscape.NewSiteVar<bool>();
            foreach (ActiveSite site in Model.Core.Landscape.ActiveSites) {
                resprout[site] = new BitArray(speciesCount);
                serotiny[site] = new BitArray(speciesCount);
            }

            noEstablish.ActiveSiteValues = false;
            planting = new Planting();
        }