FireSTARR
Loading...
Searching...
No Matches
fs::wx::FwiWeather Class Reference

A Weather value with calculated FWI indices. More...

#include <FWI.h>

Inheritance diagram for fs::wx::FwiWeather:
Collaboration diagram for fs::wx::FwiWeather:

Public Member Functions

 FwiWeather () noexcept
 Construct with 0 for all values.
 
 FwiWeather (istringstream *iss, string *str)
 Construct by reading from istringstream.
 
 FwiWeather (const FwiWeather &yesterday, const int month, const MathSize latitude, const Temperature &temp, const RelativeHumidity &rh, const Wind &wind, const Precipitation &prec)
 construct by applying noon weather to yesterday's indices
 
 FwiWeather (const Temperature &temp, const RelativeHumidity &rh, const Wind &wind, const Precipitation &prec, const Ffmc &ffmc, const Dmc &dmc, const Dc &dc, const Isi &isi, const Bui &bui, const Fwi &fwi) noexcept
 Constructor.
 
 FwiWeather (const Temperature &temp, const RelativeHumidity &rh, const Wind &wind, const Precipitation &prec, const Ffmc &ffmc, const Dmc &dmc, const Dc &dc, const Isi &isi, const Bui &bui) noexcept
 Construct by calculating FWI.
 
 FwiWeather (const Temperature &temp, const RelativeHumidity &rh, const Wind &wind, const Precipitation &prec, const Ffmc &ffmc, const Dmc &dmc, const Dc &dc) noexcept
 Construct by calculating ISI, BUI, & FWI.
 
 FwiWeather (const FwiWeather &wx, const Speed &ws, const Ffmc &ffmc) noexcept
 Construct by recalculating with different wind Speed and Ffmc.
 
 ~FwiWeather () override=default
 Destructor.
 
constexpr FwiWeather (FwiWeather &&rhs) noexcept=default
 Move constructor.
 
constexpr FwiWeather (const FwiWeather &rhs) noexcept=default
 Copy constructor.
 
FwiWeatheroperator= (FwiWeather &&rhs) noexcept=default
 Move assignment.
 
FwiWeatheroperator= (const FwiWeather &rhs)=default
 Copy assignment.
 
constexpr const Ffmcffmc () const
 Fine Fuel Moisture Code.
 
constexpr const Dmcdmc () const
 Duff Moisture Code.
 
constexpr const Dcdc () const
 Drought Code.
 
constexpr const Isiisi () const
 Initial Spread Index.
 
constexpr const Buibui () const
 Build-up Index.
 
constexpr const Fwifwi () const
 Fire Weather Index.
 
constexpr MathSize mcFfmcPct () const
 Moisture content (%) based on Ffmc.
 
constexpr MathSize mcDmcPct () const
 Moisture content (%) based on Dmc.
 
constexpr MathSize mcFfmc () const
 Moisture content (ratio) based on Ffmc.
 
constexpr MathSize mcDmc () const
 Moisture content (ratio) based on Dmc.
 
constexpr MathSize ffmcEffect () const
 Ffmc effect used for spread.
 
- Public Member Functions inherited from fs::wx::Weather
virtual ~Weather ()=default
 Destructor.
 
constexpr Weather () noexcept=default
 Constructor with no initialization.
 
constexpr Weather (const Temperature &temp, const RelativeHumidity &rh, const Wind &wind, const Precipitation &prec) noexcept
 Construct with given indices.
 
constexpr Weather (Weather &&rhs) noexcept=default
 Move constructor.
 
constexpr Weather (const Weather &rhs) noexcept=default
 Copy constructor.
 
Weatheroperator= (Weather &&rhs) noexcept=default
 Move assignment.
 
Weatheroperator= (const Weather &rhs)=default
 Move assignment.
 
constexpr const Temperaturetemp () const noexcept
 Temperature (Celsius)
 
constexpr const RelativeHumidityrh () const noexcept
 Relative Humidity (%)
 
constexpr const Windwind () const noexcept
 Wind (km/h)
 
constexpr const Precipitationprec () const noexcept
 Precipitation (1hr accumulation) (mm)
 

Static Public Attributes

static const FwiWeather Zero
 FwiWeather with 0 for all Indices.
 
static const FwiWeather Invalid
 

Private Member Functions

 FwiWeather (const FwiWeather &wx, const Wind &wind, const Ffmc &ffmc, const Isi &isi) noexcept
 Calculate based on indices plus new Wind, Ffmc, and Isi.
 
 FwiWeather (const FwiWeather &wx, const Wind &wind, const Ffmc &ffmc) noexcept
 Calculate based on indices plus new Wind and Ffmc.
 

Private Attributes

Ffmc ffmc_
 Fine Fuel Moisture Code.
 
