//--------------------------------------------------------------------- public static Event Initiate(ActiveSite site, int currentTime, int timestep) { IFireRegion ecoregion = SiteVars.FireRegion[site]; //Adjust ignition probability (measured on an annual basis) for the //user determined fire time step. double ignitionProb = ecoregion.IgnitionProbability * timestep; //The initial site must exceed the probability of initiation and //have a severity > 0 and exceed the ignition threshold: if (PlugIn.ModelCore.GenerateUniform() <= ignitionProb && PlugIn.ModelCore.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) { IFireRegion ecoregion = SiteVars.FireRegion[site]; //Adjust ignition probability (measured on an annual basis) for the //user determined fire time step. double ignitionProb = ecoregion.IgnitionProbability * timestep; //The initial site must exceed the probability of initiation and //have a severity > 0 and exceed the ignition threshold: if (PlugIn.ModelCore.GenerateUniform() <= ignitionProb && PlugIn.ModelCore.GenerateUniform() <= ComputeFireInitSpreadProb(site, currentTime) && CalcSeverity(site, currentTime) > 0) { Event FireEvent = new Event(site); FireEvent.Spread(currentTime); return FireEvent; } else return null; }