public CalculateMinMaxDailyWindSpeed()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 1;
            v1.Description  = "Shift in hour from sunrise time when wind begins to blow";
            v1.Id           = 0;
            v1.MaxValue     = 24;
            v1.MinValue     = 1;
            v1.Name         = "hourOfBlowingBeginingT1";
            v1.Size         = 1;
            v1.Units        = "hour of the day";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 2;
            v2.Description  = "Shift in hour from sunset when wind stop blowing";
            v2.Id           = 0;
            v2.MaxValue     = 24;
            v2.MinValue     = 1;
            v2.Name         = "hourOfBlowingStopT3";
            v2.Size         = 1;
            v2.Units        = "hour of the day";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0.0025;
            v3.Description  = "Fraction of daily mean wind speed for the night time (minimum) wind speed calculation";
            v3.Id           = 0;
            v3.MaxValue     = 10;
            v3.MinValue     = 0;
            v3.Name         = "nightTimeWindFactor";
            v3.Size         = 1;
            v3.Units        = "dimensionless";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
예제 #2
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(SiriusQualityPhenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "gAI";
            pd1.PropertyType    = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityPhenology.DomainClass.PhenologyAuxiliaryVarInfo.gAI);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

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

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

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

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

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

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

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
예제 #3
0
        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(Phenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "cumulTT";
            pd1.PropertyType    = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.cumulTT);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

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

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

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

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

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

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

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

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

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

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

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

            v1.DefaultValue = 1;
            v1.Description  = "Day of Year at sowing";
            v1.Id           = 0;
            v1.MaxValue     = 365;
            v1.MinValue     = 1;
            v1.Name         = "sowingDay";
            v1.Size         = 1;
            v1.Units        = "d";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0.0;
            v2.Description  = "Latitude";
            v2.Id           = 0;
            v2.MaxValue     = 90;
            v2.MinValue     = -90;
            v2.Name         = "latitude";
            v2.Size         = 1;
            v2.Units        = "°";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 1.0;
            v3.Description  = "Sowing date at which Phyllochrone is maximum in southern hemispher";
            v3.Id           = 0;
            v3.MaxValue     = 365;
            v3.MinValue     = 1;
            v3.Name         = "sDsa_sh";
            v3.Size         = 1;
            v3.Units        = "d";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 0;
            v4.Description  = "Rate of change of Phyllochrone with sowing date";
            v4.Id           = 0;
            v4.MaxValue     = 365;
            v4.MinValue     = 0;
            v4.Name         = "rp";
            v4.Size         = 1;
            v4.Units        = "d-1";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

            v5.DefaultValue = 1;
            v5.Description  = "Sowing date at which Phyllochrone is minimum";
            v5.Id           = 0;
            v5.MaxValue     = 365;
            v5.MinValue     = 1;
            v5.Name         = "sDws";
            v5.Size         = 1;
            v5.Units        = "d";
            v5.URL          = "";
            v5.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v5.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
            _parameters0_0.Add(v5);
            VarInfo v6 = new VarInfo();

            v6.DefaultValue = 1.0;
            v6.Description  = "Sowing date at which Phyllochrone is maximum in northern hemispher";
            v6.Id           = 0;
            v6.MaxValue     = 365;
            v6.MinValue     = 1;
            v6.Name         = "sDsa_nh";
            v6.Size         = 1;
            v6.Units        = "d";
            v6.URL          = "";
            v6.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v6.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v6);
            VarInfo v7 = new VarInfo();

            v7.DefaultValue = 120;
            v7.Description  = "Phyllochron (Varietal parameter)";
            v7.Id           = 0;
            v7.MaxValue     = 1000;
            v7.MinValue     = 0;
            v7.Name         = "p";
            v7.Size         = 1;
            v7.Units        = "°C d leaf-1";
            v7.URL          = "";
            v7.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v7.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v7);
            mo0_0.Parameters = _parameters0_0;

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

            mo0_0.Inputs = _inputs0_0;

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

            pd1.DomainClassType = typeof(Phenology.DomainClass.PhenologyAuxiliary);
            pd1.PropertyName    = "fixPhyll";
            pd1.PropertyType    = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (Phenology.DomainClass.PhenologyAuxiliaryVarInfo.fixPhyll);
            _outputs0_0.Add(pd1);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

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

            v1.DefaultValue = 0.45;
            v1.Description  = "Extinction coefficient of PAR irradiance through the canopy (no distinction between direct and diffuse fractions)";
            v1.Id           = 0;
            v1.MaxValue     = 10;
            v1.MinValue     = 0;
            v1.Name         = "Kl";
            v1.Size         = 1;
            v1.Units        = "-";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous);
            pd1.PropertyName    = "incidentDiffuseIrradiance";
            pd1.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous);
            pd2.PropertyName    = "incidentDirectIrradiance";
            pd2.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

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

            pd4.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Rates);
            pd4.PropertyName    = "absorbedGlobalIrradiance";
            pd4.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedGlobalIrradiance)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedGlobalIrradiance);
            _outputs0_0.Add(pd4);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

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

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

            v1.DefaultValue = 0.806;
            v1.Description  = "Mean leaf angle for a ellipsoidal distribution during at terminal spikelet (GS30)";
            v1.Id           = 0;
            v1.MaxValue     = 7;
            v1.MinValue     = 0;
            v1.Name         = "alaJuv";
            v1.Size         = 1;
            v1.Units        = "rd";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 1.216;
            v2.Description  = "Mean leaf angle for a ellipsoidal distribution at flag leaf ligule (GS39)";
            v2.Id           = 0;
            v2.MaxValue     = 7;
            v2.MinValue     = 0;
            v2.Name         = "alaMat";
            v2.Size         = 1;
            v2.Units        = "rd";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

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

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

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

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

            v1.DefaultValue = 1.98;
            v1.Description  = "Critical area-based nitrogen content for leaf expansion";
            v1.Id           = 0;
            v1.MaxValue     = 100;
            v1.MinValue     = 0;
            v1.Name         = "SLNcri";
            v1.Size         = 1;
            v1.Units        = "g(N)/m²(leaf)";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 1.1;
            v2.Description  = "Phyllochronic duration of leaf lamina expansion";
            v2.Id           = 0;
            v2.MaxValue     = 100;
            v2.MinValue     = 0;
            v2.Name         = "PexpL";
            v2.Size         = 1;
            v2.Units        = "phyllochron";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd1.PropertyName    = "cumulTTShoot";
            pd1.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.cumulTTShoot)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.cumulTTShoot);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd2.PropertyName    = "potentialIncDeltaArea";
            pd2.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.potentialIncDeltaArea);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd3.PropertyName    = "incDeltaAreaLimitSF";
            pd3.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaAreaLimitSF);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd4.PropertyName    = "WaterLimitedPotDeltaAIList";
            pd4.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.WaterLimitedPotDeltaAIList);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd5.PropertyName    = "availableN";
            pd5.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.availableN)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.availableN);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd6.PropertyName    = "LaminaAI";
            pd6.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd7.PropertyName    = "MaxAI";
            pd7.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd8.PropertyName    = "State";
            pd8.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.State)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.State);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd9.PropertyName    = "Phyllochron";
            pd9.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.Phyllochron)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.Phyllochron);
            _inputs0_0.Add(pd9);
            PropertyDescription pd10 = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd10.PropertyName    = "TTem";
            pd10.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.TTem)).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.TTem);
            _inputs0_0.Add(pd10);
            PropertyDescription pd11 = new PropertyDescription();

            pd11.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd11.PropertyName    = "SheathAI";
            pd11.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI)).ValueType.TypeForCurrentValue;
            pd11.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI);
            _inputs0_0.Add(pd11);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd12        = new PropertyDescription();

            pd12.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd12.PropertyName    = "MaxAI";
            pd12.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI)).ValueType.TypeForCurrentValue;
            pd12.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.MaxAI);
            _outputs0_0.Add(pd12);
            PropertyDescription pd13 = new PropertyDescription();

            pd13.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd13.PropertyName    = "incDeltaArea";
            pd13.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaArea)).ValueType.TypeForCurrentValue;
            pd13.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.incDeltaArea);
            _outputs0_0.Add(pd13);
            PropertyDescription pd14 = new PropertyDescription();

            pd14.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd14.PropertyName    = "deltaAI";
            pd14.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.deltaAI)).ValueType.TypeForCurrentValue;
            pd14.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.deltaAI);
            _outputs0_0.Add(pd14);
            PropertyDescription pd15 = new PropertyDescription();

            pd15.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd15.PropertyName    = "GAI";
            pd15.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.GAI)).ValueType.TypeForCurrentValue;
            pd15.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.GAI);
            _outputs0_0.Add(pd15);
            PropertyDescription pd16 = new PropertyDescription();

            pd16.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd16.PropertyName    = "LaminaAI";
            pd16.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI)).ValueType.TypeForCurrentValue;
            pd16.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.LaminaAI);
            _outputs0_0.Add(pd16);
            PropertyDescription pd17 = new PropertyDescription();

            pd17.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd17.PropertyName    = "SheathAI";
            pd17.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI)).ValueType.TypeForCurrentValue;
            pd17.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.SheathAI);
            _outputs0_0.Add(pd17);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

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

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

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

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

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

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

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

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

            pd3.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceRate);
            pd3.PropertyName    = "cropHeatFlux";
            pd3.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.cropHeatFlux).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceRateVarInfo.cropHeatFlux);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

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

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

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

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

            v1.DefaultValue = 288.0;
            v1.Description  = "number of plant /m²";
            v1.Id           = 0;
            v1.MaxValue     = 500;
            v1.MinValue     = 0;
            v1.Name         = "sowingDensity";
            v1.Size         = 1;
            v1.Units        = "plant m-2";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 600.0;
            v2.Description  = "max value of shoot number for the canopy";
            v2.Id           = 0;
            v2.MaxValue     = 1000;
            v2.MinValue     = 280;
            v2.Name         = "targetFertileShoot";
            v2.Size         = 1;
            v2.Units        = "shoot";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            mo0_0.Parameters = _parameters0_0;

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

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

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

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

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

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

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

            pd6.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd6.PropertyName    = "averageShootNumberPerPlant";
            pd6.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.averageShootNumberPerPlant);
            _outputs0_0.Add(pd6);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd7 = new PropertyDescription();
            pd7.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd7.PropertyName    = "canopyShootNumber";
            pd7.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.canopyShootNumber);
            _outputs0_0.Add(pd7);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd8 = new PropertyDescription();
            pd8.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd8.PropertyName    = "leafTillerNumberArray";
            pd8.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.leafTillerNumberArray);
            _outputs0_0.Add(pd8);
            mo0_0.Outputs       = _outputs0_0; PropertyDescription pd9 = new PropertyDescription();
            pd9.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd9.PropertyName    = "tilleringProfile";
            pd9.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.tilleringProfile);
            _outputs0_0.Add(pd9);
            mo0_0.Outputs        = _outputs0_0; PropertyDescription pd10 = new PropertyDescription();
            pd10.DomainClassType = typeof(Phenology.DomainClass.PhenologyState);
            pd10.PropertyName    = "numberTillerCohort";
            pd10.PropertyType    = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (Phenology.DomainClass.PhenologyStateVarInfo.numberTillerCohort);
            _outputs0_0.Add(pd10);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
예제 #10
0
        public CalculateAbsDirectDiffuseIradianceCanopy()
        {
            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(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd1.PropertyName    = "rhoCanopyDiff";
            pd1.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoCanopyDiff)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.rhoCanopyDiff);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

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

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

            pd4.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.States);
            pd4.PropertyName    = "layersGAI";
            pd4.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.StatesVarInfo.layersGAI);
            _inputs0_0.Add(pd4);
            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);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous);
            pd6.PropertyName    = "incidentDiffuseIrradiance";
            pd6.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDiffuseIrradiance);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Exogenous);
            pd7.PropertyName    = "incidentDirectIrradiance";
            pd7.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.ExogenousVarInfo.incidentDirectIrradiance);
            _inputs0_0.Add(pd7);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd8         = new PropertyDescription();

            pd8.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Rates);
            pd8.PropertyName    = "absorbedDirIrradiance";
            pd8.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedDirIrradiance)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedDirIrradiance);
            _outputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(INRA.SiriusQualityIrradiance.Interfaces.Rates);
            pd9.PropertyName    = "absorbedDiffIrradiance";
            pd9.PropertyType    = ((INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedDiffIrradiance)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (INRA.SiriusQualityIrradiance.Interfaces.RatesVarInfo.absorbedDiffIrradiance);
            _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();
        }
예제 #11
0
        public DeltaLAIMaize()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd1.PropertyName    = "newLeafHasAppeared";
            pd1.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.newLeafHasAppeared)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.newLeafHasAppeared);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd2.PropertyName    = "leafNumber";
            pd2.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafNumber)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafNumber);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd3.PropertyName    = "roundedFinalLeafNumber";
            pd3.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.roundedFinalLeafNumber);
            _inputs0_0.Add(pd3);
            PropertyDescription pd4 = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd4.PropertyName    = "finalLeafNumber";
            pd4.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.finalLeafNumber);
            _inputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd5.PropertyName    = "leafTillerNumberArray";
            pd5.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafTillerNumberArray)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.leafTillerNumberArray);
            _inputs0_0.Add(pd5);
            PropertyDescription pd6 = new PropertyDescription();

            pd6.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd6.PropertyName    = "tilleringProfile";
            pd6.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.tilleringProfile)).ValueType.TypeForCurrentValue;
            pd6.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.tilleringProfile);
            _inputs0_0.Add(pd6);
            PropertyDescription pd7 = new PropertyDescription();

            pd7.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd7.PropertyName    = "phytonum";
            pd7.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.phytonum)).ValueType.TypeForCurrentValue;
            pd7.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.phytonum);
            _inputs0_0.Add(pd7);
            PropertyDescription pd8 = new PropertyDescription();

            pd8.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd8.PropertyName    = "index";
            pd8.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.index)).ValueType.TypeForCurrentValue;
            pd8.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.index);
            _inputs0_0.Add(pd8);
            PropertyDescription pd9 = new PropertyDescription();

            pd9.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLeafState);
            pd9.PropertyName    = "isSmallPhytomer";
            pd9.PropertyType    = ((SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer)).ValueType.TypeForCurrentValue;
            pd9.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLeafStateVarInfo.isSmallPhytomer);
            _inputs0_0.Add(pd9);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd10        = new PropertyDescription();

            pd10.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd10.PropertyName    = "MaximumPotentialSheathAI";
            pd10.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialSheathAI)).ValueType.TypeForCurrentValue;
            pd10.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.MaximumPotentialSheathAI);
            _outputs0_0.Add(pd10);
            PropertyDescription pd11 = new PropertyDescription();

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
예제 #13
0
        public calcInitTT()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 2;
            v1.Description  = "number of leaves initiated at plant emergence";
            v1.Id           = 0;
            v1.MaxValue     = 50;
            v1.MinValue     = 0;
            v1.Name         = "leafNoInitEmerg";
            v1.Size         = 1;
            v1.Units        = "leaves";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0.1;
            v2.Description  = "leaf initiation rate";
            v2.Id           = 0;
            v2.MaxValue     = 10;
            v2.MinValue     = 0;
            v2.Name         = "LIR";
            v2.Size         = 1;
            v2.Units        = "leaf/°Cd";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 28;
            v3.Description  = "Thermal time of floral initiations of leaves created before emergence";
            v3.Id           = 0;
            v3.MaxValue     = 150;
            v3.MinValue     = 0;
            v3.Name         = "ttinitflo";
            v3.Size         = 1;
            v3.Units        = "°Cd";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

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

            v1.DefaultValue = 16;
            v1.Description  = "Final Leaf Number";
            v1.Id           = 0;
            v1.MaxValue     = 30;
            v1.MinValue     = 0;
            v1.Name         = "Nfinal";
            v1.Size         = 1;
            v1.Units        = "leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 6;
            v2.Description  = "Slope of the lag during expension wrt leaf index";
            v2.Id           = 0;
            v2.MaxValue     = 50;
            v2.MinValue     = 0;
            v2.Name         = "Lagmax";
            v2.Size         = 1;
            v2.Units        = "°Cd/leaf";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 6;
            v3.Description  = "Number of last leaves that finish their expansion at the same thermal time";
            v3.Id           = 0;
            v3.MaxValue     = 30;
            v3.MinValue     = 0;
            v3.Name         = "Nlast";
            v3.Size         = 1;
            v3.Units        = "leaf";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

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

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

            v1.DefaultValue = 0.1;
            v1.Description  = "Fraction of plant available water below which the rate of leaf expansion equals zer";
            v1.Id           = 0;
            v1.MaxValue     = 1;
            v1.MinValue     = 0;
            v1.Name         = "LowerFPAWexp";
            v1.Size         = 1;
            v1.Units        = "dimensionless";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 0.5;
            v2.Description  = "Fraction of plant available water threshold below which the rate of leaf expansion starts to decrease";
            v2.Id           = 0;
            v2.MaxValue     = 1;
            v2.MinValue     = 0;
            v2.Name         = "UpperFPAWexp";
            v2.Size         = 1;
            v2.Units        = "dimensionless";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 4.5;
            v3.Description  = "Maximum rate of acceleration of leaf senescence in response to soil water deficit";
            v3.Id           = 0;
            v3.MaxValue     = 100;
            v3.MinValue     = 0;
            v3.Name         = "MaxDSF";
            v3.Size         = 1;
            v3.Units        = "dimensionless";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 0.1;
            v4.Description  = "Fraction of plant available water value below which DSFmax is reached";
            v4.Id           = 0;
            v4.MaxValue     = 1;
            v4.MinValue     = 0;
            v4.Name         = "LowerFPAWsen";
            v4.Size         = 1;
            v4.Units        = "dimensionless";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

            v5.DefaultValue = 0.4;
            v5.Description  = "Fraction of plant available water threshold below which the rate of leaf senescence starts to accelerate";
            v5.Id           = 0;
            v5.MaxValue     = 1;
            v5.MinValue     = 0;
            v5.Name         = "UpperFPAWsen";
            v5.Size         = 1;
            v5.Units        = "dimensionless";
            v5.URL          = "";
            v5.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v5.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v5);
            VarInfo v6 = new VarInfo();

            v6.DefaultValue = 45;
            v6.Description  = "Canopy-to-air VPD below which the rate of leaf expansion equals zero and the rate of leaf senescence is maximum";
            v6.Id           = 0;
            v6.MaxValue     = 100;
            v6.MinValue     = 0;
            v6.Name         = "UpperVPD";
            v6.Size         = 1;
            v6.Units        = "hPa";
            v6.URL          = "";
            v6.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v6.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v6);
            VarInfo v7 = new VarInfo();

            v7.DefaultValue = 15;
            v7.Description  = "Canopy-to-air VPD threshold above which the rate of leaf expansion strats to decreaseand the rate of leaf senescence starts to increase";
            v7.Id           = 0;
            v7.MaxValue     = 100;
            v7.MinValue     = 0;
            v7.Name         = "LowerVPD";
            v7.Size         = 1;
            v7.Units        = "hPa";
            v7.URL          = "";
            v7.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v7.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v7);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

            pd1.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd1.PropertyName    = "FPAW";
            pd1.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.FPAW)).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.FPAW);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

            pd2.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd2.PropertyName    = "isPotentialLAI";
            pd2.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPotentialLAI)).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.isPotentialLAI);
            _inputs0_0.Add(pd2);
            PropertyDescription pd3 = new PropertyDescription();

            pd3.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd3.PropertyName    = "VPDairCanopy";
            pd3.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.VPDairCanopy)).ValueType.TypeForCurrentValue;
            pd3.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.VPDairCanopy);
            _inputs0_0.Add(pd3);
            mo0_0.Inputs = _inputs0_0;
            //Outputs
            List <PropertyDescription> _outputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd4         = new PropertyDescription();

            pd4.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd4.PropertyName    = "DSF";
            pd4.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF)).ValueType.TypeForCurrentValue;
            pd4.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.DSF);
            _outputs0_0.Add(pd4);
            PropertyDescription pd5 = new PropertyDescription();

            pd5.DomainClassType = typeof(SiriusQualityWheatLAI.WheatLAIState);
            pd5.PropertyName    = "DEF";
            pd5.PropertyType    = ((SiriusQualityWheatLAI.WheatLAIStateVarInfo.DEF)).ValueType.TypeForCurrentValue;
            pd5.PropertyVarInfo = (SiriusQualityWheatLAI.WheatLAIStateVarInfo.DEF);
            _outputs0_0.Add(pd5);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }