Пример #1
0
        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");
        }
Пример #2
0
        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");
        }
Пример #3
0
        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");

        }
Пример #8
0
        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;
        }
Пример #9
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;
        }
Пример #10
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");
        }
Пример #11
0
        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");
        }
Пример #12
0
        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();
        }
Пример #13
0
        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();
        }
Пример #14
0
        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");
 }
Пример #16
0
 /// <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");
 }
Пример #17
0
        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();
        }
Пример #18
0
        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();
        }
Пример #19
0
        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();
        }
Пример #20
0
        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();
        }
Пример #21
0
        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();
        }
Пример #22
0
        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();
        }
Пример #23
0
        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");
        }
Пример #25
0
        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();
        }
Пример #27
0
        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();
        }
Пример #28
0
        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");
 }
Пример #30
0
        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();
        }