Software
We developed a tool to calculate some fire weather indices from meteorological parameters, consisting of a library, a command line application and a graphical interface application.
We used the Scala

This tool reads meteorological data from a *.csv file and calculates the fire weather indices according to the inputs, storing the results in another *.csv file and the details of the calculation in a text file (log). For each index multiple possible input parameters have been specified, according to a ranking from the optimal to the less suitable choice. For example for the canadian FWI if the parameters at noon are not available, the program will try to compute it with other meaningful daily values. Variable choice is indicated in the logs.
Input file
The program can read *.csv files (comma separated values), with headers with a specific name (columns with other names will not be considered). The case (upper/lower) is not relevant. For a list of the abbreviations used see the Variable section. The values are checked for missing values and range validity. The values of the input variables wich are out of range are replaced with a missing value (not in the original file, only to perform the calculations).Settings
You can change the settings according to your local situation. In the missing variables tab you can specify some parameters which can be used for the calculation as a replacement. The parameter can also be imported form a file (see Preferences).Preferences
You can specify if the parameters and missing variables should be read from the ui (user interface), a parameter file (*_PAR.txt) or both (file parameters have the precedence over ui parameters). The file option allows you to use different parameters for different stations in the multi file calculation. The parameters in the *_PAR.txt file should be specified as the following example:Altitude 500
Latitude 46.0
FireSeasonStart 15.01
FireSeasonEnd 15.10
Climate 3
Output files
The program generates two files, one containing the results (xxx_RESULTS.csv) and one reporting the log (xxx_LOG.txt), which are stored in the same directory as the input file (xxx.csv). For each calculated variable, a log is given with the calclulation details:start: initial value
(required variables)->(used variables)
[parameters used]
Parameters
Here is a list of the parameters and missing variables that can be specified in a *_PAR.txt file (see paragraph on preferences).Altitude | Altitude | m |
Latitude | Latitude | ° |
Krs | Krs | |
Albedo | Albedo | |
RainyDayThreshold | Threshold for rainy day | mm |
KBDIstart | KBDIstart | |
FFMCstart | MFFMCstart | |
DMCstart | DMCstart | |
DCstart | DCstart | |
FireSeason |
Start of the fire season | day-month |
FireSeasonEnd | End of the fire season | day-month |
M68VegCorrStep3Start | vegCorrStep3Start | |
M68VegCorrStep3End | vegCorrStep3End | -- |
XsnowcoverStart | XsnowcoverStart | day-month |
XsnowcoverEnd | XsnowcoverEnd | day-month |
XbirchLeaves | XbirchLeaves | day-month |
XrobiniaBlossom | XrobiniaBlossom | day-month |
MeanAnnualRain | Mean annual rain | mm/year |
Climate | Climate class (Deeming et al. 1977) | 1-4 |
I | Heat index |
Variables
Here is a list of the variables used with the abbreviations, units and variables required for the computation.Inputs:
DateYYYYMMDD | e.g. 20081231 | |
T | Temperature average | °C |
T12 | Temperature at 12:00 | °C |
T13 | Temperature at 13:00 | °C |
T15 | Temperature at 15:00 | °C |
Tmin | Minimal temperature | °C |
Tmax | Maximal temperature | °C |
P | Rainfall sum at 06:00 | mm/day |
P12 | Rainfall sum at 12:00 | mm/day |
P13 | Rainfall sum at 13:00 | mm/day |
P15 | Rainfall sum at 15:00 | mm/day |
U | Windspeed average | m/s |
U12 | Windspeed at 12:00 | m/s |
U13 | Windspeed at 13:00 | m/s |
U15 | Windspeed at 15:00 | m/s |
H | Relative humidity | % |
H12 | Relative humidity at 12:00 | % |
H13 | Relative humidity at 13:00 | % |
H15 | Relative humidity at 15:00 | % |
Hmin | Minimum Relative humidity | % |
Hmax | Maximum Relative humidity | % |
Cc | Cloud cover fraction | ratio |
Optional inputs:
SnowCover | Snow cover | 0/1 | (T, XsnowcoverStart, XsnowcoverEnd) |
BirchLeaves | Phenological phase first birch leaves | 0/1 | (T, XbirchLeaves) |
RobiniaBlossom | Phenological phase robinia blossom | 0/1 | (T, XrobiniaBlossom) |
PC | Phenological coefficient | 100/200 | (r) |
PDur | Duration of rainfall in a day | h | (P, Climate) |
Calculables: (from inputs or settings)
Tdew | Dewpoint temperature | °C | (T, H) |
Tdew12 | Dewpoint temperature at 12:00 | °C | (T12, H12) |
Tdew15 | Dewpoint temperature at 15:00 | °C | (T15, H15) |
PDur | Duration of rainfall in a day | h | (P, Climate) |
SnowCover | Snow cover | 0/1 | (T, XsnowcoverStart, XsnowcoverEnd) |
RobiniaBlossom | Phenological phase robinia blossom | 0/1 | (T, XrobiniaBlossom) |
BirchLeaves | Phenological phase first birch leaves | 0/1 | (T, XbirchLeaves) |
PC | Phenological coefficient | 100/200 | (r) |
N | Daylight hours FAO | day | (T, Latitude) |
DaysSinceRain | Days since last rainfall | day | (P, RainyDayThreshold) |
AgeRainEvent_2_20 | Age of last significant rainfall event (days > 2mm in past 20 days)(day with max rain in event) | days | (P) |
WeekRain | One week rainfall | mm/week | (P) |
RainSum | Sum of consecutive rainfall | mm | (P) |
lastRainSum | Sum of last consecutive rainfall | mm | (P) |
lastRainSum_2_20 | Sum of last significant rainfall event (days > 2mm in past 20 days) | mm | (P) |
VPD | Vapour pressure deficit value | kPa | (Tmax, Tmin, H) |
VPD13 | Vapour pressure deficit value at 13:00 | kPa | (T13, H13) |
Angstroem | Angstroem index value | — | (T, H) |
Nesterov | Nesterov index value | — | (T15, Tdew15, P15) |
Munger | Munger index value | — | (P) |
EMC | Equilibrium moisture content | % | (T, H) |
EMCfa | Equilibrium moisture content at fuel-atmosphere interface | % | (T, H, Cc) |
EMC24 | Weighted 24-hour average EMC | % | (Tmin, Tmax, Hmin, Hmax, N) |
FFWI | FFWI index value | — | (EMC, U) |
FFWImod | modified FFWI index value | — | (KBDI, FFWI) |
KBDI | KBDI index value | inches/100 | (Tmax, P, MeanAnnualRain, KBDIstart, RainSum, WeekRain, RainyDayThreshold) |
KBDISI | KBDISI index value | mm | (Tmax, P, MeanAnnualRain, KBDIstart, RainSum, WeekRain, RainyDayThreshold) |
Sharples | Sharples index value | — | (T, H, U) |
FMI | Sharples fuel moisture index | — | (T, H) |
Baumgartner | Baumgartner index | — | (P, PETpen) |
BaumgartnerDanger | Baumgartner Danger classes | — | (Baumgartner) |
NetRad | Net Radiation | — | (H, Tmax, Tmin, Latitude, Altitude, Krs, Albedo) |
PETpen | Potential evapotranspiration value Penmann formula | mm/day | (NetRad, T, U, VPD, Altitude) |
PETthorn | Potential evapotranspiration value Thorntwaite formula | mm/day | (T, I, N) |
PETthorn_camargo | Potential evapotranspiration value Thorntwaite formula, with Tef of Camargo et al (1999) | mm/day | (Tmin, Tmax, I, N) |
PETthorn_pereira | Potential evapotranspiration value Thorntwaite formula, with Tef of Pereira and Pruitt (2004) | mm/day | (Tmin, Tmax, I, N) |
r | soil water reserve (Orieux Index) | mm | (P, PETthorn, WeekRain, KBDIstart) |
OrieuxDanger | Orieux Danger classes | (r, U) | |
rs | surface soil water reserve (Carrega 1988) | mm | (P, PETthorn, RainSum) |
I87 | I87 index (Carrega 1988) | — | (T, H, U, P, r, rs, PC) |
RN | Numerical risk index | — | (T, Tdew, U, Cc, r) |
M68 | M68 index value | — | (pM68, P, BirchLeaves, RobiniaBlossom, M68VegCorrStep3Start, M68VegCorrStep3End) |
pM68 | pM68 index value | — | (T13, VPD13, P13, SnowCover, FireSeason |
M68dwd | M68 index value (DWD modification) | — | (pM68dwd, P, BirchLeaves, RobiniaBlossom, M68VegCorrStep3Start, M68VegCorrStep3End) |
pM68dwd | pM68 index value (DWD modification) | — | (T13, H13, P13, SnowCover, FireSeason |
FFDI | MacArthur5 index value | — | (DFgriffithAdj, T15, H15, U15) |
DFnoble | Drought factor (Noble 1980) | — | (lastRainSum, DaysSinceRain, KBDISI) |
DFgriffith | Drought factor (Griffith 1999) | — | (lastRainSum_2_20, AgeRainEvent_2_20, KBDISI) |
DFgriffithAdj | Drought factor (Finkele et al.2006) | — | (lastRainSum_2_20, AgeRainEvent_2_20, KBDISI) |
FWI | Fire weather index | — | (BUI, ISI) |
ISI | Initial spread index | — | (FFMC, U12) |
BUI | Buildup index | — | (DMC, DC) |
FFMC | Fine fuel moisture code | — | (T12, H12, U12, P12, SnowCover, FFMCstart) |
DMC | Duff moisture code | — | (T12, H12, P12, SnowCover, DMCstart) |
DC | Drought code | — | (T12, P12, SnowCover, DCstart) |
MC1 | 1-hour timelag fuel moisture | % | (EMCfa) |
MC10 | 10-hour timelag fuel moisture | % | (EMCfa) |
MC100 | 100-hour timelag fuel moisture | % | (EMC24, PDur) |
MC1000 | 1000-hour timelag fuel moisture | % | (EMC24, PDur) |
Ifa | Ifa index (Portuguese Index) | — | (T12, Tdew12, P, U12, FireSeason |
Table of contents: