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

Fix ROS adjustment factors #54

Open janmandel opened 2 years ago

janmandel commented 2 years ago

Describe the bug The adjustment factors adjr0, adjrw, adjrs for the ROS computations do not have the expected effect.

To Reproduce Change the values of adjr0,adjrw,adjrs in namelist.fire and observe the ROS.
Use default Rothermel ROS model (ibeh=0) in namelist.fire.

Expected behavior If adjr0=adjrw=adjrs=x ROS should get multiplied by x.

janmandel commented 2 years ago

When using 0.5 for all the ros as reported changes as it should:

$ grep 'sfire_driver:ros' hill0.5/rsl.error.0000 | head SFIRE:sfire_driver:ros 1 410 1 410 0.24646E-01 0.24646E-01 0.24654E-01 ... SFIRE:sfire_driver:ros 1 410 1 410 0.24646E-01 2.4635 0.32646 SFIRE:sfire_driver:ros 1 410 1 410 0.24646E-01 2.4635 0.32599 $ grep 'sfire_driver:ros' hill/rsl.error.0000 | head SFIRE:sfire_driver:ros 1 410 1 410 0.49293E-01 0.49293E-01 0.49309E-01 ... SFIRE:sfire_driver:ros 1 410 1 410 0.49293E-01 4.9269 0.65228 SFIRE:sfire_driver:ros 1 410 1 410 0.49293E-01 4.9269 0.65073

janmandel commented 2 years ago

But the fire area does not change as much:

$ grep 'Fire' hill/rsl.error.0000 | head -20 ... SFIRE:Time 2.000 s Fire area 0.864E-01 m^2 SFIRE:Time 2.250 s Fire area 0.185E+00 m^2 SFIRE:Time 2.500 s Fire area 0.297E+00 m^2 ... SFIRE:Time 4.750 s Fire area 0.441E+01 m^2 $ grep 'Fire' hill0.5/rsl.error.0000 | head -20 ... SFIRE:Time 2.000 s Fire area 0.849E-01 m^2 SFIRE:Time 2.250 s Fire area 0.179E+00 m^2 SFIRE:Time 2.500 s Fire area 0.285E+00 m^2 ... SFIRE:Time 4.750 s Fire area 0.380E+01 m^2

janmandel commented 2 years ago

After fire_viscosity=0 the sensitivity to adjustment factors is better. Decreasing ROS in hill by 1/2 decreases the fire area about that as expected Increasing 2x does not increase the fire are 2x but there are many nodes where ROS tops at 6. The code that restricts ROS to ros_max is here. ros_max=6 is hardcoded here.

Fergui commented 1 year ago

Test adjustment factors with uncoupled simulations (fireflux experiment).