Exemplo n.º 1
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();
        }
Exemplo n.º 2
0
        public IsSmallPhytomer()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

            v1.DefaultValue = 6;
            v1.Description  = "Number of leaves produced after floral initiation";
            v1.Id           = 0;
            v1.MaxValue     = 30;
            v1.MinValue     = 0;
            v1.Name         = "NLL";
            v1.Size         = 1;
            v1.Units        = "leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            v1.DefaultValue = 3;
            v1.Description  = "Leaf number up to which the phyllochron is decreased by Pdecr";
            v1.Id           = 0;
            v1.MaxValue     = 30;
            v1.MinValue     = 0;
            v1.Name         = "Ldecr";
            v1.Size         = 1;
            v1.Units        = "leaf";
            v1.URL          = "";
            v1.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v1.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v1);
            VarInfo v2 = new VarInfo();

            v2.DefaultValue = 8;
            v2.Description  = "Leaf number above which the phyllochron is increased by Pincr";
            v2.Id           = 0;
            v2.MaxValue     = 30;
            v2.MinValue     = 0;
            v2.Name         = "Lincr";
            v2.Size         = 1;
            v2.Units        = "leaf";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0.4;
            v3.Description  = "Factor decreasing the phyllochron for leaf number less than Ldecr";
            v3.Id           = 0;
            v3.MaxValue     = 10;
            v3.MinValue     = 0;
            v3.Name         = "Pdecr";
            v3.Size         = 1;
            v3.Units        = "dimensionless";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 1.5;
            v4.Description  = "Factor increasing the phyllochron for leaf number higher than Lincr";
            v4.Id           = 0;
            v4.MaxValue     = 10;
            v4.MinValue     = 0;
            v4.Name         = "Pincr";
            v4.Size         = 1;
            v4.Units        = "dimensionless";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.STATE;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            mo0_0.Parameters = _parameters0_0;
            //Inputs
            List <PropertyDescription> _inputs0_0 = new List <PropertyDescription>();
            PropertyDescription        pd1        = new PropertyDescription();

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

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

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

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

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

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

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

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

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

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

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

            pd1.DomainClassType = typeof(SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRate);
            pd1.PropertyName    = "evapoTranspirationPriestlyTaylor";
            pd1.PropertyType    = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor).ValueType.TypeForCurrentValue;
            pd1.PropertyVarInfo = (SiriusQualityEnergyBalance.DomainClass.EnergyBalanceRateVarInfo.evapoTranspirationPriestlyTaylor);
            _inputs0_0.Add(pd1);
            PropertyDescription pd2 = new PropertyDescription();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
Exemplo n.º 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();
        }
Exemplo n.º 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();
        }
Exemplo n.º 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();
        }
