private Spread ( Landis.Landscape.ActiveSite initiationSite, SizeType fireSizeType, bool BUI ) : bool | ||
initiationSite | Landis.Landscape.ActiveSite | |
fireSizeType | SizeType | |
BUI | bool | |
return | bool |
//--------------------------------------------------------------------- public static Event Initiate(ActiveSite site, int currentTime, int timestep) { IEcoregion ecoregion = SiteVars.Ecoregion[site]; IFireParameters eventParms = ecoregion.FireParameters; //Adjust ignition probability (measured on an annual basis) for the //user determined fire time step. double ignitionProb = eventParms.IgnitionProb * timestep; //The initial site must exceed the probability of initiation and //have a severity > 0 and exceed the ignition threshold: if (Random.GenerateUniform() <= ignitionProb && Random.GenerateUniform() <= ComputeFireInitSpreadProb(site, currentTime) && CalcSeverity(site, currentTime) > 0) { Event FireEvent = new Event(site); FireEvent.Spread(currentTime); return FireEvent; } else return null; }
//--------------------------------------------------------------------- public static Event Initiate(ActiveSite site, int currentTime, int timestep) { IEcoregion ecoregion = Model.SiteVars.Ecoregion[site]; IFireParameters eventParms = FireEventParms[ecoregion.Index]; double ignitionProb = eventParms.IgnitionProb * timestep; //The initial site must exceed the probability of initiation and //have a severity > 0 and exceed the ignition threshold: if ( Random.GenerateUniform() <= ignitionProb && Random.GenerateUniform() <= ComputeFireInitSpreadProb(site, currentTime) && calcSeverity(site, currentTime) > 0) { Event FireEvent = new Event(site); FireEvent.Spread(currentTime); return FireEvent; } else return null; }
//--------------------------------------------------------------------- public static Event Initiate(ActiveSite site, int timestep, SizeType fireSizeType, bool bui, ISeasonParameters[] seasons, IWindDirectionParameters[] windDirs) { //Adjust ignition probability (measured on an annual basis) for the //user determined fire time step. int fuelIndex = SiteVars.CFSFuelType[site]; //-----Edited by BRM----- //double initProb = fuelTypeParms[fuelIndex].InitiationProbability * timestep; double initProb = fuelTypeParms[fuelIndex].InitiationProbability; //--------- //The initial site must exceed the probability of initiation and //have a severity > 0 and exceed the ignition threshold: if (Util.Random.GenerateUniform() <= initProb) { Event FireEvent = new Event(site, seasons, windDirs); if(!FireEvent.Spread(site, fireSizeType, bui)) return null; else return FireEvent; } return null; }