Dmc dmc_
 Duff Moisture Code.
 
Dc dc_
 Drought Code.
 
Isi isi_
 Initial Spread Index.
 
Bui bui_
 Build-up Index.
 
Fwi fwi_
 Fire Weather Index.
 
MathSize mc_ffmc_pct_
 Moisture content (ratio) based on Ffmc.
 
MathSize mc_dmc_pct_
 Moisture content (ratio) based on Dmc.
 
MathSize ffmc_effect_
 Ffmc effect used for spread.
 

Detailed Description

A Weather value with calculated FWI indices.

Constructor & Destructor Documentation

◆ FwiWeather() [1/10]

fs::wx::FwiWeather::FwiWeather ( istringstream * iss,
string * str )

Construct by reading from istringstream.

Parameters
issStream to parse
strstring to read into

◆ FwiWeather() [2/10]

fs::wx::FwiWeather::FwiWeather ( const FwiWeather & yesterday,
const int month,
const MathSize latitude,
const Temperature & temp,
const RelativeHumidity & rh,
const Wind & wind,
const Precipitation & prec )

construct by applying noon weather to yesterday's indices

Parameters
yesterdayFwiWeather yesterday used for startup indices
monthMonth to calculate for
latitudeLatitude to calculate for
tempTemperature (Celsius)
rhRelative Humidity (%)
windWind (km/h)
precPrecipitation (24hr accumulated, noon-to-noon) (mm)

◆ FwiWeather() [3/10]

fs::wx::FwiWeather::FwiWeather ( const Temperature & temp,
const RelativeHumidity & rh,
const Wind & wind,
const Precipitation & prec,
const Ffmc & ffmc,
const Dmc & dmc,
const Dc & dc,
const Isi & isi,
const Bui & bui,
const Fwi & fwi )
noexcept

Constructor.

Parameters
tempTemperature (Celsius)
rhRelative Humidity (%)
windWind (km/h)
precPrecipitation (1hr accumulation) (mm)
ffmcFine Fuel Moisture Code
dmcDuff Moisture Code
dcDrought Code
isiInitial Spread Index
buiBuild-up Index
fwiFire Weather Index

◆ FwiWeather() [4/10]

fs::wx::FwiWeather::FwiWeather ( const Temperature & temp,
const RelativeHumidity & rh,
const Wind & wind,
const Precipitation & prec,
const Ffmc & ffmc,
const Dmc & dmc,
const Dc & dc,
const Isi & isi,
const Bui & bui )
noexcept

Construct by calculating FWI.

Parameters
tempTemperature (Celsius)
rhRelative Humidity (%)
windWind (km/h)
precPrecipitation (1hr accumulation) (mm)
ffmcFine Fuel Moisture Code
dmcDuff Moisture Code
dcDrought Code
isiInitial Spread Index
buiBuild-up Index

◆ FwiWeather() [5/10]

fs::wx::FwiWeather::FwiWeather ( const Temperature & temp,
const RelativeHumidity & rh,
const Wind & wind,
const Precipitation & prec,
const Ffmc & ffmc,
const Dmc & dmc,
const Dc & dc )
noexcept

Construct by calculating ISI, BUI, & FWI.

Parameters
tempTemperature (Celsius)
rhRelative Humidity (%)
windWind (km/h)
precPrecipitation (1hr accumulation) (mm)
ffmcFine Fuel Moisture Code
dmcDuff Moisture Code
dcDrought Code

◆ FwiWeather() [6/10]

fs::wx::FwiWeather::FwiWeather ( const FwiWeather & wx,
const Speed & ws,
const Ffmc & ffmc )
noexcept

Construct by recalculating with different wind Speed and Ffmc.

Parameters
wxOriginal weather values
wsWind Speed to use
ffmcFine Fuel Moisture Code to use

◆ FwiWeather() [7/10]

fs::wx::FwiWeather::FwiWeather ( FwiWeather && rhs)
constexprdefaultnoexcept

Move constructor.

Parameters
rhsFwiWeather to move from

◆ FwiWeather() [8/10]

fs::wx::FwiWeather::FwiWeather ( const FwiWeather & rhs)
constexprdefaultnoexcept

Copy constructor.

Parameters
rhsFwiWeather to copy from

◆ FwiWeather() [9/10]

fs::wx::FwiWeather::FwiWeather ( const FwiWeather & wx,
const Wind & wind,
const Ffmc & ffmc,
const Isi & isi )
privatenoexcept

Calculate based on indices plus new Wind, Ffmc, and Isi.

Parameters
wxFwiWeather to use most indices from
windWind to override with
ffmcFfmc to override with
isiIsi calculated from given Wind and Ffmc to override with

◆ FwiWeather() [10/10]

fs::wx::FwiWeather::FwiWeather ( const FwiWeather & wx,
const Wind & wind,
const Ffmc & ffmc )
privatenoexcept

Calculate based on indices plus new Wind and Ffmc.

Parameters
wxFwiWeather to use most indices from
windWind to override with
ffmcFfmc to override with

Member Function Documentation

◆ bui()

const Bui & fs::wx::FwiWeather::bui ( ) const
inlinenodiscardconstexpr

Build-up Index.

Returns
Build-up Index
Here is the caller graph for this function:

◆ dc()

const Dc & fs::wx::FwiWeather::dc ( ) const
inlinenodiscardconstexpr

Drought Code.

Returns
Drought Code
Here is the caller graph for this function:

◆ dmc()

const Dmc & fs::wx::FwiWeather::dmc ( ) const
inlinenodiscardconstexpr

Duff Moisture Code.

Returns
Duff Moisture Code
Here is the caller graph for this function:

◆ ffmc()

const Ffmc & fs::wx::FwiWeather::ffmc ( ) const
inlinenodiscardconstexpr

Fine Fuel Moisture Code.

Returns
Fine Fuel Moisture Code
Here is the caller graph for this function:

◆ ffmcEffect()

MathSize fs::wx::FwiWeather::ffmcEffect ( ) const
inlinenodiscardconstexpr

Ffmc effect used for spread.

Returns
Ffmc effect used for spread
Here is the caller graph for this function:

◆ fwi()

const Fwi & fs::wx::FwiWeather::fwi ( ) const
inlinenodiscardconstexpr

Fire Weather Index.

Returns
Fire Weather Index
Here is the caller graph for this function:

◆ isi()

const Isi & fs::wx::FwiWeather::isi ( ) const
inlinenodiscardconstexpr

Initial Spread Index.

Returns
Initial Spread Index
Here is the caller graph for this function:

◆ mcDmc()

MathSize fs::wx::FwiWeather::mcDmc ( ) const
inlinenodiscardconstexpr

Moisture content (ratio) based on Dmc.

Returns
Moisture content (ratio) based on Dmc
Here is the call graph for this function:

◆ mcDmcPct()

MathSize fs::wx::FwiWeather::mcDmcPct ( ) const
inlinenodiscardconstexpr

Moisture content (%) based on Dmc.

Returns
Moisture content (%) based on Dmc
Here is the caller graph for this function:

◆ mcFfmc()

MathSize fs::wx::FwiWeather::mcFfmc ( ) const
inlinenodiscardconstexpr

Moisture content (ratio) based on Ffmc.

Returns
Moisture content (ratio) based on Ffmc
Here is the call graph for this function:

◆ mcFfmcPct()

MathSize fs::wx::FwiWeather::mcFfmcPct ( ) const
inlinenodiscardconstexpr

Moisture content (%) based on Ffmc.

Returns
Moisture content (%) based on Ffmc
Here is the caller graph for this function:

◆ operator=() [1/2]

FwiWeather & fs::wx::FwiWeather::operator= ( const FwiWeather & rhs)
default

Copy assignment.

Parameters
rhsFwiWeather to copy from
Returns
This, after assignment

◆ operator=() [2/2]

FwiWeather & fs::wx::FwiWeather::operator= ( FwiWeather && rhs)
defaultnoexcept

Move assignment.

Parameters
rhsFwiWeather to move from
Returns
This, after assignment

Member Data Documentation

◆ Invalid

const FwiWeather fs::wx::FwiWeather::Invalid
static
Initial value:
{
Temperature::Invalid,
RelativeHumidity::Invalid,
Wind::Invalid,
Precipitation::Invalid,
Ffmc::Invalid,
Dmc::Invalid,
Dc::Invalid,
Isi::Invalid,
Bui::Invalid,
Fwi::Invalid}

◆ Zero

const FwiWeather fs::wx::FwiWeather::Zero
static
Initial value:
{
static const Bui Zero
Build-up Index of 0.
Definition FWI.h:148
static const Dc Zero
Drought Code of 0.
Definition FWI.h:94
static const Dmc Zero
Duff Moisture Code of 0.
Definition FWI.h:66
static const Ffmc Zero
Fine Fuel Moisture Code of 0.
Definition FWI.h:36
static const Fwi Zero
Fire Weather Index of 0.
Definition FWI.h:177
static const Isi Zero
Initial Spread Index of 0.
Definition FWI.h:119
static const Precipitation Zero
Accumulated Precipitation of 0 mm.
Definition Weather.h:295
static const RelativeHumidity Zero
0% Relative Humidity
Definition Weather.h:42
static const Temperature Zero
0 degrees Celsius
Definition Weather.h:27
static const Wind Zero
Wind with 0 Speed from Direction 0.
Definition Weather.h:263

FwiWeather with 0 for all Indices.


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