Exemplo n.º 14
0
        public VernalizationProgress()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

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

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

            v3.DefaultValue = 0.015;
            v3.Description  = "Response of vernalization rate to temperature";
            v3.Id           = 0;
            v3.MaxValue     = 1;
            v3.MinValue     = 0;
            v3.Name         = "vAI";
            v3.Size         = 1;
            v3.Units        = "d-1 °C-1";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            VarInfo v4 = new VarInfo();

            v4.DefaultValue = 0.01;
            v4.Description  = "Vernalization rate at 0°C";
            v4.Id           = 0;
            v4.MaxValue     = 1;
            v4.MinValue     = 0;
            v4.Name         = "vBEE";
            v4.Size         = 1;
            v4.Units        = "d-1";
            v4.URL          = "";
            v4.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v4.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v4);
            VarInfo v5 = new VarInfo();

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

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

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

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

            v9.DefaultValue = 24.0;
            v9.Description  = "Absolute maximum leaf number";
            v9.Id           = 0;
            v9.MaxValue     = 25;
            v9.MinValue     = 0;
            v9.Name         = "aMXLFNO";
            v9.Size         = 1;
            v9.Units        = "leaf";
            v9.URL          = "";
            v9.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v9.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v9);
            VarInfo v10 = new VarInfo();

            v10.DefaultValue = 1;
            v10.Description  = "true if the plant is vernalizable";
            v10.Id           = 0;
            v10.MaxValue     = 1;
            v10.MinValue     = 0;
            v10.Name         = "isVernalizable";
            v10.Size         = 1;
            v10.Units        = "";
            v10.URL          = "";
            v10.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v10.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
            _parameters0_0.Add(v10);
            mo0_0.Parameters = _parameters0_0;

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

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

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

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

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

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

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

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

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

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

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

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

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

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
Exemplo n.º 15
0
 /// <summary>Set VarInfo values</summary>
 static void DescribeVariables()
 {
     //
     _newLeafHasAppeared.Name         = "newLeafHasAppeared";
     _newLeafHasAppeared.Description  = "0: if no leaf has appeared, 1 if a leaf has just appeared";
     _newLeafHasAppeared.MaxValue     = 1D;
     _newLeafHasAppeared.MinValue     = 0D;
     _newLeafHasAppeared.DefaultValue = 0D;
     _newLeafHasAppeared.Units        = "NA";
     _newLeafHasAppeared.URL          = "http://";
     _newLeafHasAppeared.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _leafNumber.Name         = "leafNumber";
     _leafNumber.Description  = "Number of emerged leaves on the main-stem";
     _leafNumber.MaxValue     = 20D;
     _leafNumber.MinValue     = 0D;
     _leafNumber.DefaultValue = 0D;
     _leafNumber.Units        = "leaf";
     _leafNumber.URL          = "http://";
     _leafNumber.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _finalLeafNumber.Name         = "finalLeafNumber";
     _finalLeafNumber.Description  = " Leaf numer at maturity";
     _finalLeafNumber.MaxValue     = 20D;
     _finalLeafNumber.MinValue     = 0D;
     _finalLeafNumber.DefaultValue = 10D;
     _finalLeafNumber.Units        = "leaf";
     _finalLeafNumber.URL          = "http://";
     _finalLeafNumber.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _roundedFinalLeafNumber.Name         = "roundedFinalLeafNumber";
     _roundedFinalLeafNumber.Description  = "rounded leaf number at maturity";
     _roundedFinalLeafNumber.MaxValue     = 20D;
     _roundedFinalLeafNumber.MinValue     = 0D;
     _roundedFinalLeafNumber.DefaultValue = 10D;
     _roundedFinalLeafNumber.Units        = "leaf";
     _roundedFinalLeafNumber.URL          = "http://";
     _roundedFinalLeafNumber.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _phytonum.Name         = "phytonum";
     _phytonum.Description  = "Number of leaf layer created";
     _phytonum.MaxValue     = 21D;
     _phytonum.MinValue     = 1D;
     _phytonum.DefaultValue = 1D;
     _phytonum.Units        = "-";
     _phytonum.URL          = "http://";
     _phytonum.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _index.Name         = "index";
     _index.Description  = "index of the  last  leaf layer created";
     _index.MaxValue     = 20D;
     _index.MinValue     = 0D;
     _index.DefaultValue = 0D;
     _index.Units        = "-";
     _index.URL          = "http://";
     _index.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _MaximumPotentialLaminaeAI.Name         = "MaximumPotentialLaminaeAI";
     _MaximumPotentialLaminaeAI.Description  = "Maximum allowed Lamina area index without stress effects";
     _MaximumPotentialLaminaeAI.MaxValue     = 100D;
     _MaximumPotentialLaminaeAI.MinValue     = 0D;
     _MaximumPotentialLaminaeAI.DefaultValue = 0D;
     _MaximumPotentialLaminaeAI.Units        = "m²/m²";
     _MaximumPotentialLaminaeAI.URL          = "http://";
     _MaximumPotentialLaminaeAI.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _MaximumPotentialSheathAI.Name         = "MaximumPotentialSheathAI";
     _MaximumPotentialSheathAI.Description  = "Maximum Sheat area index allowed without stress effect";
     _MaximumPotentialSheathAI.MaxValue     = 100D;
     _MaximumPotentialSheathAI.MinValue     = 0D;
     _MaximumPotentialSheathAI.DefaultValue = 0D;
     _MaximumPotentialSheathAI.Units        = "m²/m²";
     _MaximumPotentialSheathAI.URL          = "http://";
     _MaximumPotentialSheathAI.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _FPAW.Name         = "FPAW";
     _FPAW.Description  = "Fraction of plant available water";
     _FPAW.MaxValue     = 1D;
     _FPAW.MinValue     = 0D;
     _FPAW.DefaultValue = 0.5D;
     _FPAW.Units        = "dimensionless";
     _FPAW.URL          = "http://";
     _FPAW.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _isPotentialLAI.Name         = "isPotentialLAI";
     _isPotentialLAI.Description  = "0: no drought stress is applied, 1: drought stress is applied";
     _isPotentialLAI.MaxValue     = 1D;
     _isPotentialLAI.MinValue     = 0D;
     _isPotentialLAI.DefaultValue = 0D;
     _isPotentialLAI.Units        = "-";
     _isPotentialLAI.URL          = "http://";
     _isPotentialLAI.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _VPDairCanopy.Name         = "VPDairCanopy";
     _VPDairCanopy.Description  = "Vapour Pressur deficit Air-Canopy";
     _VPDairCanopy.MaxValue     = 100D;
     _VPDairCanopy.MinValue     = 0D;
     _VPDairCanopy.DefaultValue = 0D;
     _VPDairCanopy.Units        = "hPa";
     _VPDairCanopy.URL          = "http://";
     _VPDairCanopy.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _DSF.Name         = "DSF";
     _DSF.Description  = "drought senescence factor";
     _DSF.MaxValue     = 10D;
     _DSF.MinValue     = 0D;
     _DSF.DefaultValue = 0D;
     _DSF.Units        = "-";
     _DSF.URL          = "http://";
     _DSF.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _DEF.Name         = "DEF";
     _DEF.Description  = "drought expansion factor";
     _DEF.MaxValue     = 10D;
     _DEF.MinValue     = 0D;
     _DEF.DefaultValue = 0D;
     _DEF.Units        = "-";
     _DEF.URL          = "http://";
     _DEF.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _cumulTTShoot.Name         = "cumulTTShoot";
     _cumulTTShoot.Description  = "Cumulative Shoot thermal time";
     _cumulTTShoot.MaxValue     = 1000D;
     _cumulTTShoot.MinValue     = 0D;
     _cumulTTShoot.DefaultValue = 0D;
     _cumulTTShoot.Units        = "°C/d";
     _cumulTTShoot.URL          = "http://";
     _cumulTTShoot.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _deltaTTShoot.Name         = "deltaTTShoot";
     _deltaTTShoot.Description  = "Increas of shoot thermal time for the day";
     _deltaTTShoot.MaxValue     = 50D;
     _deltaTTShoot.MinValue     = 0D;
     _deltaTTShoot.DefaultValue = 0D;
     _deltaTTShoot.Units        = "°C/d";
     _deltaTTShoot.URL          = "http://";
     _deltaTTShoot.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _deltaTTSenescence.Name         = "deltaTTSenescence";
     _deltaTTSenescence.Description  = "Increase of senescence thermal time for the day";
     _deltaTTSenescence.MaxValue     = 50D;
     _deltaTTSenescence.MinValue     = 0D;
     _deltaTTSenescence.DefaultValue = 0D;
     _deltaTTSenescence.Units        = "°C/d";
     _deltaTTSenescence.URL          = "http://";
     _deltaTTSenescence.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _incDeltaAreaLimitSF.Name         = "incDeltaAreaLimitSF";
     _incDeltaAreaLimitSF.Description  = "Total daily increase of GAI under drought stress";
     _incDeltaAreaLimitSF.MaxValue     = 1D;
     _incDeltaAreaLimitSF.MinValue     = 0D;
     _incDeltaAreaLimitSF.DefaultValue = 0D;
     _incDeltaAreaLimitSF.Units        = "m²/m²";
     _incDeltaAreaLimitSF.URL          = "http://";
     _incDeltaAreaLimitSF.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _WaterLimitedPotDeltaAIList.Name         = "WaterLimitedPotDeltaAIList";
     _WaterLimitedPotDeltaAIList.Description  = "list on each phytomer for the potential daily increase of leaf layer";
     _WaterLimitedPotDeltaAIList.MaxValue     = 0D;
     _WaterLimitedPotDeltaAIList.MinValue     = 0D;
     _WaterLimitedPotDeltaAIList.DefaultValue = 0D;
     _WaterLimitedPotDeltaAIList.Units        = "m²/m²";
     _WaterLimitedPotDeltaAIList.URL          = "http://";
     _WaterLimitedPotDeltaAIList.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _potentialIncDeltaArea.Name         = "potentialIncDeltaArea";
     _potentialIncDeltaArea.Description  = "Total daily increase in GAI without stress";
     _potentialIncDeltaArea.MaxValue     = 10D;
     _potentialIncDeltaArea.MinValue     = 0D;
     _potentialIncDeltaArea.DefaultValue = 0D;
     _potentialIncDeltaArea.Units        = "m²/m²";
     _potentialIncDeltaArea.URL          = "http://";
     _potentialIncDeltaArea.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _tilleringProfile.Name         = "tilleringProfile";
     _tilleringProfile.Description  = "store the amount of new tiller created at each time a new tiller appears";
     _tilleringProfile.MaxValue     = 0D;
     _tilleringProfile.MinValue     = 0D;
     _tilleringProfile.DefaultValue = 0D;
     _tilleringProfile.Units        = "shoot/m²";
     _tilleringProfile.URL          = "http://";
     _tilleringProfile.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _leafTillerNumberArray.Name         = "leafTillerNumberArray";
     _leafTillerNumberArray.Description  = "store the number of tiller for each leaf layer";
     _leafTillerNumberArray.MaxValue     = 0D;
     _leafTillerNumberArray.MinValue     = 0D;
     _leafTillerNumberArray.DefaultValue = 0D;
     _leafTillerNumberArray.Units        = "shoot";
     _leafTillerNumberArray.URL          = "http://";
     _leafTillerNumberArray.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _previousIndex.Name         = "previousIndex";
     _previousIndex.Description  = "index of the leaf layer during the last call of the component";
     _previousIndex.MaxValue     = 20D;
     _previousIndex.MinValue     = 0D;
     _previousIndex.DefaultValue = 0D;
     _previousIndex.Units        = "dimensioonless";
     _previousIndex.URL          = "http://";
     _previousIndex.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _TTgroSheathList.Name         = "TTgroSheathList";
     _TTgroSheathList.Description  = "List of Thermal Time at end of the sheath growth";
     _TTgroSheathList.MaxValue     = 3000D;
     _TTgroSheathList.MinValue     = 0D;
     _TTgroSheathList.DefaultValue = 0D;
     _TTgroSheathList.Units        = "°Cd";
     _TTgroSheathList.URL          = "http://";
     _TTgroSheathList.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _TT.Name         = "TT";
     _TT.Description  = "List of Thermal times since emergence of this leaf Layer";
     _TT.MaxValue     = 3000D;
     _TT.MinValue     = 0D;
     _TT.DefaultValue = 0D;
     _TT.Units        = "°Cd";
     _TT.URL          = "http://";
     _TT.ValueType    = VarInfoValueTypes.GetInstanceForName("ListDouble");
     //
     _incDeltaArea.Name         = "incDeltaArea";
     _incDeltaArea.Description  = "Actual increase in Area of the day";
     _incDeltaArea.MaxValue     = 1000D;
     _incDeltaArea.MinValue     = 0D;
     _incDeltaArea.DefaultValue = 0D;
     _incDeltaArea.Units        = "m²/m²";
     _incDeltaArea.URL          = "http://";
     _incDeltaArea.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _availableN.Name         = "availableN";
     _availableN.Description  = "Available Nitrogen of the day";
     _availableN.MaxValue     = 1000D;
     _availableN.MinValue     = 0D;
     _availableN.DefaultValue = 10D;
     _availableN.Units        = "g/m²";
     _availableN.URL          = "http://";
     _availableN.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
 }
