Skip to content

Climate drivers for fire for REF #3975

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 52 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
79a1264
Add arviz dependency
jlenh Mar 4, 2025
1000d4b
add author
jlenh Mar 4, 2025
1c98002
Add recipe draft
jlenh Mar 4, 2025
7d9e547
Diagnostic code and utils
jlenh Mar 4, 2025
6010c85
Add model run files
jlenh Mar 4, 2025
2fbeb2a
Adding variables and minor changes
jlenh Mar 6, 2025
3f6183c
Adding Zenodo files download and fix model evaluation
jlenh Mar 12, 2025
612b69e
Units and plots fixes
jlenh Apr 9, 2025
7dcfc57
Code style cleanup
jlenh Apr 9, 2025
be6ae9b
Initial documentation commit
jlenh Apr 10, 2025
80db530
Code cleanup
jlenh Apr 10, 2025
0c1764d
Correct single typo
jlenh Apr 10, 2025
a2e4578
Code cleaning
jlenh Apr 10, 2025
2da9ebb
Small issues
jlenh Apr 10, 2025
bf5b342
Solving minor issues, some remain
jlenh Apr 10, 2025
b0a75ad
(final?) style fixes
jlenh Apr 10, 2025
d1b6ae2
Nope
jlenh Apr 10, 2025
de8c9fe
Update code from linked git repo
jlenh Apr 11, 2025
40b537c
Updates on outputs
jlenh Apr 14, 2025
068a265
Documentation notes
jlenh Apr 14, 2025
d3924f6
Update documentation and add figures
jlenh May 13, 2025
963f1e4
Filename string mixup fixed
jlenh May 13, 2025
005f44c
Add provenance ancestors in saved ConFire output files
jlenh May 13, 2025
9e57e14
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
jlenh May 15, 2025
ce7fae8
Code formatting and doc
jlenh May 15, 2025
9c78d00
Some formatting
jlenh May 15, 2025
fe36a5c
Add proper provenance for plots and files, solve some other issues
jlenh May 16, 2025
472412e
Change figure title + fixes
jlenh May 21, 2025
1645787
Code style
jlenh May 21, 2025
6cec482
Code formatting
jlenh May 22, 2025
37dfcb7
Merge branch 'main' into ref_fire_diagnostic
jlenh May 22, 2025
e1cd3ab
Adapt figures title
jlenh May 22, 2025
ec3e5fd
Update documentation and recipe
jlenh May 22, 2025
3991561
Update doc figures
jlenh May 22, 2025
45e6e5d
Solve Codacy issues
jlenh May 22, 2025
cc59dc1
Functions doc
jlenh May 22, 2025
d92431c
Figures legend update and small code fixes
jlenh May 26, 2025
5b936ea
Merge main branch into ref_fire_diagnostic
jlenh Jun 20, 2025
c8ab453
Add dependency in pyproject.toml
jlenh Jun 20, 2025
a5db080
Remove unused functions from utils
jlenh Jun 20, 2025
5ce0515
Apply suggestions from code review
jlenh Jun 25, 2025
804112f
Minor fix from review
jlenh Jun 25, 2025
cc4abbb
Make compute_vpd function lazy again, and clean provenance record
jlenh Jun 25, 2025
58936b5
Replace path handling using Path library
jlenh Jun 25, 2025
5288daa
Correct da.divide
jlenh Jun 25, 2025
e5bb44c
Address (some) review comments
jlenh Jul 9, 2025
1b1dfde
Address weird filename read function
jlenh Jul 9, 2025
486b424
Address weird filename read function - file name/extension
jlenh Jul 9, 2025
69883cb
Merge branch 'main' into ref_fire_diagnostic
jlenh Jul 9, 2025
4f2a36e
Merge branch 'main' into ref_fire_diagnostic
jlenh Aug 7, 2025
b26a7a8
Formatting
jlenh Aug 7, 2025
a20203f
Documentation formatting
jlenh Aug 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/sphinx/source/recipes/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ Land
recipe_landcover
recipe_anav13jclim
recipe_runoff_et
recipe_ref_fire

Ocean
^^^^^
Expand Down
24 changes: 23 additions & 1 deletion doc/sphinx/source/recipes/recipe_ref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ Recipes are stored in `recipes/`
time series, zonal mean total column ozone vs. time map plot, zonal mean
total column ozone vs. annual cycle map plot, altitude vs. zonal mean
ozone profile climatology map plot
* :ref:`ref/recipe_ref_fire.yml <recipe_ref_fire>`:
Maps of burnt area fraction, fire weather control, and fuel load continuity control.


