//---------------------------------------------------------------------
        public override void Initialize(string        dataFile,
                                        PlugIns.ICore modelCore)
        {
            Model.Core = modelCore;
            ParametersParser parser = new ParametersParser(Model.Core.Ecoregions,
                                                           Model.Core.Species,
                                                           Model.Core.StartTime,
                                                           Model.Core.EndTime);
            IParameters parameters = Landis.Data.Load<IParameters>(dataFile, parser);

            Timestep              = parameters.Timestep;
            sufficientLight       = parameters.LightClassProbabilities;
            CohortBiomass.SpinupMortalityFraction = parameters.SpinupMortalityFraction;

            SiteVars.Initialize();

            //  Initialize climate.  A list of ecoregion indices is passed so that
            //  the climate library can operate independently of the LANDIS-II core.
            List<int> ecoregionIndices = new List<int>();
            foreach(IEcoregion ecoregion in Model.Core.Ecoregions)
            {
                ecoregionIndices.Add(ecoregion.Index);
                UI.WriteLine("    Century:  preparing climate data:  {0} = ecoregion index {1}", ecoregion.Name, ecoregion.Index);
            }
            Climate.Initialize(parameters.ClimateFile, ecoregionIndices, false);

            EcoregionData.Initialize(parameters);
            SpeciesData.Initialize(parameters);
            EcoregionData.ChangeParameters(parameters);

            OtherData.Initialize(parameters);
            FunctionalType.Initialize(parameters);
            Outputs.Initialize(parameters);
            Outputs.InitializeMonthly(parameters);

            //  Cohorts must be created before the base class is initialized
            //  because the base class' reproduction module uses the core's
            //  SuccessionCohorts property in its Initialization method.
            Biomass.Cohorts.Initialize(Timestep, new CohortBiomass());

            //cohorts = Model.Core.Landscape.NewSiteVar<SiteCohorts>();
            landscapeCohorts = new LandscapeCohorts(SiteVars.SiteCohorts); //cohorts);
            Cohorts = landscapeCohorts;

            Reproduction.SufficientLight = SufficientLight;

            InitialBiomass.Initialize(Timestep);

            base.Initialize(modelCore,
                            Util.ToArray<double>(SpeciesData.EstablishProbability),
                            parameters.SeedAlgorithm,
                            (Reproduction.Delegates.AddNewCohort) AddNewCohort);

            Cohort.DeathEvent += CohortDied;
            AgeOnlyDisturbances.Module.Initialize(parameters.AgeOnlyDisturbanceParms);

            Dynamic.Module.Initialize(parameters.DynamicUpdates);
            //EcoregionData.Initialize(parameters);
            FireEffects.Initialize(parameters);
        }
Пример #2
0
        //---------------------------------------------------------------------
        public override void Initialize(string        dataFile,
            PlugIns.ICore modelCore)
        {
            Model.Core = modelCore;
            ParametersParser parser = new ParametersParser(Model.Core.Ecoregions,
                                                           Model.Core.Species,
                                                           Model.Core.StartTime,
                                                           Model.Core.EndTime);
            IParameters parameters = Landis.Data.Load<IParameters>(dataFile, parser);

            Timestep = parameters.Timestep;
            sufficientLight = parameters.LightClassProbabilities;

            SiteVars.Initialize();
            SpeciesData.Initialize(parameters);
            EcoregionData.Initialize(parameters);
            CalibrateMode = parameters.CalibrateMode;
            CohortBiomass.SpinupMortalityFraction = parameters.SpinupMortalityFraction;

            //  Cohorts must be created before the base class is initialized
            //  because the base class' reproduction module uses the core's
            //  SuccessionCohorts property in its Initialization method.
            Biomass.Cohorts.Initialize(Timestep, new CohortBiomass());

            //cohorts = SiteVars.Cohorts;
            landscapeCohorts = new LandscapeCohorts(SiteVars.Cohorts);
            Cohorts = landscapeCohorts;

            Reproduction.SufficientLight = SufficientLight;

            InitialBiomass.Initialize(Timestep);

            base.Initialize(modelCore,
                            Util.ToArray<double>(parameters.EstablishProbability),
                            parameters.SeedAlgorithm,
                            (Reproduction.Delegates.AddNewCohort) AddNewCohort);

            Cohort.DeathEvent += CohortDied;
            AgeOnlyDisturbances.Module.Initialize(parameters.AgeOnlyDisturbanceParms);

            ClimateChange.Module.Initialize(parameters.ClimateChangeUpdates);
        }
Пример #3
0
        //---------------------------------------------------------------------
        public override void Initialize(string dataFile,
            PlugIns.ICore modelCore)
        {
            Model.Core = modelCore;
            InputParametersParser parser = new InputParametersParser(Model.Core.Ecoregions,
                                                           Model.Core.Species,
                                                           Model.Core.StartTime,
                                                           Model.Core.EndTime);
            IInputParameters parameters = Landis.Data.Load<IInputParameters>(dataFile, parser);

            Timestep = parameters.Timestep;
            sufficientLight = parameters.LightClassProbabilities;

            SiteVars.Initialize();
            FireEffects.Initialize(parameters);

            SpeciesData.Initialize(parameters);
            EcoregionData.Initialize(parameters);

            SoilOrganicMatter.Initialize(parameters);

            MineralSoil.Initialize(parameters);
            Rock.Initialize(parameters);
            Outputs.Initialize(parameters);

            //  Cohorts must be created before the base class is initialized
            //  because the base class' reproduction module uses the core's
            //  SuccessionCohorts property in its Initialization method.
            CohortBiomass.Calculator = new CohortBiomass();
            Biomass.Cohorts.Initialize(Timestep, CohortBiomass.Calculator);

            Cohorts = new LandscapeCohorts(SiteVars.Cohorts);
            Reproduction.SufficientLight = SufficientLight;

            InitialBiomass.Initialize(Timestep);

            base.Initialize(modelCore,
                            SpeciesData.ToArray<double>(parameters.EstablishProbability),
                            parameters.SeedAlgorithm,
                            (Reproduction.Delegates.AddNewCohort)AddNewCohort);

            Cohort.DeathEvent += CohortDied;

            AgeOnlyDisturbances.Module.Initialize(parameters.AgeOnlyDisturbanceParms);
            DynamicChange.Module.Initialize(parameters.DynamicChangeUpdates);
        }