//--------------------------------------------------------------------- /// <summary> /// Initializes the module. /// </summary> public static void Initialize() { leafBiomassCohorts = PlugIn.ModelCore.Landscape.NewSiteVar<Library.LeafBiomassCohorts.ISiteCohorts>(); biomassCohortsSiteVar = new BiomassCohortsSiteVar(leafBiomassCohorts); baseCohortsSiteVar = new BaseCohortsSiteVar(leafBiomassCohorts); timeOfLast = PlugIn.ModelCore.Landscape.NewSiteVar<int>(); // Dead biomass: surfaceDeadWood = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); soilDeadWood = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); surfaceStructural = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); surfaceMetabolic = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); soilStructural = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); soilMetabolic = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); // Soil Layers som1surface = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); som1soil = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); som2 = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); som3 = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); // Other Layers stream = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); sourceSink = PlugIn.ModelCore.Landscape.NewSiteVar<Layer>(); // Other variables mineralN = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); resorbedN = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); waterMovement = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); availableWater = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); soilWaterContent = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); decayFactor = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); soilTemperature = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); anaerobicEffect = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); // Annual accumulators grossMineralization = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); ag_nppC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); bg_nppC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); litterfallC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); monthlyAGNPPC = PlugIn.ModelCore.Landscape.NewSiteVar<double[]>(); monthlyBGNPPC = PlugIn.ModelCore.Landscape.NewSiteVar<double[]>(); monthlyNEE = PlugIn.ModelCore.Landscape.NewSiteVar<double[]>(); AnnualNEE = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); FireCEfflux = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); FireNEfflux = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); monthlyResp = PlugIn.ModelCore.Landscape.NewSiteVar<double[]>(); cohortLeafN = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); cohortLeafC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); cohortWoodN = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); cohortWoodC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); TotalWoodBiomass = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); AgeMortality = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); Nvol = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); PrevYearMortality = PlugIn.ModelCore.Landscape.NewSiteVar<int>(); totalNuptake = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); monthlymineralN = PlugIn.ModelCore.Landscape.NewSiteVar<double[]>(); frassC = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); lai = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); HarvestPrescriptionName = PlugIn.ModelCore.GetSiteVar<string>("Harvest.PrescriptionName"); PlugIn.ModelCore.RegisterSiteVar(leafBiomassCohorts, "Succession.LeafBiomassCohorts"); PlugIn.ModelCore.RegisterSiteVar(biomassCohortsSiteVar, "Succession.BiomassCohorts"); PlugIn.ModelCore.RegisterSiteVar(baseCohortsSiteVar, "Succession.AgeCohorts"); foreach (ActiveSite site in PlugIn.ModelCore.Landscape) { // site cohorts are initialized by the PlugIn.InitializeSite method //leafBiomassCohorts[site] = new SiteCohorts(); //Console.Write("-"); surfaceDeadWood[site] = new Layer(LayerName.Wood, LayerType.Surface); soilDeadWood[site] = new Layer(LayerName.CoarseRoot, LayerType.Soil); surfaceStructural[site] = new Layer(LayerName.Structural, LayerType.Surface); surfaceMetabolic[site] = new Layer(LayerName.Metabolic, LayerType.Surface); soilStructural[site] = new Layer(LayerName.Structural, LayerType.Soil); soilMetabolic[site] = new Layer(LayerName.Metabolic, LayerType.Soil); som1surface[site] = new Layer(LayerName.SOM1, LayerType.Surface); som1soil[site] = new Layer(LayerName.SOM1, LayerType.Soil); som2[site] = new Layer(LayerName.SOM2, LayerType.Soil); som3[site] = new Layer(LayerName.SOM3, LayerType.Soil); stream[site] = new Layer(LayerName.Other, LayerType.Other); sourceSink[site] = new Layer(LayerName.Other, LayerType.Other); monthlyAGNPPC[site] = new double[12]; monthlyBGNPPC[site] = new double[12]; monthlyNEE[site] = new double[12]; monthlyResp[site] = new double[12]; //monthlymineralN[site] = new double[12]; AvailableN.CohortResorbedNallocation = new Dictionary<int, Dictionary<int, double>>(); } }
//--------------------------------------------------------------------- /// <summary> /// Initializes the module. /// </summary> public static void Initialize() { biomassCohorts = PlugIn.ModelCore.Landscape.NewSiteVar<Library.BiomassCohorts.SiteCohorts>(); baseCohortsSiteVar = new BaseCohortsSiteVar(biomassCohorts); woodyDebris = PlugIn.ModelCore.Landscape.NewSiteVar<Pool>(); litter = PlugIn.ModelCore.Landscape.NewSiteVar<Pool>(); percentShade = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); lightTrans = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); ag_npp = PlugIn.ModelCore.Landscape.NewSiteVar<double>(); previousYearMortality = PlugIn.ModelCore.Landscape.NewSiteVar<int>(); currentYearMortality = PlugIn.ModelCore.Landscape.NewSiteVar<int>(); totalBiomass = PlugIn.ModelCore.Landscape.NewSiteVar<int>(); foreach (ActiveSite site in PlugIn.ModelCore.Landscape) { // site cohorts are initialized by the PlugIn.InitializeSite method woodyDebris[site] = new Pool(); litter[site] = new Pool(); } currentYearMortality.ActiveSiteValues = 0; previousYearMortality.ActiveSiteValues = 0; PlugIn.ModelCore.RegisterSiteVar(biomassCohorts, "Succession.BiomassCohorts"); PlugIn.ModelCore.RegisterSiteVar(baseCohortsSiteVar, "Succession.BaseCohorts"); PlugIn.ModelCore.RegisterSiteVar(SiteVars.WoodyDebris, "Succession.WoodyDebris"); PlugIn.ModelCore.RegisterSiteVar(SiteVars.Litter, "Succession.Litter"); }