public GAImean() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.0; v1.Description = "Thermal Time window for average"; v1.Id = 0; v1.MaxValue = 5000.0; v1.MinValue = 0.0; v1.Name = "tTWindowForPTQ"; v1.Size = 1; v1.Units = "°C d"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary); pd1.PropertyName = "gAI"; pd1.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary); pd2.PropertyName = "deltaTT"; pd2.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd3.PropertyName = "pastMaxAI"; pd3.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.pastMaxAI).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.pastMaxAI); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd4.PropertyName = "listTTShootWindowForPTQ1"; pd4.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd5.PropertyName = "listGAITTWindowForPTQ"; pd5.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd6.PropertyName = "gAImean"; pd6.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.gAImean).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.gAImean); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd7.PropertyName = "pastMaxAI"; pd7.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.pastMaxAI).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.pastMaxAI); _outputs0_0.Add(pd7); mo0_0.Outputs = _outputs0_0; PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd8.PropertyName = "listTTShootWindowForPTQ1"; pd8.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1); _outputs0_0.Add(pd8); mo0_0.Outputs = _outputs0_0; PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd9.PropertyName = "listGAITTWindowForPTQ"; pd9.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ); _outputs0_0.Add(pd9); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public IsSmallPhytomer() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 6; v1.Description = "Number of leaves produced after floral initiation"; v1.Id = 0; v1.MaxValue = 30; v1.MinValue = 0; v1.Name = "NLL"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd1.PropertyName = "roundedFinalLeafNumber"; pd1.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd2.PropertyName = "finalLeafNumber"; pd2.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd3.PropertyName = "index"; pd3.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.index)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.index); _inputs0_0.Add(pd3); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd4.PropertyName = "isSmallPhytomer"; pd4.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer); _outputs0_0.Add(pd4); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public calcFullyExpTT() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 16; v1.Description = "Final Leaf Number"; v1.Id = 0; v1.MaxValue = 30; v1.MinValue = 0; v1.Name = "Nfinal"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 6; v2.Description = "Slope of the lag during expension wrt leaf index"; v2.Id = 0; v2.MaxValue = 50; v2.MinValue = 0; v2.Name = "Lagmax"; v2.Size = 1; v2.Units = "°Cd/leaf"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 6; v3.Description = "Number of last leaves that finish their expansion at the same thermal time"; v3.Id = 0; v3.MaxValue = 30; v3.MinValue = 0; v3.Name = "Nlast"; v3.Size = 1; v3.Units = "leaf"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd1.PropertyName = "leafNumber"; pd1.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd2.PropertyName = "previousLeafNumber"; pd2.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd3.PropertyName = "newLeafHasAppeared"; pd3.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState); pd4.PropertyName = "liguleTT"; pd4.PropertyType = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.liguleTT)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.liguleTT); _inputs0_0.Add(pd4); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState); pd5.PropertyName = "fullyExpTT"; pd5.PropertyType = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.fullyExpTT)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.fullyExpTT); _outputs0_0.Add(pd5); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public CalculateMinMaxDailyWindSpeed() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1; v1.Description = "Shift in hour from sunrise time when wind begins to blow"; v1.Id = 0; v1.MaxValue = 24; v1.MinValue = 1; v1.Name = "hourOfBlowingBeginingT1"; v1.Size = 1; v1.Units = "hour of the day"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 2; v2.Description = "Shift in hour from sunset when wind stop blowing"; v2.Id = 0; v2.MaxValue = 24; v2.MinValue = 1; v2.Name = "hourOfBlowingStopT3"; v2.Size = 1; v2.Units = "hour of the day"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0.0025; v3.Description = "Fraction of daily mean wind speed for the night time (minimum) wind speed calculation"; v3.Id = 0; v3.MaxValue = 10; v3.MinValue = 0; v3.Name = "nightTimeWindFactor"; v3.Size = 1; v3.Units = "dimensionless"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd1.PropertyName = "dailyMeanWindSpeed"; pd1.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.dailyMeanWindSpeed)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dailyMeanWindSpeed); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd2.PropertyName = "hourlySolarElevation"; pd2.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.hourlySolarElevation)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.hourlySolarElevation); _inputs0_0.Add(pd2); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd3.PropertyName = "dailyMaxWindSpeed"; pd3.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.dailyMaxWindSpeed)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dailyMaxWindSpeed); _outputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd4.PropertyName = "dailyMinWindSpeed"; pd4.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.dailyMinWindSpeed)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dailyMinWindSpeed); _outputs0_0.Add(pd4); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public CalculatePhyllochron() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 3; v1.Description = "Leaf number up to which the phyllochron is decreased by Pdecr"; v1.Id = 0; v1.MaxValue = 30; v1.MinValue = 0; v1.Name = "Ldecr"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 8; v2.Description = "Leaf number above which the phyllochron is increased by Pincr"; v2.Id = 0; v2.MaxValue = 30; v2.MinValue = 0; v2.Name = "Lincr"; v2.Size = 1; v2.Units = "leaf"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0.4; v3.Description = "Factor decreasing the phyllochron for leaf number less than Ldecr"; v3.Id = 0; v3.MaxValue = 10; v3.MinValue = 0; v3.Name = "Pdecr"; v3.Size = 1; v3.Units = "dimensionless"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 1.5; v4.Description = "Factor increasing the phyllochron for leaf number higher than Lincr"; v4.Id = 0; v4.MaxValue = 10; v4.MinValue = 0; v4.Name = "Pincr"; v4.Size = 1; v4.Units = "dimensionless"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd1.PropertyName = "LeafNumber"; pd1.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd2.PropertyName = "Fixphyll"; pd2.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Fixphyll)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Fixphyll); _inputs0_0.Add(pd2); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd3.PropertyName = "Phyllochron"; pd3.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Phyllochron)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Phyllochron); _outputs0_0.Add(pd3); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public Penman() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.66; v1.Description = "psychrometric constant"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "psychrometricConstant"; v1.Size = 1; v1.Units = "hPa/degC"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 1.5; v2.Description = "Priestley-Taylor evapotranspiration proportionality constant"; v2.Id = 0; v2.MaxValue = 100; v2.MinValue = 0; v2.Name = "Alpha"; v2.Size = 1; v2.Units = ""; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 2.454; v3.Description = "latent heat of vaporization of water"; v3.Id = 0; v3.MaxValue = 10; v3.MinValue = 0; v3.Name = "lambdaV"; v3.Size = 1; v3.Units = "MJ/kg"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 1.225; v4.Description = "Density of air"; v4.Id = 0; v4.MaxValue = 1.225; v4.MinValue = 1.225; v4.Name = "rhoDensityAir"; v4.Size = 1; v4.Units = "kg/m**3"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 0.00101; v5.Description = "Specific heat capacity of dry air"; v5.Id = 0; v5.MaxValue = 1; v5.MinValue = 0; v5.Name = "specificHeatCapacityAir"; v5.Size = 1; v5.Units = "(MJ/kg)/degC"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v5); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRate); pd1.PropertyName = "evapoTranspirationPriestlyTaylor"; pd1.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliary); pd2.PropertyName = "hslope"; pd2.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.hslope).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.hslope); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliary); pd3.PropertyName = "VPDair"; pd3.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.VPDair).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.VPDair); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceState); pd4.PropertyName = "conductance"; pd4.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.conductance).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.conductance); _inputs0_0.Add(pd4); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRate); pd5.PropertyName = "evapoTranspirationPenman"; pd5.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPenman).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPenman); _outputs0_0.Add(pd5); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public Canopytemperature() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 2.454; v1.Description = "latent heat of vaporization of water"; v1.Id = 0; v1.MaxValue = 10; v1.MinValue = 0; v1.Name = "lambdaV"; v1.Size = 1; v1.Units = "MJ/kg"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 1.225; v2.Description = "Density of air"; v2.Id = 0; v2.MaxValue = 1.225; v2.MinValue = 1.225; v2.Name = "rhoDensityAir"; v2.Size = 1; v2.Units = "kg/m**3"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0.00101; v3.Description = "Specific heat capacity of dry air"; v3.Id = 0; v3.MaxValue = 1.0; v3.MinValue = 0.0; v3.Name = "specificHeatCapacityAir"; v3.Size = 1; v3.Units = "MJ/kg/degC"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd1.PropertyName = "minTair"; pd1.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.minTair).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.minTair); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd2.PropertyName = "maxTair"; pd2.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.maxTair).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.maxTair); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceRate); pd3.PropertyName = "cropHeatFlux"; pd3.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.cropHeatFlux).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.cropHeatFlux); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceState); pd4.PropertyName = "conductance"; pd4.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance); _inputs0_0.Add(pd4); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceState); pd5.PropertyName = "minCanopyTemperature"; pd5.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.minCanopyTemperature).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.minCanopyTemperature); _outputs0_0.Add(pd5); mo0_0.Outputs = _outputs0_0; PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceState); pd6.PropertyName = "maxCanopyTemperature"; pd6.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.maxCanopyTemperature).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.maxCanopyTemperature); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public CalculateVernalizationProgress() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 5.5; v1.Description = "initial minimal final leaf number"; v1.Id = 0; v1.MaxValue = 25; v1.MinValue = 0; v1.Name = "AMNFLNO"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0; v2.Description = "true if the plant is vernalizable"; v2.Id = 0; v2.MaxValue = 1; v2.MinValue = 0; v2.Name = "IsVernalizable"; v2.Size = 1; v2.Units = "NA"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0; v3.Description = "Minimum temperature for vernalization to occur"; v3.Id = 0; v3.MaxValue = 60; v3.MinValue = -20; v3.Name = "MinTvern"; v3.Size = 1; v3.Units = "°C"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 10; v4.Description = "Intermediate temperature for vernalization to occur"; v4.Id = 0; v4.MaxValue = 60; v4.MinValue = -20; v4.Name = "IntTvern"; v4.Size = 1; v4.Units = "°C"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 0.85; v5.Description = "Response of vernalization rate to temperature"; v5.Id = 0; v5.MaxValue = 1; v5.MinValue = 0; v5.Name = "VAI"; v5.Size = 1; v5.Units = "1/(d.°C)"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v5); VarInfo v6 = new VarInfo(); v6.DefaultValue = 0.01; v6.Description = "Vernalization rate at 0°C"; v6.Id = 0; v6.MaxValue = 1; v6.MinValue = 0; v6.Name = "VBEE"; v6.Size = 1; v6.Units = "1/d"; v6.URL = ""; v6.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v6.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v6); VarInfo v7 = new VarInfo(); v7.DefaultValue = 8; v7.Description = "Threshold daylength below which it does influence vernalization rate"; v7.Id = 0; v7.MaxValue = 24; v7.MinValue = 0; v7.Name = "MinDL"; v7.Size = 1; v7.Units = "h"; v7.URL = ""; v7.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v7.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v7); VarInfo v8 = new VarInfo(); v8.DefaultValue = 15; v8.Description = "Saturating photoperiod above which final leaf number is not influenced by daylength"; v8.Id = 0; v8.MaxValue = 24; v8.MinValue = 0; v8.Name = "MaxDL"; v8.Size = 1; v8.Units = "h"; v8.URL = ""; v8.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v8.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v8); VarInfo v9 = new VarInfo(); v9.DefaultValue = 23; v9.Description = "Maximum temperature for vernalization to occur"; v9.Id = 0; v9.MaxValue = 60; v9.MinValue = -20; v9.Name = "MaxTvern"; v9.Size = 1; v9.Units = "°C"; v9.URL = ""; v9.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v9.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v9); VarInfo v10 = new VarInfo(); v10.DefaultValue = 4; v10.Description = "Number of primorida in the apex at emergence"; v10.Id = 0; v10.MaxValue = 24; v10.MinValue = 0; v10.Name = "PNini"; v10.Size = 1; v10.Units = "primordia"; v10.URL = ""; v10.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v10.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v10); VarInfo v11 = new VarInfo(); v11.DefaultValue = 24; v11.Description = "Absolute maximum leaf number"; v11.Id = 0; v11.MaxValue = 25; v11.MinValue = 0; v11.Name = "AMXLFNO"; v11.Size = 1; v11.Units = "leaf"; v11.URL = ""; v11.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v11.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v11); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd1.PropertyName = "DayLength"; pd1.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.DayLength)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.DayLength); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd2.PropertyName = "DeltaTT"; pd2.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd3.PropertyName = "cumulTT"; pd3.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd4.PropertyName = "LeafNumber"; pd4.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd5.PropertyName = "Calendar"; pd5.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Calendar)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Calendar); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd6.PropertyName = "Vernaprog"; pd6.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog); _inputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd7.PropertyName = "MinFinalNumber"; pd7.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber); _inputs0_0.Add(pd7); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd8.PropertyName = "Vernaprog"; pd8.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog)).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog); _outputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd9.PropertyName = "MinFinalNumber"; pd9.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber)).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber); _outputs0_0.Add(pd9); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public ShootNumber() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 288.0; v1.Description = "number of plant /m²"; v1.Id = 0; v1.MaxValue = 500; v1.MinValue = 0; v1.Name = "sowingDensity"; v1.Size = 1; v1.Units = "plant m-2"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 600.0; v2.Description = "max value of shoot number for the canopy"; v2.Id = 0; v2.MaxValue = 1000; v2.MinValue = 280; v2.Name = "targetFertileShoot"; v2.Size = 1; v2.Units = "shoot"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd1.PropertyName = "canopyShootNumber"; pd1.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd2.PropertyName = "leafNumber"; pd2.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd3.PropertyName = "tilleringProfile"; pd3.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd4.PropertyName = "leafTillerNumberArray"; pd4.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd5.PropertyName = "numberTillerCohort"; pd5.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd6.PropertyName = "averageShootNumberPerPlant"; pd6.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd7.PropertyName = "canopyShootNumber"; pd7.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber); _outputs0_0.Add(pd7); mo0_0.Outputs = _outputs0_0; PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd8.PropertyName = "leafTillerNumberArray"; pd8.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray); _outputs0_0.Add(pd8); mo0_0.Outputs = _outputs0_0; PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd9.PropertyName = "tilleringProfile"; pd9.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile); _outputs0_0.Add(pd9); mo0_0.Outputs = _outputs0_0; PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd10.PropertyName = "numberTillerCohort"; pd10.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort); _outputs0_0.Add(pd10); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public UpdateLeafArea() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1.98; v1.Description = "Critical area-based nitrogen content for leaf expansion"; v1.Id = 0; v1.MaxValue = 100; v1.MinValue = 0; v1.Name = "SLNcri"; v1.Size = 1; v1.Units = "g(N)/m²(leaf)"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 1.1; v2.Description = "Phyllochronic duration of leaf lamina expansion"; v2.Id = 0; v2.MaxValue = 100; v2.MinValue = 0; v2.Name = "PexpL"; v2.Size = 1; v2.Units = "phyllochron"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd1.PropertyName = "cumulTTShoot"; pd1.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.cumulTTShoot)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.cumulTTShoot); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd2.PropertyName = "potentialIncDeltaArea"; pd2.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd3.PropertyName = "incDeltaAreaLimitSF"; pd3.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd4.PropertyName = "WaterLimitedPotDeltaAIList"; pd4.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd5.PropertyName = "availableN"; pd5.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.availableN)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.availableN); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd6.PropertyName = "LaminaAI"; pd6.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI); _inputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd7.PropertyName = "MaxAI"; pd7.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI); _inputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd8.PropertyName = "State"; pd8.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.State)).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.State); _inputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd9.PropertyName = "Phyllochron"; pd9.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.Phyllochron)).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.Phyllochron); _inputs0_0.Add(pd9); PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd10.PropertyName = "TTem"; pd10.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.TTem)).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.TTem); _inputs0_0.Add(pd10); PropertyDescription pd11 = new PropertyDescription(); pd11.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd11.PropertyName = "SheathAI"; pd11.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI)).ValueType.TypeForCurrentValue; pd11.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI); _inputs0_0.Add(pd11); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd12 = new PropertyDescription(); pd12.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd12.PropertyName = "MaxAI"; pd12.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI)).ValueType.TypeForCurrentValue; pd12.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI); _outputs0_0.Add(pd12); PropertyDescription pd13 = new PropertyDescription(); pd13.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd13.PropertyName = "incDeltaArea"; pd13.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaArea)).ValueType.TypeForCurrentValue; pd13.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaArea); _outputs0_0.Add(pd13); PropertyDescription pd14 = new PropertyDescription(); pd14.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd14.PropertyName = "deltaAI"; pd14.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.deltaAI)).ValueType.TypeForCurrentValue; pd14.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.deltaAI); _outputs0_0.Add(pd14); PropertyDescription pd15 = new PropertyDescription(); pd15.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd15.PropertyName = "GAI"; pd15.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.GAI)).ValueType.TypeForCurrentValue; pd15.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.GAI); _outputs0_0.Add(pd15); PropertyDescription pd16 = new PropertyDescription(); pd16.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd16.PropertyName = "LaminaAI"; pd16.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI)).ValueType.TypeForCurrentValue; pd16.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI); _outputs0_0.Add(pd16); PropertyDescription pd17 = new PropertyDescription(); pd17.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd17.PropertyName = "SheathAI"; pd17.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI)).ValueType.TypeForCurrentValue; pd17.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI); _outputs0_0.Add(pd17); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public DeltaLAIMaize() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 16; v1.Description = "final leaf number "; v1.Id = 0; v1.MaxValue = 20; v1.MinValue = 10; v1.Name = "Nfinal"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 7.5; v2.Description = " "; v2.Id = 0; v2.MaxValue = 10; v2.MinValue = 0; v2.Name = "plantDensity"; v2.Size = 1; v2.Units = " "; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd1.PropertyName = "DEF"; pd1.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.DEF)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.DEF); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd2.PropertyName = "cumulTTPHenoMaize"; pd2.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.cumulTTPHenoMaize)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.cumulTTPHenoMaize); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd3.PropertyName = "LER"; pd3.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.LER)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.LER); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd4.PropertyName = "deltaTTPhenoMaize"; pd4.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.deltaTTPhenoMaize)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.deltaTTPhenoMaize); _inputs0_0.Add(pd4); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd5.PropertyName = "leafLayerState"; pd5.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafStateList)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafStateList); _outputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd6.PropertyName = "isPrematurelyDying"; pd6.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isPrematurelyDying)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isPrematurelyDying); _outputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd7.PropertyName = "WaterLimitedPotDeltaAIList"; pd7.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.WaterLimitedPotDeltaAIList)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.WaterLimitedPotDeltaAIList); _outputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd8.PropertyName = "incDeltaAreaLimitSF"; pd8.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.incDeltaAreaLimitSF)).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.incDeltaAreaLimitSF); _outputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd9.PropertyName = "potentialIncDeltaArea"; pd9.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.potentialIncDeltaArea)).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.potentialIncDeltaArea); _outputs0_0.Add(pd9); PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd10.PropertyName = "WaterLimitedPotExposedDeltaAIList"; pd10.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.WaterLimitedPotExposedDeltaAIList)).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.WaterLimitedPotExposedDeltaAIList); _outputs0_0.Add(pd10); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public MaximumPotentialFinalLAI() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 5.69; v1.Description = "Number of leaves produced after floral initiation"; v1.Id = 0; v1.MaxValue = 50; v1.MinValue = 0; v1.Name = "NLL"; v1.Size = 1; v1.Units = "leaf"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 27.378; v2.Description = "Maximum potential surface area of the penultimate leaf lamina"; v2.Id = 0; v2.MaxValue = 100; v2.MinValue = 0; v2.Name = "AreaPL"; v2.Size = 1; v2.Units = "cm²/lamina"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 1.06; v3.Description = "Ratio of flag leaf to penultimate leaf lamina surface area"; v3.Id = 0; v3.MaxValue = 10; v3.MinValue = 0; v3.Name = "RatioFLPL"; v3.Size = 1; v3.Units = "dimensionless"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 9; v4.Description = "Potential surface area of the leaves produced before floral initiation"; v4.Id = 0; v4.MaxValue = 100; v4.MinValue = 0; v4.Name = "AreaSL"; v4.Size = 1; v4.Units = "cm²/lamina"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 1.83; v5.Description = "Potential surface area of the sheath of the leaves produced before floral initiation"; v5.Id = 0; v5.MaxValue = 100; v5.MinValue = 0; v5.Name = "AreaSS"; v5.Size = 1; v5.Units = "cm²/lamina"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v5); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd1.PropertyName = "newLeafHasAppeared"; pd1.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.newLeafHasAppeared); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd2.PropertyName = "leafNumber"; pd2.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd3.PropertyName = "roundedFinalLeafNumber"; pd3.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd4.PropertyName = "finalLeafNumber"; pd4.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd5.PropertyName = "leafTillerNumberArray"; pd5.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafTillerNumberArray)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafTillerNumberArray); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd6.PropertyName = "tilleringProfile"; pd6.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.tilleringProfile)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.tilleringProfile); _inputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd7.PropertyName = "phytonum"; pd7.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.phytonum)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.phytonum); _inputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd8.PropertyName = "index"; pd8.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.index)).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.index); _inputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState); pd9.PropertyName = "isSmallPhytomer"; pd9.PropertyType = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer)).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer); _inputs0_0.Add(pd9); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd10.PropertyName = "MaximumPotentialSheathAI"; pd10.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialSheathAI)).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialSheathAI); _outputs0_0.Add(pd10); PropertyDescription pd11 = new PropertyDescription(); pd11.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd11.PropertyName = "MaximumPotentialLaminaeAI"; pd11.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialLaminaeAI)).ValueType.TypeForCurrentValue; pd11.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialLaminaeAI); _outputs0_0.Add(pd11); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public calcInitTT() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 2; v1.Description = "number of leaves initiated at plant emergence"; v1.Id = 0; v1.MaxValue = 50; v1.MinValue = 0; v1.Name = "leafNoInitEmerg"; v1.Size = 1; v1.Units = "leaves"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0.1; v2.Description = "leaf initiation rate"; v2.Id = 0; v2.MaxValue = 10; v2.MinValue = 0; v2.Name = "LIR"; v2.Size = 1; v2.Units = "leaf/°Cd"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 28; v3.Description = "Thermal time of floral initiations of leaves created before emergence"; v3.Id = 0; v3.MaxValue = 150; v3.MinValue = 0; v3.Name = "ttinitflo"; v3.Size = 1; v3.Units = "°Cd"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd1.PropertyName = "previousLeafNumber"; pd1.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd2.PropertyName = "leafNumber"; pd2.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState); pd3.PropertyName = "newLeafHasAppeared"; pd3.PropertyType = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared); _inputs0_0.Add(pd3); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState); pd4.PropertyName = "initialisationTT"; pd4.PropertyType = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.initialisationTT)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.initialisationTT); _outputs0_0.Add(pd4); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public VernalizationProgress() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.0; v1.Description = "Minimum temperature for vernalization to occur"; v1.Id = 0; v1.MaxValue = 60; v1.MinValue = -20; v1.Name = "minTvern"; v1.Size = 1; v1.Units = "°C"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 11.0; v2.Description = "Intermediate temperature for vernalization to occur"; v2.Id = 0; v2.MaxValue = 60; v2.MinValue = -20; v2.Name = "intTvern"; v2.Size = 1; v2.Units = "°C"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0.015; v3.Description = "Response of vernalization rate to temperature"; v3.Id = 0; v3.MaxValue = 1; v3.MinValue = 0; v3.Name = "vAI"; v3.Size = 1; v3.Units = "d-1 °C-1"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 0.01; v4.Description = "Vernalization rate at 0°C"; v4.Id = 0; v4.MaxValue = 1; v4.MinValue = 0; v4.Name = "vBEE"; v4.Size = 1; v4.Units = "d-1"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 8.0; v5.Description = "Threshold daylength below which it does influence vernalization rate"; v5.Id = 0; v5.MaxValue = 24; v5.MinValue = 12; v5.Name = "minDL"; v5.Size = 1; v5.Units = "h"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v5); VarInfo v6 = new VarInfo(); v6.DefaultValue = 15.0; v6.Description = "Saturating photoperiod above which final leaf number is not influenced by daylength"; v6.Id = 0; v6.MaxValue = 24; v6.MinValue = 0; v6.Name = "maxDL"; v6.Size = 1; v6.Units = "h"; v6.URL = ""; v6.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v6.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v6); VarInfo v7 = new VarInfo(); v7.DefaultValue = 23.0; v7.Description = "Maximum temperature for vernalization to occur"; v7.Id = 0; v7.MaxValue = 60; v7.MinValue = -20; v7.Name = "maxTvern"; v7.Size = 1; v7.Units = "°C"; v7.URL = ""; v7.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v7.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v7); VarInfo v8 = new VarInfo(); v8.DefaultValue = 4.0; v8.Description = "Number of primorida in the apex at emergence"; v8.Id = 0; v8.MaxValue = 24; v8.MinValue = 0; v8.Name = "pNini"; v8.Size = 1; v8.Units = "primordia"; v8.URL = ""; v8.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v8.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v8); VarInfo v9 = new VarInfo(); v9.DefaultValue = 24.0; v9.Description = "Absolute maximum leaf number"; v9.Id = 0; v9.MaxValue = 25; v9.MinValue = 0; v9.Name = "aMXLFNO"; v9.Size = 1; v9.Units = "leaf"; v9.URL = ""; v9.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v9.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v9); VarInfo v10 = new VarInfo(); v10.DefaultValue = 1; v10.Description = "true if the plant is vernalizable"; v10.Id = 0; v10.MaxValue = 1; v10.MinValue = 0; v10.Name = "isVernalizable"; v10.Size = 1; v10.Units = ""; v10.URL = ""; v10.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v10.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v10); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary); pd1.PropertyName = "dayLength"; pd1.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.dayLength).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.dayLength); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary); pd2.PropertyName = "deltaTT"; pd2.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary); pd3.PropertyName = "cumulTT"; pd3.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd4.PropertyName = "leafNumber"; pd4.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd5.PropertyName = "calendarMoments"; pd5.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarMoments); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd6.PropertyName = "calendarDates"; pd6.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarDates); _inputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd7.PropertyName = "calendarCumuls"; pd7.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarCumuls); _inputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd8.PropertyName = "vernaprog"; pd8.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.vernaprog).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.vernaprog); _inputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary); pd9.PropertyName = "currentdate"; pd9.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate); _inputs0_0.Add(pd9); PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd10.PropertyName = "minFinalNumber"; pd10.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.minFinalNumber).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.minFinalNumber); _inputs0_0.Add(pd10); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd11 = new PropertyDescription(); pd11.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd11.PropertyName = "vernaprog"; pd11.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.vernaprog).ValueType.TypeForCurrentValue; pd11.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.vernaprog); _outputs0_0.Add(pd11); mo0_0.Outputs = _outputs0_0; PropertyDescription pd12 = new PropertyDescription(); pd12.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd12.PropertyName = "minFinalNumber"; pd12.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.minFinalNumber).ValueType.TypeForCurrentValue; pd12.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.minFinalNumber); _outputs0_0.Add(pd12); mo0_0.Outputs = _outputs0_0; PropertyDescription pd13 = new PropertyDescription(); pd13.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd13.PropertyName = "calendarMoments"; pd13.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue; pd13.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarMoments); _outputs0_0.Add(pd13); mo0_0.Outputs = _outputs0_0; PropertyDescription pd14 = new PropertyDescription(); pd14.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd14.PropertyName = "calendarDates"; pd14.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue; pd14.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarDates); _outputs0_0.Add(pd14); mo0_0.Outputs = _outputs0_0; PropertyDescription pd15 = new PropertyDescription(); pd15.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd15.PropertyName = "calendarCumuls"; pd15.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue; pd15.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.calendarCumuls); _outputs0_0.Add(pd15); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
/// <summary>Set VarInfo values</summary> static void DescribeVariables() { // _newLeafHasAppeared.Name = "newLeafHasAppeared"; _newLeafHasAppeared.Description = "0: if no leaf has appeared, 1 if a leaf has just appeared"; _newLeafHasAppeared.MaxValue = 1D; _newLeafHasAppeared.MinValue = 0D; _newLeafHasAppeared.DefaultValue = 0D; _newLeafHasAppeared.Units = "NA"; _newLeafHasAppeared.URL = "http://"; _newLeafHasAppeared.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _leafNumber.Name = "leafNumber"; _leafNumber.Description = "Number of emerged leaves on the main-stem"; _leafNumber.MaxValue = 20D; _leafNumber.MinValue = 0D; _leafNumber.DefaultValue = 0D; _leafNumber.Units = "leaf"; _leafNumber.URL = "http://"; _leafNumber.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _finalLeafNumber.Name = "finalLeafNumber"; _finalLeafNumber.Description = " Leaf numer at maturity"; _finalLeafNumber.MaxValue = 20D; _finalLeafNumber.MinValue = 0D; _finalLeafNumber.DefaultValue = 10D; _finalLeafNumber.Units = "leaf"; _finalLeafNumber.URL = "http://"; _finalLeafNumber.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _roundedFinalLeafNumber.Name = "roundedFinalLeafNumber"; _roundedFinalLeafNumber.Description = "rounded leaf number at maturity"; _roundedFinalLeafNumber.MaxValue = 20D; _roundedFinalLeafNumber.MinValue = 0D; _roundedFinalLeafNumber.DefaultValue = 10D; _roundedFinalLeafNumber.Units = "leaf"; _roundedFinalLeafNumber.URL = "http://"; _roundedFinalLeafNumber.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _phytonum.Name = "phytonum"; _phytonum.Description = "Number of leaf layer created"; _phytonum.MaxValue = 21D; _phytonum.MinValue = 1D; _phytonum.DefaultValue = 1D; _phytonum.Units = "-"; _phytonum.URL = "http://"; _phytonum.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _index.Name = "index"; _index.Description = "index of the last leaf layer created"; _index.MaxValue = 20D; _index.MinValue = 0D; _index.DefaultValue = 0D; _index.Units = "-"; _index.URL = "http://"; _index.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _MaximumPotentialLaminaeAI.Name = "MaximumPotentialLaminaeAI"; _MaximumPotentialLaminaeAI.Description = "Maximum allowed Lamina area index without stress effects"; _MaximumPotentialLaminaeAI.MaxValue = 100D; _MaximumPotentialLaminaeAI.MinValue = 0D; _MaximumPotentialLaminaeAI.DefaultValue = 0D; _MaximumPotentialLaminaeAI.Units = "m²/m²"; _MaximumPotentialLaminaeAI.URL = "http://"; _MaximumPotentialLaminaeAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _MaximumPotentialSheathAI.Name = "MaximumPotentialSheathAI"; _MaximumPotentialSheathAI.Description = "Maximum Sheat area index allowed without stress effect"; _MaximumPotentialSheathAI.MaxValue = 100D; _MaximumPotentialSheathAI.MinValue = 0D; _MaximumPotentialSheathAI.DefaultValue = 0D; _MaximumPotentialSheathAI.Units = "m²/m²"; _MaximumPotentialSheathAI.URL = "http://"; _MaximumPotentialSheathAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _FPAW.Name = "FPAW"; _FPAW.Description = "Fraction of plant available water"; _FPAW.MaxValue = 1D; _FPAW.MinValue = 0D; _FPAW.DefaultValue = 0.5D; _FPAW.Units = "dimensionless"; _FPAW.URL = "http://"; _FPAW.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _isPotentialLAI.Name = "isPotentialLAI"; _isPotentialLAI.Description = "0: no drought stress is applied, 1: drought stress is applied"; _isPotentialLAI.MaxValue = 1D; _isPotentialLAI.MinValue = 0D; _isPotentialLAI.DefaultValue = 0D; _isPotentialLAI.Units = "-"; _isPotentialLAI.URL = "http://"; _isPotentialLAI.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _VPDairCanopy.Name = "VPDairCanopy"; _VPDairCanopy.Description = "Vapour Pressur deficit Air-Canopy"; _VPDairCanopy.MaxValue = 100D; _VPDairCanopy.MinValue = 0D; _VPDairCanopy.DefaultValue = 0D; _VPDairCanopy.Units = "hPa"; _VPDairCanopy.URL = "http://"; _VPDairCanopy.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _DSF.Name = "DSF"; _DSF.Description = "drought senescence factor"; _DSF.MaxValue = 10D; _DSF.MinValue = 0D; _DSF.DefaultValue = 0D; _DSF.Units = "-"; _DSF.URL = "http://"; _DSF.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _DEF.Name = "DEF"; _DEF.Description = "drought expansion factor"; _DEF.MaxValue = 10D; _DEF.MinValue = 0D; _DEF.DefaultValue = 0D; _DEF.Units = "-"; _DEF.URL = "http://"; _DEF.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _cumulTTShoot.Name = "cumulTTShoot"; _cumulTTShoot.Description = "Cumulative Shoot thermal time"; _cumulTTShoot.MaxValue = 1000D; _cumulTTShoot.MinValue = 0D; _cumulTTShoot.DefaultValue = 0D; _cumulTTShoot.Units = "°C/d"; _cumulTTShoot.URL = "http://"; _cumulTTShoot.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _deltaTTShoot.Name = "deltaTTShoot"; _deltaTTShoot.Description = "Increas of shoot thermal time for the day"; _deltaTTShoot.MaxValue = 50D; _deltaTTShoot.MinValue = 0D; _deltaTTShoot.DefaultValue = 0D; _deltaTTShoot.Units = "°C/d"; _deltaTTShoot.URL = "http://"; _deltaTTShoot.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _deltaTTSenescence.Name = "deltaTTSenescence"; _deltaTTSenescence.Description = "Increase of senescence thermal time for the day"; _deltaTTSenescence.MaxValue = 50D; _deltaTTSenescence.MinValue = 0D; _deltaTTSenescence.DefaultValue = 0D; _deltaTTSenescence.Units = "°C/d"; _deltaTTSenescence.URL = "http://"; _deltaTTSenescence.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _incDeltaAreaLimitSF.Name = "incDeltaAreaLimitSF"; _incDeltaAreaLimitSF.Description = "Total daily increase of GAI under drought stress"; _incDeltaAreaLimitSF.MaxValue = 1D; _incDeltaAreaLimitSF.MinValue = 0D; _incDeltaAreaLimitSF.DefaultValue = 0D; _incDeltaAreaLimitSF.Units = "m²/m²"; _incDeltaAreaLimitSF.URL = "http://"; _incDeltaAreaLimitSF.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _WaterLimitedPotDeltaAIList.Name = "WaterLimitedPotDeltaAIList"; _WaterLimitedPotDeltaAIList.Description = "list on each phytomer for the potential daily increase of leaf layer"; _WaterLimitedPotDeltaAIList.MaxValue = 0D; _WaterLimitedPotDeltaAIList.MinValue = 0D; _WaterLimitedPotDeltaAIList.DefaultValue = 0D; _WaterLimitedPotDeltaAIList.Units = "m²/m²"; _WaterLimitedPotDeltaAIList.URL = "http://"; _WaterLimitedPotDeltaAIList.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _potentialIncDeltaArea.Name = "potentialIncDeltaArea"; _potentialIncDeltaArea.Description = "Total daily increase in GAI without stress"; _potentialIncDeltaArea.MaxValue = 10D; _potentialIncDeltaArea.MinValue = 0D; _potentialIncDeltaArea.DefaultValue = 0D; _potentialIncDeltaArea.Units = "m²/m²"; _potentialIncDeltaArea.URL = "http://"; _potentialIncDeltaArea.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _tilleringProfile.Name = "tilleringProfile"; _tilleringProfile.Description = "store the amount of new tiller created at each time a new tiller appears"; _tilleringProfile.MaxValue = 0D; _tilleringProfile.MinValue = 0D; _tilleringProfile.DefaultValue = 0D; _tilleringProfile.Units = "shoot/m²"; _tilleringProfile.URL = "http://"; _tilleringProfile.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _leafTillerNumberArray.Name = "leafTillerNumberArray"; _leafTillerNumberArray.Description = "store the number of tiller for each leaf layer"; _leafTillerNumberArray.MaxValue = 0D; _leafTillerNumberArray.MinValue = 0D; _leafTillerNumberArray.DefaultValue = 0D; _leafTillerNumberArray.Units = "shoot"; _leafTillerNumberArray.URL = "http://"; _leafTillerNumberArray.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _previousIndex.Name = "previousIndex"; _previousIndex.Description = "index of the leaf layer during the last call of the component"; _previousIndex.MaxValue = 20D; _previousIndex.MinValue = 0D; _previousIndex.DefaultValue = 0D; _previousIndex.Units = "dimensioonless"; _previousIndex.URL = "http://"; _previousIndex.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _TTgroSheathList.Name = "TTgroSheathList"; _TTgroSheathList.Description = "List of Thermal Time at end of the sheath growth"; _TTgroSheathList.MaxValue = 3000D; _TTgroSheathList.MinValue = 0D; _TTgroSheathList.DefaultValue = 0D; _TTgroSheathList.Units = "°Cd"; _TTgroSheathList.URL = "http://"; _TTgroSheathList.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _TT.Name = "TT"; _TT.Description = "List of Thermal times since emergence of this leaf Layer"; _TT.MaxValue = 3000D; _TT.MinValue = 0D; _TT.DefaultValue = 0D; _TT.Units = "°Cd"; _TT.URL = "http://"; _TT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _incDeltaArea.Name = "incDeltaArea"; _incDeltaArea.Description = "Actual increase in Area of the day"; _incDeltaArea.MaxValue = 1000D; _incDeltaArea.MinValue = 0D; _incDeltaArea.DefaultValue = 0D; _incDeltaArea.Units = "m²/m²"; _incDeltaArea.URL = "http://"; _incDeltaArea.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _availableN.Name = "availableN"; _availableN.Description = "Available Nitrogen of the day"; _availableN.MaxValue = 1000D; _availableN.MinValue = 0D; _availableN.DefaultValue = 10D; _availableN.Units = "g/m²"; _availableN.URL = "http://"; _availableN.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { minTvernVarInfo.Name = "minTvern"; minTvernVarInfo.Description = "Minimum temperature for vernalization to occur"; minTvernVarInfo.MaxValue = 60; minTvernVarInfo.MinValue = -20; minTvernVarInfo.DefaultValue = 0.0; minTvernVarInfo.Units = "°C"; minTvernVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); intTvernVarInfo.Name = "intTvern"; intTvernVarInfo.Description = "Intermediate temperature for vernalization to occur"; intTvernVarInfo.MaxValue = 60; intTvernVarInfo.MinValue = -20; intTvernVarInfo.DefaultValue = 11.0; intTvernVarInfo.Units = "°C"; intTvernVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); vAIVarInfo.Name = "vAI"; vAIVarInfo.Description = "Response of vernalization rate to temperature"; vAIVarInfo.MaxValue = 1; vAIVarInfo.MinValue = 0; vAIVarInfo.DefaultValue = 0.015; vAIVarInfo.Units = "d-1 °C-1"; vAIVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); vBEEVarInfo.Name = "vBEE"; vBEEVarInfo.Description = "Vernalization rate at 0°C"; vBEEVarInfo.MaxValue = 1; vBEEVarInfo.MinValue = 0; vBEEVarInfo.DefaultValue = 0.01; vBEEVarInfo.Units = "d-1"; vBEEVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); minDLVarInfo.Name = "minDL"; minDLVarInfo.Description = "Threshold daylength below which it does influence vernalization rate"; minDLVarInfo.MaxValue = 24; minDLVarInfo.MinValue = 12; minDLVarInfo.DefaultValue = 8.0; minDLVarInfo.Units = "h"; minDLVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); maxDLVarInfo.Name = "maxDL"; maxDLVarInfo.Description = "Saturating photoperiod above which final leaf number is not influenced by daylength"; maxDLVarInfo.MaxValue = 24; maxDLVarInfo.MinValue = 0; maxDLVarInfo.DefaultValue = 15.0; maxDLVarInfo.Units = "h"; maxDLVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); maxTvernVarInfo.Name = "maxTvern"; maxTvernVarInfo.Description = "Maximum temperature for vernalization to occur"; maxTvernVarInfo.MaxValue = 60; maxTvernVarInfo.MinValue = -20; maxTvernVarInfo.DefaultValue = 23.0; maxTvernVarInfo.Units = "°C"; maxTvernVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); pNiniVarInfo.Name = "pNini"; pNiniVarInfo.Description = "Number of primorida in the apex at emergence"; pNiniVarInfo.MaxValue = 24; pNiniVarInfo.MinValue = 0; pNiniVarInfo.DefaultValue = 4.0; pNiniVarInfo.Units = "primordia"; pNiniVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); aMXLFNOVarInfo.Name = "aMXLFNO"; aMXLFNOVarInfo.Description = "Absolute maximum leaf number"; aMXLFNOVarInfo.MaxValue = 25; aMXLFNOVarInfo.MinValue = 0; aMXLFNOVarInfo.DefaultValue = 24.0; aMXLFNOVarInfo.Units = "leaf"; aMXLFNOVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); isVernalizableVarInfo.Name = "isVernalizable"; isVernalizableVarInfo.Description = "true if the plant is vernalizable"; isVernalizableVarInfo.MaxValue = 1; isVernalizableVarInfo.MinValue = 0; isVernalizableVarInfo.DefaultValue = 1; isVernalizableVarInfo.Units = ""; isVernalizableVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); }
public CalculateGlobalAbsorbedRadiationHourly() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.45; v1.Description = "Extinction coefficient of PAR irradiance through the canopy (no distinction between direct and diffuse fractions)"; v1.Id = 0; v1.MaxValue = 10; v1.MinValue = 0; v1.Name = "Kl"; v1.Size = 1; v1.Units = "-"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous); pd1.PropertyName = "incidentDiffuseIrradiance"; pd1.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous); pd2.PropertyName = "incidentDirectIrradiance"; pd2.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd3.PropertyName = "layersGAI"; pd3.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI); _inputs0_0.Add(pd3); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Rates); pd4.PropertyName = "absorbedGlobalIrradiance"; pd4.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedGlobalIrradiance)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedGlobalIrradiance); _outputs0_0.Add(pd4); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
/// <summary>Set VarInfo values</summary> static void DescribeVariables() { // _deficitOnTopLayers.Name = "deficitOnTopLayers"; _deficitOnTopLayers.Description = "deficitOnTopLayers"; _deficitOnTopLayers.MaxValue = 100D; _deficitOnTopLayers.MinValue = 0D; _deficitOnTopLayers.DefaultValue = 50D; _deficitOnTopLayers.Units = "g.m-2.d-1"; _deficitOnTopLayers.URL = "http://"; _deficitOnTopLayers.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _minTair.Name = "minTair"; _minTair.Description = "minimum air temperature"; _minTair.MaxValue = 40D; _minTair.MinValue = -40D; _minTair.DefaultValue = 10D; _minTair.Units = "degree celsius"; _minTair.URL = "http://"; _minTair.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _maxTair.Name = "maxTair"; _maxTair.Description = "maximum air temperature"; _maxTair.MaxValue = 50D; _maxTair.MinValue = -30D; _maxTair.DefaultValue = 20D; _maxTair.Units = "degree celsius"; _maxTair.URL = "http://"; _maxTair.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _hourlyTemp.Name = "hourlyTemp"; _hourlyTemp.Description = "hourly temperature"; _hourlyTemp.MaxValue = 50D; _hourlyTemp.MinValue = -40D; _hourlyTemp.DefaultValue = 15D; _hourlyTemp.Units = "degree celsius"; _hourlyTemp.URL = "http://"; _hourlyTemp.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _solarRadiation.Name = "solarRadiation"; _solarRadiation.Description = "solarRadiation"; _solarRadiation.MaxValue = 1000D; _solarRadiation.MinValue = 0D; _solarRadiation.DefaultValue = 100D; _solarRadiation.Units = "MJ m-2 d-1"; _solarRadiation.URL = "http://"; _solarRadiation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _extraSolarRadiation.Name = "extraSolarRadiation"; _extraSolarRadiation.Description = "extra solar raidation"; _extraSolarRadiation.MaxValue = 1000D; _extraSolarRadiation.MinValue = 0D; _extraSolarRadiation.DefaultValue = 100D; _extraSolarRadiation.Units = "MJ m-2 d-1"; _extraSolarRadiation.URL = "http://"; _extraSolarRadiation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _vaporPressure.Name = "vaporPressure"; _vaporPressure.Description = "vapor pressure"; _vaporPressure.MaxValue = 1000D; _vaporPressure.MinValue = 0D; _vaporPressure.DefaultValue = 100D; _vaporPressure.Units = "P"; _vaporPressure.URL = "http://"; _vaporPressure.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _tau.Name = "tau"; _tau.Description = "tau"; _tau.MaxValue = 1D; _tau.MinValue = 0D; _tau.DefaultValue = 0.5D; _tau.Units = "dimensionless"; _tau.URL = "http://"; _tau.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _hslope.Name = "hslope"; _hslope.Description = "hslope"; _hslope.MaxValue = 20D; _hslope.MinValue = 0D; _hslope.DefaultValue = 10D; _hslope.Units = "dimensionless"; _hslope.URL = "http://"; _hslope.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _plantHeight.Name = "plantHeight"; _plantHeight.Description = "plant height"; _plantHeight.MaxValue = 1000D; _plantHeight.MinValue = 0D; _plantHeight.DefaultValue = 50D; _plantHeight.Units = "cm"; _plantHeight.URL = "http://"; _plantHeight.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _wind.Name = "wind"; _wind.Description = "wind"; _wind.MaxValue = 1000D; _wind.MinValue = 0D; _wind.DefaultValue = 100D; _wind.Units = "m-1"; _wind.URL = "http://"; _wind.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _VPDair.Name = "VPDair"; _VPDair.Description = "vpd"; _VPDair.MaxValue = 100D; _VPDair.MinValue = 0D; _VPDair.DefaultValue = 50D; _VPDair.Units = "hPa"; _VPDair.URL = "http://"; _VPDair.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _isWindVpDefined.Name = "isWindVpDefined"; _isWindVpDefined.Description = "isWindVpDefined"; _isWindVpDefined.MaxValue = 1D; _isWindVpDefined.MinValue = 0D; _isWindVpDefined.DefaultValue = 1D; _isWindVpDefined.Units = "dimensionless"; _isWindVpDefined.URL = "http://"; _isWindVpDefined.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); // _elevation.Name = "elevation"; _elevation.Description = "elevation"; _elevation.MaxValue = 1000D; _elevation.MinValue = 0D; _elevation.DefaultValue = 100D; _elevation.Units = "m"; _elevation.URL = "http://"; _elevation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _netRadiation.Name = "netRadiation"; _netRadiation.Description = "netRadiation"; _netRadiation.MaxValue = 100D; _netRadiation.MinValue = 0D; _netRadiation.DefaultValue = 50D; _netRadiation.Units = "MJ.m-2.d-1"; _netRadiation.URL = "http://"; _netRadiation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _diffusionLimitedEvaporation.Name = "diffusionLimitedEvaporation"; _diffusionLimitedEvaporation.Description = "diffusionLimitedEvaporation"; _diffusionLimitedEvaporation.MaxValue = 100D; _diffusionLimitedEvaporation.MinValue = 0D; _diffusionLimitedEvaporation.DefaultValue = 50D; _diffusionLimitedEvaporation.Units = "g m-2 d-1"; _diffusionLimitedEvaporation.URL = "http://"; _diffusionLimitedEvaporation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _energyLimitedEvaporation.Name = "energyLimitedEvaporation"; _energyLimitedEvaporation.Description = "energyLimitedEvaporation"; _energyLimitedEvaporation.MaxValue = 1000D; _energyLimitedEvaporation.MinValue = 0D; _energyLimitedEvaporation.DefaultValue = 500D; _energyLimitedEvaporation.Units = "g m-2 d-1"; _energyLimitedEvaporation.URL = "http://"; _energyLimitedEvaporation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _evapoTranspirationPriestlyTaylor.Name = "evapoTranspirationPriestlyTaylor"; _evapoTranspirationPriestlyTaylor.Description = "evapoTranspirationPriestlyTaylor"; _evapoTranspirationPriestlyTaylor.MaxValue = 50D; _evapoTranspirationPriestlyTaylor.MinValue = 0D; _evapoTranspirationPriestlyTaylor.DefaultValue = 30D; _evapoTranspirationPriestlyTaylor.Units = "g m-2 d-1"; _evapoTranspirationPriestlyTaylor.URL = "http://"; _evapoTranspirationPriestlyTaylor.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _evapoTranspirationPenman.Name = "evapoTranspirationPenman"; _evapoTranspirationPenman.Description = "evapoTranspirationPenman"; _evapoTranspirationPenman.MaxValue = 100D; _evapoTranspirationPenman.MinValue = 0D; _evapoTranspirationPenman.DefaultValue = 50D; _evapoTranspirationPenman.Units = "g m-2 d-1"; _evapoTranspirationPenman.URL = "http://"; _evapoTranspirationPenman.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _potentialTranspiration.Name = "potentialTranspiration"; _potentialTranspiration.Description = "potentialTranspiration"; _potentialTranspiration.MaxValue = 100D; _potentialTranspiration.MinValue = 0D; _potentialTranspiration.DefaultValue = 50D; _potentialTranspiration.Units = "g m-2 d-1"; _potentialTranspiration.URL = "http://"; _potentialTranspiration.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _conductance.Name = "conductance"; _conductance.Description = "conductance"; _conductance.MaxValue = 100D; _conductance.MinValue = 0D; _conductance.DefaultValue = 50D; _conductance.Units = "m d-1"; _conductance.URL = "http://"; _conductance.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _soilEvaporation.Name = "soilEvaporation"; _soilEvaporation.Description = "soilEvaporation"; _soilEvaporation.MaxValue = 100D; _soilEvaporation.MinValue = 0D; _soilEvaporation.DefaultValue = 50D; _soilEvaporation.Units = "g m-2 d-1"; _soilEvaporation.URL = "http://"; _soilEvaporation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _potentialEvapoTranspiration.Name = "potentialEvapoTranspiration"; _potentialEvapoTranspiration.Description = "PotentialEvapoTranspiration"; _potentialEvapoTranspiration.MaxValue = 100D; _potentialEvapoTranspiration.MinValue = 0D; _potentialEvapoTranspiration.DefaultValue = 50D; _potentialEvapoTranspiration.Units = "g m-2 d-1"; _potentialEvapoTranspiration.URL = "http://"; _potentialEvapoTranspiration.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _soilHeatFlux.Name = "soilHeatFlux"; _soilHeatFlux.Description = "soilHeatFlux"; _soilHeatFlux.MaxValue = 100D; _soilHeatFlux.MinValue = 0D; _soilHeatFlux.DefaultValue = 50D; _soilHeatFlux.Units = "g m-2 d-1"; _soilHeatFlux.URL = "http://"; _soilHeatFlux.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _cropHeatFlux.Name = "cropHeatFlux"; _cropHeatFlux.Description = "cropHeatFlux"; _cropHeatFlux.MaxValue = 100D; _cropHeatFlux.MinValue = 0D; _cropHeatFlux.DefaultValue = 50D; _cropHeatFlux.Units = "g m-2 d-1"; _cropHeatFlux.URL = "http://"; _cropHeatFlux.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _minCanopyTemperature.Name = "minCanopyTemperature"; _minCanopyTemperature.Description = "minCanopyTemperature"; _minCanopyTemperature.MaxValue = 50D; _minCanopyTemperature.MinValue = -30D; _minCanopyTemperature.DefaultValue = 10D; _minCanopyTemperature.Units = "degree celsius"; _minCanopyTemperature.URL = "http://"; _minCanopyTemperature.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _maxCanopyTemperature.Name = "maxCanopyTemperature"; _maxCanopyTemperature.Description = "maxCanopyTemperature"; _maxCanopyTemperature.MaxValue = 50D; _maxCanopyTemperature.MinValue = -30D; _maxCanopyTemperature.DefaultValue = 10D; _maxCanopyTemperature.Units = "degree celsius"; _maxCanopyTemperature.URL = "http://"; _maxCanopyTemperature.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _hourlyCanopyTemperature.Name = "hourlyCanopyTemperature"; _hourlyCanopyTemperature.Description = "hourlyCanopyTemperature (maize)"; _hourlyCanopyTemperature.MaxValue = 50D; _hourlyCanopyTemperature.MinValue = -30D; _hourlyCanopyTemperature.DefaultValue = 10D; _hourlyCanopyTemperature.Units = "degree celsius"; _hourlyCanopyTemperature.URL = "http://"; _hourlyCanopyTemperature.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _evapoTranspiration.Name = "evapoTranspiration"; _evapoTranspiration.Description = "evapoTranspiration"; _evapoTranspiration.MaxValue = 50D; _evapoTranspiration.MinValue = -30D; _evapoTranspiration.DefaultValue = 10D; _evapoTranspiration.Units = "g.m-2.d-1"; _evapoTranspiration.URL = "http://"; _evapoTranspiration.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _hourlyVPDair.Name = "hourlyVPDair"; _hourlyVPDair.Description = "hourlyVPDair (maize)"; _hourlyVPDair.MaxValue = 100D; _hourlyVPDair.MinValue = 0D; _hourlyVPDair.DefaultValue = 50D; _hourlyVPDair.Units = "hPa"; _hourlyVPDair.URL = "http://"; _hourlyVPDair.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _hourlySolarRadiation.Name = "hourlySolarRadiation"; _hourlySolarRadiation.Description = "hourlySolarRadiation( maize)"; _hourlySolarRadiation.MaxValue = 1000D; _hourlySolarRadiation.MinValue = 0D; _hourlySolarRadiation.DefaultValue = 100D; _hourlySolarRadiation.Units = "MJ m-2 d-1"; _hourlySolarRadiation.URL = "http://"; _hourlySolarRadiation.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _wc3cm.Name = "wc3cm"; _wc3cm.Description = "water cotent in the first 3 cm"; _wc3cm.MaxValue = 100D; _wc3cm.MinValue = 0D; _wc3cm.DefaultValue = 50D; _wc3cm.Units = "mm"; _wc3cm.URL = "http://"; _wc3cm.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _Ntip.Name = "Ntip"; _Ntip.Description = "number of leaves (tip) (maize)"; _Ntip.MaxValue = 30D; _Ntip.MinValue = 0D; _Ntip.DefaultValue = 15D; _Ntip.Units = "leaf"; _Ntip.URL = "http://"; _Ntip.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _netRadiationEquivalentEvaporation.Name = "netRadiationEquivalentEvaporation"; _netRadiationEquivalentEvaporation.Description = "netRadiationEquivalentEvaporation"; _netRadiationEquivalentEvaporation.MaxValue = 100D; _netRadiationEquivalentEvaporation.MinValue = 0D; _netRadiationEquivalentEvaporation.DefaultValue = 50D; _netRadiationEquivalentEvaporation.Units = "?"; _netRadiationEquivalentEvaporation.URL = "http://"; _netRadiationEquivalentEvaporation.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _RH.Name = "RH"; _RH.Description = "hourly relative humidity"; _RH.MaxValue = 100D; _RH.MinValue = 0D; _RH.DefaultValue = 10D; _RH.Units = "%"; _RH.URL = "http://"; _RH.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _hourlyVPDairLeaf.Name = "hourlyVPDairLeaf"; _hourlyVPDairLeaf.Description = "hourlyVPDairLEaf (maize)"; _hourlyVPDairLeaf.MaxValue = 100D; _hourlyVPDairLeaf.MinValue = 0D; _hourlyVPDairLeaf.DefaultValue = 50D; _hourlyVPDairLeaf.Units = "hPa"; _hourlyVPDairLeaf.URL = "http://"; _hourlyVPDairLeaf.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); // _VPDeq.Name = "VPDeq"; _VPDeq.Description = "VPDeq (maize)"; _VPDeq.MaxValue = 100D; _VPDeq.MinValue = 0D; _VPDeq.DefaultValue = 50D; _VPDeq.Units = "hPa"; _VPDeq.URL = "http://"; _VPDeq.ValueType = VarInfoValueTypes.GetInstanceForName("ArrayDouble"); }
public CalculateMeanAngle() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.806; v1.Description = "Mean leaf angle for a ellipsoidal distribution during at terminal spikelet (GS30)"; v1.Id = 0; v1.MaxValue = 7; v1.MinValue = 0; v1.Name = "alaJuv"; v1.Size = 1; v1.Units = "rd"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 1.216; v2.Description = "Mean leaf angle for a ellipsoidal distribution at flag leaf ligule (GS39)"; v2.Id = 0; v2.MaxValue = 7; v2.MinValue = 0; v2.Name = "alaMat"; v2.Size = 1; v2.Units = "rd"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd1.PropertyName = "cumulTT"; pd1.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.cumulTT)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.cumulTT); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd2.PropertyName = "flagLeafLiguleTT"; pd2.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.flagLeafLiguleTT)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.flagLeafLiguleTT); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd3.PropertyName = "FLN"; pd3.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.FLN)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.FLN); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd4.PropertyName = "HS"; pd4.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.HS)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.HS); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd5.PropertyName = "Phyll"; pd5.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.Phyll)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.Phyll); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd6.PropertyName = "termSpikletTT"; pd6.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.termSpikletTT)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.termSpikletTT); _inputs0_0.Add(pd6); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd7.PropertyName = "ala"; pd7.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala); _outputs0_0.Add(pd7); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public Ptsoil() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1.5; v1.Description = "Priestley-Taylor evapotranspiration proportionality constant"; v1.Id = 0; v1.MaxValue = 100; v1.MinValue = 0; v1.Name = "Alpha"; v1.Size = 1; v1.Units = ""; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0.9983; v2.Description = "plant cover factor"; v2.Id = 0; v2.MaxValue = 100; v2.MinValue = 0; v2.Name = "tau"; v2.Size = 1; v2.Units = ""; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0.3; v3.Description = "Fraction of the total net radiation exchanged at the soil surface when AlpaE = 1"; v3.Id = 0; v3.MaxValue = 1; v3.MinValue = 0; v3.Name = "tauAlpha"; v3.Size = 1; v3.Units = ""; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceRate); pd1.PropertyName = "evapoTranspirationPriestlyTaylor"; pd1.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPriestlyTaylor).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPriestlyTaylor); _inputs0_0.Add(pd1); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd2.PropertyName = "energyLimitedEvaporation"; pd2.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.energyLimitedEvaporation).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.energyLimitedEvaporation); _outputs0_0.Add(pd2); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public PhylSowingDateCorrection() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1; v1.Description = "Day of Year at sowing"; v1.Id = 0; v1.MaxValue = 365; v1.MinValue = 1; v1.Name = "sowingDay"; v1.Size = 1; v1.Units = "d"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0.0; v2.Description = "Latitude"; v2.Id = 0; v2.MaxValue = 90; v2.MinValue = -90; v2.Name = "latitude"; v2.Size = 1; v2.Units = "°"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 1.0; v3.Description = "Sowing date at which Phyllochrone is maximum in southern hemispher"; v3.Id = 0; v3.MaxValue = 365; v3.MinValue = 1; v3.Name = "sDsa_sh"; v3.Size = 1; v3.Units = "d"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 0; v4.Description = "Rate of change of Phyllochrone with sowing date"; v4.Id = 0; v4.MaxValue = 365; v4.MinValue = 0; v4.Name = "rp"; v4.Size = 1; v4.Units = "d-1"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 1; v5.Description = "Sowing date at which Phyllochrone is minimum"; v5.Id = 0; v5.MaxValue = 365; v5.MinValue = 1; v5.Name = "sDws"; v5.Size = 1; v5.Units = "d"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v5); VarInfo v6 = new VarInfo(); v6.DefaultValue = 1.0; v6.Description = "Sowing date at which Phyllochrone is maximum in northern hemispher"; v6.Id = 0; v6.MaxValue = 365; v6.MinValue = 1; v6.Name = "sDsa_nh"; v6.Size = 1; v6.Units = "d"; v6.URL = ""; v6.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v6.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v6); VarInfo v7 = new VarInfo(); v7.DefaultValue = 120; v7.Description = "Phyllochron (Varietal parameter)"; v7.Id = 0; v7.MaxValue = 1000; v7.MinValue = 0; v7.Name = "p"; v7.Size = 1; v7.Units = "°C d leaf-1"; v7.URL = ""; v7.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v7.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v7); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary); pd1.PropertyName = "fixPhyll"; pd1.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll); _outputs0_0.Add(pd1); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public RegisterZadok() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 300.0; v1.Description = "Duration of the endosperm endoreduplication phase"; v1.Id = 0; v1.MaxValue = 10000; v1.MinValue = 0; v1.Name = "der"; v1.Size = 1; v1.Units = "°C d"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0.9; v2.Description = "Slope of the relationship between Haun stage at terminal spikelet and final leaf number"; v2.Id = 0; v2.MaxValue = 10000; v2.MinValue = 0; v2.Name = "slopeTSFLN"; v2.Size = 1; v2.Units = ""; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 2.6; v3.Description = "Intercept of the relationship between Haun stage at terminal spikelet and final leaf number"; v3.Id = 0; v3.MaxValue = 10000; v3.MinValue = 0; v3.Name = "intTSFLN"; v3.Size = 1; v3.Units = ""; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary); pd1.PropertyName = "cumulTT"; pd1.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd2.PropertyName = "phase"; pd2.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd3.PropertyName = "leafNumber"; pd3.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd4.PropertyName = "calendarMoments"; pd4.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd5.PropertyName = "calendarDates"; pd5.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates); _inputs0_0.Add(pd5); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd6.PropertyName = "calendarCumuls"; pd6.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls); _inputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary); pd7.PropertyName = "cumulTTFromZC_65"; pd7.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTTFromZC_65).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTTFromZC_65); _inputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary); pd8.PropertyName = "currentdate"; pd8.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate); _inputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd9.PropertyName = "finalLeafNumber"; pd9.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber); _inputs0_0.Add(pd9); PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd10.PropertyName = "currentZadokStage"; pd10.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage); _inputs0_0.Add(pd10); PropertyDescription pd11 = new PropertyDescription(); pd11.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd11.PropertyName = "hasZadokStageChanged"; pd11.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged).ValueType.TypeForCurrentValue; pd11.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged); _inputs0_0.Add(pd11); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd12 = new PropertyDescription(); pd12.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd12.PropertyName = "hasZadokStageChanged"; pd12.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged).ValueType.TypeForCurrentValue; pd12.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged); _outputs0_0.Add(pd12); mo0_0.Outputs = _outputs0_0; PropertyDescription pd13 = new PropertyDescription(); pd13.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd13.PropertyName = "currentZadokStage"; pd13.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage).ValueType.TypeForCurrentValue; pd13.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage); _outputs0_0.Add(pd13); mo0_0.Outputs = _outputs0_0; PropertyDescription pd14 = new PropertyDescription(); pd14.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd14.PropertyName = "calendarMoments"; pd14.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue; pd14.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments); _outputs0_0.Add(pd14); mo0_0.Outputs = _outputs0_0; PropertyDescription pd15 = new PropertyDescription(); pd15.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd15.PropertyName = "calendarDates"; pd15.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue; pd15.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates); _outputs0_0.Add(pd15); mo0_0.Outputs = _outputs0_0; PropertyDescription pd16 = new PropertyDescription(); pd16.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd16.PropertyName = "calendarCumuls"; pd16.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue; pd16.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls); _outputs0_0.Add(pd16); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public LeafExpansionDroughtFactor() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.1; v1.Description = "Fraction of plant available water below which the rate of leaf expansion equals zer"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "LowerFPAWexp"; v1.Size = 1; v1.Units = "dimensionless"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 0.5; v2.Description = "Fraction of plant available water threshold below which the rate of leaf expansion starts to decrease"; v2.Id = 0; v2.MaxValue = 1; v2.MinValue = 0; v2.Name = "UpperFPAWexp"; v2.Size = 1; v2.Units = "dimensionless"; v2.URL = ""; v2.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 4.5; v3.Description = "Maximum rate of acceleration of leaf senescence in response to soil water deficit"; v3.Id = 0; v3.MaxValue = 100; v3.MinValue = 0; v3.Name = "MaxDSF"; v3.Size = 1; v3.Units = "dimensionless"; v3.URL = ""; v3.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v3.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v3); VarInfo v4 = new VarInfo(); v4.DefaultValue = 0.1; v4.Description = "Fraction of plant available water value below which DSFmax is reached"; v4.Id = 0; v4.MaxValue = 1; v4.MinValue = 0; v4.Name = "LowerFPAWsen"; v4.Size = 1; v4.Units = "dimensionless"; v4.URL = ""; v4.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v4.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v4); VarInfo v5 = new VarInfo(); v5.DefaultValue = 0.4; v5.Description = "Fraction of plant available water threshold below which the rate of leaf senescence starts to accelerate"; v5.Id = 0; v5.MaxValue = 1; v5.MinValue = 0; v5.Name = "UpperFPAWsen"; v5.Size = 1; v5.Units = "dimensionless"; v5.URL = ""; v5.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v5.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v5); VarInfo v6 = new VarInfo(); v6.DefaultValue = 45; v6.Description = "Canopy-to-air VPD below which the rate of leaf expansion equals zero and the rate of leaf senescence is maximum"; v6.Id = 0; v6.MaxValue = 100; v6.MinValue = 0; v6.Name = "UpperVPD"; v6.Size = 1; v6.Units = "hPa"; v6.URL = ""; v6.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v6.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v6); VarInfo v7 = new VarInfo(); v7.DefaultValue = 15; v7.Description = "Canopy-to-air VPD threshold above which the rate of leaf expansion strats to decreaseand the rate of leaf senescence starts to increase"; v7.Id = 0; v7.MaxValue = 100; v7.MinValue = 0; v7.Name = "LowerVPD"; v7.Size = 1; v7.Units = "hPa"; v7.URL = ""; v7.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v7.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v7); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd1.PropertyName = "FPAW"; pd1.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.FPAW)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.FPAW); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd2.PropertyName = "isPotentialLAI"; pd2.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPotentialLAI)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPotentialLAI); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd3.PropertyName = "VPDairCanopy"; pd3.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.VPDairCanopy)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.VPDairCanopy); _inputs0_0.Add(pd3); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd4.PropertyName = "DSF"; pd4.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF); _outputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd5.PropertyName = "DEF"; pd5.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.DEF)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.DEF); _outputs0_0.Add(pd5); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }