private static void SetStaticParametersVarInfoDefinitions() { tTWindowForPTQVarInfo.Name = "tTWindowForPTQ"; tTWindowForPTQVarInfo.Description = "Thermal time window in which averages are computed"; tTWindowForPTQVarInfo.MaxValue = 70000.0; tTWindowForPTQVarInfo.MinValue = 0.0; tTWindowForPTQVarInfo.DefaultValue = 70.0; tTWindowForPTQVarInfo.Units = "°C d"; tTWindowForPTQVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); klVarInfo.Name = "kl"; klVarInfo.Description = "Exctinction Coefficient"; klVarInfo.MaxValue = 50.0; klVarInfo.MinValue = 0.0; klVarInfo.DefaultValue = 0.45; klVarInfo.Units = ""; klVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { psychrometricConstantVarInfo.Name = "psychrometricConstant"; psychrometricConstantVarInfo.Description = "psychrometric constant"; psychrometricConstantVarInfo.MaxValue = 1; psychrometricConstantVarInfo.MinValue = 0; psychrometricConstantVarInfo.DefaultValue = 0.66; psychrometricConstantVarInfo.Units = ""; psychrometricConstantVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); AlphaVarInfo.Name = "Alpha"; AlphaVarInfo.Description = "Priestley-Taylor evapotranspiration proportionality constant"; AlphaVarInfo.MaxValue = 100; AlphaVarInfo.MinValue = 0; AlphaVarInfo.DefaultValue = 1.5; AlphaVarInfo.Units = ""; AlphaVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { TmfVarInfo.Name = "Tmf"; TmfVarInfo.Description = "threshold temperature for snow melting "; TmfVarInfo.MaxValue = 5000.0; TmfVarInfo.MinValue = 0.0; TmfVarInfo.DefaultValue = 0.0; TmfVarInfo.Units = "degC"; TmfVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); SWrfVarInfo.Name = "SWrf"; SWrfVarInfo.Description = "degree-day temperature index for refreezing"; SWrfVarInfo.MaxValue = 5000.0; SWrfVarInfo.MinValue = 0.0; SWrfVarInfo.DefaultValue = 0.0; SWrfVarInfo.Units = "mmW/degC/d"; SWrfVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { EVarInfo.Name = "E"; EVarInfo.Description = "snow compaction parameter"; EVarInfo.MaxValue =; EVarInfo.MinValue =; EVarInfo.DefaultValue = 0.0; EVarInfo.Units = "mm/mm/d"; EVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); rhoVarInfo.Name = "rho"; rhoVarInfo.Description = "The density of the new snow fixed by the user"; rhoVarInfo.MaxValue =; rhoVarInfo.MinValue =; rhoVarInfo.DefaultValue = 100; rhoVarInfo.Units = "kg/m**3"; rhoVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { sowingDensityVarInfo.Name = "sowingDensity"; sowingDensityVarInfo.Description = "number of plant /m²"; sowingDensityVarInfo.MaxValue = 500; sowingDensityVarInfo.MinValue = 0; sowingDensityVarInfo.DefaultValue = 288.0; sowingDensityVarInfo.Units = "plant m-2"; sowingDensityVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); targetFertileShootVarInfo.Name = "targetFertileShoot"; targetFertileShootVarInfo.Description = "max value of shoot number for the canopy"; targetFertileShootVarInfo.MaxValue = 1000; targetFertileShootVarInfo.MinValue = 280; targetFertileShootVarInfo.DefaultValue = 600.0; targetFertileShootVarInfo.Units = "shoot"; targetFertileShootVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
public Netradiationequivalentevaporation() { 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-1"; v1.URL = ""; v % s.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(SiriusQualityEnergybalance.EnergybalanceState); pd1.PropertyName = "netRadiation"; pd1.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceStateVarInfo.netRadiation)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceStateVarInfo.netRadiation); _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.EnergybalanceAuxiliary); pd2.PropertyName = "netRadiationEquivalentEvaporation"; pd2.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netRadiationEquivalentEvaporation)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netRadiationEquivalentEvaporation); _outputs0_0.Add(pd2); mo0_0.Outputs = _outputs0_0; }
static void DescribeVariables() { _jul.Name = "jul"; _jul.Description = "current day of year for the calculation"; _jul.MaxValue = 366; _jul.MinValue = 0; _jul.DefaultValue = 0; _jul.Units = "d"; _jul.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _tmin.Name = "tmin"; _tmin.Description = "current minimum air temperature"; _tmin.MaxValue = 100.0; _tmin.MinValue = 0.0; _tmin.DefaultValue = 0.0; _tmin.Units = "degC"; _tmin.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _tmax.Name = "tmax"; _tmax.Description = "current maximum air temperature"; _tmax.MaxValue = 100.0; _tmax.MinValue = 0.0; _tmax.DefaultValue = 0.0; _tmax.Units = "degC"; _tmax.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _precip.Name = "precip"; _precip.Description = "current precipitation"; _precip.MaxValue = 5000.0; _precip.MinValue = 0.0; _precip.DefaultValue = 0.0; _precip.Units = "mmW"; _precip.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _tavg.Name = "tavg"; _tavg.Description = "mean temperature"; _tavg.MaxValue = 500.0; _tavg.MinValue = 0.0; _tavg.DefaultValue = -1D; _tavg.Units = "degC"; _tavg.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
public Potentialtranspiration() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.9983; v1.Description = "plant cover factor"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "tau"; v1.Size = 1; v1.Units = ""; v1.URL = ""; v % s.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(SiriusQualityEnergybalance.EnergybalanceRate); pd1.PropertyName = "evapoTranspiration"; pd1.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceRateVarInfo.evapoTranspiration)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceRateVarInfo.evapoTranspiration); _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.EnergybalanceRate); pd2.PropertyName = "potentialTranspiration"; pd2.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceRateVarInfo.potentialTranspiration)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceRateVarInfo.potentialTranspiration); _outputs0_0.Add(pd2); mo0_0.Outputs = _outputs0_0; }
public Diffusionlimitedevaporation() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 4.2; v1.Description = "soil Diffusion Constant"; v1.Id = 0; v1.MaxValue = 10; v1.MinValue = 0; v1.Name = "soilDiffusionConstant"; v1.Size = 1; v1.Units = ""; v1.URL = ""; v % s.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(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd1.PropertyName = "deficitOnTopLayers"; pd1.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.deficitOnTopLayers)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.deficitOnTopLayers); _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.EnergybalanceState); pd2.PropertyName = "diffusionLimitedEvaporation"; pd2.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceStateVarInfo.diffusionLimitedEvaporation)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceStateVarInfo.diffusionLimitedEvaporation); _outputs0_0.Add(pd2); mo0_0.Outputs = _outputs0_0; }
private static void SetStaticParametersVarInfoDefinitions() { vonKarmanVarInfo.Name = "vonKarman"; vonKarmanVarInfo.Description = "von Karman constant"; vonKarmanVarInfo.MaxValue = 1; vonKarmanVarInfo.MinValue = 0; vonKarmanVarInfo.DefaultValue = 0.42; vonKarmanVarInfo.Units = "dimensionless"; vonKarmanVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); heightWeatherMeasurementsVarInfo.Name = "heightWeatherMeasurements"; heightWeatherMeasurementsVarInfo.Description = "reference height of wind and humidity measurements"; heightWeatherMeasurementsVarInfo.MaxValue = 10; heightWeatherMeasurementsVarInfo.MinValue = 0; heightWeatherMeasurementsVarInfo.DefaultValue = 2; heightWeatherMeasurementsVarInfo.Units = "m"; heightWeatherMeasurementsVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); zmVarInfo.Name = "zm"; zmVarInfo.Description = "roughness length governing momentum transfer, FAO"; zmVarInfo.MaxValue = 1; zmVarInfo.MinValue = 0; zmVarInfo.DefaultValue = 0.13; zmVarInfo.Units = "m"; zmVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); zhVarInfo.Name = "zh"; zhVarInfo.Description = "roughness length governing transfer of heat and vapour, FAO"; zhVarInfo.MaxValue = 1; zhVarInfo.MinValue = 0; zhVarInfo.DefaultValue = 0.013; zhVarInfo.Units = "m"; zhVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); dVarInfo.Name = "d"; dVarInfo.Description = "corresponding to 2/3. This is multiplied to the crop heigth for calculating the zero plane displacement height, FAO"; dVarInfo.MaxValue = 1; dVarInfo.MinValue = 0; dVarInfo.DefaultValue = 0.67; dVarInfo.Units = "dimensionless"; dVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
private static void SetStaticParametersVarInfoDefinitions() { psychrometricConstantVarInfo.Name = "psychrometricConstant"; psychrometricConstantVarInfo.Description = "psychrometric constant"; psychrometricConstantVarInfo.MaxValue = 1; psychrometricConstantVarInfo.MinValue = 0; psychrometricConstantVarInfo.DefaultValue = 0.66; psychrometricConstantVarInfo.Units = "hPa/degC"; psychrometricConstantVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); AlphaVarInfo.Name = "Alpha"; AlphaVarInfo.Description = "Priestley-Taylor evapotranspiration proportionality constant"; AlphaVarInfo.MaxValue = 100; AlphaVarInfo.MinValue = 0; AlphaVarInfo.DefaultValue = 1.5; AlphaVarInfo.Units = ""; AlphaVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); lambdaVVarInfo.Name = "lambdaV"; lambdaVVarInfo.Description = "latent heat of vaporization of water"; lambdaVVarInfo.MaxValue = 10; lambdaVVarInfo.MinValue = 0; lambdaVVarInfo.DefaultValue = 2.454; lambdaVVarInfo.Units = "MJ/kg"; lambdaVVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); rhoDensityAirVarInfo.Name = "rhoDensityAir"; rhoDensityAirVarInfo.Description = "Density of air"; rhoDensityAirVarInfo.MaxValue = 1.225; rhoDensityAirVarInfo.MinValue = 1.225; rhoDensityAirVarInfo.DefaultValue = 1.225; rhoDensityAirVarInfo.Units = "kg/m**3"; rhoDensityAirVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); specificHeatCapacityAirVarInfo.Name = "specificHeatCapacityAir"; specificHeatCapacityAirVarInfo.Description = "Specific heat capacity of dry air"; specificHeatCapacityAirVarInfo.MaxValue = 1; specificHeatCapacityAirVarInfo.MinValue = 0; specificHeatCapacityAirVarInfo.DefaultValue = 0.00101; specificHeatCapacityAirVarInfo.Units = "(MJ/kg)/degC"; specificHeatCapacityAirVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
public Conductance() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.42; v1.Description = "von Karman constant"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "vonKarman"; v1.Size = 1; v1.Units = "dimensionless"; 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 = 2; v2.Description = "reference height of wind and humidity measurements"; v2.Id = 0; v2.MaxValue = 10; v2.MinValue = 0; v2.Name = "heightWeatherMeasurements"; v2.Size = 1; v2.Units = "m"; 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.13; v3.Description = "roughness length governing momentum transfer, FAO"; v3.Id = 0; v3.MaxValue = 1; v3.MinValue = 0; v3.Name = "zm"; v3.Size = 1; v3.Units = "m"; 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.013; v4.Description = "roughness length governing transfer of heat and vapour, FAO"; v4.Id = 0; v4.MaxValue = 1; v4.MinValue = 0; v4.Name = "zh"; v4.Size = 1; v4.Units = "m"; 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.67; v5.Description = "corresponding to 2/3. This is multiplied to the crop heigth for calculating the zero plane displacement height, FAO"; v5.Id = 0; v5.MaxValue = 1; v5.MinValue = 0; v5.Name = "d"; v5.Size = 1; v5.Units = "dimensionless"; 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.EnergybalanceAuxiliary); pd1.PropertyName = "plantHeight"; pd1.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.plantHeight).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.plantHeight); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd2.PropertyName = "wind"; pd2.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.wind).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.wind); _inputs0_0.Add(pd2); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceState); pd3.PropertyName = "conductance"; pd3.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance); _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 CalculatePtSoil() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1; v1.Description = "Priestley-Taylor evapotranspiration proportionality constant"; v1.Id = 0; v1.MaxValue = 100; v1.MinValue = 0; v1.Name = "Alpha"; 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 = 1; v2.Description = "Fraction of the total net radiation exchanged at the soil surface when AlpaE = 1"; v2.Id = 0; v2.MaxValue = 100; v2.MinValue = 0; v2.Name = "tauAlpha"; 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); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd1.PropertyName = "tau"; pd1.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.tau)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.tau); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd2.PropertyName = "evapoTranspirationPriestlyTaylor"; pd2.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.evapoTranspirationPriestlyTaylor)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.evapoTranspirationPriestlyTaylor); _inputs0_0.Add(pd2); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd3.PropertyName = "energyLimitedEvaporation"; pd3.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.energyLimitedEvaporation)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.energyLimitedEvaporation); _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(); }
private static void SetStaticParametersVarInfoDefinitions() { lincrVarInfo.Name = "lincr"; lincrVarInfo.Description = "Leaf number above which the phyllochron is increased by Pincr"; lincrVarInfo.MaxValue = 30.0; lincrVarInfo.MinValue = 0.0; lincrVarInfo.DefaultValue = 8.0; lincrVarInfo.Units = "leaf"; lincrVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); ldecrVarInfo.Name = "ldecr"; ldecrVarInfo.Description = "Leaf number up to which the phyllochron is decreased by Pdecr"; ldecrVarInfo.MaxValue = 100.0; ldecrVarInfo.MinValue = 0.0; ldecrVarInfo.DefaultValue = 0.0; ldecrVarInfo.Units = "leaf"; ldecrVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); pdecrVarInfo.Name = "pdecr"; pdecrVarInfo.Description = "Factor decreasing the phyllochron for leaf number less than Ldecr"; pdecrVarInfo.MaxValue = 10.0; pdecrVarInfo.MinValue = 0.0; pdecrVarInfo.DefaultValue = 0.4; pdecrVarInfo.Units = "-"; pdecrVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); pincrVarInfo.Name = "pincr"; pincrVarInfo.Description = "Factor increasing the phyllochron for leaf number higher than Lincr"; pincrVarInfo.MaxValue = 10.0; pincrVarInfo.MinValue = 0.0; pincrVarInfo.DefaultValue = 1.5; pincrVarInfo.Units = "-"; pincrVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); klVarInfo.Name = "kl"; klVarInfo.Description = "Exctinction Coefficient"; klVarInfo.MaxValue = 50.0; klVarInfo.MinValue = 0.0; klVarInfo.DefaultValue = 0.45; klVarInfo.Units = "-"; klVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); pTQhfVarInfo.Name = "pTQhf"; pTQhfVarInfo.Description = "Slope to intercept ratio for Phyllochron parametrization with PhotoThermal Quotient"; pTQhfVarInfo.MaxValue = 1000.0; pTQhfVarInfo.MinValue = 0.0; pTQhfVarInfo.DefaultValue = 0.0; pTQhfVarInfo.Units = "°C d leaf-1"; pTQhfVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); BVarInfo.Name = "B"; BVarInfo.Description = "Phyllochron at PTQ equal 1"; BVarInfo.MaxValue = 1000.0; BVarInfo.MinValue = 0.0; BVarInfo.DefaultValue = 20.0; BVarInfo.Units = "°C d leaf-1"; BVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); pVarInfo.Name = "p"; pVarInfo.Description = "Phyllochron (Varietal parameter)"; pVarInfo.MaxValue = 1000.0; pVarInfo.MinValue = 0.0; pVarInfo.DefaultValue = 120.0; pVarInfo.Units = "°C d leaf-1"; pVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); choosePhyllUseVarInfo.Name = "choosePhyllUse"; choosePhyllUseVarInfo.Description = "Switch to choose the type of phyllochron calculation to be used"; choosePhyllUseVarInfo.MaxValue =; choosePhyllUseVarInfo.MinValue =; choosePhyllUseVarInfo.DefaultValue = "Default"; choosePhyllUseVarInfo.Units = "-"; choosePhyllUseVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("String"); areaSLVarInfo.Name = "areaSL"; areaSLVarInfo.Description = " Area Leaf"; areaSLVarInfo.MaxValue = 1000.0; areaSLVarInfo.MinValue = 0.0; areaSLVarInfo.DefaultValue = 0.0; areaSLVarInfo.Units = "cm2"; areaSLVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); areaSSVarInfo.Name = "areaSS"; areaSSVarInfo.Description = "Area Sheath"; areaSSVarInfo.MaxValue = 1000.0; areaSSVarInfo.MinValue = 0.0; areaSSVarInfo.DefaultValue = 0.0; areaSSVarInfo.Units = "cm2"; areaSSVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); lARminVarInfo.Name = "lARmin"; lARminVarInfo.Description = "LAR minimum"; lARminVarInfo.MaxValue = 1000.0; lARminVarInfo.MinValue = 0.0; lARminVarInfo.DefaultValue = 0.0; lARminVarInfo.Units = "leaf-1 °C"; lARminVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); lARmaxVarInfo.Name = "lARmax"; lARmaxVarInfo.Description = "LAR maximum"; lARmaxVarInfo.MaxValue = 1000.0; lARmaxVarInfo.MinValue = 0.0; lARmaxVarInfo.DefaultValue = 0.0; lARmaxVarInfo.Units = "leaf-1 °C"; lARmaxVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); sowingDensityVarInfo.Name = "sowingDensity"; sowingDensityVarInfo.Description = "Sowing Density"; sowingDensityVarInfo.MaxValue = 1000.0; sowingDensityVarInfo.MinValue = 0.0; sowingDensityVarInfo.DefaultValue = 0.0; sowingDensityVarInfo.Units = "plant m-2"; sowingDensityVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); lNeffVarInfo.Name = "lNeff"; lNeffVarInfo.Description = "Leaf Number efficace"; lNeffVarInfo.MaxValue = 1000.0; lNeffVarInfo.MinValue = 0.0; lNeffVarInfo.DefaultValue = 0.0; lNeffVarInfo.Units = "leaf"; lNeffVarInfo.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
/// <summary>Set VarInfo values</summary> static void DescribeVariables() { // _State.Name = "State"; _State.Description = "State of the leaf, 0:Growing, 1:Mature,2:Senescing,3:Dead"; _State.MaxValue = 3D; _State.MinValue = 0D; _State.DefaultValue = 0D; _State.Units = "dimensionless"; _State.URL = "http://"; _State.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _PreviousState.Name = "PreviousState"; _PreviousState.Description = "Previous State of the leaf, 0:Growing, 1:Mature,2:Senescing,3:Dead"; _PreviousState.MaxValue = 3D; _PreviousState.MinValue = 0D; _PreviousState.DefaultValue = 0D; _PreviousState.Units = "dimensionless"; _PreviousState.URL = "http://"; _PreviousState.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _isPrematurelyDying.Name = "isPrematurelyDying"; _isPrematurelyDying.Description = "Flag"; _isPrematurelyDying.MaxValue = 1D; _isPrematurelyDying.MinValue = 0D; _isPrematurelyDying.DefaultValue = 0D; _isPrematurelyDying.Units = "dimensionless"; _isPrematurelyDying.URL = "http://"; _isPrematurelyDying.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _TTGroLamina.Name = "TTGroLamina"; _TTGroLamina.Description = "Thermal Time when the Lamina grows"; _TTGroLamina.MaxValue = 3000D; _TTGroLamina.MinValue = 0D; _TTGroLamina.DefaultValue = 0D; _TTGroLamina.Units = "°Cd"; _TTGroLamina.URL = "http://"; _TTGroLamina.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _MaxAI.Name = "MaxAI"; _MaxAI.Description = "Largest area actually achieved by leaf Layer"; _MaxAI.MaxValue = 1D; _MaxAI.MinValue = 0D; _MaxAI.DefaultValue = 0D; _MaxAI.Units = "mm²/mm²"; _MaxAI.URL = "http://"; _MaxAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _TTsen.Name = "TTsen"; _TTsen.Description = "Thermal Time when Leaf Start Senescing"; _TTsen.MaxValue = 3000D; _TTsen.MinValue = 0D; _TTsen.DefaultValue = 0D; _TTsen.Units = "°Cd"; _TTsen.URL = "http://"; _TTsen.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _TTem.Name = "TTem"; _TTem.Description = "Thermal Time at emergence"; _TTem.MaxValue = 3000D; _TTem.MinValue = 0D; _TTem.DefaultValue = 0D; _TTem.Units = "°Cd"; _TTem.URL = "http://"; _TTem.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _LaminaAI.Name = "LaminaAI"; _LaminaAI.Description = "Lamina Area Index"; _LaminaAI.MaxValue = 1D; _LaminaAI.MinValue = 0D; _LaminaAI.DefaultValue = 0D; _LaminaAI.Units = "mm²/mm²"; _LaminaAI.URL = "http://"; _LaminaAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _SheathAI.Name = "SheathAI"; _SheathAI.Description = "Sheath Area Index"; _SheathAI.MaxValue = 1D; _SheathAI.MinValue = 0D; _SheathAI.DefaultValue = 0D; _SheathAI.Units = "mm²/mm²"; _SheathAI.URL = "http://"; _SheathAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _GAI.Name = "GAI"; _GAI.Description = "Green Area Index"; _GAI.MaxValue = 1D; _GAI.MinValue = 0D; _GAI.DefaultValue = 0D; _GAI.Units = "mm²/mm²"; _GAI.URL = "http://"; _GAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _TTmat.Name = "TTmat"; _TTmat.Description = "Thermal Time at maturity"; _TTmat.MaxValue = 3000D; _TTmat.MinValue = 0D; _TTmat.DefaultValue = 0D; _TTmat.Units = "°Cd"; _TTmat.URL = "http://"; _TTmat.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _laminaSpecificN.Name = "laminaSpecificN"; _laminaSpecificN.Description = "Lamina Specific N"; _laminaSpecificN.MaxValue = 1000D; _laminaSpecificN.MinValue = 0D; _laminaSpecificN.DefaultValue = 0D; _laminaSpecificN.Units = "mg(N)/m²(leaf)"; _laminaSpecificN.URL = "http://"; _laminaSpecificN.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _Phyllochron.Name = "Phyllochron"; _Phyllochron.Description = "Leaf layer Phyllochron"; _Phyllochron.MaxValue = 10D; _Phyllochron.MinValue = 0D; _Phyllochron.DefaultValue = 0D; _Phyllochron.Units = "°Cd/leaf"; _Phyllochron.URL = "http://"; _Phyllochron.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _isSmallPhytomer.Name = "isSmallPhytomer"; _isSmallPhytomer.Description = "1 if the layer\'s phytomer is \"small\""; _isSmallPhytomer.MaxValue = 1D; _isSmallPhytomer.MinValue = 0D; _isSmallPhytomer.DefaultValue = 0D; _isSmallPhytomer.Units = "dimensionless"; _isSmallPhytomer.URL = "http://"; _isSmallPhytomer.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _deltaAI.Name = "deltaAI"; _deltaAI.Description = "Increase of GAI of the day"; _deltaAI.MaxValue = 1000D; _deltaAI.MinValue = 0D; _deltaAI.DefaultValue = 0D; _deltaAI.Units = "m²/m²"; _deltaAI.URL = "http://"; _deltaAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); }
/// <summary>Set VarInfo values</summary> static void DescribeVariables() { // _State.Name = "State"; _State.Description = "State of the leaf, 0:Growing, 1:Mature,2:Senescing,3:Dead"; _State.MaxValue = 3D; _State.MinValue = 0D; _State.DefaultValue = 0D; _State.Units = "dimensionless"; _State.URL = "http://"; _State.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _liguleTT.Name = "liguleTT"; _liguleTT.Description = "TT at ligule appeareance"; _liguleTT.MaxValue = 2000D; _liguleTT.MinValue = 0D; _liguleTT.DefaultValue = 0D; _liguleTT.Units = "°Cd"; _liguleTT.URL = "http://"; _liguleTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _fullyExpTT.Name = "fullyExpTT"; _fullyExpTT.Description = "TT at initiation, when fully expanded (liguleTT - 50)"; _fullyExpTT.MaxValue = 2000D; _fullyExpTT.MinValue = 0D; _fullyExpTT.DefaultValue = 0D; _fullyExpTT.Units = "°Cd"; _fullyExpTT.URL = "http://"; _fullyExpTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _GAI.Name = "GAI"; _GAI.Description = "Green Area index (Lamina Area Index+Sheath Area Index"; _GAI.MaxValue = 1D; _GAI.MinValue = 0D; _GAI.DefaultValue = 0D; _GAI.Units = "m²/m²"; _GAI.URL = "http://"; _GAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _length.Name = "length"; _length.Description = "Leaf Length"; _length.MaxValue = 1000D; _length.MinValue = 0D; _length.DefaultValue = 0D; _length.Units = "mm"; _length.URL = "http://"; _length.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _width.Name = "width"; _width.Description = "Leaf width"; _width.MaxValue = 1000D; _width.MinValue = 0D; _width.DefaultValue = 0D; _width.Units = "mm"; _width.URL = "http://"; _width.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _fracPopn.Name = "fracPopn"; _fracPopn.Description = "fraction of Haun stage of the last leaf"; _fracPopn.MaxValue = 0.9999D; _fracPopn.MinValue = 0D; _fracPopn.DefaultValue = 0D; _fracPopn.Units = "dimensionless"; _fracPopn.URL = "http://"; _fracPopn.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _startExpTT.Name = "startExpTT"; _startExpTT.Description = "Thermal Time at start of expansion (initTT + 100)"; _startExpTT.MaxValue = 2000D; _startExpTT.MinValue = 0D; _startExpTT.DefaultValue = 0D; _startExpTT.Units = "°Cd"; _startExpTT.URL = "http://"; _startExpTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _baseWidth.Name = "baseWidth"; _baseWidth.Description = "Potential Width"; _baseWidth.MaxValue = 1000D; _baseWidth.MinValue = 0D; _baseWidth.DefaultValue = 0D; _baseWidth.Units = "mm"; _baseWidth.URL = "http://"; _baseWidth.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _area.Name = "area"; _area.Description = "Area of the leave"; _area.MaxValue = 1000D; _area.MinValue = 0D; _area.DefaultValue = 0D; _area.Units = "mm²"; _area.URL = "http://"; _area.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _coefLER.Name = "coefLER"; _coefLER.Description = "Scaling factor from leaf 6 LER to the others r ranks"; _coefLER.MaxValue = 100D; _coefLER.MinValue = 0D; _coefLER.DefaultValue = 0D; _coefLER.Units = "dimessionless"; _coefLER.URL = "http://"; _coefLER.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _tipTT.Name = "tipTT"; _tipTT.Description = "Thermal Time at tip emergence"; _tipTT.MaxValue = 2000D; _tipTT.MinValue = 0D; _tipTT.DefaultValue = 0D; _tipTT.Units = "°Cd"; _tipTT.URL = "http://"; _tipTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _exposedArea.Name = "exposedArea"; _exposedArea.Description = "Exposed area of the leaf"; _exposedArea.MaxValue = 1000D; _exposedArea.MinValue = 0D; _exposedArea.DefaultValue = 0D; _exposedArea.Units = "mm²"; _exposedArea.URL = "http://"; _exposedArea.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _PreviousState.Name = "PreviousState"; _PreviousState.Description = "Previous State of the leaf, 0:Growing, 1:Mature,2:Senescing,3:Dead"; _PreviousState.MaxValue = 3D; _PreviousState.MinValue = 0D; _PreviousState.DefaultValue = 0D; _PreviousState.Units = "dimensionless"; _PreviousState.URL = "http://"; _PreviousState.ValueType = VarInfoValueTypes.GetInstanceForName("ListInteger"); // _startEnlargeTT.Name = "startEnlargeTT"; _startEnlargeTT.Description = "Begining of leaf width extension"; _startEnlargeTT.MaxValue = 10000D; _startEnlargeTT.MinValue = 0D; _startEnlargeTT.DefaultValue = 0D; _startEnlargeTT.Units = "°Cd"; _startEnlargeTT.URL = "http://"; _startEnlargeTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _stopEnlargeTT.Name = "stopEnlargeTT"; _stopEnlargeTT.Description = "Stop of Leaf width expension"; _stopEnlargeTT.MaxValue = 10000D; _stopEnlargeTT.MinValue = 0D; _stopEnlargeTT.DefaultValue = 0D; _stopEnlargeTT.Units = "°Cd"; _stopEnlargeTT.URL = "http://"; _stopEnlargeTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _leafAge.Name = "leafAge"; _leafAge.Description = "Leaf age"; _leafAge.MaxValue = 500D; _leafAge.MinValue = 0D; _leafAge.DefaultValue = 0D; _leafAge.Units = "days"; _leafAge.URL = "http://"; _leafAge.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _cumIntRad.Name = "cumIntRad"; _cumIntRad.Description = "Cumulated Intercepted Radiations"; _cumIntRad.MaxValue = 10D; _cumIntRad.MinValue = 0D; _cumIntRad.DefaultValue = 0D; _cumIntRad.Units = "MJ/m²"; _cumIntRad.URL = "http://"; _cumIntRad.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _initialisationTT.Name = "initialisationTT"; _initialisationTT.Description = "Thermal Time At Initialisation"; _initialisationTT.MaxValue = 10000D; _initialisationTT.MinValue = 0D; _initialisationTT.DefaultValue = 0D; _initialisationTT.Units = "°Cd"; _initialisationTT.URL = "http://"; _initialisationTT.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _deltaAI.Name = "deltaAI"; _deltaAI.Description = "Increment in aera index of the day"; _deltaAI.MaxValue = 1D; _deltaAI.MinValue = 0D; _deltaAI.DefaultValue = 0D; _deltaAI.Units = "m²/m²"; _deltaAI.URL = "http://"; _deltaAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _LaminaAI.Name = "LaminaAI"; _LaminaAI.Description = "Leaf lamina Area Index"; _LaminaAI.MaxValue = 1D; _LaminaAI.MinValue = 0D; _LaminaAI.DefaultValue = 0D; _LaminaAI.Units = "m²/m²"; _LaminaAI.URL = "http://"; _LaminaAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); // _MaxAI.Name = "MaxAI"; _MaxAI.Description = "Leaf maximum area index over the season"; _MaxAI.MaxValue = 1D; _MaxAI.MinValue = 0D; _MaxAI.DefaultValue = 0D; _MaxAI.Units = "m²/m²"; _MaxAI.URL = "http://"; _MaxAI.ValueType = VarInfoValueTypes.GetInstanceForName("ListDouble"); }
public Phyllochron() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 8.0; v1.Description = "Leaf number above which the phyllochron is increased by Pincr"; v1.Id = 0; v1.MaxValue = 30.0; v1.MinValue = 0.0; v1.Name = "lincr"; v1.Size = 1; v1.Units = "leaf"; 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.0; v2.Description = "Leaf number up to which the phyllochron is decreased by Pdecr"; v2.Id = 0; v2.MaxValue = 100.0; v2.MinValue = 0.0; v2.Name = "ldecr"; v2.Size = 1; v2.Units = "leaf"; 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.4; v3.Description = "Factor decreasing the phyllochron for leaf number less than Ldecr"; v3.Id = 0; v3.MaxValue = 10.0; v3.MinValue = 0.0; v3.Name = "pdecr"; v3.Size = 1; v3.Units = "-"; 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.5; v4.Description = "Factor increasing the phyllochron for leaf number higher than Lincr"; v4.Id = 0; v4.MaxValue = 10.0; v4.MinValue = 0.0; v4.Name = "pincr"; v4.Size = 1; v4.Units = "-"; 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.45; v5.Description = "Exctinction Coefficient"; v5.Id = 0; v5.MaxValue = 50.0; v5.MinValue = 0.0; v5.Name = "kl"; v5.Size = 1; v5.Units = "-"; 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 = 0.0; v6.Description = "Slope to intercept ratio for Phyllochron parametrization with PhotoThermal Quotient"; v6.Id = 0; v6.MaxValue = 1000.0; v6.MinValue = 0.0; v6.Name = "pTQhf"; v6.Size = 1; v6.Units = "°C d leaf-1"; 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 = 20.0; v7.Description = "Phyllochron at PTQ equal 1"; v7.Id = 0; v7.MaxValue = 1000.0; v7.MinValue = 0.0; v7.Name = "B"; 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); VarInfo v8 = new VarInfo(); v8.DefaultValue = 120.0; v8.Description = "Phyllochron (Varietal parameter)"; v8.Id = 0; v8.MaxValue = 1000.0; v8.MinValue = 0.0; v8.Name = "p"; v8.Size = 1; v8.Units = "°C d leaf-1"; 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 = "Default"; v9.Description = "Switch to choose the type of phyllochron calculation to be used"; v9.Id = 0; v9.MaxValue =; v9.MinValue =; v9.Name = "choosePhyllUse"; v9.Size = 1; v9.Units = "-"; v9.URL = ""; v9.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v9.ValueType = VarInfoValueTypes.GetInstanceForName("String"); _parameters0_0.Add(v9); VarInfo v10 = new VarInfo(); v10.DefaultValue = 0.0; v10.Description = " Area Leaf"; v10.Id = 0; v10.MaxValue = 1000.0; v10.MinValue = 0.0; v10.Name = "areaSL"; v10.Size = 1; v10.Units = "cm2"; v10.URL = ""; v10.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v10.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v10); VarInfo v11 = new VarInfo(); v11.DefaultValue = 0.0; v11.Description = "Area Sheath"; v11.Id = 0; v11.MaxValue = 1000.0; v11.MinValue = 0.0; v11.Name = "areaSS"; v11.Size = 1; v11.Units = "cm2"; v11.URL = ""; v11.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v11.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v11); VarInfo v12 = new VarInfo(); v12.DefaultValue = 0.0; v12.Description = "LAR minimum"; v12.Id = 0; v12.MaxValue = 1000.0; v12.MinValue = 0.0; v12.Name = "lARmin"; v12.Size = 1; v12.Units = "leaf-1 °C"; v12.URL = ""; v12.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v12.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v12); VarInfo v13 = new VarInfo(); v13.DefaultValue = 0.0; v13.Description = "LAR maximum"; v13.Id = 0; v13.MaxValue = 1000.0; v13.MinValue = 0.0; v13.Name = "lARmax"; v13.Size = 1; v13.Units = "leaf-1 °C"; v13.URL = ""; v13.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v13.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v13); VarInfo v14 = new VarInfo(); v14.DefaultValue = 0.0; v14.Description = "Sowing Density"; v14.Id = 0; v14.MaxValue = 1000.0; v14.MinValue = 0.0; v14.Name = "sowingDensity"; v14.Size = 1; v14.Units = "plant m-2"; v14.URL = ""; v14.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v14.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v14); VarInfo v15 = new VarInfo(); v15.DefaultValue = 0.0; v15.Description = "Leaf Number efficace"; v15.Id = 0; v15.MaxValue = 1000.0; v15.MinValue = 0.0; v15.Name = "lNeff"; v15.Size = 1; v15.Units = "leaf"; v15.URL = ""; v15.VarType = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER; v15.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _parameters0_0.Add(v15); 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 = "fixPhyll"; pd1.PropertyType = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll); _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 = "ptq"; pd3.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.ptq).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.ptq); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd4.PropertyName = "gAImean"; pd4.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.gAImean).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.gAImean); _inputs0_0.Add(pd4); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(Phenology.DomainClass.PhenologyState); pd5.PropertyName = "phyllochron"; pd5.PropertyType = (Phenology.DomainClass.PhenologyStateVarInfo.phyllochron).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.phyllochron); _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 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); VarInfo v5 = new VarInfo(); v5.DefaultValue = 115; v5.Description = "Base phyllochron"; v5.Id = 0; v5.MaxValue = 1000; v5.MinValue = 0; v5.Name = "FixPhyll"; v5.Size = 1; v5.Units = "leaf/°Cd"; 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(SiriusQualityPhenology.PhenologyState); pd1.PropertyName = "LeafNumber"; pd1.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber); _inputs0_0.Add(pd1); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState); pd2.PropertyName = "Phyllochron"; pd2.PropertyType = ((SiriusQualityPhenology.PhenologyStateVarInfo.Phyllochron)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Phyllochron); _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 LeafExpansionDroughtFactor() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0; v1.Description = "Fraction of plant available water below which the rate of leaf expansion equals zer"; v1.Id = 0; v1.MaxValue = 0; 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; v2.Description = "Fraction of plant available water threshold below which the rate of leaf expansion starts to decrease"; v2.Id = 0; v2.MaxValue = 0; 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 = 0; v3.Description = "Maximum rate of acceleration of leaf senescence in response to soil water deficit"; v3.Id = 0; v3.MaxValue = 0; 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; v4.Description = "Fraction of plant available water value below which DSFmax is reached"; v4.Id = 0; v4.MaxValue = 0; 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; v5.Description = "Fraction of plant available water threshold below which the rate of leaf senescence starts to accelerate"; v5.Id = 0; v5.MaxValue = 0; 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 = 0; 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 = 0; 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 = 0; 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 = 0; 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(); }
public EnergyBalance() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0; v1.Description = "true if maize false if wheat"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "SwitchMaize"; v1.Size = 1; v1.Units = "NA"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v1); VarInfo v2 = new CompositeStrategyVarInfo(_calculatenetradiation, "albedoCoefficient"); _parameters0_0.Add(v2); VarInfo v3 = new CompositeStrategyVarInfo(_calculatenetradiation, "stefanBoltzman"); _parameters0_0.Add(v3); VarInfo v4 = new CompositeStrategyVarInfo(_calculatenetradiation, "elevation"); _parameters0_0.Add(v4); VarInfo v5 = new CompositeStrategyVarInfo(_calculatediffusionlimitedevaporation, "soilDiffusionConstant"); _parameters0_0.Add(v5); VarInfo v6 = new CompositeStrategyVarInfo(_calculatepriestlytaylor, "lambda"); _parameters0_0.Add(v6); VarInfo v7 = new CompositeStrategyVarInfo(_calculatepriestlytaylor, "psychrometricConstant"); _parameters0_0.Add(v7); VarInfo v8 = new CompositeStrategyVarInfo(_calculatepriestlytaylor, "Alpha"); _parameters0_0.Add(v8); VarInfo v9 = new CompositeStrategyVarInfo(_calculateptsoil, "Alpha"); _parameters0_0.Add(v9); VarInfo v10 = new CompositeStrategyVarInfo(_calculateptsoil, "tauAlpha"); _parameters0_0.Add(v10); VarInfo v11 = new CompositeStrategyVarInfo(_calculateconductance, "vonKarman"); _parameters0_0.Add(v11); VarInfo v12 = new CompositeStrategyVarInfo(_calculateconductance, "heightWeatherMeasurements"); _parameters0_0.Add(v12); VarInfo v13 = new CompositeStrategyVarInfo(_calculateconductance, "zm"); _parameters0_0.Add(v13); VarInfo v14 = new CompositeStrategyVarInfo(_calculateconductance, "zh"); _parameters0_0.Add(v14); VarInfo v15 = new CompositeStrategyVarInfo(_calculateconductance, "d"); _parameters0_0.Add(v15); VarInfo v16 = new CompositeStrategyVarInfo(_calculatepenman, "psychrometricConstant"); _parameters0_0.Add(v16); VarInfo v17 = new CompositeStrategyVarInfo(_calculatepenman, "rhoDensityAir"); _parameters0_0.Add(v17); VarInfo v18 = new CompositeStrategyVarInfo(_calculatepenman, "specificHeatCapacityAir"); _parameters0_0.Add(v18); VarInfo v19 = new CompositeStrategyVarInfo(_calculatepenman, "lambda"); _parameters0_0.Add(v19); VarInfo v20 = new CompositeStrategyVarInfo(_calculatepenman, "Alpha"); _parameters0_0.Add(v20); VarInfo v21 = new CompositeStrategyVarInfo(_calculatecanopytemperature, "lambda"); _parameters0_0.Add(v21); VarInfo v22 = new CompositeStrategyVarInfo(_calculatecanopytemperature, "rhoDensityAir"); _parameters0_0.Add(v22); VarInfo v23 = new CompositeStrategyVarInfo(_calculatecanopytemperature, "specificHeatCapacityAir"); _parameters0_0.Add(v23); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd1.PropertyName = "isWindVpDefined"; pd1.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.isWindVpDefined)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.isWindVpDefined); _inputs0_0.Add(pd1); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); mo0_0.Outputs = _outputs0_0; //Associated strategies List <string> lAssStrat0_0 = new List <string>(); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateNetRadiation).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateDiffusionLimitedEvaporation).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculatePriestlyTaylor).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculatePtSoil).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateConductance).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculatePenman).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculatePotTranspiration).FullName); lAssStrat0_0.Add(typeof(SiriusQuailtyEnergyBalance.CalculateSoilEvaporation).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateSoilHeatFlux).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateCropHeatFlux).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateCanopyTemperature).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateCanopyTemperatureMaize).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.Calculatevpdairleaf).FullName); lAssStrat0_0.Add(typeof(SiriusQualityEnergyBalance.CalculateVPDeq).FullName); mo0_0.AssociatedStrategies = lAssStrat0_0; //Adding the modeling options to the modeling options manager //Creating the modeling options manager of the strategy _modellingOptionsManager = new ModellingOptionsManager(mo0_0); SetStaticParametersVarInfoDefinitions(); SetPublisherData(); }
public PriestlyTaylor() { 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 = ""; 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); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceState); pd1.PropertyName = "netRadiationEquivalentEvaporation"; pd1.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.netRadiationEquivalentEvaporation).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.netRadiationEquivalentEvaporation); _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); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRate); pd3.PropertyName = "evapoTranspirationPriestlyTaylor"; pd3.PropertyType = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor); _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 CalculateDiffReflectanceCoef() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 1; v1.Description = "1:Spherical leaf angle Distribution; 0 Ellipsoidal"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "useSphericalLeafDistrib"; v1.Size = 1; v1.Units = "-"; v1.URL = ""; v1.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("Integer"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 1; v2.Description = "Clumping Index"; v2.Id = 0; v2.MaxValue = 1; v2.MinValue = 0; v2.Name = "CI"; 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(INRA.SiriusQualityIrradiance.Interfaces.States); pd1.PropertyName = "rhoLeaf"; pd1.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoLeaf)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoLeaf); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd2.PropertyName = "tauLeaf"; pd2.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.tauLeaf)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.tauLeaf); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States); pd3.PropertyName = "ala"; pd3.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala); _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.States); pd4.PropertyName = "rhoCanopyDiff"; pd4.PropertyType = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoCanopyDiff)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoCanopyDiff); _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 Netradiation() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.23; v1.Description = "albedo Coefficient"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "albedoCoefficient"; 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 = 4.903E-09; v2.Description = "stefan Boltzman constant"; v2.Id = 0; v2.MaxValue = 1; v2.MinValue = 0; v2.Name = "stefanBoltzman"; 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; v3.Description = "elevation"; v3.Id = 0; v3.MaxValue = 10000; v3.MinValue = -500; v3.Name = "elevation"; v3.Size = 1; v3.Units = "m"; 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.EnergybalanceAuxiliary); pd3.PropertyName = "solarRadiation"; pd3.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.solarRadiation).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.solarRadiation); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd4.PropertyName = "vaporPressure"; pd4.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.vaporPressure).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.vaporPressure); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd5.PropertyName = "extraSolarRadiation"; pd5.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.extraSolarRadiation).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.extraSolarRadiation); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd6.PropertyName = "netRadiation"; pd6.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.netRadiation).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.netRadiation); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary); pd7.PropertyName = "netOutGoingLongWaveRadiation"; pd7.PropertyType = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.netOutGoingLongWaveRadiation).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.netOutGoingLongWaveRadiation); _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(); }
static void DescribeVariables() { _Sdry.Name = "Sdry"; _Sdry.Description = "water in solid state in the snow cover in previous day"; _Sdry.MaxValue = 500.0; _Sdry.MinValue = 0.0; _Sdry.DefaultValue = 0.0; _Sdry.Units = "mmW"; _Sdry.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _Sdepth.Name = "Sdepth"; _Sdepth.Description = "snow cover depth Calculation in previous day"; _Sdepth.MaxValue = 5000.0; _Sdepth.MinValue = 0.0; _Sdepth.DefaultValue = 0.0; _Sdepth.Units = "m"; _Sdepth.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _Swet.Name = "Swet"; _Swet.Description = "water in liquid state in the snow cover in previous day"; _Swet.MaxValue = 100.0; _Swet.MinValue = 0.0; _Swet.DefaultValue = 0.0; _Swet.Units = "mmW"; _Swet.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _ps.Name = "ps"; _ps.Description = "density of snow cover in previous day"; _ps.MaxValue = 100.0; _ps.MinValue = 0.0; _ps.DefaultValue = 0.0; _ps.Units = "kg/m**3"; _ps.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _tmaxrec.Name = "tmaxrec"; _tmaxrec.Description = "recalculated maximum temperature"; _tmaxrec.MaxValue = 500.0; _tmaxrec.MinValue = 0.0; _tmaxrec.DefaultValue = -1D; _tmaxrec.Units = "degC"; _tmaxrec.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _Snowmelt.Name = "Snowmelt"; _Snowmelt.Description = "Snow melt"; _Snowmelt.MaxValue = 500.0; _Snowmelt.MinValue = 0.0; _Snowmelt.DefaultValue = -1D; _Snowmelt.Units = "m"; _Snowmelt.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _tminrec.Name = "tminrec"; _tminrec.Description = "recalculated minimum temperature"; _tminrec.MaxValue = 500.0; _tminrec.MinValue = 0.0; _tminrec.DefaultValue = -1D; _tminrec.Units = "degC"; _tminrec.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _preciprec.Name = "preciprec"; _preciprec.Description = "precipitation recalculation"; _preciprec.MaxValue = 500.0; _preciprec.MinValue = 0.0; _preciprec.DefaultValue = -1D; _preciprec.Units = "mmW"; _preciprec.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); _Sdepth_cm.Name = "Sdepth_cm"; _Sdepth_cm.Description = "snow cover depth in cm"; _Sdepth_cm.MaxValue = 500.0; _Sdepth_cm.MinValue = 0.0; _Sdepth_cm.DefaultValue = -1D; _Sdepth_cm.Units = "cm"; _Sdepth_cm.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
public Netradiation() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0.23; v1.Description = "albedo Coefficient"; v1.Id = 0; v1.MaxValue = 1; v1.MinValue = 0; v1.Name = "albedoCoefficient"; v1.Size = 1; v1.Units = ""; v1.URL = ""; v % s.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v1.ValueType = VarInfoValueTypes.GetInstanceForName("DOUBLE"); _parameters0_0.Add(v1); VarInfo v2 = new VarInfo(); v2.DefaultValue = 4.903E-09; v2.Description = "stefan Boltzman constant"; v2.Id = 0; v2.MaxValue = 1; v2.MinValue = 0; v2.Name = "stefanBoltzman"; v2.Size = 1; v2.Units = ""; v2.URL = ""; v % s.VarType = CRA.ModelLayer.Core.VarInfo.Type.STATE; v2.ValueType = VarInfoValueTypes.GetInstanceForName("DOUBLE"); _parameters0_0.Add(v2); VarInfo v3 = new VarInfo(); v3.DefaultValue = 0; v3.Description = "elevation"; v3.Id = 0; v3.MaxValue = 10000; v3.MinValue = -500; v3.Name = "elevation"; v3.Size = 1; v3.Units = "m"; v3.URL = ""; v % s.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(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd1.PropertyName = "minTair"; pd1.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.minTair)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.minTair); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd2.PropertyName = "maxTair"; pd2.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.maxTair)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.maxTair); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd3.PropertyName = "solarRadiation"; pd3.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.solarRadiation)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.solarRadiation); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd4.PropertyName = "vaporPressure"; pd4.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.vaporPressure)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.vaporPressure); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd5.PropertyName = "extraSolarRadiation"; pd5.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.extraSolarRadiation)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.extraSolarRadiation); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd6.PropertyName = "netRadiation"; pd6.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netRadiation)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netRadiation); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityEnergybalance.EnergybalanceAuxiliary); pd7.PropertyName = "netOutGoingLongWaveRadiation"; pd7.PropertyType = ((SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netOutGoingLongWaveRadiation)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityEnergybalance.EnergybalanceAuxiliaryVarInfo.netOutGoingLongWaveRadiation); _outputs0_0.Add(pd7); mo0_0.Outputs = _outputs0_0; }
public WaterLimitedLeafExpansion() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0; v1.Description = "Phyllochronic duration of leaf lamina expansion"; v1.Id = 0; v1.MaxValue = 0; v1.MinValue = 0; v1.Name = "PexpL"; 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; v2.Description = "Specific leaf N at which LUE is null"; v2.Id = 0; v2.MaxValue = 0; v2.MinValue = 0; v2.Name = "SLNmin"; v2.Size = 1; v2.Units = "g(N)/m²(leaf)"; 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 = "deltaTTShoot"; pd2.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.deltaTTShoot)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.deltaTTShoot); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd3.PropertyName = "deltaTTSenescence"; pd3.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.deltaTTSenescence)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.deltaTTSenescence); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd4.PropertyName = "DSF"; pd4.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF); _inputs0_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); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd6.PropertyName = "incDeltaAreaLimitSF"; pd6.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF); _outputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd7.PropertyName = "WaterLimitedPotDeltaAIList"; pd7.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList); _outputs0_0.Add(pd7); PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); pd8.PropertyName = "potentialIncDeltaArea"; pd8.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea)).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea); _outputs0_0.Add(pd8); PropertyDescription pd9 = new PropertyDescription(); /*pd9.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); * pd9.PropertyName = "leafLayerState"; * pd9.PropertyType = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafStateList)).ValueType.TypeForCurrentValue; * pd9.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafStateList); * _outputs0_0.Add(pd9); * PropertyDescription pd10 = new PropertyDescription(); * pd10.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState); * pd10.PropertyName = "isPrematurelyDying"; * pd10.PropertyType = (( SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPrematurelyDying)).ValueType.TypeForCurrentValue; * pd10.PropertyVarInfo =( SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPrematurelyDying); * _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 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(SiriusQualityPhenology.DomainClass.PhenologyState); pd1.PropertyName = "canopyShootNumber"; pd1.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd2.PropertyName = "leafNumber"; pd2.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd3.PropertyName = "tilleringProfile"; pd3.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.tilleringProfile).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.tilleringProfile); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd4.PropertyName = "leafTillerNumberArray"; pd4.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd5.PropertyName = "numberTillerCohort"; pd5.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityPhenology.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(SiriusQualityPhenology.DomainClass.PhenologyState); pd6.PropertyName = "averageShootNumberPerPlant"; pd6.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant); _outputs0_0.Add(pd6); mo0_0.Outputs = _outputs0_0; PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd7.PropertyName = "canopyShootNumber"; pd7.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber); _outputs0_0.Add(pd7); mo0_0.Outputs = _outputs0_0; PropertyDescription pd8 = new PropertyDescription(); pd8.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd8.PropertyName = "leafTillerNumberArray"; pd8.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray).ValueType.TypeForCurrentValue; pd8.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray); _outputs0_0.Add(pd8); mo0_0.Outputs = _outputs0_0; PropertyDescription pd9 = new PropertyDescription(); pd9.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd9.PropertyName = "tilleringProfile"; pd9.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.tilleringProfile).ValueType.TypeForCurrentValue; pd9.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.tilleringProfile); _outputs0_0.Add(pd9); mo0_0.Outputs = _outputs0_0; PropertyDescription pd10 = new PropertyDescription(); pd10.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState); pd10.PropertyName = "numberTillerCohort"; pd10.PropertyType = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort).ValueType.TypeForCurrentValue; pd10.PropertyVarInfo = (SiriusQualityPhenology.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 CalculatePenman() { 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 = "?"; 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.225; v2.Description = "Density of air"; v2.Id = 0; v2.MaxValue = 10; v2.MinValue = 0; v2.Name = "rhoDensityAir"; v2.Size = 1; v2.Units = "?"; 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.00101; v3.Description = "Specific heat capacity of dry air"; v3.Id = 0; v3.MaxValue = 1; v3.MinValue = 0; v3.Name = "specificHeatCapacityAir"; v3.Size = 1; v3.Units = "?"; 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 = 2.454; v4.Description = "latent heat of vaporization of water"; v4.Id = 0; v4.MaxValue = 10; v4.MinValue = 0; v4.Name = "lambda"; v4.Size = 1; v4.Units = "?"; 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; v5.Description = "Priestley-Taylor evapotranspiration proportionality constant"; v5.Id = 0; v5.MaxValue = 10; v5.MinValue = 0; v5.Name = "Alpha"; 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); mo0_0.Parameters = _parameters0_0; //Inputs List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>(); PropertyDescription pd1 = new PropertyDescription(); pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd1.PropertyName = "evapoTranspirationPriestlyTaylor"; pd1.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.evapoTranspirationPriestlyTaylor)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.evapoTranspirationPriestlyTaylor); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd2.PropertyName = "hslope"; pd2.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.hslope)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.hslope); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd3.PropertyName = "VPDair"; pd3.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.VPDair)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.VPDair); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState); pd4.PropertyName = "conductance"; pd4.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.conductance)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityEnergyBalance.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.EnergyBalanceState); pd5.PropertyName = "evapoTranspirationPenman"; pd5.PropertyType = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.evapoTranspirationPenman)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.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(); }
/// <summary>Set VarInfo values</summary> static void DescribeVariables() { // _rhoLeaf.Name = "rhoLeaf"; _rhoLeaf.Description = "Leaf reflectance coefficient"; _rhoLeaf.MaxValue = 1D; _rhoLeaf.MinValue = 0D; _rhoLeaf.DefaultValue = 0.07D; _rhoLeaf.Units = "-"; _rhoLeaf.URL = "http://"; _rhoLeaf.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _tauLeaf.Name = "tauLeaf"; _tauLeaf.Description = "Leaf transmittance coefficient"; _tauLeaf.MaxValue = 1D; _tauLeaf.MinValue = 0D; _tauLeaf.DefaultValue = 0.07D; _tauLeaf.Units = "-"; _tauLeaf.URL = "http://"; _tauLeaf.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _rhoCanopyDiff.Name = "rhoCanopyDiff"; _rhoCanopyDiff.Description = "Reflectance coefficient of a canopy having non horizontal leaves"; _rhoCanopyDiff.MaxValue = 1D; _rhoCanopyDiff.MinValue = 0D; _rhoCanopyDiff.DefaultValue = 0.5D; _rhoCanopyDiff.Units = "-"; _rhoCanopyDiff.URL = "http://"; _rhoCanopyDiff.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _rhoCanopyDir.Name = "rhoCanopyDir"; _rhoCanopyDir.Description = "Canopy reflectance coefficient to diffuse irradiance"; _rhoCanopyDir.MaxValue = 1D; _rhoCanopyDir.MinValue = 0D; _rhoCanopyDir.DefaultValue = 0.5D; _rhoCanopyDir.Units = "-"; _rhoCanopyDir.URL = "http://"; _rhoCanopyDir.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k1_dir.Name = "k1_dir"; _k1_dir.Description = "Coefficient of extinction of beam irradiance"; _k1_dir.MaxValue = 10D; _k1_dir.MinValue = 0D; _k1_dir.DefaultValue = 1D; _k1_dir.Units = "-"; _k1_dir.URL = "http://"; _k1_dir.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_dir.Name = "k_dir"; _k_dir.Description = "Coefficient of extinction of beam and scatter irradiances"; _k_dir.MaxValue = 10D; _k_dir.MinValue = 0D; _k_dir.DefaultValue = 1D; _k_dir.Units = "-"; _k_dir.URL = "http://"; _k_dir.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_dif.Name = "k_dif"; _k_dif.Description = "Extinction coefficient of diffuse and scatter irradiance from the entire sky"; _k_dif.MaxValue = 10D; _k_dif.MinValue = 0D; _k_dif.DefaultValue = 0.5D; _k_dif.Units = "-"; _k_dif.URL = "http://"; _k_dif.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _layersGAI.Name = "layersGAI"; _layersGAI.Description = "Leaf area index per layer"; _layersGAI.MaxValue = 10D; _layersGAI.MinValue = 0D; _layersGAI.DefaultValue = 5D; _layersGAI.Units = "m²leaf/m²ground"; _layersGAI.URL = "http://"; _layersGAI.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _sunlitFraction.Name = "sunlitFraction"; _sunlitFraction.Description = "Sunlit leaves surface fraction (generic variable)"; _sunlitFraction.MaxValue = 1D; _sunlitFraction.MinValue = 0D; _sunlitFraction.DefaultValue = 1D; _sunlitFraction.Units = "-"; _sunlitFraction.URL = "http://"; _sunlitFraction.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _shadeFraction.Name = "shadeFraction"; _shadeFraction.Description = "Shade leaves surface fraction (generic variable)"; _shadeFraction.MaxValue = 1D; _shadeFraction.MinValue = 0D; _shadeFraction.DefaultValue = 0D; _shadeFraction.Units = "-"; _shadeFraction.URL = "http://"; _shadeFraction.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _sunlitShadedFraction.Name = "sunlitShadedFraction"; _sunlitShadedFraction.Description = "Summary of fraction of shaded and sunlit leaves"; _sunlitShadedFraction.MaxValue = 1D; _sunlitShadedFraction.MinValue = 0D; _sunlitShadedFraction.DefaultValue = 1D; _sunlitShadedFraction.Units = "-"; _sunlitShadedFraction.URL = "http://"; _sunlitShadedFraction.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _sunlitShadedFractionNIR.Name = "sunlitShadedFractionNIR"; _sunlitShadedFractionNIR.Description = "Summary of fraction of shaded and sunlit leaves for Near Infrared Radiations"; _sunlitShadedFractionNIR.MaxValue = 1D; _sunlitShadedFractionNIR.MinValue = 0D; _sunlitShadedFractionNIR.DefaultValue = 1D; _sunlitShadedFractionNIR.Units = "-"; _sunlitShadedFractionNIR.URL = "http://"; _sunlitShadedFractionNIR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _sunlitShadedFractionPAR.Name = "sunlitShadedFractionPAR"; _sunlitShadedFractionPAR.Description = "Summary of fraction of shaded and sunlit leaves for Photosynthetically Active rad" + "iations"; _sunlitShadedFractionPAR.MaxValue = 1D; _sunlitShadedFractionPAR.MinValue = 0D; _sunlitShadedFractionPAR.DefaultValue = 1D; _sunlitShadedFractionPAR.Units = "-"; _sunlitShadedFractionPAR.URL = "http://"; _sunlitShadedFractionPAR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_dirNIR.Name = "k_dirNIR"; _k_dirNIR.Description = "Coefficient of extinction of beam and scatter irradiances for Near Infrared Radia" + "tion"; _k_dirNIR.MaxValue = 10D; _k_dirNIR.MinValue = 0D; _k_dirNIR.DefaultValue = 1D; _k_dirNIR.Units = "-"; _k_dirNIR.URL = "http://"; _k_dirNIR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_dirPAR.Name = "k_dirPAR"; _k_dirPAR.Description = "Coefficient of extinction of beam and scatter irradiances for Photosynthetically " + "Active Radiaitions"; _k_dirPAR.MaxValue = 10D; _k_dirPAR.MinValue = 0D; _k_dirPAR.DefaultValue = 1D; _k_dirPAR.Units = "-"; _k_dirPAR.URL = "http://"; _k_dirPAR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_difNIR.Name = "k_difNIR"; _k_difNIR.Description = "Extinction coefficient of diffuse and scatter irradiance from the entire sky for " + "Near Infrared Radaiations"; _k_difNIR.MaxValue = 10D; _k_difNIR.MinValue = 0D; _k_difNIR.DefaultValue = 0.5D; _k_difNIR.Units = "-"; _k_difNIR.URL = "http://"; _k_difNIR.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _k_difPAR.Name = "k_difPAR"; _k_difPAR.Description = "Extinction coefficient of diffuse and scatter irradiance from the entire sky for " + "Photosynthetically Active Radiations"; _k_difPAR.MaxValue = 10D; _k_difPAR.MinValue = 0D; _k_difPAR.DefaultValue = 0.5D; _k_difPAR.Units = "-"; _k_difPAR.URL = "http://"; _k_difPAR.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _rhoCanopyDirNIR.Name = "rhoCanopyDirNIR"; _rhoCanopyDirNIR.Description = "Canopy reflectance coefficient to diffuse irradiance for Near Infrared Radiaition" + "s"; _rhoCanopyDirNIR.MaxValue = 1D; _rhoCanopyDirNIR.MinValue = 0D; _rhoCanopyDirNIR.DefaultValue = 0.5D; _rhoCanopyDirNIR.Units = "-"; _rhoCanopyDirNIR.URL = "http://"; _rhoCanopyDirNIR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _rhoCanopyDirPAR.Name = "rhoCanopyDirPAR"; _rhoCanopyDirPAR.Description = "Canopy reflectance coefficient to diffuse irradiance for Photosyntheti cally Acti" + "ve Radiaitions"; _rhoCanopyDirPAR.MaxValue = 1D; _rhoCanopyDirPAR.MinValue = 0D; _rhoCanopyDirPAR.DefaultValue = 0.5D; _rhoCanopyDirPAR.Units = "-"; _rhoCanopyDirPAR.URL = "http://"; _rhoCanopyDirPAR.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryIntDouble"); // _k_difBlack.Name = "k_difBlack"; _k_difBlack.Description = "Extinction coefficient of diffuse and scatter irradiance from the entire sky for " + "black leaves"; _k_difBlack.MaxValue = 10D; _k_difBlack.MinValue = 0D; _k_difBlack.DefaultValue = 0.5D; _k_difBlack.Units = "-"; _k_difBlack.URL = "http://"; _k_difBlack.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _ala.Name = "ala"; _ala.Description = "Average leaf angle"; _ala.MaxValue = 0.78D; _ala.MinValue = 0D; _ala.DefaultValue = 3.141592D; _ala.Units = "radians"; _ala.URL = "http://"; _ala.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _cumulTT.Name = "cumulTT"; _cumulTT.Description = "Cumulative physiological Thermal Time"; _cumulTT.MaxValue = 20000D; _cumulTT.MinValue = 0D; _cumulTT.DefaultValue = 0D; _cumulTT.Units = "°Cd"; _cumulTT.URL = "http://"; _cumulTT.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _termSpikletTT.Name = "termSpikletTT"; _termSpikletTT.Description = "Cumulative physiological Thermal Time at terrminal spiklet growth stage "; _termSpikletTT.MaxValue = 20000D; _termSpikletTT.MinValue = 0D; _termSpikletTT.DefaultValue = 0D; _termSpikletTT.Units = "°Cd"; _termSpikletTT.URL = "http://"; _termSpikletTT.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _flagLeafLiguleTT.Name = "flagLeafLiguleTT"; _flagLeafLiguleTT.Description = "Cumulative physiological Thermal Time at Flag Leaf Ligulation"; _flagLeafLiguleTT.MaxValue = 20000D; _flagLeafLiguleTT.MinValue = 0D; _flagLeafLiguleTT.DefaultValue = 0D; _flagLeafLiguleTT.Units = "°Cd"; _flagLeafLiguleTT.URL = "http://"; _flagLeafLiguleTT.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _fiPARb.Name = "fiPARb"; _fiPARb.Description = "Fraction of direct intercepted light"; _fiPARb.MaxValue = 1D; _fiPARb.MinValue = 0D; _fiPARb.DefaultValue = 0D; _fiPARb.Units = "-"; _fiPARb.URL = "http://"; _fiPARb.ValueType = VarInfoValueTypes.GetInstanceForName("DictionaryDoubleDouble"); // _FLN.Name = "FLN"; _FLN.Description = "Final Leaf Number"; _FLN.MaxValue = 100D; _FLN.MinValue = 0D; _FLN.DefaultValue = 15D; _FLN.Units = "leaf"; _FLN.URL = "http://"; _FLN.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _HS.Name = "HS"; _HS.Description = "Haun Stage"; _HS.MaxValue = 100D; _HS.MinValue = 0D; _HS.DefaultValue = 5D; _HS.Units = "leaf"; _HS.URL = "http://"; _HS.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _Phyll.Name = "Phyll"; _Phyll.Description = "Phyllochron"; _Phyll.MaxValue = 1000D; _Phyll.MinValue = 0D; _Phyll.DefaultValue = 120D; _Phyll.Units = "°Cd/leaf"; _Phyll.URL = "http://"; _Phyll.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _rhoCanopyDiffNIR.Name = "rhoCanopyDiffNIR"; _rhoCanopyDiffNIR.Description = "eflectance coefficeintfo diffuse NIR"; _rhoCanopyDiffNIR.MaxValue = 1D; _rhoCanopyDiffNIR.MinValue = 0D; _rhoCanopyDiffNIR.DefaultValue = 1D; _rhoCanopyDiffNIR.Units = "-"; _rhoCanopyDiffNIR.URL = "http://"; _rhoCanopyDiffNIR.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); // _rhoCanopyDiffPAR.Name = "rhoCanopyDiffPAR"; _rhoCanopyDiffPAR.Description = "Reflectance Coefficient for Diffuse PAR"; _rhoCanopyDiffPAR.MaxValue = 1D; _rhoCanopyDiffPAR.MinValue = 0D; _rhoCanopyDiffPAR.DefaultValue = 1D; _rhoCanopyDiffPAR.Units = "-"; _rhoCanopyDiffPAR.URL = "http://"; _rhoCanopyDiffPAR.ValueType = VarInfoValueTypes.GetInstanceForName("Double"); }
public CalculateHourlyRadiation() { ModellingOptions mo0_0 = new ModellingOptions(); //Parameters List <VarInfo> _parameters0_0 = new List <VarInfo>(); VarInfo v1 = new VarInfo(); v1.DefaultValue = 0; v1.Description = "latitude"; v1.Id = 0; v1.MaxValue = 90; v1.MinValue = -90; v1.Name = "latitude"; 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(SiriusQualityMeteo.MeteoState); pd1.PropertyName = "dayOfYear"; pd1.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.dayOfYear)).ValueType.TypeForCurrentValue; pd1.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dayOfYear); _inputs0_0.Add(pd1); PropertyDescription pd2 = new PropertyDescription(); pd2.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd2.PropertyName = "solarRadiation"; pd2.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.solarRadiation)).ValueType.TypeForCurrentValue; pd2.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.solarRadiation); _inputs0_0.Add(pd2); PropertyDescription pd3 = new PropertyDescription(); pd3.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd3.PropertyName = "dayLength"; pd3.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.dayLength)).ValueType.TypeForCurrentValue; pd3.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dayLength); _inputs0_0.Add(pd3); PropertyDescription pd4 = new PropertyDescription(); pd4.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd4.PropertyName = "solarDeclination"; pd4.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.solarDeclination)).ValueType.TypeForCurrentValue; pd4.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.solarDeclination); _inputs0_0.Add(pd4); PropertyDescription pd5 = new PropertyDescription(); pd5.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd5.PropertyName = "radTopAtm"; pd5.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.radTopAtm)).ValueType.TypeForCurrentValue; pd5.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.radTopAtm); _inputs0_0.Add(pd5); mo0_0.Inputs = _inputs0_0; //Outputs List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>(); PropertyDescription pd6 = new PropertyDescription(); pd6.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd6.PropertyName = "hourlyRadiation"; pd6.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.hourlyRadiation)).ValueType.TypeForCurrentValue; pd6.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.hourlyRadiation); _outputs0_0.Add(pd6); PropertyDescription pd7 = new PropertyDescription(); pd7.DomainClassType = typeof(SiriusQualityMeteo.MeteoState); pd7.PropertyName = "hourlySolarElevation"; pd7.PropertyType = ((SiriusQualityMeteo.MeteoStateVarInfo.hourlySolarElevation)).ValueType.TypeForCurrentValue; pd7.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.hourlySolarElevation); _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(); }