Example plots:
Expand Down Expand Up @@ -89,10 +91,30 @@ Example plots:
Zonal mean vertically resolved ozone climatology from CNRM-ESM2-1 compared with ESACCI-OZONE
for the years 1990 to 2000. Created with recipe_ref_ozone.yml.

.. _fig_ref_7:
.. figure:: /recipes/figures/ref/timeseries_tas_ambiguous_dataset_Amon_historical_r1i1p1f1.png
:align: center
:width: 8cm

Time series of near-surface air temperature anomalies from MIROC6 compared with HadCRUT5
for N.Europe for the years 1980 to 2014 (reference period 1980 to 2009). Created with recipe_ref_timeseries_region.yml.

.. _fig_ref_7:
.. figure:: /recipes/figures/ref/burnt_fraction_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Burnt area fraction for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.

.. _fig_ref_8:
.. figure:: /recipes/figures/ref/fire_weather_control_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Fire weather control for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.

.. _fig_ref_9:
.. figure:: /recipes/figures/ref/fuel_load_continuity_control_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Fuel load continuity control for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.
180 changes: 180 additions & 0 deletions doc/sphinx/source/recipes/recipe_ref_fire.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
.. _recipe_ref_fire:

Climate drivers of fire
=======================

Overview
--------

This diagnostic includes:

* burnt fraction
* fire weather control
* fuel load/continuity control

