openwfm / WRF-SFIRE

A coupled weather-fire forecasting model built on top of Weather Research and Forecasting (WRF). This is the original https://github.com/openwfm/wrf-fire transitioned to a fork of WRF and selected as ifire=1. Graphic log at https://repo.or.cz/git-browser/by-commit.html?r=WRF-SFIRE.git
https://wiki.openwfm.org
Other
42 stars 12 forks source link

Compute fire arrival time on the whole domain #84

Open janmandel opened 9 months ago

janmandel commented 9 months ago

Feature Name

Compute fire arrival time on the whole domain

Description

Create a meaningful fire arrival time TIGN_G over the whole domain. Currently, in every time step, the fire arrival time TIGN_G is computed only in cells at the fireline. The values of TIGN_G persist and are meaningful within the fire region, but TIGN_G is set to a constant value outside of the fire.

  1. One time/on demand: Create TIGN_G by advancing the level set method separately from the atmosphere
  2. One time/on demand: Set the level set function LFN to the new TIGN_G. This is similar to the reinitialization of level set function as signed distance, commonly advocated in level set methods, it but takes into account the fuels and ROS.
  3. Turn on/off: Update TIGN_G also outside of fire region, not only on the fireline.

Purpose

Effective change of fire arrival time for in data assimilation benefits from the fire arrival time available also outside of the fire region, to allow meaningful adjustments. Currently, the fire arrival time is computed only in the past, i.e., in the fire region.

Methods/References

The computation of TIGN_G used in the code from the level set function update is described in Mandel et al., 2009 and implemented in module_fr_sfire_core.F current. This computation is applicable to any type of level set method, not only the one in currently used in WRF-SFIRE.

Feature Class

Please choose one of the available feature classes:

Relevant Information

[Include any additional relevant information or considerations related to the feature.]

Test Cases

To test your feature implementation, consider the following test cases or develop additional ones as needed:

If you need to create a new test case, please provide the following information:

[Add more test cases as needed.]

Usage Example

[Provide an example of how the feature can be used or applied.]

janmandel commented 8 months ago

Related:

lfn_start #54

fire_test_steps originally in 2010 module_fr_sfire_driver_wrf.F#L105

comment: ! in the first call, do fire_test_steps steps of the fire model but does not do anything

grep -n fire_test_steps *sfire*.F module_fr_sfire_driver.F:381: itimestep = grid%itimestep + istep ! in the first call, do fire_test_steps steps of the fire model module_fr_sfire_driver.F:1801:fire_test_steps = config_flags%fire_test_steps module_fr_sfire_driver_wrf.F:93: USE module_fr_sfire_util, only : fire_test_steps module_fr_sfire_driver_wrf.F:163: ,ifun_step,ifun_end,fire_test_steps & module_fr_sfire_util.F:37: fire_test_steps=0, & ! 0=no fire, 1=normal, >1 = do specified number of steps and terminate (testing only)