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;
}