FireSTARR
Loading...
Searching...
No Matches
fs::sim::ProbabilityMap Class Reference

Map of the percentage of simulations in which a Cell burned in each intensity category. More...

#include <ProbabilityMap.h>

Collaboration diagram for fs::sim::ProbabilityMap:

Public Member Functions

 ProbabilityMap (const ProbabilityMap &rhs) noexcept=delete
 
 ProbabilityMap (ProbabilityMap &&rhs) noexcept=delete
 
ProbabilityMapoperator= (const ProbabilityMap &rhs) noexcept=delete
 
ProbabilityMapoperator= (ProbabilityMap &&rhs) noexcept=delete
 
 ProbabilityMap (const string dir_out, DurationSize time, DurationSize start_time, int min_value, int low_max, int med_max, int max_value, const data::GridBase &grid_info)
 Constructor.
 
ProbabilityMapcopyEmpty () const
 Create a copy of this that is empty.
 
void setPerimeter (const topo::Perimeter *const perimeter)
 Assign perimeter to use for marking cells as initial perimeter.
 
void addProbabilities (const ProbabilityMap &rhs)
 Combine results from another ProbabilityMap into this one.
 
void addProbability (const IntensityMap &for_time)
 Add in an IntensityMap to the appropriate probability grid based on each cell burn intensity.
 
vector< MathSize > getSizes () const
 List of sizes of IntensityMaps that have been added.
 
util::Statistics getStatistics () const
 Generate Statistics on sizes of IntensityMaps that have been added.
 
size_t numSizes () const noexcept
 Number of sizes that have been added.
 
void show () const
 Output Statistics to log.
 
void saveSizes (const string &base_name) const
 Save list of sizes.
 
void saveAll (const tm &start_time, DurationSize time, const bool is_interim) const
 Save total, low, moderate, and high maps, and output information to log.
 
void saveTotal (const string &base_name, const bool is_interim) const
 Save map representing all intensities.
 
void saveTotalCount (const string &base_name) const
 Save map representing all intensities occurrence.
 
void saveHigh (const string &base_name) const
 Save map representing high intensities.
 
void saveModerate (const string &base_name) const
 Save map representing moderate intensities.
 
void saveLow (const string &base_name) const
 Save map representing low intensities.
 
void reset ()
 Clear maps and return to initial state.
 

Static Public Member Functions

static void deleteInterim ()
 

Private Member Functions

bool record_if_interim (const char *filename) const
 Make note of any interim files for later deletion.
 
template<class R >
string saveToProbabilityFile (const data::GridMap< size_t > &grid, const string &dir, const string &base_name, const R divisor) const
 Save probability file and record filename if interim.
 

Private Attributes

const string dir_out_
 Directory to write outputs to.
 
data::GridMap< size_t > all_
 Map representing all intensities.
 
data::GridMap< size_t > high_
 Map representing high intensities.
 
data::GridMap< size_t > med_
 Map representing moderate intensities.
 
data::GridMap< size_t > low_
 Map representing low intensities.
 
vector< MathSize > sizes_ {}
 List of sizes for perimeters that have been added.
 
const DurationSize time_
 Time in simulation this ProbabilityMap represents.
 
const DurationSize start_time_
 Start time of simulation.
 
mutex mutex_
 Mutex for parallel access.
 
IntensitySize min_value_
 Lower bound of 'low' intensity range.
 
IntensitySize max_value_
 Upper bound of 'high' intensity range.
 
const IntensitySize low_max_
 Upper bound of 'low' intensity range.
 
const IntensitySize med_max_
 Upper bound of 'moderate' intensity range.
 
const topo::Perimeterperimeter_
 Initial ignition grid to apply to outputs.
 

Detailed Description

Map of the percentage of simulations in which a Cell burned in each intensity category.

Constructor & Destructor Documentation

◆ ProbabilityMap()

fs::sim::ProbabilityMap::ProbabilityMap ( const string dir_out,
DurationSize time,
DurationSize start_time,
int min_value,
int low_max,
int med_max,
int max_value,
const data::GridBase & grid_info )

Constructor.

Parameters
dir_outDirectory to save outputs to
timeTime in simulation this ProbabilityMap represents
start_timeStart time of simulation
min_valueLower bound of 'low' intensity range
low_maxUpper bound of 'low' intensity range
med_maxUpper bound of 'moderate' intensity range
max_valueUpper bound of 'high' intensity range
grid_infoGridBase to use for extent of this

Member Function Documentation

◆ addProbabilities()

void fs::sim::ProbabilityMap::addProbabilities ( const ProbabilityMap & rhs)

Combine results from another ProbabilityMap into this one.

Parameters
rhsProbabilityMap to combine from
Here is the call graph for this function:

◆ addProbability()

void fs::sim::ProbabilityMap::addProbability ( const IntensityMap & for_time)

Add in an IntensityMap to the appropriate probability grid based on each cell burn intensity.

Parameters
for_timeIntensityMap to add results from
Here is the call graph for this function:

◆ copyEmpty()

ProbabilityMap * fs::sim::ProbabilityMap::copyEmpty ( ) const

Create a copy of this that is empty.

Returns
New empty Probability with same range bounds and times

◆ deleteInterim()

void fs::sim::ProbabilityMap::deleteInterim ( )
static

Delete interim output files

Here is the caller graph for this function:

◆ getSizes()

vector< MathSize > fs::sim::ProbabilityMap::getSizes ( ) const
nodiscard

List of sizes of IntensityMaps that have been added.

Returns
List of sizes of IntensityMaps that have been added

◆ getStatistics()

util::Statistics fs::sim::ProbabilityMap::getStatistics ( ) const
nodiscard

Generate Statistics on sizes of IntensityMaps that have been added.

Returns
Generate Statistics on sizes of IntensityMaps that have been added

◆ numSizes()

size_t fs::sim::ProbabilityMap::numSizes ( ) const
nodiscardnoexcept

Number of sizes that have been added.

Returns
Number of sizes that have been added

◆ saveAll()

void fs::sim::ProbabilityMap::saveAll ( const tm & start_time,
DurationSize time,
const bool is_interim ) const

Save total, low, moderate, and high maps, and output information to log.

Parameters
start_timeStart time of simulation
timeTime for these maps
Here is the call graph for this function:

◆ saveHigh()

void fs::sim::ProbabilityMap::saveHigh ( const string & base_name) const

Save map representing high intensities.

Parameters
base_nameBase file name to save to

◆ saveLow()

void fs::sim::ProbabilityMap::saveLow ( const string & base_name) const

Save map representing low intensities.

Parameters
base_nameBase file name to save to

◆ saveModerate()

void fs::sim::ProbabilityMap::saveModerate ( const string & base_name) const

Save map representing moderate intensities.

Parameters
base_nameBase file name to save to

◆ saveSizes()

void fs::sim::ProbabilityMap::saveSizes ( const string & base_name) const

Save list of sizes.

Parameters
base_nameBase name of file to save into

◆ saveToProbabilityFile()

template<class R >
string fs::sim::ProbabilityMap::saveToProbabilityFile ( const data::GridMap< size_t > & grid,
const string & dir,
const string & base_name,
const R divisor ) const
inlineprivate

Save probability file and record filename if interim.

Returns
Path for file that was written
Here is the call graph for this function:

◆ saveTotal()

void fs::sim::ProbabilityMap::saveTotal ( const string & base_name,
const bool is_interim ) const

Save map representing all intensities.

Parameters
base_nameBase file name to save to

◆ saveTotalCount()

void fs::sim::ProbabilityMap::saveTotalCount ( const string & base_name) const

Save map representing all intensities occurrence.

Parameters
base_nameBase file name to save to

◆ setPerimeter()

void fs::sim::ProbabilityMap::setPerimeter ( const topo::Perimeter *const perimeter)

Assign perimeter to use for marking cells as initial perimeter.

Parameters
perimeterIgnition grid to store for marking in outputs

The documentation for this class was generated from the following files: