def findMaxima(array, freeLocs, time, nextId): """ Return list of firestorms from uncounted regions """ shape = array.shape fireList = [] for i in range(shape[0]): for j in range(shape[1]): if freeLocs[i, j] and array[i, j] > FIREMIN: if isMaximum(array, i, j): fireList.append(firestorm.FireStorm(nextId, (i, j), time)) nextId += 1 #Neighbouring points can have equal values, choose one as max removeDuplicates(fireList) return fireList, nextId
def test_addDailyArea(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) fs.addDailyArea(10) self.assertEqual(fs.area, [500, 10]) fs.addDailyArea(20, day=1) self.assertEqual(fs.area, [500, 20])
def get_getMaxRate(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) fs.addDailyArea(510) fs.addDailyArea(550) self.assertEqual(fs.getMaxRate(), 40)
def test_getRateList(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) fs.addDailyArea(510) self.assertEqual(fs.getRateList(), [10])
def test_getMaxArea(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) self.assertEqual(fs.getMaxArea(), 500)
def test_getAreaList(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) self.assertEqual(fs.getAreaList(), [500])
def test_getTimeLen(self): fs = firestorm.FireStorm(100, (44, -120), 0, initialArea=500) self.assertEqual(fs.getTimeLen(), 1)
def test_addDailyLocation(self): fs = firestorm.FireStorm(100, (44, 20), 0, initialArea=500) fs.addDailyLocation((44, 19)) self.assertEqual(fs.locations, [(44, 20), (44, 19)])