//---------------------------------------------------------------------

		public static void Initialize(IFireParameters[] eventParameters,
					                  IFireCurve[]      fireCurves,
					                  IWindCurve[]      windCurves,
		                              IDamageTable[]    damages)
		{
			FireEventParms = eventParameters;
			FireCurves = fireCurves;
			WindCurves = windCurves;
			Event.damages = damages;

			ecoregions = Model.Ecoregions;
			successionPlugIn = Model.GetSuccession<AgeCohort.ICohort>();
			cohorts = successionPlugIn.Cohorts;
		}
		//---------------------------------------------------------------------

		public static void Initialize(IFireParameters[] eventParameters,
					      IFireCurve[] fireCurves,
					      IWindCurve[] windCurves,
		                              IDamageTable[]        damages)
		{
			FireEventParms = eventParameters;
			FireCurves = fireCurves;
			WindCurves = windCurves;
			Event.damages = damages;
		}
        //---------------------------------------------------------------------

        public EcoregionParameters(string name,
                                   string description,
                                   ushort mapCode)
        {
            this.name = name;
            this.description = description;
            this.mapCode = mapCode;

            this.fireParameters = new FireParameters();
            this.fireCurve = new FireCurve();
            this.windCurve = new WindCurve();
        }
		//---------------------------------------------------------------------

		public Parameters(int                timestep,
		                  IFireParameters[] eventParameters,
		                  IFireCurve[] fireCurves,
		                  IWindCurve[] windCurves,
		                  IDamageTable[] damages,
		                  string             mapNameTemplate,
		                  string             logFileName)
		{
			this.timestep = timestep;
			this.eventParameters = eventParameters;
			this.fireCurves = fireCurves;
			this.windCurves = windCurves;
			this.damages = damages;
			this.mapNamesTemplate = mapNameTemplate;
			this.logFileName = logFileName;
		}
        //---------------------------------------------------------------------

        public EcoregionParameters(IEcoregionParameters parameters)
        {
            name           = parameters.Name;
            description    = parameters.Description;
            mapCode        = parameters.MapCode;
            fireParameters = parameters.FireParameters;
            fireCurve      = parameters.FireCurve;
            windCurve      = parameters.WindCurve;
        }
예제 #6
0
        //---------------------------------------------------------------------

        public FireRegion(int index)
        {
            this.fuelCurve = new FuelCurve();
            this.windCurve = new WindCurve();
            this.index     = index;
        }
예제 #7
0
        //---------------------------------------------------------------------

        public static byte CalcSeverity(ActiveSite site,
                                        int currentTime)
        {
            IFireRegion ecoregion = SiteVars.FireRegion[site];
            IFuelCurve  fuelCurve = ecoregion.FuelCurve;
            IWindCurve  windCurve = ecoregion.WindCurve;
            int         severity  = 0;

            int timeSinceLastFire = currentTime - SiteVars.TimeOfLastFire[site];

            if (fuelCurve.Severity1 != -1 && timeSinceLastFire >= fuelCurve.Severity1)
            {
                severity = 1;
            }
            if (fuelCurve.Severity2 != -1 && timeSinceLastFire >= fuelCurve.Severity2)
            {
                severity = 2;
            }
            if (fuelCurve.Severity3 != -1 && timeSinceLastFire >= fuelCurve.Severity3)
            {
                severity = 3;
            }
            if (fuelCurve.Severity4 != -1 && timeSinceLastFire >= fuelCurve.Severity4)
            {
                severity = 4;
            }
            if (fuelCurve.Severity5 != -1 && timeSinceLastFire >= fuelCurve.Severity5)
            {
                severity = 5;
            }

            int windSeverity      = 0;
            int timeSinceLastWind = 0;

            if (SiteVars.TimeOfLastWind != null)
            {
                timeSinceLastWind = currentTime - SiteVars.TimeOfLastWind[site];
                if (windCurve.Severity1 != -1 && timeSinceLastWind <= windCurve.Severity1)
                {
                    windSeverity = 1;
                }
                if (windCurve.Severity2 != -1 && timeSinceLastWind <= windCurve.Severity2)
                {
                    windSeverity = 2;
                }
                if (windCurve.Severity3 != -1 && timeSinceLastWind <= windCurve.Severity3)
                {
                    windSeverity = 3;
                }
                if (windCurve.Severity4 != -1 && timeSinceLastWind <= windCurve.Severity4)
                {
                    windSeverity = 4;
                }
                if (windCurve.Severity5 != -1 && timeSinceLastWind <= windCurve.Severity5)
                {
                    windSeverity = 5;
                }
            }

            if (windSeverity > severity)
            {
                severity = windSeverity;
            }
            return((byte)severity);
        }
        //---------------------------------------------------------------------

        public static void Initialize(IFireParameters[] eventParameters,
                                      IFireCurve[]      fireCurves,
                                      IWindCurve[]      windCurves,
                                      IDamageTable[]    damages)
        {
            FireEventParms = eventParameters;
            FireCurves = fireCurves;
            WindCurves = windCurves;
            Event.damages = damages;

            cohorts = Model.Core.SuccessionCohorts as ILandscapeCohorts;
            if (cohorts == null)
                throw new System.ApplicationException("Error: Cohorts don't support age-cohort interface");
        }
        //---------------------------------------------------------------------

        public FireRegion(int index)
        {
            this.fuelCurve = new FuelCurve();
            this.windCurve = new WindCurve();
            this.index = index;
        }