//--------------------------------------------------------------------- public override void Run() { if (PlugIn.ModelCore.CurrentTime == Timestep) { //Outputs.WriteLogFile(0); if (PlugIn.ModelCore.CurrentTime > 0 && SiteVars.CapacityReduction == null) { SiteVars.CapacityReduction = PlugIn.ModelCore.GetSiteVar <double>("Harvest.CapacityReduction"); } } base.Run(); if (Timestep > 0) { ClimateRegionData.SetAllEcoregions_FutureAnnualClimate(ModelCore.CurrentTime); } Outputs.WriteLogFile(PlugIn.ModelCore.CurrentTime); // Reset establishment modifier to 1.0 after each time step foreach (ISpecies species in PlugIn.ModelCore.Species) { foreach (IEcoregion ecoregion in PlugIn.ModelCore.Ecoregions) { if (!ecoregion.Active) { continue; } SpeciesData.EstablishModifier[species, ecoregion] = 1.0; } } }
//--------------------------------------------------------------------- public override void Initialize() { Timestep = Parameters.Timestep; time = Timestep; CalibrateMode = Parameters.CalibrateMode; CohortBiomass.SpinupMortalityFraction = Parameters.SpinupMortalityFraction; //Initialize climate. if (Parameters.ClimateConfigFile != null) { Climate.Initialize(Parameters.ClimateConfigFile, false, modelCore); FutureClimateBaseYear = Climate.Future_MonthlyData.Keys.Min(); ClimateRegionData.Initialize(Parameters); } sufficientLight = Parameters.LightClassProbabilities; SpeciesData.Initialize(Parameters); EcoregionData.Initialize(Parameters); DynamicInputs.Initialize(Parameters.DynamicInputFile, false); SpeciesData.ChangeDynamicParameters(0); // Year 0 FireEffects.Initialize(Parameters); //Outputs.Initialize(parameters); MetadataHandler.InitializeMetadata(summaryLogFileName); // 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. Landis.Library.BiomassCohorts.Cohorts.Initialize(Timestep, new CohortBiomass()); // Initialize Reproduction routines: Reproduction.SufficientResources = SufficientLight; Reproduction.Establish = Establish; Reproduction.AddNewCohort = AddNewCohort; Reproduction.MaturePresent = MaturePresent; Reproduction.PlantingEstablish = PlantingEstablish; base.Initialize(modelCore, Parameters.SeedAlgorithm); InitialBiomass.Initialize(Timestep); Landis.Library.BiomassCohorts.Cohort.DeathEvent += CohortTotalMortality; Landis.Library.BiomassCohorts.Cohort.PartialDeathEvent += CohortPartialMortality; InitializeSites(Parameters.InitialCommunities, Parameters.InitialCommunitiesMap, modelCore); }