pnwairfire / bluesky

BlueSky Framework rearchitected as a pipeable collection of standalone modules.
GNU General Public License v3.0
18 stars 10 forks source link

Timeprofile of prescribed burning #257

Open zli867 opened 2 years ago

zli867 commented 2 years ago

Hi Joel, I have tried several start time and end time of a prescribed burning. The outputs of flaming fractions and smoldering fractions do not sensitive to the duration and start time: e.g.: a fire lasts 2 hours, flaming and smoldering fractions are: [0.5, 0.5] a fire lasts 3 hours, flaming and smoldering fractions are: [0.33, 0.33, 0.33] a fire lasts more than 3 hours, flaming and smoldering fractions are: [0.33, 0.33, 0.33] While the long term smoldering is related to the duration of fire. Are these assumptions of prescribed burnings?

  1. Prescribed burning lasts less than or equal to 3 hours (area is evenly divided and lasts less or equal to 3 hours)
  2. Flaming and smoldering fractions are static (it seems like you use feps formula to calculate the fraction while the experiments tell me the results is not sensitive to the duration)
jdubowy commented 2 years ago

Hi Zongrun. Could you give me more context, such as example input and output?

zli867 commented 2 years ago

Hi Joel, Here is the fire I used for the experiments:

{
    "fires": [{
        "id": "FtN08_0406_pt",
        "event_of": {
            "name": "April 6 N08 pt",
            "id": "FtN08_0406_pt"
        },
        "type": "rx",
        "fuel_type": "natural",
        "activity": [{
            "name": "First day",
            "active_areas": [{
                "utc_offset": "-04:00",
                "start": "2021-04-06T19:00:00",
                "end": "2021-04-06T22:00:00",
                "country": "USA",
                "state": "GA",
                "ecoregion": "southern",
                "specified_points": [{
                    "lat": 32.5010839781243,
                    "lng": -84.8269438083957,
                    "area": 367,
                    "utc_offset": "-04:00"
                }]
            }]
        }]
    }]
}
What I have done is simply change the start time and end time: start time end time flaming smoldering residual
10:00 13:00 [0.33333182 0.33333409 0.33333409] [0.33332029 0.33333986 0.33333986] [0.18234348 0.34036038 0.47729614]
10:00 14:00 [3.33331059e-01 3.33333333e-01 3.33333333e-01 2.27384346e-06] [3.33313761e-01 3.33333333e-01 3.33333334e-01 1.95722447e-05] [0.12899048 0.24077224 0.33764112 0.29259617]
10:00 18:00 [3.33e-01 3.3e-01 3.3e-01 2.3e-06 1.6e-11 1.1e-16 7.2e-22 4.9e-27] [3.3e-01 3.3e-01 3.3e-01 1.95e-05 1.15e-09 6.75e-14 3.96e-18 2.33e-22] [0.07053569 0.13166117 0.18463184 0.15999998 0.13865426 0.1201563 0.10412616 0.09023461]
12:00 14:00 [0.49999829 0.50000171] [0.49998532 0.50001468] [0.34884663 0.65115337]
19:00 22:00 [0.33333182 0.33333409 0.33333409] [0.33332029 0.33333986 0.33333986] [0.18234348 0.34036038 0.47729614]

What I found is:

  1. Night time ignited fire has the same timeprofile with day time fire (shift start time and end time does not affect timeprofile results (exp1, exp5))
  2. Timeprofile of flaming and smoldering for fires longer than 3 hours has the similar timeprofile of fires last 3 hours (0.333 for first three hour (exp 1, exp 2, exp 3)).
  3. Residual fraction is affected by the duration of fire (exp 1, exp 2, exp 3).
  4. From the results, the fractions of flaming and smoldering are even. 0.33 for fire lasts 3 hours, 0.5 for fire lasts 2 hours (exp1, exp4).
jdubowy commented 2 years ago

Hi Zongrun, If ignition_start and ignition_end aren't specified, then ignition_start is set to start and ignition_end is set to either 3 hours after start or to end, whichever is earlier. I think that would explain why flaming and smoldering values are non-negligible only in the first three hours. So, if you expect flaming for more than 3 hours, set ignition_start and ignition_end accordingly. I'll talk to my colleagues to make sure this behavior is desired, and I'll also try to get someone to review the FEPS logic in general. We are in the lead-up to pre fire season training, which is a very busy time for our team, so we probably won't do a thorough review anytime in the next few weeks, but I will bring it up today.

zli867 commented 2 years ago

Hi Joel, Thanks for your help. I have tried to add ignition_start and ignition_end in my input. The flaming and smoldering starts at ignition_start and end at ignition_end. The fractions of flaming and smoldering are a same value in each hour. It seems like the fraction is calculated by: 1/(ignition_end - ignition_start). The equation is used for rx. For wildfire, the fraction is not uniform. The residual for both rx and wf seems have more complex behavior (the fractions are not uniform during the fire event). I guess the model treats the timeprofile of prescribed burning as a constant function while uses feps for wildfire.

jdubowy commented 2 years ago

Hi Zongrun. I'm not an expert in the science behind timeprofiling, and so I reached out to some colleagues who are going to help with verifying that FEPS behavior and output are correct. Unfortunately, I don't have input and expected output data to use in unit testing. So, I'll generate example data and ask them to review the code.

jdubowy commented 2 years ago

Hi Zongrun, I talked to one colleague who confirmed that flaming, and probably also smoldering, are expected to be flat (same fraction each hour from ignition start to end) for Rx burns. We're still planning on a more detailed review, though that won't happen for at least a few weeks.