//--------------------------------------------------------------------- public override void Initialize() { Timestep = parameters.Timestep; selectedspecies = parameters.SelectedSpecies; tstep = parameters.Timestep; cohorts = PlugIn.ModelCore.GetSiteVar <Landis.Extension.Succession.BiomassPnET.ISiteCohorts>("Succession.CohortsPnET"); woodyDebris = PlugIn.ModelCore.GetSiteVar <Landis.Library.Biomass.Pool>("Succession.WoodyDebris"); litter = PlugIn.ModelCore.GetSiteVar <Landis.Library.Biomass.Pool>("Succession.Litter"); if (parameters.CohortsPerSpecies != null) { CohortsPerSpc = new OutputVariable(parameters.CohortsPerSpecies, "#"); } if (parameters.SpeciesBiom != null) { Biomass = new OutputVariable(parameters.SpeciesBiom, "g/m2"); Biomass.output_table_ecoregions = new OutputTableEcoregions(Biomass.MapNameTemplate); } if (parameters.SpeciesAbovegroundBiom != null) { AbovegroundBiomass = new OutputVariable(parameters.SpeciesAbovegroundBiom, "g/m2"); AbovegroundBiomass.output_table_ecoregions = new OutputTableEcoregions(AbovegroundBiomass.MapNameTemplate); } if (parameters.SpeciesWoodySenescence != null) { WoodySenescence = new OutputVariable(parameters.SpeciesWoodySenescence, "g/m2"); WoodySenescence.output_table_ecoregions = new OutputTableEcoregions(WoodySenescence.MapNameTemplate); } if (parameters.SpeciesFoliageSenescence != null) { FoliageSenescence = new OutputVariable(parameters.SpeciesFoliageSenescence, "g/m2"); FoliageSenescence.output_table_ecoregions = new OutputTableEcoregions(FoliageSenescence.MapNameTemplate); } if (parameters.AETAvg != null) { AETAvg = new OutputVariable(parameters.AETAvg, ""); AETAvg.output_table_ecoregions = new OutputTableEcoregions(AETAvg.MapNameTemplate); } if (parameters.BelowgroundBiomass != null) { BelowGround = new OutputVariable(parameters.BelowgroundBiomass, "g/m2"); } if (parameters.LeafAreaIndex != null) { LAI = new OutputVariable(parameters.LeafAreaIndex, "m2"); LAI.output_table_ecoregions = new OutputTableEcoregions(LAI.MapNameTemplate); } if (parameters.MonthlyFolResp != null) { MonthlyFolResp = new OutputVariable(parameters.MonthlyFolResp, "gC/mo"); } if (parameters.MonthlyGrossPsn != null) { MonthlyGrossPsn = new OutputVariable(parameters.MonthlyGrossPsn, "gC/mo"); } if (parameters.MonthlyMaintResp != null) { MonthlyMaintResp = new OutputVariable(parameters.MonthlyMaintResp, "gC/mo"); } if (parameters.MonthlyNetPsn != null) { MonthlyNetPsn = new OutputVariable(parameters.MonthlyNetPsn, "gC/mo"); } if (parameters.EstablishmentProbability != null) { EstablishmentProbability = new OutputVariable(parameters.EstablishmentProbability, ""); } if (parameters.SpeciesEst != null) { SpeciesEstablishment = new OutputVariable(parameters.SpeciesEst, ""); } if (parameters.Water != null) { Water = new OutputVariable(parameters.Water, "mm"); Water.output_table_ecoregions = new OutputTableEcoregions(Water.MapNameTemplate); } if (parameters.SubCanopyPAR != null) { SubCanopyPAR = new OutputVariable(parameters.SubCanopyPAR, "W/m2 or mmol/m2"); } if (parameters.Litter != null) { NonWoodyDebris = new OutputVariable(parameters.Litter, "g/m2"); } if (parameters.WoodyDebris != null) { WoodyDebris = new OutputVariable(parameters.WoodyDebris, "g/m2"); } if (parameters.AgeDistribution != null) { AgeDistribution = new OutputVariable(parameters.AgeDistribution, "yr"); } if (parameters.AnnualPsn != null) { AnnualPsn = new OutputVariable(parameters.AnnualPsn, "g/m2"); } if (parameters.CohortBalance != null) { overalloutputs = new OutputAggregatedTable(parameters.CohortBalance); } MetadataHandler.InitializeMetadata(Timestep, LAI, Biomass, AbovegroundBiomass, EstablishmentProbability, SpeciesWasThere, AnnualPsn, BelowGround, CohortsPerSpc, Water, SubCanopyPAR, NonWoodyDebris, WoodyDebris, AgeDistribution, MonthlyFolResp, MonthlyGrossPsn, MonthlyNetPsn, MonthlyMaintResp, SpeciesEstablishment, LastBiom, overalloutputs, parameters.CohortBalance); }
public static void InitializeMetadata(int Timestep, OutputVariable LAI, OutputVariable Biomass, OutputVariable AbovegroundBiomass, OutputVariable EstablishmentProbability, ISiteVar <Landis.Library.Parameters.Species.AuxParm <bool> > SpeciesWasThere, OutputVariable AnnualPsn, OutputVariable BelowGround, OutputVariable CohortsPerSpc, OutputVariable Water, OutputVariable SubCanopyPAR, OutputVariable NonWoodyDebris, OutputVariable WoodyDebris, OutputVariable AgeDistribution, OutputVariable MonthlyFolResp, OutputVariable MonthlyGrossPsn, OutputVariable MonthlyNetPsn, OutputVariable MonthlyMaintResp, OutputVariable SpeciesEstablishment, ISiteVar <Library.Parameters.Species.AuxParm <int> > LastBiom, OutputAggregatedTable overalloutputs, string OutputTableMap) { ScenarioReplicationMetadata scenRep = new ScenarioReplicationMetadata() { RasterOutCellArea = PlugIn.ModelCore.CellArea, TimeMin = PlugIn.ModelCore.StartTime, TimeMax = PlugIn.ModelCore.EndTime, }; Extension = new ExtensionMetadata(PlugIn.ModelCore) //Extension = new ExtensionMetadata() { Name = PlugIn.ExtensionName, TimeInterval = Timestep, ScenarioReplicationMetadata = scenRep }; //--------------------------------------- // table outputs: //--------------------------------------- if (overalloutputs != null) { PlugIn.ModelCore.UI.WriteLine(" Generating summary table..."); CreateDirectory(OutputTableMap); OutputMetadata tblOut_OverallOutputs = new OutputMetadata() { Type = OutputType.Table, Name = Path.GetFileName(OutputTableMap), FilePath = OutputTableMap, Map_DataType = MapDataType.Continuous, Visualize = true, }; tblOut_OverallOutputs.RetriveFields(typeof(OutputAggregatedTable)); Extension.OutputMetadatas.Add(tblOut_OverallOutputs); } //--------------------------------------- // map outputs: //--------------------------------------- //OutputMetadata mapOut_BiomassRemoved = new OutputMetadata() //{ // Type = OutputType.Map, // Name = "biomass removed", // FilePath = @HarvestMapName, // Map_DataType = MapDataType.Continuous, // Map_Unit = FieldUnits.Mg_ha, // Visualize = true, //}; //Extension.OutputMetadatas.Add(mapOut_BiomassRemoved); if (LAI != null) { OutputMetadata mapOut_LAI = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(LAI.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(LAI.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_LAI); } if (Biomass != null) { foreach (ISpecies spc in PlugIn.SelectedSpecies) { OutputMetadata mapOut_Biomass = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(Biomass.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(Biomass.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Biomass); } } if (AbovegroundBiomass != null) { foreach (ISpecies spc in PlugIn.SelectedSpecies) { OutputMetadata mapOut_AbvBiomass = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(AbovegroundBiomass.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(AbovegroundBiomass.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_AbvBiomass); } } if (MonthlyFolResp != null) { OutputMetadata mapOut_Monthly = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(MonthlyFolResp.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(MonthlyFolResp.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Monthly); } if (MonthlyGrossPsn != null) { OutputMetadata mapOut_Monthly = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(MonthlyGrossPsn.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(MonthlyGrossPsn.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Monthly); } if (MonthlyNetPsn != null) { OutputMetadata mapOut_Monthly = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(MonthlyNetPsn.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(MonthlyNetPsn.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Monthly); } if (MonthlyMaintResp != null) { OutputMetadata mapOut_Monthly = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(MonthlyMaintResp.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(MonthlyMaintResp.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Monthly); } if (BelowGround != null) { OutputMetadata mapOut_BelowGround = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(BelowGround.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(BelowGround.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_BelowGround); } if (CohortsPerSpc != null) { foreach (ISpecies spc in PlugIn.ModelCore.Species) { OutputMetadata mapOut_LAI = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(CohortsPerSpc.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(CohortsPerSpc.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_LAI); } } if (EstablishmentProbability != null) { foreach (ISpecies spc in PlugIn.SelectedSpecies) { OutputMetadata mapOut_EProb = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(EstablishmentProbability.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(EstablishmentProbability.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_EProb); } } if (SpeciesEstablishment != null) { if (SpeciesWasThere != null) { foreach (ISpecies spc in PlugIn.ModelCore.Species) { OutputMetadata mapOut_SpeciesE = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(SpeciesEstablishment.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(SpeciesEstablishment.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_SpeciesE); } } OutputMetadata mapOut_SpeciesE2 = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(SpeciesEstablishment.MapNameTemplate).Replace(".img", ".txt"), FilePath = FileNames.ReplaceTemplateVars(SpeciesEstablishment.MapNameTemplate).Replace(".img", ".txt"), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_SpeciesE2); } if (AnnualPsn != null) { if (LastBiom != null) { foreach (ISpecies spc in PlugIn.ModelCore.Species) { OutputMetadata mapOut_AnnualPsn = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(AnnualPsn.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(AnnualPsn.MapNameTemplate, spc.Name, PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_AnnualPsn); } } } if (Water != null) { OutputMetadata mapOut_Water = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(Water.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(Water.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_Water); } if (SubCanopyPAR != null) { OutputMetadata mapOut_SubCanopyPAR = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(SubCanopyPAR.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(SubCanopyPAR.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_SubCanopyPAR); } if (NonWoodyDebris != null) { OutputMetadata mapOut_NonWoodyDebris = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(NonWoodyDebris.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(NonWoodyDebris.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_NonWoodyDebris); } if (WoodyDebris != null) { OutputMetadata mapOut_WoodyDebris = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(WoodyDebris.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(WoodyDebris.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_WoodyDebris); } if (AgeDistribution != null) { OutputMetadata mapOut_AgeDistribution = new OutputMetadata() { Type = OutputType.Map, Name = FileNames.ReplaceTemplateVars(AgeDistribution.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), FilePath = FileNames.ReplaceTemplateVars(AgeDistribution.MapNameTemplate, "", PlugIn.ModelCore.CurrentTime), Map_DataType = MapDataType.Continuous, Visualize = true, //Map_Unit = "categorical", }; Extension.OutputMetadatas.Add(mapOut_AgeDistribution); } //--------------------------------------- MetadataProvider mp = new MetadataProvider(Extension); mp.WriteMetadataToXMLFile("Metadata", Extension.Name, Extension.Name); }
//--------------------------------------------------------------------- public override void Initialize() { Timestep = parameters.Timestep; selectedspecies = parameters.SelectedSpecies; tstep = parameters.Timestep; cohorts = PlugIn.ModelCore.GetSiteVar<Landis.Extension.Succession.BiomassPnET.ISiteCohorts>("Succession.CohortsPnET"); woodyDebris = PlugIn.ModelCore.GetSiteVar<Landis.Library.Biomass.Pool>("Succession.WoodyDebris"); litter = PlugIn.ModelCore.GetSiteVar<Landis.Library.Biomass.Pool>("Succession.Litter"); if (parameters.CohortsPerSpecies != null) CohortsPerSpc = new OutputVariable(parameters.CohortsPerSpecies, "#"); if (parameters.SpeciesBiom != null) { Biomass = new OutputVariable(parameters.SpeciesBiom, "g/m2"); Biomass.output_table_ecoregions = new OutputTableEcoregions(Biomass.MapNameTemplate); } if (parameters.SpeciesAbovegroundBiom != null) { AbovegroundBiomass = new OutputVariable(parameters.SpeciesAbovegroundBiom, "g/m2"); AbovegroundBiomass.output_table_ecoregions = new OutputTableEcoregions(AbovegroundBiomass.MapNameTemplate); } if (parameters.SpeciesWoodySenescence != null) { WoodySenescence = new OutputVariable(parameters.SpeciesWoodySenescence, "g/m2"); WoodySenescence.output_table_ecoregions = new OutputTableEcoregions(WoodySenescence.MapNameTemplate); } if (parameters.SpeciesFoliageSenescence != null) { FoliageSenescence = new OutputVariable(parameters.SpeciesFoliageSenescence, "g/m2"); FoliageSenescence.output_table_ecoregions = new OutputTableEcoregions(FoliageSenescence.MapNameTemplate); } if (parameters.BelowgroundBiomass != null) BelowGround = new OutputVariable(parameters.BelowgroundBiomass, "g/m2"); if (parameters.LeafAreaIndex != null) { LAI = new OutputVariable(parameters.LeafAreaIndex, "m2"); LAI.output_table_ecoregions = new OutputTableEcoregions(LAI.MapNameTemplate); } if (parameters.MonthlyFolResp != null) { MonthlyFolResp = new OutputVariable(parameters.MonthlyFolResp, "gC/mo"); } if (parameters.MonthlyGrossPsn != null) { MonthlyGrossPsn = new OutputVariable(parameters.MonthlyGrossPsn, "gC/mo"); } if (parameters.MonthlyMaintResp != null) { MonthlyMaintResp = new OutputVariable(parameters.MonthlyMaintResp, "gC/mo"); } if (parameters.MonthlyNetPsn != null) { MonthlyNetPsn = new OutputVariable(parameters.MonthlyNetPsn, "gC/mo"); } if (parameters.EstablishmentProbability != null) { EstablishmentProbability = new OutputVariable(parameters.EstablishmentProbability, ""); } if (parameters.SpeciesEst != null) { SpeciesEstablishment = new OutputVariable(parameters.SpeciesEst, ""); } if (parameters.Water != null) { Water = new OutputVariable(parameters.Water, "mm"); Water.output_table_ecoregions = new OutputTableEcoregions(Water.MapNameTemplate); } if (parameters.SubCanopyPAR != null) SubCanopyPAR = new OutputVariable(parameters.SubCanopyPAR, "W/m2 pr mmol/m2"); if (parameters.Litter != null) NonWoodyDebris = new OutputVariable(parameters.Litter, "g/m2"); if (parameters.WoodyDebris != null) WoodyDebris = new OutputVariable(parameters.WoodyDebris, "g/m2"); if (parameters.AgeDistribution != null) AgeDistribution = new OutputVariable(parameters.AgeDistribution,"yr"); if (parameters.AnnualPsn != null) AnnualPsn = new OutputVariable(parameters.AnnualPsn, "g/m2"); if (parameters.CohortBalance != null) overalloutputs = new OutputAggregatedTable(parameters.CohortBalance); }