Exemplo n.º 16
0
        private static void SetStaticParametersVarInfoDefinitions()
        {
            minTvernVarInfo.Name         = "minTvern";
            minTvernVarInfo.Description  = "Minimum temperature for vernalization to occur";
            minTvernVarInfo.MaxValue     = 60;
            minTvernVarInfo.MinValue     = -20;
            minTvernVarInfo.DefaultValue = 0.0;
            minTvernVarInfo.Units        = "°C";
            minTvernVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            intTvernVarInfo.Name         = "intTvern";
            intTvernVarInfo.Description  = "Intermediate temperature for vernalization to occur";
            intTvernVarInfo.MaxValue     = 60;
            intTvernVarInfo.MinValue     = -20;
            intTvernVarInfo.DefaultValue = 11.0;
            intTvernVarInfo.Units        = "°C";
            intTvernVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            vAIVarInfo.Name         = "vAI";
            vAIVarInfo.Description  = "Response of vernalization rate to temperature";
            vAIVarInfo.MaxValue     = 1;
            vAIVarInfo.MinValue     = 0;
            vAIVarInfo.DefaultValue = 0.015;
            vAIVarInfo.Units        = "d-1 °C-1";
            vAIVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            vBEEVarInfo.Name         = "vBEE";
            vBEEVarInfo.Description  = "Vernalization rate at 0°C";
            vBEEVarInfo.MaxValue     = 1;
            vBEEVarInfo.MinValue     = 0;
            vBEEVarInfo.DefaultValue = 0.01;
            vBEEVarInfo.Units        = "d-1";
            vBEEVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            minDLVarInfo.Name         = "minDL";
            minDLVarInfo.Description  = "Threshold daylength below which it does influence vernalization rate";
            minDLVarInfo.MaxValue     = 24;
            minDLVarInfo.MinValue     = 12;
            minDLVarInfo.DefaultValue = 8.0;
            minDLVarInfo.Units        = "h";
            minDLVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            maxDLVarInfo.Name         = "maxDL";
            maxDLVarInfo.Description  = "Saturating photoperiod above which final leaf number is not influenced by daylength";
            maxDLVarInfo.MaxValue     = 24;
            maxDLVarInfo.MinValue     = 0;
            maxDLVarInfo.DefaultValue = 15.0;
            maxDLVarInfo.Units        = "h";
            maxDLVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            maxTvernVarInfo.Name         = "maxTvern";
            maxTvernVarInfo.Description  = "Maximum temperature for vernalization to occur";
            maxTvernVarInfo.MaxValue     = 60;
            maxTvernVarInfo.MinValue     = -20;
            maxTvernVarInfo.DefaultValue = 23.0;
            maxTvernVarInfo.Units        = "°C";
            maxTvernVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            pNiniVarInfo.Name         = "pNini";
            pNiniVarInfo.Description  = "Number of primorida in the apex at emergence";
            pNiniVarInfo.MaxValue     = 24;
            pNiniVarInfo.MinValue     = 0;
            pNiniVarInfo.DefaultValue = 4.0;
            pNiniVarInfo.Units        = "primordia";
            pNiniVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            aMXLFNOVarInfo.Name         = "aMXLFNO";
            aMXLFNOVarInfo.Description  = "Absolute maximum leaf number";
            aMXLFNOVarInfo.MaxValue     = 25;
            aMXLFNOVarInfo.MinValue     = 0;
            aMXLFNOVarInfo.DefaultValue = 24.0;
            aMXLFNOVarInfo.Units        = "leaf";
            aMXLFNOVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");

            isVernalizableVarInfo.Name         = "isVernalizable";
            isVernalizableVarInfo.Description  = "true if the plant is vernalizable";
            isVernalizableVarInfo.MaxValue     = 1;
            isVernalizableVarInfo.MinValue     = 0;
            isVernalizableVarInfo.DefaultValue = 1;
            isVernalizableVarInfo.Units        = "";
            isVernalizableVarInfo.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
        }
        public CalculateGlobalAbsorbedRadiationHourly()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

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

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

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

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

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
 /// <summary>Set VarInfo values</summary>
 static void DescribeVariables()
 {
     //
     _deficitOnTopLayers.Name         = "deficitOnTopLayers";
     _deficitOnTopLayers.Description  = "deficitOnTopLayers";
     _deficitOnTopLayers.MaxValue     = 100D;
     _deficitOnTopLayers.MinValue     = 0D;
     _deficitOnTopLayers.DefaultValue = 50D;
     _deficitOnTopLayers.Units        = "g.m-2.d-1";
     _deficitOnTopLayers.URL          = "http://";
     _deficitOnTopLayers.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _minTair.Name         = "minTair";
     _minTair.Description  = "minimum air temperature";
     _minTair.MaxValue     = 40D;
     _minTair.MinValue     = -40D;
     _minTair.DefaultValue = 10D;
     _minTair.Units        = "degree celsius";
     _minTair.URL          = "http://";
     _minTair.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _maxTair.Name         = "maxTair";
     _maxTair.Description  = "maximum air temperature";
     _maxTair.MaxValue     = 50D;
     _maxTair.MinValue     = -30D;
     _maxTair.DefaultValue = 20D;
     _maxTair.Units        = "degree celsius";
     _maxTair.URL          = "http://";
     _maxTair.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _hourlyTemp.Name         = "hourlyTemp";
     _hourlyTemp.Description  = "hourly temperature";
     _hourlyTemp.MaxValue     = 50D;
     _hourlyTemp.MinValue     = -40D;
     _hourlyTemp.DefaultValue = 15D;
     _hourlyTemp.Units        = "degree celsius";
     _hourlyTemp.URL          = "http://";
     _hourlyTemp.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _solarRadiation.Name         = "solarRadiation";
     _solarRadiation.Description  = "solarRadiation";
     _solarRadiation.MaxValue     = 1000D;
     _solarRadiation.MinValue     = 0D;
     _solarRadiation.DefaultValue = 100D;
     _solarRadiation.Units        = "MJ m-2 d-1";
     _solarRadiation.URL          = "http://";
     _solarRadiation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _extraSolarRadiation.Name         = "extraSolarRadiation";
     _extraSolarRadiation.Description  = "extra solar raidation";
     _extraSolarRadiation.MaxValue     = 1000D;
     _extraSolarRadiation.MinValue     = 0D;
     _extraSolarRadiation.DefaultValue = 100D;
     _extraSolarRadiation.Units        = "MJ m-2 d-1";
     _extraSolarRadiation.URL          = "http://";
     _extraSolarRadiation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _vaporPressure.Name         = "vaporPressure";
     _vaporPressure.Description  = "vapor pressure";
     _vaporPressure.MaxValue     = 1000D;
     _vaporPressure.MinValue     = 0D;
     _vaporPressure.DefaultValue = 100D;
     _vaporPressure.Units        = "P";
     _vaporPressure.URL          = "http://";
     _vaporPressure.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _tau.Name         = "tau";
     _tau.Description  = "tau";
     _tau.MaxValue     = 1D;
     _tau.MinValue     = 0D;
     _tau.DefaultValue = 0.5D;
     _tau.Units        = "dimensionless";
     _tau.URL          = "http://";
     _tau.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _hslope.Name         = "hslope";
     _hslope.Description  = "hslope";
     _hslope.MaxValue     = 20D;
     _hslope.MinValue     = 0D;
     _hslope.DefaultValue = 10D;
     _hslope.Units        = "dimensionless";
     _hslope.URL          = "http://";
     _hslope.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _plantHeight.Name         = "plantHeight";
     _plantHeight.Description  = "plant height";
     _plantHeight.MaxValue     = 1000D;
     _plantHeight.MinValue     = 0D;
     _plantHeight.DefaultValue = 50D;
     _plantHeight.Units        = "cm";
     _plantHeight.URL          = "http://";
     _plantHeight.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _wind.Name         = "wind";
     _wind.Description  = "wind";
     _wind.MaxValue     = 1000D;
     _wind.MinValue     = 0D;
     _wind.DefaultValue = 100D;
     _wind.Units        = "m-1";
     _wind.URL          = "http://";
     _wind.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _VPDair.Name         = "VPDair";
     _VPDair.Description  = "vpd";
     _VPDair.MaxValue     = 100D;
     _VPDair.MinValue     = 0D;
     _VPDair.DefaultValue = 50D;
     _VPDair.Units        = "hPa";
     _VPDair.URL          = "http://";
     _VPDair.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _isWindVpDefined.Name         = "isWindVpDefined";
     _isWindVpDefined.Description  = "isWindVpDefined";
     _isWindVpDefined.MaxValue     = 1D;
     _isWindVpDefined.MinValue     = 0D;
     _isWindVpDefined.DefaultValue = 1D;
     _isWindVpDefined.Units        = "dimensionless";
     _isWindVpDefined.URL          = "http://";
     _isWindVpDefined.ValueType    = VarInfoValueTypes.GetInstanceForName("Integer");
     //
     _elevation.Name         = "elevation";
     _elevation.Description  = "elevation";
     _elevation.MaxValue     = 1000D;
     _elevation.MinValue     = 0D;
     _elevation.DefaultValue = 100D;
     _elevation.Units        = "m";
     _elevation.URL          = "http://";
     _elevation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _netRadiation.Name         = "netRadiation";
     _netRadiation.Description  = "netRadiation";
     _netRadiation.MaxValue     = 100D;
     _netRadiation.MinValue     = 0D;
     _netRadiation.DefaultValue = 50D;
     _netRadiation.Units        = "MJ.m-2.d-1";
     _netRadiation.URL          = "http://";
     _netRadiation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _diffusionLimitedEvaporation.Name         = "diffusionLimitedEvaporation";
     _diffusionLimitedEvaporation.Description  = "diffusionLimitedEvaporation";
     _diffusionLimitedEvaporation.MaxValue     = 100D;
     _diffusionLimitedEvaporation.MinValue     = 0D;
     _diffusionLimitedEvaporation.DefaultValue = 50D;
     _diffusionLimitedEvaporation.Units        = "g m-2 d-1";
     _diffusionLimitedEvaporation.URL          = "http://";
     _diffusionLimitedEvaporation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _energyLimitedEvaporation.Name         = "energyLimitedEvaporation";
     _energyLimitedEvaporation.Description  = "energyLimitedEvaporation";
     _energyLimitedEvaporation.MaxValue     = 1000D;
     _energyLimitedEvaporation.MinValue     = 0D;
     _energyLimitedEvaporation.DefaultValue = 500D;
     _energyLimitedEvaporation.Units        = "g m-2 d-1";
     _energyLimitedEvaporation.URL          = "http://";
     _energyLimitedEvaporation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _evapoTranspirationPriestlyTaylor.Name         = "evapoTranspirationPriestlyTaylor";
     _evapoTranspirationPriestlyTaylor.Description  = "evapoTranspirationPriestlyTaylor";
     _evapoTranspirationPriestlyTaylor.MaxValue     = 50D;
     _evapoTranspirationPriestlyTaylor.MinValue     = 0D;
     _evapoTranspirationPriestlyTaylor.DefaultValue = 30D;
     _evapoTranspirationPriestlyTaylor.Units        = "g m-2 d-1";
     _evapoTranspirationPriestlyTaylor.URL          = "http://";
     _evapoTranspirationPriestlyTaylor.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _evapoTranspirationPenman.Name         = "evapoTranspirationPenman";
     _evapoTranspirationPenman.Description  = "evapoTranspirationPenman";
     _evapoTranspirationPenman.MaxValue     = 100D;
     _evapoTranspirationPenman.MinValue     = 0D;
     _evapoTranspirationPenman.DefaultValue = 50D;
     _evapoTranspirationPenman.Units        = "g m-2 d-1";
     _evapoTranspirationPenman.URL          = "http://";
     _evapoTranspirationPenman.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _potentialTranspiration.Name         = "potentialTranspiration";
     _potentialTranspiration.Description  = "potentialTranspiration";
     _potentialTranspiration.MaxValue     = 100D;
     _potentialTranspiration.MinValue     = 0D;
     _potentialTranspiration.DefaultValue = 50D;
     _potentialTranspiration.Units        = "g m-2 d-1";
     _potentialTranspiration.URL          = "http://";
     _potentialTranspiration.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _conductance.Name         = "conductance";
     _conductance.Description  = "conductance";
     _conductance.MaxValue     = 100D;
     _conductance.MinValue     = 0D;
     _conductance.DefaultValue = 50D;
     _conductance.Units        = "m d-1";
     _conductance.URL          = "http://";
     _conductance.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _soilEvaporation.Name         = "soilEvaporation";
     _soilEvaporation.Description  = "soilEvaporation";
     _soilEvaporation.MaxValue     = 100D;
     _soilEvaporation.MinValue     = 0D;
     _soilEvaporation.DefaultValue = 50D;
     _soilEvaporation.Units        = "g m-2 d-1";
     _soilEvaporation.URL          = "http://";
     _soilEvaporation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _potentialEvapoTranspiration.Name         = "potentialEvapoTranspiration";
     _potentialEvapoTranspiration.Description  = "PotentialEvapoTranspiration";
     _potentialEvapoTranspiration.MaxValue     = 100D;
     _potentialEvapoTranspiration.MinValue     = 0D;
     _potentialEvapoTranspiration.DefaultValue = 50D;
     _potentialEvapoTranspiration.Units        = "g m-2 d-1";
     _potentialEvapoTranspiration.URL          = "http://";
     _potentialEvapoTranspiration.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _soilHeatFlux.Name         = "soilHeatFlux";
     _soilHeatFlux.Description  = "soilHeatFlux";
     _soilHeatFlux.MaxValue     = 100D;
     _soilHeatFlux.MinValue     = 0D;
     _soilHeatFlux.DefaultValue = 50D;
     _soilHeatFlux.Units        = "g m-2 d-1";
     _soilHeatFlux.URL          = "http://";
     _soilHeatFlux.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _cropHeatFlux.Name         = "cropHeatFlux";
     _cropHeatFlux.Description  = "cropHeatFlux";
     _cropHeatFlux.MaxValue     = 100D;
     _cropHeatFlux.MinValue     = 0D;
     _cropHeatFlux.DefaultValue = 50D;
     _cropHeatFlux.Units        = "g m-2 d-1";
     _cropHeatFlux.URL          = "http://";
     _cropHeatFlux.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _minCanopyTemperature.Name         = "minCanopyTemperature";
     _minCanopyTemperature.Description  = "minCanopyTemperature";
     _minCanopyTemperature.MaxValue     = 50D;
     _minCanopyTemperature.MinValue     = -30D;
     _minCanopyTemperature.DefaultValue = 10D;
     _minCanopyTemperature.Units        = "degree celsius";
     _minCanopyTemperature.URL          = "http://";
     _minCanopyTemperature.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _maxCanopyTemperature.Name         = "maxCanopyTemperature";
     _maxCanopyTemperature.Description  = "maxCanopyTemperature";
     _maxCanopyTemperature.MaxValue     = 50D;
     _maxCanopyTemperature.MinValue     = -30D;
     _maxCanopyTemperature.DefaultValue = 10D;
     _maxCanopyTemperature.Units        = "degree celsius";
     _maxCanopyTemperature.URL          = "http://";
     _maxCanopyTemperature.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _hourlyCanopyTemperature.Name         = "hourlyCanopyTemperature";
     _hourlyCanopyTemperature.Description  = "hourlyCanopyTemperature (maize)";
     _hourlyCanopyTemperature.MaxValue     = 50D;
     _hourlyCanopyTemperature.MinValue     = -30D;
     _hourlyCanopyTemperature.DefaultValue = 10D;
     _hourlyCanopyTemperature.Units        = "degree celsius";
     _hourlyCanopyTemperature.URL          = "http://";
     _hourlyCanopyTemperature.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _evapoTranspiration.Name         = "evapoTranspiration";
     _evapoTranspiration.Description  = "evapoTranspiration";
     _evapoTranspiration.MaxValue     = 50D;
     _evapoTranspiration.MinValue     = -30D;
     _evapoTranspiration.DefaultValue = 10D;
     _evapoTranspiration.Units        = "g.m-2.d-1";
     _evapoTranspiration.URL          = "http://";
     _evapoTranspiration.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _hourlyVPDair.Name         = "hourlyVPDair";
     _hourlyVPDair.Description  = "hourlyVPDair (maize)";
     _hourlyVPDair.MaxValue     = 100D;
     _hourlyVPDair.MinValue     = 0D;
     _hourlyVPDair.DefaultValue = 50D;
     _hourlyVPDair.Units        = "hPa";
     _hourlyVPDair.URL          = "http://";
     _hourlyVPDair.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _hourlySolarRadiation.Name         = "hourlySolarRadiation";
     _hourlySolarRadiation.Description  = "hourlySolarRadiation( maize)";
     _hourlySolarRadiation.MaxValue     = 1000D;
     _hourlySolarRadiation.MinValue     = 0D;
     _hourlySolarRadiation.DefaultValue = 100D;
     _hourlySolarRadiation.Units        = "MJ m-2 d-1";
     _hourlySolarRadiation.URL          = "http://";
     _hourlySolarRadiation.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _wc3cm.Name         = "wc3cm";
     _wc3cm.Description  = "water cotent in the first 3 cm";
     _wc3cm.MaxValue     = 100D;
     _wc3cm.MinValue     = 0D;
     _wc3cm.DefaultValue = 50D;
     _wc3cm.Units        = "mm";
     _wc3cm.URL          = "http://";
     _wc3cm.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _Ntip.Name         = "Ntip";
     _Ntip.Description  = "number of leaves (tip) (maize)";
     _Ntip.MaxValue     = 30D;
     _Ntip.MinValue     = 0D;
     _Ntip.DefaultValue = 15D;
     _Ntip.Units        = "leaf";
     _Ntip.URL          = "http://";
     _Ntip.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _netRadiationEquivalentEvaporation.Name         = "netRadiationEquivalentEvaporation";
     _netRadiationEquivalentEvaporation.Description  = "netRadiationEquivalentEvaporation";
     _netRadiationEquivalentEvaporation.MaxValue     = 100D;
     _netRadiationEquivalentEvaporation.MinValue     = 0D;
     _netRadiationEquivalentEvaporation.DefaultValue = 50D;
     _netRadiationEquivalentEvaporation.Units        = "?";
     _netRadiationEquivalentEvaporation.URL          = "http://";
     _netRadiationEquivalentEvaporation.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
     //
     _RH.Name         = "RH";
     _RH.Description  = "hourly relative humidity";
     _RH.MaxValue     = 100D;
     _RH.MinValue     = 0D;
     _RH.DefaultValue = 10D;
     _RH.Units        = "%";
     _RH.URL          = "http://";
     _RH.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _hourlyVPDairLeaf.Name         = "hourlyVPDairLeaf";
     _hourlyVPDairLeaf.Description  = "hourlyVPDairLEaf (maize)";
     _hourlyVPDairLeaf.MaxValue     = 100D;
     _hourlyVPDairLeaf.MinValue     = 0D;
     _hourlyVPDairLeaf.DefaultValue = 50D;
     _hourlyVPDairLeaf.Units        = "hPa";
     _hourlyVPDairLeaf.URL          = "http://";
     _hourlyVPDairLeaf.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
     //
     _VPDeq.Name         = "VPDeq";
     _VPDeq.Description  = "VPDeq (maize)";
     _VPDeq.MaxValue     = 100D;
     _VPDeq.MinValue     = 0D;
     _VPDeq.DefaultValue = 50D;
     _VPDeq.Units        = "hPa";
     _VPDeq.URL          = "http://";
     _VPDeq.ValueType    = VarInfoValueTypes.GetInstanceForName("ArrayDouble");
 }
        public CalculateMeanAngle()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

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

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

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

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

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

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

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

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

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
Exemplo n.º 20
0
        public Ptsoil()
        {
            ModellingOptions mo0_0 = new ModellingOptions();
            //Parameters
            List <VarInfo> _parameters0_0 = new List <VarInfo>();
            VarInfo        v1             = new VarInfo();

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

            v2.DefaultValue = 0.9983;
            v2.Description  = "plant cover factor";
            v2.Id           = 0;
            v2.MaxValue     = 100;
            v2.MinValue     = 0;
            v2.Name         = "tau";
            v2.Size         = 1;
            v2.Units        = "";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

            v3.DefaultValue = 0.3;
            v3.Description  = "Fraction of the total net radiation exchanged at the soil surface when AlpaE = 1";
            v3.Id           = 0;
            v3.MaxValue     = 1;
            v3.MinValue     = 0;
            v3.Name         = "tauAlpha";
            v3.Size         = 1;
            v3.Units        = "";
            v3.URL          = "";
            v3.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v3.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v3);
            mo0_0.Parameters = _parameters0_0;

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

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

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

            pd2.DomainClassType = typeof(SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliary);
            pd2.PropertyName    = "energyLimitedEvaporation";
            pd2.PropertyType    = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.energyLimitedEvaporation).ValueType.TypeForCurrentValue;
            pd2.PropertyVarInfo = (SiriusQualityEnergybalance.DomainClass.EnergybalanceAuxiliaryVarInfo.energyLimitedEvaporation);
            _outputs0_0.Add(pd2);
            mo0_0.Outputs = _outputs0_0;
            //Associated strategies
            List <string> lAssStrat0_0 = new List <string>();

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

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

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

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

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

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

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

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

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

            mo0_0.Inputs = _inputs0_0;

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

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

            mo0_0.AssociatedStrategies = lAssStrat0_0;
            //Adding the modeling options to the modeling options manager
            _modellingOptionsManager = new ModellingOptionsManager(mo0_0);
            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }
Exemplo n.º 22
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  = "Slope of the relationship between Haun stage at terminal spikelet and final leaf number";
            v2.Id           = 0;
            v2.MaxValue     = 10000;
            v2.MinValue     = 0;
            v2.Name         = "slopeTSFLN";
            v2.Size         = 1;
            v2.Units        = "";
            v2.URL          = "";
            v2.VarType      = CRA.ModelLayer.Core.VarInfo.Type.PARAMETER;
            v2.ValueType    = VarInfoValueTypes.GetInstanceForName("Double");
            _parameters0_0.Add(v2);
            VarInfo v3 = new VarInfo();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            SetStaticParametersVarInfoDefinitions();
            SetPublisherData();
        }