Releases: wri/carbon-budget
v1.4.0- 1km drivers model (2022) and emissions by gas
What's Changed
- Using 1-km drivers of forest loss map (2022 version): The emissions model now uses the 1-km drivers of tree cover loss map (under review at Environmental Research Letters), led by Michelle Sims, Radost Stanimirova, and Google Deepmind, run using TCL through 2022. This drivers of loss map replaces the 10-km map (Curtis et al. 2018). Although the 1km drivers map was run using TCL through 2022, we applied it to the entire TCL/emissions timeseries (2001-2023). The 1km drivers map is not published yet and will soon be updated to use TCL through 2023. As part of switching to the 1-km drivers map, we had to decide which carbon pools would be emitted by each driver (7 instead of the previous 5) and what soil emission factors and fire/peat factors to use for each driver. These decisions are documented in the C++ code.
- Outputting separate emissions for each GHG: The emissions model now outputs emissions for CO2, CH4, and N2O separately; previously it output CO2 and non-CO2 (CH4 and N2O combined). Separate emissions by gas is necessary for compliance with the Greenhouse Gas Protocol Land Sector and Removals Guidance/Standard.
- Deadwood and litter are emitted as non-CO2 gases during fires for non-land use change drivers: IPCC 2019 guidelines state that deadwood and litter loss result in non-CO2 emissions (but not CO2 emissions) when land use change doesn't occur. We were not doing this previously, so now this is fixed.
- Cleaned up emissions C++ code: C++ emissions decisions trees are more readable. They also no longer output driver-specific emissions tile sets, which we weren't using for anything.
Note that everything before the emissions part of the model did not change and was not rerun (model extent, removal factors, gain year count, gross removals, carbon pools in year of loss). Only gross emissions and net flux are affected by this change.
v1.3.2
What's Changed
- 2023 Annual Tree Cover Loss Update: This version of the model is updated to run through 2023 (2001-2023). Updates involved in this are: new tree cover loss (TCL) data, new tree cover loss from fires (TCLF) data, and an updated drivers of tree cover loss (TCLD) model.
- Updated Global Warming Potential Values for peat fire and drainage: The model uses Global Warming Potential (GWP) values to convert methane and nitrous oxide emissions into equivalent units of carbon dioxide. The previous version used GWP values from IPCC Assessment Report 5 and the model has now been updated to use GWP values from IPCC Assessment Report 6. This change only affects gross emission and net flux outputs where non-CO2 emissions are estimated for peat drainage or fires; GWP were previously updated for non-CO2 emissions from non-peat fires.
- Command Line Argument for Data Prep: The data_prep folder contains scripts to pre-process some of the model inputs before running the model. The mp_prep_other_inputs_annual.py and mp_prep_other_inputs_one_off.py scripts were updated so that a command line argument can be provided to pre-process certain model inputs individually. See updates to the read_me for more information on command line argument options for each of these scripts.
Full Changelog: v1.3.1...v1.3.2
v1.3.1
What's Changed
- Model now uses corrected IPCC Tier 1 removal factors and their uncertainties for temperate forests (Feature/ipcc tier1 rf update v2 by @melrose-wri in #50). This corrects a long-standing problem with gross removal uncertainties in the model, which were unrealistically high. More information can be found in the framework update blog post: https://www.globalforestwatch.org/blog/data-and-research/whats-new-carbon-flux-monitoring/. The revised removal factors and uncertainties are in IPCC Corrigenda 4: https://www.ipcc-nggip.iges.or.jp/public/2019rf/corrigenda4.html (Volume 4, Chapter 4, pages 4.18-21, Table 4.9).
- Model now uses Spatial Database of Planted Trees v2.0 extent and associated removal factors and their uncertainties. SDPT v2.0 has undergone review and is nearly ready for publication but doesn't have a public link yet. As before the model uses rasterized versions of SDPT, but this time the geodatabase was rasterized using the gfw-data-api rather than a script in this repo.
NOTE: This version of the model continues to cover 2001-2022.
New Contributors
- @melrose-wri made their first contribution in #50
Full Changelog: v1.2.3...v1.3.1
Annual tree cover loss update 2001-2022 and framework updates
There are several notable changes in this release beyond the framework's update to include 2022.
- Uses Python 3.8.
- Testing developed for some model stages, particularly carbon pool creation.
- Command line argument flag added for master script and stages to switch to single processing.
- Aggregated output and supplementary outputs are combined into a derivative output stage.
- Soil-only emissions is another stage in the full model run now, rather than needing to be run separately.
- Uses GLAD Lab tree cover loss from fires instead of MODIS burned area.
- Uses methane and nitrous oxide Global Warming Potentials from IPCC AR6.
- Non-mangrove belowground carbon is based on a global ratio map.
- Peat extent map uses more recently published regional and non-tropical maps.
- Tree cover gain covers 2000-2020 now.
In addition, numerous little corrections and improvements have been made along the way.
There are five substantive changes to the framework in this update. They are briefly listed above (6-10) but also described more fully in this blog post: https://www.globalforestwatch.org/blog/data-and-research/whats-new-carbon-flux-monitoring/
Annual tree cover loss update 2001-2021
This version of the model is updated to run through 2021 (2001-20201. Updates involved in this are: new tree cover loss (TCL) data from the GLAD Lab at the University of Maryland (2001-2021), an updated drivers of tree cover loss model (same methods as Curtis et al. 2018 Science, but with TCL through 2021), and updated burned area data from MODIS collection 6. Beyond these updated inputs, the model is almost identical.
A few other improvements that do not affect the model methods or results are included in this release:
- Memory tracking has been added.
- Added a script in
analyses
that will download all tiles for a certain location and build pyramids for them (e.g., all 00N_000E, all 10S_100E). This can help with QC. - Docker is more able to do the plantation processing step, although I still haven't tried fully processing plantations in Docker.
- Updated readme.
Annual tree cover loss update 2001-2020
This version is updated to run through 2020 (2001-2020). Updates involved in this are: new tree cover loss (TCL) data from the GLAD Lab at the University of Maryland (2001-2020), an updated drivers of tree cover loss model (same methods as Curtis et al. 2018 Science, but with TCL through 2020), and updated burned area data from MODIS collection 6. Beyond these updated inputs, the model is almost identical (one small correction was made to some emissions calculations).
A few other improvements that do not affect the model methods or results are included in this release:
- Users can disable uploads of model logs and output rasters to AWS s3 using a new command line argument (
--no-upload
or-nu
flag) in individual model stages or inrun_full_model.py
. This can expedite testing of the model because users don't have to wait for tiles to upload after each step of the model runs. It also makes it easier for people to run the model without access to s3 because they can easily make the model not upload outputs to s3. (It will still try to download from s3, though, and users would need to manually change that.) - Users can disable the deletion of intermediate outputs during the later stages of
run_full_model.py
with a new command line argument (--save-intermediates
or-si
flag). - The command line arguments in
run_full_model.py
to include stages for creating US and mangrove removal factors are now flags rather than requiringtrue
orfalse
arguments after them. - The model log isn't uploaded to s3 as frequently now. Originally, it was uploaded anytime any text was added to the console. Assuming the
--no-upload
flag isn't turned on, now the log is only uploaded when it is created, when an exception is thrown, at the end of a function, after all tiles in a set are uploaded, and at the end ofrun_full_model.py
. - The constants and input raster names for all the main emissions C++ scripts are centralized in a new file called
constants.h
. This makes it easier to change the names of input files for the standard and sensitivity analysis C++ scripts because they only need to be changed inconstants.h
, rather than in each version of the emissions script. Note thatflu_val.cpp
andequations.cpp
don't refer toconstants.h
and therefore need to be separately updated fromconstants.h
.
NOTE: The main model and everything involved in the 2020 updated work but the pre-processing scripts and sensitivity analysis functions haven't been retested and may not all work in this release.
Flux model v1.2.0 (accepted for publication)
Forest carbon flux model v1.2.0.
Key developments:
- Runs through tree cover loss in 2019.
- Six sources for removal factors, and produces model extent tiles.
- Updated soil carbon 2000 map.
Accepted for publication by journal in October 2020.