public CalculateHourlyAirTemperature()
        {
            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    = "maxTair";
            pd1.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.maxTair)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.maxTair);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd2.PropertyName    = "minTair";
            pd2.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.minTair)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.minTair);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd3.PropertyName    = "dayOfYear";
            pd3.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.dayOfYear)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dayOfYear);
            _inputs0_0.Add(pd3);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd4         = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd4.PropertyName    = "hourlyAirTemperature";
            pd4.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.hourlyAirTemperature)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.hourlyAirTemperature);
            _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();
        }
示例#2
0
        public CalculateVernalizationProgress()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0;
            v1.Description  = "initial minimal final leaf number";
            v1.Id           = 0;
            v1.MaxValue     = 25;
            v1.MinValue     = 0;
            v1.Name         = "AMNFLNO";
            v1.Size         = 1;
            v1.Units        = "leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0;
            v2.Description  = "true if the plant is vernalizable";
            v2.Id           = 0;
            v2.MaxValue     = 1;
            v2.MinValue     = 0;
            v2.Name         = "IsVernalizable";
            v2.Size         = 1;
            v2.Units        = "NA";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0;
            v3.Description  = "Minimum temperature for vernalization to occur";
            v3.Id           = 0;
            v3.MaxValue     = 60;
            v3.MinValue     = -20;
            v3.Name         = "MinTvern";
            v3.Size         = 1;
            v3.Units        = "°C";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 10;
            v4.Description  = "Intermediate temperature for vernalization to occur";
            v4.Id           = 0;
            v4.MaxValue     = 60;
            v4.MinValue     = -20;
            v4.Name         = "IntTvern";
            v4.Size         = 1;
            v4.Units        = "°C";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

            v5.DefaultValue = 0;
            v5.Description  = "Response of vernalization rate to temperature";
            v5.Id           = 0;
            v5.MaxValue     = 1;
            v5.MinValue     = 0;
            v5.Name         = "VAI";
            v5.Size         = 1;
            v5.Units        = "1/(d.°C)";
            v5.URL          = "";
            v5.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v5.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v5);
            VarInfo v6 = new VarInfo();

            v6.DefaultValue = 0;
            v6.Description  = "Vernalization rate at 0°C";
            v6.Id           = 0;
            v6.MaxValue     = 1;
            v6.MinValue     = 0;
            v6.Name         = "VBEE";
            v6.Size         = 1;
            v6.Units        = "1/d";
            v6.URL          = "";
            v6.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v6.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v6);
            VarInfo v7 = new VarInfo();

            v7.DefaultValue = 12;
            v7.Description  = "Threshold daylength below which it does influence vernalization rate";
            v7.Id           = 0;
            v7.MaxValue     = 24;
            v7.MinValue     = 0;
            v7.Name         = "MinDL";
            v7.Size         = 1;
            v7.Units        = "h";
            v7.URL          = "";
            v7.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v7.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v7);
            VarInfo v8 = new VarInfo();

            v8.DefaultValue = 12;
            v8.Description  = "Saturating photoperiod above which final leaf number is not influenced by daylength";
            v8.Id           = 0;
            v8.MaxValue     = 24;
            v8.MinValue     = 0;
            v8.Name         = "MaxDL";
            v8.Size         = 1;
            v8.Units        = "h";
            v8.URL          = "";
            v8.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v8.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v8);
            VarInfo v9 = new VarInfo();

            v9.DefaultValue = 17;
            v9.Description  = "Maximum temperature for vernalization to occur";
            v9.Id           = 0;
            v9.MaxValue     = 60;
            v9.MinValue     = -20;
            v9.Name         = "MaxTvern";
            v9.Size         = 1;
            v9.Units        = "°C";
            v9.URL          = "";
            v9.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v9.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v9);
            VarInfo v10 = new VarInfo();

            v10.DefaultValue = 10;
            v10.Description  = "Number of primorida in the apex at emergence";
            v10.Id           = 0;
            v10.MaxValue     = 24;
            v10.MinValue     = 0;
            v10.Name         = "PNini";
            v10.Size         = 1;
            v10.Units        = "primordia";
            v10.URL          = "";
            v10.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v10.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v10);
            VarInfo v11 = new VarInfo();

            v11.DefaultValue = 10;
            v11.Description  = "Absolute maximum leaf number";
            v11.Id           = 0;
            v11.MaxValue     = 25;
            v11.MinValue     = 0;
            v11.Name         = "AMXLFNO";
            v11.Size         = 1;
            v11.Units        = "leaf";
            v11.URL          = "";
            v11.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v11.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v11);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd1.PropertyName    = "DayLength";
            pd1.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.DayLength)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.DayLength);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd2.PropertyName    = "DeltaTT";
            pd2.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd3.PropertyName    = "cumulTT";
            pd3.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd4.PropertyName    = "LeafNumber";
            pd4.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd5.PropertyName    = "Calendar";
            pd5.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.Calendar)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Calendar);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd6.PropertyName    = "Vernaprog";
            pd6.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd7.PropertyName    = "MinFinalNumber";
            pd7.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber);
            _inputs0_0.Add(pd7);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd8         = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd8.PropertyName    = "Vernaprog";
            pd8.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Vernaprog);
            _outputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd9.PropertyName    = "MinFinalNumber";
            pd9.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.MinFinalNumber);
            _outputs0_0.Add(pd9);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
示例#3
0
        public SnowAccumulation()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0.0;
            v1.Description  = "maximum daily air temperature (tmax) below which all precipitation is assumed to be snow";
            v1.Id           = 0;
            v1.MaxValue     = 1000;
            v1.MinValue     = 0.0;
            v1.Name         = "tsmax";
            v1.Size         = 1;
            v1.Units        = "degC";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0.0;
            v2.Description  = "tmax above which all precipitation is assumed to be rain";
            v2.Id           = 0;
            v2.MaxValue     = 5000.0;
            v2.MinValue     = 0.0;
            v2.Name         = "trmax";
            v2.Size         = 1;
            v2.Units        = "degC";
            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(SiriusQualitySnow.DomainClass.SnowAuxiliary);
            pd1.PropertyName    = "tmax";
            pd1.PropertyType    = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.tmax).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.tmax);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowAuxiliary);
            pd2.PropertyName    = "precip";
            pd2.PropertyType    = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip);
            _inputs0_0.Add(pd2);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd3         = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd3.PropertyName    = "Snowaccu";
            pd3.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu);
            _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();
        }
示例#4
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(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "fixPhyll";
            pd1.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll);
            _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    = "ptq";
            pd3.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.ptq).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.ptq);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd4.PropertyName    = "gAImean";
            pd4.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.gAImean).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.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(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd5.PropertyName    = "phyllochron";
            pd5.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phyllochron).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phyllochron);
            _outputs0_0.Add(pd5);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public CalculatePhotoperiod()
        {
            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);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd2         = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd2.PropertyName    = "dayLength";
            pd2.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.dayLength)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dayLength);
            _outputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd3.PropertyName    = "photoperiod";
            pd3.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.photoperiod)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.photoperiod);
            _outputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd4.PropertyName    = "radTopAtm";
            pd4.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.radTopAtm)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.radTopAtm);
            _outputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd5.PropertyName    = "solarDeclination";
            pd5.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.solarDeclination)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.solarDeclination);
            _outputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd6.PropertyName    = "dayLengthHorizonZero";
            pd6.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.dayLengthHorizonZero)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.dayLengthHorizonZero);
            _outputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityMeteo.MeteoState);
            pd7.PropertyName    = "radTopAtmHorizonZero";
            pd7.PropertyType    = ((SiriusQualityMeteo.MeteoStateVarInfo.radTopAtmHorizonZero)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityMeteo.MeteoStateVarInfo.radTopAtmHorizonZero);
            _outputs0_0.Add(pd7);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public CalculateShootNumber()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 280;
            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²";
            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 = 600;
            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.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(SiriusQualityPhenology.PhenologyState);
            pd1.PropertyName    = "LeafNumber";
            pd1.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd2.PropertyName    = "CanopyShootNumber";
            pd2.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.CanopyShootNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.CanopyShootNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd3.PropertyName    = "tilleringProfile";
            pd3.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.tilleringProfile)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.tilleringProfile);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd4.PropertyName    = "leafTillerNumberArray";
            pd4.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.leafTillerNumberArray)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.leafTillerNumberArray);
            _inputs0_0.Add(pd4);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd5         = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd5.PropertyName    = "AverageShootNumberPerPlant";
            pd5.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.AverageShootNumberPerPlant)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.AverageShootNumberPerPlant);
            _outputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd6.PropertyName    = "CanopyShootNumber";
            pd6.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.CanopyShootNumber)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.CanopyShootNumber);
            _outputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd7.PropertyName    = "leafTillerNumberArray";
            pd7.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.leafTillerNumberArray)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.leafTillerNumberArray);
            _outputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd8.PropertyName    = "tilleringProfile";
            pd8.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.tilleringProfile)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.tilleringProfile);
            _outputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd9.PropertyName    = "TillerNumber";
            pd9.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.TillerNumber)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.TillerNumber);
            _outputs0_0.Add(pd9);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
示例#7
0
        public CanopyTemperature()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 2.454;
            v1.Description  = "latent heat of vaporization of water";
            v1.Id           = 0;
            v1.MaxValue     = 10;
            v1.MinValue     = 0;
            v1.Name         = "lambdaV";
            v1.Size         = 1;
            v1.Units        = "MJ/kg";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 1.225;
            v2.Description  = "Density of air";
            v2.Id           = 0;
            v2.MaxValue     = 1.225;
            v2.MinValue     = 1.225;
            v2.Name         = "rhoDensityAir";
            v2.Size         = 1;
            v2.Units        = "kg/m**3";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0.00101;
            v3.Description  = "Specific heat capacity of dry air";
            v3.Id           = 0;
            v3.MaxValue     = 0.00101;
            v3.MinValue     = 0.00101;
            v3.Name         = "specificHeatCapacityAir";
            v3.Size         = 1;
            v3.Units        = "MJ/kg/degC";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliary);
            pd1.PropertyName    = "minTair";
            pd1.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.minTair).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.minTair);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliary);
            pd2.PropertyName    = "maxTair";
            pd2.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.maxTair).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceAuxiliaryVarInfo.maxTair);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRate);
            pd3.PropertyName    = "cropHeatFlux";
            pd3.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.cropHeatFlux).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.cropHeatFlux);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceState);
            pd4.PropertyName    = "conductance";
            pd4.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.conductance).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.conductance);
            _inputs0_0.Add(pd4);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd5         = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceState);
            pd5.PropertyName    = "minCanopyTemperature";
            pd5.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.minCanopyTemperature).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.minCanopyTemperature);
            _outputs0_0.Add(pd5);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd6 = new PropertyDescription();
            pd6.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceState);
            pd6.PropertyName    = "maxCanopyTemperature";
            pd6.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.maxCanopyTemperature).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceStateVarInfo.maxCanopyTemperature);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public RegisterZadok()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 300.0;
            v1.Description  = "Duration of the endosperm endoreduplication phase";
            v1.Id           = 0;
            v1.MaxValue     = 10000;
            v1.MinValue     = 0;
            v1.Name         = "der";
            v1.Size         = 1;
            v1.Units        = "°C d";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0.9;
            v2.Description  = "used to calculate Terminal spikelet";
            v2.Id           = 0;
            v2.MaxValue     = 10000;
            v2.MinValue     = 0;
            v2.Name         = "slopeTSFLN";
            v2.Size         = 1;
            v2.Units        = "";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0.9;
            v3.Description  = "used to calculate Terminal spikelet";
            v3.Id           = 0;
            v3.MaxValue     = 10000;
            v3.MinValue     = 0;
            v3.Name         = "intTSFLN";
            v3.Size         = 1;
            v3.Units        = "";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = -1D;
            v4.Description  = " Date of Sowing";
            v4.Id           = 0;
            v4.MaxValue     =;
            v4.MinValue     =;
            v4.Name         = "sowingDate";
            v4.Size         = 1;
            v4.Units        = "";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Date");
            _parameters0_0.Add(v4);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "cumulTT";
            pd1.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd2.PropertyName    = "phase";
            pd2.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd3.PropertyName    = "leafNumber";
            pd3.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.leafNumber);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd4.PropertyName    = "calendarMoments";
            pd4.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd5.PropertyName    = "calendarDates";
            pd5.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd6.PropertyName    = "calendarCumuls";
            pd6.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd7.PropertyName    = "cumulTTFromZC_65";
            pd7.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTTFromZC_65).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTTFromZC_65);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd8.PropertyName    = "currentdate";
            pd8.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd9.PropertyName    = "finalLeafNumber";
            pd9.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber);
            _inputs0_0.Add(pd9);
            PropertyDescription pd10 = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd10.PropertyName    = "currentZadokStage";
            pd10.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage);
            _inputs0_0.Add(pd10);
            PropertyDescription pd11 = new PropertyDescription();

            pd11.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd11.PropertyName    = "hasZadokStageChanged";
            pd11.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged).ValueType.TypeForCurrentValue;
            pd11.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged);
            _inputs0_0.Add(pd11);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd12        = new PropertyDescription();

            pd12.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd12.PropertyName    = "hasZadokStageChanged";
            pd12.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged).ValueType.TypeForCurrentValue;
            pd12.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasZadokStageChanged);
            _outputs0_0.Add(pd12);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd13 = new PropertyDescription();
            pd13.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd13.PropertyName    = "currentZadokStage";
            pd13.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage).ValueType.TypeForCurrentValue;
            pd13.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.currentZadokStage);
            _outputs0_0.Add(pd13);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd14 = new PropertyDescription();
            pd14.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd14.PropertyName    = "calendarMoments";
            pd14.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue;
            pd14.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments);
            _outputs0_0.Add(pd14);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd15 = new PropertyDescription();
            pd15.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd15.PropertyName    = "calendarDates";
            pd15.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue;
            pd15.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates);
            _outputs0_0.Add(pd15);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd16 = new PropertyDescription();
            pd16.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd16.PropertyName    = "calendarCumuls";
            pd16.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue;
            pd16.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls);
            _outputs0_0.Add(pd16);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
示例#9
0
        public CalculateDiffusionExtinctionCoef()
        {
            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    = "layersGAI";
            pd1.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd2.PropertyName    = "ala";
            pd2.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.ala);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd3.PropertyName    = "rhoLeaf";
            pd3.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoLeaf)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoLeaf);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd4.PropertyName    = "tauLeaf";
            pd4.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.tauLeaf)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.tauLeaf);
            _inputs0_0.Add(pd4);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd5         = new PropertyDescription();

            pd5.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd5.PropertyName    = "k_dif";
            pd5.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.k_dif)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.k_dif);
            _outputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd6.PropertyName    = "k_difBlack";
            pd6.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.k_difBlack)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.k_difBlack);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
示例#10
0
        public Penman()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0.66;
            v1.Description  = "psychrometric constant";
            v1.Id           = 0;
            v1.MaxValue     = 1;
            v1.MinValue     = 0;
            v1.Name         = "psychrometricConstant";
            v1.Size         = 1;
            v1.Units        = "hPa/degC";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 1.5;
            v2.Description  = "Priestley-Taylor evapotranspiration proportionality constant";
            v2.Id           = 0;
            v2.MaxValue     = 100;
            v2.MinValue     = 0;
            v2.Name         = "Alpha";
            v2.Size         = 1;
            v2.Units        = "";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 2.454;
            v3.Description  = "latent heat of vaporization of water";
            v3.Id           = 0;
            v3.MaxValue     = 10;
            v3.MinValue     = 0;
            v3.Name         = "lambdaV";
            v3.Size         = 1;
            v3.Units        = "MJ/kg";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 1.225;
            v4.Description  = "Density of air";
            v4.Id           = 0;
            v4.MaxValue     = 1.225;
            v4.MinValue     = 1.225;
            v4.Name         = "rhoDensityAir";
            v4.Size         = 1;
            v4.Units        = "kg/m**3";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

            v5.DefaultValue = 0.00101;
            v5.Description  = "Specific heat capacity of dry air";
            v5.Id           = 0;
            v5.MaxValue     = 1;
            v5.MinValue     = 0;
            v5.Name         = "specificHeatCapacityAir";
            v5.Size         = 1;
            v5.Units        = "(MJ/kg)/degC";
            v5.URL          = "";
            v5.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v5.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v5);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceRate);
            pd1.PropertyName    = "evapoTranspirationPriestlyTaylor";
            pd1.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPriestlyTaylor).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPriestlyTaylor);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary);
            pd2.PropertyName    = "hslope";
            pd2.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.hslope).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.hslope);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary);
            pd3.PropertyName    = "VPDair";
            pd3.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.VPDair).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.VPDair);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceState);
            pd4.PropertyName    = "conductance";
            pd4.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceStateVarInfo.conductance);
            _inputs0_0.Add(pd4);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd5         = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceRate);
            pd5.PropertyName    = "evapoTranspirationPenman";
            pd5.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPenman).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.evapoTranspirationPenman);
            _outputs0_0.Add(pd5);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public CalculatePTQ()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 70;
            v1.Description  = "Thermal time window in which averages are computed";
            v1.Id           = 0;
            v1.MaxValue     = 70000;
            v1.MinValue     = 0;
            v1.Name         = "TTWindowForPTQ";
            v1.Size         = 1;
            v1.Units        = "°Cd";
            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.45;
            v2.Description  = "Exctinction Coefficient";
            v2.Id           = 0;
            v2.MaxValue     = 50;
            v2.MinValue     = 0;
            v2.Name         = "Kl";
            v2.Size         = 1;
            v2.Units        = "dimesionless";
            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(SiriusQualityPhenology.PhenologyState);
            pd1.PropertyName    = "ListTTShootTTWindowForPTQ";
            pd1.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.ListTTShootTTWindowForPTQ)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.ListTTShootTTWindowForPTQ);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd2.PropertyName    = "ListPARTTWindowForPTQ";
            pd2.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.ListPARTTWindowForPTQ)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.ListPARTTWindowForPTQ);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd3.PropertyName    = "ListGAITTWindowForPTQ";
            pd3.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.ListGAITTWindowForPTQ)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.ListGAITTWindowForPTQ);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd4.PropertyName    = "PAR";
            pd4.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.PAR)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.PAR);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd5.PropertyName    = "DeltaTT";
            pd5.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.DeltaTT);
            _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.PhenologyState);
            pd6.PropertyName    = "ListPARTTWindowForPTQ";
            pd6.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.ListPARTTWindowForPTQ)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.ListPARTTWindowForPTQ);
            _outputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd7.PropertyName    = "ListTTShootTTWindowForPTQ";
            pd7.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.ListTTShootTTWindowForPTQ)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.ListTTShootTTWindowForPTQ);
            _outputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd8.PropertyName    = "PTQ";
            pd8.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.PTQ)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.PTQ);
            _outputs0_0.Add(pd8);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public calcTipTT()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 190;
            v1.Description  = "Thermal time from sowing to emergence";
            v1.Id           = 0;
            v1.MaxValue     = 500;
            v1.MinValue     = 0;
            v1.Name         = "Dse";
            v1.Size         = 1;
            v1.Units        = "°Cd";
            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 = 50;
            v2.Description  = "Phyllochron of tip appearence";
            v2.Id           = 0;
            v2.MaxValue     = 1000;
            v2.MinValue     = 0;
            v2.Name         = "atip";
            v2.Size         = 1;
            v2.Units        = "°Cd/leaf";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = -49;
            v3.Description  = "Intercept of the regression of thermal time with tip appearance";
            v3.Id           = 0;
            v3.MaxValue     = 1000;
            v3.MinValue     = -1000;
            v3.Name         = "btip";
            v3.Size         = 1;
            v3.Units        = "°Cd";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd1.PropertyName    = "leafNumber";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "previousLeafNumber";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "newLeafHasAppeared";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd4.PropertyName    = "cumulTTPHenoMaize";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.cumulTTPHenoMaize)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.cumulTTPHenoMaize);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd5.PropertyName    = "deltaTTPhenoMaize";
            pd5.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.deltaTTPhenoMaize)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.deltaTTPhenoMaize);
            _inputs0_0.Add(pd5);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd6         = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState);
            pd6.PropertyName    = "tipTT";
            pd6.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.tipTT)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.tipTT);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public SnowWet()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();

            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd1.PropertyName    = "Swet";
            pd1.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowAuxiliary);
            pd2.PropertyName    = "precip";
            pd2.PropertyType    = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd3.PropertyName    = "Snowaccu";
            pd3.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd4.PropertyName    = "Mrf";
            pd4.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Mrf).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Mrf);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd5.PropertyName    = "M";
            pd5.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.M).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.M);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd6.PropertyName    = "Sdry";
            pd6.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry);
            _inputs0_0.Add(pd6);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd7         = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd7.PropertyName    = "Swet";
            pd7.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet);
            _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();
        }
示例#14
0
        public RegisterZadok()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 300;
            v1.Description  = "Duration of the endosperm endoreduplication phase";
            v1.Id           = 0;
            v1.MaxValue     = 10000;
            v1.MinValue     = 0;
            v1.Name         = "Der";
            v1.Size         = 1;
            v1.Units        = "°Cd";
            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.9;
            v2.Description  = "Slope of the relationship between Haun stage at terminal spikelet and final leaf number";
            v2.Id           = 0;
            v2.MaxValue     = 10000;
            v2.MinValue     = 0;
            v2.Name         = "slopeTSFLN";
            v2.Size         = 1;
            v2.Units        = "-";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 2.6;
            v3.Description  = "Intercept of the relationship between Haun stage at terminal spikelet and final leaf number";
            v3.Id           = 0;
            v3.MaxValue     = 10000;
            v3.MinValue     = 0;
            v3.Name         = "intTSFLN";
            v3.Size         = 1;
            v3.Units        = "leaf";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd1.PropertyName    = "cumulTT";
            pd1.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.cumulTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd2.PropertyName    = "phase_";
            pd2.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.phase_)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.phase_);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd3.PropertyName    = "LeafNumber";
            pd3.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.LeafNumber);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd4.PropertyName    = "cumulTTFromZC_65";
            pd4.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.cumulTTFromZC_65)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.cumulTTFromZC_65);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd5.PropertyName    = "currentdate";
            pd5.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.currentdate)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.currentdate);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd6.PropertyName    = "Calendar";
            pd6.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.Calendar)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Calendar);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd7.PropertyName    = "IsLatestLeafInternodeLengthPotPositive";
            pd7.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.IsLatestLeafInternodeLengthPotPositive)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.IsLatestLeafInternodeLengthPotPositive);
            _inputs0_0.Add(pd7);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd8         = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd8.PropertyName    = "hasZadokStageChanged";
            pd8.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.hasZadokStageChanged)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.hasZadokStageChanged);
            _outputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd9.PropertyName    = "currentZadokStage";
            pd9.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.currentZadokStage)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.currentZadokStage);
            _outputs0_0.Add(pd9);
            PropertyDescription pd10 = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityPhenology.PhenologyState);
            pd10.PropertyName    = "Calendar";
            pd10.PropertyType    = ((SiriusQualityPhenology.PhenologyStateVarInfo.Calendar)).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityPhenology.PhenologyStateVarInfo.Calendar);
            _outputs0_0.Add(pd10);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public MaximumPotentialFinalLAI()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0;
            v1.Description  = "Number of leaves produced after floral initiation";
            v1.Id           = 0;
            v1.MaxValue     = 0;
            v1.MinValue     = 0;
            v1.Name         = "NLL";
            v1.Size         = 1;
            v1.Units        = "leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0;
            v2.Description  = "Maximum potential surface area of the penultimate leaf lamina";
            v2.Id           = 0;
            v2.MaxValue     = 0;
            v2.MinValue     = 0;
            v2.Name         = "AreaPL";
            v2.Size         = 1;
            v2.Units        = "cm²/lamina";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0;
            v3.Description  = "Ratio of flag leaf to penultimate leaf lamina surface area";
            v3.Id           = 0;
            v3.MaxValue     = 0;
            v3.MinValue     = 0;
            v3.Name         = "RatioFLPL";
            v3.Size         = 1;
            v3.Units        = "dimensionless";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 0;
            v4.Description  = "Potential surface area of the leaves produced before floral initiation";
            v4.Id           = 0;
            v4.MaxValue     = 0;
            v4.MinValue     = 0;
            v4.Name         = "AreaSL";
            v4.Size         = 1;
            v4.Units        = "cm²/lamina";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

            v5.DefaultValue = 0;
            v5.Description  = "Potential surface area of the sheath of the leaves produced before floral initiation";
            v5.Id           = 0;
            v5.MaxValue     = 0;
            v5.MinValue     = 0;
            v5.Name         = "AreaSS";
            v5.Size         = 1;
            v5.Units        = "cm²/lamina";
            v5.URL          = "";
            v5.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v5.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v5);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd1.PropertyName    = "newLeafHasAppeared";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "leafNumber";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "roundedFinalLeafNumber";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.roundedFinalLeafNumber)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.roundedFinalLeafNumber);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd4.PropertyName    = "finalLeafNumber";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.finalLeafNumber)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.finalLeafNumber);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd5.PropertyName    = "leafTillerNumberArray";
            pd5.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafTillerNumberArray)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafTillerNumberArray);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd6.PropertyName    = "tilleringProfile";
            pd6.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.tilleringProfile)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.tilleringProfile);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd7.PropertyName    = "isSmallPhytomer";
            pd7.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isSmallPhytomer)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isSmallPhytomer);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd8.PropertyName    = "phytonum";
            pd8.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.phytonum)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.phytonum);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd9.PropertyName    = "index";
            pd9.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.index)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.index);
            _inputs0_0.Add(pd9);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd10        = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd10.PropertyName    = "MaximumPotentialSheathAI";
            pd10.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.MaximumPotentialSheathAI)).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.MaximumPotentialSheathAI);
            _outputs0_0.Add(pd10);
            PropertyDescription pd11 = new PropertyDescription();

            pd11.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd11.PropertyName    = "MaximumPotentialLaminaeAI";
            pd11.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.MaximumPotentialLaminaeAI)).ValueType.TypeForCurrentValue;
            pd11.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.MaximumPotentialLaminaeAI);
            _outputs0_0.Add(pd11);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public SnowDepth()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0.0;
            v1.Description  = "snow compaction parameter";
            v1.Id           = 0;
            v1.MaxValue     =;
            v1.MinValue     =;
            v1.Name         = "E";
            v1.Size         = 1;
            v1.Units        = "mm/mm/d";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 100;
            v2.Description  = "The density of the new snow fixed by the user";
            v2.Id           = 0;
            v2.MaxValue     =;
            v2.MinValue     =;
            v2.Name         = "rho";
            v2.Size         = 1;
            v2.Units        = "kg/m**3";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd1.PropertyName    = "Snowmelt";
            pd1.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Snowmelt).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Snowmelt);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd2.PropertyName    = "Sdepth";
            pd2.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd3.PropertyName    = "Snowaccu";
            pd3.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu);
            _inputs0_0.Add(pd3);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd4         = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd4.PropertyName    = "Sdepth";
            pd4.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth);
            _outputs0_0.Add(pd4);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public Preciprec()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 100;
            v1.Description  = "The density of the new snow fixed by the user";
            v1.Id           = 0;
            v1.MaxValue     =;
            v1.MinValue     =;
            v1.Name         = "rho";
            v1.Size         = 1;
            v1.Units        = "kg/m**3";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd1.PropertyName    = "Sdry";
            pd1.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd2.PropertyName    = "Sdry";
            pd2.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdry);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd3.PropertyName    = "Swet";
            pd3.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd4.PropertyName    = "Swet";
            pd4.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Swet);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd5.PropertyName    = "Sdepth";
            pd5.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd6.PropertyName    = "Sdepth";
            pd6.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd7.PropertyName    = "Mrf";
            pd7.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Mrf).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Mrf);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowAuxiliary);
            pd8.PropertyName    = "precip";
            pd8.PropertyType    = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.precip);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowRate);
            pd9.PropertyName    = "Snowaccu";
            pd9.PropertyType    = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowRateVarInfo.Snowaccu);
            _inputs0_0.Add(pd9);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd10        = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd10.PropertyName    = "preciprec";
            pd10.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.preciprec).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.preciprec);
            _outputs0_0.Add(pd10);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public 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();
        }
        public LeafNumber()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();

            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    = "deltaTT";
            pd1.PropertyType    = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd2.PropertyName    = "phyllochron";
            pd2.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.phyllochron).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.phyllochron);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd3.PropertyName    = "hasFlagLeafLiguleAppeared";
            pd3.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd4.PropertyName    = "leafNumber";
            pd4.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd5.PropertyName    = "phase";
            pd5.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.phase).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.phase);
            _inputs0_0.Add(pd5);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd6         = new PropertyDescription();

            pd6.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd6.PropertyName    = "leafNumber";
            pd6.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafNumber);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public 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(SiriusQualityMaizeLAI.MaizeLAIState);
            pd1.PropertyName    = "FPAW";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.FPAW)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.FPAW);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "isPotentialLAI";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isPotentialLAI)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.isPotentialLAI);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "VPDairCanopy";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.VPDairCanopy)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.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(SiriusQualityMaizeLAI.MaizeLAIState);
            pd4.PropertyName    = "DSF";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.DSF)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.DSF);
            _outputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd5.PropertyName    = "DEF";
            pd5.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.DEF)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.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();
        }
