51 int weatherPeriod = 0;
54 int weatherperiod = 0;
61 bool noIgnition =
true;
62 bool activeCrown =
false;
63 bool messagesSent =
false;
64 bool repeatFire =
false;
66 bool noMessages =
false;
71 double perimeterCells;
76 string messagesFolder;
79 string surfaceIntensityFolder;
80 string crownIntensityFolder;
83 string surfaceFlameLengthFolder;
84 string maxFlameLengthFolder;
85 string crownFlameLengthFolder;
87 string ignitionsFolder;
90 std::vector<int> fire_period;
91 std::vector<std::vector<int>> coordCells;
92 std::vector<std::unordered_map<std::string, int>> adjCells;
93 std::vector<std::vector<std::string>> DF;
94 std::vector<std::vector<std::string>> WDist;
95 std::vector<std::string> WeatherHistory;
96 std::vector<float> ignProb;
97 std::vector<int> statusCells;
98 std::vector<int> fTypeCells;
99 std::vector<string> fTypeCells2;
100 std::vector<std::vector<std::string>> WeatherDF;
101 std::vector<int> IgnitionPoints;
102 vector<int> burnedOutList;
103 std::vector<double> FSCell;
104 std::vector<float> crownMetrics;
105 std::vector<int> crownState;
106 std::vector<float> surfaceIntensities;
107 std::vector<float> crownIntensities;
108 std::vector<float> crownFraction;
109 std::vector<float> surfFraction;
110 std::vector<float> RateOfSpreads;
111 std::vector<float> surfaceFlameLengths;
112 std::vector<float> crownFlameLengths;
113 std::vector<float> maxFlameLengths;
114 std::vector<std::vector<int>> IgnitionSets;
118 std::unordered_set<int> availCells;
119 std::unordered_set<int> nonBurnableCells;
120 std::unordered_set<int> burningCells;
121 std::unordered_set<int> burntCells;
122 std::unordered_set<int> harvestCells;
125 std::unordered_map<int, Cells> Cells_Obj;
132 void reset(
int rnumber,
double rnumber2,
int simExt);
133 bool RunIgnition(std::default_random_engine generator,
int ep);
134 std::unordered_map<int, std::vector<int>>
SendMessages();
135 void GetMessages(std::unordered_map<
int, std::vector<int>> sendMessageList);
139 void Step(std::default_random_engine generator,
int ep);
140 void InitHarvested();
void Step(std::default_random_engine generator, int ep)
Executes a single simulation step in the forest fire model.
Definition Cell2Fire.cpp:2278
void Results()
Generates and outputs simulation results, including fire behavior metrics, final grid status,...
Definition Cell2Fire.cpp:1835
std::unordered_map< int, std::vector< int > > SendMessages()
Message-sending phase of the fire spread model, where burning cells propagate fire messages to neighb...
Definition Cell2Fire.cpp:1336
std::vector< float > getROSMatrix()
Retrieves the Rate of Spread (ROS) matrix for all cells.
Definition Cell2Fire.cpp:2440
void GetMessages(std::unordered_map< int, std::vector< int > > sendMessageList)
Processes incoming fire messages to determine the ignition and progression of fire in cells.
Definition Cell2Fire.cpp:1553
void reset(int rnumber, double rnumber2, int simExt)
Resets the simulation environment for a new run.
Definition Cell2Fire.cpp:628
bool RunIgnition(std::default_random_engine generator, int ep)
Simulates the ignition phase of the fire spread model for a single simulation year.
Definition Cell2Fire.cpp:1018