Skip to content

WHAM-INFERNO integration#43

Open
Oli Perkins (OliPerkins1987) wants to merge 3 commits into
MetOffice:mainfrom
OliPerkins1987:wham_inferno_integration
Open

WHAM-INFERNO integration#43
Oli Perkins (OliPerkins1987) wants to merge 3 commits into
MetOffice:mainfrom
OliPerkins1987:wham_inferno_integration

Conversation

@OliPerkins1987

@OliPerkins1987 Oli Perkins (OliPerkins1987) commented Feb 3, 2026

Copy link
Copy Markdown

PR Summary

Sci/Tech Reviewer: Eddy Robertson
Code Reviewer: Sam Clarke-Green (@t00sa)

PR Summary

This pull request summarises changes to the INFERNO fire module made in order to couple it with the WHAM model of human fire use and management. This improves INFERNO's performance significantly.

Evaluation of the model can be found here (in submission).
Evaluation_19_11_2025.docx

The full overview of WHAM! and the structure of its coupling is described in these three papers:

Model description: https://gmd.copernicus.org/articles/17/3993/2024/
Prototype coupling and calibration: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2024EF004770
Future model runs: https://egusphere.copernicus.org/preprints/2025/egusphere-2025-3728/

An additional paper, detailing the online coupling is close to submission. Supporting files for that paper [including an R-based mockup of the fireline intensity algorithm] are available here: https://zenodo.org/records/18328879.

Although this PR allows WHAM! to be coupled with JULES in a dynamic way, it is not a full tight coupling (yet). Rather, outputs from the WHAM! model are passed as ancillaries. These are then updated in line with the changing distribution of plant functional types in JULES.

There are three fundamental changes made to the code.

  1. The first (ignitions) is toggled using a new ignitions mode
  2. The second (managed fire) is on a new switch "l_inferno_wham"
  3. The third (fire line intensity) is able to run with / without WHAM!. It is set using a new "fire_mortality_method" integer that maintains current functionality.

1) Ignitions mode
A new ignitions mode is added (ignitions_mode == 4). This specifies that ignitions, or unmanaged fires, are taken from WHAM! outputs. These are the sum of accidental anthropogenic fires, arson (fire use as a weapon under land use conflict) and escaped fires - managed fires that grow out of control. Importantly, ignitions from WHAM! take account of the seasonality of human fire use: i.e. they vary monthly, rather than being uniform across the calendar year.
This also incorporates WHAM! projections of fire suppression (i.e. fire fighting).

2) Managed fire
As much as 50% of global burned area is generated by small anthropogenic fires, typically used in livestock farming and for hunting/gathering in savanna ecosystems. WHAM! adds these into the model. Setting l_inferno_wham to True switches this functionality on.

In addition, it also adds the use of road density to adjust mean fire size. This is a simple representation of fragmentation that should increase fire size & burned area in remote regions, whilst reducing it where there is widespread human activity.
Managed fire use varies month to month in line with WHAM!'s projection of fire use seasonality. (as with ignitions).
Human fire use for fire risk reduction (i.e. prescribed fire or cultural burning) changes dynamically with tree cover. See, it is lower in wet tropical forests than open savannas. This is updated dynamically based on the PFT distribution at each time step.