示例#21
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();
        }
        public CalculateConductance()
        {
            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        = "?";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 2;
            v2.Description  = "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.STATE;
            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        = "?";
            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.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        = "?";
            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.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        = "?";
            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    = "plantHeight";
            pd1.PropertyType    = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.plantHeight)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.plantHeight);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityEnergyBalance.EnergyBalanceState);
            pd2.PropertyName    = "wind";
            pd2.PropertyType    = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.wind)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.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.EnergyBalanceState);
            pd3.PropertyName    = "conductance";
            pd3.PropertyType    = ((SiriusQualityEnergyBalance.EnergyBalanceStateVarInfo.conductance)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityEnergyBalance.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();
        }
示例#23
0
        public UpdateLeafFlag()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();

            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "cumulTT";
            pd1.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd2.PropertyName    = "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    = "calendarMoments";
            pd3.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd4.PropertyName    = "calendarDates";
            pd4.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd5.PropertyName    = "calendarCumuls";
            pd5.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd6.PropertyName    = "currentdate";
            pd6.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.currentdate);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd7.PropertyName    = "finalLeafNumber";
            pd7.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.finalLeafNumber);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd8.PropertyName    = "hasFlagLeafLiguleAppeared";
            pd8.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd9.PropertyName    = "phase";
            pd9.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.phase);
            _inputs0_0.Add(pd9);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd10        = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd10.PropertyName    = "hasFlagLeafLiguleAppeared";
            pd10.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.hasFlagLeafLiguleAppeared);
            _outputs0_0.Add(pd10);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd11 = new PropertyDescription();
            pd11.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd11.PropertyName    = "calendarMoments";
            pd11.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments).ValueType.TypeForCurrentValue;
            pd11.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarMoments);
            _outputs0_0.Add(pd11);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd12 = new PropertyDescription();
            pd12.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd12.PropertyName    = "calendarDates";
            pd12.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates).ValueType.TypeForCurrentValue;
            pd12.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarDates);
            _outputs0_0.Add(pd12);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd13 = new PropertyDescription();
            pd13.DomainClassType = typeof(SiriusQualityPhenology.DomainClass.PhenologyState);
            pd13.PropertyName    = "calendarCumuls";
            pd13.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls).ValueType.TypeForCurrentValue;
            pd13.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyStateVarInfo.calendarCumuls);
            _outputs0_0.Add(pd13);
            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();
        }
示例#24
0
        public Phenology()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new CompositeStrategyVarInfo(_calculateleafnumber, "SwitchMaize");

            _parameters0_0.Add(v1);
            VarInfo v2 = new CompositeStrategyVarInfo(_calculateleafnumber, "atip");

            _parameters0_0.Add(v2);
            VarInfo v3 = new CompositeStrategyVarInfo(_calculateleafnumber, "Leaf_tip_emerg");

            _parameters0_0.Add(v3);
            VarInfo v4 = new CompositeStrategyVarInfo(_calculateleafnumber, "k_bl");

            _parameters0_0.Add(v4);
            VarInfo v5 = new CompositeStrategyVarInfo(_calculateleafnumber, "Nlim");

            _parameters0_0.Add(v5);
            VarInfo v6 = new CompositeStrategyVarInfo(_calculatephyllochron, "Ldecr");

            _parameters0_0.Add(v6);
            VarInfo v7 = new CompositeStrategyVarInfo(_calculatephyllochron, "Lincr");

            _parameters0_0.Add(v7);
            VarInfo v8 = new CompositeStrategyVarInfo(_calculatephyllochron, "Pdecr");

            _parameters0_0.Add(v8);
            VarInfo v9 = new CompositeStrategyVarInfo(_calculatephyllochron, "Pincr");

            _parameters0_0.Add(v9);
            VarInfo v10 = new CompositeStrategyVarInfo(_calculatephyllochron, "FixPhyll");

            _parameters0_0.Add(v10);
            VarInfo v11 = new CompositeStrategyVarInfo(_calculateshootnumber, "SowingDensity");

            _parameters0_0.Add(v11);
            VarInfo v12 = new CompositeStrategyVarInfo(_calculateshootnumber, "TargetFertileShoot");

            _parameters0_0.Add(v12);
            VarInfo v13 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "AMNFLNO");

            _parameters0_0.Add(v13);
            VarInfo v14 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "IsVernalizable");

            _parameters0_0.Add(v14);
            VarInfo v15 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "MinTvern");

            _parameters0_0.Add(v15);
            VarInfo v16 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "IntTvern");

            _parameters0_0.Add(v16);
            VarInfo v17 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "VAI");

            _parameters0_0.Add(v17);
            VarInfo v18 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "VBEE");

            _parameters0_0.Add(v18);
            VarInfo v19 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "MinDL");

            _parameters0_0.Add(v19);
            VarInfo v20 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "MaxDL");

            _parameters0_0.Add(v20);
            VarInfo v21 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "MaxTvern");

            _parameters0_0.Add(v21);
            VarInfo v22 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "PNini");

            _parameters0_0.Add(v22);
            VarInfo v23 = new CompositeStrategyVarInfo(_calculatevernalizationprogress, "AMXLFNO");

            _parameters0_0.Add(v23);
            VarInfo v24 = new CompositeStrategyVarInfo(_registerzadok, "Der");

            _parameters0_0.Add(v24);
            VarInfo v25 = new CompositeStrategyVarInfo(_registerzadok, "slopeTSFLN");

            _parameters0_0.Add(v25);
            VarInfo v26 = new CompositeStrategyVarInfo(_registerzadok, "intTSFLN");

            _parameters0_0.Add(v26);
            VarInfo v27 = new CompositeStrategyVarInfo(_updatephase, "IsVernalizable");

            _parameters0_0.Add(v27);
            VarInfo v28 = new CompositeStrategyVarInfo(_updatephase, "Dse");

            _parameters0_0.Add(v28);
            VarInfo v29 = new CompositeStrategyVarInfo(_updatephase, "PFLLAnth");

            _parameters0_0.Add(v29);
            VarInfo v30 = new CompositeStrategyVarInfo(_updatephase, "FixPhyll");

            _parameters0_0.Add(v30);
            VarInfo v31 = new CompositeStrategyVarInfo(_updatephase, "Dcd");

            _parameters0_0.Add(v31);
            VarInfo v32 = new CompositeStrategyVarInfo(_updatephase, "Dgf");

            _parameters0_0.Add(v32);
            VarInfo v33 = new CompositeStrategyVarInfo(_updatephase, "Degfm");

            _parameters0_0.Add(v33);
            VarInfo v34 = new CompositeStrategyVarInfo(_updatephase, "MaxDL");

            _parameters0_0.Add(v34);
            VarInfo v35 = new CompositeStrategyVarInfo(_updatephase, "SLDL");

            _parameters0_0.Add(v35);
            VarInfo v36 = new CompositeStrategyVarInfo(_updatephase, "IgnoreGrainMaturation");

            _parameters0_0.Add(v36);
            VarInfo v37 = new CompositeStrategyVarInfo(_updatephase, "PHEADANTH");

            _parameters0_0.Add(v37);
            VarInfo v38 = new CompositeStrategyVarInfo(_updatephase, "SwitchMaize");

            _parameters0_0.Add(v38);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();

            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();

            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.CalculateLeafNumber).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.CalculatePhyllochron).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.CalculateShootNumber).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.CalculateVernalizationProgress).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.RegisterZadok).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.UpdateLeafFlag).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityPhenology.Strategies.UpdatePhase).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();
        }
示例#25
0
        public WheatLAI()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "LowerFPAWexp");

            _parameters0_0.Add(v1);
            VarInfo v2 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "UpperFPAWexp");

            _parameters0_0.Add(v2);
            VarInfo v3 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "MaxDSF");

            _parameters0_0.Add(v3);
            VarInfo v4 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "LowerFPAWsen");

            _parameters0_0.Add(v4);
            VarInfo v5 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "UpperFPAWsen");

            _parameters0_0.Add(v5);
            VarInfo v6 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "UpperVPD");

            _parameters0_0.Add(v6);
            VarInfo v7 = new CompositeStrategyVarInfo(_leafexpansiondroughtfactor, "LowerVPD");

            _parameters0_0.Add(v7);
            VarInfo v8 = new CompositeStrategyVarInfo(_maximumpotentialfinallai, "NLL");

            _parameters0_0.Add(v8);
            VarInfo v9 = new CompositeStrategyVarInfo(_maximumpotentialfinallai, "AreaPL");

            _parameters0_0.Add(v9);
            VarInfo v10 = new CompositeStrategyVarInfo(_maximumpotentialfinallai, "RatioFLPL");

            _parameters0_0.Add(v10);
            VarInfo v11 = new CompositeStrategyVarInfo(_maximumpotentialfinallai, "AreaSL");

            _parameters0_0.Add(v11);
            VarInfo v12 = new CompositeStrategyVarInfo(_maximumpotentialfinallai, "AreaSS");

            _parameters0_0.Add(v12);
            VarInfo v13 = new CompositeStrategyVarInfo(_waterlimitedleafexpansion, "PexpL");

            _parameters0_0.Add(v13);
            VarInfo v14 = new CompositeStrategyVarInfo(_waterlimitedleafexpansion, "SLNmin");

            _parameters0_0.Add(v14);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();

            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();

            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            lAssStrat0_0.Add(typeof(SiriusQualityWheatLAI.Strategies.LeafExpansionDroughtFactor).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityWheatLAI.Strategies.MaximumPotentialFinalLAI).FullName);
            lAssStrat0_0.Add(typeof(SiriusQualityWheatLAI.Strategies.WaterLimitedLeafExpansion).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();
        }
示例#26
0
        public calcStartExpTT()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 50;
            v1.Description  = "Phyllochron of tip appearence";
            v1.Id           = 0;
            v1.MaxValue     = 1000;
            v1.MinValue     = 0;
            v1.Name         = "atip";
            v1.Size         = 1;
            v1.Units        = "°C/leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 1.412;
            v2.Description  = "Fraction of slope for leaf initiation for upper group of maize leaf";
            v2.Id           = 0;
            v2.MaxValue     = 10;
            v2.MinValue     = 0;
            v2.Name         = "k_bl";
            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 = 6.617;
            v3.Description  = "limite number for upper group of leaves";
            v3.Id           = 0;
            v3.MaxValue     = 30;
            v3.MinValue     = 0;
            v3.Name         = "Nlim";
            v3.Size         = 1;
            v3.Units        = "leaf";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 500;
            v4.Description  = "Thermal time of the appearance of the first leaf ";
            v4.Id           = 0;
            v4.MaxValue     = 1000;
            v4.MinValue     = 0;
            v4.Name         = "btip";
            v4.Size         = 1;
            v4.Units        = "°Cd";
            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 = 190;
            v5.Description  = "Thermal time from sowing to emergence";
            v5.Id           = 0;
            v5.MaxValue     = 500;
            v5.MinValue     = 0;
            v5.Name         = "Dse";
            v5.Size         = 1;
            v5.Units        = "°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(SiriusQualityMaizeLAI.MaizeLeafState);
            pd1.PropertyName    = "tipTT";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.tipTT)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.tipTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "leafNumber";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "previousLeafNumber";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd4.PropertyName    = "newLeafHasAppeared";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared);
            _inputs0_0.Add(pd4);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd5         = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState);
            pd5.PropertyName    = "startExpTT";
            pd5.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.startExpTT)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.startExpTT);
            _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();
        }
示例#27
0
        public GAImean()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0.0;
            v1.Description  = "Thermal Time window for average";
            v1.Id           = 0;
            v1.MaxValue     = 5000.0;
            v1.MinValue     = 0.0;
            v1.Name         = "tTWindowForPTQ";
            v1.Size         = 1;
            v1.Units        = "°C d";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "gAI";
            pd1.PropertyType    = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary);
            pd2.PropertyName    = "deltaTT";
            pd2.PropertyType    = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.deltaTT);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd3.PropertyName    = "pastMaxAI";
            pd3.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.pastMaxAI).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.pastMaxAI);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd4.PropertyName    = "listTTShootWindowForPTQ1";
            pd4.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd5.PropertyName    = "listGAITTWindowForPTQ";
            pd5.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ);
            _inputs0_0.Add(pd5);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd6         = new PropertyDescription();

            pd6.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd6.PropertyName    = "gAImean";
            pd6.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.gAImean).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.gAImean);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd7 = new PropertyDescription();
            pd7.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd7.PropertyName    = "pastMaxAI";
            pd7.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.pastMaxAI).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.pastMaxAI);
            _outputs0_0.Add(pd7);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd8 = new PropertyDescription();
            pd8.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd8.PropertyName    = "listTTShootWindowForPTQ1";
            pd8.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.listTTShootWindowForPTQ1);
            _outputs0_0.Add(pd8);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd9 = new PropertyDescription();
            pd9.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd9.PropertyName    = "listGAITTWindowForPTQ";
            pd9.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.listGAITTWindowForPTQ);
            _outputs0_0.Add(pd9);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public calcLER()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 4.25;
            v1.Description  = "potential growth of leaf 6";
            v1.Id           = 0;
            v1.MaxValue     = 10;
            v1.MinValue     = -10;
            v1.Name         = "LERa";
            v1.Size         = 1;
            v1.Units        = "mm/dd";
            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.15;
            v2.Description  = "effect of vapor pressure deficit on leaf 6 elongation";
            v2.Id           = 0;
            v2.MaxValue     = 10;
            v2.MinValue     = -10;
            v2.Name         = "LERb";
            v2.Size         = 1;
            v2.Units        = "mm/[dd.kPa]";
            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 = 3.69;
            v3.Description  = "effect of soil water deficit on leaf 6 elongation";
            v3.Id           = 0;
            v3.MaxValue     = 10;
            v3.MinValue     = -10;
            v3.Name         = "LERc";
            v3.Size         = 1;
            v3.Units        = "mm/[dd.Bars]";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd1.PropertyName    = "FPAW";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.FPAW)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.FPAW);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "VPDeq";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.VPDeq)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.VPDeq);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "TCanopyHourly";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.TCanopyHourly)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.TCanopyHourly);
            _inputs0_0.Add(pd3);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd4         = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd4.PropertyName    = "LER";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.LER)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.LER);
            _outputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd5.PropertyName    = "hLER";
            pd5.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.hLER)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.hLER);
            _outputs0_0.Add(pd5);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
        public TempMin()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 0.0;
            v1.Description  = "snow cover threshold for snow insulation ";
            v1.Id           = 0;
            v1.MaxValue     = 1000;
            v1.MinValue     = 0.0;
            v1.Name         = "prof";
            v1.Size         = 1;
            v1.Units        = "cm";
            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  = "minimum temperature when snow cover is higher than prof";
            v2.Id           = 0;
            v2.MaxValue     = 5000.0;
            v2.MinValue     = 0.0;
            v2.Name         = "tminseuil";
            v2.Size         = 1;
            v2.Units        = "degC";
            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.0;
            v3.Description  = "maximum temperature when snow cover is higher than prof";
            v3.Id           = 0;
            v3.MaxValue     =;
            v3.MinValue     =;
            v3.Name         = "tmaxseuil";
            v3.Size         = 1;
            v3.Units        = "degC";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;

            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd1.PropertyName    = "Sdepth_cm";
            pd1.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth_cm).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.Sdepth_cm);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowAuxiliary);
            pd2.PropertyName    = "tmin";
            pd2.PropertyType    = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.tmin).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowAuxiliaryVarInfo.tmin);
            _inputs0_0.Add(pd2);
            mo0_0.Inputs = _inputs0_0;

            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd3         = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualitySnow.DomainClass.SnowState);
            pd3.PropertyName    = "tminrec";
            pd3.PropertyType    = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.tminrec).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualitySnow.DomainClass.SnowStateVarInfo.tminrec);
            _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();
        }
示例#30
0
        public calcLiguleTT()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 137;
            v1.Description  = "Intercept of the regression of thermal time with tip appearance";
            v1.Id           = 0;
            v1.MaxValue     = 10000;
            v1.MinValue     = 0;
            v1.Name         = "b_ll1";
            v1.Size         = 1;
            v1.Units        = "°Cd";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 2.4;
            v2.Description  = "fraction of the leaf ligulation slope corresponding to the upper group of maize leaves";
            v2.Id           = 0;
            v2.MaxValue     = 10;
            v2.MinValue     = 0;
            v2.Name         = "k_ll";
            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 = 100;
            v3.Description  = "Phyllochron of first phase of ligulation";
            v3.Id           = 0;
            v3.MaxValue     = 1000;
            v3.MinValue     = 0;
            v3.Name         = "a_ll1";
            v3.Size         = 1;
            v3.Units        = "°Cd/leaf";
            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 = 16;
            v4.Description  = "Final Leaf Number";
            v4.Id           = 0;
            v4.MaxValue     = 30;
            v4.MinValue     = 0;
            v4.Name         = "Nfinal";
            v4.Size         = 1;
            v4.Units        = "leaf";
            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 = 190;
            v5.Description  = "Thermal time from sowing to emergence";
            v5.Id           = 0;
            v5.MaxValue     = 500;
            v5.MinValue     = 0;
            v5.Name         = "Dse";
            v5.Size         = 1;
            v5.Units        = "°Cd";
            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.5;
            v6.Description  = "Fraction of Final leaf number corresponding to the lower group of Maize leaves";
            v6.Id           = 0;
            v6.MaxValue     = 1;
            v6.MinValue     = 0;
            v6.Name         = "alpha_tr";
            v6.Size         = 1;
            v6.Units        = "dimensionless";
            v6.URL          = "";
            v6.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v6.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v6);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd1.PropertyName    = "leafNumber";
            pd1.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.leafNumber);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd2.PropertyName    = "previousLeafNumber";
            pd2.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.previousLeafNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLAIState);
            pd3.PropertyName    = "newLeafHasAppeared";
            pd3.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLAIStateVarInfo.newLeafHasAppeared);
            _inputs0_0.Add(pd3);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd4         = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityMaizeLAI.MaizeLeafState);
            pd4.PropertyName    = "liguleTT";
            pd4.PropertyType    = ((SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.liguleTT)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityMaizeLAI.MaizeLeafStateVarInfo.liguleTT);
            _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();
        }