The diagnostic relies on the processing of fire climate drivers through the
ConFire model (dedicated branch from the GitHub repository available at
https://github.com/douglask3/Bayesian_fire_models/tree/AR7_REF) and is based on
`Jones et al. (2024)`. The diagnostic computes the burnt fraction for each grid
cell based on a number of drivers. Additionally, the respective controls due to
fire weather and fuel load/continuity are computed. The stochastic control
corresponds to the unmodelled processed influencing to fire occurrence.
The ESMValTool diagnostic includes only the relevant part of the evaluation code
(see https://github.com/douglask3/Bayesian_fire_models/blob/AR7_REF/fire_model/ConFire.py
for now) as the model run is done offline beforehand. The corresponding result
files are made available through a Zenodo archive (will be published with DOI
10.5281/zenodo.14917244) which can be retrieved inside the diagnostic.
The other option is to provide a local directory which contains the necessary model files.

The ConFire model relies on a variety of observational datasets (see references):

* Global Fire Emissions Database version 5
* MODIS MOD44B
* ESA CCI Biomass
* ISIMIP3a GSWP3-W5E5 dataset

Note: If custom ConFire run files are to be used for the diagnostic,
they need to be present inside the auxiliary directory defined in the
user configuration file `config_user.yml`.


Available recipes and diagnostics
---------------------------------

Recipes are stored in esmvaltool/recipes/:

* recipe_ref_fire.yml

Diagnostics are stored in esmvaltool/diag_scripts/fire/:

* fire_diagnostic.py: main diagnostic script calling a util function from diagnostic_run_ConFire.py.
* diagnostic_run_ConFire.py: script containing utils functions to run the ConFire model.

Additional files necessary for the ConFire model evaluation are stored in
esmvaltool/diag_scripts/fire/parameter_files/ for now.


User settings in recipe
-----------------------

#. Script fire_diagnostic.py

*Required settings for script*

* var_order: list of climate drivers in the order corresponding to the one
specified in the corresponding file from the confire_param directory.

*Optional settings for script*

* confire_param: path to the directory containing the required files to run
the ConFire model or Zenodo URL to retrieve files from a Zenodo archive.
If custom files are used, the corresponding directory needs to be present
inside the auxiliary data directory defined inside the user configuration.
This defaults to the files present in the diagnostic directory otherwise.
* remove_vpd_files: Removing or not the computed vapor pressure deficit files.
It will only apply if the vapor pressure deficit is part of var_order.
This defaults to False.
* remove_confire_files: Removing or not the files produced during the ConFire
model evaluation.
This defaults to False.

*Required settings for variables*

*Optional settings for variables*

*Required settings for preprocessor*

*Optional settings for preprocessor*

#. Script diagnostic_run_ConFire.py

*Required settings for script*

* confire_param: path to the directory containing the required files to run
the ConFire model (or downloaded files from a Zenodo archive).
* files_input: list containing tuples of variable name and file path for each
climate driver present in var_order.

*Optional settings for script*

* model_name: string containing the input data model for legending the plots.
* timerange: string containing the time range of the input data for legending the plots.
* project: string or list containing the input data project(s).
* experiment: string or list containing the input data experiment(s).

*Required settings for variables*

*Optional settings for variables*

*Required settings for preprocessor*

*Optional settings for preprocessor*


Variables
---------

* pr (atmos, monthly mean, longitude latitude time)
* tasmax (atmos, monthly mean, longitude latitude time)
* treeFrac (land, monthly mean, longitude latitude time)
* vegFrac (land, monthly mean, longitude latitude time)
* cveg (land, monthly mean, longitude latitude time)
* tas (atmos, monthly mean, longitude latitude time): used to compute vpd.
* hurs (atmos, monthly mean, longitude latitude time): used to compue vpd.


References
----------

* Jones, M. W., Kelley, D. I., Burton, C. A., Di Giuseppe, F., Barbosa, M. L. F.,
Brambleby, E., Hartley, A. J., Lombardi, A., Mataveli, G., McNorton, J. R.,
Spuler, F. R., Wessel, J. B., Abatzoglou, J. T., Anderson, L. O., Andela, N.,
Archibald, S., Armenteras, D., Burke, E., Carmenta, R., Chuvieco, E., Clarke, H.,
Doerr, S. H., Fernandes, P. M., Giglio, L., Hamilton, D. S., Hantson, S.,
Harris, S., Jain, P., Kolden, C. A., Kurvits, T., Lampe, S., Meier, S., New, S.,
Parrington, M., Perron, M. M. G., Qu, Y., Ribeiro, N. S., Saharjo, B. H.,
San-Miguel-Ayanz, J., Shuman, J. K., Tanpipat, V., van der Werf, G. R.,
Veraverbeke, S., and Xanthopoulos, G.: State of Wildfires 2023–2024,
Earth Syst. Sci. Data, 16, 3601–3685, https://doi.org/10.5194/essd-16-3601-2024, 2024.

* Yang Chen, Joanne Hall, Dave van Wees, Niels Andela, Stijn Hantson, Louis Giglio,
Guido R. van der Werf, Douglas C. Morton, & James T. Randerson. (2023).
Global Fire Emissions Database (GFED5) Burned Area (0.1) [Data set]. Zenodo.
https://doi.org/10.5281/zenodo.7668424.

* DiMiceli, C., Sohlberg, R., Townshend, J. (2022). MODIS/Terra Vegetation Continuous
Fields Yearly L3 Global 250m SIN Grid V061 [Data set]. NASA EOSDIS Land Processes
Distributed Active Archive Center. Accessed 2025-04-01 from https://doi.org/10.5067/MODIS/MOD44B.061.

* Santoro, M.; Cartus, O. (2024): ESA Biomass Climate Change Initiative (Biomass_cci):
Global datasets of forest above-ground biomass for the years 2010, 2015, 2016,
2017, 2018, 2019, 2020 and 2021, v5.01. NERC EDS Centre for Environmental Data
Analysis, 22 August 2024. https://dx.doi.org/10.5285/bf535053562141c6bb7ad831f5998d77.

* Stefan Lange, Matthias Mengel, Simon Treu, Matthias Büchner (2022): ISIMIP3a atmospheric
climate input data (v1.0). ISIMIP Repository. https://doi.org/10.48364/ISIMIP.982724.


Example plots
-------------

.. _fig_ref_fire_burnt_area:
.. figure:: /recipes/figures/ref/burnt_fraction_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Burnt area fraction for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.

.. _fig_ref_fire_fire_weather_control:
.. figure:: /recipes/figures/ref/fire_weather_control_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Fire weather control for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.

.. _fig_ref_fire_fuel_load_continuity_control:
.. figure:: /recipes/figures/ref/fuel_load_continuity_control_MPI-ESM1-2-LR_historical_2013_2014.png
:align: center

Fuel load continuity control for the MPI-ESM1-2-LR model (CMIP-historical experiment)
for the time period 2013-2014 as computed with the ConFire model `Jones et al. (2024)`.
1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ channels:

dependencies:
- aiohttp
- arviz
- cartopy
- cdo >=2.3.0
- cdsapi
Expand Down
1 change: 1 addition & 0 deletions environment_osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ channels:

dependencies:
- aiohttp
- arviz
- cartopy
- cdo >=2.3.0
- cdsapi
Expand Down
4 changes: 4 additions & 0 deletions esmvaltool/config-references.yml
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,10 @@ authors:
name: Kalverla, Peter
institute: NLeSC, Netherlands
orcid: https://orcid.org/0000-0002-5025-7862
kelley_douglas:
name: Kelley, Douglas
institute: UKCEH, UK
orcid: https://orcid.org/0000-0003-1413-4969
kindermann_stephan:
name: Kindermann, Stephan
institute: DKRZ, Germany
Expand Down
Loading