3) Fireline intensity
Work by Olivia Haas (https://iopscience.iop.org/article/10.1088/1748-9326/ac6a69) has demonstrated that fire intensity (Watts emitted per m2 burned) has different drivers to burned area.
Fire intensity is closely related to vegetation mortality. Therefore, a new intensity algorithm was developed that captures the spatio-temporal variation in mortality. This replaces the current parameterisation of mortality as the product of burned area and a scalar value per PFT.

A new variable "fire_mortality_method" is defined with three levels:

1=The original mortality method (per Burton 2019)
2=The Burton method adjusted for saturation moisture. This provides a boundary condition around tropical forests. Too much mortality in tropical forests has been an issue in INFERNO.
3=The new fireline intensity algorithm. I have added a supplementary file that shows the relationships used in this. Important to note is that this can be run with / without WHAM. So, setting fire_mortality_method = 3 & l_inferno_wham = .false. will replace WHAM! inputs into the intensity algorithm with a function of population density.

SI1_Intensity_Algorithm_15122025.docx

Code Quality Checklist

(Some checks are automatically carried out via the CI pipeline)

  • [x ] I have performed a self-review of my own code
  • [x ] My code follows the project's style guidelines
  • [x ] Comments have been included that aid undertanding and enhance the
    readability of the code
  • My changes generate no new warnings
  • If editing rose-meta/jules-shared then have you supplied a linked UM PR?

Testing

  • [NB - I am unable to do this because the rose stem does not run properly on JASMIN at the moment ] I have tested this change locally, using the JULES rose-stem suite
  • If shared files have been modified, I have run the UM and LFRic Apps rose
    stem suites
  • If any tests fail (rose-stem or CI) the reason is understood and
    acceptable (eg. kgo changes)
  • I have added tests to cover new functionality as appropriate (eg. system
    tests, unit tests, etc.)

trac.log

Security Considerations

  • I have reviewed my changes for potential security issues
  • Sensitive data is properly handled (if applicable)
  • Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • Performance of the code has been considered and, if applicable, suitable
    performance measurements have been conducted

AI Assistance and Attribution

  • Some of the content of this change has been produced with the assistance
    of Generative AI tool name (e.g., Met Office Github Copilot Enterprise,
    Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
    Simulation Systems AI policy
    (including attribution labels)

Documentation

  • Where appropriate I have updated documentation related to this change and
    confirmed that it builds correctly

Approvals

Please request all relevant approvals. See the CodeOwners.txt file for section
owners.

Technical

  • [x ] JULES Code Owner
  • OpenMP
  • River Routing
  • [x ] Rose Stem
  • [ x] Rose Metadata
  • Upgrade Macros

Scientific

  • Surface
  • Hydrology
  • Vegetation
  • Veg3 RED Demography
  • Biogechemistry
  • Biogenic fluxes
  • [ x] Fire
  • Lakes
  • Evaluation
  • Imogen

Sci/Tech Review

  • I understand this area of code and the changes being added
  • The proposed changes correspond to the pull request description
  • Documentation is sufficient (do documentation papers need updating)
  • Sufficient testing has been completed

Please alert the code reviewer via a tag when you have approved the SR

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

…f changes made to integrate wham agent based model outputs into inferno
@github-actions github-actions Bot added the cla-required The CLA has not yet been signed by the author of this PR - added by GA label Feb 3, 2026
@github-actions github-actions Bot added cla-signed The CLA has been signed as part of this PR - added by GA and removed cla-required The CLA has not yet been signed by the author of this PR - added by GA labels Feb 3, 2026
Correct date format for Ol Perkins entry.
@OliPerkins1987 Oli Perkins (OliPerkins1987) changed the title porting of mosrs/fcm branch r30355_wham_integration; initial commit o… WHAM-INFERNO integration Feb 3, 2026
@jennyhickson

Copy link
Copy Markdown
Collaborator

Hi Oli,

We have github actions that try and monitor the status of pull requests based on the values of SciTech Review and Code Review in the pull request template. Please can you choose one person as the assigned Science Reviewer and put their github user ID rather than name in the form? You're welcome to request a review from the second person as well.

@OliPerkins1987

Copy link
Copy Markdown
Author

Hi Oli,

We have github actions that try and monitor the status of pull requests based on the values of SciTech Review and Code Review in the pull request template. Please can you choose one person as the assigned Science Reviewer and put their github user ID rather than name in the form? You're welcome to request a review from the second person as well.

Thanks - have emailed Eddy to ask what his GitHub Id is. OP

@OliPerkins1987

Copy link
Copy Markdown
Author

Hello,

Please could you advise what the umdp3 fixer is, where I can find documentation and whether it can be run on JASMIN? If not, I have no way of running it.

All best

Ol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed as part of this PR - added by GA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants